fp-pack 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +1 -1
  2. package/dist/fp-pack.umd.js.map +1 -1
  3. package/dist/implement/async/pipeAsync.d.ts +1 -0
  4. package/dist/implement/async/pipeAsync.d.ts.map +1 -1
  5. package/dist/implement/async/pipeAsync.mjs.map +1 -1
  6. package/dist/implement/async/pipeAsyncSideEffect.d.ts +1 -0
  7. package/dist/implement/async/pipeAsyncSideEffect.d.ts.map +1 -1
  8. package/dist/implement/async/pipeAsyncSideEffect.mjs.map +1 -1
  9. package/dist/implement/async/pipeAsyncSideEffectStrict.d.ts +16 -0
  10. package/dist/implement/async/pipeAsyncSideEffectStrict.d.ts.map +1 -1
  11. package/dist/implement/async/pipeAsyncSideEffectStrict.mjs.map +1 -1
  12. package/dist/implement/composition/pipe.d.ts +2 -0
  13. package/dist/implement/composition/pipe.d.ts.map +1 -1
  14. package/dist/implement/composition/pipe.mjs.map +1 -1
  15. package/dist/implement/composition/pipe.type-test.d.ts +35 -0
  16. package/dist/implement/composition/pipe.type-test.d.ts.map +1 -1
  17. package/dist/implement/composition/pipeSideEffect.d.ts +2 -0
  18. package/dist/implement/composition/pipeSideEffect.d.ts.map +1 -1
  19. package/dist/implement/composition/pipeSideEffect.mjs.map +1 -1
  20. package/dist/implement/composition/pipeSideEffectStrict.d.ts +16 -0
  21. package/dist/implement/composition/pipeSideEffectStrict.d.ts.map +1 -1
  22. package/dist/implement/composition/pipeSideEffectStrict.mjs.map +1 -1
  23. package/dist/skills/fp-pack/SKILL.md +2 -2
  24. package/dist/skills/fp-pack.md +2 -2
  25. package/package.json +1 -1
  26. package/src/implement/async/pipeAsync.ts +8 -0
  27. package/src/implement/async/pipeAsyncSideEffect.ts +8 -0
  28. package/src/implement/async/pipeAsyncSideEffectStrict.ts +30 -0
  29. package/src/implement/composition/pipe.ts +16 -0
  30. package/src/implement/composition/pipe.type-test.ts +93 -0
  31. package/src/implement/composition/pipeSideEffect.ts +16 -0
  32. package/src/implement/composition/pipeSideEffectStrict.ts +30 -0
@@ -8,6 +8,7 @@ declare function pipeAsync<A, B, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Await
8
8
  declare function pipeAsync<A, B, C, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, R>): (a: A) => Promise<Awaited<R>>;
9
9
  declare function pipeAsync<A, B, C, D, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, D>, de: AsyncOrSync<Awaited<D>, R>): (a: A) => Promise<Awaited<R>>;
10
10
  declare function pipeAsync<A, B, C, D, E, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, D>, de: AsyncOrSync<Awaited<D>, E>, ef: AsyncOrSync<Awaited<E>, R>): (a: A) => Promise<Awaited<R>>;
11
+ declare function pipeAsync<A, B, C, D, E, F, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, D>, de: AsyncOrSync<Awaited<D>, E>, ef: AsyncOrSync<Awaited<E>, F>, fg: AsyncOrSync<Awaited<F>, R>): (a: A) => Promise<Awaited<R>>;
11
12
  declare function pipeAsync<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(...funcs: Fns): PipeAsync<Fns>;
12
13
  declare function pipeAsync(...funcs: Array<AsyncOrSync<any, any>>): (value: any) => Promise<any>;
13
14
  export default pipeAsync;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeAsync.d.ts","sourceRoot":"","sources":["../../../src/implement/async/pipeAsync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeAsync.d.ts","sourceRoot":"","sources":["../../../src/implement/async/pipeAsync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeAsync.mjs","sources":["../../../src/implement/async/pipeAsync.ts"],"sourcesContent":["/** pipeAsync - 비동기 함수 합성 */\ntype AsyncOrSync<A, R> = (a: A) => R | Promise<R>;\ntype PipeInput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<infer A, any>, ...AsyncOrSync<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<any, infer R>]\n ? Awaited<R>\n : Fns extends [AsyncOrSync<any, infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<Awaited<R>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype PipeAsync<Fns extends AsyncOrSync<any, any>[]> = (input: PipeInput<Fns>) => Promise<PipeOutput<Fns>>;\n\nfunction pipeAsync<A, R>(ab: AsyncOrSync<A, R>): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, R>): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, R>\n): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, D, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, R>\n): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, D, E, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, E>,\n ef: AsyncOrSync<Awaited<E>, R>\n): (a: A) => Promise<Awaited<R>>;\n\nfunction pipeAsync<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(...funcs: Fns): PipeAsync<Fns>;\nfunction pipeAsync(...funcs: Array<AsyncOrSync<any, any>>): (value: any) => Promise<any>;\nfunction pipeAsync(...funcs: Array<(arg: any) => any>) {\n return async (value: any) => {\n let acc = value;\n for (const fn of funcs) {\n acc = await fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeAsync;\n"],"names":["pipeAsync","funcs","value","acc","fn"],"mappings":"AAqCA,SAASA,KAAaC,GAAiC;AACrD,SAAO,OAAOC,MAAe;AAC3B,QAAIC,IAAMD;AACV,eAAWE,KAAMH;AACf,MAAAE,IAAM,MAAMC,EAAGD,CAAG;AAEpB,WAAOA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"pipeAsync.mjs","sources":["../../../src/implement/async/pipeAsync.ts"],"sourcesContent":["/** pipeAsync - 비동기 함수 합성 */\ntype AsyncOrSync<A, R> = (a: A) => R | Promise<R>;\ntype PipeInput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<infer A, any>, ...AsyncOrSync<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<any, infer R>]\n ? Awaited<R>\n : Fns extends [AsyncOrSync<any, infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<Awaited<R>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype PipeAsync<Fns extends AsyncOrSync<any, any>[]> = (input: PipeInput<Fns>) => Promise<PipeOutput<Fns>>;\n\nfunction pipeAsync<A, R>(ab: AsyncOrSync<A, R>): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, R>): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, R>\n): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, D, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, R>\n): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, D, E, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, E>,\n ef: AsyncOrSync<Awaited<E>, R>\n): (a: A) => Promise<Awaited<R>>;\nfunction pipeAsync<A, B, C, D, E, F, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, E>,\n ef: AsyncOrSync<Awaited<E>, F>,\n fg: AsyncOrSync<Awaited<F>, R>\n): (a: A) => Promise<Awaited<R>>;\n\nfunction pipeAsync<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(...funcs: Fns): PipeAsync<Fns>;\nfunction pipeAsync(...funcs: Array<AsyncOrSync<any, any>>): (value: any) => Promise<any>;\nfunction pipeAsync(...funcs: Array<(arg: any) => any>) {\n return async (value: any) => {\n let acc = value;\n for (const fn of funcs) {\n acc = await fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeAsync;\n"],"names":["pipeAsync","funcs","value","acc","fn"],"mappings":"AA6CA,SAASA,KAAaC,GAAiC;AACrD,SAAO,OAAOC,MAAe;AAC3B,QAAIC,IAAMD;AACV,eAAWE,KAAMH;AACf,MAAAE,IAAM,MAAMC,EAAGD,CAAG;AAEpB,WAAOA;AAAA,EACT;AACF;"}
@@ -15,6 +15,7 @@ declare function pipeAsyncSideEffect<A, B, R>(ab: AsyncOrSync<A, B>, bc: AsyncOr
15
15
  declare function pipeAsyncSideEffect<A, B, C, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, R>): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
16
16
  declare function pipeAsyncSideEffect<A, B, C, D, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, D>, de: AsyncOrSync<Awaited<D>, R>): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
17
17
  declare function pipeAsyncSideEffect<A, B, C, D, E, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, D>, de: AsyncOrSync<Awaited<D>, E>, ef: AsyncOrSync<Awaited<E>, R>): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
