json-api-nestjs
Version:
JsonApi Plugin for NestJs
19 lines (18 loc) • 929 B
TypeScript
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 {};