UNPKG

json-api-nestjs

Version:
19 lines (18 loc) 929 B
import { Provider } from '@nestjs/common'; type ParamsInput<R> = R extends (...arg: infer P) => any ? P : never; type ParamsReturn<R> = R extends (...arg: any) => infer P ? P extends Promise<infer T> ? T extends [infer K, ...any] ? K : T : P : never; export type IterateFactory<R extends (...arg: any) => any = (...arg: any) => any> = { createIterator: (iterateObject: ParamsInput<R>, callback: R) => { [Symbol.asyncIterator](): GeneralAsyncIterator<R, ParamsInput<R>, ParamsReturn<R>>; }; }; declare class GeneralAsyncIterator<R extends (...arg: any[]) => any, T = ParamsInput<R>, TReturn = ParamsReturn<R>> implements AsyncIterator<T, TReturn> { private iterateObject; private callback; private counter; private maxLimit; constructor(iterateObject: T[], callback: R); next(): Promise<IteratorResult<T, TReturn>>; } export declare const AsyncIterate: Provider<IterateFactory>; export {};