Skip to main content
Version: 1.x

Class: PresentAsyncOptional<T>

Type parameters

Name
T

Hierarchy

Constructors

constructor

new PresentAsyncOptional<T>(value)

Type parameters

Name
T

Parameters

NameType
valuePromise<T>

Overrides

AsyncOptional.constructor

Defined in

packages/optional/src/AsyncOptional.ts:267

Methods

asJSON

asJSON(): Promise<null | T>

Returns

Promise<null | T>

Overrides

AsyncOptional.asJSON

Defined in

packages/optional/src/AsyncOptional.ts:286


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>>

Inherited from

AsyncOptional.call

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>>

Inherited from

AsyncOptional.callAsync

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>

Inherited from

AsyncOptional.defaultGet

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>

Inherited from

AsyncOptional.defaultGetAsync

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>

Inherited from

AsyncOptional.defaultGetFlat

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>

Inherited from

AsyncOptional.defaultGetFlatAsync

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>

Inherited from

AsyncOptional.defaultTo

Defined in

packages/optional/src/AsyncOptional.ts:125


filter

filter(predicate): AsyncOptional<T>

Parameters

NameType
predicate(value: T) => boolean

Returns

AsyncOptional<T>

Overrides

AsyncOptional.filter

Defined in

packages/optional/src/AsyncOptional.ts:256


filterNot

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

Type parameters

Name
X

Parameters

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

Returns

AsyncOptional<Exclude<T, X>>

Overrides

AsyncOptional.filterNot

Defined in

packages/optional/src/AsyncOptional.ts:199


flatMap

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

Type parameters

Name
X

Parameters

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

Returns

AsyncOptional<X>

Overrides

AsyncOptional.flatMap

Defined in

packages/optional/src/AsyncOptional.ts:271


flatMapAsync

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

Type parameters

Name
X

Parameters

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

Returns

AsyncOptionalOf<X>

Overrides

AsyncOptional.flatMapAsync

Defined in

packages/optional/src/AsyncOptional.ts:232


get

get(): Promise<T>

Returns

Promise<T>

Overrides

AsyncOptional.get

Defined in

packages/optional/src/AsyncOptional.ts:290


instanceOf

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

Type parameters

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

Parameters

NameType
...klassesC

Returns

AsyncOptional<InstanceType<C[number]>>

Inherited from

AsyncOptional.instanceOf

Defined in

packages/optional/src/AsyncOptional.ts:35


map

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

Type parameters

Name
X

Parameters

NameType
transform(value: T) => X

Returns

AsyncOptionalOf<X>

Overrides

AsyncOptional.map

Defined in

packages/optional/src/AsyncOptional.ts:329


mapAsync

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

Type parameters

Name
X

Parameters

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

Returns

AsyncOptionalOf<X>

Overrides

AsyncOptional.mapAsync

Defined in

packages/optional/src/AsyncOptional.ts:245


orElse

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

Type parameters

Name
X

Parameters

NameType
valueX

Returns

Promise<T | X>

Overrides

AsyncOptional.orElse

Defined in

packages/optional/src/AsyncOptional.ts:321


orGet

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

Type parameters

Name
X

Parameters

NameType
supplier() => X

Returns

Promise<T | X>

Overrides

AsyncOptional.orGet

Defined in

packages/optional/src/AsyncOptional.ts:317


orThrow

orThrow(errThrower): Promise<T>

Parameters

NameType
errThrower() => Error

Returns

Promise<T>

Overrides

AsyncOptional.orThrow

Defined in

packages/optional/src/AsyncOptional.ts:301


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]>

Inherited from

AsyncOptional.pick

Defined in

packages/optional/src/AsyncOptional.ts:91


tap

tap(view): AsyncOptional<T>

Parameters

NameType
view(value: T) => unknown

Returns

AsyncOptional<T>

Inherited from

AsyncOptional.tap

Defined in

packages/optional/src/AsyncOptional.ts:43


tapAsync

tapAsync(view): AsyncOptional<T>

Parameters

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

Returns

AsyncOptional<T>

Inherited from

AsyncOptional.tapAsync

Defined in

packages/optional/src/AsyncOptional.ts:50


then

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>

Overrides

AsyncOptional.then

Defined in

packages/optional/src/AsyncOptional.ts:340


toArray

toArray(): Promise<T[]>

Returns

Promise<T[]>

Overrides

AsyncOptional.toArray

Defined in

packages/optional/src/AsyncOptional.ts:213


toJSON

toJSON(): Promise<null | T>

Returns

Promise<null | T>

Overrides

AsyncOptional.toJSON

Defined in

packages/optional/src/AsyncOptional.ts:282


unzip

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

Type parameters

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

Parameters

NameType
thisV

Returns

Promise<OptionalizeArray<OptionalValue<V>>>

Overrides

AsyncOptional.unzip

Defined in

packages/optional/src/AsyncOptional.ts:176


unzip3

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

Type parameters

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

Parameters

NameType
thisV

Returns

Promise<OptionalizeArray<OptionalValue<V>>>

Overrides

AsyncOptional.unzip3

Defined in

packages/optional/src/AsyncOptional.ts:187


zip

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

Type parameters

NameType
Xextends AnyOptional<any>[]

Parameters

NameType
...othersX

Returns

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

Overrides

AsyncOptional.zip

Defined in

packages/optional/src/AsyncOptional.ts:222


empty

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

Type parameters

Name
T

Returns

AsyncOptionalOf<T>

Inherited from

AsyncOptional.empty

Defined in

packages/optional/src/AsyncOptional.ts:20


fromPromise

Static fromPromise<T>(promise): AsyncOptionalOf<T>

Type parameters

Name
T

Parameters

NameType
promisePromise<T>

Returns

AsyncOptionalOf<T>

Defined in

packages/optional/src/AsyncOptional.ts:325


of

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

Type parameters

Name
T

Parameters

NameType
promisePromise<T>

Returns

AsyncOptionalOf<T>

Inherited from

AsyncOptional.of

Defined in

packages/optional/src/AsyncOptional.ts:16