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