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