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
): EitherRight<Primitive<RawType>> | EitherLeft<ParseError>

createOrThrow()

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

createWithUnknown()

typescript
function createWithUnknown(
	value: unknown
): EitherRight<Primitive<RawType>> | EitherLeft<ParseError>

createWithUnknownOrThrow()

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

is()

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

Propriétés

dataParser

Correspond au dataParser qui valide la primitive.

Opérateurs

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.

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.