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.

castConstraint ​

Étend une valeur contrainte avec des contraintes compatibles sans revalidation.

toMapDataParser ​

Convertit un handler Clean en DataParser mappé vers un objet wrappé.

NewType ​

Crée un NewType (brand) adossé à un DataParser ou à un handler de primitive, 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.

Maybe ​

Définit un contrat métier explicite pour représenter une entité présente (some) ou absente (none).

Flag ​

Ajoute dynamiquement une information (flag) sur une entité, avec typage strict.

Evidence ​

Définit une marque de passage métier typée, ajoutée via appendEvidence.

Repository ​

Déclare un contrat repository via un wrapper sémantique de createPort.

Port ​

Déclare un port (contrat) et type-check l'implémentation.

UseCase ​

Déclare un use case avec des dépendances (repositories ou autres use cases).

chainedFunction ​

Déclare un agrégat d'actions métier liées qui doivent s'exécuter dans l'ordre.

Opérations sur primitives ​

equal ​

Compare deux primitives wrappées (ou une primitive et une valeur brute) avec un type guard.

matchWithString ​

Effectue un matching exhaustif avec des clés string brutes et transmet la primitive Clean originale affinée.

matchWithNumber ​

Effectue un matching exhaustif avec des clés number brutes et transmet la primitive Clean originale affinée.

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.

dateAddTime ​

Ajoute une durée Time à une Date.

dateSubtractTime ​

Soustrait une durée Time à une Date.

dateMin ​

Retourne la plus petite date d'une liste.

dateMax ​

Retourne la plus grande date d'une liste.

timeGreaterThan ​

Teste si un Time est strictement supérieur à un seuil.

timeLessThan ​

Teste si un Time est strictement inférieur à un seuil.

timeMin ​

Retourne la plus petite durée d'une liste.

timeMax ​

Retourne la plus grande durée d'une liste.

sort ​

Trie un tableau de primitives (String, Number, Date ou Time) en "ASC" / "DSC".

Diffusé sous licence MIT.