import { sourceT as Source } from '../Wonka_types.gen'; interface UnaryFn { (source: T): R; } /* pipe definitions for source + operators composition */ function pipe(source: Source, op1: UnaryFn, Source>): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source> ): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source> ): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source> ): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source> ): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, op6: UnaryFn, Source> ): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, op6: UnaryFn, Source>, op7: UnaryFn, Source> ): Source; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, op6: UnaryFn, Source>, op7: UnaryFn, Source>, op8: UnaryFn, Source> ): Source; /* pipe definitions for source + operators + consumer composition */ function pipe(source: Source, consumer: UnaryFn, R>): R; function pipe( source: Source, op1: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, op6: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, op6: UnaryFn, Source>, op7: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe( source: Source, op1: UnaryFn, Source>, op2: UnaryFn, Source>, op3: UnaryFn, Source>, op4: UnaryFn, Source>, op5: UnaryFn, Source>, op6: UnaryFn, Source>, op7: UnaryFn, Source>, op8: UnaryFn, Source>, consumer: UnaryFn, R> ): R; function pipe() { let x = arguments[0]; for (let i = 1, l = arguments.length; i < l; i++) x = arguments[i](x); return x; } export { pipe };