Skip to main content
Version: 1.x

Class: AsyncOptional<T>

Type parameters​

Name
T

Hierarchy​

Implements​

Constructors​

constructor​

• new AsyncOptional<T>()

Type parameters​

Name
T

Methods​

asJSON​

▸ Abstract asJSON(_): Promise<null | T>

Parameters​

NameType
_string

Returns​

Promise<null | T>

Defined in​

packages/optional/src/AsyncOptional.ts:172


call​

▸ call<K>(key, ...args): AsyncOptionalOf<ReturnType<T[K] extends (...args: any[]) => any ? any[any] : never>>

Invoke a method on the wrapped object and return an optional of the return value

Type parameters​

NameType
Kextends string | number | symbol

Parameters​

NameType
keyK
...argsParameters<T[K] extends (...args: any[]) => any ? any[any] : never>

Returns​

AsyncOptionalOf<ReturnType<T[K] extends (...args: any[]) => any ? any[any] : never>>

Defined in​

packages/optional/src/AsyncOptional.ts:98


callAsync​

▸ callAsync<K>(key, ...args): AsyncOptionalOf<ReturnType<T[K] extends (...args: any[]) => any ? any[any] : never>>

Invoke a method on the wrapped object and return an Async Optional of the return value

Type parameters​

NameType
Kextends string | number | symbol

Parameters​

NameType
keyK
...argsParameters<T[K] extends (...args: any[]) => Promise<any> ? any[any] : never>[]

Returns​

AsyncOptionalOf<ReturnType<T[K] extends (...args: any[]) => any ? any[any] : never>>

Defined in​

packages/optional/src/AsyncOptional.ts:110


defaultGet​

▸ defaultGet<X>(method): AsyncOptionalOf<T | X>

Inject a default value to the optional if it is absent to allow continued chaining

Type parameters​

Name
X

Parameters​

NameType
method() => X

Returns​

AsyncOptionalOf<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:133


defaultGetAsync​

▸ defaultGetAsync<X>(method): AsyncOptionalOf<T | X>

Inject a default value to the optional if it is absent to allow continued

Type parameters​

Name
X

Parameters​

NameType
method() => Promise<X>

Returns​

AsyncOptionalOf<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:146


defaultGetFlat​

▸ defaultGetFlat<X>(method): AsyncOptionalOf<T | X>

Type parameters​

Name
X

Parameters​

NameType
method() => Optional<X>

Returns​

AsyncOptionalOf<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:136


defaultGetFlatAsync​

▸ defaultGetFlatAsync<X>(method): AsyncOptionalOf<T | X>

Type parameters​

Name
X

Parameters​

NameType
method() => AsyncOptional<X>

Returns​

AsyncOptionalOf<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:152


defaultTo​

▸ defaultTo<X>(value): AsyncOptionalOf<T | X>

Inject a default value to the optional if it is absent to allow continued chaining

Type parameters​

Name
X

Parameters​

NameType
valueX

Returns​

AsyncOptionalOf<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:125


filter​

▸ Abstract filter<X>(predicate): AsyncOptional<X>

Type parameters​

Name
X

Parameters​

NameType
predicate(value: T) => value is X

Returns​

AsyncOptional<X>

Defined in​

packages/optional/src/AsyncOptional.ts:72

▸ Abstract filter(predicate): AsyncOptional<T>

Parameters​

NameType
predicate(value: T) => boolean

Returns​

AsyncOptional<T>

Defined in​

packages/optional/src/AsyncOptional.ts:75


filterNot​

▸ Abstract filterNot<X>(predicate): AsyncOptional<Exclude<T, X>>

Type parameters​

Name
X

Parameters​

NameType
predicate(value: T) => value is X

Returns​

AsyncOptional<Exclude<T, X>>

Defined in​

packages/optional/src/AsyncOptional.ts:77

▸ Abstract filterNot(predicate): AsyncOptional<T>

Parameters​

NameType
predicate(value: T) => boolean

Returns​

AsyncOptional<T>

Defined in​

packages/optional/src/AsyncOptional.ts:80


flatMap​

▸ Abstract flatMap<X>(transform): AsyncOptional<X>

Type parameters​

Name
X

Parameters​

NameType
transform(value: T) => Optional<X>

Returns​

AsyncOptional<X>

Defined in​

packages/optional/src/AsyncOptional.ts:67


flatMapAsync​

▸ Abstract flatMapAsync<X>(transform): AsyncOptionalOf<X>

Type parameters​

Name
X

Parameters​

NameType
transform(value: T) => Promise<Optional<X>> | AsyncOptional<X>

Returns​

AsyncOptionalOf<X>

Defined in​

packages/optional/src/AsyncOptional.ts:68


get​

▸ Abstract get(): Promise<T>

Returns​

Promise<T>

Defined in​

packages/optional/src/AsyncOptional.ts:166


instanceOf​

▸ instanceOf<C>(...klasses): AsyncOptional<InstanceType<C[number]>>

Type parameters​

NameType
Cextends (...args: any[]) => any[]

