@nlozgachev/pipelined 0.14.0 → 0.15.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.
- package/dist/{chunk-UV2HMF2A.mjs → chunk-2XKWSZEU.mjs} +35 -0
- package/dist/chunk-KXAWFKQQ.mjs +242 -0
- package/dist/composition.d.mts +10 -18
- package/dist/composition.d.ts +10 -18
- package/dist/composition.js +116 -10
- package/dist/composition.mjs +1 -1
- package/dist/core.d.mts +213 -118
- package/dist/core.d.ts +213 -118
- package/dist/core.js +67 -31
- package/dist/core.mjs +3 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +183 -41
- package/dist/index.mjs +4 -2
- package/package.json +4 -2
- package/dist/chunk-4TXC322E.mjs +0 -136
package/dist/core.js
CHANGED
|
@@ -29,6 +29,7 @@ __export(Core_exports, {
|
|
|
29
29
|
Reader: () => Reader,
|
|
30
30
|
Refinement: () => Refinement,
|
|
31
31
|
RemoteData: () => RemoteData,
|
|
32
|
+
Resource: () => Resource,
|
|
32
33
|
Result: () => Result,
|
|
33
34
|
State: () => State,
|
|
34
35
|
Task: () => Task,
|
|
@@ -326,37 +327,6 @@ var RemoteData;
|
|
|
326
327
|
RemoteData2.toResult = (onNotReady) => (data) => (0, RemoteData2.isSuccess)(data) ? Result.ok(data.value) : Result.err((0, RemoteData2.isFailure)(data) ? data.error : onNotReady());
|
|
327
328
|
})(RemoteData || (RemoteData = {}));
|
|
328
329
|
|
|
329
|
-
// src/Core/State.ts
|
|
330
|
-
var State;
|
|
331
|
-
((State2) => {
|
|
332
|
-
State2.resolve = (value) => (s) => [value, s];
|
|
333
|
-
State2.get = () => (s) => [s, s];
|
|
334
|
-
State2.gets = (f) => (s) => [f(s), s];
|
|
335
|
-
State2.put = (newState) => (_s) => [void 0, newState];
|
|
336
|
-
State2.modify = (f) => (s) => [void 0, f(s)];
|
|
337
|
-
State2.map = (f) => (st) => (s) => {
|
|
338
|
-
const [a, s1] = st(s);
|
|
339
|
-
return [f(a), s1];
|
|
340
|
-
};
|
|
341
|
-
State2.chain = (f) => (st) => (s) => {
|
|
342
|
-
const [a, s1] = st(s);
|
|
343
|
-
return f(a)(s1);
|
|
344
|
-
};
|
|
345
|
-
State2.ap = (arg) => (fn) => (s) => {
|
|
346
|
-
const [f, s1] = fn(s);
|
|
347
|
-
const [a, s2] = arg(s1);
|
|
348
|
-
return [f(a), s2];
|
|
349
|
-
};
|
|
350
|
-
State2.tap = (f) => (st) => (s) => {
|
|
351
|
-
const [a, s1] = st(s);
|
|
352
|
-
f(a);
|
|
353
|
-
return [a, s1];
|
|
354
|
-
};
|
|
355
|
-
State2.run = (initialState) => (st) => st(initialState);
|
|
356
|
-
State2.evaluate = (initialState) => (st) => st(initialState)[0];
|
|
357
|
-
State2.execute = (initialState) => (st) => st(initialState)[1];
|
|
358
|
-
})(State || (State = {}));
|
|
359
|
-
|
|
360
330
|
// src/Core/Task.ts
|
|
361
331
|
var toPromise = (task) => Deferred.toPromise(task());
|
|
362
332
|
var Task;
|
|
@@ -431,6 +401,71 @@ var Task;
|
|
|
431
401
|
});
|
|
432
402
|
})(Task || (Task = {}));
|
|
433
403
|
|
|
404
|
+
// src/Core/Resource.ts
|
|
405
|
+
var Resource;
|
|
406
|
+
((Resource2) => {
|
|
407
|
+
Resource2.make = (acquire, release) => ({ acquire, release });
|
|
408
|
+
Resource2.fromTask = (acquire, release) => ({
|
|
409
|
+
acquire: Task.map((a) => Result.ok(a))(acquire),
|
|
410
|
+
release
|
|
411
|
+
});
|
|
412
|
+
Resource2.use = (f) => (resource) => Task.from(
|
|
413
|
+
() => Deferred.toPromise(resource.acquire()).then(async (acquired) => {
|
|
414
|
+
if (Result.isErr(acquired)) return acquired;
|
|
415
|
+
const a = acquired.value;
|
|
416
|
+
const usageResult = await Deferred.toPromise(f(a)());
|
|
417
|
+
await Deferred.toPromise(resource.release(a)());
|
|
418
|
+
return usageResult;
|
|
419
|
+
})
|
|
420
|
+
);
|
|
421
|
+
Resource2.combine = (resourceA, resourceB) => ({
|
|
422
|
+
acquire: Task.from(
|
|
423
|
+
() => Deferred.toPromise(resourceA.acquire()).then(async (acquiredA) => {
|
|
424
|
+
if (Result.isErr(acquiredA)) return acquiredA;
|
|
425
|
+
const a = acquiredA.value;
|
|
426
|
+
const acquiredB = await Deferred.toPromise(resourceB.acquire());
|
|
427
|
+
if (Result.isErr(acquiredB)) {
|
|
428
|
+
await Deferred.toPromise(resourceA.release(a)());
|
|
429
|
+
return acquiredB;
|
|
430
|
+
}
|
|
431
|
+
return Result.ok([a, acquiredB.value]);
|
|
432
|
+
})
|
|
433
|
+
),
|
|
434
|
+
release: ([a, b]) => Task.from(() => Deferred.toPromise(resourceB.release(b)()).then(() => Deferred.toPromise(resourceA.release(a)())))
|
|
435
|
+
});
|
|
436
|
+
})(Resource || (Resource = {}));
|
|
437
|
+
|
|
438
|
+
// src/Core/State.ts
|
|
439
|
+
var State;
|
|
440
|
+
((State2) => {
|
|
441
|
+
State2.resolve = (value) => (s) => [value, s];
|
|
442
|
+
State2.get = () => (s) => [s, s];
|
|
443
|
+
State2.gets = (f) => (s) => [f(s), s];
|
|
444
|
+
State2.put = (newState) => (_s) => [void 0, newState];
|
|
445
|
+
State2.modify = (f) => (s) => [void 0, f(s)];
|
|
446
|
+
State2.map = (f) => (st) => (s) => {
|
|
447
|
+
const [a, s1] = st(s);
|
|
448
|
+
return [f(a), s1];
|
|
449
|
+
};
|
|
450
|
+
State2.chain = (f) => (st) => (s) => {
|
|
451
|
+
const [a, s1] = st(s);
|
|
452
|
+
return f(a)(s1);
|
|
453
|
+
};
|
|
454
|
+
State2.ap = (arg) => (fn) => (s) => {
|
|
455
|
+
const [f, s1] = fn(s);
|
|
456
|
+
const [a, s2] = arg(s1);
|
|
457
|
+
return [f(a), s2];
|
|
458
|
+
};
|
|
459
|
+
State2.tap = (f) => (st) => (s) => {
|
|
460
|
+
const [a, s1] = st(s);
|
|
461
|
+
f(a);
|
|
462
|
+
return [a, s1];
|
|
463
|
+
};
|
|
464
|
+
State2.run = (initialState) => (st) => st(initialState);
|
|
465
|
+
State2.evaluate = (initialState) => (st) => st(initialState)[0];
|
|
466
|
+
State2.execute = (initialState) => (st) => st(initialState)[1];
|
|
467
|
+
})(State || (State = {}));
|
|
468
|
+
|
|
434
469
|
// src/Core/TaskOption.ts
|
|
435
470
|
var TaskOption;
|
|
436
471
|
((TaskOption2) => {
|
|
@@ -686,6 +721,7 @@ var Tuple;
|
|
|
686
721
|
Reader,
|
|
687
722
|
Refinement,
|
|
688
723
|
RemoteData,
|
|
724
|
+
Resource,
|
|
689
725
|
Result,
|
|
690
726
|
State,
|
|
691
727
|
Task,
|
package/dist/core.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
Reader,
|
|
7
7
|
Refinement,
|
|
8
8
|
RemoteData,
|
|
9
|
+
Resource,
|
|
9
10
|
State,
|
|
10
11
|
TaskOption,
|
|
11
12
|
TaskResult,
|
|
@@ -13,7 +14,7 @@ import {
|
|
|
13
14
|
These,
|
|
14
15
|
Tuple,
|
|
15
16
|
Validation
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-2XKWSZEU.mjs";
|
|
17
18
|
import {
|
|
18
19
|
Deferred,
|
|
19
20
|
Option,
|
|
@@ -30,6 +31,7 @@ export {
|
|
|
30
31
|
Reader,
|
|
31
32
|
Refinement,
|
|
32
33
|
RemoteData,
|
|
34
|
+
Resource,
|
|
33
35
|
Result,
|
|
34
36
|
State,
|
|
35
37
|
Task,
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { and, compose, constFalse, constNull, constTrue, constUndefined, constVoid, constant, converge, curry, curry3, curry4, flip, flow, identity, juxt, memoize, memoizeWeak, not, on, once, or, pipe, tap, uncurry, uncurry3, uncurry4 } from './composition.mjs';
|
|
2
2
|
export { D as Deferred, E as Err, N as None, O as Ok, a as Option, R as Result, S as Some, T as Task } from './Task-Bd3gXPRQ.mjs';
|
|
3
|
-
export { Failure, Invalid, Lens, Loading, Logged, NotAsked, Optional, Predicate, Reader, Refinement, RemoteData, State, Success, TaskOption, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.mjs';
|
|
3
|
+
export { Failure, Invalid, Lens, Loading, Logged, NotAsked, Optional, Predicate, Reader, Refinement, RemoteData, Resource, State, Success, TaskOption, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.mjs';
|
|
4
4
|
export { Brand } from './types.mjs';
|
|
5
5
|
export { N as NonEmptyList, i as isNonEmptyList } from './NonEmptyList-BlGFjor5.mjs';
|
|
6
6
|
export { Arr, Dict, Num, Rec, Str, Uniq } from './utils.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { and, compose, constFalse, constNull, constTrue, constUndefined, constVoid, constant, converge, curry, curry3, curry4, flip, flow, identity, juxt, memoize, memoizeWeak, not, on, once, or, pipe, tap, uncurry, uncurry3, uncurry4 } from './composition.js';
|
|
2
2
|
export { D as Deferred, E as Err, N as None, O as Ok, a as Option, R as Result, S as Some, T as Task } from './Task-BjAkkD6t.js';
|
|
3
|
-
export { Failure, Invalid, Lens, Loading, Logged, NotAsked, Optional, Predicate, Reader, Refinement, RemoteData, State, Success, TaskOption, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.js';
|
|
3
|
+
export { Failure, Invalid, Lens, Loading, Logged, NotAsked, Optional, Predicate, Reader, Refinement, RemoteData, Resource, State, Success, TaskOption, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.js';
|
|
4
4
|
export { Brand } from './types.js';
|
|
5
5
|
export { N as NonEmptyList, i as isNonEmptyList } from './NonEmptyList-BlGFjor5.js';
|
|
6
6
|
export { Arr, Dict, Num, Rec, Str, Uniq } from './utils.js';
|
package/dist/index.js
CHANGED
|
@@ -34,6 +34,7 @@ __export(src_exports, {
|
|
|
34
34
|
Rec: () => Rec,
|
|
35
35
|
Refinement: () => Refinement,
|
|
36
36
|
RemoteData: () => RemoteData,
|
|
37
|
+
Resource: () => Resource,
|
|
37
38
|
Result: () => Result,
|
|
38
39
|
State: () => State,
|
|
39
40
|
Str: () => Str,
|
|
@@ -77,8 +78,49 @@ __export(src_exports, {
|
|
|
77
78
|
module.exports = __toCommonJS(src_exports);
|
|
78
79
|
|
|
79
80
|
// src/Composition/compose.ts
|
|
80
|
-
function compose(
|
|
81
|
-
|
|
81
|
+
function compose(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9) {
|
|
82
|
+
const len = arguments.length;
|
|
83
|
+
switch (len) {
|
|
84
|
+
case 1:
|
|
85
|
+
return f0;
|
|
86
|
+
case 2:
|
|
87
|
+
return function() {
|
|
88
|
+
return f0(f1.apply(this, arguments));
|
|
89
|
+
};
|
|
90
|
+
case 3:
|
|
91
|
+
return function() {
|
|
92
|
+
return f0(f1(f2.apply(this, arguments)));
|
|
93
|
+
};
|
|
94
|
+
case 4:
|
|
95
|
+
return function() {
|
|
96
|
+
return f0(f1(f2(f3.apply(this, arguments))));
|
|
97
|
+
};
|
|
98
|
+
case 5:
|
|
99
|
+
return function() {
|
|
100
|
+
return f0(f1(f2(f3(f4.apply(this, arguments)))));
|
|
101
|
+
};
|
|
102
|
+
case 6:
|
|
103
|
+
return function() {
|
|
104
|
+
return f0(f1(f2(f3(f4(f5.apply(this, arguments))))));
|
|
105
|
+
};
|
|
106
|
+
case 7:
|
|
107
|
+
return function() {
|
|
108
|
+
return f0(f1(f2(f3(f4(f5(f6.apply(this, arguments)))))));
|
|
109
|
+
};
|
|
110
|
+
case 8:
|
|
111
|
+
return function() {
|
|
112
|
+
return f0(f1(f2(f3(f4(f5(f6(f7.apply(this, arguments))))))));
|
|
113
|
+
};
|
|
114
|
+
case 9:
|
|
115
|
+
return function() {
|
|
116
|
+
return f0(f1(f2(f3(f4(f5(f6(f7(f8.apply(this, arguments)))))))));
|
|
117
|
+
};
|
|
118
|
+
case 10:
|
|
119
|
+
return function() {
|
|
120
|
+
return f0(f1(f2(f3(f4(f5(f6(f7(f8(f9.apply(this, arguments))))))))));
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
return f0;
|
|
82
124
|
}
|
|
83
125
|
|
|
84
126
|
// src/Composition/converge.ts
|
|
@@ -95,12 +137,53 @@ var curry4 = (f) => (a) => (b) => (c) => (d) => f(a, b, c, d);
|
|
|
95
137
|
var flip = (f) => (b) => (a) => f(a)(b);
|
|
96
138
|
|
|
97
139
|
// src/Composition/flow.ts
|
|
98
|
-
function flow(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
140
|
+
function flow(ab, bc, cd, de, ef, fg, gh, hi, ij, jk) {
|
|
141
|
+
const len = arguments.length;
|
|
142
|
+
switch (len) {
|
|
143
|
+
case 0:
|
|
144
|
+
return function(...args) {
|
|
145
|
+
return args[0];
|
|
146
|
+
};
|
|
147
|
+
case 1:
|
|
148
|
+
return ab;
|
|
149
|
+
case 2:
|
|
150
|
+
return function() {
|
|
151
|
+
return bc(ab.apply(this, arguments));
|
|
152
|
+
};
|
|
153
|
+
case 3:
|
|
154
|
+
return function() {
|
|
155
|
+
return cd(bc(ab.apply(this, arguments)));
|
|
156
|
+
};
|
|
157
|
+
case 4:
|
|
158
|
+
return function() {
|
|
159
|
+
return de(cd(bc(ab.apply(this, arguments))));
|
|
160
|
+
};
|
|
161
|
+
case 5:
|
|
162
|
+
return function() {
|
|
163
|
+
return ef(de(cd(bc(ab.apply(this, arguments)))));
|
|
164
|
+
};
|
|
165
|
+
case 6:
|
|
166
|
+
return function() {
|
|
167
|
+
return fg(ef(de(cd(bc(ab.apply(this, arguments))))));
|
|
168
|
+
};
|
|
169
|
+
case 7:
|
|
170
|
+
return function() {
|
|
171
|
+
return gh(fg(ef(de(cd(bc(ab.apply(this, arguments)))))));
|
|
172
|
+
};
|
|
173
|
+
case 8:
|
|
174
|
+
return function() {
|
|
175
|
+
return hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments))))))));
|
|
176
|
+
};
|
|
177
|
+
case 9:
|
|
178
|
+
return function() {
|
|
179
|
+
return ij(hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments)))))))));
|
|
180
|
+
};
|
|
181
|
+
case 10:
|
|
182
|
+
return function() {
|
|
183
|
+
return jk(ij(hi(gh(fg(ef(de(cd(bc(ab.apply(this, arguments))))))))));
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
return ab;
|
|
104
187
|
}
|
|
105
188
|
|
|
106
189
|
// src/Composition/fn.ts
|
|
@@ -163,8 +246,32 @@ var not = (predicate) => (...args) => !predicate(...args);
|
|
|
163
246
|
var on = (f, g) => (a, b) => f(g(a), g(b));
|
|
164
247
|
|
|
165
248
|
// src/Composition/pipe.ts
|
|
166
|
-
function pipe(a,
|
|
167
|
-
|
|
249
|
+
function pipe(a, ab, bc, cd, de, ef, fg, gh, hi, ij, jk) {
|
|
250
|
+
const len = arguments.length;
|
|
251
|
+
switch (len) {
|
|
252
|
+
case 1:
|
|
253
|
+
return a;
|
|
254
|
+
case 2:
|
|
255
|
+
return ab(a);
|
|
256
|
+
case 3:
|
|
257
|
+
return bc(ab(a));
|
|
258
|
+
case 4:
|
|
259
|
+
return cd(bc(ab(a)));
|
|
260
|
+
case 5:
|
|
261
|
+
return de(cd(bc(ab(a))));
|
|
262
|
+
case 6:
|
|
263
|
+
return ef(de(cd(bc(ab(a)))));
|
|
264
|
+
case 7:
|
|
265
|
+
return fg(ef(de(cd(bc(ab(a))))));
|
|
266
|
+
case 8:
|
|
267
|
+
return gh(fg(ef(de(cd(bc(ab(a)))))));
|
|
268
|
+
case 9:
|
|
269
|
+
return hi(gh(fg(ef(de(cd(bc(ab(a))))))));
|
|
270
|
+
case 10:
|
|
271
|
+
return ij(hi(gh(fg(ef(de(cd(bc(ab(a)))))))));
|
|
272
|
+
case 11:
|
|
273
|
+
return jk(ij(hi(gh(fg(ef(de(cd(bc(ab(a))))))))));
|
|
274
|
+
}
|
|
168
275
|
}
|
|
169
276
|
|
|
170
277
|
// src/Composition/tap.ts
|
|
@@ -468,37 +575,6 @@ var RemoteData;
|
|
|
468
575
|
RemoteData2.toResult = (onNotReady) => (data) => (0, RemoteData2.isSuccess)(data) ? Result.ok(data.value) : Result.err((0, RemoteData2.isFailure)(data) ? data.error : onNotReady());
|
|
469
576
|
})(RemoteData || (RemoteData = {}));
|
|
470
577
|
|
|
471
|
-
// src/Core/State.ts
|
|
472
|
-
var State;
|
|
473
|
-
((State2) => {
|
|
474
|
-
State2.resolve = (value) => (s) => [value, s];
|
|
475
|
-
State2.get = () => (s) => [s, s];
|
|
476
|
-
State2.gets = (f) => (s) => [f(s), s];
|
|
477
|
-
State2.put = (newState) => (_s) => [void 0, newState];
|
|
478
|
-
State2.modify = (f) => (s) => [void 0, f(s)];
|
|
479
|
-
State2.map = (f) => (st) => (s) => {
|
|
480
|
-
const [a, s1] = st(s);
|
|
481
|
-
return [f(a), s1];
|
|
482
|
-
};
|
|
483
|
-
State2.chain = (f) => (st) => (s) => {
|
|
484
|
-
const [a, s1] = st(s);
|
|
485
|
-
return f(a)(s1);
|
|
486
|
-
};
|
|
487
|
-
State2.ap = (arg) => (fn) => (s) => {
|
|
488
|
-
const [f, s1] = fn(s);
|
|
489
|
-
const [a, s2] = arg(s1);
|
|
490
|
-
return [f(a), s2];
|
|
491
|
-
};
|
|
492
|
-
State2.tap = (f) => (st) => (s) => {
|
|
493
|
-
const [a, s1] = st(s);
|
|
494
|
-
f(a);
|
|
495
|
-
return [a, s1];
|
|
496
|
-
};
|
|
497
|
-
State2.run = (initialState) => (st) => st(initialState);
|
|
498
|
-
State2.evaluate = (initialState) => (st) => st(initialState)[0];
|
|
499
|
-
State2.execute = (initialState) => (st) => st(initialState)[1];
|
|
500
|
-
})(State || (State = {}));
|
|
501
|
-
|
|
502
578
|
// src/Core/Task.ts
|
|
503
579
|
var toPromise = (task) => Deferred.toPromise(task());
|
|
504
580
|
var Task;
|
|
@@ -573,6 +649,71 @@ var Task;
|
|
|
573
649
|
});
|
|
574
650
|
})(Task || (Task = {}));
|
|
575
651
|
|
|
652
|
+
// src/Core/Resource.ts
|
|
653
|
+
var Resource;
|
|
654
|
+
((Resource2) => {
|
|
655
|
+
Resource2.make = (acquire, release) => ({ acquire, release });
|
|
656
|
+
Resource2.fromTask = (acquire, release) => ({
|
|
657
|
+
acquire: Task.map((a) => Result.ok(a))(acquire),
|
|
658
|
+
release
|
|
659
|
+
});
|
|
660
|
+
Resource2.use = (f) => (resource) => Task.from(
|
|
661
|
+
() => Deferred.toPromise(resource.acquire()).then(async (acquired) => {
|
|
662
|
+
if (Result.isErr(acquired)) return acquired;
|
|
663
|
+
const a = acquired.value;
|
|
664
|
+
const usageResult = await Deferred.toPromise(f(a)());
|
|
665
|
+
await Deferred.toPromise(resource.release(a)());
|
|
666
|
+
return usageResult;
|
|
667
|
+
})
|
|
668
|
+
);
|
|
669
|
+
Resource2.combine = (resourceA, resourceB) => ({
|
|
670
|
+
acquire: Task.from(
|
|
671
|
+
() => Deferred.toPromise(resourceA.acquire()).then(async (acquiredA) => {
|
|
672
|
+
if (Result.isErr(acquiredA)) return acquiredA;
|
|
673
|
+
const a = acquiredA.value;
|
|
674
|
+
const acquiredB = await Deferred.toPromise(resourceB.acquire());
|
|
675
|
+
if (Result.isErr(acquiredB)) {
|
|
676
|
+
await Deferred.toPromise(resourceA.release(a)());
|
|
677
|
+
return acquiredB;
|
|
678
|
+
}
|
|
679
|
+
return Result.ok([a, acquiredB.value]);
|
|
680
|
+
})
|
|
681
|
+
),
|
|
682
|
+
release: ([a, b]) => Task.from(() => Deferred.toPromise(resourceB.release(b)()).then(() => Deferred.toPromise(resourceA.release(a)())))
|
|
683
|
+
});
|
|
684
|
+
})(Resource || (Resource = {}));
|
|
685
|
+
|
|
686
|
+
// src/Core/State.ts
|
|
687
|
+
var State;
|
|
688
|
+
((State2) => {
|
|
689
|
+
State2.resolve = (value) => (s) => [value, s];
|
|
690
|
+
State2.get = () => (s) => [s, s];
|
|
691
|
+
State2.gets = (f) => (s) => [f(s), s];
|
|
692
|
+
State2.put = (newState) => (_s) => [void 0, newState];
|
|
693
|
+
State2.modify = (f) => (s) => [void 0, f(s)];
|
|
694
|
+
State2.map = (f) => (st) => (s) => {
|
|
695
|
+
const [a, s1] = st(s);
|
|
696
|
+
return [f(a), s1];
|
|
697
|
+
};
|
|
698
|
+
State2.chain = (f) => (st) => (s) => {
|
|
699
|
+
const [a, s1] = st(s);
|
|
700
|
+
return f(a)(s1);
|
|
701
|
+
};
|
|
702
|
+
State2.ap = (arg) => (fn) => (s) => {
|
|
703
|
+
const [f, s1] = fn(s);
|
|
704
|
+
const [a, s2] = arg(s1);
|
|
705
|
+
return [f(a), s2];
|
|
706
|
+
};
|
|
707
|
+
State2.tap = (f) => (st) => (s) => {
|
|
708
|
+
const [a, s1] = st(s);
|
|
709
|
+
f(a);
|
|
710
|
+
return [a, s1];
|
|
711
|
+
};
|
|
712
|
+
State2.run = (initialState) => (st) => st(initialState);
|
|
713
|
+
State2.evaluate = (initialState) => (st) => st(initialState)[0];
|
|
714
|
+
State2.execute = (initialState) => (st) => st(initialState)[1];
|
|
715
|
+
})(State || (State = {}));
|
|
716
|
+
|
|
576
717
|
// src/Core/TaskOption.ts
|
|
577
718
|
var TaskOption;
|
|
578
719
|
((TaskOption2) => {
|
|
@@ -1379,6 +1520,7 @@ var Uniq;
|
|
|
1379
1520
|
Rec,
|
|
1380
1521
|
Refinement,
|
|
1381
1522
|
RemoteData,
|
|
1523
|
+
Resource,
|
|
1382
1524
|
Result,
|
|
1383
1525
|
State,
|
|
1384
1526
|
Str,
|
package/dist/index.mjs
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
uncurry,
|
|
27
27
|
uncurry3,
|
|
28
28
|
uncurry4
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-KXAWFKQQ.mjs";
|
|
30
30
|
import {
|
|
31
31
|
Lens,
|
|
32
32
|
Logged,
|
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
Reader,
|
|
36
36
|
Refinement,
|
|
37
37
|
RemoteData,
|
|
38
|
+
Resource,
|
|
38
39
|
State,
|
|
39
40
|
TaskOption,
|
|
40
41
|
TaskResult,
|
|
@@ -42,7 +43,7 @@ import {
|
|
|
42
43
|
These,
|
|
43
44
|
Tuple,
|
|
44
45
|
Validation
|
|
45
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-2XKWSZEU.mjs";
|
|
46
47
|
import {
|
|
47
48
|
Arr,
|
|
48
49
|
Dict,
|
|
@@ -78,6 +79,7 @@ export {
|
|
|
78
79
|
Rec,
|
|
79
80
|
Refinement,
|
|
80
81
|
RemoteData,
|
|
82
|
+
Resource,
|
|
81
83
|
Result,
|
|
82
84
|
State,
|
|
83
85
|
Str,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlozgachev/pipelined",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Simple functional programming toolkit for TypeScript",
|
|
5
5
|
"license": "BSD-3-Clause",
|
|
6
6
|
"homepage": "https://pipelined.lozgachev.dev",
|
|
@@ -57,10 +57,12 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/node": "25.5.0",
|
|
60
|
+
"@vitest/coverage-v8": "4.1.0",
|
|
60
61
|
"dprint": "0.53.0",
|
|
61
62
|
"oxlint": "1.56.0",
|
|
62
63
|
"tsup": "8.5.1",
|
|
63
64
|
"typescript": "5.9.3",
|
|
64
65
|
"vitest": "4.1.0"
|
|
65
|
-
}
|
|
66
|
+
},
|
|
67
|
+
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be"
|
|
66
68
|
}
|
package/dist/chunk-4TXC322E.mjs
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
// src/Composition/compose.ts
|
|
2
|
-
function compose(...fns) {
|
|
3
|
-
return (arg) => fns.reduceRight((acc, fn) => fn(acc), arg);
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
// src/Composition/converge.ts
|
|
7
|
-
function converge(f, transformers) {
|
|
8
|
-
return (a) => f(...transformers.map((t) => t(a)));
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// src/Composition/curry.ts
|
|
12
|
-
var curry = (f) => (a) => (b) => f(a, b);
|
|
13
|
-
var curry3 = (f) => (a) => (b) => (c) => f(a, b, c);
|
|
14
|
-
var curry4 = (f) => (a) => (b) => (c) => (d) => f(a, b, c, d);
|
|
15
|
-
|
|
16
|
-
// src/Composition/flip.ts
|
|
17
|
-
var flip = (f) => (b) => (a) => f(a)(b);
|
|
18
|
-
|
|
19
|
-
// src/Composition/flow.ts
|
|
20
|
-
function flow(...fns) {
|
|
21
|
-
return (...args) => {
|
|
22
|
-
if (fns.length === 0) return args[0];
|
|
23
|
-
const [first, ...rest] = fns;
|
|
24
|
-
return rest.reduce((acc, fn) => fn(acc), first(...args));
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// src/Composition/fn.ts
|
|
29
|
-
var identity = (a) => a;
|
|
30
|
-
var constant = (a) => () => a;
|
|
31
|
-
var constTrue = () => true;
|
|
32
|
-
var constFalse = () => false;
|
|
33
|
-
var constNull = () => null;
|
|
34
|
-
var constUndefined = () => void 0;
|
|
35
|
-
var constVoid = () => {
|
|
36
|
-
};
|
|
37
|
-
var and = (p1, p2) => (...args) => p1(...args) && p2(...args);
|
|
38
|
-
var or = (p1, p2) => (...args) => p1(...args) || p2(...args);
|
|
39
|
-
var once = (f) => {
|
|
40
|
-
let called = false;
|
|
41
|
-
let result;
|
|
42
|
-
return () => {
|
|
43
|
-
if (!called) {
|
|
44
|
-
result = f();
|
|
45
|
-
called = true;
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// src/Composition/juxt.ts
|
|
52
|
-
function juxt(fns) {
|
|
53
|
-
return (a) => fns.map((f) => f(a));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// src/Composition/memoize.ts
|
|
57
|
-
var memoize = (f, keyFn = (a) => a) => {
|
|
58
|
-
const cache = /* @__PURE__ */ new Map();
|
|
59
|
-
return (a) => {
|
|
60
|
-
const key = keyFn(a);
|
|
61
|
-
if (cache.has(key)) {
|
|
62
|
-
return cache.get(key);
|
|
63
|
-
}
|
|
64
|
-
const result = f(a);
|
|
65
|
-
cache.set(key, result);
|
|
66
|
-
return result;
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
var memoizeWeak = (f) => {
|
|
70
|
-
const cache = /* @__PURE__ */ new WeakMap();
|
|
71
|
-
return (a) => {
|
|
72
|
-
if (cache.has(a)) {
|
|
73
|
-
return cache.get(a);
|
|
74
|
-
}
|
|
75
|
-
const result = f(a);
|
|
76
|
-
cache.set(a, result);
|
|
77
|
-
return result;
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// src/Composition/not.ts
|
|
82
|
-
var not = (predicate) => (...args) => !predicate(...args);
|
|
83
|
-
|
|
84
|
-
// src/Composition/on.ts
|
|
85
|
-
var on = (f, g) => (a, b) => f(g(a), g(b));
|
|
86
|
-
|
|
87
|
-
// src/Composition/pipe.ts
|
|
88
|
-
function pipe(a, ...fns) {
|
|
89
|
-
return fns.reduce((acc, fn) => fn(acc), a);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// src/Composition/tap.ts
|
|
93
|
-
var tap = (f) => (a) => {
|
|
94
|
-
f(a);
|
|
95
|
-
return a;
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
// src/Composition/uncurry.ts
|
|
99
|
-
function uncurry(f) {
|
|
100
|
-
return (...args) => {
|
|
101
|
-
const inner = f(...args.slice(0, f.length));
|
|
102
|
-
return inner.length === 0 ? inner() : inner(...args.slice(f.length));
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
var uncurry3 = (f) => (a, b, c) => f(a)(b)(c);
|
|
106
|
-
var uncurry4 = (f) => (a, b, c, d) => f(a)(b)(c)(d);
|
|
107
|
-
|
|
108
|
-
export {
|
|
109
|
-
compose,
|
|
110
|
-
converge,
|
|
111
|
-
curry,
|
|
112
|
-
curry3,
|
|
113
|
-
curry4,
|
|
114
|
-
flip,
|
|
115
|
-
flow,
|
|
116
|
-
identity,
|
|
117
|
-
constant,
|
|
118
|
-
constTrue,
|
|
119
|
-
constFalse,
|
|
120
|
-
constNull,
|
|
121
|
-
constUndefined,
|
|
122
|
-
constVoid,
|
|
123
|
-
and,
|
|
124
|
-
or,
|
|
125
|
-
once,
|
|
126
|
-
juxt,
|
|
127
|
-
memoize,
|
|
128
|
-
memoizeWeak,
|
|
129
|
-
not,
|
|
130
|
-
on,
|
|
131
|
-
pipe,
|
|
132
|
-
tap,
|
|
133
|
-
uncurry,
|
|
134
|
-
uncurry3,
|
|
135
|
-
uncurry4
|
|
136
|
-
};
|