QSU
Небольшие функции, которые иначе пришлось бы писать заново: слаги, регистр текста, работа с датами, форматирование, глубокое копирование, проверка и хеширование. Одинаковые имена работают одинаково в JavaScript, Dart и Python.
Об этом проекте
QSU — тот набор инструментов, который иначе пишут заново в каждом проекте: слаги, регистр текста, арифметика дат, форматирование чисел и размеров файлов, глубокое копирование и слияние, проверка значений, хеширование, помощники для файлов и системы. Каждая функция написана, типизирована и покрыта тестами, так что те двадцать строк, что снова и снова появляются в конце файла со вспомогательными функциями, не приходится писать во второй раз.
От других библиотек утилит его отличает единство между языками. Функция носит одно имя, принимает одни аргументы и ведёт себя одинаково в JavaScript, в Dart и в Python, поэтому переход между бэкендом на Node.js, приложением на Flutter и скриптом на Python не означает переучивания тех же двадцати помощников в трёх написаниях. Тестовые случаи тоже общие, и именно это не даёт трём разойтись.
У пакета для JavaScript нет зависимостей времени выполнения и он полностью поддаётся tree shaking, пакеты для Dart и Python тянут только то, что действительно нужно для хеширования и работы с путями, и все три типизированы. Аргументы проверяются, поэтому пустые и отсутствующие значения, а также суррогатные пары возвращают разумный результат вместо исключения, и у каждой функции есть собственная страница справочника.
Возможности
Сайт документации
Типы TypeScript
Несколько языков
Проверено тестами
Кроссплатформенность
Поддержка tree shaking
Без зависимостей
