Skip to content

OptionalString

Christian Prinz edited this page Oct 17, 2022 · 1 revision

Class: OptionalString

A String that can be also created from either "" | undefined | null (falsy values) => ends up being converted to ""

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

Protected new OptionalString(value)

Parameters

Name Type
value string

Overrides

ValueObject.constructor

Defined in

valueObjects/string/OptionalString.ts:5

Properties

_value

Protected Readonly _value: string

the actual value of the ValueObject

Inherited from

ValueObject._value

Defined in

valueObjects/ValueObject.ts:4

Accessors

value

get value(): T

the actual value of this ValueObject

Returns

T

Inherited from

ValueObject.value

Defined in

valueObjects/ValueObject.ts:13

Methods

equals

equals(obj): boolean

compares if the given value is either an equal ValueObject, or an equal value which would create an equal ValueObject

Parameters

Name Type Description
obj undefined | string | OptionalString to compare of equality

Returns

boolean

Overrides

ValueObject.equals

Defined in

valueObjects/string/OptionalString.ts:9


toJSON

toJSON(): string

this function is invoked by JSON.stringify() and converts the inner "_propertyKey" to "propertyKey"

Returns

string

the value

Inherited from

ValueObject.toJSON

Defined in

valueObjects/ValueObject.ts:61


create

Static create(value, options?): OptionalString

Parameters

Name Type Description
value undefined | string to create the ValueObject of
options? OptionalStringOptions constraints the value has to fulfill

Returns

OptionalString

the created ValueObject

Defined in

valueObjects/string/OptionalString.ts:87


format

Static Protected format(value, options?): string

Throws

Error if the formatting failed

Parameters

Name Type Description
value string to be formatted with the given formatting options
options? OptionalStringOptions constraints the value has to fulfill

Returns

string

the formatted string

Defined in

valueObjects/string/OptionalString.ts:70


fromList

Static fromList(values, options?): OptionalString[]

Parameters

Name Type Description
values undefined | string[] an array of primitives to map to an array of ValueObjects
options? OptionalStringOptions & ListCreationOptions constraints the values / list has to fulfill

Returns

OptionalString[]

the array of ValueObjects

Defined in

valueObjects/string/OptionalString.ts:96


listEquals

Static listEquals<ValueType>(a, b): boolean

compares 2 Lists of ValueObjects / values on equality

Type parameters

Name
ValueType

Parameters

Name Type Description
a ValueObject<ValueType>[] the list of ValueObjects to compare with
b ValueObject<ValueType>[] | ValueType[] a list of ValueObjects / values for comparison

Returns

boolean

true if the lists are equal

Inherited from

ValueObject.listEquals

Defined in

valueObjects/ValueObject.ts:29


prefix

Static Protected prefix(options, addition?): string

constructs a prefix for possible error messages based on the ValueObjects name and an additional string:

  • example for NonEmptyString with name='Person':
"Person > NonEmptyString"

Parameters

Name Type Default value Description
options undefined | CreationOptions undefined the CreationOptions where the optional name: string is taken from
addition string '' An additional name which will be added as "name.addition"

Returns

string

the name of the ValueObject

Inherited from

ValueObject.prefix

Defined in

valueObjects/ValueObject.ts:77


toList

Static toList(values): string[]

Parameters

Name Type Description
values OptionalString[] an array of ValueObjects to map to an array of their values

Returns

string[]

the array of values

Defined in

valueObjects/string/OptionalString.ts:107


validate

Static validate(value, options?): string

Throws

TypeError if not a string (when defined)

Throws

TypeError if doesn't fit the given enum (when defined)

Throws

RangeError if the value is not matching the regex (when defined)

Throws

RangeError if the value is not inside the interval (when defined)

Parameters

Name Type Description
value string to be validated as a string with the corresponding constraints (options)
options? OptionalStringOptions -

Returns

string

the value if the validation was successful

Defined in

valueObjects/string/OptionalString.ts:23


validateInterval

Static Protected validateInterval(value, options): void

Parameters

Name Type
value string | number
options IntervalCreationOptions

Returns

void

Inherited from

ValueObject.validateInterval

Defined in

valueObjects/ValueObject.ts:86


validateList

Static Protected validateList<Primitive>(list, options?): list is Primitive[]

Type parameters

Name
Primitive

Parameters

Name Type
list undefined | Primitive[]
options? CreationOptions & ListCreationOptions

Returns

list is Primitive[]

Inherited from

ValueObject.validateList

Defined in

valueObjects/ValueObject.ts:101


validateRegex

Static Protected validateRegex(value, options): void

Parameters

Name Type Description
value string to be validated to match the given regular expression
options OptionalStringOptions constraints the value has to fulfill

Returns

void

Defined in

valueObjects/string/OptionalString.ts:39


validateString

Static Protected validateString(value, options?): void

Parameters

Name Type Description
value string to be validated as a valid string
options? OptionalStringOptions constraints the value has to fulfill

Returns

void

Defined in

valueObjects/string/OptionalString.ts:55

DDD basics - v0.0.1

Clone this wiki locally