import { functions } from "./_func.ts"
export const AsyncFunction = Object.getPrototypeOf(functions.async).constructor as AsyncFunctionConstructor
export interface AsyncFunctionConstructor {
new <T = any>(...args: string[]): (...args: unknown[]) => Promise<T>
<T = any>(...args: string[]): (...args: unknown[]) => Promise<T>
readonly prototype: <T = any>(...args: unknown[]) => Promise<T>
}
export const GeneratorFunction = Object.getPrototypeOf(functions.generator).constructor as GeneratorFunctionConstructor
export interface GeneratorFunctionConstructor {
new <T = unknown, TReturn = any, TNext = unknown>(...args: string[]): (...args: unknown[]) => Generator<T, TReturn, TNext>
<T = unknown, TReturn = any, TNext = unknown>(...args: string[]): (...args: unknown[]) => Generator<T, TReturn, TNext>
readonly prototype: <T = unknown, TReturn = any, TNext = unknown>(...args: unknown[]) => Generator<T, TReturn, TNext>
}
export const AsyncGeneratorFunction = Object.getPrototypeOf(functions.asyncGenerator).constructor as AsyncGeneratorFunctionConstructor
export interface AsyncGeneratorFunctionConstructor {
new <T = unknown, TReturn = any, TNext = unknown>(...args: string[]): (...args: unknown[]) => AsyncGenerator<T, TReturn, TNext>
<T = unknown, TReturn = any, TNext = unknown>(...args: string[]): (...args: unknown[]) => AsyncGenerator<T, TReturn, TNext>
readonly prototype: <T = unknown, TReturn = any, TNext = unknown>(...args: unknown[]) => AsyncGenerator<T, TReturn, TNext>
}
|