fp-pack 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +1 -1
  2. package/dist/fp-pack.umd.js.map +1 -1
  3. package/dist/implement/async/pipeAsync.d.ts +5 -0
  4. package/dist/implement/async/pipeAsync.d.ts.map +1 -1
  5. package/dist/implement/async/pipeAsync.mjs.map +1 -1
  6. package/dist/implement/async/pipeAsyncSideEffect.d.ts +5 -0
  7. package/dist/implement/async/pipeAsyncSideEffect.d.ts.map +1 -1
  8. package/dist/implement/async/pipeAsyncSideEffect.mjs.map +1 -1
  9. package/dist/implement/async/pipeAsyncSideEffectStrict.d.ts +100 -0
  10. package/dist/implement/async/pipeAsyncSideEffectStrict.d.ts.map +1 -1
  11. package/dist/implement/async/pipeAsyncSideEffectStrict.mjs.map +1 -1
  12. package/dist/implement/composition/pipe.d.ts +10 -0
  13. package/dist/implement/composition/pipe.d.ts.map +1 -1
  14. package/dist/implement/composition/pipe.mjs.map +1 -1
  15. package/dist/implement/composition/pipe.type-test.d.ts +109 -0
  16. package/dist/implement/composition/pipe.type-test.d.ts.map +1 -1
  17. package/dist/implement/composition/pipeSideEffect.d.ts +10 -0
  18. package/dist/implement/composition/pipeSideEffect.d.ts.map +1 -1
  19. package/dist/implement/composition/pipeSideEffect.mjs.map +1 -1
  20. package/dist/implement/composition/pipeSideEffectStrict.d.ts +100 -0
  21. package/dist/implement/composition/pipeSideEffectStrict.d.ts.map +1 -1
  22. package/dist/implement/composition/pipeSideEffectStrict.mjs.map +1 -1
  23. package/dist/skills/fp-pack/SKILL.md +2 -2
  24. package/dist/skills/fp-pack.md +2 -2
  25. package/package.json +1 -1
  26. package/src/implement/async/pipeAsync.ts +50 -0
  27. package/src/implement/async/pipeAsyncSideEffect.ts +50 -0
  28. package/src/implement/async/pipeAsyncSideEffectStrict.ts +190 -0
  29. package/src/implement/composition/pipe.ts +100 -0
  30. package/src/implement/composition/pipe.type-test.ts +342 -0
  31. package/src/implement/composition/pipeSideEffect.ts +100 -0
  32. package/src/implement/composition/pipeSideEffectStrict.ts +190 -0
