@nlozgachev/pipelined 0.44.0 → 0.46.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 +12 -6
- package/dist/{InternalTypes-BL23H8Qr.d.mts → InternalTypes-CLE7qlOc.d.mts} +33 -28
- package/dist/{InternalTypes-7o9-yrHq.d.ts → InternalTypes-Mssktd7z.d.ts} +33 -28
- package/dist/{Validation-DM2eh6wj.d.ts → Validation-BMsvixWH.d.ts} +475 -443
- package/dist/{Validation-Dz70wtcG.d.mts → Validation-v38R0qH-.d.mts} +475 -443
- package/dist/{chunk-X6XQX3OZ.mjs → chunk-KOYYDQH4.mjs} +2 -2
- package/dist/{chunk-ND476266.mjs → chunk-VSU36S2K.mjs} +432 -309
- package/dist/{chunk-LKTOK5IT.mjs → chunk-W2L244AS.mjs} +188 -73
- package/dist/{chunk-74JKKJ4R.mjs → chunk-XTVF5R6R.mjs} +8 -5
- package/dist/composition.d.mts +10 -10
- package/dist/composition.d.ts +10 -10
- package/dist/composition.js +9 -6
- package/dist/composition.mjs +2 -2
- package/dist/core.d.mts +453 -402
- package/dist/core.d.ts +453 -402
- package/dist/core.js +439 -313
- package/dist/core.mjs +2 -2
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +627 -386
- package/dist/index.mjs +4 -4
- package/dist/types.d.mts +23 -21
- package/dist/types.d.ts +23 -21
- package/dist/types.js +8 -5
- package/dist/types.mjs +1 -1
- package/dist/utils.d.mts +522 -370
- package/dist/utils.d.ts +522 -370
- package/dist/utils.js +434 -243
- package/dist/utils.mjs +3 -3
- package/package.json +15 -5
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
Result,
|
|
5
5
|
Task,
|
|
6
6
|
isNonEmptyArr
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VSU36S2K.mjs";
|
|
8
8
|
|
|
9
9
|
// src/Data/Arr.ts
|
|
10
10
|
var ArrMaybe;
|
|
@@ -15,11 +15,11 @@ var ArrMaybe;
|
|
|
15
15
|
for (let i = 0; i < n; i++) {
|
|
16
16
|
const mapped = f(data[i]);
|
|
17
17
|
if (mapped.kind === "None") {
|
|
18
|
-
return Maybe.none();
|
|
18
|
+
return Maybe.make.none();
|
|
19
19
|
}
|
|
20
20
|
result[i] = mapped.value;
|
|
21
21
|
}
|
|
22
|
-
return Maybe.some(result);
|
|
22
|
+
return Maybe.make.some(result);
|
|
23
23
|
};
|
|
24
24
|
ArrMaybe2.sequence = (data) => (0, ArrMaybe2.traverse)((a) => a)(data);
|
|
25
25
|
})(ArrMaybe || (ArrMaybe = {}));
|
|
@@ -35,61 +35,69 @@ var ArrResult;
|
|
|
35
35
|
}
|
|
36
36
|
result[i] = mapped.value;
|
|
37
37
|
}
|
|
38
|
-
return Result.ok(result);
|
|
38
|
+
return Result.make.ok(result);
|
|
39
39
|
};
|
|
40
40
|
ArrResult2.sequence = (data) => (0, ArrResult2.traverse)((a) => a)(data);
|
|
41
41
|
})(ArrResult || (ArrResult = {}));
|
|
42
42
|
var ArrTaskResult;
|
|
43
43
|
((ArrTaskResult2) => {
|
|
44
|
-
ArrTaskResult2.traverse = (f) => (data) => Task.from(async () => {
|
|
44
|
+
ArrTaskResult2.traverse = (f) => (data) => Task.from.Promise(async () => {
|
|
45
45
|
const result = [];
|
|
46
46
|
for (const a of data) {
|
|
47
|
-
const r = await Deferred.
|
|
48
|
-
if (Result.
|
|
47
|
+
const r = await Deferred.to.Promise(f(a)());
|
|
48
|
+
if (Result.is.err(r)) {
|
|
49
49
|
return r;
|
|
50
50
|
}
|
|
51
51
|
result.push(r.value);
|
|
52
52
|
}
|
|
53
|
-
return Result.ok(result);
|
|
53
|
+
return Result.make.ok(result);
|
|
54
54
|
});
|
|
55
55
|
ArrTaskResult2.sequence = (data) => (0, ArrTaskResult2.traverse)((a) => a)(data);
|
|
56
56
|
})(ArrTaskResult || (ArrTaskResult = {}));
|
|
57
57
|
var ArrTask;
|
|
58
58
|
((ArrTask2) => {
|
|
59
|
-
ArrTask2.traverse = (f) => (data) => Task.from(() => Promise.all(data.map((a) => Deferred.
|
|
59
|
+
ArrTask2.traverse = (f) => (data) => Task.from.Promise(() => Promise.all(data.map((a) => Deferred.to.Promise(f(a)()))));
|
|
60
60
|
ArrTask2.sequence = (data) => (0, ArrTask2.traverse)((a) => a)(data);
|
|
61
61
|
ArrTask2.Result = ArrTaskResult;
|
|
62
62
|
})(ArrTask || (ArrTask = {}));
|
|
63
63
|
var ArrNonEmpty;
|
|
64
64
|
((ArrNonEmpty2) => {
|
|
65
65
|
ArrNonEmpty2.singleton = (value) => [value];
|
|
66
|
-
|
|
66
|
+
let from;
|
|
67
|
+
((from2) => {
|
|
68
|
+
from2.Array = (data) => isNonEmptyArr(data) ? Maybe.make.some(data) : Maybe.make.none();
|
|
69
|
+
})(from = ArrNonEmpty2.from || (ArrNonEmpty2.from = {}));
|
|
67
70
|
ArrNonEmpty2.head = (data) => data[0];
|
|
68
71
|
ArrNonEmpty2.last = (data) => data[data.length - 1];
|
|
69
72
|
ArrNonEmpty2.tail = (data) => data.slice(1);
|
|
70
73
|
ArrNonEmpty2.reduce = (f) => (data) => data.reduce(f);
|
|
74
|
+
ArrNonEmpty2.map = (f) => (data) => Arr.map(f)(data);
|
|
75
|
+
ArrNonEmpty2.mapWithIndex = (f) => (data) => Arr.mapWithIndex(f)(data);
|
|
76
|
+
ArrNonEmpty2.intersperse = (sep) => (data) => Arr.intersperse(sep)(data);
|
|
77
|
+
ArrNonEmpty2.concat = (other) => (data) => Arr.concat(other)(data);
|
|
78
|
+
ArrNonEmpty2.reverse = (data) => Arr.reverse(data);
|
|
71
79
|
})(ArrNonEmpty || (ArrNonEmpty = {}));
|
|
72
80
|
var Arr;
|
|
73
81
|
((Arr2) => {
|
|
74
|
-
Arr2.head = (data) => data.length > 0 ? Maybe.some(data[0]) : Maybe.none();
|
|
75
|
-
Arr2.last = (data) => data.length > 0 ? Maybe.some(data[data.length - 1]) : Maybe.none();
|
|
76
|
-
Arr2.tail = (data) => data.length > 0 ? Maybe.some(data.slice(1)) : Maybe.none();
|
|
77
|
-
Arr2.init = (data) => data.length > 0 ? Maybe.some(data.slice(0, -1)) : Maybe.none();
|
|
82
|
+
Arr2.head = (data) => data.length > 0 ? Maybe.make.some(data[0]) : Maybe.make.none();
|
|
83
|
+
Arr2.last = (data) => data.length > 0 ? Maybe.make.some(data[data.length - 1]) : Maybe.make.none();
|
|
84
|
+
Arr2.tail = (data) => data.length > 0 ? Maybe.make.some(data.slice(1)) : Maybe.make.none();
|
|
85
|
+
Arr2.init = (data) => data.length > 0 ? Maybe.make.some(data.slice(0, -1)) : Maybe.make.none();
|
|
78
86
|
Arr2.findFirst = (predicate) => (data) => {
|
|
79
87
|
const idx = data.findIndex(predicate);
|
|
80
|
-
return idx !== -1 ? Maybe.some(data[idx]) : Maybe.none();
|
|
88
|
+
return idx !== -1 ? Maybe.make.some(data[idx]) : Maybe.make.none();
|
|
81
89
|
};
|
|
82
90
|
Arr2.findLast = (predicate) => (data) => {
|
|
83
91
|
for (let i = data.length - 1; i >= 0; i--) {
|
|
84
92
|
if (predicate(data[i])) {
|
|
85
|
-
return Maybe.some(data[i]);
|
|
93
|
+
return Maybe.make.some(data[i]);
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
|
-
return Maybe.none();
|
|
96
|
+
return Maybe.make.none();
|
|
89
97
|
};
|
|
90
98
|
Arr2.findIndex = (predicate) => (data) => {
|
|
91
99
|
const idx = data.findIndex(predicate);
|
|
92
|
-
return idx !== -1 ? Maybe.some(idx) : Maybe.none();
|
|
100
|
+
return idx !== -1 ? Maybe.make.some(idx) : Maybe.make.none();
|
|
93
101
|
};
|
|
94
102
|
Arr2.map = (f) => (data) => {
|
|
95
103
|
const n = data.length;
|
|
@@ -283,10 +291,29 @@ var Arr;
|
|
|
283
291
|
return result;
|
|
284
292
|
};
|
|
285
293
|
Arr2.reduce = (initial, f) => (data) => data.reduce(f, initial);
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
294
|
+
const _traverseTask = Object.assign((f) => ArrTask.traverse(f), {
|
|
295
|
+
Result: ArrTaskResult.traverse
|
|
296
|
+
});
|
|
297
|
+
const _sequenceTask = Object.assign((data) => ArrTask.sequence(data), {
|
|
298
|
+
Result: ArrTaskResult.sequence
|
|
299
|
+
});
|
|
300
|
+
let traverse;
|
|
301
|
+
((traverse2) => {
|
|
302
|
+
traverse2.Maybe = ArrMaybe.traverse;
|
|
303
|
+
traverse2.Result = ArrResult.traverse;
|
|
304
|
+
traverse2.Task = _traverseTask;
|
|
305
|
+
})(traverse = Arr2.traverse || (Arr2.traverse = {}));
|
|
306
|
+
let sequence;
|
|
307
|
+
((sequence2) => {
|
|
308
|
+
sequence2.Maybe = ArrMaybe.sequence;
|
|
309
|
+
sequence2.Result = ArrResult.sequence;
|
|
310
|
+
sequence2.Task = _sequenceTask;
|
|
311
|
+
})(sequence = Arr2.sequence || (Arr2.sequence = {}));
|
|
312
|
+
let is;
|
|
313
|
+
((is2) => {
|
|
314
|
+
is2.empty = (data) => data.length === 0;
|
|
315
|
+
is2.nonEmpty = (data) => isNonEmptyArr(data);
|
|
316
|
+
})(is = Arr2.is || (Arr2.is = {}));
|
|
290
317
|
Arr2.prepend = (value) => (data) => [value, ...data];
|
|
291
318
|
Arr2.append = (value) => (data) => [...data, value];
|
|
292
319
|
Arr2.size = (data) => data.length;
|
|
@@ -368,12 +395,34 @@ var Arr;
|
|
|
368
395
|
})(Arr || (Arr = {}));
|
|
369
396
|
|
|
370
397
|
// src/Data/Dict.ts
|
|
398
|
+
var DictNonEmpty;
|
|
399
|
+
((DictNonEmpty2) => {
|
|
400
|
+
DictNonEmpty2.singleton = (key, value) => new globalThis.Map([[key, value]]);
|
|
401
|
+
let from;
|
|
402
|
+
((from2) => {
|
|
403
|
+
from2.Map = (m) => m.size > 0 ? Maybe.make.some(m) : Maybe.make.none();
|
|
404
|
+
})(from = DictNonEmpty2.from || (DictNonEmpty2.from = {}));
|
|
405
|
+
DictNonEmpty2.keys = (m) => Dict.keys(m);
|
|
406
|
+
DictNonEmpty2.values = (m) => Dict.values(m);
|
|
407
|
+
DictNonEmpty2.entries = (m) => Dict.entries(m);
|
|
408
|
+
DictNonEmpty2.reduce = (f) => (m) => (0, DictNonEmpty2.values)(m).reduce(f);
|
|
409
|
+
DictNonEmpty2.map = (f) => (m) => Dict.map(f)(m);
|
|
410
|
+
DictNonEmpty2.mapWithKey = (f) => (m) => Dict.mapWithKey(f)(m);
|
|
411
|
+
})(DictNonEmpty || (DictNonEmpty = {}));
|
|
371
412
|
var Dict;
|
|
372
413
|
((Dict2) => {
|
|
414
|
+
let is;
|
|
415
|
+
((is2) => {
|
|
416
|
+
is2.empty = (m) => m.size === 0;
|
|
417
|
+
is2.nonEmpty = (m) => m.size > 0;
|
|
418
|
+
})(is = Dict2.is || (Dict2.is = {}));
|
|
373
419
|
Dict2.empty = () => new globalThis.Map();
|
|
374
420
|
Dict2.singleton = (key, value) => new globalThis.Map([[key, value]]);
|
|
375
|
-
|
|
376
|
-
|
|
421
|
+
let from;
|
|
422
|
+
((from2) => {
|
|
423
|
+
from2.entries = (entries3) => new globalThis.Map(entries3);
|
|
424
|
+
from2.Record = (rec) => new globalThis.Map(Object.entries(rec));
|
|
425
|
+
})(from = Dict2.from || (Dict2.from = {}));
|
|
377
426
|
Dict2.groupBy = (keyFn) => (items) => {
|
|
378
427
|
const result = new globalThis.Map();
|
|
379
428
|
for (const item of items) {
|
|
@@ -388,9 +437,8 @@ var Dict;
|
|
|
388
437
|
return result;
|
|
389
438
|
};
|
|
390
439
|
Dict2.has = (key) => (m) => m.has(key);
|
|
391
|
-
Dict2.lookup = (key) => (m) => m.has(key) ? Maybe.some(m.get(key)) : Maybe.none();
|
|
440
|
+
Dict2.lookup = (key) => (m) => m.has(key) ? Maybe.make.some(m.get(key)) : Maybe.make.none();
|
|
392
441
|
Dict2.size = (m) => m.size;
|
|
393
|
-
Dict2.isEmpty = (m) => m.size === 0;
|
|
394
442
|
Dict2.keys = (m) => [...m.keys()];
|
|
395
443
|
Dict2.values = (m) => [...m.values()];
|
|
396
444
|
Dict2.entries = (m) => [...m.entries()];
|
|
@@ -502,7 +550,11 @@ var Dict;
|
|
|
502
550
|
}
|
|
503
551
|
return acc;
|
|
504
552
|
};
|
|
505
|
-
|
|
553
|
+
let to;
|
|
554
|
+
((to2) => {
|
|
555
|
+
to2.Record = (m) => Object.fromEntries(m);
|
|
556
|
+
})(to = Dict2.to || (Dict2.to = {}));
|
|
557
|
+
Dict2.NonEmpty = DictNonEmpty;
|
|
506
558
|
})(Dict || (Dict = {}));
|
|
507
559
|
|
|
508
560
|
// src/Data/Num.ts
|
|
@@ -524,21 +576,21 @@ var Num;
|
|
|
524
576
|
Num2.inRange = (start, end) => (n) => n >= start && n < end;
|
|
525
577
|
Num2.parse = (s) => {
|
|
526
578
|
if (s.trim() === "") {
|
|
527
|
-
return Maybe.none();
|
|
579
|
+
return Maybe.make.none();
|
|
528
580
|
}
|
|
529
581
|
const n = Number(s);
|
|
530
|
-
return isNaN(n) ? Maybe.none() : Maybe.some(n);
|
|
582
|
+
return isNaN(n) ? Maybe.make.none() : Maybe.make.some(n);
|
|
531
583
|
};
|
|
532
584
|
Num2.add = (b) => (a) => a + b;
|
|
533
585
|
Num2.subtract = (b) => (a) => a - b;
|
|
534
586
|
Num2.multiply = (b) => (a) => a * b;
|
|
535
|
-
Num2.divide = (b) => (a) => b === 0 ? Maybe.none() : Maybe.some(a / b);
|
|
587
|
+
Num2.divide = (b) => (a) => b === 0 ? Maybe.make.none() : Maybe.make.some(a / b);
|
|
536
588
|
Num2.abs = (n) => Math.abs(n);
|
|
537
589
|
Num2.negate = (n) => -n;
|
|
538
590
|
Num2.round = (n) => Math.round(n);
|
|
539
591
|
Num2.floor = (n) => Math.floor(n);
|
|
540
592
|
Num2.ceil = (n) => Math.ceil(n);
|
|
541
|
-
Num2.remainder = (divisor) => (n) => divisor === 0 ? Maybe.none() : Maybe.some(n % divisor);
|
|
593
|
+
Num2.remainder = (divisor) => (n) => divisor === 0 ? Maybe.make.none() : Maybe.make.some(n % divisor);
|
|
542
594
|
Num2.sum = (ns) => {
|
|
543
595
|
let result = 0;
|
|
544
596
|
for (let i = 0; i < ns.length; i++) {
|
|
@@ -546,10 +598,10 @@ var Num;
|
|
|
546
598
|
}
|
|
547
599
|
return result;
|
|
548
600
|
};
|
|
549
|
-
Num2.mean = (ns) => ns.length === 0 ? Maybe.none() : Maybe.some((0, Num2.sum)(ns) / ns.length);
|
|
601
|
+
Num2.mean = (ns) => ns.length === 0 ? Maybe.make.none() : Maybe.make.some((0, Num2.sum)(ns) / ns.length);
|
|
550
602
|
Num2.min = (ns) => {
|
|
551
603
|
if (ns.length === 0) {
|
|
552
|
-
return Maybe.none();
|
|
604
|
+
return Maybe.make.none();
|
|
553
605
|
}
|
|
554
606
|
let [result] = ns;
|
|
555
607
|
for (let i = 1; i < ns.length; i++) {
|
|
@@ -557,11 +609,11 @@ var Num;
|
|
|
557
609
|
result = ns[i];
|
|
558
610
|
}
|
|
559
611
|
}
|
|
560
|
-
return Maybe.some(result);
|
|
612
|
+
return Maybe.make.some(result);
|
|
561
613
|
};
|
|
562
614
|
Num2.max = (ns) => {
|
|
563
615
|
if (ns.length === 0) {
|
|
564
|
-
return Maybe.none();
|
|
616
|
+
return Maybe.make.none();
|
|
565
617
|
}
|
|
566
618
|
let [result] = ns;
|
|
567
619
|
for (let i = 1; i < ns.length; i++) {
|
|
@@ -569,7 +621,7 @@ var Num;
|
|
|
569
621
|
result = ns[i];
|
|
570
622
|
}
|
|
571
623
|
}
|
|
572
|
-
return Maybe.some(result);
|
|
624
|
+
return Maybe.make.some(result);
|
|
573
625
|
};
|
|
574
626
|
})(Num || (Num = {}));
|
|
575
627
|
|
|
@@ -612,32 +664,43 @@ var RecResult;
|
|
|
612
664
|
var RecNonEmpty;
|
|
613
665
|
((RecNonEmpty2) => {
|
|
614
666
|
RecNonEmpty2.singleton = (key, value) => ({ [key]: value });
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
RecNonEmpty2.
|
|
619
|
-
RecNonEmpty2.
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
667
|
+
let from;
|
|
668
|
+
((from2) => {
|
|
669
|
+
from2.Record = (data) => _isNonEmpty(data) ? Maybe.make.some(data) : Maybe.make.none();
|
|
670
|
+
})(from = RecNonEmpty2.from || (RecNonEmpty2.from = {}));
|
|
671
|
+
RecNonEmpty2.keys = (data) => Rec.keys(data);
|
|
672
|
+
RecNonEmpty2.values = (data) => Rec.values(data);
|
|
673
|
+
RecNonEmpty2.entries = (data) => Rec.entries(data);
|
|
674
|
+
RecNonEmpty2.reduce = (f) => (data) => (0, RecNonEmpty2.values)(data).reduce(f);
|
|
675
|
+
RecNonEmpty2.map = (f) => (data) => Rec.map(f)(data);
|
|
676
|
+
RecNonEmpty2.mapWithKey = (f) => (data) => Rec.mapWithKey(f)(data);
|
|
623
677
|
})(RecNonEmpty || (RecNonEmpty = {}));
|
|
624
678
|
var Rec;
|
|
625
679
|
((Rec2) => {
|
|
626
|
-
|
|
627
|
-
|
|
680
|
+
let is;
|
|
681
|
+
((is2) => {
|
|
682
|
+
is2.empty = (data) => Object.keys(data).length === 0;
|
|
683
|
+
is2.nonEmpty = _isNonEmpty;
|
|
684
|
+
})(is = Rec2.is || (Rec2.is = {}));
|
|
685
|
+
Rec2.map = (f) => (data) => {
|
|
628
686
|
const recordKeys = Object.keys(data);
|
|
629
687
|
const recordValues = Object.values(data);
|
|
630
688
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
631
689
|
for (let i = 0; i < recordKeys.length; i++) {
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
690
|
+
const key = recordKeys[i];
|
|
691
|
+
if (key === "__proto__") {
|
|
692
|
+
Object.defineProperty(result, "__proto__", {
|
|
693
|
+
value: f(recordValues[i]),
|
|
694
|
+
writable: true,
|
|
695
|
+
enumerable: true,
|
|
696
|
+
configurable: true
|
|
697
|
+
});
|
|
698
|
+
} else {
|
|
699
|
+
result[key] = f(recordValues[i]);
|
|
700
|
+
}
|
|
638
701
|
}
|
|
639
702
|
return result;
|
|
640
|
-
}
|
|
703
|
+
};
|
|
641
704
|
Rec2.filterMap = (f) => (data) => {
|
|
642
705
|
const recordKeys = Object.keys(data);
|
|
643
706
|
const recordValues = Object.values(data);
|
|
@@ -655,20 +718,25 @@ var Rec;
|
|
|
655
718
|
}
|
|
656
719
|
return result;
|
|
657
720
|
};
|
|
658
|
-
Rec2.mapWithKey = (f) => (
|
|
721
|
+
Rec2.mapWithKey = (f) => (data) => {
|
|
659
722
|
const recordKeys = Object.keys(data);
|
|
660
723
|
const recordValues = Object.values(data);
|
|
661
724
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
662
725
|
for (let i = 0; i < recordKeys.length; i++) {
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
726
|
+
const key = recordKeys[i];
|
|
727
|
+
if (key === "__proto__") {
|
|
728
|
+
Object.defineProperty(result, "__proto__", {
|
|
729
|
+
value: f(key, recordValues[i]),
|
|
730
|
+
writable: true,
|
|
731
|
+
enumerable: true,
|
|
732
|
+
configurable: true
|
|
733
|
+
});
|
|
734
|
+
} else {
|
|
735
|
+
result[key] = f(key, recordValues[i]);
|
|
736
|
+
}
|
|
669
737
|
}
|
|
670
738
|
return result;
|
|
671
|
-
}
|
|
739
|
+
};
|
|
672
740
|
Rec2.filter = (predicate) => (data) => {
|
|
673
741
|
const recordKeys = Object.keys(data);
|
|
674
742
|
const recordValues = Object.values(data);
|
|
@@ -698,7 +766,10 @@ var Rec;
|
|
|
698
766
|
Rec2.keys = (data) => Object.keys(data);
|
|
699
767
|
Rec2.values = (data) => Object.values(data);
|
|
700
768
|
Rec2.entries = (data) => Object.entries(data);
|
|
701
|
-
|
|
769
|
+
let from;
|
|
770
|
+
((from2) => {
|
|
771
|
+
from2.entries = (data) => Object.fromEntries(data);
|
|
772
|
+
})(from = Rec2.from || (Rec2.from = {}));
|
|
702
773
|
Rec2.groupBy = (keyFn) => (items) => {
|
|
703
774
|
const result = {};
|
|
704
775
|
for (const item of items) {
|
|
@@ -739,7 +810,6 @@ var Rec;
|
|
|
739
810
|
...data,
|
|
740
811
|
...other
|
|
741
812
|
});
|
|
742
|
-
Rec2.isEmpty = (data) => Object.keys(data).length === 0;
|
|
743
813
|
Rec2.size = (data) => Object.keys(data).length;
|
|
744
814
|
Rec2.mapKeys = (f) => (data) => {
|
|
745
815
|
const result = {};
|
|
@@ -757,14 +827,34 @@ var Rec;
|
|
|
757
827
|
}
|
|
758
828
|
return result;
|
|
759
829
|
};
|
|
760
|
-
|
|
761
|
-
|
|
830
|
+
let traverse;
|
|
831
|
+
((traverse2) => {
|
|
832
|
+
traverse2.Maybe = RecMaybe.traverse;
|
|
833
|
+
traverse2.Result = RecResult.traverse;
|
|
834
|
+
})(traverse = Rec2.traverse || (Rec2.traverse = {}));
|
|
835
|
+
let sequence;
|
|
836
|
+
((sequence2) => {
|
|
837
|
+
sequence2.Maybe = RecMaybe.sequence;
|
|
838
|
+
sequence2.Result = RecResult.sequence;
|
|
839
|
+
})(sequence = Rec2.sequence || (Rec2.sequence = {}));
|
|
762
840
|
Rec2.NonEmpty = RecNonEmpty;
|
|
763
841
|
})(Rec || (Rec = {}));
|
|
764
842
|
|
|
765
843
|
// src/Data/Str.ts
|
|
844
|
+
var StrNonEmpty;
|
|
845
|
+
((StrNonEmpty2) => {
|
|
846
|
+
let from;
|
|
847
|
+
((from2) => {
|
|
848
|
+
from2.String = (s) => s.length > 0 ? Maybe.make.some(s) : Maybe.make.none();
|
|
849
|
+
})(from = StrNonEmpty2.from || (StrNonEmpty2.from = {}));
|
|
850
|
+
})(StrNonEmpty || (StrNonEmpty = {}));
|
|
766
851
|
var Str;
|
|
767
852
|
((Str2) => {
|
|
853
|
+
let is;
|
|
854
|
+
((is2) => {
|
|
855
|
+
is2.empty = (s) => s.length === 0;
|
|
856
|
+
is2.nonEmpty = (s) => s.length > 0;
|
|
857
|
+
})(is = Str2.is || (Str2.is = {}));
|
|
768
858
|
Str2.split = (separator) => (s) => s.split(separator);
|
|
769
859
|
Str2.trim = (s) => s.trim();
|
|
770
860
|
Str2.includes = (substring) => (s) => s.includes(substring);
|
|
@@ -777,7 +867,6 @@ var Str;
|
|
|
777
867
|
Str2.capitalize = (s) => s.length === 0 ? "" : s.charAt(0).toUpperCase() + s.slice(1);
|
|
778
868
|
Str2.lines = (s) => s.split(/\r?\n|\r/);
|
|
779
869
|
Str2.words = (s) => s.trim().split(/\s+/).filter(Boolean);
|
|
780
|
-
Str2.isEmpty = (s) => s.length === 0;
|
|
781
870
|
Str2.isBlank = (s) => s.trim().length === 0;
|
|
782
871
|
Str2.length = (s) => s.length;
|
|
783
872
|
Str2.slice = (start, end) => (s) => s.slice(start, end);
|
|
@@ -796,7 +885,7 @@ var Str;
|
|
|
796
885
|
*/
|
|
797
886
|
int: (s) => {
|
|
798
887
|
const n = parseInt(s, 10);
|
|
799
|
-
return isNaN(n) ? Maybe.none() : Maybe.some(n);
|
|
888
|
+
return isNaN(n) ? Maybe.make.none() : Maybe.make.some(n);
|
|
800
889
|
},
|
|
801
890
|
/**
|
|
802
891
|
* Parses a string as a floating-point number. Returns `None` if the result is `NaN`.
|
|
@@ -810,27 +899,49 @@ var Str;
|
|
|
810
899
|
*/
|
|
811
900
|
float: (s) => {
|
|
812
901
|
const n = parseFloat(s);
|
|
813
|
-
return isNaN(n) ? Maybe.none() : Maybe.some(n);
|
|
902
|
+
return isNaN(n) ? Maybe.make.none() : Maybe.make.some(n);
|
|
814
903
|
}
|
|
815
904
|
};
|
|
816
905
|
Str2.parseJson = (s) => {
|
|
817
906
|
try {
|
|
818
|
-
return Result.ok(JSON.parse(s));
|
|
907
|
+
return Result.make.ok(JSON.parse(s));
|
|
819
908
|
} catch (error) {
|
|
820
|
-
return Result.err(error);
|
|
909
|
+
return Result.make.err(error);
|
|
821
910
|
}
|
|
822
911
|
};
|
|
912
|
+
Str2.NonEmpty = StrNonEmpty;
|
|
823
913
|
})(Str || (Str = {}));
|
|
824
914
|
|
|
825
915
|
// src/Data/Uniq.ts
|
|
916
|
+
var UniqNonEmpty;
|
|
917
|
+
((UniqNonEmpty2) => {
|
|
918
|
+
UniqNonEmpty2.singleton = (item) => new globalThis.Set([item]);
|
|
919
|
+
let from;
|
|
920
|
+
((from2) => {
|
|
921
|
+
from2.Set = (s) => s.size > 0 ? Maybe.make.some(s) : Maybe.make.none();
|
|
922
|
+
})(from = UniqNonEmpty2.from || (UniqNonEmpty2.from = {}));
|
|
923
|
+
UniqNonEmpty2.reduce = (f) => (s) => to.Array(s).reduce(f);
|
|
924
|
+
UniqNonEmpty2.map = (f) => (s) => Uniq.map(f)(s);
|
|
925
|
+
let to;
|
|
926
|
+
((to2) => {
|
|
927
|
+
to2.Array = (s) => Uniq.to.Array(s);
|
|
928
|
+
})(to = UniqNonEmpty2.to || (UniqNonEmpty2.to = {}));
|
|
929
|
+
})(UniqNonEmpty || (UniqNonEmpty = {}));
|
|
826
930
|
var Uniq;
|
|
827
931
|
((Uniq2) => {
|
|
932
|
+
let is;
|
|
933
|
+
((is2) => {
|
|
934
|
+
is2.empty = (s) => s.size === 0;
|
|
935
|
+
is2.nonEmpty = (s) => s.size > 0;
|
|
936
|
+
})(is = Uniq2.is || (Uniq2.is = {}));
|
|
828
937
|
Uniq2.empty = () => new globalThis.Set();
|
|
829
938
|
Uniq2.singleton = (item) => new globalThis.Set([item]);
|
|
830
|
-
|
|
939
|
+
let from;
|
|
940
|
+
((from2) => {
|
|
941
|
+
from2.Array = (arr) => new globalThis.Set(arr);
|
|
942
|
+
})(from = Uniq2.from || (Uniq2.from = {}));
|
|
831
943
|
Uniq2.has = (item) => (s) => s.has(item);
|
|
832
944
|
Uniq2.size = (s) => s.size;
|
|
833
|
-
Uniq2.isEmpty = (s) => s.size === 0;
|
|
834
945
|
Uniq2.isSubsetOf = (other) => (s) => {
|
|
835
946
|
const set = s;
|
|
836
947
|
if (typeof set.isSubsetOf === "function") {
|
|
@@ -919,7 +1030,11 @@ var Uniq;
|
|
|
919
1030
|
}
|
|
920
1031
|
return acc;
|
|
921
1032
|
};
|
|
922
|
-
|
|
1033
|
+
let to;
|
|
1034
|
+
((to2) => {
|
|
1035
|
+
to2.Array = (s) => [...s];
|
|
1036
|
+
})(to = Uniq2.to || (Uniq2.to = {}));
|
|
1037
|
+
Uniq2.NonEmpty = UniqNonEmpty;
|
|
923
1038
|
})(Uniq || (Uniq = {}));
|
|
924
1039
|
|
|
925
1040
|
export {
|
|
@@ -14,11 +14,14 @@ var Duration;
|
|
|
14
14
|
Duration2.minutes = (m) => wrap(m * 60 * 1e3);
|
|
15
15
|
Duration2.hours = (h) => wrap(h * 60 * 60 * 1e3);
|
|
16
16
|
Duration2.days = (d) => wrap(d * 24 * 60 * 60 * 1e3);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
let to;
|
|
18
|
+
((to2) => {
|
|
19
|
+
to2.milliseconds = (d) => Brand.unwrap(d);
|
|
20
|
+
to2.seconds = (d) => Brand.unwrap(d) / 1e3;
|
|
21
|
+
to2.minutes = (d) => Brand.unwrap(d) / (60 * 1e3);
|
|
22
|
+
to2.hours = (d) => Brand.unwrap(d) / (60 * 60 * 1e3);
|
|
23
|
+
to2.days = (d) => Brand.unwrap(d) / (24 * 60 * 60 * 1e3);
|
|
24
|
+
})(to = Duration2.to || (Duration2.to = {}));
|
|
22
25
|
Duration2.add = (other) => (self) => wrap(Brand.unwrap(self) + Brand.unwrap(other));
|
|
23
26
|
Duration2.subtract = (other) => (self) => wrap(Brand.unwrap(self) - Brand.unwrap(other));
|
|
24
27
|
})(Duration || (Duration = {}));
|
package/dist/composition.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as Awaitable, T as Thenable } from './InternalTypes-
|
|
1
|
+
import { A as Awaitable, T as Thenable } from './InternalTypes-CLE7qlOc.mjs';
|
|
2
2
|
import { Duration } from './types.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -110,13 +110,13 @@ declare const curry4: <A, B, C, D, E>(f: (a: A, b: B, c: C, d: D) => E) => (a: A
|
|
|
110
110
|
* ```ts
|
|
111
111
|
* // Original data-last (for pipe)
|
|
112
112
|
* pipe(
|
|
113
|
-
* Maybe.some(5),
|
|
113
|
+
* Maybe.make.some(5),
|
|
114
114
|
* Maybe.map(n => n * 2)
|
|
115
115
|
* ); // Some(10)
|
|
116
116
|
*
|
|
117
117
|
* // Flipped to data-first
|
|
118
118
|
* const mapFirst = flip(Maybe.map);
|
|
119
|
-
* mapFirst(Maybe.some(5))(n => n * 2); // Some(10)
|
|
119
|
+
* mapFirst(Maybe.make.some(5))(n => n * 2); // Some(10)
|
|
120
120
|
* ```
|
|
121
121
|
*
|
|
122
122
|
* @see {@link uncurry} for converting curried functions to multi-argument functions
|
|
@@ -265,7 +265,7 @@ interface flow {
|
|
|
265
265
|
* @example
|
|
266
266
|
* ```ts
|
|
267
267
|
* identity(42); // 42
|
|
268
|
-
* pipe(Maybe.some(5), Maybe.fold(() => 0, identity)); // 5
|
|
268
|
+
* pipe(Maybe.make.some(5), Maybe.fold(() => 0, identity)); // 5
|
|
269
269
|
* ```
|
|
270
270
|
*/
|
|
271
271
|
declare const identity: <A>(a: A) => A;
|
|
@@ -496,7 +496,7 @@ declare function async<A, B, C, D, E, F, G, H, I, J, K>(a: Awaitable<A>, ab: (a:
|
|
|
496
496
|
*
|
|
497
497
|
* // With library functions
|
|
498
498
|
* const greeting = pipe(
|
|
499
|
-
* Maybe.some("Alice"),
|
|
499
|
+
* Maybe.make.some("Alice"),
|
|
500
500
|
* Maybe.map(name => name.toUpperCase()),
|
|
501
501
|
* Maybe.map(name => `Hello, ${name}!`),
|
|
502
502
|
* Maybe.getOrElse(() => "Hello!")
|
|
@@ -599,7 +599,7 @@ interface pipe {
|
|
|
599
599
|
* ```ts
|
|
600
600
|
* // Debugging a pipeline
|
|
601
601
|
* pipe(
|
|
602
|
-
* Maybe.some(5),
|
|
602
|
+
* Maybe.make.some(5),
|
|
603
603
|
* tap(x => console.log("Before map:", x)),
|
|
604
604
|
* Maybe.map(n => n * 2),
|
|
605
605
|
* tap(x => console.log("After map:", x)),
|
|
@@ -739,7 +739,7 @@ declare namespace tap {
|
|
|
739
739
|
* pipe(
|
|
740
740
|
* data,
|
|
741
741
|
* tap.time(fetchData, {
|
|
742
|
-
* onFinish: (dur) => metrics.histogram("api.time", Duration.
|
|
742
|
+
* onFinish: (dur) => metrics.histogram("api.time", Duration.to.milliseconds(dur))
|
|
743
743
|
* })
|
|
744
744
|
* );
|
|
745
745
|
* ```
|
|
@@ -760,15 +760,15 @@ declare namespace tap {
|
|
|
760
760
|
* uncurry(nested)(); // 42
|
|
761
761
|
*
|
|
762
762
|
* // Original curried function
|
|
763
|
-
* Maybe.map(n => n * 2)(Maybe.some(5)); // Some(10)
|
|
763
|
+
* Maybe.map(n => n * 2)(Maybe.make.some(5)); // Some(10)
|
|
764
764
|
*
|
|
765
765
|
* // Uncurried - all arguments at once
|
|
766
766
|
* const mapUncurried = uncurry(Maybe.map);
|
|
767
|
-
* mapUncurried(n => n * 2, Maybe.some(5)); // Some(10)
|
|
767
|
+
* mapUncurried(n => n * 2, Maybe.make.some(5)); // Some(10)
|
|
768
768
|
*
|
|
769
769
|
* // Combined with flip for data-first uncurried
|
|
770
770
|
* const mapDataFirst = uncurry(flip(Maybe.map));
|
|
771
|
-
* mapDataFirst(Maybe.some(5), n => n * 2); // Some(10)
|
|
771
|
+
* mapDataFirst(Maybe.make.some(5), n => n * 2); // Some(10)
|
|
772
772
|
* ```
|
|
773
773
|
*
|
|
774
774
|
* @see {@link flip} for reversing curried argument order
|
package/dist/composition.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as Awaitable, T as Thenable } from './InternalTypes-
|
|
1
|
+
import { A as Awaitable, T as Thenable } from './InternalTypes-Mssktd7z.js';
|
|
2
2
|
import { Duration } from './types.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -110,13 +110,13 @@ declare const curry4: <A, B, C, D, E>(f: (a: A, b: B, c: C, d: D) => E) => (a: A
|
|
|
110
110
|
* ```ts
|
|
111
111
|
* // Original data-last (for pipe)
|
|
112
112
|
* pipe(
|
|
113
|
-
* Maybe.some(5),
|
|
113
|
+
* Maybe.make.some(5),
|
|
114
114
|
* Maybe.map(n => n * 2)
|
|
115
115
|
* ); // Some(10)
|
|
116
116
|
*
|
|
117
117
|
* // Flipped to data-first
|
|
118
118
|
* const mapFirst = flip(Maybe.map);
|
|
119
|
-
* mapFirst(Maybe.some(5))(n => n * 2); // Some(10)
|
|
119
|
+
* mapFirst(Maybe.make.some(5))(n => n * 2); // Some(10)
|
|
120
120
|
* ```
|
|
121
121
|
*
|
|
122
122
|
* @see {@link uncurry} for converting curried functions to multi-argument functions
|
|
@@ -265,7 +265,7 @@ interface flow {
|
|
|
265
265
|
* @example
|
|
266
266
|
* ```ts
|
|
267
267
|
* identity(42); // 42
|
|
268
|
-
* pipe(Maybe.some(5), Maybe.fold(() => 0, identity)); // 5
|
|
268
|
+
* pipe(Maybe.make.some(5), Maybe.fold(() => 0, identity)); // 5
|
|
269
269
|
* ```
|
|
270
270
|
*/
|
|
271
271
|
declare const identity: <A>(a: A) => A;
|
|
@@ -496,7 +496,7 @@ declare function async<A, B, C, D, E, F, G, H, I, J, K>(a: Awaitable<A>, ab: (a:
|
|
|
496
496
|
*
|
|
497
497
|
* // With library functions
|
|
498
498
|
* const greeting = pipe(
|
|
499
|
-
* Maybe.some("Alice"),
|
|
499
|
+
* Maybe.make.some("Alice"),
|
|
500
500
|
* Maybe.map(name => name.toUpperCase()),
|
|
501
501
|
* Maybe.map(name => `Hello, ${name}!`),
|
|
502
502
|
* Maybe.getOrElse(() => "Hello!")
|
|
@@ -599,7 +599,7 @@ interface pipe {
|
|
|
599
599
|
* ```ts
|
|
600
600
|
* // Debugging a pipeline
|
|
601
601
|
* pipe(
|
|
602
|
-
* Maybe.some(5),
|
|
602
|
+
* Maybe.make.some(5),
|
|
603
603
|
* tap(x => console.log("Before map:", x)),
|
|
604
604
|
* Maybe.map(n => n * 2),
|
|
605
605
|
* tap(x => console.log("After map:", x)),
|
|
@@ -739,7 +739,7 @@ declare namespace tap {
|
|
|
739
739
|
* pipe(
|
|
740
740
|
* data,
|
|
741
741
|
* tap.time(fetchData, {
|
|
742
|
-
* onFinish: (dur) => metrics.histogram("api.time", Duration.
|
|
742
|
+
* onFinish: (dur) => metrics.histogram("api.time", Duration.to.milliseconds(dur))
|
|
743
743
|
* })
|
|
744
744
|
* );
|
|
745
745
|
* ```
|
|
@@ -760,15 +760,15 @@ declare namespace tap {
|
|
|
760
760
|
* uncurry(nested)(); // 42
|
|
761
761
|
*
|
|
762
762
|
* // Original curried function
|
|
763
|
-
* Maybe.map(n => n * 2)(Maybe.some(5)); // Some(10)
|
|
763
|
+
* Maybe.map(n => n * 2)(Maybe.make.some(5)); // Some(10)
|
|
764
764
|
*
|
|
765
765
|
* // Uncurried - all arguments at once
|
|
766
766
|
* const mapUncurried = uncurry(Maybe.map);
|
|
767
|
-
* mapUncurried(n => n * 2, Maybe.some(5)); // Some(10)
|
|
767
|
+
* mapUncurried(n => n * 2, Maybe.make.some(5)); // Some(10)
|
|
768
768
|
*
|
|
769
769
|
* // Combined with flip for data-first uncurried
|
|
770
770
|
* const mapDataFirst = uncurry(flip(Maybe.map));
|
|
771
|
-
* mapDataFirst(Maybe.some(5), n => n * 2); // Some(10)
|
|
771
|
+
* mapDataFirst(Maybe.make.some(5), n => n * 2); // Some(10)
|
|
772
772
|
* ```
|
|
773
773
|
*
|
|
774
774
|
* @see {@link flip} for reversing curried argument order
|