@nlozgachev/pipelined 0.16.0 → 0.18.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/README.md +39 -21
- package/dist/{Task-Bd3gXPRQ.d.mts → Task-DBW4nOZR.d.mts} +79 -79
- package/dist/{Task-BjAkkD6t.d.ts → Task-DUdIQm-Q.d.ts} +79 -79
- package/dist/{chunk-KXAWFKQQ.mjs → chunk-5HMYR4XB.mjs} +0 -2
- package/dist/{chunk-FAZN3IWZ.mjs → chunk-B3YNH6GZ.mjs} +39 -19
- package/dist/{chunk-QPTGO5AS.mjs → chunk-EAR4TIGH.mjs} +26 -26
- package/dist/{chunk-2XKWSZEU.mjs → chunk-UWGFO7BH.mjs} +40 -29
- package/dist/composition.d.mts +18 -18
- package/dist/composition.d.ts +18 -18
- package/dist/composition.js +0 -2
- package/dist/composition.mjs +1 -1
- package/dist/core.d.mts +83 -53
- package/dist/core.d.ts +83 -53
- package/dist/core.js +66 -55
- package/dist/core.mjs +6 -6
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +103 -74
- package/dist/index.mjs +8 -8
- package/dist/utils.d.mts +65 -41
- package/dist/utils.d.ts +65 -41
- package/dist/utils.js +62 -42
- package/dist/utils.mjs +2 -2
- package/package.json +1 -1
package/dist/utils.js
CHANGED
|
@@ -67,37 +67,37 @@ var Result;
|
|
|
67
67
|
};
|
|
68
68
|
Result2.recover = (fallback) => (data) => (0, Result2.isOk)(data) ? data : fallback(data.error);
|
|
69
69
|
Result2.recoverUnless = (blockedErr, fallback) => (data) => (0, Result2.isErr)(data) && data.error !== blockedErr ? fallback() : data;
|
|
70
|
-
Result2.
|
|
70
|
+
Result2.toMaybe = (data) => (0, Result2.isOk)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
71
71
|
Result2.ap = (arg) => (data) => (0, Result2.isOk)(data) && (0, Result2.isOk)(arg) ? (0, Result2.ok)(data.value(arg.value)) : (0, Result2.isErr)(data) ? data : arg;
|
|
72
72
|
})(Result || (Result = {}));
|
|
73
73
|
|
|
74
|
-
// src/Core/
|
|
74
|
+
// src/Core/Maybe.ts
|
|
75
75
|
var _none = { kind: "None" };
|
|
76
|
-
var
|
|
77
|
-
((
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if ((0,
|
|
76
|
+
var Maybe;
|
|
77
|
+
((Maybe2) => {
|
|
78
|
+
Maybe2.some = (value) => ({ kind: "Some", value });
|
|
79
|
+
Maybe2.isSome = (data) => data.kind === "Some";
|
|
80
|
+
Maybe2.none = () => _none;
|
|
81
|
+
Maybe2.isNone = (data) => data.kind === "None";
|
|
82
|
+
Maybe2.fromNullable = (value) => value === null || value === void 0 ? (0, Maybe2.none)() : (0, Maybe2.some)(value);
|
|
83
|
+
Maybe2.toNullable = (data) => (0, Maybe2.isSome)(data) ? data.value : null;
|
|
84
|
+
Maybe2.toUndefined = (data) => (0, Maybe2.isSome)(data) ? data.value : void 0;
|
|
85
|
+
Maybe2.fromUndefined = (value) => value === void 0 ? (0, Maybe2.none)() : (0, Maybe2.some)(value);
|
|
86
|
+
Maybe2.toResult = (onNone) => (data) => (0, Maybe2.isSome)(data) ? Result.ok(data.value) : Result.err(onNone());
|
|
87
|
+
Maybe2.fromResult = (data) => Result.isOk(data) ? (0, Maybe2.some)(data.value) : (0, Maybe2.none)();
|
|
88
|
+
Maybe2.map = (f) => (data) => (0, Maybe2.isSome)(data) ? (0, Maybe2.some)(f(data.value)) : data;
|
|
89
|
+
Maybe2.chain = (f) => (data) => (0, Maybe2.isSome)(data) ? f(data.value) : data;
|
|
90
|
+
Maybe2.fold = (onNone, onSome) => (data) => (0, Maybe2.isSome)(data) ? onSome(data.value) : onNone();
|
|
91
|
+
Maybe2.match = (cases) => (data) => (0, Maybe2.isSome)(data) ? cases.some(data.value) : cases.none();
|
|
92
|
+
Maybe2.getOrElse = (defaultValue) => (data) => (0, Maybe2.isSome)(data) ? data.value : defaultValue();
|
|
93
|
+
Maybe2.tap = (f) => (data) => {
|
|
94
|
+
if ((0, Maybe2.isSome)(data)) f(data.value);
|
|
95
95
|
return data;
|
|
96
96
|
};
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
})(
|
|
97
|
+
Maybe2.filter = (predicate) => (data) => (0, Maybe2.isSome)(data) ? predicate(data.value) ? data : (0, Maybe2.none)() : data;
|
|
98
|
+
Maybe2.recover = (fallback) => (data) => (0, Maybe2.isSome)(data) ? data : fallback();
|
|
99
|
+
Maybe2.ap = (arg) => (data) => (0, Maybe2.isSome)(data) && (0, Maybe2.isSome)(arg) ? (0, Maybe2.some)(data.value(arg.value)) : (0, Maybe2.none)();
|
|
100
|
+
})(Maybe || (Maybe = {}));
|
|
101
101
|
|
|
102
102
|
// src/Core/Task.ts
|
|
103
103
|
var toPromise = (task) => Deferred.toPromise(task());
|
|
@@ -179,23 +179,23 @@ var isNonEmptyList = (list) => list.length > 0;
|
|
|
179
179
|
// src/Utils/Arr.ts
|
|
180
180
|
var Arr;
|
|
181
181
|
((Arr2) => {
|
|
182
|
-
Arr2.head = (data) => data.length > 0 ?
|
|
183
|
-
Arr2.last = (data) => data.length > 0 ?
|
|
184
|
-
Arr2.tail = (data) => data.length > 0 ?
|
|
185
|
-
Arr2.init = (data) => data.length > 0 ?
|
|
182
|
+
Arr2.head = (data) => data.length > 0 ? Maybe.some(data[0]) : Maybe.none();
|
|
183
|
+
Arr2.last = (data) => data.length > 0 ? Maybe.some(data[data.length - 1]) : Maybe.none();
|
|
184
|
+
Arr2.tail = (data) => data.length > 0 ? Maybe.some(data.slice(1)) : Maybe.none();
|
|
185
|
+
Arr2.init = (data) => data.length > 0 ? Maybe.some(data.slice(0, -1)) : Maybe.none();
|
|
186
186
|
Arr2.findFirst = (predicate) => (data) => {
|
|
187
187
|
const idx = data.findIndex(predicate);
|
|
188
|
-
return idx >= 0 ?
|
|
188
|
+
return idx >= 0 ? Maybe.some(data[idx]) : Maybe.none();
|
|
189
189
|
};
|
|
190
190
|
Arr2.findLast = (predicate) => (data) => {
|
|
191
191
|
for (let i = data.length - 1; i >= 0; i--) {
|
|
192
|
-
if (predicate(data[i])) return
|
|
192
|
+
if (predicate(data[i])) return Maybe.some(data[i]);
|
|
193
193
|
}
|
|
194
|
-
return
|
|
194
|
+
return Maybe.none();
|
|
195
195
|
};
|
|
196
196
|
Arr2.findIndex = (predicate) => (data) => {
|
|
197
197
|
const idx = data.findIndex(predicate);
|
|
198
|
-
return idx >= 0 ?
|
|
198
|
+
return idx >= 0 ? Maybe.some(idx) : Maybe.none();
|
|
199
199
|
};
|
|
200
200
|
Arr2.map = (f) => (data) => {
|
|
201
201
|
const n = data.length;
|
|
@@ -243,7 +243,11 @@ var Arr;
|
|
|
243
243
|
}
|
|
244
244
|
return result;
|
|
245
245
|
};
|
|
246
|
-
Arr2.sortBy = (compare) => (data) =>
|
|
246
|
+
Arr2.sortBy = (compare) => (data) => {
|
|
247
|
+
const arr = data;
|
|
248
|
+
if (typeof arr.toSorted === "function") return arr.toSorted(compare);
|
|
249
|
+
return [...data].sort(compare);
|
|
250
|
+
};
|
|
247
251
|
Arr2.zip = (other) => (data) => {
|
|
248
252
|
const len = Math.min(data.length, other.length);
|
|
249
253
|
const result = new Array(len);
|
|
@@ -293,10 +297,10 @@ var Arr;
|
|
|
293
297
|
const result = new Array(n);
|
|
294
298
|
for (let i = 0; i < n; i++) {
|
|
295
299
|
const mapped = f(data[i]);
|
|
296
|
-
if (mapped.kind === "None") return
|
|
300
|
+
if (mapped.kind === "None") return Maybe.none();
|
|
297
301
|
result[i] = mapped.value;
|
|
298
302
|
}
|
|
299
|
-
return
|
|
303
|
+
return Maybe.some(result);
|
|
300
304
|
};
|
|
301
305
|
Arr2.traverseResult = (f) => (data) => {
|
|
302
306
|
const n = data.length;
|
|
@@ -335,6 +339,22 @@ var Arr;
|
|
|
335
339
|
return true;
|
|
336
340
|
};
|
|
337
341
|
Arr2.reverse = (data) => [...data].reverse();
|
|
342
|
+
Arr2.insertAt = (index, item) => (data) => {
|
|
343
|
+
const i = Math.max(0, Math.min(index, data.length));
|
|
344
|
+
const arr = data;
|
|
345
|
+
if (typeof arr.toSpliced === "function") return arr.toSpliced(i, 0, item);
|
|
346
|
+
const result = [...data];
|
|
347
|
+
result.splice(i, 0, item);
|
|
348
|
+
return result;
|
|
349
|
+
};
|
|
350
|
+
Arr2.removeAt = (index) => (data) => {
|
|
351
|
+
if (index < 0 || index >= data.length) return data;
|
|
352
|
+
const arr = data;
|
|
353
|
+
if (typeof arr.toSpliced === "function") return arr.toSpliced(index, 1);
|
|
354
|
+
const result = [...data];
|
|
355
|
+
result.splice(index, 1);
|
|
356
|
+
return result;
|
|
357
|
+
};
|
|
338
358
|
Arr2.take = (n) => (data) => n <= 0 ? [] : data.slice(0, n);
|
|
339
359
|
Arr2.drop = (n) => (data) => data.slice(n);
|
|
340
360
|
Arr2.takeWhile = (predicate) => (data) => {
|
|
@@ -384,7 +404,7 @@ var Dict;
|
|
|
384
404
|
return result;
|
|
385
405
|
};
|
|
386
406
|
Dict2.has = (key) => (m) => m.has(key);
|
|
387
|
-
Dict2.lookup = (key) => (m) => m.has(key) ?
|
|
407
|
+
Dict2.lookup = (key) => (m) => m.has(key) ? Maybe.some(m.get(key)) : Maybe.none();
|
|
388
408
|
Dict2.size = (m) => m.size;
|
|
389
409
|
Dict2.isEmpty = (m) => m.size === 0;
|
|
390
410
|
Dict2.keys = (m) => [...m.keys()];
|
|
@@ -494,9 +514,9 @@ var Num;
|
|
|
494
514
|
Num2.clamp = (min, max) => (n) => Math.min(Math.max(n, min), max);
|
|
495
515
|
Num2.between = (min, max) => (n) => n >= min && n <= max;
|
|
496
516
|
Num2.parse = (s) => {
|
|
497
|
-
if (s.trim() === "") return
|
|
517
|
+
if (s.trim() === "") return Maybe.none();
|
|
498
518
|
const n = Number(s);
|
|
499
|
-
return isNaN(n) ?
|
|
519
|
+
return isNaN(n) ? Maybe.none() : Maybe.some(n);
|
|
500
520
|
};
|
|
501
521
|
Num2.add = (b) => (a) => a + b;
|
|
502
522
|
Num2.subtract = (b) => (a) => a - b;
|
|
@@ -539,7 +559,7 @@ var Rec;
|
|
|
539
559
|
}
|
|
540
560
|
return result;
|
|
541
561
|
};
|
|
542
|
-
Rec2.lookup = (key) => (data) => Object.hasOwn(data, key) ?
|
|
562
|
+
Rec2.lookup = (key) => (data) => Object.hasOwn(data, key) ? { kind: "Some", value: data[key] } : { kind: "None" };
|
|
543
563
|
Rec2.keys = (data) => Object.keys(data);
|
|
544
564
|
Rec2.values = (data) => Object.values(data);
|
|
545
565
|
Rec2.entries = (data) => Object.entries(data);
|
|
@@ -619,7 +639,7 @@ var Str;
|
|
|
619
639
|
*/
|
|
620
640
|
int: (s) => {
|
|
621
641
|
const n = parseInt(s, 10);
|
|
622
|
-
return isNaN(n) ?
|
|
642
|
+
return isNaN(n) ? Maybe.none() : Maybe.some(n);
|
|
623
643
|
},
|
|
624
644
|
/**
|
|
625
645
|
* Parses a string as a floating-point number. Returns `None` if the result is `NaN`.
|
|
@@ -633,7 +653,7 @@ var Str;
|
|
|
633
653
|
*/
|
|
634
654
|
float: (s) => {
|
|
635
655
|
const n = parseFloat(s);
|
|
636
|
-
return isNaN(n) ?
|
|
656
|
+
return isNaN(n) ? Maybe.none() : Maybe.some(n);
|
|
637
657
|
}
|
|
638
658
|
};
|
|
639
659
|
})(Str || (Str = {}));
|
package/dist/utils.mjs
CHANGED