@nlozgachev/pipelined 0.31.0 → 0.32.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/core.js CHANGED
@@ -20,12 +20,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/Core/index.ts
21
21
  var Core_exports = {};
22
22
  __export(Core_exports, {
23
+ Combinable: () => Combinable,
23
24
  Deferred: () => Deferred,
25
+ Equality: () => Equality,
26
+ Lazy: () => Lazy,
24
27
  Lens: () => Lens,
25
28
  Logged: () => Logged,
26
29
  Maybe: () => Maybe,
27
30
  Op: () => Op,
28
31
  Optional: () => Optional,
32
+ Ordering: () => Ordering,
29
33
  Predicate: () => Predicate,
30
34
  Reader: () => Reader,
31
35
  Refinement: () => Refinement,
@@ -43,65 +47,6 @@ __export(Core_exports, {
43
47
  });
44
48
  module.exports = __toCommonJS(Core_exports);
45
49
 
46
- // src/Core/Deferred.ts
47
- var Deferred;
48
- ((Deferred2) => {
49
- Deferred2.fromPromise = (p) => (
50
- // eslint-disable-next-line unicorn/no-thenable -- Deferred is intentionally thenable; it is the mechanism that makes Task awaitable
51
- { then: ((f) => p.then(f)) }
52
- );
53
- Deferred2.toPromise = (d) => new Promise((resolve) => d.then(resolve));
54
- })(Deferred || (Deferred = {}));
55
-
56
- // src/Core/Lens.ts
57
- var Lens;
58
- ((Lens2) => {
59
- Lens2.make = (get2, set2) => ({ get: get2, set: set2 });
60
- Lens2.prop = () => (key) => (0, Lens2.make)(
61
- (s) => s[key],
62
- (a) => (s) => ({ ...s, [key]: a })
63
- );
64
- Lens2.get = (lens) => (s) => lens.get(s);
65
- Lens2.set = (lens) => (a) => (s) => lens.set(a)(s);
66
- Lens2.modify = (lens) => (f) => (s) => lens.set(f(lens.get(s)))(s);
67
- Lens2.andThen = (inner) => (outer) => (0, Lens2.make)(
68
- (s) => inner.get(outer.get(s)),
69
- (b) => (s) => outer.set(inner.set(b)(outer.get(s)))(s)
70
- );
71
- Lens2.andThenOptional = (inner) => (outer) => ({
72
- get: (s) => inner.get(outer.get(s)),
73
- set: (b) => (s) => outer.set(inner.set(b)(outer.get(s)))(s)
74
- });
75
- Lens2.toOptional = (lens) => ({
76
- get: (s) => ({ kind: "Some", value: lens.get(s) }),
77
- set: lens.set
78
- });
79
- })(Lens || (Lens = {}));
80
-
81
- // src/Core/Logged.ts
82
- var Logged;
83
- ((Logged2) => {
84
- Logged2.make = (value) => ({ value, log: [] });
85
- Logged2.tell = (entry) => ({ value: void 0, log: [entry] });
86
- Logged2.map = (f) => (data) => ({
87
- value: f(data.value),
88
- log: data.log
89
- });
90
- Logged2.chain = (f) => (data) => {
91
- const next = f(data.value);
92
- return { value: next.value, log: [...data.log, ...next.log] };
93
- };
94
- Logged2.ap = (arg) => (data) => ({
95
- value: data.value(arg.value),
96
- log: [...data.log, ...arg.log]
97
- });
98
- Logged2.tap = (f) => (data) => {
99
- f(data.value);
100
- return data;
101
- };
102
- Logged2.run = (data) => [data.value, data.log];
103
- })(Logged || (Logged = {}));
104
-
105
50
  // src/Core/Result.ts
106
51
  var Result;
107
52
  ((Result2) => {
@@ -165,6 +110,137 @@ var Maybe;
165
110
  Maybe2.ap = (arg) => (data) => (0, Maybe2.isSome)(data) && (0, Maybe2.isSome)(arg) ? (0, Maybe2.some)(data.value(arg.value)) : (0, Maybe2.none)();
166
111
  })(Maybe || (Maybe = {}));
167
112
 
113
+ // src/Core/Combinable.ts
114
+ var Combinable;
115
+ ((Combinable2) => {
116
+ Combinable2.string = {
117
+ empty: "",
118
+ combine: (b) => (a) => a + b
119
+ };
120
+ Combinable2.sum = {
121
+ empty: 0,
122
+ combine: (b) => (a) => a + b
123
+ };
124
+ Combinable2.product = {
125
+ empty: 1,
126
+ combine: (b) => (a) => a * b
127
+ };
128
+ Combinable2.all = {
129
+ empty: true,
130
+ combine: (b) => (a) => a && b
131
+ };
132
+ Combinable2.any = {
133
+ empty: false,
134
+ combine: (b) => (a) => a || b
135
+ };
136
+ Combinable2.array = () => ({
137
+ empty: [],
138
+ combine: (b) => (a) => [...a, ...b]
139
+ });
140
+ Combinable2.maybe = (inner) => ({
141
+ empty: Maybe.none(),
142
+ combine: (b) => (a) => Maybe.isNone(a) ? b : Maybe.isNone(b) ? a : Maybe.some(inner.combine(b.value)(a.value))
143
+ });
144
+ Combinable2.fold = (c) => (data) => data.reduce((acc, x) => c.combine(x)(acc), c.empty);
145
+ })(Combinable || (Combinable = {}));
146
+
147
+ // src/Core/Deferred.ts
148
+ var Deferred;
149
+ ((Deferred2) => {
150
+ Deferred2.fromPromise = (p) => (
151
+ // eslint-disable-next-line unicorn/no-thenable -- Deferred is intentionally thenable; it is the mechanism that makes Task awaitable
152
+ { then: ((f) => p.then(f)) }
153
+ );
154
+ Deferred2.toPromise = (d) => new Promise((resolve) => d.then(resolve));
155
+ })(Deferred || (Deferred = {}));
156
+
157
+ // src/Core/Equality.ts
158
+ var Equality;
159
+ ((Equality2) => {
160
+ Equality2.string = (a, b) => a === b;
161
+ Equality2.number = (a, b) => a === b;
162
+ Equality2.boolean = (a, b) => a === b;
163
+ Equality2.date = (a, b) => a.getTime() === b.getTime();
164
+ Equality2.array = (eq) => (a, b) => a.length === b.length && a.every((x, i) => eq(x, b[i]));
165
+ Equality2.by = (f) => (eq) => (a, b) => eq(f(a), f(b));
166
+ Equality2.and = (eq2) => (eq1) => (a, b) => eq1(a, b) && eq2(a, b);
167
+ })(Equality || (Equality = {}));
168
+
169
+ // src/Core/Lazy.ts
170
+ var Lazy;
171
+ ((Lazy2) => {
172
+ Lazy2.from = (f) => {
173
+ let done = false;
174
+ let cache;
175
+ return {
176
+ get: () => {
177
+ if (!done) {
178
+ cache = f();
179
+ done = true;
180
+ }
181
+ return cache;
182
+ }
183
+ };
184
+ };
185
+ Lazy2.evaluate = (lazy) => lazy.get();
186
+ Lazy2.map = (f) => (lazy) => Lazy2.from(() => f(lazy.get()));
187
+ Lazy2.chain = (f) => (lazy) => Lazy2.from(() => f(lazy.get()).get());
188
+ Lazy2.tap = (f) => (lazy) => Lazy2.from(() => {
189
+ const v = lazy.get();
190
+ f(v);
191
+ return v;
192
+ });
193
+ })(Lazy || (Lazy = {}));
194
+
195
+ // src/Core/Lens.ts
196
+ var Lens;
197
+ ((Lens2) => {
198
+ Lens2.make = (get2, set2) => ({ get: get2, set: set2 });
199
+ Lens2.prop = () => (key) => (0, Lens2.make)(
200
+ (s) => s[key],
201
+ (a) => (s) => ({ ...s, [key]: a })
202
+ );
203
+ Lens2.get = (lens) => (s) => lens.get(s);
204
+ Lens2.set = (lens) => (a) => (s) => lens.set(a)(s);
205
+ Lens2.modify = (lens) => (f) => (s) => lens.set(f(lens.get(s)))(s);
206
+ Lens2.andThen = (inner) => (outer) => (0, Lens2.make)(
207
+ (s) => inner.get(outer.get(s)),
208
+ (b) => (s) => outer.set(inner.set(b)(outer.get(s)))(s)
209
+ );
210
+ Lens2.andThenOptional = (inner) => (outer) => ({
211
+ get: (s) => inner.get(outer.get(s)),
212
+ set: (b) => (s) => outer.set(inner.set(b)(outer.get(s)))(s)
213
+ });
214
+ Lens2.toOptional = (lens) => ({
215
+ get: (s) => ({ kind: "Some", value: lens.get(s) }),
216
+ set: lens.set
217
+ });
218
+ })(Lens || (Lens = {}));
219
+
220
+ // src/Core/Logged.ts
221
+ var Logged;
222
+ ((Logged2) => {
223
+ Logged2.make = (value) => ({ value, log: [] });
224
+ Logged2.tell = (entry) => ({ value: void 0, log: [entry] });
225
+ Logged2.map = (f) => (data) => ({
226
+ value: f(data.value),
227
+ log: data.log
228
+ });
229
+ Logged2.chain = (f) => (data) => {
230
+ const next = f(data.value);
231
+ return { value: next.value, log: [...data.log, ...next.log] };
232
+ };
233
+ Logged2.ap = (arg) => (data) => ({
234
+ value: data.value(arg.value),
235
+ log: [...data.log, ...arg.log]
236
+ });
237
+ Logged2.tap = (f) => (data) => {
238
+ f(data.value);
239
+ return data;
240
+ };
241
+ Logged2.run = (data) => [data.value, data.log];
242
+ })(Logged || (Logged = {}));
243
+
168
244
  // src/internal/Op.util.ts
169
245
  var _abortedNil = { kind: "OpNil", reason: "aborted" };
170
246
  var _droppedNil = { kind: "OpNil", reason: "dropped" };
@@ -1167,6 +1243,20 @@ var Optional;
1167
1243
  );
1168
1244
  })(Optional || (Optional = {}));
