fp-pack 0.3.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 (38) 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 +7 -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 +7 -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 +90 -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.d.ts +8 -0
  18. package/dist/implement/composition/pipe.d.ts.map +1 -1
  19. package/dist/implement/composition/pipe.mjs.map +1 -1
  20. package/dist/implement/composition/pipe.type-test.d.ts +98 -0
  21. package/dist/implement/composition/pipe.type-test.d.ts.map +1 -1
  22. package/dist/implement/composition/pipeSideEffect.d.ts +11 -0
  23. package/dist/implement/composition/pipeSideEffect.d.ts.map +1 -1
  24. package/dist/implement/composition/pipeSideEffect.mjs.map +1 -1
  25. package/dist/implement/composition/pipeSideEffectStrict.d.ts +90 -0
  26. package/dist/implement/composition/pipeSideEffectStrict.d.ts.map +1 -1
  27. package/dist/implement/composition/pipeSideEffectStrict.mjs.map +1 -1
  28. package/dist/skills/fp-pack/SKILL.md +14 -6
  29. package/dist/skills/fp-pack.md +14 -6
  30. package/package.json +3 -2
  31. package/src/implement/async/pipeAsync.ts +48 -0
  32. package/src/implement/async/pipeAsyncSideEffect.ts +49 -0
  33. package/src/implement/async/pipeAsyncSideEffectStrict.ts +170 -0
  34. package/src/implement/composition/from.ts +9 -2
  35. package/src/implement/composition/pipe.ts +84 -0
  36. package/src/implement/composition/pipe.type-test.ts +299 -0
  37. package/src/implement/composition/pipeSideEffect.ts +89 -0
  38. package/src/implement/composition/pipeSideEffectStrict.ts +170 -0
@@ -10,6 +10,13 @@ export type PipePureIsStrict = Expect<Equal<typeof purePipe, PurePipeExpected>>;
10
10
  export declare const purePipeSix: (a: number) => string;
11
11
  type PurePipeSixExpected = (input: number) => string;
12
12
  export type PipePureSixIsStrict = Expect<Equal<typeof purePipeSix, PurePipeSixExpected>>;
13
+ export declare const purePipeTen: (a: number) => string;
14
+ type PurePipeTenExpected = (input: number) => string;
15
+ export type PipePureTenIsStrict = Expect<Equal<typeof purePipeTen, PurePipeTenExpected>>;
16
+ export declare const pipeFromTen: (a: unknown) => string;
17
+ export declare const pipeFromTenValue: string;
18
+ type PipeFromTenValueExpected = string;
19
+ export type PipeFromTenValueIsStrict = Expect<Equal<typeof pipeFromTenValue, PipeFromTenValueExpected>>;
13
20
  export declare const pipeWithSideEffectInput: (a: number | SideEffect<any>) => string | SideEffect<any>;
14
21
  export declare const pipeWithSideEffectValue: string | SideEffect<any>;
15
22
  type PipeExpected = (input: number | SideEffect<any>) => string | SideEffect<any>;
@@ -17,12 +24,32 @@ export type PipeAcceptsSideEffectInput = Expect<Equal<typeof pipeWithSideEffectI
17
24
  export declare const pipeSideEffectSix: (a: number | SideEffect<any>) => string | SideEffect<any>;
18
25
  type PipeSideEffectSixExpected = (input: number | SideEffect<any>) => string | SideEffect<any>;
19
26
  export type PipeSideEffectSixIsStrict = Expect<Equal<typeof pipeSideEffectSix, PipeSideEffectSixExpected>>;