18
+ declare function pipeAsyncSideEffect<A, B, C, D, E, F, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, C>, cd: AsyncOrSync<Awaited<C>, D>, de: AsyncOrSync<Awaited<D>, E>, ef: AsyncOrSync<Awaited<E>, F>, fg: AsyncOrSync<Awaited<F>, R>): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
18
19
  declare function pipeAsyncSideEffect<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(...funcs: Fns): PipeAsyncSideEffect<Fns>;
19
20
  declare function pipeAsyncSideEffect(...funcs: Array<AsyncOrSync<any, any>>): (value: any) => Promise<any>;
20
21
  export default pipeAsyncSideEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeAsyncSideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/async/pipeAsyncSideEffect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeAsyncSideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/async/pipeAsyncSideEffect.ts"],"names":[],"mappings":"AAAA,OAAO,UAA4B,MAAM,2BAA2B,CAAC;AAErE,uDAAuD;AACvD,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9C,KAAK,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,KAAK,SAAS,CAAC,GAAG,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS;IAChE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACzB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;CAC3B,GACG,CAAC,GACD,KAAK,CAAC;AACV,KAAK,UAAU,CAAC,GAAG,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAC1F,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3B,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GACpD,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GACpF,UAAU,CAAC,IAAI,CAAC,GAChB,KAAK,GACP,KAAK,CAAC;AACZ,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChD,KAAK,mBAAmB,CAAC,GAAG,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAC9D,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KACpC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvC,iBAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAC/B,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,iBAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAClC,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,iBAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,iBAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACxC,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,iBAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3C,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,iBAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9C,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE,iBAAS,mBAAmB,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAC1F,GAAG,KAAK,EAAE,GAAG,GACZ,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC5B,iBAAS,mBAAmB,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAcnG,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeAsyncSideEffect.mjs","sources":["../../../src/implement/async/pipeAsyncSideEffect.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from '../composition/sideEffect';\n\n/** pipeAsyncSideEffect - SideEffect를 허용하는 비동기 함수 합성 */\ntype MaybeSideEffect<T> = T | SideEffect<any>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype AsyncOrSync<A, R> = (a: A) => MaybeSideEffect<R> | Promise<MaybeSideEffect<R>>;\ntype PipeInput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [\n AsyncOrSync<infer A, any>,\n ...AsyncOrSync<any, any>[]\n]\n ? A\n : never;\ntype PipeOutput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<any, infer R>]\n ? MaybeSideEffect<Awaited<R>>\n : Fns extends [AsyncOrSync<any, infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<Awaited<NonSideEffect<R>>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Resolve<T> = T extends infer R ? R : never;\ntype PipeAsyncSideEffect<Fns extends AsyncOrSync<any, any>[]> = (\n input: PipeInput<Fns> | SideEffect<any>\n) => Promise<Resolve<PipeOutput<Fns>>>;\n\nfunction pipeAsyncSideEffect<A, R>(\n ab: AsyncOrSync<A, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, D, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, D, E, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, E>,\n ef: AsyncOrSync<Awaited<E>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\n\nfunction pipeAsyncSideEffect<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(\n ...funcs: Fns\n): PipeAsyncSideEffect<Fns>;\nfunction pipeAsyncSideEffect(...funcs: Array<AsyncOrSync<any, any>>): (value: any) => Promise<any>;\nfunction pipeAsyncSideEffect(...funcs: Array<(arg: any) => any>) {\n return async (value: any) => {\n let acc = value;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = await fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeAsyncSideEffect;\n"],"names":["pipeAsyncSideEffect","funcs","value","acc","fn","isSideEffect"],"mappings":";AAsDA,SAASA,KAAuBC,GAAiC;AAC/D,SAAO,OAAOC,MAAe;AAC3B,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAM,MAAMC,EAAGD,CAAG;AAAA,IACpB;AACA,WAAOA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"pipeAsyncSideEffect.mjs","sources":["../../../src/implement/async/pipeAsyncSideEffect.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from '../composition/sideEffect';\n\n/** pipeAsyncSideEffect - SideEffect를 허용하는 비동기 함수 합성 */\ntype MaybeSideEffect<T> = T | SideEffect<any>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype AsyncOrSync<A, R> = (a: A) => MaybeSideEffect<R> | Promise<MaybeSideEffect<R>>;\ntype PipeInput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [\n AsyncOrSync<infer A, any>,\n ...AsyncOrSync<any, any>[]\n]\n ? A\n : never;\ntype PipeOutput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<any, infer R>]\n ? MaybeSideEffect<Awaited<R>>\n : Fns extends [AsyncOrSync<any, infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<Awaited<NonSideEffect<R>>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Resolve<T> = T extends infer R ? R : never;\ntype PipeAsyncSideEffect<Fns extends AsyncOrSync<any, any>[]> = (\n input: PipeInput<Fns> | SideEffect<any>\n) => Promise<Resolve<PipeOutput<Fns>>>;\n\nfunction pipeAsyncSideEffect<A, R>(\n ab: AsyncOrSync<A, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, D, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, D, E, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, E>,\n ef: AsyncOrSync<Awaited<E>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\nfunction pipeAsyncSideEffect<A, B, C, D, E, F, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<Awaited<B>, C>,\n cd: AsyncOrSync<Awaited<C>, D>,\n de: AsyncOrSync<Awaited<D>, E>,\n ef: AsyncOrSync<Awaited<E>, F>,\n fg: AsyncOrSync<Awaited<F>, R>\n): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;\n\nfunction pipeAsyncSideEffect<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(\n ...funcs: Fns\n): PipeAsyncSideEffect<Fns>;\nfunction pipeAsyncSideEffect(...funcs: Array<AsyncOrSync<any, any>>): (value: any) => Promise<any>;\nfunction pipeAsyncSideEffect(...funcs: Array<(arg: any) => any>) {\n return async (value: any) => {\n let acc = value;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = await fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeAsyncSideEffect;\n"],"names":["pipeAsyncSideEffect","funcs","value","acc","fn","isSideEffect"],"mappings":";AA8DA,SAASA,KAAuBC,GAAiC;AAC/D,SAAO,OAAOC,MAAe;AAC3B,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAM,MAAMC,EAAGD,CAAG;AAAA,IACpB;AACA,WAAOA;AAAA,EACT;AACF;"}
@@ -32,6 +32,14 @@ declare function pipeAsyncSideEffectStrict<B, C, D, E, R>(ab: ZeroFn<B>, bc: Asy
32
32
  AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
33
33
  AsyncOrSync<NonSideEffect<Awaited<E>>, R>
34
34
  ]>;
35
+ declare function pipeAsyncSideEffectStrict<B, C, D, E, F, R>(ab: ZeroFn<B>, bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>, cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>, de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>, ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>, fg: AsyncOrSync<NonSideEffect<Awaited<F>>, R>): PipeAsyncSideEffectStrict<[
36
+ ZeroFn<B>,
37
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
38
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
39
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
40
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
41
+ AsyncOrSync<NonSideEffect<Awaited<F>>, R>
42
+ ]>;
35
43
  declare function pipeAsyncSideEffectStrict<A, R>(ab: AsyncOrSync<A, R>): PipeAsyncSideEffectStrict<[AsyncOrSync<A, R>]>;
36
44
  declare function pipeAsyncSideEffectStrict<A, B, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<NonSideEffect<Awaited<B>>, R>): PipeAsyncSideEffectStrict<[AsyncOrSync<A, B>, AsyncOrSync<NonSideEffect<Awaited<B>>, R>]>;
37
45
  declare function pipeAsyncSideEffectStrict<A, B, C, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>, cd: AsyncOrSync<NonSideEffect<Awaited<C>>, R>): PipeAsyncSideEffectStrict<[
@@ -52,6 +60,14 @@ declare function pipeAsyncSideEffectStrict<A, B, C, D, E, R>(ab: AsyncOrSync<A,
52
60
  AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
53
61
  AsyncOrSync<NonSideEffect<Awaited<E>>, R>
54
62
  ]>;
63
+ declare function pipeAsyncSideEffectStrict<A, B, C, D, E, F, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>, cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>, de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>, ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>, fg: AsyncOrSync<NonSideEffect<Awaited<F>>, R>): PipeAsyncSideEffectStrict<[
64
+ AsyncOrSync<A, B>,
65
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
66
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
67
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
68
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
69
+ AsyncOrSync<NonSideEffect<Awaited<F>>, R>
70
+ ]>;
55
71
  declare function pipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeAsyncSideEffectStrict<Fns>;
56
72
  export default pipeAsyncSideEffectStrict;
57
73
  //# sourceMappingURL=pipeAsyncSideEffectStrict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeAsyncSideEffectStrict.d.ts","sourceRoot":"","sources":["../../../src/implement/async/pipeAsyncSideEffectStrict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeAsyncSideEffectStrict.d.ts","sourceRoot":"","sources":["../../../src/implement/async/pipeAsyncSideEffectStrict.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeAsyncSideEffectStrict.mjs","sources":["../../../src/implement/async/pipeAsyncSideEffectStrict.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from '../composition/sideEffect';\n\ntype AnyFn = (...args: any[]) => any;\ntype MaybeSideEffect<T, E> = T | SideEffect<E>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype AsyncOrSync<A, R> = (a: A) => R | Promise<R>;\ntype ZeroFn<R> = () => R | Promise<R>;\n\ntype EffectOfReturn<R> = R extends SideEffect<infer E> ? E : never;\ntype EffectOfFn<F> = F extends (...args: any[]) => infer R ? EffectOfReturn<Awaited<R>> : never;\ntype EffectsOf<Fns extends AnyFn[]> = EffectOfFn<Fns[number]>;\n\ntype PipeValueOutputUnary<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<any, infer R>]\n ? NonSideEffect<Awaited<R>>\n : Fns extends [AsyncOrSync<any, infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<NonSideEffect<Awaited<R>>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : never;\n\ntype PipeValueOutputStrict<Fns extends [AnyFn, ...AnyFn[]]> =\n Fns extends [ZeroFn<infer R>]\n ? NonSideEffect<Awaited<R>>\n : Fns extends [ZeroFn<infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<NonSideEffect<Awaited<R>>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]\n ? PipeValueOutputUnary<Fns>\n : never;\n\ntype PipeInputStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? never\n : Fns extends [AsyncOrSync<infer A, any>, ...AnyFn[]]\n ? A\n : never;\n\ntype Resolve<T> = T extends infer R ? R : never;\n\ntype PipeAsyncSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {\n (input: PipeInputStrict<Fns>): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>>;\n <EIn>(\n input: PipeInputStrict<Fns> | SideEffect<EIn>\n ): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>>;\n};\n\ntype PipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? () => Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>>\n : PipeAsyncSideEffectStrictUnary<Fns>;\n\nfunction pipeAsyncSideEffectStrict<R>(ab: ZeroFn<R>): PipeAsyncSideEffectStrict<[ZeroFn<R>]>;\nfunction pipeAsyncSideEffectStrict<B, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, R>\n): PipeAsyncSideEffectStrict<[ZeroFn<B>, AsyncOrSync<NonSideEffect<Awaited<B>>, R>]>;\nfunction pipeAsyncSideEffectStrict<B, C, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, R>\n): PipeAsyncSideEffectStrict<[ZeroFn<B>, AsyncOrSync<NonSideEffect<Awaited<B>>, C>, AsyncOrSync<NonSideEffect<Awaited<C>>, R>]>;\nfunction pipeAsyncSideEffectStrict<B, C, D, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n): PipeAsyncSideEffectStrict<[\n ZeroFn<B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n ef: AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n): PipeAsyncSideEffectStrict<[\n ZeroFn<B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, R>(\n ab: AsyncOrSync<A, R>\n): PipeAsyncSideEffectStrict<[AsyncOrSync<A, R>]>;\nfunction pipeAsyncSideEffectStrict<A, B, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, R>\n): PipeAsyncSideEffectStrict<[AsyncOrSync<A, B>, AsyncOrSync<NonSideEffect<Awaited<B>>, R>]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, D, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, D, E, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n ef: AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n]>;\n\nfunction pipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeAsyncSideEffectStrict<Fns>;\nfunction pipeAsyncSideEffectStrict(...funcs: Array<AsyncOrSync<any, any>>) {\n return async (value?: any) => {\n let acc = value;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = await fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeAsyncSideEffectStrict;\n"],"names":["pipeAsyncSideEffectStrict","funcs","value","acc","fn","isSideEffect"],"mappings":";AA8HA,SAASA,KAA6BC,GAAqC;AACzE,SAAO,OAAOC,MAAgB;AAC5B,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAM,MAAMC,EAAGD,CAAG;AAAA,IACpB;AACA,WAAOA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"pipeAsyncSideEffectStrict.mjs","sources":["../../../src/implement/async/pipeAsyncSideEffectStrict.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from '../composition/sideEffect';\n\ntype AnyFn = (...args: any[]) => any;\ntype MaybeSideEffect<T, E> = T | SideEffect<E>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype AsyncOrSync<A, R> = (a: A) => R | Promise<R>;\ntype ZeroFn<R> = () => R | Promise<R>;\n\ntype EffectOfReturn<R> = R extends SideEffect<infer E> ? E : never;\ntype EffectOfFn<F> = F extends (...args: any[]) => infer R ? EffectOfReturn<Awaited<R>> : never;\ntype EffectsOf<Fns extends AnyFn[]> = EffectOfFn<Fns[number]>;\n\ntype PipeValueOutputUnary<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<any, infer R>]\n ? NonSideEffect<Awaited<R>>\n : Fns extends [AsyncOrSync<any, infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<NonSideEffect<Awaited<R>>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : never;\n\ntype PipeValueOutputStrict<Fns extends [AnyFn, ...AnyFn[]]> =\n Fns extends [ZeroFn<infer R>]\n ? NonSideEffect<Awaited<R>>\n : Fns extends [ZeroFn<infer R>, ...infer Rest]\n ? Rest extends [AsyncOrSync<NonSideEffect<Awaited<R>>, any>, ...AsyncOrSync<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]\n ? PipeValueOutputUnary<Fns>\n : never;\n\ntype PipeInputStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? never\n : Fns extends [AsyncOrSync<infer A, any>, ...AnyFn[]]\n ? A\n : never;\n\ntype Resolve<T> = T extends infer R ? R : never;\n\ntype PipeAsyncSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {\n (input: PipeInputStrict<Fns>): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>>;\n <EIn>(\n input: PipeInputStrict<Fns> | SideEffect<EIn>\n ): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>>;\n};\n\ntype PipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? () => Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>>\n : PipeAsyncSideEffectStrictUnary<Fns>;\n\nfunction pipeAsyncSideEffectStrict<R>(ab: ZeroFn<R>): PipeAsyncSideEffectStrict<[ZeroFn<R>]>;\nfunction pipeAsyncSideEffectStrict<B, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, R>\n): PipeAsyncSideEffectStrict<[ZeroFn<B>, AsyncOrSync<NonSideEffect<Awaited<B>>, R>]>;\nfunction pipeAsyncSideEffectStrict<B, C, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, R>\n): PipeAsyncSideEffectStrict<[ZeroFn<B>, AsyncOrSync<NonSideEffect<Awaited<B>>, C>, AsyncOrSync<NonSideEffect<Awaited<C>>, R>]>;\nfunction pipeAsyncSideEffectStrict<B, C, D, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n): PipeAsyncSideEffectStrict<[\n ZeroFn<B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n ef: AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n): PipeAsyncSideEffectStrict<[\n ZeroFn<B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<B, C, D, E, F, R>(\n ab: ZeroFn<B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,\n fg: AsyncOrSync<NonSideEffect<Awaited<F>>, R>\n): PipeAsyncSideEffectStrict<[\n ZeroFn<B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n AsyncOrSync<NonSideEffect<Awaited<E>>, F>,\n AsyncOrSync<NonSideEffect<Awaited<F>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, R>(\n ab: AsyncOrSync<A, R>\n): PipeAsyncSideEffectStrict<[AsyncOrSync<A, R>]>;\nfunction pipeAsyncSideEffectStrict<A, B, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, R>\n): PipeAsyncSideEffectStrict<[AsyncOrSync<A, B>, AsyncOrSync<NonSideEffect<Awaited<B>>, R>]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, D, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, D, E, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n ef: AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n AsyncOrSync<NonSideEffect<Awaited<E>>, R>\n]>;\nfunction pipeAsyncSideEffectStrict<A, B, C, D, E, F, R>(\n ab: AsyncOrSync<A, B>,\n bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,\n fg: AsyncOrSync<NonSideEffect<Awaited<F>>, R>\n): PipeAsyncSideEffectStrict<[\n AsyncOrSync<A, B>,\n AsyncOrSync<NonSideEffect<Awaited<B>>, C>,\n AsyncOrSync<NonSideEffect<Awaited<C>>, D>,\n AsyncOrSync<NonSideEffect<Awaited<D>>, E>,\n AsyncOrSync<NonSideEffect<Awaited<E>>, F>,\n AsyncOrSync<NonSideEffect<Awaited<F>>, R>\n]>;\n\nfunction pipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeAsyncSideEffectStrict<Fns>;\nfunction pipeAsyncSideEffectStrict(...funcs: Array<AsyncOrSync<any, any>>) {\n return async (value?: any) => {\n let acc = value;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = await fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeAsyncSideEffectStrict;\n"],"names":["pipeAsyncSideEffectStrict","funcs","value","acc","fn","isSideEffect"],"mappings":";AA4JA,SAASA,KAA6BC,GAAqC;AACzE,SAAO,OAAOC,MAAgB;AAC5B,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAM,MAAMC,EAAGD,CAAG;AAAA,IACpB;AACA,WAAOA;AAAA,EACT;AACF;"}
@@ -8,11 +8,13 @@ declare function pipe<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => R;
8
8
  declare function pipe<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => R;
9
9
  declare function pipe<B, C, D, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): () => R;
