UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

43 lines 1.49 kB
import StatefulPromise from "./stateful-promise"; interface Task<TValue = unknown> { readonly promise: StatefulPromise<TValue>; readonly abort: (reason?: unknown) => void; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#add) */ export interface TaskRunnerArgs { signal: AbortSignal; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#add) */ export interface TaskOptions { readonly signal?: AbortSignal | undefined; } /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/) */ export default class TaskQueue { protected readonly _queue: Task[]; protected readonly _idle: (() => void)[]; protected rm(task: Task): void; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#count) */ get count(): number; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#add) */ add<TValue>(runner: (args: TaskRunnerArgs) => TValue | PromiseLike<TValue>, options?: TaskOptions | undefined): StatefulPromise<TValue>; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#idle) */ idle(): StatefulPromise<void>; /** * [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/task-queue/#abort) */ abort(reason?: unknown): void; } export {}; //# sourceMappingURL=task-queue.d.ts.map