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
но >= 0RsuvTxNumIntABB
- тоже чтоRsuvTxNumIntAB
но > 0RsuvTxNumIntAC
- тоже что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
- сущность для пагинации. Передаём в конструктор "общее кол-во элементов" и "кол-во элементов на странице", и затем по "номеру страницы" узнаём начальный и конечный индексы с помощью метода indexesByPageNumRsuvCheckModels
- сущности для работы с 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
- места где нужно добавить поясняющие комментарии