1169
1245
 
1246
+ // src/Core/Ordering.ts
1247
+ var Ordering;
1248
+ ((Ordering2) => {
1249
+ Ordering2.string = (a, b) => a < b ? -1 : a > b ? 1 : 0;
1250
+ Ordering2.number = (a, b) => a - b;
1251
+ Ordering2.date = (a, b) => a.getTime() - b.getTime();
1252
+ Ordering2.reverse = (ord) => (a, b) => ord(b, a);
1253
+ Ordering2.thenBy = (ord2) => (ord1) => (a, b) => {
1254
+ const r = ord1(a, b);
1255
+ return r !== 0 ? r : ord2(a, b);
1256
+ };
1257
+ Ordering2.by = (f) => (ord) => (a, b) => ord(f(a), f(b));
1258
+ })(Ordering || (Ordering = {}));
1259
+
1170
1260
  // src/Core/Predicate.ts
1171
1261
  var Predicate;
1172
1262
  ((Predicate2) => {
@@ -1305,58 +1395,135 @@ var Task;
1305
1395
  (signal) => Promise.all(tasks.map((t) => toPromise(t, signal)))
1306
1396
  );
1307
1397
  Task2.delay = (ms) => (data) => (0, Task2.from)(
1308
- (signal) => new Promise(
1309
- (resolve2) => setTimeout(
1310
- () => toPromise(data, signal).then(resolve2),
1311
- ms
1312
- )
1313
- )
1398
+ (signal) => new Promise((resolve2) => {
1399
+ let timerId = void 0;
1400
+ const onAbort = () => {
1401
+ if (timerId !== void 0) {
1402
+ clearTimeout(timerId);
1403
+ }
1404
+ resolve2(toPromise(data, signal));
1405
+ };
1406
+ if (signal) {
1407
+ if (signal.aborted) {
1408
+ return resolve2(toPromise(data, signal));
1409
+ }
1410
+ signal.addEventListener("abort", onAbort, { once: true });
1411
+ }
1412
+ timerId = setTimeout(() => {
1413
+ signal?.removeEventListener("abort", onAbort);
1414
+ resolve2(toPromise(data, signal));
1415
+ }, ms);
1416
+ })
1314
1417
  );
1315
1418
  Task2.repeat = (options) => (task) => (0, Task2.from)((signal) => {
1316
1419
  const { times, delay: ms } = options;
1317
1420
  if (times <= 0) return Promise.resolve([]);
1318
1421
  const results = [];
1319
- const wait = () => ms !== void 0 && ms > 0 ? new Promise((r) => setTimeout(r, ms)) : Promise.resolve();
1320
- const run2 = (left) => toPromise(task, signal).then((a) => {
1321
- results.push(a);
1322
- if (left <= 1) return results;
1323
- return wait().then(() => run2(left - 1));
1324
- });
1422
+ const wait = () => {
1423
+ if (signal?.aborted) return Promise.resolve();
1424
+ return new Promise((r) => {
1425
+ let timerId = void 0;
1426
+ const onAbort = () => {
1427
+ if (timerId !== void 0) {
1428
+ clearTimeout(timerId);
1429
+ }
1430
+ r();
1431
+ };
1432
+ if (signal) {
1433
+ signal.addEventListener("abort", onAbort, { once: true });
1434
+ }
1435
+ timerId = setTimeout(() => {
1436
+ signal?.removeEventListener("abort", onAbort);
1437
+ r();
1438
+ }, ms || 0);
1439
+ });
1440
+ };
1441
+ const run2 = (left) => {
1442
+ if (signal?.aborted) {
1443
+ return Promise.resolve(results);
1444
+ }
1445
+ return toPromise(task, signal).then((a) => {
1446
+ results.push(a);
1447
+ if (left <= 1 || signal?.aborted) return results;
1448
+ return wait().then(() => run2(left - 1));
1449
+ });
1450
+ };
1325
1451
  return run2(times);
1326
1452
  });
1327
1453
  Task2.repeatUntil = (options) => (task) => (0, Task2.from)((signal) => {
1328
1454
  const { when: predicate, delay: ms, maxAttempts } = options;
1329
- const wait = () => ms !== void 0 && ms > 0 ? new Promise((r) => setTimeout(r, ms)) : Promise.resolve();
1330
- const run2 = (attempt) => toPromise(task, signal).then((a) => {
1331
- if (predicate(a)) return a;
1332
- if (maxAttempts !== void 0 && attempt >= maxAttempts) return a;
1333
- return wait().then(() => run2(attempt + 1));
1334
- });
1455
+ const wait = () => {
1456
+ if (signal?.aborted) return Promise.resolve();
1457
+ return new Promise((r) => {
1458
+ let timerId = void 0;
1459
+ const onAbort = () => {
1460
+ if (timerId !== void 0) {
1461
+ clearTimeout(timerId);
1462
+ }
1463
+ r();
1464
+ };
1465
+ if (signal) {
1466
+ signal.addEventListener("abort", onAbort, { once: true });
1467
+ }
1468
+ timerId = setTimeout(() => {
1469
+ signal?.removeEventListener("abort", onAbort);
1470
+ r();
1471
+ }, ms || 0);
1472
+ });
1473
+ };
1474
+ const run2 = (attempt, lastValue) => {
1475
+ if (signal?.aborted && lastValue !== void 0) {
1476
+ return Promise.resolve(lastValue);
1477
+ }
1478
+ return toPromise(task, signal).then((a) => {
1479
+ if (predicate(a)) return a;
1480
+ if (maxAttempts !== void 0 && attempt >= maxAttempts) return a;
1481
+ if (signal?.aborted) return a;
1482
+ return wait().then(() => run2(attempt + 1, a));
1483
+ });
1484
+ };
1335
1485
  return run2(1);
1336
1486
  });
1337
1487
  Task2.race = (tasks) => (0, Task2.from)((signal) => Promise.race(tasks.map((t) => toPromise(t, signal))));
1338
1488
  Task2.sequential = (tasks) => (0, Task2.from)(async (signal) => {
1339
1489
  const results = [];
1340
1490
  for (const task of tasks) {
1491
+ if (signal?.aborted) {
1492
+ break;
1493
+ }
1341
1494
  results.push(await toPromise(task, signal));
1342
1495
  }
1343
1496
  return results;
1344
1497
  });
1345
1498
  Task2.timeout = (ms, onTimeout) => (task) => (0, Task2.from)((outerSignal) => {
1346
1499
  const controller = new AbortController();
1347
- const onOuterAbort = () => controller.abort();
1348
- outerSignal?.addEventListener("abort", onOuterAbort, { once: true });
1349
1500
  let timerId;
1501
+ const cleanUp = () => {
1502
+ if (timerId !== void 0) {
1503
+ clearTimeout(timerId);
1504
+ }
1505
+ outerSignal?.removeEventListener("abort", onOuterAbort);
1506
+ };
1507
+ const onOuterAbort = () => {
1508
+ cleanUp();
1509
+ controller.abort();
1510
+ };
1511
+ if (outerSignal) {
1512
+ if (outerSignal.aborted) {
1513
+ controller.abort();
1514
+ } else {
1515
+ outerSignal.addEventListener("abort", onOuterAbort, { once: true });
1516
+ }
1517
+ }
1350
1518
  return Promise.race([
1351
1519
  toPromise(task, controller.signal).then((a) => {
1352
- clearTimeout(timerId);
1353
- outerSignal?.removeEventListener("abort", onOuterAbort);
1520
+ cleanUp();
1354
1521
  return Result.ok(a);
1355
1522
  }),
1356
1523
  new Promise((resolve2) => {
1357
1524
  timerId = setTimeout(() => {
1358
1525
  controller.abort();
1359
- outerSignal?.removeEventListener("abort", onOuterAbort);
1526
+ cleanUp();
1360
1527
  resolve2(Result.error(onTimeout()));
1361
1528
  }, ms);
1362
1529
  })
@@ -1392,28 +1559,33 @@ var Resource;
1392
1559
  release
1393
1560
  });
1394
1561
  Resource2.use = (f) => (resource) => Task.from(
1395
- () => Deferred.toPromise(resource.acquire()).then(async (acquired) => {
1562
+ (signal) => Deferred.toPromise(resource.acquire(signal)).then(async (acquired) => {
1396
1563
  if (Result.isError(acquired)) return acquired;
1397
1564
  const a = acquired.value;
1398
- const usageResult = await Deferred.toPromise(f(a)());
1399
- await Deferred.toPromise(resource.release(a)());
1400
- return usageResult;
1565
+ try {
1566
+ const usageResult = await Deferred.toPromise(f(a)(signal));
1567
+ return usageResult;
1568
+ } finally {
1569
+ await Deferred.toPromise(resource.release(a)(signal));
1570
+ }
1401
1571
  })
1402
1572
  );
1403
1573
  Resource2.combine = (resourceA, resourceB) => ({
1404
1574
  acquire: Task.from(
1405
- () => Deferred.toPromise(resourceA.acquire()).then(async (acquiredA) => {
1575
+ (signal) => Deferred.toPromise(resourceA.acquire(signal)).then(async (acquiredA) => {
1406
1576
  if (Result.isError(acquiredA)) return acquiredA;
1407
1577
  const a = acquiredA.value;
1408
- const acquiredB = await Deferred.toPromise(resourceB.acquire());
1578
+ const acquiredB = await Deferred.toPromise(resourceB.acquire(signal));
1409
1579
  if (Result.isError(acquiredB)) {
1410
- await Deferred.toPromise(resourceA.release(a)());
1580
+ await Deferred.toPromise(resourceA.release(a)(signal));
1411
1581
  return acquiredB;
1412
1582
  }
1413
1583
  return Result.ok([a, acquiredB.value]);
1414
1584
  })
1415
1585
  ),
1416
- release: ([a, b]) => Task.from(() => Deferred.toPromise(resourceB.release(b)()).then(() => Deferred.toPromise(resourceA.release(a)())))
1586
+ release: ([a, b]) => Task.from(
1587
+ (signal) => Deferred.toPromise(resourceB.release(b)(signal)).then(() => Deferred.toPromise(resourceA.release(a)(signal)))
1588
+ )
1417
1589
  });
1418
1590
  })(Resource || (Resource = {}));
1419
1591
 
@@ -1456,14 +1628,14 @@ var TaskMaybe;
1456
1628
  TaskMaybe2.fromMaybe = (option) => Task.resolve(option);
1457
1629
  TaskMaybe2.fromTask = (task) => Task.map(Maybe.some)(task);
1458
1630
  TaskMaybe2.tryCatch = (f) => Task.from(
1459
- () => f().then(Maybe.some).catch(() => Maybe.none())
1631
+ (signal) => f(signal).then(Maybe.some).catch(() => Maybe.none())
1460
1632
  );
1461
1633
  TaskMaybe2.map = (f) => (data) => Task.map(Maybe.map(f))(data);
1462
1634
  TaskMaybe2.chain = (f) => (data) => Task.chain((option) => Maybe.isSome(option) ? f(option.value) : Task.resolve(Maybe.none()))(data);
1463
1635
  TaskMaybe2.ap = (arg) => (data) => Task.from(
1464
- () => Promise.all([
1465
- Deferred.toPromise(data()),
1466
- Deferred.toPromise(arg())
1636
+ (signal) => Promise.all([
1637
+ Deferred.toPromise(data(signal)),
1638
+ Deferred.toPromise(arg(signal))
1467
1639
  ]).then(([of_, oa]) => Maybe.ap(oa)(of_))
1468
1640
  );
1469
1641
  TaskMaybe2.fold = (onNone, onSome) => (data) => Task.map(Maybe.fold(onNone, onSome))(data);
@@ -1497,6 +1669,12 @@ var TaskResult;
1497
1669
  TaskResult2.getOrElse = (defaultValue) => (data) => Task.map(Result.getOrElse(defaultValue))(data);
1498
1670
  TaskResult2.tap = (f) => (data) => Task.map(Result.tap(f))(data);
1499
1671
  TaskResult2.tapError = (f) => (data) => Task.map(Result.tapError(f))(data);
1672
+ TaskResult2.ap = (arg) => (data) => Task.from(
1673
+ (signal) => Promise.all([
1674
+ Deferred.toPromise(data(signal)),
1675
+ Deferred.toPromise(arg(signal))
1676
+ ]).then(([of_, oa]) => Result.ap(oa)(of_))
1677
+ );
1500
1678
  TaskResult2.run = (signal) => (task) => Deferred.toPromise(task(signal));
1501
1679
  })(TaskResult || (TaskResult = {}));
1502
1680
 
@@ -1570,13 +1748,13 @@ var TaskValidation;
1570
1748
  TaskValidation2.invalidAll = (errors) => Task.resolve(Validation.invalidAll(errors));
1571
1749
  TaskValidation2.fromValidation = (validation) => Task.resolve(validation);
1572
1750
  TaskValidation2.tryCatch = (f, onError) => Task.from(
1573
- () => f().then(Validation.valid).catch((e) => Validation.invalid(onError(e)))
1751
+ (signal) => f(signal).then(Validation.valid).catch((e) => Validation.invalid(onError(e)))
1574
1752
  );
1575
1753
  TaskValidation2.map = (f) => (data) => Task.map(Validation.map(f))(data);
1576
1754
  TaskValidation2.ap = (arg) => (data) => Task.from(
1577
- () => Promise.all([
1578
- Deferred.toPromise(data()),
1579
- Deferred.toPromise(arg())
1755
+ (signal) => Promise.all([
1756
+ Deferred.toPromise(data(signal)),
1757
+ Deferred.toPromise(arg(signal))
1580
1758
  ]).then(([vf, va]) => Validation.ap(va)(vf))
1581
1759
  );
1582
1760
  TaskValidation2.fold = (onInvalid, onValid) => (data) => Task.map(Validation.fold(onInvalid, onValid))(data);
@@ -1587,13 +1765,13 @@ var TaskValidation;
1587
1765
  (validation) => Validation.isValid(validation) ? Task.resolve(validation) : fallback(validation.errors)
1588
1766
  )(data);
1589
1767
  TaskValidation2.product = (first, second) => Task.from(
1590
- () => Promise.all([
1591
- Deferred.toPromise(first()),
1592
- Deferred.toPromise(second())
1768
+ (signal) => Promise.all([
1769
+ Deferred.toPromise(first(signal)),
1770
+ Deferred.toPromise(second(signal))
1593
1771
  ]).then(([va, vb]) => Validation.product(va, vb))
1594
1772
  );
1595
1773
  TaskValidation2.productAll = (data) => Task.from(
1596
- () => Promise.all(data.map((t) => Deferred.toPromise(t()))).then((results) => Validation.productAll(results))
1774
+ (signal) => Promise.all(data.map((t) => Deferred.toPromise(t(signal)))).then((results) => Validation.productAll(results))
1597
1775
  );
1598
1776
  })(TaskValidation || (TaskValidation = {}));
1599
1777
 
@@ -1680,12 +1858,16 @@ var Tuple;
1680
1858
  })(Tuple || (Tuple = {}));
1681
1859
  // Annotate the CommonJS export names for ESM import in node:
1682
1860
  0 && (module.exports = {
1861
+ Combinable,
1683
1862
  Deferred,
1863
+ Equality,
1864
+ Lazy,
1684
1865
  Lens,
1685
1866
  Logged,
1686
1867
  Maybe,
1687
1868
  Op,
1688
1869
  Optional,
1870
+ Ordering,
1689
1871
  Predicate,
1690
1872
  Reader,
1691
1873
  Refinement,
package/dist/core.mjs CHANGED
@@ -1,8 +1,12 @@
1
1
  import {
2
+ Combinable,
3
+ Equality,
4
+ Lazy,
2
5
  Lens,
3
6
  Logged,
4
7
  Op,
5
8
  Optional,
9
+ Ordering,
6
10
  Predicate,
7
11
  Reader,
8
12
  Refinement,
@@ -15,20 +19,24 @@ import {
15
19
  These,
16
20
  Tuple,
17
21
  Validation
18
- } from "./chunk-VIC54JR4.mjs";
22
+ } from "./chunk-L3NC44SN.mjs";
19
23
  import {
20
24
  Deferred,
21
25
  Maybe,
22
26
  Result,
23
27
  Task
24
- } from "./chunk-SDGDJ7CU.mjs";
28
+ } from "./chunk-TK5ZCGP2.mjs";
25
29
  export {
30
+ Combinable,
26
31
  Deferred,
32
+ Equality,
33
+ Lazy,
27
34
  Lens,
28
35
  Logged,
29
36
  Maybe,
30
37
  Op,
31
38
  Optional,
39
+ Ordering,
32
40
  Predicate,
33
41
  Reader,
34
42
  Refinement,
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
- export { D as Deferred, E as Error, M as Maybe, N as None, O as Ok, R as Result, S as Some, T as Task } from './Task-BDcKwFAj.mjs';
3
- export { Failure, Invalid, Lens, Loading, Logged, NotAsked, Op, Optional, Predicate, Reader, Refinement, RemoteData, Resource, State, Success, TaskMaybe, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.mjs';
2
+ export { Combinable, Failure, Invalid, Lazy, Lens, Loading, Logged, NotAsked, Op, Optional, Predicate, Reader, Refinement, RemoteData, Resource, State, Success, TaskMaybe, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.mjs';
3
+ export { D as Deferred, E as Equality, a as Error, M as Maybe, N as None, O as Ok, b as Ordering, R as Result, S as Some, T as Task } from './Task-CJZfcOkO.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
- export { D as Deferred, E as Error, M as Maybe, N as None, O as Ok, R as Result, S as Some, T as Task } from './Task-CnF22Q2o.js';
3
- export { Failure, Invalid, Lens, Loading, Logged, NotAsked, Op, Optional, Predicate, Reader, Refinement, RemoteData, Resource, State, Success, TaskMaybe, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.js';
2
+ export { Combinable, Failure, Invalid, Lazy, Lens, Loading, Logged, NotAsked, Op, Optional, Predicate, Reader, Refinement, RemoteData, Resource, State, Success, TaskMaybe, TaskResult, TaskValidation, These, TheseBoth, TheseFirst, TheseSecond, Tuple, Valid, Validation } from './core.js';
3
+ export { D as Deferred, E as Equality, a as Error, M as Maybe, N as None, O as Ok, b as Ordering, R as Result, S as Some, T as Task } from './Task-CjYKLeTY.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';