27
+ export declare const pipeSideEffectTen: (a: number | SideEffect<any>) => string | SideEffect<any>;
28
+ type PipeSideEffectTenExpected = (input: number | SideEffect<any>) => string | SideEffect<any>;
29
+ export type PipeSideEffectTenIsStrict = Expect<Equal<typeof pipeSideEffectTen, PipeSideEffectTenExpected>>;
30
+ export declare const pipeSideEffectFromTen: (input?: unknown) => string | SideEffect<any>;
31
+ export declare const pipeSideEffectFromTenValue: string | SideEffect<any>;
32
+ type PipeSideEffectFromTenValueExpected = string | SideEffect<any>;
33
+ export type PipeSideEffectFromTenValueIsStrict = Expect<Equal<typeof pipeSideEffectFromTenValue, PipeSideEffectFromTenValueExpected>>;
34
+ export declare const pipeSideEffectFromTenValueNoInput: string | SideEffect<any>;
35
+ type PipeSideEffectFromTenValueNoInputExpected = string | SideEffect<any>;
36
+ export type PipeSideEffectFromTenValueNoInputIsStrict = Expect<Equal<typeof pipeSideEffectFromTenValueNoInput, PipeSideEffectFromTenValueNoInputExpected>>;
20
37
  export declare const purePipeAsync: (a: number) => Promise<string>;
21
38
  type PurePipeAsyncExpected = (input: number) => Promise<string>;
22
39
  export type PipeAsyncPureIsStrict = Expect<Equal<typeof purePipeAsync, PurePipeAsyncExpected>>;
23
40
  export declare const purePipeAsyncSix: (a: number) => Promise<string>;
24
41
  type PurePipeAsyncSixExpected = (input: number) => Promise<string>;
25
42
  export type PipeAsyncPureSixIsStrict = Expect<Equal<typeof purePipeAsyncSix, PurePipeAsyncSixExpected>>;
