UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

58 lines 3.02 kB
/** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#state) */ export type StatefulPromiseState = "pending" | "fulfilled" | "rejected"; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#constructor) */ export type StatefulPromiseExecutor<TValue> = (resolve: (value: TValue | PromiseLike<TValue>) => void, reject: (reason: unknown) => void) => void; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/) */ export default class StatefulPromise<TValue> implements PromiseLike<TValue> { /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#resolve) */ static resolve<TValue = void>(value?: TValue | PromiseLike<TValue>): StatefulPromise<TValue>; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#reject) */ static reject<TValue = never>(reason?: unknown): StatefulPromise<TValue>; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#withresolvers) */ static withResolvers<TValue>(): { promise: StatefulPromise<TValue>; resolve: (value: TValue | PromiseLike<TValue>) => void; reject: (reason: unknown) => void; }; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#try) */ static try<TValue, TArgs extends readonly unknown[]>(func: (...args: TArgs) => TValue | PromiseLike<TValue>, ...args: TArgs): StatefulPromise<TValue>; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#allrejected) */ static allRejected(promises: Iterable<unknown>): StatefulPromise<unknown[]>; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#allrejected) */ static allRejected<TItem>(promises: Iterable<TItem>, extract: (item: TItem) => unknown): StatefulPromise<unknown[]>; protected _value: any; protected _state: StatefulPromiseState; protected _promise: Promise<void> | null; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#constructor) */ constructor(executor: StatefulPromiseExecutor<TValue>); /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#state) */ get state(): StatefulPromiseState; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/stateful-promise/#then) */ then<TFulfilledValue = TValue, TRejectedValue = never>(onFulfilled?: ((value: TValue) => TFulfilledValue | PromiseLike<TFulfilledValue>) | undefined | null, onRejected?: ((reason: unknown) => TRejectedValue | PromiseLike<TRejectedValue>) | undefined | null): StatefulPromise<TFulfilledValue | TRejectedValue>; get [Symbol.toStringTag](): string; } //# sourceMappingURL=stateful-promise.d.ts.map