Skip to content

Primitives ​

Les primitives métier sont une alternative aux string et number bruts de TypeScript.

Plutôt que de manipuler des valeurs nues, chaque primitive est wrappée dans un container. Résultat : des données plus sûres, plus explicites et mieux alignées avec le domaine.

Exemple ​

une page sélectionnée n’est pas un simple number, mais une primitive dédiée, indépendante de toute entité métier.

Les primitives ont deux objectifs :

Sécuriser les données en évitant l’usage de valeurs brutes.

Unifier les types : lorsque plusieurs NewTypes interagissent, leur point commun retombe sur une primitive simple (number, string, etc.).

👉 En bref : des types plus propres, plus lisibles et plus robustes, sans complexité inutile

Primitives disponibles ​

Méthodes et Propriétés ​

Méthodes ​

create() ​

typescript
function create(
	value: RawType
): Right<Primitive<RawType>> | Left<C.PrimitiveError<PrimitiveName>>

createOrThrow() ​

typescript
function createOrThrow(
	value: RawType
): Primitive<RawType>

createWithLarge() ​

typescript
function createWithLarge(
	value: LargeInput
): Right<Primitive<RawType>> | Left<C.PrimitiveError<PrimitiveName>>

Utilise le type d'entrée large porté par le handler. Si ce type large n'existe pas, la méthode accepte le type primitif de départ.

createWithLargeOrThrow() ​

typescript
function createWithLargeOrThrow(
	value: LargeInput
): Primitive<RawType>

Lève C.CreatePrimitiveError en cas d'échec de validation.

createWithUnknown() ​

typescript
function createWithUnknown(
	value: unknown
): Right<Primitive<RawType>> | Left<C.PrimitiveError<PrimitiveName>>

createWithUnknownOrThrow() ​

typescript
function createWithUnknownOrThrow(
	value: unknown
): Primitive<RawType>

is() ​

typescript
function is(
	value: unknown
): value is Primitive<RawType>

Opérateurs ​

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.

matchWithStringOtherwise ​

Effectue un matching partiel avec des clés string brutes et transmet les valeurs restantes à un fallback typé.

matchWithNumber ​

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

matchWithNumberOtherwise ​

Effectue un matching partiel avec des clés number brutes et transmet les valeurs restantes à un fallback typé.

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 à une Date.

dateSubtractTime ​

Soustrait une durée à 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.