rsuv-lib v2.29.0
- [rsuv] - universal components, utilities, standard library, TS, JS
- on base
tsdxhttps://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- предсвляет помимо "успешно/не-успешно" также значение результата. ID1636805160RsuvResultAsau11-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- места где нужно добавить поясняющие комментарии
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago