Clean
Briques essentielles de la Clean Architecture : création d'entités métier, types métier (NewType), cas d'usage, repositories, et plus encore. Facilite la structuration de votre code selon les principes de la Clean Architecture pour une meilleure maintenabilité et testabilité.
Comment faire les imports ?
La bibliothèque expose les namespaces DClean et C depuis l'entrée principale ou en import direct (tree-shaking friendly), ce qui permet de ne charger que ce dont vous avez besoin.
import { DClean, C } from "@duplojs/utils";
import * as DClean from "@duplojs/utils/clean";
import * as C from "@duplojs/utils/clean";Primitives
Les primitives permettent de manipuler dans du métier des types de base (String, Number, Date, …).
Contraintes
Les contraintes permettent d'ajouter des règles supplémentaires sur les primitives.
NewType
Crée un NewType (brand) adossé à un DataParser, avec contraintes optionnelles.
Entités
Représente les structures de données du métier.
unwrapEntity
Transforme une entité en objet simple, avec ses métadonnées.
Flag
Ajoute dynamiquement une information (flag) sur une entité, avec typage strict.
Repository
Déclare un repository (contrat) et type-check l'implémentation.
UseCase
Déclare un use case avec des dépendances (repositories ou autres use cases).
Opérations sur primitives
equal
Compare deux primitives wrappées (ou une primitive et une valeur brute) avec un type guard.
add
Additionne deux Number (supporte la version currifiée).
subtract
Soustrait un nombre à un Number (supporte la version currifiée).
multiply
Multiplie un Number (supporte la version currifiée).
divide
Divise un Number (supporte la version currifiée).
min
Retourne le minimum d'un tuple de Number.
max
Retourne le maximum d'un tuple de Number.
greaterThan
Teste si un Number est strictement supérieur à un seuil.
lessThan
Teste si un Number est strictement inférieur à un seuil.
concat
Concatène des String (supporte la version currifiée).
length
Retourne la longueur d'un String sous forme de Number.
lengthEqual
Teste si la longueur d'un String est égale à une valeur.
lengthGreaterThan
Teste si la longueur d'un String est supérieure à une valeur.
lengthLessThan
Teste si la longueur d'un String est inférieure à une valeur.
dateGreaterThan
Teste si une Date est postérieure à un seuil.
dateLessThan
Teste si une Date est antérieure à un seuil.
dateMin
Retourne la plus petite date d'une liste.
dateMax
Retourne la plus grande date d'une liste.
sort
Trie un tableau de primitives (String, Number ou Date) en "ASC" / "DSC".
