npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rsuv-lib

v2.29.0

Published

universal components, standard library, TS, JS

Downloads

30

Readme

  • [[rsuv]] - universal components, utilities, standard library, TS, JS
  • on base tsdx https://github.com/formium/tsdx
  • https://www.npmjs.com/package/rsuv-lib

Rev 2

  • в этой редакции, все RsuvTx...-сущности бросают исключение, если их невозможно создать с указанными входными параметрами конструктора

Элементы

Приставки

  • RsuvTx... - представление разных сущностей - строк, чисел, email и т.д.
  • RsuvTu... - утилиты для работы с сущностями - строками, числами, массивами и т.д.
  • RsuvEn... - сущности преимущественно являющиеся перечислениями, например разновидностей чего-либо (типы данных, виды дат и т.п.)

Разное

  • RsuvConst - константы разные
  • RsuvTu - разное общее
  • RsuvTuString - утилиты для работы со строками
    • stringsTwoInfo - сравнение двух строк, с учетом регистра и без, с возвратом подробнейшей информации
    • stringsTwoInfoB - отличается от А тем что сразу возвращает информацию с учетом регистра и без, не спрашивая об этом в параметрах
    • isEmptyOrWhitespaces - возвращает TRUE если строка является falsy, или нулевой длины, или состоит из одних пробелов
    • substrCount - возвращает сколько раз строка (2) встречается в строке (1). Чувствительна к регистру. Если не находит вхождений, и в невалидных случаях, возвращает 0.
    • substrCountB - тоже что и А только не чувствительна к регистру
    • substrIndexes - возвращает информацию о том в каких местах строки (1) встречается строка (2). Допускает содержание в (2) символов считающихся специальными для регулярных выражений - экранирует их
  • RsuvTuArray - статические методы-утилиты для работы с массивом, с защитами от неверных входных данных
    • elemDelete - удалить элемент по индексу
    • elemAdd - добавить элемент по индексу
    • elemMove - переместить элемент с индекса А на индекс Б
    • elemsSwap - поменять местами два элемента
  • RsuvTuPromiseAllSettled - утилиты для работы с Promise.allSettled()
  • RsuvTuTree - работа с "деревом" которое образуют поля объектов
    • values - сбор значений полей с указанным именем поля, по всему дереву
    • accum - подсчет сколько раз встречаются строки массива указанного поля; например это могут быть какие-либо теги
    • uniqValuesIs - проверяет укникальность значений полей; если уникальности нет, предоставляет полную информацию о повторах
    • findDeepBy - позволяет рекурсивно искать внутри объекта/массива по ключу/значению
    • findDeepByB - отличается от findDeepBy тем что даёт также информацию о хосте каждой найденной сущности

Представления примитивов

Строка

  • RsuvTxString - строка не нулевой длины
  • RsuvTxStringAB - тоже что RsuvTxString только не содержит пробелов/переносов
  • RsuvTxStringAC - тоже что RsuvTxString но состоит только из символов [a-zA-Z0-9_]
  • RsuvTxStringACB - тоже что RsuvTxStringAC только начинается не с цифры
  • RsuvTxStringACC - тоже что RsuvTxStringAC только состоит только из символов [0-9] (т.е. только из цифр)
  • RsuvTxStringAD - тоже что RsuvTxString только эта строка не может состоять из одних только пробелов/переносов
  • RsuvTxStringADB - тоже что RsuvTxStringAD только не начинается с пробела/переноса и не заканчивается пробелом/переносом

Целое число

  • RsuvTxNumInt - целое число (не NaN, Infinity, +Infinity, -Infinity, не дробное)
  • RsuvTxNumIntAB - тоже что RsuvTxNumInt но >= 0
  • RsuvTxNumIntABB - тоже что RsuvTxNumIntAB но > 0
  • RsuvTxNumIntAC - тоже что RsuvTxNumInt но >= -1

Диапазон целых чисел

  • RsuvTxNumIntDiap - представление диапазона целых положительных чисел (>= 0), второе число >= первого

Boolean

  • RsuvTxBoolean - представление boolean

