Value Objects of primitive types
npm i @ts-ddd/value-object
yarn add @ts-ddd/value-object
pnpm install @ts-ddd/value-object
bun add @ts-ddd/value-object
import { validate, v4 as uuid } from 'uuid';
export class Uuid extends StringValue {
constructor(value: string) {
super(value);
this.ensureIsValidUuid(value);
}
static generate(): Uuid {
return new Uuid(uuid());
}
private ensureIsValidUuid(value: string): void {
if (!validate(value)) {
throw new Error(`${value} is not a valid UUID`)
}
}
}
See all available classes:
Value object types |
Parent Class |
BigIntegerValue |
ValueObject
|
BooleanValue |
ValueObject
|
DateValue |
ValueObject
|
ID |
ValueObject
|
IntegerValue |
ValueObject
|
JsonValue |
ValueObject<{ [key: string]: any }> |
NullValue |
ValueObject
|
NumberValue |
ValueObject
|
PositiveNumberValue |
NumberValue |
ValueObject |
None |
Method |
equalsTo |
getValue |
toString |
isDefined |
isNull |
Methods |
isGreaterThan |
isGreaterThanOrEquals |
isLessThan |
isLessThanOrEquals |
isZero |
isPositive |
isNegative |
isBetween |
Methods |
hasKey |
hasKeys |
getKeys |