10
10
  declare function pipe<B, C, D, E, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, R>): () => R;
11
+ declare function pipe<B, C, D, E, F, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, R>): () => R;
11
12
  declare function pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;
12
13
  declare function pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;
13
14
  declare function pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;
14
15
  declare function pipe<A, B, C, D, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): (a: A) => R;
15
16
  declare function pipe<A, B, C, D, E, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, R>): (a: A) => R;
17
+ declare function pipe<A, B, C, D, E, F, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, R>): (a: A) => R;
16
18
  declare function pipe<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): Pipe<Fns>;
17
19
  declare function pipe(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;
18
20
  export default pipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.mjs","sources":["../../../src/implement/composition/pipe.ts"],"sourcesContent":["type UnaryFn<A, R> = (a: A) => R;\ntype ZeroFn<R> = () => R;\ntype PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? R\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<R, any>, ...UnaryFn<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Pipe<Fns extends UnaryFn<any, any>[]> = (input: PipeInput<Fns>) => PipeOutput<Fns>;\n\nfunction pipe<R>(ab: ZeroFn<R>): () => R;\nfunction pipe<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => R;\nfunction pipe<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => R;\nfunction pipe<B, C, D, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): () => R;\nfunction pipe<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): () => R;\nfunction pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;\nfunction pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;\nfunction pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;\nfunction pipe<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): (a: A) => R;\n\nfunction pipe<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): Pipe<Fns>;\nfunction pipe(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;\nfunction pipe(...funcs: Array<(input: any) => any>) {\n return (init: any) => {\n return funcs.reduce((acc, fn) => fn(acc), init);\n };\n}\n\nexport default pipe;\n"],"names":["pipe","funcs","init","acc","fn"],"mappings":"AA4CA,SAASA,KAAQC,GAAmC;AAClD,SAAO,CAACC,MACCD,EAAM,OAAO,CAACE,GAAKC,MAAOA,EAAGD,CAAG,GAAGD,CAAI;AAElD;"}
1
+ {"version":3,"file":"pipe.mjs","sources":["../../../src/implement/composition/pipe.ts"],"sourcesContent":["type UnaryFn<A, R> = (a: A) => R;\ntype ZeroFn<R> = () => R;\ntype PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? R\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<R, any>, ...UnaryFn<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Pipe<Fns extends UnaryFn<any, any>[]> = (input: PipeInput<Fns>) => PipeOutput<Fns>;\n\nfunction pipe<R>(ab: ZeroFn<R>): () => R;\nfunction pipe<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => R;\nfunction pipe<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => R;\nfunction pipe<B, C, D, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): () => R;\nfunction pipe<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): () => R;\nfunction pipe<B, C, D, E, F, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): () => R;\nfunction pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;\nfunction pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;\nfunction pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;\nfunction pipe<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): (a: A) => R;\nfunction pipe<A, B, C, D, E, F, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): (a: A) => R;\n\nfunction pipe<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): Pipe<Fns>;\nfunction pipe(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;\nfunction pipe(...funcs: Array<(input: any) => any>) {\n return (init: any) => {\n return funcs.reduce((acc, fn) => fn(acc), init);\n };\n}\n\nexport default pipe;\n"],"names":["pipe","funcs","init","acc","fn"],"mappings":"AA4DA,SAASA,KAAQC,GAAmC;AAClD,SAAO,CAACC,MACCD,EAAM,OAAO,CAACE,GAAKC,MAAOA,EAAGD,CAAG,GAAGD,CAAI;AAElD;"}
@@ -7,17 +7,29 @@ export declare const sideEffectInput: SideEffect<number>;
7
7
  export declare const purePipe: (a: number) => string;
8
8
  type PurePipeExpected = (input: number) => string;
9
9
  export type PipePureIsStrict = Expect<Equal<typeof purePipe, PurePipeExpected>>;
10
+ export declare const purePipeSix: (a: number) => string;
11
+ type PurePipeSixExpected = (input: number) => string;
12
+ export type PipePureSixIsStrict = Expect<Equal<typeof purePipeSix, PurePipeSixExpected>>;
10
13
  export declare const pipeWithSideEffectInput: (a: number | SideEffect<any>) => string | SideEffect<any>;
11
14
  export declare const pipeWithSideEffectValue: string | SideEffect<any>;
12
15
  type PipeExpected = (input: number | SideEffect<any>) => string | SideEffect<any>;
13
16
  export type PipeAcceptsSideEffectInput = Expect<Equal<typeof pipeWithSideEffectInput, PipeExpected>>;
17
+ export declare const pipeSideEffectSix: (a: number | SideEffect<any>) => string | SideEffect<any>;
18
+ type PipeSideEffectSixExpected = (input: number | SideEffect<any>) => string | SideEffect<any>;
19
+ export type PipeSideEffectSixIsStrict = Expect<Equal<typeof pipeSideEffectSix, PipeSideEffectSixExpected>>;
14
20
  export declare const purePipeAsync: (a: number) => Promise<string>;
15
21
  type PurePipeAsyncExpected = (input: number) => Promise<string>;
16
22
  export type PipeAsyncPureIsStrict = Expect<Equal<typeof purePipeAsync, PurePipeAsyncExpected>>;
23
+ export declare const purePipeAsyncSix: (a: number) => Promise<string>;
24
+ type PurePipeAsyncSixExpected = (input: number) => Promise<string>;
25
+ export type PipeAsyncPureSixIsStrict = Expect<Equal<typeof purePipeAsyncSix, PurePipeAsyncSixExpected>>;
17
26
  export declare const pipeAsyncWithSideEffectInput: (a: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
18
27
  export declare const pipeAsyncWithSideEffectValue: Promise<string | SideEffect<any>>;
19
28
  type PipeAsyncExpected = (input: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
20
29
  export type PipeAsyncAcceptsSideEffectInput = Expect<Equal<typeof pipeAsyncWithSideEffectInput, PipeAsyncExpected>>;
30
+ export declare const pipeAsyncSideEffectSix: (a: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
31
+ type PipeAsyncSideEffectSixExpected = (input: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
32
+ export type PipeAsyncSideEffectSixIsStrict = Expect<Equal<typeof pipeAsyncSideEffectSix, PipeAsyncSideEffectSixExpected>>;
21
33
  export declare const strictPipeSideEffect: {
22
34
  (input: number): number | SideEffect<0 | "LOW">;
23
35
  <EIn>(input: number | SideEffect<EIn>): number | SideEffect<0 | "LOW" | EIn>;
@@ -33,6 +45,17 @@ export declare const strictPipeSideEffectInput: number | SideEffect<0 | "LOW" |
33
45
  type StrictSideEffectInputEffects = EffectUnion<typeof strictPipeSideEffectInput>;
34
46
  type StrictSideEffectInputEffectsExpected = 'LOW' | 0 | 'INPUT';
35
47
  export type PipeSideEffectStrictInputEffects = Expect<Equal<StrictSideEffectInputEffects, StrictSideEffectInputEffectsExpected>>;
48
+ export declare const strictPipeSideEffectSix: {
49
+ (input: number): number | SideEffect<0 | "LOW" | "SMALL">;
50
+ <EIn>(input: number | SideEffect<EIn>): number | SideEffect<0 | "LOW" | "SMALL" | EIn>;
51
+ };
52
+ export declare const strictPipeSideEffectSixResult: number | SideEffect<0 | "LOW" | "SMALL">;
53
+ type StrictSixEffects = EffectUnion<typeof strictPipeSideEffectSixResult>;
54
+ type StrictSixEffectsExpected = 'LOW' | 'SMALL' | 0;
55
+ export type PipeSideEffectStrictSixEffects = Expect<Equal<StrictSixEffects, StrictSixEffectsExpected>>;
56
+ type StrictSixValue = ValueUnion<typeof strictPipeSideEffectSixResult>;
57
+ type StrictSixValueExpected = number;
58
+ export type PipeSideEffectStrictSixValue = Expect<Equal<StrictSixValue, StrictSixValueExpected>>;
36
59
  export declare const strictPipeAsyncSideEffect: {
37
60
  (input: number): Promise<number | SideEffect<0 | "LOW">>;
38
61
  <EIn>(input: number | SideEffect<EIn>): Promise<number | SideEffect<0 | "LOW" | EIn>>;
@@ -45,5 +68,17 @@ export type PipeAsyncSideEffectStrictEffects = Expect<Equal<StrictPipeAsyncEffec
45
68
  type StrictPipeAsyncValue = ValueUnion<StrictPipeAsyncResolved>;
46
69
  type StrictPipeAsyncValueExpected = number;
47
70
  export type PipeAsyncSideEffectStrictValue = Expect<Equal<StrictPipeAsyncValue, StrictPipeAsyncValueExpected>>;
71
+ export declare const strictPipeAsyncSideEffectSix: {
72
+ (input: number): Promise<number | SideEffect<0 | "LOW" | "SMALL">>;
73
+ <EIn>(input: number | SideEffect<EIn>): Promise<number | SideEffect<0 | "LOW" | "SMALL" | EIn>>;
74
+ };
75
+ export declare const strictPipeAsyncSideEffectSixResult: Promise<number | SideEffect<0 | "LOW" | "SMALL">>;
76
+ type StrictAsyncSixResolved = Awaited<typeof strictPipeAsyncSideEffectSixResult>;
77
+ type StrictAsyncSixEffects = EffectUnion<StrictAsyncSixResolved>;
78
+ type StrictAsyncSixEffectsExpected = 'LOW' | 'SMALL' | 0;
79
+ export type PipeAsyncSideEffectStrictSixEffects = Expect<Equal<StrictAsyncSixEffects, StrictAsyncSixEffectsExpected>>;
80
+ type StrictAsyncSixValue = ValueUnion<StrictAsyncSixResolved>;
81
+ type StrictAsyncSixValueExpected = number;
82
+ export type PipeAsyncSideEffectStrictSixValue = Expect<Equal<StrictAsyncSixValue, StrictAsyncSixValueExpected>>;
48
83
  export {};
49
84
  //# sourceMappingURL=pipe.type-test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.type-test.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.type-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipe.type-test.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipe.type-test.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,13 @@ declare function pipeSideEffect<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => M
12
12
  declare function pipeSideEffect<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => MaybeSideEffect<R>;
13
13
  declare function pipeSideEffect<B, C, D, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): () => MaybeSideEffect<R>;
14
14
  declare function pipeSideEffect<B, C, D, E, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, R>): () => MaybeSideEffect<R>;
15
+ declare function pipeSideEffect<B, C, D, E, F, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, R>): () => MaybeSideEffect<R>;
15
16
  declare function pipeSideEffect<A, R>(ab: UnaryFn<A, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
16
17
  declare function pipeSideEffect<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
17
18
  declare function pipeSideEffect<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
18
19
  declare function pipeSideEffect<A, B, C, D, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
19
20
  declare function pipeSideEffect<A, B, C, D, E, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
21
+ declare function pipeSideEffect<A, B, C, D, E, F, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
20
22
  declare function pipeSideEffect<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffect<Fns>;
21
23
  declare function pipeSideEffect(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;
22
24
  export default pipeSideEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeSideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipeSideEffect.ts"],"names":[],"mappings":"AAAA,OAAO,UAA4B,MAAM,cAAc,CAAC;AAExD,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9C,KAAK,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAClD,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1C,KAAK,SAAS,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GACzG,CAAC,GACD,KAAK,CAAC;AACV,KAAK,UAAU,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAClF,eAAe,CAAC,CAAC,CAAC,GAClB,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAChD,IAAI,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GACnE,UAAU,CAAC,IAAI,CAAC,GAChB,KAAK,GACP,KAAK,CAAC;AACZ,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChD,KAAK,cAAc,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CACrD,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KACpC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9B,iBAAS,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AACpE,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1F,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AAChH,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AAC5B,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AAC5B,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AACjG,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAClD,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAClD,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAClD,iBAAS,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAElD,iBAAS,cAAc,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACrH,iBAAS,cAAc,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;AAcjF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"pipeSideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipeSideEffect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeSideEffect.mjs","sources":["../../../src/implement/composition/pipeSideEffect.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from './sideEffect';\n\ntype MaybeSideEffect<T> = T | SideEffect<any>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype UnaryFn<A, R> = (a: A) => MaybeSideEffect<R>;\ntype ZeroFn<R> = () => MaybeSideEffect<R>;\ntype PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? MaybeSideEffect<R>\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Resolve<T> = T extends infer R ? R : never;\ntype PipeSideEffect<Fns extends UnaryFn<any, any>[]> = (\n input: PipeInput<Fns> | SideEffect<any>\n) => Resolve<PipeOutput<Fns>>;\n\nfunction pipeSideEffect<R>(ab: ZeroFn<R>): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, R>(ab: UnaryFn<A, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\n\nfunction pipeSideEffect<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffect<Fns>;\nfunction pipeSideEffect(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;\nfunction pipeSideEffect(...funcs: Array<(input: any) => any>) {\n return (init: any) => {\n let acc = init;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeSideEffect;\n"],"names":["pipeSideEffect","funcs","init","acc","fn","isSideEffect"],"mappings":";AA+DA,SAASA,KAAkBC,GAAmC;AAC5D,SAAO,CAACC,MAAc;AACpB,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAMC,EAAGD,CAAG;AAAA,IACd;AACA,WAAOA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"pipeSideEffect.mjs","sources":["../../../src/implement/composition/pipeSideEffect.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from './sideEffect';\n\ntype MaybeSideEffect<T> = T | SideEffect<any>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype UnaryFn<A, R> = (a: A) => MaybeSideEffect<R>;\ntype ZeroFn<R> = () => MaybeSideEffect<R>;\ntype PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A, any>, ...UnaryFn<any, any>[]]\n ? A\n : never;\ntype PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? MaybeSideEffect<R>\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]]\n ? PipeOutput<Rest>\n : never\n : never;\ntype Resolve<T> = T extends infer R ? R : never;\ntype PipeSideEffect<Fns extends UnaryFn<any, any>[]> = (\n input: PipeInput<Fns> | SideEffect<any>\n) => Resolve<PipeOutput<Fns>>;\n\nfunction pipeSideEffect<R>(ab: ZeroFn<R>): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, R>(ab: UnaryFn<A, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<B, C>,\n cd: UnaryFn<C, D>,\n de: UnaryFn<D, E>,\n ef: UnaryFn<E, F>,\n fg: UnaryFn<F, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\n\nfunction pipeSideEffect<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffect<Fns>;\nfunction pipeSideEffect(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;\nfunction pipeSideEffect(...funcs: Array<(input: any) => any>) {\n return (init: any) => {\n let acc = init;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeSideEffect;\n"],"names":["pipeSideEffect","funcs","init","acc","fn","isSideEffect"],"mappings":";AA+EA,SAASA,KAAkBC,GAAmC;AAC5D,SAAO,CAACC,MAAc;AACpB,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAMC,EAAGD,CAAG;AAAA,IACd;AACA,WAAOA;AAAA,EACT;AACF;"}
@@ -32,6 +32,14 @@ declare function pipeSideEffectStrict<B, C, D, E, R>(ab: ZeroFn<B>, bc: UnaryFn<
32
32
  UnaryFn<NonSideEffect<D>, E>,
33
33
  UnaryFn<NonSideEffect<E>, R>
34
34
  ]>;
35
+ declare function pipeSideEffectStrict<B, C, D, E, F, R>(ab: ZeroFn<B>, bc: UnaryFn<NonSideEffect<B>, C>, cd: UnaryFn<NonSideEffect<C>, D>, de: UnaryFn<NonSideEffect<D>, E>, ef: UnaryFn<NonSideEffect<E>, F>, fg: UnaryFn<NonSideEffect<F>, R>): PipeSideEffectStrict<[
36
+ ZeroFn<B>,
37
+ UnaryFn<NonSideEffect<B>, C>,
38
+ UnaryFn<NonSideEffect<C>, D>,
39
+ UnaryFn<NonSideEffect<D>, E>,
40
+ UnaryFn<NonSideEffect<E>, F>,
41
+ UnaryFn<NonSideEffect<F>, R>
42
+ ]>;
35
43
  declare function pipeSideEffectStrict<A, R>(ab: UnaryFn<A, R>): PipeSideEffectStrict<[UnaryFn<A, R>]>;
36
44
  declare function pipeSideEffectStrict<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<NonSideEffect<B>, R>): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, R>]>;
37
45
  declare function pipeSideEffectStrict<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<NonSideEffect<B>, C>, cd: UnaryFn<NonSideEffect<C>, R>): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, C>, UnaryFn<NonSideEffect<C>, R>]>;
@@ -48,6 +56,14 @@ declare function pipeSideEffectStrict<A, B, C, D, E, R>(ab: UnaryFn<A, B>, bc: U
48
56
  UnaryFn<NonSideEffect<D>, E>,
49
57
  UnaryFn<NonSideEffect<E>, R>
50
58
  ]>;
59
+ declare function pipeSideEffectStrict<A, B, C, D, E, F, R>(ab: UnaryFn<A, B>, bc: UnaryFn<NonSideEffect<B>, C>, cd: UnaryFn<NonSideEffect<C>, D>, de: UnaryFn<NonSideEffect<D>, E>, ef: UnaryFn<NonSideEffect<E>, F>, fg: UnaryFn<NonSideEffect<F>, R>): PipeSideEffectStrict<[
60
+ UnaryFn<A, B>,
61
+ UnaryFn<NonSideEffect<B>, C>,
62
+ UnaryFn<NonSideEffect<C>, D>,
63
+ UnaryFn<NonSideEffect<D>, E>,
64
+ UnaryFn<NonSideEffect<E>, F>,
65
+ UnaryFn<NonSideEffect<F>, R>
66
+ ]>;
51
67
  declare function pipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeSideEffectStrict<Fns>;
52
68
  export default pipeSideEffectStrict;
53
69
  //# sourceMappingURL=pipeSideEffectStrict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeSideEffectStrict.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipeSideEffectStrict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeSideEffectStrict.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipeSideEffectStrict.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeSideEffectStrict.mjs","sources":["../../../src/implement/composition/pipeSideEffectStrict.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from './sideEffect';\n\ntype AnyFn = (...args: any[]) => any;\ntype MaybeSideEffect<T, E> = T | SideEffect<E>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype UnaryFn<A, R> = (a: A) => R;\ntype ZeroFn<R> = () => R;\n\ntype EffectOfReturn<R> = R extends SideEffect<infer E> ? E : never;\ntype EffectOfFn<F> = F extends (...args: any[]) => infer R ? EffectOfReturn<R> : never;\ntype EffectsOf<Fns extends AnyFn[]> = EffectOfFn<Fns[number]>;\n\ntype PipeValueOutputUnary<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? NonSideEffect<R>\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : never;\n\ntype PipeValueOutputStrict<Fns extends [AnyFn, ...AnyFn[]]> =\n Fns extends [ZeroFn<infer R>]\n ? NonSideEffect<R>\n : Fns extends [ZeroFn<infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]\n ? PipeValueOutputUnary<Fns>\n : never;\n\ntype PipeInputStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? never\n : Fns extends [UnaryFn<infer A, any>, ...AnyFn[]]\n ? A\n : never;\n\ntype Resolve<T> = T extends infer R ? R : never;\n\ntype PipeSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {\n (input: PipeInputStrict<Fns>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>;\n <EIn>(\n input: PipeInputStrict<Fns> | SideEffect<EIn>\n ): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>;\n};\n\ntype PipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? () => Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>\n : PipeSideEffectStrictUnary<Fns>;\n\nfunction pipeSideEffectStrict<R>(ab: ZeroFn<R>): PipeSideEffectStrict<[ZeroFn<R>]>;\nfunction pipeSideEffectStrict<B, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, R>\n): PipeSideEffectStrict<[ZeroFn<B>, UnaryFn<NonSideEffect<B>, R>]>;\nfunction pipeSideEffectStrict<B, C, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, R>\n): PipeSideEffectStrict<[ZeroFn<B>, UnaryFn<NonSideEffect<B>, C>, UnaryFn<NonSideEffect<C>, R>]>;\nfunction pipeSideEffectStrict<B, C, D, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, R>\n): PipeSideEffectStrict<[\n ZeroFn<B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, E>,\n ef: UnaryFn<NonSideEffect<E>, R>\n): PipeSideEffectStrict<[\n ZeroFn<B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, E>,\n UnaryFn<NonSideEffect<E>, R>\n]>;\nfunction pipeSideEffectStrict<A, R>(ab: UnaryFn<A, R>): PipeSideEffectStrict<[UnaryFn<A, R>]>;\nfunction pipeSideEffectStrict<A, B, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, R>\n): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, R>]>;\nfunction pipeSideEffectStrict<A, B, C, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, R>\n): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, C>, UnaryFn<NonSideEffect<C>, R>]>;\nfunction pipeSideEffectStrict<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, R>\n): PipeSideEffectStrict<[\n UnaryFn<A, B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, E>,\n ef: UnaryFn<NonSideEffect<E>, R>\n): PipeSideEffectStrict<[\n UnaryFn<A, B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, E>,\n UnaryFn<NonSideEffect<E>, R>\n]>;\n\nfunction pipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeSideEffectStrict<Fns>;\nfunction pipeSideEffectStrict(...funcs: Array<(input: any) => any>) {\n return (init?: any) => {\n let acc = init;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeSideEffectStrict;\n"],"names":["pipeSideEffectStrict","funcs","init","acc","fn","isSideEffect"],"mappings":";AAwHA,SAASA,KAAwBC,GAAmC;AAClE,SAAO,CAACC,MAAe;AACrB,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAMC,EAAGD,CAAG;AAAA,IACd;AACA,WAAOA;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"pipeSideEffectStrict.mjs","sources":["../../../src/implement/composition/pipeSideEffectStrict.ts"],"sourcesContent":["import SideEffect, { isSideEffect } from './sideEffect';\n\ntype AnyFn = (...args: any[]) => any;\ntype MaybeSideEffect<T, E> = T | SideEffect<E>;\ntype NonSideEffect<T> = Exclude<T, SideEffect<any>>;\ntype UnaryFn<A, R> = (a: A) => R;\ntype ZeroFn<R> = () => R;\n\ntype EffectOfReturn<R> = R extends SideEffect<infer E> ? E : never;\ntype EffectOfFn<F> = F extends (...args: any[]) => infer R ? EffectOfReturn<R> : never;\ntype EffectsOf<Fns extends AnyFn[]> = EffectOfFn<Fns[number]>;\n\ntype PipeValueOutputUnary<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>]\n ? NonSideEffect<R>\n : Fns extends [UnaryFn<any, infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : never;\n\ntype PipeValueOutputStrict<Fns extends [AnyFn, ...AnyFn[]]> =\n Fns extends [ZeroFn<infer R>]\n ? NonSideEffect<R>\n : Fns extends [ZeroFn<infer R>, ...infer Rest]\n ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]]\n ? PipeValueOutputUnary<Rest>\n : never\n : Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]\n ? PipeValueOutputUnary<Fns>\n : never;\n\ntype PipeInputStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? never\n : Fns extends [UnaryFn<infer A, any>, ...AnyFn[]]\n ? A\n : never;\n\ntype Resolve<T> = T extends infer R ? R : never;\n\ntype PipeSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {\n (input: PipeInputStrict<Fns>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>;\n <EIn>(\n input: PipeInputStrict<Fns> | SideEffect<EIn>\n ): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>;\n};\n\ntype PipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]\n ? () => Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>\n : PipeSideEffectStrictUnary<Fns>;\n\nfunction pipeSideEffectStrict<R>(ab: ZeroFn<R>): PipeSideEffectStrict<[ZeroFn<R>]>;\nfunction pipeSideEffectStrict<B, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, R>\n): PipeSideEffectStrict<[ZeroFn<B>, UnaryFn<NonSideEffect<B>, R>]>;\nfunction pipeSideEffectStrict<B, C, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, R>\n): PipeSideEffectStrict<[ZeroFn<B>, UnaryFn<NonSideEffect<B>, C>, UnaryFn<NonSideEffect<C>, R>]>;\nfunction pipeSideEffectStrict<B, C, D, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, R>\n): PipeSideEffectStrict<[\n ZeroFn<B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, E>,\n ef: UnaryFn<NonSideEffect<E>, R>\n): PipeSideEffectStrict<[\n ZeroFn<B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, E>,\n UnaryFn<NonSideEffect<E>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, R>(\n ab: ZeroFn<B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, E>,\n ef: UnaryFn<NonSideEffect<E>, F>,\n fg: UnaryFn<NonSideEffect<F>, R>\n): PipeSideEffectStrict<[\n ZeroFn<B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, E>,\n UnaryFn<NonSideEffect<E>, F>,\n UnaryFn<NonSideEffect<F>, R>\n]>;\nfunction pipeSideEffectStrict<A, R>(ab: UnaryFn<A, R>): PipeSideEffectStrict<[UnaryFn<A, R>]>;\nfunction pipeSideEffectStrict<A, B, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, R>\n): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, R>]>;\nfunction pipeSideEffectStrict<A, B, C, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, R>\n): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, C>, UnaryFn<NonSideEffect<C>, R>]>;\nfunction pipeSideEffectStrict<A, B, C, D, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, R>\n): PipeSideEffectStrict<[\n UnaryFn<A, B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, E>,\n ef: UnaryFn<NonSideEffect<E>, R>\n): PipeSideEffectStrict<[\n UnaryFn<A, B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, E>,\n UnaryFn<NonSideEffect<E>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, R>(\n ab: UnaryFn<A, B>,\n bc: UnaryFn<NonSideEffect<B>, C>,\n cd: UnaryFn<NonSideEffect<C>, D>,\n de: UnaryFn<NonSideEffect<D>, E>,\n ef: UnaryFn<NonSideEffect<E>, F>,\n fg: UnaryFn<NonSideEffect<F>, R>\n): PipeSideEffectStrict<[\n UnaryFn<A, B>,\n UnaryFn<NonSideEffect<B>, C>,\n UnaryFn<NonSideEffect<C>, D>,\n UnaryFn<NonSideEffect<D>, E>,\n UnaryFn<NonSideEffect<E>, F>,\n UnaryFn<NonSideEffect<F>, R>\n]>;\n\nfunction pipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeSideEffectStrict<Fns>;\nfunction pipeSideEffectStrict(...funcs: Array<(input: any) => any>) {\n return (init?: any) => {\n let acc = init;\n for (const fn of funcs) {\n if (isSideEffect(acc)) {\n return acc;\n }\n acc = fn(acc);\n }\n return acc;\n };\n}\n\nexport default pipeSideEffectStrict;\n"],"names":["pipeSideEffectStrict","funcs","init","acc","fn","isSideEffect"],"mappings":";AAsJA,SAASA,KAAwBC,GAAmC;AAClE,SAAO,CAACC,MAAe;AACrB,QAAIC,IAAMD;AACV,eAAWE,KAAMH,GAAO;AACtB,UAAII,EAAaF,CAAG;AAClB,eAAOA;AAET,MAAAA,IAAMC,EAAGD,CAAG;AAAA,IACd;AACA,WAAOA;AAAA,EACT;AACF;"}
@@ -7,7 +7,7 @@ metadata:
7
7
 
8
8
  # fp-pack AI Agent Skills
9
9
 
10
- Document Version: 0.2.0
10
+ Document Version: 0.3.0
11
11
 
12
12
  This document provides guidelines for AI coding assistants when working in projects that use fp-pack. Follow these instructions to write clean, declarative, functional code using fp-pack's utilities.
13
13
 
@@ -339,7 +339,7 @@ const result = filter(isPositive)(numbers);
339
339
 
340
340
  ### 2. Use Curried Functions (Where Available)
341
341
 
342
- Most multi-arg functions are curried. Many single-arg utilities are not (e.g. `uniq`, `flatten`, `flattenDeep`, `head`, `tail`, `last`, `init`, `range`, `sum`, `mean`, `min`, `max`, `round`, `floor`, `ceil`, `trim`, `toLower`, `toUpper`, `isNil`, `isEmpty`, `isType`). Call those directly (there's no curried variant).
342
+ Most multi-arg functions are curried. Single-arg utilities are already unary, so currying adds no benefit; use them directly (e.g. `uniq`, `flatten`, `flattenDeep`, `head`, `tail`, `last`, `init`, `range`, `sum`, `mean`, `min`, `max`, `round`, `floor`, `ceil`, `trim`, `toLower`, `toUpper`, `isNil`, `isEmpty`, `isType`). These are already pipe-friendly without a curried variant.
343
343
 
344
344
  ```typescript
345
345
  import { pipe, map, filter } from 'fp-pack';
@@ -1,6 +1,6 @@
1
1
  # fp-pack AI Agent Skills
2
2
 
3
- Document Version: 0.2.0
3
+ Document Version: 0.3.0
4
4
 
5
5
  This document provides guidelines for AI coding assistants when working in projects that use fp-pack. Follow these instructions to write clean, declarative, functional code using fp-pack's utilities.
6
6
 
@@ -332,7 +332,7 @@ const result = filter(isPositive)(numbers);
332
332
 
333
333
  ### 2. Use Curried Functions (Where Available)
334
334
 
335
- Most multi-arg functions are curried. Many single-arg utilities are not (e.g. `uniq`, `flatten`, `flattenDeep`, `head`, `tail`, `last`, `init`, `range`, `sum`, `mean`, `min`, `max`, `round`, `floor`, `ceil`, `trim`, `toLower`, `toUpper`, `isNil`, `isEmpty`, `isType`). Call those directly (there's no curried variant).
335
+ Most multi-arg functions are curried. Single-arg utilities are already unary, so currying adds no benefit; use them directly (e.g. `uniq`, `flatten`, `flattenDeep`, `head`, `tail`, `last`, `init`, `range`, `sum`, `mean`, `min`, `max`, `round`, `floor`, `ceil`, `trim`, `toLower`, `toUpper`, `isNil`, `isEmpty`, `isType`). These are already pipe-friendly without a curried variant.
336
336
 
337
337
  ```typescript
338
338
  import { pipe, map, filter } from 'fp-pack';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fp-pack",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "description": "Functional programming utilities library for TypeScript",
6
6
  "keywords": [