@xylabs/promise
v5.0.80
Published
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Readme
@xylabs/promise
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Reference
@xylabs/promise
Classes
Interfaces
Type Aliases
- PromiseExSubFunc
- PromiseExFunc
- PromiseExValueFunc
- AnyNonPromise
- Promisable
- PromisableArray
- OptionalPromisable
- OptionalPromisableArray
- NullablePromisable
- NullablePromisableArray
- AsyncMutex
Functions
classes
PromiseEx
Extends
Promise<T>
Type Parameters
T
T
V
V = void
Constructors
Constructor
new PromiseEx<T, V>(func, value?): PromiseEx<T, V>;Parameters
func
value?
V
Returns
PromiseEx<T, V>
Overrides
Promise<T>.constructorProperties
cancelled?
optional cancelled: boolean;Methods
then()
then<TResult1, TResult2>(
onfulfilled?,
onrejected?,
onvalue?): Promise<TResult1 | TResult2>;Attaches callbacks for the resolution and/or rejection of the Promise.
Type Parameters
TResult1
TResult1 = T
TResult2
TResult2 = never
Parameters
onfulfilled?
The callback to execute when the Promise is resolved.
null | (value) => TResult1 | PromiseLike<TResult1>
onrejected?
The callback to execute when the Promise is rejected.
null | (reason) => TResult2 | PromiseLike<TResult2>
onvalue?
(value?) => boolean
Returns
Promise<TResult1 | TResult2>
A Promise for the completion of which ever callback is executed.
Overrides
Promise.thenvalue()
value(onvalue?): PromiseEx<T, V>;Parameters
onvalue?
(value?) => boolean
Returns
PromiseEx<T, V>
functions
fulfilled
function fulfilled<T>(val): val is PromiseFulfilledResult<T>;For use with Promise.allSettled to filter only successful results
Type Parameters
T
T
Parameters
val
PromiseSettledResult<T>
Returns
val is PromiseFulfilledResult<T>
fulfilledValues
function fulfilledValues<T>(previousValue, currentValue): T[];For use with Promise.allSettled to reduce to only successful result values
Type Parameters
T
T
Parameters
previousValue
T[]
currentValue
PromiseSettledResult<T>
Returns
T[]
Examples
const resolved = Promise.resolve('resolved')
const rejected = Promise.reject('rejected')
const settled = await Promise.allSettled([resolved, rejected])
const results = settled.reduce(fulfilledValues, [] as string[])
// results === [ 'resolved' ]const resolved = Promise.resolve('resolved')
const rejected = Promise.reject('rejected')
const settled = await Promise.allSettled([resolved, rejected])
const results = settled.reduce<string[]>(fulfilledValues, [])
// results === [ 'resolved' ]isPromise
function isPromise(value): value is Promise<unknown>;Parameters
value
unknown
Returns
value is Promise<unknown>
rejected
function rejected<T>(val): val is PromiseRejectedResult;For use with Promise.allSettled to filter only rejected results
Type Parameters
T
T
Parameters
val
PromiseSettledResult<T>
Returns
val is PromiseRejectedResult
toPromise
function toPromise<T>(value): Promise<T>;Type Parameters
T
T
Parameters
value
Promisable<T>
Returns
Promise<T>
interfaces
PromiseType
Properties
then()
then: () => unknown;Returns
unknown
type-aliases
AnyNonPromise
type AnyNonPromise = Exclude<TypedValue, PromiseType>;AsyncMutex
type AsyncMutex<T> = Promise<T>;Type Parameters
T
T
Description
Used to document promises that are being used as Mutexes
NullablePromisable
type NullablePromisable<T, V> = Promisable<T | null, V>;Type Parameters
T
T
V
V = never
NullablePromisableArray
type NullablePromisableArray<T, V> = PromisableArray<T | null, V>;Type Parameters
T
T
V
V = never
OptionalPromisable
type OptionalPromisable<T, V> = Promisable<T | undefined, V>;Type Parameters
T
T
V
V = never
OptionalPromisableArray
type OptionalPromisableArray<T, V> = PromisableArray<T | undefined, V>;Type Parameters
T
T
V
V = never
Promisable
type Promisable<T, V> = PromiseEx<T, V> | Promise<T> | T;Type Parameters
T
T
V
V = never
PromisableArray
type PromisableArray<T, V> = Promisable<T[], V>;Type Parameters
T
T
V
V = never
PromiseExFunc
type PromiseExFunc<T> = (resolve?, reject?) => void;Type Parameters
T
T
Parameters
resolve?
PromiseExSubFunc<T, void>
reject?
PromiseExSubFunc<T, void>
Returns
void
PromiseExSubFunc
type PromiseExSubFunc<T, TResult> = (value) => TResult;Type Parameters
T
T
TResult
TResult = T
Parameters
value
T
Returns
TResult
PromiseExValueFunc
type PromiseExValueFunc<V> = (value?) => boolean;Type Parameters
V
V
Parameters
value?
V
Returns
boolean
Part of sdk-js
Maintainers
License
See the LICENSE file for license details
