@nlozgachev/pipelined 0.42.0 → 0.44.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 +10 -10
- package/dist/InternalTypes-7o9-yrHq.d.ts +118 -0
- package/dist/InternalTypes-BL23H8Qr.d.mts +118 -0
- package/dist/{Task-BprUabHP.d.mts → Validation-DM2eh6wj.d.ts} +877 -113
- package/dist/{Task-Dt3ZMen6.d.ts → Validation-Dz70wtcG.d.mts} +877 -113
- package/dist/{chunk-GBB6LVLI.mjs → chunk-74JKKJ4R.mjs} +0 -4
- package/dist/{chunk-6VYLZTAM.mjs → chunk-LKTOK5IT.mjs} +157 -69
- package/dist/{chunk-OAP765G3.mjs → chunk-ND476266.mjs} +179 -134
- package/dist/{chunk-F6SBU7GB.mjs → chunk-X6XQX3OZ.mjs} +3 -3
- package/dist/composition.d.mts +45 -44
- package/dist/composition.d.ts +45 -44
- package/dist/composition.js +2 -2
- package/dist/composition.mjs +2 -2
- package/dist/core.d.mts +11 -813
- package/dist/core.d.ts +11 -813
- package/dist/core.js +176 -132
- package/dist/core.mjs +2 -2
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +332 -203
- package/dist/index.mjs +5 -7
- package/dist/types.d.mts +112 -17
- package/dist/types.d.ts +112 -17
- package/dist/types.js +2 -7
- package/dist/types.mjs +3 -5
- package/dist/utils.d.mts +345 -89
- package/dist/utils.d.ts +345 -89
- package/dist/utils.js +429 -107
- package/dist/utils.mjs +3 -3
- package/package.json +6 -6
- package/dist/Duration-BTeT9D-q.d.mts +0 -127
- package/dist/Duration-BTeT9D-q.d.ts +0 -127
|
@@ -23,11 +23,7 @@ var Duration;
|
|
|
23
23
|
Duration2.subtract = (other) => (self) => wrap(Brand.unwrap(self) - Brand.unwrap(other));
|
|
24
24
|
})(Duration || (Duration = {}));
|
|
25
25
|
|
|
26
|
-
// src/Types/NonEmptyList.ts
|
|
27
|
-
var isNonEmptyList = (list) => list.length > 0;
|
|
28
|
-
|
|
29
26
|
export {
|
|
30
27
|
Brand,
|
|
31
|
-
isNonEmptyList,
|
|
32
28
|
Duration
|
|
33
29
|
};
|
|
@@ -2,13 +2,73 @@ import {
|
|
|
2
2
|
Deferred,
|
|
3
3
|
Maybe,
|
|
4
4
|
Result,
|
|
5
|
-
Task
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
isNonEmptyList
|
|
9
|
-
} from "./chunk-GBB6LVLI.mjs";
|
|
5
|
+
Task,
|
|
6
|
+
isNonEmptyArr
|
|
7
|
+
} from "./chunk-ND476266.mjs";
|
|
10
8
|
|
|
11
9
|
// src/Data/Arr.ts
|
|
10
|
+
var ArrMaybe;
|
|
11
|
+
((ArrMaybe2) => {
|
|
12
|
+
ArrMaybe2.traverse = (f) => (data) => {
|
|
13
|
+
const n = data.length;
|
|
14
|
+
const result = new Array(n);
|
|
15
|
+
for (let i = 0; i < n; i++) {
|
|
16
|
+
const mapped = f(data[i]);
|
|
17
|
+
if (mapped.kind === "None") {
|
|
18
|
+
return Maybe.none();
|
|
19
|
+
}
|
|
20
|
+
result[i] = mapped.value;
|
|
21
|
+
}
|
|
22
|
+
return Maybe.some(result);
|
|
23
|
+
};
|
|
24
|
+
ArrMaybe2.sequence = (data) => (0, ArrMaybe2.traverse)((a) => a)(data);
|
|
25
|
+
})(ArrMaybe || (ArrMaybe = {}));
|
|
26
|
+
var ArrResult;
|
|
27
|
+
((ArrResult2) => {
|
|
28
|
+
ArrResult2.traverse = (f) => (data) => {
|
|
29
|
+
const n = data.length;
|
|
30
|
+
const result = new Array(n);
|
|
31
|
+
for (let i = 0; i < n; i++) {
|
|
32
|
+
const mapped = f(data[i]);
|
|
33
|
+
if (mapped.kind === "Err") {
|
|
34
|
+
return mapped;
|
|
35
|
+
}
|
|
36
|
+
result[i] = mapped.value;
|
|
37
|
+
}
|
|
38
|
+
return Result.ok(result);
|
|
39
|
+
};
|
|
40
|
+
ArrResult2.sequence = (data) => (0, ArrResult2.traverse)((a) => a)(data);
|
|
41
|
+
})(ArrResult || (ArrResult = {}));
|
|
42
|
+
var ArrTaskResult;
|
|
43
|
+
((ArrTaskResult2) => {
|
|
44
|
+
ArrTaskResult2.traverse = (f) => (data) => Task.from(async () => {
|
|
45
|
+
const result = [];
|
|
46
|
+
for (const a of data) {
|
|
47
|
+
const r = await Deferred.toPromise(f(a)());
|
|
48
|
+
if (Result.isErr(r)) {
|
|
49
|
+
return r;
|
|
50
|
+
}
|
|
51
|
+
result.push(r.value);
|
|
52
|
+
}
|
|
53
|
+
return Result.ok(result);
|
|
54
|
+
});
|
|
55
|
+
ArrTaskResult2.sequence = (data) => (0, ArrTaskResult2.traverse)((a) => a)(data);
|
|
56
|
+
})(ArrTaskResult || (ArrTaskResult = {}));
|
|
57
|
+
var ArrTask;
|
|
58
|
+
((ArrTask2) => {
|
|
59
|
+
ArrTask2.traverse = (f) => (data) => Task.from(() => Promise.all(data.map((a) => Deferred.toPromise(f(a)()))));
|
|
60
|
+
ArrTask2.sequence = (data) => (0, ArrTask2.traverse)((a) => a)(data);
|
|
61
|
+
ArrTask2.Result = ArrTaskResult;
|
|
62
|
+
})(ArrTask || (ArrTask = {}));
|
|
63
|
+
var ArrNonEmpty;
|
|
64
|
+
((ArrNonEmpty2) => {
|
|
65
|
+
ArrNonEmpty2.singleton = (value) => [value];
|
|
66
|
+
ArrNonEmpty2.fromArray = (data) => isNonEmptyArr(data) ? Maybe.some(data) : Maybe.none();
|
|
67
|
+
ArrNonEmpty2.head = (data) => data[0];
|
|
68
|
+
ArrNonEmpty2.last = (data) => data[data.length - 1];
|
|
69
|
+
ArrNonEmpty2.tail = (data) => data.slice(1);
|
|
70
|
+
ArrNonEmpty2.reduce = (f) => (data) => data.reduce(f);
|
|
71
|
+
})(ArrNonEmpty || (ArrNonEmpty = {}));
|
|
12
72
|
var Arr;
|
|
13
73
|
((Arr2) => {
|
|
14
74
|
Arr2.head = (data) => data.length > 0 ? Maybe.some(data[0]) : Maybe.none();
|
|
@@ -182,6 +242,7 @@ var Arr;
|
|
|
182
242
|
}
|
|
183
243
|
return result;
|
|
184
244
|
};
|
|
245
|
+
Arr2.concat = (other) => (data) => [...data, ...other];
|
|
185
246
|
Arr2.chunksOf = (n) => (data) => {
|
|
186
247
|
if (n <= 0) {
|
|
187
248
|
return [];
|
|
@@ -222,47 +283,12 @@ var Arr;
|
|
|
222
283
|
return result;
|
|
223
284
|
};
|
|
224
285
|
Arr2.reduce = (initial, f) => (data) => data.reduce(f, initial);
|
|
225
|
-
Arr2.
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
return Maybe.none();
|
|
232
|
-
}
|
|
233
|
-
result[i] = mapped.value;
|
|
234
|
-
}
|
|
235
|
-
return Maybe.some(result);
|
|
236
|
-
};
|
|
237
|
-
Arr2.traverseResult = (f) => (data) => {
|
|
238
|
-
const n = data.length;
|
|
239
|
-
const result = new Array(n);
|
|
240
|
-
for (let i = 0; i < n; i++) {
|
|
241
|
-
const mapped = f(data[i]);
|
|
242
|
-
if (mapped.kind === "Err") {
|
|
243
|
-
return mapped;
|
|
244
|
-
}
|
|
245
|
-
result[i] = mapped.value;
|
|
246
|
-
}
|
|
247
|
-
return Result.ok(result);
|
|
248
|
-
};
|
|
249
|
-
Arr2.traverseTask = (f) => (data) => Task.from(() => Promise.all(data.map((a) => Deferred.toPromise(f(a)()))));
|
|
250
|
-
Arr2.sequence = (data) => (0, Arr2.traverse)((a) => a)(data);
|
|
251
|
-
Arr2.sequenceResult = (data) => (0, Arr2.traverseResult)((a) => a)(data);
|
|
252
|
-
Arr2.sequenceTask = (data) => (0, Arr2.traverseTask)((a) => a)(data);
|
|
253
|
-
Arr2.traverseTaskResult = (f) => (data) => Task.from(async () => {
|
|
254
|
-
const result = [];
|
|
255
|
-
for (const a of data) {
|
|
256
|
-
const r = await Deferred.toPromise(f(a)());
|
|
257
|
-
if (Result.isErr(r)) {
|
|
258
|
-
return r;
|
|
259
|
-
}
|
|
260
|
-
result.push(r.value);
|
|
261
|
-
}
|
|
262
|
-
return Result.ok(result);
|
|
263
|
-
});
|
|
264
|
-
Arr2.sequenceTaskResult = (data) => (0, Arr2.traverseTaskResult)((a) => a)(data);
|
|
265
|
-
Arr2.isNonEmpty = (data) => isNonEmptyList(data);
|
|
286
|
+
Arr2.Maybe = ArrMaybe;
|
|
287
|
+
Arr2.Result = ArrResult;
|
|
288
|
+
Arr2.Task = ArrTask;
|
|
289
|
+
Arr2.isNonEmpty = (data) => isNonEmptyArr(data);
|
|
290
|
+
Arr2.prepend = (value) => (data) => [value, ...data];
|
|
291
|
+
Arr2.append = (value) => (data) => [...data, value];
|
|
266
292
|
Arr2.size = (data) => data.length;
|
|
267
293
|
Arr2.some = (predicate) => (data) => {
|
|
268
294
|
const n = data.length;
|
|
@@ -338,6 +364,7 @@ var Arr;
|
|
|
338
364
|
const i = Math.max(0, index);
|
|
339
365
|
return [data.slice(0, i), data.slice(i)];
|
|
340
366
|
};
|
|
367
|
+
Arr2.NonEmpty = ArrNonEmpty;
|
|
341
368
|
})(Arr || (Arr = {}));
|
|
342
369
|
|
|
343
370
|
// src/Data/Dict.ts
|
|
@@ -547,25 +574,78 @@ var Num;
|
|
|
547
574
|
})(Num || (Num = {}));
|
|
548
575
|
|
|
549
576
|
// src/Data/Rec.ts
|
|
577
|
+
var _isNonEmpty = (data) => Object.keys(data).length > 0;
|
|
578
|
+
var RecMaybe;
|
|
579
|
+
((RecMaybe2) => {
|
|
580
|
+
RecMaybe2.traverse = (f) => (data) => {
|
|
581
|
+
const recordKeys = Object.keys(data);
|
|
582
|
+
const result = {};
|
|
583
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
584
|
+
const key = recordKeys[i];
|
|
585
|
+
const maybeVal = f(data[key]);
|
|
586
|
+
if (maybeVal.kind === "None") {
|
|
587
|
+
return maybeVal;
|
|
588
|
+
}
|
|
589
|
+
Object.defineProperty(result, key, { value: maybeVal.value, writable: true, enumerable: true, configurable: true });
|
|
590
|
+
}
|
|
591
|
+
return { kind: "Some", value: result };
|
|
592
|
+
};
|
|
593
|
+
RecMaybe2.sequence = (data) => (0, RecMaybe2.traverse)((a) => a)(data);
|
|
594
|
+
})(RecMaybe || (RecMaybe = {}));
|
|
595
|
+
var RecResult;
|
|
596
|
+
((RecResult2) => {
|
|
597
|
+
RecResult2.traverse = (f) => (data) => {
|
|
598
|
+
const recordKeys = Object.keys(data);
|
|
599
|
+
const result = {};
|
|
600
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
601
|
+
const key = recordKeys[i];
|
|
602
|
+
const res = f(data[key]);
|
|
603
|
+
if (res.kind === "Err") {
|
|
604
|
+
return res;
|
|
605
|
+
}
|
|
606
|
+
Object.defineProperty(result, key, { value: res.value, writable: true, enumerable: true, configurable: true });
|
|
607
|
+
}
|
|
608
|
+
return { kind: "Ok", value: result };
|
|
609
|
+
};
|
|
610
|
+
RecResult2.sequence = (data) => (0, RecResult2.traverse)((a) => a)(data);
|
|
611
|
+
})(RecResult || (RecResult = {}));
|
|
612
|
+
var RecNonEmpty;
|
|
613
|
+
((RecNonEmpty2) => {
|
|
614
|
+
RecNonEmpty2.singleton = (key, value) => ({ [key]: value });
|
|
615
|
+
RecNonEmpty2.fromRecord = (data) => _isNonEmpty(data) ? Maybe.some(data) : Maybe.none();
|
|
616
|
+
RecNonEmpty2.keys = (data) => Object.keys(data);
|
|
617
|
+
RecNonEmpty2.values = (data) => Object.values(data);
|
|
618
|
+
RecNonEmpty2.entries = (data) => Object.entries(data);
|
|
619
|
+
RecNonEmpty2.reduce = (f) => (data) => {
|
|
620
|
+
const recordVals = Object.values(data);
|
|
621
|
+
return recordVals.reduce(f);
|
|
622
|
+
};
|
|
623
|
+
})(RecNonEmpty || (RecNonEmpty = {}));
|
|
550
624
|
var Rec;
|
|
551
625
|
((Rec2) => {
|
|
552
|
-
Rec2.
|
|
553
|
-
|
|
554
|
-
const
|
|
626
|
+
Rec2.isNonEmpty = _isNonEmpty;
|
|
627
|
+
Rec2.map = (f) => ((data) => {
|
|
628
|
+
const recordKeys = Object.keys(data);
|
|
629
|
+
const recordValues = Object.values(data);
|
|
555
630
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
556
|
-
for (let i = 0; i <
|
|
557
|
-
Object.defineProperty(result,
|
|
631
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
632
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
633
|
+
value: f(recordValues[i]),
|
|
634
|
+
writable: true,
|
|
635
|
+
enumerable: true,
|
|
636
|
+
configurable: true
|
|
637
|
+
});
|
|
558
638
|
}
|
|
559
639
|
return result;
|
|
560
|
-
};
|
|
640
|
+
});
|
|
561
641
|
Rec2.filterMap = (f) => (data) => {
|
|
562
|
-
const
|
|
563
|
-
const
|
|
642
|
+
const recordKeys = Object.keys(data);
|
|
643
|
+
const recordValues = Object.values(data);
|
|
564
644
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
565
|
-
for (let i = 0; i <
|
|
566
|
-
const maybeVal = f(
|
|
645
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
646
|
+
const maybeVal = f(recordValues[i]);
|
|
567
647
|
if (maybeVal.kind === "Some") {
|
|
568
|
-
Object.defineProperty(result,
|
|
648
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
569
649
|
value: maybeVal.value,
|
|
570
650
|
writable: true,
|
|
571
651
|
enumerable: true,
|
|
@@ -575,27 +655,32 @@ var Rec;
|
|
|
575
655
|
}
|
|
576
656
|
return result;
|
|
577
657
|
};
|
|
578
|
-
Rec2.mapWithKey = (f) => (data) => {
|
|
579
|
-
const
|
|
580
|
-
const
|
|
658
|
+
Rec2.mapWithKey = (f) => ((data) => {
|
|
659
|
+
const recordKeys = Object.keys(data);
|
|
660
|
+
const recordValues = Object.values(data);
|
|
581
661
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
582
|
-
for (let i = 0; i <
|
|
583
|
-
Object.defineProperty(result,
|
|
584
|
-
value: f(
|
|
662
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
663
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
664
|
+
value: f(recordKeys[i], recordValues[i]),
|
|
585
665
|
writable: true,
|
|
586
666
|
enumerable: true,
|
|
587
667
|
configurable: true
|
|
588
668
|
});
|
|
589
669
|
}
|
|
590
670
|
return result;
|
|
591
|
-
};
|
|
671
|
+
});
|
|
592
672
|
Rec2.filter = (predicate) => (data) => {
|
|
593
|
-
const
|
|
594
|
-
const
|
|
673
|
+
const recordKeys = Object.keys(data);
|
|
674
|
+
const recordValues = Object.values(data);
|
|
595
675
|
const result = Object.create(Object.getPrototypeOf(data));
|
|
596
|
-
for (let i = 0; i <
|
|
597
|
-
if (predicate(
|
|
598
|
-
Object.defineProperty(result,
|
|
676
|
+
for (let i = 0; i < recordKeys.length; i++) {
|
|
677
|
+
if (predicate(recordValues[i])) {
|
|
678
|
+
Object.defineProperty(result, recordKeys[i], {
|
|
679
|
+
value: recordValues[i],
|
|
680
|
+
writable: true,
|
|
681
|
+
enumerable: true,
|
|
682
|
+
configurable: true
|
|
683
|
+
});
|
|
599
684
|
}
|
|
600
685
|
}
|
|
601
686
|
return result;
|
|
@@ -672,6 +757,9 @@ var Rec;
|
|
|
672
757
|
}
|
|
673
758
|
return result;
|
|
674
759
|
};
|
|
760
|
+
Rec2.Maybe = RecMaybe;
|
|
761
|
+
Rec2.Result = RecResult;
|
|
762
|
+
Rec2.NonEmpty = RecNonEmpty;
|
|
675
763
|
})(Rec || (Rec = {}));
|
|
676
764
|
|
|
677
765
|
// src/Data/Str.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Duration
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-74JKKJ4R.mjs";
|
|
4
4
|
|
|
5
5
|
// src/Core/Combinable.ts
|
|
6
6
|
var Combinable;
|
|
@@ -1579,6 +1579,162 @@ var State;
|
|
|
1579
1579
|
)(data);
|
|
1580
1580
|
})(State || (State = {}));
|
|
1581
1581
|
|
|
1582
|
+
// src/Core/TaskMaybe.ts
|
|
1583
|
+
var TaskMaybe;
|
|
1584
|
+
((TaskMaybe2) => {
|
|
1585
|
+
TaskMaybe2.some = (value) => Task.resolve(Maybe.some(value));
|
|
1586
|
+
TaskMaybe2.none = () => Task.resolve(Maybe.none());
|
|
1587
|
+
TaskMaybe2.fromMaybe = (option) => Task.resolve(option);
|
|
1588
|
+
TaskMaybe2.fromNullable = (value) => Task.resolve(Maybe.fromNullable(value));
|
|
1589
|
+
TaskMaybe2.fromResult = (result) => Task.resolve(Result.toMaybe(result));
|
|
1590
|
+
TaskMaybe2.fromTask = (task) => Task.map(Maybe.some)(task);
|
|
1591
|
+
TaskMaybe2.tryCatch = (f) => Task.from((signal) => Promise.resolve(f(signal)).then(Maybe.some).catch(() => Maybe.none()));
|
|
1592
|
+
TaskMaybe2.map = (f) => (data) => Task.map(Maybe.map(f))(data);
|
|
1593
|
+
TaskMaybe2.chain = (f) => (data) => Task.chain((option) => Maybe.isSome(option) ? f(option.value) : Task.resolve(Maybe.none()))(data);
|
|
1594
|
+
TaskMaybe2.ap = (arg) => (data) => Task.from(
|
|
1595
|
+
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1596
|
+
([of_, oa]) => Maybe.ap(oa)(of_)
|
|
1597
|
+
)
|
|
1598
|
+
);
|
|
1599
|
+
TaskMaybe2.fold = (onNone, onSome) => (data) => Task.map(Maybe.fold(onNone, onSome))(data);
|
|
1600
|
+
TaskMaybe2.match = (cases) => (data) => Task.map(Maybe.match(cases))(data);
|
|
1601
|
+
TaskMaybe2.getOrElse = (defaultValue) => (data) => Task.map(Maybe.getOrElse(defaultValue))(data);
|
|
1602
|
+
TaskMaybe2.tap = (f) => (data) => Task.map(Maybe.tap(f))(data);
|
|
1603
|
+
TaskMaybe2.filter = (predicate) => (data) => Task.map(Maybe.filter(predicate))(data);
|
|
1604
|
+
TaskMaybe2.toResult = (onNone) => (data) => Task.map(Maybe.toResult(onNone))(data);
|
|
1605
|
+
TaskMaybe2.bindTo = (key) => (data) => (0, TaskMaybe2.map)((a) => ({ [key]: a }))(data);
|
|
1606
|
+
TaskMaybe2.bind = (key, f) => (data) => (0, TaskMaybe2.chain)(
|
|
1607
|
+
(a) => (0, TaskMaybe2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1608
|
+
)(data);
|
|
1609
|
+
TaskMaybe2.recover = (fallback) => (data) => Task.chain((maybe) => Maybe.isNone(maybe) ? fallback() : Task.resolve(maybe))(data);
|
|
1610
|
+
TaskMaybe2.struct = (fields) => Task.from((signal) => {
|
|
1611
|
+
const keys = Object.keys(fields);
|
|
1612
|
+
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
1613
|
+
return Promise.all(promises).then((results) => {
|
|
1614
|
+
const record = {};
|
|
1615
|
+
for (let i = 0; i < keys.length; i++) {
|
|
1616
|
+
const res = results[i];
|
|
1617
|
+
if (Maybe.isNone(res)) {
|
|
1618
|
+
return res;
|
|
1619
|
+
}
|
|
1620
|
+
record[keys[i]] = res.value;
|
|
1621
|
+
}
|
|
1622
|
+
return Maybe.some(record);
|
|
1623
|
+
});
|
|
1624
|
+
});
|
|
1625
|
+
})(TaskMaybe || (TaskMaybe = {}));
|
|
1626
|
+
|
|
1627
|
+
// src/Core/TaskResult.ts
|
|
1628
|
+
var TaskResult;
|
|
1629
|
+
((TaskResult2) => {
|
|
1630
|
+
TaskResult2.ok = (value) => Task.resolve(Result.ok(value));
|
|
1631
|
+
TaskResult2.err = (error) => Task.resolve(Result.err(error));
|
|
1632
|
+
TaskResult2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Result.err(onNull()) : Result.ok(value));
|
|
1633
|
+
TaskResult2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Result.err(onNone()) : Result.ok(maybe.value));
|
|
1634
|
+
TaskResult2.fromResult = (result) => Task.resolve(result);
|
|
1635
|
+
TaskResult2.fromThrowable = (f, onError) => (...args) => Task.from(() => f(...args).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
1636
|
+
TaskResult2.tryCatch = (f, onError) => Task.from((signal) => Promise.resolve(f(signal)).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
1637
|
+
TaskResult2.map = (f) => (data) => Task.map(Result.map(f))(data);
|
|
1638
|
+
TaskResult2.mapError = (f) => (data) => Task.map(Result.mapError(f))(data);
|
|
1639
|
+
TaskResult2.chain = (f) => (data) => Task.chain((result) => Result.isOk(result) ? f(result.value) : Task.resolve(Result.err(result.error)))(
|
|
1640
|
+
data
|
|
1641
|
+
);
|
|
1642
|
+
TaskResult2.fold = (onErr, onOk) => (data) => Task.map(Result.fold(onErr, onOk))(data);
|
|
1643
|
+
TaskResult2.match = (cases) => (data) => Task.map(Result.match(cases))(data);
|
|
1644
|
+
TaskResult2.recover = (fallback) => (data) => Task.chain(
|
|
1645
|
+
(result) => Result.isErr(result) ? fallback(result.error) : Task.resolve(result)
|
|
1646
|
+
)(data);
|
|
1647
|
+
TaskResult2.getOrElse = (defaultValue) => (data) => Task.map(Result.getOrElse(defaultValue))(data);
|
|
1648
|
+
TaskResult2.tap = (f) => (data) => Task.map(Result.tap(f))(data);
|
|
1649
|
+
TaskResult2.tapError = (f) => (data) => Task.map(Result.tapError(f))(data);
|
|
1650
|
+
TaskResult2.ap = (arg) => (data) => Task.from(
|
|
1651
|
+
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1652
|
+
([of_, oa]) => Result.ap(oa)(of_)
|
|
1653
|
+
)
|
|
1654
|
+
);
|
|
1655
|
+
TaskResult2.run = (signal) => (task) => task(signal);
|
|
1656
|
+
TaskResult2.bindTo = (key) => (data) => (0, TaskResult2.map)((a) => ({ [key]: a }))(data);
|
|
1657
|
+
TaskResult2.bind = (key, f) => (data) => (0, TaskResult2.chain)(
|
|
1658
|
+
(a) => (0, TaskResult2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1659
|
+
)(data);
|
|
1660
|
+
TaskResult2.struct = (fields) => Task.from((signal) => {
|
|
1661
|
+
const keys = Object.keys(fields);
|
|
1662
|
+
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
1663
|
+
return Promise.all(promises).then((results) => {
|
|
1664
|
+
const record = {};
|
|
1665
|
+
for (let i = 0; i < keys.length; i++) {
|
|
1666
|
+
const res = results[i];
|
|
1667
|
+
if (Result.isErr(res)) {
|
|
1668
|
+
return res;
|
|
1669
|
+
}
|
|
1670
|
+
record[keys[i]] = res.value;
|
|
1671
|
+
}
|
|
1672
|
+
return Result.ok(record);
|
|
1673
|
+
});
|
|
1674
|
+
});
|
|
1675
|
+
})(TaskResult || (TaskResult = {}));
|
|
1676
|
+
|
|
1677
|
+
// src/internal/InternalTypes.ts
|
|
1678
|
+
var isNonEmptyArr = (list) => list.length > 0;
|
|
1679
|
+
|
|
1680
|
+
// src/Core/TaskValidation.ts
|
|
1681
|
+
var TaskValidation;
|
|
1682
|
+
((TaskValidation2) => {
|
|
1683
|
+
TaskValidation2.passed = (value) => Task.resolve(Validation.passed(value));
|
|
1684
|
+
TaskValidation2.failed = (error) => Task.resolve(Validation.failed(error));
|
|
1685
|
+
TaskValidation2.failedAll = (errors) => Task.resolve(Validation.failedAll(errors));
|
|
1686
|
+
TaskValidation2.fromValidation = (validation) => Task.resolve(validation);
|
|
1687
|
+
TaskValidation2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Validation.failed(onNull()) : Validation.passed(value));
|
|
1688
|
+
TaskValidation2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Validation.failed(onNone()) : Validation.passed(maybe.value));
|
|
1689
|
+
TaskValidation2.fromResult = (result) => Task.resolve(Validation.fromResult(result));
|
|
1690
|
+
TaskValidation2.tryCatch = (f, onError) => Task.from(
|
|
1691
|
+
(signal) => Promise.resolve(f(signal)).then(Validation.passed).catch((error) => Validation.failed(onError(error)))
|
|
1692
|
+
);
|
|
1693
|
+
TaskValidation2.map = (f) => (data) => Task.map(Validation.map(f))(data);
|
|
1694
|
+
TaskValidation2.ap = (arg) => (data) => Task.from(
|
|
1695
|
+
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1696
|
+
([vf, va]) => Validation.ap(va)(vf)
|
|
1697
|
+
)
|
|
1698
|
+
);
|
|
1699
|
+
TaskValidation2.fold = (onFailed, onPassed) => (data) => Task.map(Validation.fold(onFailed, onPassed))(data);
|
|
1700
|
+
TaskValidation2.match = (cases) => (data) => Task.map(Validation.match(cases))(data);
|
|
1701
|
+
TaskValidation2.getOrElse = (defaultValue) => (data) => Task.map(Validation.getOrElse(defaultValue))(data);
|
|
1702
|
+
TaskValidation2.tap = (f) => (data) => Task.map(Validation.tap(f))(data);
|
|
1703
|
+
TaskValidation2.recover = (fallback) => (data) => Task.chain(
|
|
1704
|
+
(validation) => Validation.isPassed(validation) ? Task.resolve(validation) : fallback(validation.errors)
|
|
1705
|
+
)(data);
|
|
1706
|
+
TaskValidation2.product = (first, second) => Task.from(
|
|
1707
|
+
(signal) => Promise.all([Deferred.toPromise(first(signal)), Deferred.toPromise(second(signal))]).then(
|
|
1708
|
+
([va, vb]) => Validation.product(va, vb)
|
|
1709
|
+
)
|
|
1710
|
+
);
|
|
1711
|
+
TaskValidation2.productAll = (data) => Task.from(
|
|
1712
|
+
(signal) => Promise.all(data.map((t) => Deferred.toPromise(t(signal)))).then((results) => {
|
|
1713
|
+
const [first, ...rest] = results;
|
|
1714
|
+
return Validation.productAll([first, ...rest]);
|
|
1715
|
+
})
|
|
1716
|
+
);
|
|
1717
|
+
TaskValidation2.mapError = (f) => (data) => Task.map(Validation.mapError(f))(data);
|
|
1718
|
+
TaskValidation2.tapError = (f) => (data) => Task.map(Validation.tapError(f))(data);
|
|
1719
|
+
TaskValidation2.struct = (fields) => Task.from((signal) => {
|
|
1720
|
+
const keys = Object.keys(fields);
|
|
1721
|
+
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
1722
|
+
return Promise.all(promises).then((results) => {
|
|
1723
|
+
const record = {};
|
|
1724
|
+
const errors = [];
|
|
1725
|
+
for (let i = 0; i < keys.length; i++) {
|
|
1726
|
+
const res = results[i];
|
|
1727
|
+
if (Validation.isPassed(res)) {
|
|
1728
|
+
record[keys[i]] = res.value;
|
|
1729
|
+
} else {
|
|
1730
|
+
errors.push(...res.errors);
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1733
|
+
return isNonEmptyArr(errors) ? Validation.failedAll(errors) : Validation.passed(record);
|
|
1734
|
+
});
|
|
1735
|
+
});
|
|
1736
|
+
})(TaskValidation || (TaskValidation = {}));
|
|
1737
|
+
|
|
1582
1738
|
// src/Core/Task.ts
|
|
1583
1739
|
var toPromise = (task, signal) => Deferred.toPromise(task(signal));
|
|
1584
1740
|
var getMs2 = (duration) => Duration.toMilliseconds(duration);
|
|
@@ -1735,14 +1891,16 @@ var Task;
|
|
|
1735
1891
|
Task2.timeout = (duration, onTimeout) => (task) => (0, Task2.from)((outerSignal) => {
|
|
1736
1892
|
const controller = new AbortController();
|
|
1737
1893
|
let timerId;
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
}
|
|
1742
|
-
function onOuterAbort() {
|
|
1894
|
+
let cleanUp = () => {
|
|
1895
|
+
};
|
|
1896
|
+
const onOuterAbort = () => {
|
|
1743
1897
|
cleanUp();
|
|
1744
1898
|
controller.abort();
|
|
1745
|
-
}
|
|
1899
|
+
};
|
|
1900
|
+
cleanUp = () => {
|
|
1901
|
+
clearTimeout(timerId);
|
|
1902
|
+
outerSignal?.removeEventListener("abort", onOuterAbort);
|
|
1903
|
+
};
|
|
1746
1904
|
if (outerSignal) {
|
|
1747
1905
|
if (outerSignal.aborted) {
|
|
1748
1906
|
controller.abort();
|
|
@@ -1787,123 +1945,11 @@ var Task;
|
|
|
1787
1945
|
Task2.bind = (key, f) => (data) => (0, Task2.chain)(
|
|
1788
1946
|
(a) => (0, Task2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1789
1947
|
)(data);
|
|
1948
|
+
Task2.Maybe = TaskMaybe;
|
|
1949
|
+
Task2.Result = TaskResult;
|
|
1950
|
+
Task2.Validation = TaskValidation;
|
|
1790
1951
|
})(Task || (Task = {}));
|
|
1791
1952
|
|
|
1792
|
-
// src/Core/TaskMaybe.ts
|
|
1793
|
-
var TaskMaybe;
|
|
1794
|
-
((TaskMaybe2) => {
|
|
1795
|
-
TaskMaybe2.some = (value) => Task.resolve(Maybe.some(value));
|
|
1796
|
-
TaskMaybe2.none = () => Task.resolve(Maybe.none());
|
|
1797
|
-
TaskMaybe2.fromMaybe = (option) => Task.resolve(option);
|
|
1798
|
-
TaskMaybe2.fromNullable = (value) => Task.resolve(Maybe.fromNullable(value));
|
|
1799
|
-
TaskMaybe2.fromResult = (result) => Task.resolve(Result.toMaybe(result));
|
|
1800
|
-
TaskMaybe2.fromTask = (task) => Task.map(Maybe.some)(task);
|
|
1801
|
-
TaskMaybe2.tryCatch = (f) => Task.from((signal) => f(signal).then(Maybe.some).catch(() => Maybe.none()));
|
|
1802
|
-
TaskMaybe2.map = (f) => (data) => Task.map(Maybe.map(f))(data);
|
|
1803
|
-
TaskMaybe2.chain = (f) => (data) => Task.chain((option) => Maybe.isSome(option) ? f(option.value) : Task.resolve(Maybe.none()))(data);
|
|
1804
|
-
TaskMaybe2.ap = (arg) => (data) => Task.from(
|
|
1805
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1806
|
-
([of_, oa]) => Maybe.ap(oa)(of_)
|
|
1807
|
-
)
|
|
1808
|
-
);
|
|
1809
|
-
TaskMaybe2.fold = (onNone, onSome) => (data) => Task.map(Maybe.fold(onNone, onSome))(data);
|
|
1810
|
-
TaskMaybe2.match = (cases) => (data) => Task.map(Maybe.match(cases))(data);
|
|
1811
|
-
TaskMaybe2.getOrElse = (defaultValue) => (data) => Task.map(Maybe.getOrElse(defaultValue))(data);
|
|
1812
|
-
TaskMaybe2.tap = (f) => (data) => Task.map(Maybe.tap(f))(data);
|
|
1813
|
-
TaskMaybe2.filter = (predicate) => (data) => Task.map(Maybe.filter(predicate))(data);
|
|
1814
|
-
TaskMaybe2.toTaskResult = (onNone) => (data) => Task.map(Maybe.toResult(onNone))(data);
|
|
1815
|
-
TaskMaybe2.bindTo = (key) => (data) => (0, TaskMaybe2.map)((a) => ({ [key]: a }))(data);
|
|
1816
|
-
TaskMaybe2.bind = (key, f) => (data) => (0, TaskMaybe2.chain)(
|
|
1817
|
-
(a) => (0, TaskMaybe2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1818
|
-
)(data);
|
|
1819
|
-
})(TaskMaybe || (TaskMaybe = {}));
|
|
1820
|
-
|
|
1821
|
-
// src/Core/TaskResult.ts
|
|
1822
|
-
var TaskResult3;
|
|
1823
|
-
((TaskResult4) => {
|
|
1824
|
-
TaskResult4.ok = (value) => Task.resolve(Result.ok(value));
|
|
1825
|
-
TaskResult4.err = (error) => Task.resolve(Result.err(error));
|
|
1826
|
-
TaskResult4.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Result.err(onNull()) : Result.ok(value));
|
|
1827
|
-
TaskResult4.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Result.err(onNone()) : Result.ok(maybe.value));
|
|
1828
|
-
TaskResult4.fromResult = (result) => Task.resolve(result);
|
|
1829
|
-
TaskResult4.fromThrowable = (f, onError) => (...args) => Task.from(() => f(...args).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
1830
|
-
TaskResult4.tryCatch = (f, onError) => Task.from((signal) => f(signal).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
1831
|
-
TaskResult4.map = (f) => (data) => Task.map(Result.map(f))(data);
|
|
1832
|
-
TaskResult4.mapError = (f) => (data) => Task.map(Result.mapError(f))(data);
|
|
1833
|
-
TaskResult4.chain = (f) => (data) => Task.chain((result) => Result.isOk(result) ? f(result.value) : Task.resolve(Result.err(result.error)))(
|
|
1834
|
-
data
|
|
1835
|
-
);
|
|
1836
|
-
TaskResult4.fold = (onErr, onOk) => (data) => Task.map(Result.fold(onErr, onOk))(data);
|
|
1837
|
-
TaskResult4.match = (cases) => (data) => Task.map(Result.match(cases))(data);
|
|
1838
|
-
TaskResult4.recover = (fallback) => (data) => Task.chain(
|
|
1839
|
-
(result) => Result.isErr(result) ? fallback(result.error) : Task.resolve(result)
|
|
1840
|
-
)(data);
|
|
1841
|
-
TaskResult4.getOrElse = (defaultValue) => (data) => Task.map(Result.getOrElse(defaultValue))(data);
|
|
1842
|
-
TaskResult4.tap = (f) => (data) => Task.map(Result.tap(f))(data);
|
|
1843
|
-
TaskResult4.tapError = (f) => (data) => Task.map(Result.tapError(f))(data);
|
|
1844
|
-
TaskResult4.ap = (arg) => (data) => Task.from(
|
|
1845
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1846
|
-
([of_, oa]) => Result.ap(oa)(of_)
|
|
1847
|
-
)
|
|
1848
|
-
);
|
|
1849
|
-
TaskResult4.run = (signal) => (task) => task(signal);
|
|
1850
|
-
TaskResult4.bindTo = (key) => (data) => (0, TaskResult4.map)((a) => ({ [key]: a }))(data);
|
|
1851
|
-
TaskResult4.bind = (key, f) => (data) => (0, TaskResult4.chain)(
|
|
1852
|
-
(a) => (0, TaskResult4.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1853
|
-
)(data);
|
|
1854
|
-
TaskResult4.struct = (fields) => Task.from((signal) => {
|
|
1855
|
-
const keys = Object.keys(fields);
|
|
1856
|
-
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
1857
|
-
return Promise.all(promises).then((results) => {
|
|
1858
|
-
const record = {};
|
|
1859
|
-
for (let i = 0; i < keys.length; i++) {
|
|
1860
|
-
const res = results[i];
|
|
1861
|
-
if (Result.isErr(res)) {
|
|
1862
|
-
return res;
|
|
1863
|
-
}
|
|
1864
|
-
record[keys[i]] = res.value;
|
|
1865
|
-
}
|
|
1866
|
-
return Result.ok(record);
|
|
1867
|
-
});
|
|
1868
|
-
});
|
|
1869
|
-
})(TaskResult3 || (TaskResult3 = {}));
|
|
1870
|
-
|
|
1871
|
-
// src/Core/TaskValidation.ts
|
|
1872
|
-
var TaskValidation;
|
|
1873
|
-
((TaskValidation2) => {
|
|
1874
|
-
TaskValidation2.passed = (value) => Task.resolve(Validation.passed(value));
|
|
1875
|
-
TaskValidation2.failed = (error) => Task.resolve(Validation.failed(error));
|
|
1876
|
-
TaskValidation2.failedAll = (errors) => Task.resolve(Validation.failedAll(errors));
|
|
1877
|
-
TaskValidation2.fromValidation = (validation) => Task.resolve(validation);
|
|
1878
|
-
TaskValidation2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Validation.failed(onNull()) : Validation.passed(value));
|
|
1879
|
-
TaskValidation2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Validation.failed(onNone()) : Validation.passed(maybe.value));
|
|
1880
|
-
TaskValidation2.fromResult = (result) => Task.resolve(Validation.fromResult(result));
|
|
1881
|
-
TaskValidation2.tryCatch = (f, onError) => Task.from((signal) => f(signal).then(Validation.passed).catch((error) => Validation.failed(onError(error))));
|
|
1882
|
-
TaskValidation2.map = (f) => (data) => Task.map(Validation.map(f))(data);
|
|
1883
|
-
TaskValidation2.ap = (arg) => (data) => Task.from(
|
|
1884
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1885
|
-
([vf, va]) => Validation.ap(va)(vf)
|
|
1886
|
-
)
|
|
1887
|
-
);
|
|
1888
|
-
TaskValidation2.fold = (onFailed, onPassed) => (data) => Task.map(Validation.fold(onFailed, onPassed))(data);
|
|
1889
|
-
TaskValidation2.match = (cases) => (data) => Task.map(Validation.match(cases))(data);
|
|
1890
|
-
TaskValidation2.getOrElse = (defaultValue) => (data) => Task.map(Validation.getOrElse(defaultValue))(data);
|
|
1891
|
-
TaskValidation2.tap = (f) => (data) => Task.map(Validation.tap(f))(data);
|
|
1892
|
-
TaskValidation2.recover = (fallback) => (data) => Task.chain(
|
|
1893
|
-
(validation) => Validation.isPassed(validation) ? Task.resolve(validation) : fallback(validation.errors)
|
|
1894
|
-
)(data);
|
|
1895
|
-
TaskValidation2.product = (first, second) => Task.from(
|
|
1896
|
-
(signal) => Promise.all([Deferred.toPromise(first(signal)), Deferred.toPromise(second(signal))]).then(
|
|
1897
|
-
([va, vb]) => Validation.product(va, vb)
|
|
1898
|
-
)
|
|
1899
|
-
);
|
|
1900
|
-
TaskValidation2.productAll = (data) => Task.from(
|
|
1901
|
-
(signal) => Promise.all(data.map((t) => Deferred.toPromise(t(signal)))).then(
|
|
1902
|
-
(results) => Validation.productAll(results)
|
|
1903
|
-
)
|
|
1904
|
-
);
|
|
1905
|
-
})(TaskValidation || (TaskValidation = {}));
|
|
1906
|
-
|
|
1907
1953
|
// src/Core/These.ts
|
|
1908
1954
|
var These;
|
|
1909
1955
|
((These2) => {
|
|
@@ -2026,11 +2072,10 @@ var Validation;
|
|
|
2026
2072
|
Validation2.map = (f) => (data) => (0, Validation2.isPassed)(data) ? (0, Validation2.passed)(f(data.value)) : data;
|
|
2027
2073
|
Validation2.mapError = (f) => (data) => (0, Validation2.isFailed)(data) ? (0, Validation2.failedAll)(data.errors.map(f)) : data;
|
|
2028
2074
|
Validation2.ap = (arg) => (data) => {
|
|
2029
|
-
if ((0, Validation2.isPassed)(data)
|
|
2030
|
-
return (0, Validation2.passed)(data.value(arg.value));
|
|
2075
|
+
if ((0, Validation2.isPassed)(data)) {
|
|
2076
|
+
return (0, Validation2.isPassed)(arg) ? (0, Validation2.passed)(data.value(arg.value)) : (0, Validation2.failedAll)(arg.errors);
|
|
2031
2077
|
}
|
|
2032
|
-
|
|
2033
|
-
return (0, Validation2.failedAll)(errors);
|
|
2078
|
+
return (0, Validation2.isPassed)(arg) ? (0, Validation2.failedAll)(data.errors) : (0, Validation2.failedAll)([...data.errors, ...arg.errors]);
|
|
2034
2079
|
};
|
|
2035
2080
|
Validation2.fold = (onFailed, onPassed) => (data) => (0, Validation2.isPassed)(data) ? onPassed(data.value) : onFailed(data.errors);
|
|
2036
2081
|
Validation2.match = (cases) => (data) => (0, Validation2.isPassed)(data) ? cases.passed(data.value) : cases.failed(data.errors);
|
|
@@ -2053,11 +2098,10 @@ var Validation;
|
|
|
2053
2098
|
Validation2.toMaybe = (data) => (0, Validation2.isPassed)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
2054
2099
|
Validation2.fromResult = (data) => data.kind === "Ok" ? (0, Validation2.passed)(data.value) : (0, Validation2.failed)(data.error);
|
|
2055
2100
|
Validation2.product = (first, second) => {
|
|
2056
|
-
if ((0, Validation2.isPassed)(first)
|
|
2057
|
-
return (0, Validation2.passed)([first.value, second.value]);
|
|
2101
|
+
if ((0, Validation2.isPassed)(first)) {
|
|
2102
|
+
return (0, Validation2.isPassed)(second) ? (0, Validation2.passed)([first.value, second.value]) : (0, Validation2.failedAll)(second.errors);
|
|
2058
2103
|
}
|
|
2059
|
-
|
|
2060
|
-
return (0, Validation2.failedAll)(errors);
|
|
2104
|
+
return (0, Validation2.isPassed)(second) ? (0, Validation2.failedAll)(first.errors) : (0, Validation2.failedAll)([...first.errors, ...second.errors]);
|
|
2061
2105
|
};
|
|
2062
2106
|
Validation2.productAll = (data) => {
|
|
2063
2107
|
const values = [];
|
|
@@ -2069,7 +2113,7 @@ var Validation;
|
|
|
2069
2113
|
errors.push(...v.errors);
|
|
2070
2114
|
}
|
|
2071
2115
|
}
|
|
2072
|
-
return errors
|
|
2116
|
+
return isNonEmptyArr(errors) ? (0, Validation2.failedAll)(errors) : (0, Validation2.passed)(values);
|
|
2073
2117
|
};
|
|
2074
2118
|
Validation2.struct = (fields) => {
|
|
2075
2119
|
const record = {};
|
|
@@ -2084,7 +2128,7 @@ var Validation;
|
|
|
2084
2128
|
}
|
|
2085
2129
|
}
|
|
2086
2130
|
}
|
|
2087
|
-
return errors
|
|
2131
|
+
return isNonEmptyArr(errors) ? (0, Validation2.failedAll)(errors) : (0, Validation2.passed)(record);
|
|
2088
2132
|
};
|
|
2089
2133
|
})(Validation || (Validation = {}));
|
|
2090
2134
|
|
|
@@ -2106,10 +2150,11 @@ export {
|
|
|
2106
2150
|
Resource,
|
|
2107
2151
|
Result,
|
|
2108
2152
|
State,
|
|
2109
|
-
Task,
|
|
2110
2153
|
TaskMaybe,
|
|
2111
|
-
|
|
2154
|
+
TaskResult,
|
|
2155
|
+
isNonEmptyArr,
|
|
2112
2156
|
TaskValidation,
|
|
2157
|
+
Task,
|
|
2113
2158
|
These,
|
|
2114
2159
|
Tuple,
|
|
2115
2160
|
Validation
|