43
+ export declare const purePipeAsyncTen: (a: number) => Promise<string>;
44
+ type PurePipeAsyncTenExpected = (input: number) => Promise<string>;
45
+ export type PipeAsyncPureTenIsStrict = Expect<Equal<typeof purePipeAsyncTen, PurePipeAsyncTenExpected>>;
46
+ export declare const pipeAsyncFromTen: (input?: unknown) => Promise<string>;
47
+ export declare const pipeAsyncFromTenValue: Promise<string>;
48
+ type PipeAsyncFromTenValueExpected = Promise<string>;
49
+ export type PipeAsyncFromTenValueIsStrict = Expect<Equal<typeof pipeAsyncFromTenValue, PipeAsyncFromTenValueExpected>>;
50
+ export declare const pipeAsyncFromTenValueNoInput: Promise<string>;
51
+ type PipeAsyncFromTenValueNoInputExpected = Promise<string>;
52
+ export type PipeAsyncFromTenValueNoInputIsStrict = Expect<Equal<typeof pipeAsyncFromTenValueNoInput, PipeAsyncFromTenValueNoInputExpected>>;
26
53
  export declare const pipeAsyncWithSideEffectInput: (a: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
27
54
  export declare const pipeAsyncWithSideEffectValue: Promise<string | SideEffect<any>>;
28
55
  type PipeAsyncExpected = (input: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
@@ -30,6 +57,16 @@ export type PipeAsyncAcceptsSideEffectInput = Expect<Equal<typeof pipeAsyncWithS
30
57
  export declare const pipeAsyncSideEffectSix: (a: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
31
58
  type PipeAsyncSideEffectSixExpected = (input: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
32
59
  export type PipeAsyncSideEffectSixIsStrict = Expect<Equal<typeof pipeAsyncSideEffectSix, PipeAsyncSideEffectSixExpected>>;
60
+ export declare const pipeAsyncSideEffectTen: (a: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
61
+ type PipeAsyncSideEffectTenExpected = (input: number | SideEffect<any>) => Promise<string | SideEffect<any>>;
62
+ export type PipeAsyncSideEffectTenIsStrict = Expect<Equal<typeof pipeAsyncSideEffectTen, PipeAsyncSideEffectTenExpected>>;
63
+ export declare const pipeAsyncSideEffectFromTen: (input?: unknown) => Promise<string | SideEffect<any>>;
64
+ export declare const pipeAsyncSideEffectFromTenValue: Promise<string | SideEffect<any>>;
65
+ type PipeAsyncSideEffectFromTenValueExpected = Promise<string | SideEffect<any>>;
66
+ export type PipeAsyncSideEffectFromTenValueIsStrict = Expect<Equal<typeof pipeAsyncSideEffectFromTenValue, PipeAsyncSideEffectFromTenValueExpected>>;
67
+ export declare const pipeAsyncSideEffectFromTenValueNoInput: Promise<string | SideEffect<any>>;
68
+ type PipeAsyncSideEffectFromTenValueNoInputExpected = Promise<string | SideEffect<any>>;
69
+ export type PipeAsyncSideEffectFromTenValueNoInputIsStrict = Expect<Equal<typeof pipeAsyncSideEffectFromTenValueNoInput, PipeAsyncSideEffectFromTenValueNoInputExpected>>;
33
70
  export declare const strictPipeSideEffect: {
34
71
  (input: number): number | SideEffect<0 | "LOW">;
35
72
  <EIn>(input: number | SideEffect<EIn>): number | SideEffect<0 | "LOW" | EIn>;
@@ -56,6 +93,35 @@ export type PipeSideEffectStrictSixEffects = Expect<Equal<StrictSixEffects, Stri
56
93
  type StrictSixValue = ValueUnion<typeof strictPipeSideEffectSixResult>;
57
94
  type StrictSixValueExpected = number;
58
95
  export type PipeSideEffectStrictSixValue = Expect<Equal<StrictSixValue, StrictSixValueExpected>>;
96
+ export declare const strictPipeSideEffectTen: {
97
+ (input: number): number | SideEffect<0 | "LOW" | "MID">;
98
+ <EIn>(input: number | SideEffect<EIn>): number | SideEffect<0 | "LOW" | "MID" | EIn>;
99
+ };
100
+ export declare const strictPipeSideEffectTenResult: number | SideEffect<0 | "LOW" | "MID">;
101
+ type StrictTenEffects = EffectUnion<typeof strictPipeSideEffectTenResult>;
102
+ type StrictTenEffectsExpected = 'LOW' | 'MID' | 0;
103
+ export type PipeSideEffectStrictTenEffects = Expect<Equal<StrictTenEffects, StrictTenEffectsExpected>>;
104
+ type StrictTenValue = ValueUnion<typeof strictPipeSideEffectTenResult>;
105
+ type StrictTenValueExpected = number;
106
+ export type PipeSideEffectStrictTenValue = Expect<Equal<StrictTenValue, StrictTenValueExpected>>;
107
+ export declare const strictPipeSideEffectFromTen: {
108
+ (input?: unknown): number | SideEffect<0 | "LOW" | "MID">;
109
+ <EIn>(input?: unknown): number | SideEffect<0 | "LOW" | "MID" | EIn>;
110
+ };
111
+ export declare const strictPipeSideEffectFromTenResult: number | SideEffect<0 | "LOW" | "MID">;
112
+ type StrictFromTenEffects = EffectUnion<typeof strictPipeSideEffectFromTenResult>;
113
+ type StrictFromTenEffectsExpected = 'LOW' | 'MID' | 0;
114
+ export type PipeSideEffectStrictFromTenEffects = Expect<Equal<StrictFromTenEffects, StrictFromTenEffectsExpected>>;
115
+ type StrictFromTenValue = ValueUnion<typeof strictPipeSideEffectFromTenResult>;
116
+ type StrictFromTenValueExpected = number;
117
+ export type PipeSideEffectStrictFromTenValue = Expect<Equal<StrictFromTenValue, StrictFromTenValueExpected>>;
118
+ export declare const strictPipeSideEffectFromTenResultNoInput: number | SideEffect<0 | "LOW" | "MID">;
119
+ type StrictFromTenNoInputEffects = EffectUnion<typeof strictPipeSideEffectFromTenResultNoInput>;
120
+ type StrictFromTenNoInputEffectsExpected = 'LOW' | 'MID' | 0;
121
+ export type PipeSideEffectStrictFromTenNoInputEffects = Expect<Equal<StrictFromTenNoInputEffects, StrictFromTenNoInputEffectsExpected>>;
122
+ type StrictFromTenNoInputValue = ValueUnion<typeof strictPipeSideEffectFromTenResultNoInput>;
123
+ type StrictFromTenNoInputValueExpected = number;
124
+ export type PipeSideEffectStrictFromTenNoInputValue = Expect<Equal<StrictFromTenNoInputValue, StrictFromTenNoInputValueExpected>>;
59
125
  export declare const strictPipeAsyncSideEffect: {
60
126
  (input: number): Promise<number | SideEffect<0 | "LOW">>;
61
127
  <EIn>(input: number | SideEffect<EIn>): Promise<number | SideEffect<0 | "LOW" | EIn>>;
@@ -80,5 +146,37 @@ export type PipeAsyncSideEffectStrictSixEffects = Expect<Equal<StrictAsyncSixEff
80
146
  type StrictAsyncSixValue = ValueUnion<StrictAsyncSixResolved>;
81
147
  type StrictAsyncSixValueExpected = number;
82
148
  export type PipeAsyncSideEffectStrictSixValue = Expect<Equal<StrictAsyncSixValue, StrictAsyncSixValueExpected>>;
149
+ export declare const strictPipeAsyncSideEffectTen: {
150
+ (input: number): Promise<number | SideEffect<0 | "LOW" | "MID">>;
151
+ <EIn>(input: number | SideEffect<EIn>): Promise<number | SideEffect<0 | "LOW" | "MID" | EIn>>;
152
+ };
153
+ export declare const strictPipeAsyncSideEffectTenResult: Promise<number | SideEffect<0 | "LOW" | "MID">>;
154
+ type StrictAsyncTenResolved = Awaited<typeof strictPipeAsyncSideEffectTenResult>;
155
+ type StrictAsyncTenEffects = EffectUnion<StrictAsyncTenResolved>;
156
+ type StrictAsyncTenEffectsExpected = 'LOW' | 'MID' | 0;
157
+ export type PipeAsyncSideEffectStrictTenEffects = Expect<Equal<StrictAsyncTenEffects, StrictAsyncTenEffectsExpected>>;
158
+ type StrictAsyncTenValue = ValueUnion<StrictAsyncTenResolved>;
159
+ type StrictAsyncTenValueExpected = number;
160
+ export type PipeAsyncSideEffectStrictTenValue = Expect<Equal<StrictAsyncTenValue, StrictAsyncTenValueExpected>>;
161
+ export declare const strictPipeAsyncSideEffectFromTen: {
162
+ (input?: unknown): Promise<number | SideEffect<0 | "LOW" | "MID">>;
163
+ <EIn>(input?: unknown): Promise<number | SideEffect<0 | "LOW" | "MID" | EIn>>;
164
+ };
165
+ export declare const strictPipeAsyncSideEffectFromTenResult: Promise<number | SideEffect<0 | "LOW" | "MID">>;
166
+ type StrictAsyncFromTenResolved = Awaited<typeof strictPipeAsyncSideEffectFromTenResult>;
167
+ type StrictAsyncFromTenEffects = EffectUnion<StrictAsyncFromTenResolved>;
168
+ type StrictAsyncFromTenEffectsExpected = 'LOW' | 'MID' | 0;
169
+ export type PipeAsyncSideEffectStrictFromTenEffects = Expect<Equal<StrictAsyncFromTenEffects, StrictAsyncFromTenEffectsExpected>>;
170
+ type StrictAsyncFromTenValue = ValueUnion<StrictAsyncFromTenResolved>;
171
+ type StrictAsyncFromTenValueExpected = number;
172
+ export type PipeAsyncSideEffectStrictFromTenValue = Expect<Equal<StrictAsyncFromTenValue, StrictAsyncFromTenValueExpected>>;
173
+ export declare const strictPipeAsyncSideEffectFromTenResultNoInput: Promise<number | SideEffect<0 | "LOW" | "MID">>;
174
+ type StrictAsyncFromTenNoInputResolved = Awaited<typeof strictPipeAsyncSideEffectFromTenResultNoInput>;
175
+ type StrictAsyncFromTenNoInputEffects = EffectUnion<StrictAsyncFromTenNoInputResolved>;
176
+ type StrictAsyncFromTenNoInputEffectsExpected = 'LOW' | 'MID' | 0;
177
+ export type PipeAsyncSideEffectStrictFromTenNoInputEffects = Expect<Equal<StrictAsyncFromTenNoInputEffects, StrictAsyncFromTenNoInputEffectsExpected>>;
178
+ type StrictAsyncFromTenNoInputValue = ValueUnion<StrictAsyncFromTenNoInputResolved>;
179
+ type StrictAsyncFromTenNoInputValueExpected = number;
180
+ export type PipeAsyncSideEffectStrictFromTenNoInputValue = Expect<Equal<StrictAsyncFromTenNoInputValue, StrictAsyncFromTenNoInputValueExpected>>;
83
181
  export {};
84
182
  //# 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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"}
@@ -1,3 +1,4 @@
1
+ import { FromFn } from './from';
1
2
  import { default as SideEffect } from './sideEffect';
2
3
  type MaybeSideEffect<T> = T | SideEffect<any>;
3
4
  type NonSideEffect<T> = Exclude<T, SideEffect<any>>;
@@ -7,18 +8,28 @@ type PipeInput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<infer A,
7
8
  type PipeOutput<Fns extends UnaryFn<any, any>[]> = Fns extends [UnaryFn<any, infer R>] ? MaybeSideEffect<R> : Fns extends [UnaryFn<any, infer R>, ...infer Rest] ? Rest extends [UnaryFn<NonSideEffect<R>, any>, ...UnaryFn<any, any>[]] ? PipeOutput<Rest> : never : never;
8
9
  type Resolve<T> = T extends infer R ? R : never;
9
10
  type PipeSideEffect<Fns extends UnaryFn<any, any>[]> = (input: PipeInput<Fns> | SideEffect<any>) => Resolve<PipeOutput<Fns>>;
11
+ type PipeSideEffectFrom<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]> = (input?: PipeInput<Fns> | SideEffect<any>) => Resolve<PipeOutput<Fns>>;
10
12
  declare function pipeSideEffect<R>(ab: ZeroFn<R>): () => MaybeSideEffect<R>;
11
13
  declare function pipeSideEffect<B, R>(ab: ZeroFn<B>, bc: UnaryFn<B, R>): () => MaybeSideEffect<R>;
12
14
  declare function pipeSideEffect<B, C, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): () => MaybeSideEffect<R>;
13
15
  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
16
  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
17
  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>;
18
+ declare function pipeSideEffect<B, C, D, E, F, G, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, R>): () => MaybeSideEffect<R>;
19
+ declare function pipeSideEffect<B, C, D, E, F, G, H, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, R>): () => MaybeSideEffect<R>;
20
+ declare function pipeSideEffect<B, C, D, E, F, G, H, I, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, I>, ij: UnaryFn<I, R>): () => MaybeSideEffect<R>;
21
+ declare function pipeSideEffect<B, C, D, E, F, G, H, I, J, R>(ab: ZeroFn<B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, I>, ij: UnaryFn<I, J>, jk: UnaryFn<J, R>): () => MaybeSideEffect<R>;
22
+ declare function pipeSideEffect<Fns extends [FromFn<any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffectFrom<Fns>;
16
23
  declare function pipeSideEffect<A, R>(ab: UnaryFn<A, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
17
24
  declare function pipeSideEffect<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
18
25
  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>;
19
26
  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>;
20
27
  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
28
  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>;
29
+ declare function pipeSideEffect<A, B, C, D, E, F, G, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
30
+ declare function pipeSideEffect<A, B, C, D, E, F, G, H, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
31
+ declare function pipeSideEffect<A, B, C, D, E, F, G, H, I, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, I>, ij: UnaryFn<I, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
32
+ declare function pipeSideEffect<A, B, C, D, E, F, G, H, I, J, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, D>, de: UnaryFn<D, E>, ef: UnaryFn<E, F>, fg: UnaryFn<F, G>, gh: UnaryFn<G, H>, hi: UnaryFn<H, I>, ij: UnaryFn<I, J>, jk: UnaryFn<J, R>): (a: A | SideEffect<any>) => MaybeSideEffect<R>;
22
33
  declare function pipeSideEffect<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): PipeSideEffect<Fns>;
23
34
  declare function pipeSideEffect(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;
24
35
  export default pipeSideEffect;
@@ -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<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;"}
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>]>;
@@ -40,6 +45,49 @@ declare function pipeSideEffectStrict<B, C, D, E, F, R>(ab: ZeroFn<B>, bc: Unary
40
45
  UnaryFn<NonSideEffect<E>, F>,
41
46
  UnaryFn<NonSideEffect<F>, R>
42
47
  ]>;
48
+ declare function pipeSideEffectStrict<B, C, D, E, F, G, 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>, G>, gh: UnaryFn<NonSideEffect<G>, R>): PipeSideEffectStrict<[
49
+ ZeroFn<B>,
50
+ UnaryFn<NonSideEffect<B>, C>,
51
+ UnaryFn<NonSideEffect<C>, D>,
52
+ UnaryFn<NonSideEffect<D>, E>,
53
+ UnaryFn<NonSideEffect<E>, F>,
54
+ UnaryFn<NonSideEffect<F>, G>,
55
+ UnaryFn<NonSideEffect<G>, R>
56
+ ]>;
57
+ declare function pipeSideEffectStrict<B, C, D, E, F, G, H, 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>, G>, gh: UnaryFn<NonSideEffect<G>, H>, hi: UnaryFn<NonSideEffect<H>, R>): PipeSideEffectStrict<[
58
+ ZeroFn<B>,
59
+ UnaryFn<NonSideEffect<B>, C>,
60
+ UnaryFn<NonSideEffect<C>, D>,
61
+ UnaryFn<NonSideEffect<D>, E>,
62
+ UnaryFn<NonSideEffect<E>, F>,
63
+ UnaryFn<NonSideEffect<F>, G>,
64
+ UnaryFn<NonSideEffect<G>, H>,
65
+ UnaryFn<NonSideEffect<H>, R>
66
+ ]>;
67
+ declare function pipeSideEffectStrict<B, C, D, E, F, G, H, I, 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>, G>, gh: UnaryFn<NonSideEffect<G>, H>, hi: UnaryFn<NonSideEffect<H>, I>, ij: UnaryFn<NonSideEffect<I>, R>): PipeSideEffectStrict<[
68
+ ZeroFn<B>,
69
+ UnaryFn<NonSideEffect<B>, C>,
70
+ UnaryFn<NonSideEffect<C>, D>,
71
+ UnaryFn<NonSideEffect<D>, E>,
72
+ UnaryFn<NonSideEffect<E>, F>,
73
+ UnaryFn<NonSideEffect<F>, G>,
74
+ UnaryFn<NonSideEffect<G>, H>,
75
+ UnaryFn<NonSideEffect<H>, I>,
76
+ UnaryFn<NonSideEffect<I>, R>
77
+ ]>;
78
+ declare function pipeSideEffectStrict<B, C, D, E, F, G, H, I, J, 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>, G>, gh: UnaryFn<NonSideEffect<G>, H>, hi: UnaryFn<NonSideEffect<H>, I>, ij: UnaryFn<NonSideEffect<I>, J>, jk: UnaryFn<NonSideEffect<J>, R>): PipeSideEffectStrict<[
79
+ ZeroFn<B>,
80
+ UnaryFn<NonSideEffect<B>, C>,
81
+ UnaryFn<NonSideEffect<C>, D>,
82
+ UnaryFn<NonSideEffect<D>, E>,
83
+ UnaryFn<NonSideEffect<E>, F>,
84
+ UnaryFn<NonSideEffect<F>, G>,
85
+ UnaryFn<NonSideEffect<G>, H>,
86
+ UnaryFn<NonSideEffect<H>, I>,
87
+ UnaryFn<NonSideEffect<I>, J>,
88
+ UnaryFn<NonSideEffect<J>, R>
89
+ ]>;
90
+ declare function pipeSideEffectStrict<Fns extends [FromFn<any>, ...AnyFn[]]>(...funcs: Fns): PipeSideEffectStrictUnaryOptional<Fns>;
43
91
  declare function pipeSideEffectStrict<A, R>(ab: UnaryFn<A, R>): PipeSideEffectStrict<[UnaryFn<A, R>]>;
