UNPKG

1.53 kBSource Map (JSON)View Raw
1{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/compose.ts"],"names":[],"mappings":"AAWA,OAAO,IAAM,OAAO,GAAqB;IAAC,mBAAY;SAAZ,WAAY,CAAZ,sBAAY,CAAZ,IAAY;QAAZ,kCAAY;;IACpD,MAAM,CAAC,UAAS,GAAG;QACjB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAED,IAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAC,QAAQ,EAAE,EAAE,IAAK,OAAA,EAAE,CAAC,QAAQ,CAAC,EAAZ,CAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC,CAAA;AACH,CAAC,CAAA","sourcesContent":["export interface ComposeSignature {\n <A>(): (i: A) => A;\n <A, B>(b: (i: A) => B): (i: A) => B;\n <A, B, C>(c: (i: B) => C, b: (i: A) => B): (i: A) => C;\n <A, B, C, D>(d: (i: C) => D, c: (i: B) => C, b: (i: A) => B): (i: A) => D;\n <A, B, C, D, E>(e: (i: D) => E, d: (i: C) => D, c: (i: B) => C, b: (i: A) => B): (i: A) => E;\n <A, B, C, D, E, F>(f: (i: E) => F, e: (i: D) => E, d: (i: C) => D, c: (i: B) => C, b: (i: A) => B): (i: A) => F;\n (...fns: any[]): (input: any) => any;\n}\n\n\nexport const compose: ComposeSignature = (...functions) => {\n return function(arg) {\n if (functions.length === 0) {\n return arg;\n }\n\n const last = functions[functions.length - 1];\n const rest = functions.slice(0, -1);\n\n return rest.reduceRight((composed, fn) => fn(composed), last(arg));\n }\n}\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
\No newline at end of file