Skip to content

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.

typescript
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".

Diffusé sous licence MIT.