44
92
  declare function pipeSideEffectStrict<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<NonSideEffect<B>, R>): PipeSideEffectStrict<[UnaryFn<A, B>, UnaryFn<NonSideEffect<B>, R>]>;
45
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>]>;
@@ -64,6 +112,48 @@ declare function pipeSideEffectStrict<A, B, C, D, E, F, R>(ab: UnaryFn<A, B>, bc
64
112
  UnaryFn<NonSideEffect<E>, F>,
65
113
  UnaryFn<NonSideEffect<F>, R>
66
114
  ]>;
115
+ declare function pipeSideEffectStrict<A, B, C, D, E, F, G, 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>, G>, gh: UnaryFn<NonSideEffect<G>, R>): PipeSideEffectStrict<[
116
+ UnaryFn<A, B>,
117
+ UnaryFn<NonSideEffect<B>, C>,
118
+ UnaryFn<NonSideEffect<C>, D>,
119
+ UnaryFn<NonSideEffect<D>, E>,
120
+ UnaryFn<NonSideEffect<E>, F>,
121
+ UnaryFn<NonSideEffect<F>, G>,
122
+ UnaryFn<NonSideEffect<G>, R>
123
+ ]>;
124
+ declare function pipeSideEffectStrict<A, B, C, D, E, F, G, H, 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>, G>, gh: UnaryFn<NonSideEffect<G>, H>, hi: UnaryFn<NonSideEffect<H>, R>): PipeSideEffectStrict<[
125
+ UnaryFn<A, B>,
126
+ UnaryFn<NonSideEffect<B>, C>,
127
+ UnaryFn<NonSideEffect<C>, D>,
128
+ UnaryFn<NonSideEffect<D>, E>,
129
+ UnaryFn<NonSideEffect<E>, F>,
130
+ UnaryFn<NonSideEffect<F>, G>,
131
+ UnaryFn<NonSideEffect<G>, H>,
132
+ UnaryFn<NonSideEffect<H>, R>
133
+ ]>;
134
+ declare function pipeSideEffectStrict<A, B, C, D, E, F, G, H, I, 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>, G>, gh: UnaryFn<NonSideEffect<G>, H>, hi: UnaryFn<NonSideEffect<H>, I>, ij: UnaryFn<NonSideEffect<I>, R>): PipeSideEffectStrict<[
135
+ UnaryFn<A, B>,
136
+ UnaryFn<NonSideEffect<B>, C>,
137
+ UnaryFn<NonSideEffect<C>, D>,
138
+ UnaryFn<NonSideEffect<D>, E>,
139
+ UnaryFn<NonSideEffect<E>, F>,
140
+ UnaryFn<NonSideEffect<F>, G>,
141
+ UnaryFn<NonSideEffect<G>, H>,
142
+ UnaryFn<NonSideEffect<H>, I>,
143
+ UnaryFn<NonSideEffect<I>, R>
144
+ ]>;
145
+ declare function pipeSideEffectStrict<A, B, C, D, E, F, G, H, I, J, 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>, G>, gh: UnaryFn<NonSideEffect<G>, H>, hi: UnaryFn<NonSideEffect<H>, I>, ij: UnaryFn<NonSideEffect<I>, J>, jk: UnaryFn<NonSideEffect<J>, R>): PipeSideEffectStrict<[
146
+ UnaryFn<A, B>,
147
+ UnaryFn<NonSideEffect<B>, C>,
148
+ UnaryFn<NonSideEffect<C>, D>,
149
+ UnaryFn<NonSideEffect<D>, E>,
150
+ UnaryFn<NonSideEffect<E>, F>,
151
+ UnaryFn<NonSideEffect<F>, G>,
152
+ UnaryFn<NonSideEffect<G>, H>,
153
+ UnaryFn<NonSideEffect<H>, I>,
154
+ UnaryFn<NonSideEffect<I>, J>,
155
+ UnaryFn<NonSideEffect<J>, R>
156
+ ]>;
67
157
  declare function pipeSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeSideEffectStrict<Fns>;
68
158
  export default pipeSideEffectStrict;
69
159
  //# 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<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;"}
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.3.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([