@ts-ddd/value-object
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

Value Object Utilities


Value Objects of primitive types

Installation

npm i @ts-ddd/value-object
yarn add @ts-ddd/value-object
pnpm install @ts-ddd/value-object
bun add @ts-ddd/value-object

Usage

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`)
    }
  }
}

Value Objects

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

ValueObject

Method
equalsTo
getValue
toString
isDefined
isNull

NumberValue

Methods
isGreaterThan
isGreaterThanOrEquals
isLessThan
isLessThanOrEquals
isZero
isPositive
isNegative
isBetween

JsonValue

Methods
hasKey
hasKeys
getKeys

IdValue

Methods
static generate

BooleanValue

Methods
isTrue
isFalse





Package Sidebar

Install

npm i @ts-ddd/value-object

Weekly Downloads

2

Version

1.0.4

License

MIT

Unpacked Size

17 kB

Total Files

27

Last publish

Collaborators

  • fdorantesm