QSU
Les petites fonctions que l’on réécrit sinon : slugs, casse du texte, dates, formatage, copie profonde, validation et hachage. Les mêmes noms se comportent de la même façon en JavaScript, en Dart et en Python.
À propos de ce projet
QSU est la trousse à outils que l’on réécrirait sinon dans chaque projet : slugs, casse du texte, calculs de dates, formatage des nombres et des tailles de fichiers, copie profonde et fusion, validation, hachage, et aides pour les fichiers et le système. Chaque fonction est écrite, typée et testée, si bien que les vingt lignes qui réapparaissent sans cesse au bas d’un fichier d’utilitaires n’ont pas à être écrites une seconde fois.
Ce qui la distingue des autres bibliothèques utilitaires, c’est la parité entre langages. Une fonction porte le même nom, prend les mêmes arguments et se comporte de la même façon en JavaScript, en Dart et en Python : passer d’un back-end Node.js à une application Flutter puis à un script Python n’oblige donc pas à réapprendre les mêmes vingt aides sous trois orthographes. Les cas de test sont partagés eux aussi, et c’est ce qui empêche les trois de dériver.
Le paquet JavaScript n’a aucune dépendance d’exécution et se prête entièrement au tree shaking, les paquets Dart et Python ne tirent que ce que le hachage et la gestion des chemins exigent réellement, et les trois sont typés. Les arguments sont validés : une valeur vide, une valeur absente ou une paire de substitution renvoient un résultat sensé au lieu de lever une exception, et chaque fonction a sa propre page de référence.
Fonctionnalités
Site de documentation
Types TypeScript
Plusieurs langues
Vérifié par des tests
Multiplateforme
Compatible tree shaking
Sans dépendances
