fp-pack 0.4.0 → 0.5.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 (34) hide show
  1. package/README.md +119 -32
  2. package/dist/fp-pack.umd.js +1 -1
  3. package/dist/fp-pack.umd.js.map +1 -1
  4. package/dist/implement/async/pipeAsync.d.ts +3 -0
  5. package/dist/implement/async/pipeAsync.d.ts.map +1 -1
  6. package/dist/implement/async/pipeAsync.mjs.map +1 -1
  7. package/dist/implement/async/pipeAsyncSideEffect.d.ts +3 -0
  8. package/dist/implement/async/pipeAsyncSideEffect.d.ts.map +1 -1
  9. package/dist/implement/async/pipeAsyncSideEffect.mjs.map +1 -1
  10. package/dist/implement/async/pipeAsyncSideEffectStrict.d.ts +6 -0
  11. package/dist/implement/async/pipeAsyncSideEffectStrict.d.ts.map +1 -1
  12. package/dist/implement/async/pipeAsyncSideEffectStrict.mjs.map +1 -1
  13. package/dist/implement/composition/from.d.ts +5 -1
  14. package/dist/implement/composition/from.d.ts.map +1 -1
  15. package/dist/implement/composition/from.mjs +4 -3
  16. package/dist/implement/composition/from.mjs.map +1 -1
  17. package/dist/implement/composition/pipe.type-test.d.ts +31 -7
  18. package/dist/implement/composition/pipe.type-test.d.ts.map +1 -1
  19. package/dist/implement/composition/pipeSideEffect.d.ts +3 -0
  20. package/dist/implement/composition/pipeSideEffect.d.ts.map +1 -1
  21. package/dist/implement/composition/pipeSideEffect.mjs.map +1 -1
  22. package/dist/implement/composition/pipeSideEffectStrict.d.ts +6 -0
  23. package/dist/implement/composition/pipeSideEffectStrict.d.ts.map +1 -1
  24. package/dist/implement/composition/pipeSideEffectStrict.mjs.map +1 -1
  25. package/dist/skills/fp-pack/SKILL.md +14 -6
  26. package/dist/skills/fp-pack.md +14 -6
  27. package/package.json +3 -2
  28. package/src/implement/async/pipeAsync.ts +6 -0
  29. package/src/implement/async/pipeAsyncSideEffect.ts +7 -0
  30. package/src/implement/async/pipeAsyncSideEffectStrict.ts +10 -0
  31. package/src/implement/composition/from.ts +9 -2
  32. package/src/implement/composition/pipe.type-test.ts +50 -0
  33. package/src/implement/composition/pipeSideEffect.ts +5 -0
  34. package/src/implement/composition/pipeSideEffectStrict.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pipeSideEffect.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipeSideEffect.ts"],"names":[],"mappings":"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"}
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<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<B, C, D, E, F, G, 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, G>,\n gh: UnaryFn<G, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, G, H, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, G, H, I, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, G, H, I, J, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, 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>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, 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, G>,\n gh: UnaryFn<G, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, H, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, H, I, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, H, I, J, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, 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":";AAmKA,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 type { FromFn } from './from';\nimport 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>>;\ntype PipeSideEffectFrom<Fns extends [FromFn<any>, ...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<B, C, D, E, F, G, 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, G>,\n gh: UnaryFn<G, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, G, H, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, G, H, I, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<B, C, D, E, F, G, H, I, J, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, R>\n): () => MaybeSideEffect<R>;\nfunction pipeSideEffect<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffectFrom<Fns>;\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>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, 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, G>,\n gh: UnaryFn<G, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, H, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, H, I, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, R>\n): (a: A | SideEffect<any>) => MaybeSideEffect<R>;\nfunction pipeSideEffect<A, B, C, D, E, F, G, H, I, J, 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, G>,\n gh: UnaryFn<G, H>,\n hi: UnaryFn<H, I>,\n ij: UnaryFn<I, J>,\n jk: UnaryFn<J, 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":";AAwKA,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,3 +1,4 @@
1
+ import { FromFn } from './from';
1
2
  import { default as SideEffect } from './sideEffect';
2
3
  type AnyFn = (...args: any[]) => any;
3
4
  type MaybeSideEffect<T, E> = T | SideEffect<E>;