@@ -47,6 +47,56 @@ function pipeAsyncSideEffect<A, B, C, D, E, R>(
47
47
  de: AsyncOrSync<Awaited<D>, E>,
48
48
  ef: AsyncOrSync<Awaited<E>, R>
49
49
  ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
50
+ function pipeAsyncSideEffect<A, B, C, D, E, F, R>(
51
+ ab: AsyncOrSync<A, B>,
52
+ bc: AsyncOrSync<Awaited<B>, C>,
53
+ cd: AsyncOrSync<Awaited<C>, D>,
54
+ de: AsyncOrSync<Awaited<D>, E>,
55
+ ef: AsyncOrSync<Awaited<E>, F>,
56
+ fg: AsyncOrSync<Awaited<F>, R>
57
+ ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
58
+ function pipeAsyncSideEffect<A, B, C, D, E, F, G, R>(
59
+ ab: AsyncOrSync<A, B>,
60
+ bc: AsyncOrSync<Awaited<B>, C>,
61
+ cd: AsyncOrSync<Awaited<C>, D>,
62
+ de: AsyncOrSync<Awaited<D>, E>,
63
+ ef: AsyncOrSync<Awaited<E>, F>,
64
+ fg: AsyncOrSync<Awaited<F>, G>,
65
+ gh: AsyncOrSync<Awaited<G>, R>
66
+ ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
67
+ function pipeAsyncSideEffect<A, B, C, D, E, F, G, H, R>(
68
+ ab: AsyncOrSync<A, B>,
69
+ bc: AsyncOrSync<Awaited<B>, C>,
70
+ cd: AsyncOrSync<Awaited<C>, D>,
71
+ de: AsyncOrSync<Awaited<D>, E>,
72
+ ef: AsyncOrSync<Awaited<E>, F>,
73
+ fg: AsyncOrSync<Awaited<F>, G>,
74
+ gh: AsyncOrSync<Awaited<G>, H>,
75
+ hi: AsyncOrSync<Awaited<H>, R>
76
+ ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
77
+ function pipeAsyncSideEffect<A, B, C, D, E, F, G, H, I, R>(
78
+ ab: AsyncOrSync<A, B>,
79
+ bc: AsyncOrSync<Awaited<B>, C>,
80
+ cd: AsyncOrSync<Awaited<C>, D>,
81
+ de: AsyncOrSync<Awaited<D>, E>,
82
+ ef: AsyncOrSync<Awaited<E>, F>,
83
+ fg: AsyncOrSync<Awaited<F>, G>,
84
+ gh: AsyncOrSync<Awaited<G>, H>,
85
+ hi: AsyncOrSync<Awaited<H>, I>,
86
+ ij: AsyncOrSync<Awaited<I>, R>
87
+ ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
88
+ function pipeAsyncSideEffect<A, B, C, D, E, F, G, H, I, J, R>(
89
+ ab: AsyncOrSync<A, B>,
90
+ bc: AsyncOrSync<Awaited<B>, C>,
91
+ cd: AsyncOrSync<Awaited<C>, D>,
92
+ de: AsyncOrSync<Awaited<D>, E>,
93
+ ef: AsyncOrSync<Awaited<E>, F>,
94
+ fg: AsyncOrSync<Awaited<F>, G>,
95
+ gh: AsyncOrSync<Awaited<G>, H>,
96
+ hi: AsyncOrSync<Awaited<H>, I>,
97
+ ij: AsyncOrSync<Awaited<I>, J>,
98
+ jk: AsyncOrSync<Awaited<J>, R>
99
+ ): (a: A | SideEffect<any>) => Promise<MaybeSideEffect<Awaited<R>>>;
50
100
 
51
101
  function pipeAsyncSideEffect<Fns extends [AsyncOrSync<any, any>, ...AsyncOrSync<any, any>[]]>(
52
102
  ...funcs: Fns
@@ -82,6 +82,101 @@ function pipeAsyncSideEffectStrict<B, C, D, E, R>(
82
82
  AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
83
83
  AsyncOrSync<NonSideEffect<Awaited<E>>, R>
84
84
  ]>;
85
+ function pipeAsyncSideEffectStrict<B, C, D, E, F, R>(
86
+ ab: ZeroFn<B>,
87
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
88
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
89
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
90
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
91
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, R>
92
+ ): PipeAsyncSideEffectStrict<[
93
+ ZeroFn<B>,
94
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
95
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
96
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
97
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
98
+ AsyncOrSync<NonSideEffect<Awaited<F>>, R>
99
+ ]>;
100
+ function pipeAsyncSideEffectStrict<B, C, D, E, F, G, R>(
101
+ ab: ZeroFn<B>,
102
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
103
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
104
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
105
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
106
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
107
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, R>
108
+ ): PipeAsyncSideEffectStrict<[
109
+ ZeroFn<B>,
110
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
111
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
112
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
113
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
114
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
115
+ AsyncOrSync<NonSideEffect<Awaited<G>>, R>
116
+ ]>;
117
+ function pipeAsyncSideEffectStrict<B, C, D, E, F, G, H, R>(
118
+ ab: ZeroFn<B>,
119
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
120
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
121
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
122
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
123
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
124
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
125
+ hi: AsyncOrSync<NonSideEffect<Awaited<H>>, R>
126
+ ): PipeAsyncSideEffectStrict<[
127
+ ZeroFn<B>,
128
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
129
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
130
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
131
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
132
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
133
+ AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
134
+ AsyncOrSync<NonSideEffect<Awaited<H>>, R>
135
+ ]>;
136
+ function pipeAsyncSideEffectStrict<B, C, D, E, F, G, H, I, R>(
137
+ ab: ZeroFn<B>,
138
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
139
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
140
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
141
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
142
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
143
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
144
+ hi: AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
145
+ ij: AsyncOrSync<NonSideEffect<Awaited<I>>, R>
146
+ ): PipeAsyncSideEffectStrict<[
147
+ ZeroFn<B>,
148
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
149
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
150
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
151
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
152
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
153
+ AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
154
+ AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
155
+ AsyncOrSync<NonSideEffect<Awaited<I>>, R>
156
+ ]>;
157
+ function pipeAsyncSideEffectStrict<B, C, D, E, F, G, H, I, J, R>(
158
+ ab: ZeroFn<B>,
159
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
160
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
161
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
162
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
163
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
164
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
165
+ hi: AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
166
+ ij: AsyncOrSync<NonSideEffect<Awaited<I>>, J>,
167
+ jk: AsyncOrSync<NonSideEffect<Awaited<J>>, R>
168
+ ): PipeAsyncSideEffectStrict<[
169
+ ZeroFn<B>,
170
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
171
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
172
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
173
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
174
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
175
+ AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
176
+ AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
177
+ AsyncOrSync<NonSideEffect<Awaited<I>>, J>,
178
+ AsyncOrSync<NonSideEffect<Awaited<J>>, R>
179
+ ]>;
85
180
  function pipeAsyncSideEffectStrict<A, R>(
86
181
  ab: AsyncOrSync<A, R>
87
182
  ): PipeAsyncSideEffectStrict<[AsyncOrSync<A, R>]>;
@@ -122,6 +217,101 @@ function pipeAsyncSideEffectStrict<A, B, C, D, E, R>(
122
217
  AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
123
218
  AsyncOrSync<NonSideEffect<Awaited<E>>, R>
124
219
  ]>;
220
+ function pipeAsyncSideEffectStrict<A, B, C, D, E, F, R>(
221
+ ab: AsyncOrSync<A, B>,
222
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
223
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
224
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
225
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
226
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, R>
227
+ ): PipeAsyncSideEffectStrict<[
228
+ AsyncOrSync<A, B>,
229
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
230
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
231
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
232
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
233
+ AsyncOrSync<NonSideEffect<Awaited<F>>, R>
234
+ ]>;
235
+ function pipeAsyncSideEffectStrict<A, B, C, D, E, F, G, R>(
236
+ ab: AsyncOrSync<A, B>,
237
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
238
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
239
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
240
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
241
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
242
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, R>
243
+ ): PipeAsyncSideEffectStrict<[
244
+ AsyncOrSync<A, B>,
245
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
246
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
247
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
248
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
249
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
250
+ AsyncOrSync<NonSideEffect<Awaited<G>>, R>
251
+ ]>;
252
+ function pipeAsyncSideEffectStrict<A, B, C, D, E, F, G, H, R>(
253
+ ab: AsyncOrSync<A, B>,
254
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
255
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
256
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
257
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
258
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
259
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
260
+ hi: AsyncOrSync<NonSideEffect<Awaited<H>>, R>
261
+ ): PipeAsyncSideEffectStrict<[
262
+ AsyncOrSync<A, B>,
263
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
264
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
265
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
266
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
267
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
268
+ AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
269
+ AsyncOrSync<NonSideEffect<Awaited<H>>, R>
270
+ ]>;
271
+ function pipeAsyncSideEffectStrict<A, B, C, D, E, F, G, H, I, R>(
272
+ ab: AsyncOrSync<A, B>,
273
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
274
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
275
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
276
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
277
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
278
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
279
+ hi: AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
280
+ ij: AsyncOrSync<NonSideEffect<Awaited<I>>, R>
281
+ ): PipeAsyncSideEffectStrict<[
282
+ AsyncOrSync<A, B>,
283
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
284
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
285
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
286
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
287
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
288
+ AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
289
+ AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
290
+ AsyncOrSync<NonSideEffect<Awaited<I>>, R>
291
+ ]>;
292
+ function pipeAsyncSideEffectStrict<A, B, C, D, E, F, G, H, I, J, R>(
293
+ ab: AsyncOrSync<A, B>,
294
+ bc: AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
295
+ cd: AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
296
+ de: AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
297
+ ef: AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
298
+ fg: AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
299
+ gh: AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
300
+ hi: AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
301
+ ij: AsyncOrSync<NonSideEffect<Awaited<I>>, J>,
302
+ jk: AsyncOrSync<NonSideEffect<Awaited<J>>, R>
303
+ ): PipeAsyncSideEffectStrict<[
304
+ AsyncOrSync<A, B>,
305
+ AsyncOrSync<NonSideEffect<Awaited<B>>, C>,
306
+ AsyncOrSync<NonSideEffect<Awaited<C>>, D>,
307
+ AsyncOrSync<NonSideEffect<Awaited<D>>, E>,
308
+ AsyncOrSync<NonSideEffect<Awaited<E>>, F>,
309
+ AsyncOrSync<NonSideEffect<Awaited<F>>, G>,
310
+ AsyncOrSync<NonSideEffect<Awaited<G>>, H>,
311
+ AsyncOrSync<NonSideEffect<Awaited<H>>, I>,
312
+ AsyncOrSync<NonSideEffect<Awaited<I>>, J>,
313
+ AsyncOrSync<NonSideEffect<Awaited<J>>, R>
314
+ ]>;
125
315
 
126
316
  function pipeAsyncSideEffectStrict<Fns extends [AnyFn, ...AnyFn[]]>(...funcs: Fns): PipeAsyncSideEffectStrict<Fns>;
127
317
  function pipeAsyncSideEffectStrict(...funcs: Array<AsyncOrSync<any, any>>) {
@@ -23,6 +23,56 @@ function pipe<B, C, D, E, R>(
23
23
  de: UnaryFn<D, E>,
24
24
  ef: UnaryFn<E, R>
25
25
  ): () => R;
26
+ function pipe<B, C, D, E, F, R>(
27
+ ab: ZeroFn<B>,
28
+ bc: UnaryFn<B, C>,
29
+ cd: UnaryFn<C, D>,
30
+ de: UnaryFn<D, E>,
31
+ ef: UnaryFn<E, F>,
32
+ fg: UnaryFn<F, R>
33
+ ): () => R;
34
+ function pipe<B, C, D, E, F, G, R>(
35
+ ab: ZeroFn<B>,
36
+ bc: UnaryFn<B, C>,
37
+ cd: UnaryFn<C, D>,
38
+ de: UnaryFn<D, E>,
39
+ ef: UnaryFn<E, F>,
40
+ fg: UnaryFn<F, G>,
41
+ gh: UnaryFn<G, R>
42
+ ): () => R;
43
+ function pipe<B, C, D, E, F, G, H, R>(
44
+ ab: ZeroFn<B>,
45
+ bc: UnaryFn<B, C>,
46
+ cd: UnaryFn<C, D>,
47
+ de: UnaryFn<D, E>,
48
+ ef: UnaryFn<E, F>,
49
+ fg: UnaryFn<F, G>,
50
+ gh: UnaryFn<G, H>,
51
+ hi: UnaryFn<H, R>
52
+ ): () => R;
53
+ function pipe<B, C, D, E, F, G, H, I, R>(
54
+ ab: ZeroFn<B>,
55
+ bc: UnaryFn<B, C>,
56
+ cd: UnaryFn<C, D>,
57
+ de: UnaryFn<D, E>,
58
+ ef: UnaryFn<E, F>,
59
+ fg: UnaryFn<F, G>,
60
+ gh: UnaryFn<G, H>,
61
+ hi: UnaryFn<H, I>,
62
+ ij: UnaryFn<I, R>
63
+ ): () => R;
64
+ function pipe<B, C, D, E, F, G, H, I, J, R>(
65
+ ab: ZeroFn<B>,
66
+ bc: UnaryFn<B, C>,
67
+ cd: UnaryFn<C, D>,
68
+ de: UnaryFn<D, E>,
69
+ ef: UnaryFn<E, F>,
70
+ fg: UnaryFn<F, G>,
71
+ gh: UnaryFn<G, H>,
72
+ hi: UnaryFn<H, I>,
73
+ ij: UnaryFn<I, J>,
74
+ jk: UnaryFn<J, R>
75
+ ): () => R;
26
76
  function pipe<A, R>(ab: UnaryFn<A, R>): (a: A) => R;
27
77
  function pipe<A, B, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, R>): (a: A) => R;
28
78
  function pipe<A, B, C, R>(ab: UnaryFn<A, B>, bc: UnaryFn<B, C>, cd: UnaryFn<C, R>): (a: A) => R;
@@ -39,6 +89,56 @@ function pipe<A, B, C, D, E, R>(
39
89
  de: UnaryFn<D, E>,
40
90
  ef: UnaryFn<E, R>
41
91
  ): (a: A) => R;
92
+ function pipe<A, B, C, D, E, F, R>(
93
+ ab: UnaryFn<A, B>,
94
+ bc: UnaryFn<B, C>,
95
+ cd: UnaryFn<C, D>,
96
+ de: UnaryFn<D, E>,
97
+ ef: UnaryFn<E, F>,
98
+ fg: UnaryFn<F, R>
99
+ ): (a: A) => R;
100
+ function pipe<A, B, C, D, E, F, G, R>(
101
+ ab: UnaryFn<A, B>,
102
+ bc: UnaryFn<B, C>,
103
+ cd: UnaryFn<C, D>,
104
+ de: UnaryFn<D, E>,
105
+ ef: UnaryFn<E, F>,
106
+ fg: UnaryFn<F, G>,
107
+ gh: UnaryFn<G, R>
108
+ ): (a: A) => R;
109
+ function pipe<A, B, C, D, E, F, G, H, R>(
110
+ ab: UnaryFn<A, B>,
111
+ bc: UnaryFn<B, C>,
112
+ cd: UnaryFn<C, D>,
113
+ de: UnaryFn<D, E>,
114
+ ef: UnaryFn<E, F>,
115
+ fg: UnaryFn<F, G>,
116
+ gh: UnaryFn<G, H>,
117
+ hi: UnaryFn<H, R>
118
+ ): (a: A) => R;
119
+ function pipe<A, B, C, D, E, F, G, H, I, R>(
120
+ ab: UnaryFn<A, B>,
121
+ bc: UnaryFn<B, C>,
122
+ cd: UnaryFn<C, D>,
123
+ de: UnaryFn<D, E>,
124
+ ef: UnaryFn<E, F>,
125
+ fg: UnaryFn<F, G>,
126
+ gh: UnaryFn<G, H>,
127
+ hi: UnaryFn<H, I>,
128
+ ij: UnaryFn<I, R>
129
+ ): (a: A) => R;
130
+ function pipe<A, B, C, D, E, F, G, H, I, J, R>(
131
+ ab: UnaryFn<A, B>,
132
+ bc: UnaryFn<B, C>,
133
+ cd: UnaryFn<C, D>,
134
+ de: UnaryFn<D, E>,
135
+ ef: UnaryFn<E, F>,
136
+ fg: UnaryFn<F, G>,
137
+ gh: UnaryFn<G, H>,
138
+ hi: UnaryFn<H, I>,
139
+ ij: UnaryFn<I, J>,
140
+ jk: UnaryFn<J, R>
141
+ ): (a: A) => R;
42
142
 
43
143
  function pipe<Fns extends [UnaryFn<any, any>, ...UnaryFn<any, any>[]]>(...funcs: Fns): Pipe<Fns>;
44
144
  function pipe(...funcs: Array<UnaryFn<any, any>>): (input: any) => any;