Parameters​

NameType
...klassesC

Returns​

AsyncOptional<InstanceType<C[number]>>

Defined in​

packages/optional/src/AsyncOptional.ts:35


map​

▸ Abstract map<X>(transform): AsyncOptionalOf<X>

Type parameters​

Name
X

Parameters​

NameType
transform(value: T) => X

Returns​

AsyncOptionalOf<X>

Defined in​

packages/optional/src/AsyncOptional.ts:31


mapAsync​

▸ Abstract mapAsync<X>(transform): AsyncOptionalOf<X>

Type parameters​

Name
X

Parameters​

NameType
transform(value: T) => Promise<X>

Returns​

AsyncOptionalOf<X>

Defined in​

packages/optional/src/AsyncOptional.ts:33


orElse​

▸ Abstract orElse<X>(value): Promise<T | X>

Type parameters​

Name
X

Parameters​

NameType
valueX

Returns​

Promise<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:160


orGet​

▸ Abstract orGet<X>(supplier): Promise<T | X>

Type parameters​

Name
X

Parameters​

NameType
supplier() => X

Returns​

Promise<T | X>

Defined in​

packages/optional/src/AsyncOptional.ts:162


orThrow​

▸ Abstract orThrow(errThrower): Promise<T>

Parameters​

NameType
errThrower() => Error

Returns​

Promise<T>

Defined in​

packages/optional/src/AsyncOptional.ts:164


pick​

▸ pick<K>(key): AsyncOptionalOf<T[K]>

Select a field from the wrapped object and return an optional of that field.

Example

ts
Optional.of({name: 'Hello'}).select('name') // Optional<"Hello">

Type parameters​

NameType
Kextends string | number | symbol

Parameters​

NameType
keyK

Returns​

AsyncOptionalOf<T[K]>

Defined in​

packages/optional/src/AsyncOptional.ts:91


tap​

▸ tap(view): AsyncOptional<T>

Parameters​

NameType
view(value: T) => unknown

Returns​

AsyncOptional<T>

Defined in​

packages/optional/src/AsyncOptional.ts:43


tapAsync​

▸ tapAsync(view): AsyncOptional<T>

Parameters​

NameType
view(value: T) => Promise<unknown>

Returns​

AsyncOptional<T>

Defined in​

packages/optional/src/AsyncOptional.ts:50


then​

▸ Abstract then<TResult1, TResult2>(onfulfilled?, onrejected?): PromiseLike<TResult1 | TResult2>

Type parameters​

NameType
TResult1Optional<NonNullable<T>>
TResult2never

Parameters​

NameType
onfulfilled?null | (value: Optional<NonNullable<T>>) => TResult1 | PromiseLike<TResult1>
onrejected?null | (reason: any) => TResult2 | PromiseLike<TResult2>

Returns​

PromiseLike<TResult1 | TResult2>

Implementation of​

PromiseLike.then

Defined in​

packages/optional/src/AsyncOptional.ts:24


toArray​

▸ Abstract toArray(): Promise<T[]>

Returns​

Promise<T[]>

Defined in​

packages/optional/src/AsyncOptional.ts:170


toJSON​

▸ Abstract toJSON(_): Promise<null | T>

Parameters​

NameType
_string

Returns​

Promise<null | T>

Defined in​

packages/optional/src/AsyncOptional.ts:168


unzip​

▸ Abstract unzip<V>(this): Promise<OptionalizeArray<OptionalValue<V>>>

Type parameters​

NameType
Vextends AsyncOptional<[any, any], V>

Parameters​

NameType
thisV

Returns​

Promise<OptionalizeArray<OptionalValue<V>>>

Defined in​

packages/optional/src/AsyncOptional.ts:60


unzip3​

▸ Abstract unzip3<V>(this): Promise<OptionalizeArray<OptionalValue<V>>>

Type parameters​

NameType
Vextends AsyncOptional<[any, any, any], V>

Parameters​

NameType
thisV

Returns​

Promise<OptionalizeArray<OptionalValue<V>>>

Defined in​

packages/optional/src/AsyncOptional.ts:63


zip​

▸ Abstract zip<X>(...others): AsyncOptional<OptionalValuesFromTuple<[Optional<T>, ...X[]]>>

Type parameters​

NameType
Xextends AnyOptional<any>[]

Parameters​

NameType
...othersX

Returns​

AsyncOptional<OptionalValuesFromTuple<[Optional<T>, ...X[]]>>

Defined in​

packages/optional/src/AsyncOptional.ts:57


empty​

▸ Static empty<T>(): AsyncOptionalOf<T>

Type parameters​

Name
T

Returns​

AsyncOptionalOf<T>

Defined in​

packages/optional/src/AsyncOptional.ts:20


of​

▸ Static of<T>(promise): AsyncOptionalOf<T>

Type parameters​

Name
T

Parameters​

NameType
promisePromise<T>

Returns​

AsyncOptionalOf<T>

Defined in​

packages/optional/src/AsyncOptional.ts:16