@@ -15,6 +16,10 @@ type PipeSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {
15
16
  (input: PipeInputStrict<Fns>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>;
16
17
  <EIn>(input: PipeInputStrict<Fns> | SideEffect<EIn>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>;
17
18
  };
19
+ type PipeSideEffectStrictUnaryOptional<Fns extends [AnyFn, ...AnyFn[]]> = {
20
+ (input?: PipeInputStrict<Fns>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>;
21
+ <EIn>(input?: PipeInputStrict<Fns> | SideEffect<EIn>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>;
22
+ };
18
23
  type PipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]] ? () => Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>> : PipeSideEffectStrictUnary<Fns>;
19
24
  declare function pipeSideEffectStrict<R>(ab: ZeroFn<R>): PipeSideEffectStrict<[ZeroFn<R>]>;
20
25
  declare function pipeSideEffectStrict<B, R>(ab: ZeroFn<B>, bc: UnaryFn<NonSideEffect<B>, R>): PipeSideEffectStrict<[ZeroFn<B>, UnaryFn<NonSideEffect<B>, R>]>;
@@ -82,6 +87,7 @@ declare function pipeSideEffectStrict<B, C, D, E, F, G, H, I, J, R>(ab: ZeroFn<B
82
87
  UnaryFn<NonSideEffect<I>, J>,
83
88
  UnaryFn<NonSideEffect<J>, R>
84
89
  ]>;
90
+ declare function pipeSideEffectStrict<Fns extends [FromFn<any>, ...AnyFn[]]>(...funcs: Fns): PipeSideEffectStrictUnaryOptional<Fns>;
85
91
  declare function pipeSideEffectStrict<A, R>(ab: UnaryFn<A, R>): PipeSideEffectStrict<[UnaryFn<A, R>]>;
86
92
  declare function pipeSideEffectStrict<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<NonSideEffect<B>, R>): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, R>]>;
87
93
  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>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeSideEffectStrict.d.ts","sourceRoot":"","sources":["../../../src/implement/composition/pipeSideEffectStrict.ts"],"names":[],"mappings":"AAAA,OAAO,UAA4B,MAAM,cAAc,CAAC;AAExD,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AACrC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/C,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,CAAC,CAAC;AACjC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAEzB,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACnE,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACvF,KAAK,SAAS,CAAC,GAAG,SAAS,KAAK,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9D,KAAK,oBAAoB,CAAC,GAAG,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAC5F,aAAa,CAAC,CAAC,CAAC,GAChB,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,oBAAoB,CAAC,IAAI,CAAC,GAC1B,KAAK,GACP,KAAK,CAAC;AAEZ,KAAK,qBAAqB,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,IACxD,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GACzB,aAAa,CAAC,CAAC,CAAC,GAChB,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAC1C,IAAI,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GACnE,oBAAoB,CAAC,IAAI,CAAC,GAC1B,KAAK,GACP,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GACrD,oBAAoB,CAAC,GAAG,CAAC,GACzB,KAAK,CAAC;AAEhB,KAAK,eAAe,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,GACzF,KAAK,GACL,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,GAC7C,CAAC,GACD,KAAK,CAAC;AAEZ,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEhD,KAAK,yBAAyB,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI;IAChE,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC,GAAG,EACF,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAC5C,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF,KAAK,oBAAoB,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,GAC9F,MAAM,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAC1E,yBAAyB,CAAC,GAAG,CAAC,CAAC;AAEnC,iBAAS,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACzC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5C,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAClD,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACrD,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACxD,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC;IACT,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACzC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5C,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAClD,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACrD,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACxD,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AACH,iBAAS,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3D,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/B,oBAAoB,CAAC;IACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,iBAAS,oBAAoB,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAczG,eAAe,oBAAoB,CAAC"}
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<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<B, C, D, E, F, G, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, 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>, G>,\n UnaryFn<NonSideEffect<G>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, G, H, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, G, H, I, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, G, H, I, J, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, J>,\n jk: UnaryFn<NonSideEffect<J>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, J>,\n UnaryFn<NonSideEffect<J>, 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]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, 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>, G>,\n UnaryFn<NonSideEffect<G>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, H, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, H, I, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, H, I, J, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, J>,\n jk: UnaryFn<NonSideEffect<J>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, J>,\n UnaryFn<NonSideEffect<J>, 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":";AAsTA,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 type { FromFn } from './from';\nimport 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};\ntype PipeSideEffectStrictUnaryOptional<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<B, C, D, E, F, G, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, 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>, G>,\n UnaryFn<NonSideEffect<G>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, G, H, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, G, H, I, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, R>\n]>;\nfunction pipeSideEffectStrict<B, C, D, E, F, G, H, I, J, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, J>,\n jk: UnaryFn<NonSideEffect<J>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, J>,\n UnaryFn<NonSideEffect<J>, R>\n]>;\nfunction pipeSideEffectStrict<Fns extends [FromFn<any>, ...AnyFn[]]>(\n ...funcs: Fns\n): PipeSideEffectStrictUnaryOptional<Fns>;\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]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, 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>, G>,\n UnaryFn<NonSideEffect<G>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, H, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, H, I, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, R>\n]>;\nfunction pipeSideEffectStrict<A, B, C, D, E, F, G, H, I, J, 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>, G>,\n gh: UnaryFn<NonSideEffect<G>, H>,\n hi: UnaryFn<NonSideEffect<H>, I>,\n ij: UnaryFn<NonSideEffect<I>, J>,\n jk: UnaryFn<NonSideEffect<J>, 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>, G>,\n UnaryFn<NonSideEffect<G>, H>,\n UnaryFn<NonSideEffect<H>, I>,\n UnaryFn<NonSideEffect<I>, J>,\n UnaryFn<NonSideEffect<J>, 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":";AAgUA,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.4.0
10
+ Document Version: 0.5.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
 
