UNPKG

hole

Version:

Async friendly, stream-based task consuming utility in Node.js

24 lines (23 loc) 1.05 kB
/// <reference types="node" /> import { Readable, Transform, Writable } from 'stream'; import LazyPromise from 'lazy-promise'; import { ProcessorOption } from './types'; export declare function fromStream(readable: Readable): Hole<any>; export declare function fromArray<T>(array: T[]): Hole<T>; export default function hole<T>(obj: T): Hole<T>; declare type ArrayElement<ArrayType> = ArrayType extends (infer ElementType)[] ? ElementType : never; declare type ThenArg<T> = T extends Promise<infer U> ? U : T; declare type Exists<T> = Exclude<NonNullable<T>, void>; export declare class Hole<T> extends LazyPromise<T> { private readonly readable; private procInfoArray; constructor(readable: Readable); pipe(p: Readable): Hole<any>; pipe(p: Writable): Hole<any>; pipe<U>(p: (this: Transform, arg: T) => U, opts?: ProcessorOption | number): Hole<Exists<ThenArg<U>>>; split<U = ArrayElement<T>>(): Hole<U>; concat(size: number): Hole<T[]>; collect(): Promise<T[]>; collectSet(): Promise<Set<T>>; } export {};