@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
58 lines • 3.02 kB
TypeScript
/**
* [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