@@ -526,13 +526,13 @@ const gradeToLetter = cond([
526
526
  ### 6.1 Type-Safety Tips (prop/ifElse/cond)
527
527
 
528
528
  - `prop` returns `T[K] | undefined`. Use `propOr` (or guard) before array operations.
529
- - `ifElse` expects **functions** for both branches. If you already have a value, wrap it: `() => value`.
530
- - Use `from(value)` when you need a unary function that ignores input (handy for `ifElse` branches).
529
+ - `ifElse` expects **functions** for both branches. If you already have a value, wrap it: `() => value` or use `from(value)` for cleaner constant branches.
530
+ - Use `from(value)` when you need a unary function that ignores input (handy for `ifElse`/`cond` branches and data-first patterns).
531
531
  - `cond` returns `R | undefined`. Add a default branch and coalesce when you need a strict result.
532
532
  - In `pipeSideEffect`, keep step return types aligned to avoid wide unions.
533
533
 
534
534
  ```typescript
535
- import { pipe, propOr, append, assoc, ifElse, cond, from } from 'fp-pack';
535
+ import { pipe, propOr, append, assoc, ifElse, cond, from, filter, map } from 'fp-pack';
536
536
 
537
537
  // propOr keeps the type strict for array ops
538
538
  const addTodo = (text: string, state: AppState) =>
@@ -549,13 +549,21 @@ const toggleTodo = (id: string) => ifElse(
549
549
  (todo) => todo
550
550
  );
551
551
 
552
- // from is useful for constant branches
552
+ // from is useful for constant branches - cleaner than () => value
553
553
  const statusLabel = ifElse(
554
554
  (score: number) => score >= 60,
555
- from('pass'),
555
+ from('pass'), // Constant value
556
556
  from('fail')
557
557
  );
558
558
 
559
+ // Data-first pattern with from: inject data into pipeline
560
+ const processData = pipe(
561
+ from([1, 2, 3, 4, 5]),
562
+ filter((n: number) => n % 2 === 0),
563
+ map(n => n * 2)
564
+ );
565
+ const result = processData(); // [4, 8]
566
+
559
567
  // cond still returns R | undefined, so coalesce if needed
560
568
  const grade = (score: number) =>
561
569
  cond([
@@ -1,6 +1,6 @@
1
1
  # fp-pack AI Agent Skills
2
2
 
3
- Document Version: 0.4.0
3
+ Document Version: 0.5.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
 
@@ -519,13 +519,13 @@ const gradeToLetter = cond([
519
519
  ### 6.1 Type-Safety Tips (prop/ifElse/cond)
520
520
 
521
521
  - `prop` returns `T[K] | undefined`. Use `propOr` (or guard) before array operations.
522
- - `ifElse` expects **functions** for both branches. If you already have a value, wrap it: `() => value`.
523
- - Use `from(value)` when you need a unary function that ignores input (handy for `ifElse` branches).
522
+ - `ifElse` expects **functions** for both branches. If you already have a value, wrap it: `() => value` or use `from(value)` for cleaner constant branches.
523
+ - Use `from(value)` when you need a unary function that ignores input (handy for `ifElse`/`cond` branches and data-first patterns).
524
524
  - `cond` returns `R | undefined`. Add a default branch and coalesce when you need a strict result.
525
525
  - In `pipeSideEffect`, keep step return types aligned to avoid wide unions.
526
526
 
527
527
  ```typescript
528
- import { pipe, propOr, append, assoc, ifElse, cond, from } from 'fp-pack';
528
+ import { pipe, propOr, append, assoc, ifElse, cond, from, filter, map } from 'fp-pack';
529
529
 
530
530
  // propOr keeps the type strict for array ops
531
531
  const addTodo = (text: string, state: AppState) =>
@@ -542,13 +542,21 @@ const toggleTodo = (id: string) => ifElse(
542
542
  (todo) => todo
543
543
  );
544
544
 
545
- // from is useful for constant branches
545
+ // from is useful for constant branches - cleaner than () => value
546
546
  const statusLabel = ifElse(
547
547
  (score: number) => score >= 60,
548
- from('pass'),
548
+ from('pass'), // Constant value
549
549
  from('fail')
550
550
  );
551
551
 
552
+ // Data-first pattern with from: inject data into pipeline
553
+ const processData = pipe(
554
+ from([1, 2, 3, 4, 5]),
555
+ filter((n: number) => n % 2 === 0),
556
+ map(n => n * 2)
557
+ );
558
+ const result = processData(); // [4, 8]
559
+
552
560
  // cond still returns R | undefined, so coalesce if needed
553
561
  const grade = (score: number) =>
554
562
  cond([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fp-pack",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "Functional programming utilities library for TypeScript",
6
6
  "keywords": [
@@ -73,7 +73,8 @@
73
73
  "preview": "vite preview",
74
74
  "test": "vitest",
75
75
  "test:ui": "vitest --ui",
76
- "test:run": "vitest run",
76
+ "test:run": "pnpm test:types && vitest run",
77
+ "test:types": "tsc --noEmit",
77
78
  "clean": "pnpm clean:dist && pnpm clean:module",
78
79
  "clean:dist": "rm -rf dist docs/dist",
79
80
  "clean:module": "rm -rf dist docs/dist node_modules",
@@ -1,3 +1,5 @@
1
+ import type { FromFn } from '../composition/from';
2
+
1
3
  /** pipeAsync - 비동기 함수 합성 */
2
4
  type AsyncOrSync<A, R> = (a: A) => R | Promise<R>;
3
5
  type PipeInput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<infer A, any>, ...AsyncOrSync<any, any>[]]
@@ -11,7 +13,11 @@ type PipeOutput<Fns extends AsyncOrSync<any, any>[]> = Fns extends [AsyncOrSync<
11
13
  : never
12
14
  : never;
13
15
  type PipeAsync<Fns extends AsyncOrSync<any, any>[]> = (input: PipeInput<Fns>) => Promise<PipeOutput<Fns>>;
16
+ type PipeAsyncFrom<Fns extends [FromFn<any>, ...AsyncOrSync<any, any>[]]> = (
17
+ input?: PipeInput<Fns>
18
+ ) => Promise<PipeOutput<Fns>>;
14
19
 
20
+ function pipeAsync<Fns extends [FromFn<any>, ...AsyncOrSync<any, any>[]]>(...funcs: Fns): PipeAsyncFrom<Fns>;
15
21
  function pipeAsync<A, R>(ab: AsyncOrSync<A, R>): (a: A) => Promise<Awaited<R>>;
16
22
  function pipeAsync<A, B, R>(ab: AsyncOrSync<A, B>, bc: AsyncOrSync<Awaited<B>, R>): (a: A) => Promise<Awaited<R>>;
17
23
  function pipeAsync<A, B, C, R>(
@@ -1,3 +1,4 @@
1
+ import type { FromFn } from '../composition/from';
1
2
  import SideEffect, { isSideEffect } from '../composition/sideEffect';
2
3
 
3
4
  /** pipeAsyncSideEffect - SideEffect를 허용하는 비동기 함수 합성 */
@@ -21,7 +22,13 @@ type Resolve<T> = T extends infer R ? R : never;
21
22
  type PipeAsyncSideEffect<Fns extends AsyncOrSync<any, any>[]> = (
22
23
  input: PipeInput<Fns> | SideEffect<any>
23
24
  ) => Promise<Resolve<PipeOutput<Fns>>>;
25
+ type PipeAsyncSideEffectFrom<Fns extends [FromFn<any>, ...AsyncOrSync<any, any>[]]> = (
26
+ input?: PipeInput<Fns> | SideEffect<any>
27
+ ) => Promise<Resolve<PipeOutput<Fns>>>;
24
28
 
29
+ function pipeAsyncSideEffect<Fns extends [FromFn<any>, ...AsyncOrSync<any, any>[]]>(
30
+ ...funcs: Fns
31
+ ): PipeAsyncSideEffectFrom<Fns>;
25
32
  function pipeAsyncSideEffect<A, R>(
26
33
  ab: AsyncOrSync<A, R>
27
34
  ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
@@ -1,3 +1,4 @@
1
+ import type { FromFn } from '../composition/from';
1
2
  import SideEffect, { isSideEffect } from '../composition/sideEffect';
2
3
 
3
4
  type AnyFn = (...args: any[]) => any;
@@ -43,6 +44,12 @@ type PipeAsyncSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {
43
44
  input: PipeInputStrict<Fns> | SideEffect<EIn>
44
45
  ): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>>;
45
46
  };
47
+ type PipeAsyncSideEffectStrictUnaryOptional<Fns extends [AnyFn, ...AnyFn[]]> = {
48
+ (input?: PipeInputStrict<Fns>): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>>;
49
+ <EIn>(
50
+ input?: PipeInputStrict<Fns> | SideEffect<EIn>
51
+ ): Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>>;
52
+ };
46
53
 
47
54
  type PipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]
48
55
  ? () => Promise<Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>>
@@ -177,6 +184,9 @@ function pipeAsyncSideEffectStrict<B, C, D, E, F, G, H, I, J, R>(
177
184
  AsyncOrSync<NonSideEffect<Awaited<I>>, J>,
178
185
  AsyncOrSync<NonSideEffect<Awaited<J>>, R>
179
186
  ]>;
187
+ function pipeAsyncSideEffectStrict<Fns extends [FromFn<any>, ...AnyFn[]]>(
188
+ ...funcs: Fns
189
+ ): PipeAsyncSideEffectStrictUnaryOptional<Fns>;
180
190
  function pipeAsyncSideEffectStrict<A, R>(
181
191
  ab: AsyncOrSync<A, R>
182
192
  ): PipeAsyncSideEffectStrict<[AsyncOrSync<A, R>]>;
@@ -1,8 +1,15 @@
1
1
  /**
2
2
  * from - 입력을 무시하고 고정 값을 반환
3
3
  */
4
- function from<T>(value: T) {
5
- return <I>(_input: I) => value;
4
+ export type FromFn<T> = {
5
+ <I>(_input: I): T;
6
+ readonly __from: true;
7
+ };
8
+
9
+ function from<T>(value: T): FromFn<T> {
10
+ const fn = (_input: unknown) => value;
11
+ Object.defineProperty(fn, '__from', { value: true });
12
+ return fn as FromFn<T>;
6
13
  }
7
14
 
8
15
  export default from;
@@ -130,6 +130,13 @@ export type PipeSideEffectFromTenValueIsStrict = Expect<
130
130
  Equal<typeof pipeSideEffectFromTenValue, PipeSideEffectFromTenValueExpected>
131
131
  >;
132
132
 
133
+ export const pipeSideEffectFromTenValueNoInput = pipeSideEffectFromTen();
134
+
135
+ type PipeSideEffectFromTenValueNoInputExpected = string | SideEffect<any>;
136
+ export type PipeSideEffectFromTenValueNoInputIsStrict = Expect<
137
+ Equal<typeof pipeSideEffectFromTenValueNoInput, PipeSideEffectFromTenValueNoInputExpected>
138
+ >;
139
+
133
140
  export const purePipeAsync = pipeAsync(
134
141
  (value: number) => value + 1,
135
142
  async (value) => value * 2,
@@ -187,6 +194,13 @@ export type PipeAsyncFromTenValueIsStrict = Expect<
187
194
  Equal<typeof pipeAsyncFromTenValue, PipeAsyncFromTenValueExpected>
188
195
  >;
189
196
 
197
+ export const pipeAsyncFromTenValueNoInput = pipeAsyncFromTen();
198
+
199
+ type PipeAsyncFromTenValueNoInputExpected = Promise<string>;
200
+ export type PipeAsyncFromTenValueNoInputIsStrict = Expect<
201
+ Equal<typeof pipeAsyncFromTenValueNoInput, PipeAsyncFromTenValueNoInputExpected>
202
+ >;
203
+
190
204
  export const pipeAsyncWithSideEffectInput = pipeAsyncSideEffect(
191
205
  (value: number) => value + 1,
192
206
  async (value) => value * 2,
@@ -252,6 +266,13 @@ export type PipeAsyncSideEffectFromTenValueIsStrict = Expect<
252
266
  Equal<typeof pipeAsyncSideEffectFromTenValue, PipeAsyncSideEffectFromTenValueExpected>
253
267
  >;
254
268
 
269
+ export const pipeAsyncSideEffectFromTenValueNoInput = pipeAsyncSideEffectFromTen();
270
+
271
+ type PipeAsyncSideEffectFromTenValueNoInputExpected = Promise<string | SideEffect<any>>;
272
+ export type PipeAsyncSideEffectFromTenValueNoInputIsStrict = Expect<
273
+ Equal<typeof pipeAsyncSideEffectFromTenValueNoInput, PipeAsyncSideEffectFromTenValueNoInputExpected>
274
+ >;
275
+
255
276
  export const strictPipeSideEffect = pipeSideEffectStrict(
256
277
  (value: number) => value + 1,
257
278
  (value) => (value > 1 ? value : SideEffect.of(() => 'LOW' as const)),
@@ -343,6 +364,20 @@ type StrictFromTenValue = ValueUnion<typeof strictPipeSideEffectFromTenResult>;
343
364
  type StrictFromTenValueExpected = number;
344
365
  export type PipeSideEffectStrictFromTenValue = Expect<Equal<StrictFromTenValue, StrictFromTenValueExpected>>;
345
366
 
367
+ export const strictPipeSideEffectFromTenResultNoInput = strictPipeSideEffectFromTen();
368
+
369
+ type StrictFromTenNoInputEffects = EffectUnion<typeof strictPipeSideEffectFromTenResultNoInput>;
370
+ type StrictFromTenNoInputEffectsExpected = 'LOW' | 'MID' | 0;
371
+ export type PipeSideEffectStrictFromTenNoInputEffects = Expect<
372
+ Equal<StrictFromTenNoInputEffects, StrictFromTenNoInputEffectsExpected>
373
+ >;
374
+
375
+ type StrictFromTenNoInputValue = ValueUnion<typeof strictPipeSideEffectFromTenResultNoInput>;
376
+ type StrictFromTenNoInputValueExpected = number;
377
+ export type PipeSideEffectStrictFromTenNoInputValue = Expect<
378
+ Equal<StrictFromTenNoInputValue, StrictFromTenNoInputValueExpected>
379
+ >;
380
+
346
381
  export const strictPipeAsyncSideEffect = pipeAsyncSideEffectStrict(
347
382
  (value: number) => value + 1,
348
383
  async (value) => (value > 1 ? value : SideEffect.of(() => 'LOW' as const)),
@@ -443,3 +478,18 @@ type StrictAsyncFromTenValueExpected = number;
443
478
  export type PipeAsyncSideEffectStrictFromTenValue = Expect<
444
479
  Equal<StrictAsyncFromTenValue, StrictAsyncFromTenValueExpected>
445
480
  >;
481
+
482
+ export const strictPipeAsyncSideEffectFromTenResultNoInput = strictPipeAsyncSideEffectFromTen();
483
+
484
+ type StrictAsyncFromTenNoInputResolved = Awaited<typeof strictPipeAsyncSideEffectFromTenResultNoInput>;
485
+ type StrictAsyncFromTenNoInputEffects = EffectUnion<StrictAsyncFromTenNoInputResolved>;
486
+ type StrictAsyncFromTenNoInputEffectsExpected = 'LOW' | 'MID' | 0;
487
+ export type PipeAsyncSideEffectStrictFromTenNoInputEffects = Expect<
488
+ Equal<StrictAsyncFromTenNoInputEffects, StrictAsyncFromTenNoInputEffectsExpected>
489
+ >;
490
+
491
+ type StrictAsyncFromTenNoInputValue = ValueUnion<StrictAsyncFromTenNoInputResolved>;
492
+ type StrictAsyncFromTenNoInputValueExpected = number;
493
+ export type PipeAsyncSideEffectStrictFromTenNoInputValue = Expect<
494
+ Equal<StrictAsyncFromTenNoInputValue, StrictAsyncFromTenNoInputValueExpected>
495
+ >;
@@ -1,3 +1,4 @@
1
+ import type { FromFn } from './from';
1
2
  import SideEffect, { isSideEffect } from './sideEffect';
2
3
 
3
4
  type MaybeSideEffect<T> = T | SideEffect<any>;
@@ -18,6 +19,9 @@ type Resolve<T> = T extends infer R ? R : never;
18
19
  type PipeSideEffect<Fns extends UnaryFn<any, any>[]> = (
19
20
  input: PipeInput<Fns> | SideEffect<any>
20
21
  ) => Resolve<PipeOutput<Fns>>;
22
+ type PipeSideEffectFrom<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]> = (
23
+ input?: PipeInput<Fns> | SideEffect<any>
24
+ ) => Resolve<PipeOutput<Fns>>;
21
25
 
22
26
  function pipeSideEffect<R>(ab: ZeroFn<R>): () => MaybeSideEffect<R>;
23
27
  function pipeSideEffect<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => MaybeSideEffect<R>;
@@ -85,6 +89,7 @@ function pipeSideEffect<B, C, D, E, F, G, H, I, J, R>(
85
89
  ij: UnaryFn<I, J>,
86
90
  jk: UnaryFn<J, R>
87
91
  ): () => MaybeSideEffect<R>;
92
+ function pipeSideEffect<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffectFrom<Fns>;
88
93
  function pipeSideEffect<A, R>(ab: UnaryFn<A, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
89
94
  function pipeSideEffect<A, B, R>(
90
95
  ab: UnaryFn<A, B>,
@@ -1,3 +1,4 @@
1
+ import type { FromFn } from './from';
1
2
  import SideEffect, { isSideEffect } from './sideEffect';
2
3
 
3
4
  type AnyFn = (...args: any[]) => any;
@@ -43,6 +44,12 @@ type PipeSideEffectStrictUnary<Fns extends [AnyFn, ...AnyFn[]]> = {
43
44
  input: PipeInputStrict<Fns> | SideEffect<EIn>
44
45
  ): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>;
45
46
  };
47
+ type PipeSideEffectStrictUnaryOptional<Fns extends [AnyFn, ...AnyFn[]]> = {
48
+ (input?: PipeInputStrict<Fns>): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>;
49
+ <EIn>(
50
+ input?: PipeInputStrict<Fns> | SideEffect<EIn>
51
+ ): Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns> | EIn>>;
52
+ };
46
53
 
47
54
  type PipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]> = Fns extends [ZeroFn<any>, ...AnyFn[]]
48
55
  ? () => Resolve<MaybeSideEffect<PipeValueOutputStrict<Fns>, EffectsOf<Fns>>>
@@ -177,6 +184,9 @@ function pipeSideEffectStrict<B, C, D, E, F, G, H, I, J, R>(
177
184
  UnaryFn<NonSideEffect<I>, J>,
178
185
  UnaryFn<NonSideEffect<J>, R>
179
186
  ]>;
187
+ function pipeSideEffectStrict<Fns extends [FromFn<any>, ...AnyFn[]]>(
188
+ ...funcs: Fns
189
+ ): PipeSideEffectStrictUnaryOptional<Fns>;
180
190
  function pipeSideEffectStrict<A, R>(ab: UnaryFn<A, R>): PipeSideEffectStrict<[UnaryFn<A, R>]>;
181
191
  function pipeSideEffectStrict<A, B, R>(
182
192
  ab: UnaryFn<A, B>,