{"version":3,"file":"pipe.js","sourceRoot":"","sources":["../../src/util/pipe.ts"],"names":[],"mappings":";AAAA,qBAAqB,QAAQ,CAAC,CAAA;AAc9B,mCAAmC;AAEnC;IAA2B,aAAkC;SAAlC,WAAkC,CAAlC,sBAAkC,CAAlC,IAAkC;QAAlC,4BAAkC;;IAC3D,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAFe,YAAI,OAEnB,CAAA;AAED,eAAe;AACf,uBAAoC,GAA+B;IACjE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACT,MAAM,CAAC,WAA+B,CAAC;IACzC,CAAC;IAED,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,eAAe,KAAQ;QAC5B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAC,IAAS,EAAE,EAAuB,IAAK,OAAA,EAAE,CAAC,IAAI,CAAC,EAAR,CAAQ,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAZe,qBAAa,gBAY5B,CAAA","sourcesContent":["import { noop } from './noop';\nimport { UnaryFunction } from '../interfaces';\n\n/* tslint:disable:max-line-length */\nexport function pipe(): UnaryFunction;\nexport function pipe(op1: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction, op4: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction, op4: UnaryFunction, op5: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction, op4: UnaryFunction, op5: UnaryFunction, op6: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction, op4: UnaryFunction, op5: UnaryFunction, op6: UnaryFunction, op7: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction, op4: UnaryFunction, op5: UnaryFunction, op6: UnaryFunction, op7: UnaryFunction, op8: UnaryFunction): UnaryFunction;\nexport function pipe(op1: UnaryFunction, op2: UnaryFunction, op3: UnaryFunction, op4: UnaryFunction, op5: UnaryFunction, op6: UnaryFunction, op7: UnaryFunction, op8: UnaryFunction, op9: UnaryFunction): UnaryFunction;\n/* tslint:enable:max-line-length */\n\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/* @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (!fns) {\n return noop as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input);\n };\n}\n"]}