index.d.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. import type { QuansyncFn, QuansyncGenerator, QuansyncGeneratorFn, QuansyncInputObject, QuansyncOptions } from './types.js';
  2. export { QuansyncAwaitableGenerator, QuansyncInput } from './types.js';
  3. declare const GET_IS_ASYNC: unique symbol;
  4. declare class QuansyncError extends Error {
  5. constructor(message?: string);
  6. }
  7. /**
  8. * Creates a new Quansync function, a "superposition" between async and sync.
  9. */
  10. declare function quansync<Return, Args extends any[] = []>(input: QuansyncInputObject<Return, Args>): QuansyncFn<Return, Args>;
  11. declare function quansync<Return, Args extends any[] = []>(input: QuansyncGeneratorFn<Return, Args> | Promise<Return>, options?: QuansyncOptions): QuansyncFn<Return, Args>;
  12. /**
  13. * Converts a promise to a Quansync generator.
  14. */
  15. declare function toGenerator<T>(promise: Promise<T> | QuansyncGenerator<T> | T): QuansyncGenerator<T>;
  16. /**
  17. * @returns `true` if the current context is async, `false` otherwise.
  18. */
  19. declare const getIsAsync: QuansyncFn<boolean, []>;
  20. export { GET_IS_ASYNC, QuansyncError, getIsAsync, quansync, toGenerator };
  21. export type { QuansyncFn, QuansyncGenerator, QuansyncGeneratorFn, QuansyncInputObject, QuansyncOptions };