RsuvEn...

  • RsuvEnCaseSensitive (enum) - представляет нужно ли искать с учетом регистра символов или без
  • RsuvEnDataTypes (enum) - обозначения основных типов данных, например использующихся в базах данных
  • RsuvEnSort (enum) - представляет направления сортировки ("по возрастанию", "по убыванию", "не определено")
  • RsuvEnResultCrudSet (enum) - представление результата set operation ([asau45])

Представление разного

  • RsuvTxJsonServer - утилиты для работы с JsonServer (https://github.com/typicode/json-server)
  • RsuvTxEmail - представление email-адреса
  • RsuvTxFieldName - представляет типовой "ключ", "имя поля", "имя столбца таблицы БД" и т.п., т.е. это строка состоящая только из символов [a-zA-Z0-9_] и начинающаяся не с цифры
  • RsuvTxSort - представление направления сортировки (id абстратной сущности + само направление)
  • RsuvTxChecked - представляет элемент который может быть чекнут (например элемент выпадающего списка)
  • RsuvTxFieldNameLodash - представление для имени поля объекта, как единичного, так и составного через точку '.' (в lodash стиле). Примеры: 'name', 'user.profile', 'users.0.name'
  • RsuvTxFieldNameLodashB - то же что RsuvTxFieldNameLodash только в другой форме

Списки

  • RsuvAdapterZrnx - сущность для использования в качестве посредника между абстрактным источником-данных (интерефейс RsuvDataSourceAecrNT) и UI-списком-с-пагинацией
  • RsuvDataSourceAecrNT (interface) - сущность представляющая абстрактный "источник данных". Позволяет получать диапазон элементов, узнавать сколько всего есть элементов, удалять элементы, создавать и обновлять
  • RsuvPaginationGyth - сущность для пагинации. Передаём в конструктор "общее кол-во элементов" и "кол-во элементов на странице", и затем по "номеру страницы" узнаём начальный и конечный индексы с помощью метода indexesByPageNum
  • RsuvCheckModels - сущности для работы с checked-списками (списки хранящие информацию о том какой элемент чекнут, какой нет)

Представление результата чего-либо

  • RsuvResultBoolPknz - представление результата вида "успех/не-успех"
  • RsuvResultTibo - предсвляет помимо "успешно/не-успешно" также значение результата. ID[1636805160]
  • RsuvResultAsau11 - success - TRUE означает успешный результат, codeNum - любое положительное число означает ошибку, -1 означает неопределённый результат, значение меньшее -1 означает код успешного результата
  • RsuvResultCountAndData - простой класс вида { countAll: number, data: T[], hasNext: boolean }
  • RsuvValueAnd - представления значения полученного откуда либо.
    • МОТИВАЦИЯ: допустим мы хотим получить значение ячейки столбца, но такого столбца не существует; в этом случае возврат просто falsy значения (undefined и т.п.) не позволяет понять, это значение ячейки undefined или же это означает что ячейки не существует.
  • RsuvEnResultCrudSet (enum) - представление результата set operation ([asau45]) или upsert opertaion ([asau46])

Представления ошибок

  • RsuvErr - Представляет какую-либо ошибку
  • RsuvErrNT -

Валидация

  • RsuvBnuwNT (interface) - универсальный интерфейс проверки чего-либо на валидность
  • RsuvBnuwUtils - методы для работы с RsuvBnuwNT

Разное

  • RsuvSearchMode (enum) - представляет как сравнивать две строки, при поиске например
  • RsuvSearchHow - тоже что RsuvSearchMode только ещё с указанием необходимости учитывать регистр (см. RsuvEnCaseSensitive)
  • RsuvSearchElem - ID [1636803407]; представление единичного элемента поиска "ключ/значение"
  • RsuvSearchElems - Представление нескольких RsuvSearchElem (ID [1636803407]) применяемых по правилу "И".
  • RsuvPairAndOjRrzh - представляет [ymuz]-пару и объект
  • RsuvPairYmuz - представляет "имя поля" и "значение поля". И то и другое - строка
  • RsuvTuInfo - {в разработке} информация о программных сущностях
  • RsuvTu.RSUV_NO_TAGS_SPC_VALUE - специальное значение "нет тега"

Тесты

  • запуск npm run test

Пометки в коде

  • // del+ - временные комментарии которые нужно удалить
  • #aadesc - места где нужно добавить поясняющие комментарии