UNPKG

@cspell/cspell-pipe

Version:
17 lines 1.16 kB
export interface PipeFnSync<T, U> { (iter: Iterable<T>): Iterable<U>; /** This is just to help TypeScript figure out the type. */ __PipeFnSync__?: [T, U]; } export interface PipeFnAsync<T, U> { (iter: AsyncIterable<T>): AsyncIterable<U>; /** This is just to help TypeScript figure out the type. */ __PipeFnAsync__?: [T, U]; } export type PipeFn<T, U> = PipeFnSync<T, U> & PipeFnAsync<T, U>; export type PsFn<T, U> = PipeFnSync<T, U> | ((i: Iterable<T>) => Iterable<U>); export type AnyIterable<T> = Iterable<T> | AsyncIterable<T> | Promise<Iterable<T>> | Iterable<Promise<T>>; export type PaFn<T, U> = PipeFnAsync<T, U> | ((i: AsyncIterable<T>) => AsyncIterable<U>); export type PipeAsyncTx<T extends [...any]> = T extends [infer Left, infer Right, ...infer Rest] ? Rest extends [any, ...any] ? [PaFn<Left, Right>, ...PipeAsyncTx<[Right, ...Rest]>] : [PaFn<Left, Right>] : never; export type PipeSyncTx<T extends [...any]> = T extends [infer Left, infer Right, ...infer Rest] ? Rest extends [any, ...any] ? [PsFn<Left, Right>, ...PipeSyncTx<[Right, ...Rest]>] : [PsFn<Left, Right>] : never; //# sourceMappingURL=internalTypes.d.ts.map