@nlozgachev/pipelined 0.41.0 → 0.43.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/InternalTypes-DsCqxWZm.d.mts +118 -0
- package/dist/InternalTypes-DuzMFAfJ.d.ts +118 -0
- package/dist/{Task-BprUabHP.d.mts → Validation-BOPLiDqa.d.ts} +875 -111
- package/dist/{Task-Dt3ZMen6.d.ts → Validation-Do6uWLLZ.d.mts} +875 -111
- package/dist/{chunk-GBB6LVLI.mjs → chunk-74JKKJ4R.mjs} +0 -4
- package/dist/{chunk-COGQKPIP.mjs → chunk-CHRXZIJU.mjs} +204 -180
- package/dist/{chunk-V37OUM35.mjs → chunk-W6RWKBDX.mjs} +157 -69
- package/dist/{chunk-TCE2UETM.mjs → chunk-X6XQX3OZ.mjs} +4 -4
- package/dist/composition.d.mts +45 -44
- package/dist/composition.d.ts +45 -44
- package/dist/composition.js +3 -3
- package/dist/composition.mjs +2 -2
- package/dist/core.d.mts +10 -812
- package/dist/core.d.ts +10 -812
- package/dist/core.js +202 -182
- package/dist/core.mjs +2 -8
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +359 -254
- package/dist/index.mjs +5 -13
- 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 +456 -152
- package/dist/utils.mjs +3 -3
- package/package.json +2 -2
- 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
|
};
|
|
@@ -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);
|
|
@@ -1603,9 +1759,7 @@ var Task;
|
|
|
1603
1759
|
(signal) => new Promise((res) => {
|
|
1604
1760
|
let timerId;
|
|
1605
1761
|
const onAbort = () => {
|
|
1606
|
-
|
|
1607
|
-
clearTimeout(timerId);
|
|
1608
|
-
}
|
|
1762
|
+
clearTimeout(timerId);
|
|
1609
1763
|
res(toPromise(data, signal));
|
|
1610
1764
|
};
|
|
1611
1765
|
if (signal) {
|
|
@@ -1626,27 +1780,20 @@ var Task;
|
|
|
1626
1780
|
return Promise.resolve([]);
|
|
1627
1781
|
}
|
|
1628
1782
|
const results = [];
|
|
1629
|
-
const wait = () => {
|
|
1630
|
-
|
|
1631
|
-
|
|
1783
|
+
const wait = () => new Promise((r) => {
|
|
1784
|
+
let timerId;
|
|
1785
|
+
const onAbort = () => {
|
|
1786
|
+
clearTimeout(timerId);
|
|
1787
|
+
r();
|
|
1788
|
+
};
|
|
1789
|
+
if (signal) {
|
|
1790
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
1632
1791
|
}
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
}
|
|
1639
|
-
r();
|
|
1640
|
-
};
|
|
1641
|
-
if (signal) {
|
|
1642
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
1643
|
-
}
|
|
1644
|
-
timerId = setTimeout(() => {
|
|
1645
|
-
signal?.removeEventListener("abort", onAbort);
|
|
1646
|
-
r();
|
|
1647
|
-
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
1648
|
-
});
|
|
1649
|
-
};
|
|
1792
|
+
timerId = setTimeout(() => {
|
|
1793
|
+
signal?.removeEventListener("abort", onAbort);
|
|
1794
|
+
r();
|
|
1795
|
+
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
1796
|
+
});
|
|
1650
1797
|
const run2 = (left) => {
|
|
1651
1798
|
if (signal?.aborted) {
|
|
1652
1799
|
return Promise.resolve(results);
|
|
@@ -1663,27 +1810,20 @@ var Task;
|
|
|
1663
1810
|
});
|
|
1664
1811
|
Task2.repeatUntil = (options) => (task) => (0, Task2.from)((signal) => {
|
|
1665
1812
|
const { when: predicate, delay: delayDuration, maxAttempts } = options;
|
|
1666
|
-
const wait = () => {
|
|
1667
|
-
|
|
1668
|
-
|
|
1813
|
+
const wait = () => new Promise((r) => {
|
|
1814
|
+
let timerId;
|
|
1815
|
+
const onAbort = () => {
|
|
1816
|
+
clearTimeout(timerId);
|
|
1817
|
+
r();
|
|
1818
|
+
};
|
|
1819
|
+
if (signal) {
|
|
1820
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
1669
1821
|
}
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
}
|
|
1676
|
-
r();
|
|
1677
|
-
};
|
|
1678
|
-
if (signal) {
|
|
1679
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
1680
|
-
}
|
|
1681
|
-
timerId = setTimeout(() => {
|
|
1682
|
-
signal?.removeEventListener("abort", onAbort);
|
|
1683
|
-
r();
|
|
1684
|
-
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
1685
|
-
});
|
|
1686
|
-
};
|
|
1822
|
+
timerId = setTimeout(() => {
|
|
1823
|
+
signal?.removeEventListener("abort", onAbort);
|
|
1824
|
+
r();
|
|
1825
|
+
}, delayDuration ? getMs2(delayDuration) : 0);
|
|
1826
|
+
});
|
|
1687
1827
|
const run2 = (attempt, lastValue) => {
|
|
1688
1828
|
if (signal?.aborted && lastValue !== void 0) {
|
|
1689
1829
|
return Promise.resolve(lastValue);
|
|
@@ -1751,16 +1891,16 @@ var Task;
|
|
|
1751
1891
|
Task2.timeout = (duration, onTimeout) => (task) => (0, Task2.from)((outerSignal) => {
|
|
1752
1892
|
const controller = new AbortController();
|
|
1753
1893
|
let timerId;
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
}
|
|
1758
|
-
outerSignal?.removeEventListener("abort", onOuterAbort);
|
|
1759
|
-
}
|
|
1760
|
-
function onOuterAbort() {
|
|
1894
|
+
let cleanUp = () => {
|
|
1895
|
+
};
|
|
1896
|
+
const onOuterAbort = () => {
|
|
1761
1897
|
cleanUp();
|
|
1762
1898
|
controller.abort();
|
|
1763
|
-
}
|
|
1899
|
+
};
|
|
1900
|
+
cleanUp = () => {
|
|
1901
|
+
clearTimeout(timerId);
|
|
1902
|
+
outerSignal?.removeEventListener("abort", onOuterAbort);
|
|
1903
|
+
};
|
|
1764
1904
|
if (outerSignal) {
|
|
1765
1905
|
if (outerSignal.aborted) {
|
|
1766
1906
|
controller.abort();
|
|
@@ -1805,123 +1945,11 @@ var Task;
|
|
|
1805
1945
|
Task2.bind = (key, f) => (data) => (0, Task2.chain)(
|
|
1806
1946
|
(a) => (0, Task2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1807
1947
|
)(data);
|
|
1948
|
+
Task2.Maybe = TaskMaybe;
|
|
1949
|
+
Task2.Result = TaskResult;
|
|
1950
|
+
Task2.Validation = TaskValidation;
|
|
1808
1951
|
})(Task || (Task = {}));
|
|
1809
1952
|
|
|
1810
|
-
// src/Core/TaskMaybe.ts
|
|
1811
|
-
var TaskMaybe;
|
|
1812
|
-
((TaskMaybe2) => {
|
|
1813
|
-
TaskMaybe2.some = (value) => Task.resolve(Maybe.some(value));
|
|
1814
|
-
TaskMaybe2.none = () => Task.resolve(Maybe.none());
|
|
1815
|
-
TaskMaybe2.fromMaybe = (option) => Task.resolve(option);
|
|
1816
|
-
TaskMaybe2.fromNullable = (value) => Task.resolve(Maybe.fromNullable(value));
|
|
1817
|
-
TaskMaybe2.fromResult = (result) => Task.resolve(Result.toMaybe(result));
|
|
1818
|
-
TaskMaybe2.fromTask = (task) => Task.map(Maybe.some)(task);
|
|
1819
|
-
TaskMaybe2.tryCatch = (f) => Task.from((signal) => f(signal).then(Maybe.some).catch(() => Maybe.none()));
|
|
1820
|
-
TaskMaybe2.map = (f) => (data) => Task.map(Maybe.map(f))(data);
|
|
1821
|
-
TaskMaybe2.chain = (f) => (data) => Task.chain((option) => Maybe.isSome(option) ? f(option.value) : Task.resolve(Maybe.none()))(data);
|
|
1822
|
-
TaskMaybe2.ap = (arg) => (data) => Task.from(
|
|
1823
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1824
|
-
([of_, oa]) => Maybe.ap(oa)(of_)
|
|
1825
|
-
)
|
|
1826
|
-
);
|
|
1827
|
-
TaskMaybe2.fold = (onNone, onSome) => (data) => Task.map(Maybe.fold(onNone, onSome))(data);
|
|
1828
|
-
TaskMaybe2.match = (cases) => (data) => Task.map(Maybe.match(cases))(data);
|
|
1829
|
-
TaskMaybe2.getOrElse = (defaultValue) => (data) => Task.map(Maybe.getOrElse(defaultValue))(data);
|
|
1830
|
-
TaskMaybe2.tap = (f) => (data) => Task.map(Maybe.tap(f))(data);
|
|
1831
|
-
TaskMaybe2.filter = (predicate) => (data) => Task.map(Maybe.filter(predicate))(data);
|
|
1832
|
-
TaskMaybe2.toTaskResult = (onNone) => (data) => Task.map(Maybe.toResult(onNone))(data);
|
|
1833
|
-
TaskMaybe2.bindTo = (key) => (data) => (0, TaskMaybe2.map)((a) => ({ [key]: a }))(data);
|
|
1834
|
-
TaskMaybe2.bind = (key, f) => (data) => (0, TaskMaybe2.chain)(
|
|
1835
|
-
(a) => (0, TaskMaybe2.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1836
|
-
)(data);
|
|
1837
|
-
})(TaskMaybe || (TaskMaybe = {}));
|
|
1838
|
-
|
|
1839
|
-
// src/Core/TaskResult.ts
|
|
1840
|
-
var TaskResult3;
|
|
1841
|
-
((TaskResult4) => {
|
|
1842
|
-
TaskResult4.ok = (value) => Task.resolve(Result.ok(value));
|
|
1843
|
-
TaskResult4.err = (error) => Task.resolve(Result.err(error));
|
|
1844
|
-
TaskResult4.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Result.err(onNull()) : Result.ok(value));
|
|
1845
|
-
TaskResult4.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Result.err(onNone()) : Result.ok(maybe.value));
|
|
1846
|
-
TaskResult4.fromResult = (result) => Task.resolve(result);
|
|
1847
|
-
TaskResult4.fromThrowable = (f, onError) => (...args) => Task.from(() => f(...args).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
1848
|
-
TaskResult4.tryCatch = (f, onError) => Task.from((signal) => f(signal).then(Result.ok).catch((error) => Result.err(onError(error))));
|
|
1849
|
-
TaskResult4.map = (f) => (data) => Task.map(Result.map(f))(data);
|
|
1850
|
-
TaskResult4.mapError = (f) => (data) => Task.map(Result.mapError(f))(data);
|
|
1851
|
-
TaskResult4.chain = (f) => (data) => Task.chain((result) => Result.isOk(result) ? f(result.value) : Task.resolve(Result.err(result.error)))(
|
|
1852
|
-
data
|
|
1853
|
-
);
|
|
1854
|
-
TaskResult4.fold = (onErr, onOk) => (data) => Task.map(Result.fold(onErr, onOk))(data);
|
|
1855
|
-
TaskResult4.match = (cases) => (data) => Task.map(Result.match(cases))(data);
|
|
1856
|
-
TaskResult4.recover = (fallback) => (data) => Task.chain(
|
|
1857
|
-
(result) => Result.isErr(result) ? fallback(result.error) : Task.resolve(result)
|
|
1858
|
-
)(data);
|
|
1859
|
-
TaskResult4.getOrElse = (defaultValue) => (data) => Task.map(Result.getOrElse(defaultValue))(data);
|
|
1860
|
-
TaskResult4.tap = (f) => (data) => Task.map(Result.tap(f))(data);
|
|
1861
|
-
TaskResult4.tapError = (f) => (data) => Task.map(Result.tapError(f))(data);
|
|
1862
|
-
TaskResult4.ap = (arg) => (data) => Task.from(
|
|
1863
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1864
|
-
([of_, oa]) => Result.ap(oa)(of_)
|
|
1865
|
-
)
|
|
1866
|
-
);
|
|
1867
|
-
TaskResult4.run = (signal) => (task) => task(signal);
|
|
1868
|
-
TaskResult4.bindTo = (key) => (data) => (0, TaskResult4.map)((a) => ({ [key]: a }))(data);
|
|
1869
|
-
TaskResult4.bind = (key, f) => (data) => (0, TaskResult4.chain)(
|
|
1870
|
-
(a) => (0, TaskResult4.map)((b) => ({ ...a, [key]: b }))(f(a))
|
|
1871
|
-
)(data);
|
|
1872
|
-
TaskResult4.struct = (fields) => Task.from((signal) => {
|
|
1873
|
-
const keys = Object.keys(fields);
|
|
1874
|
-
const promises = keys.map((key) => Deferred.toPromise(fields[key](signal)));
|
|
1875
|
-
return Promise.all(promises).then((results) => {
|
|
1876
|
-
const record = {};
|
|
1877
|
-
for (let i = 0; i < keys.length; i++) {
|
|
1878
|
-
const res = results[i];
|
|
1879
|
-
if (Result.isErr(res)) {
|
|
1880
|
-
return res;
|
|
1881
|
-
}
|
|
1882
|
-
record[keys[i]] = res.value;
|
|
1883
|
-
}
|
|
1884
|
-
return Result.ok(record);
|
|
1885
|
-
});
|
|
1886
|
-
});
|
|
1887
|
-
})(TaskResult3 || (TaskResult3 = {}));
|
|
1888
|
-
|
|
1889
|
-
// src/Core/TaskValidation.ts
|
|
1890
|
-
var TaskValidation;
|
|
1891
|
-
((TaskValidation2) => {
|
|
1892
|
-
TaskValidation2.passed = (value) => Task.resolve(Validation.passed(value));
|
|
1893
|
-
TaskValidation2.failed = (error) => Task.resolve(Validation.failed(error));
|
|
1894
|
-
TaskValidation2.failedAll = (errors) => Task.resolve(Validation.failedAll(errors));
|
|
1895
|
-
TaskValidation2.fromValidation = (validation) => Task.resolve(validation);
|
|
1896
|
-
TaskValidation2.fromNullable = (onNull) => (value) => Task.resolve(value === null || value === void 0 ? Validation.failed(onNull()) : Validation.passed(value));
|
|
1897
|
-
TaskValidation2.fromMaybe = (onNone) => (maybe) => Task.resolve(Maybe.isNone(maybe) ? Validation.failed(onNone()) : Validation.passed(maybe.value));
|
|
1898
|
-
TaskValidation2.fromResult = (result) => Task.resolve(Validation.fromResult(result));
|
|
1899
|
-
TaskValidation2.tryCatch = (f, onError) => Task.from((signal) => f(signal).then(Validation.passed).catch((error) => Validation.failed(onError(error))));
|
|
1900
|
-
TaskValidation2.map = (f) => (data) => Task.map(Validation.map(f))(data);
|
|
1901
|
-
TaskValidation2.ap = (arg) => (data) => Task.from(
|
|
1902
|
-
(signal) => Promise.all([Deferred.toPromise(data(signal)), Deferred.toPromise(arg(signal))]).then(
|
|
1903
|
-
([vf, va]) => Validation.ap(va)(vf)
|
|
1904
|
-
)
|
|
1905
|
-
);
|
|
1906
|
-
TaskValidation2.fold = (onFailed, onPassed) => (data) => Task.map(Validation.fold(onFailed, onPassed))(data);
|
|
1907
|
-
TaskValidation2.match = (cases) => (data) => Task.map(Validation.match(cases))(data);
|
|
1908
|
-
TaskValidation2.getOrElse = (defaultValue) => (data) => Task.map(Validation.getOrElse(defaultValue))(data);
|
|
1909
|
-
TaskValidation2.tap = (f) => (data) => Task.map(Validation.tap(f))(data);
|
|
1910
|
-
TaskValidation2.recover = (fallback) => (data) => Task.chain(
|
|
1911
|
-
(validation) => Validation.isPassed(validation) ? Task.resolve(validation) : fallback(validation.errors)
|
|
1912
|
-
)(data);
|
|
1913
|
-
TaskValidation2.product = (first, second) => Task.from(
|
|
1914
|
-
(signal) => Promise.all([Deferred.toPromise(first(signal)), Deferred.toPromise(second(signal))]).then(
|
|
1915
|
-
([va, vb]) => Validation.product(va, vb)
|
|
1916
|
-
)
|
|
1917
|
-
);
|
|
1918
|
-
TaskValidation2.productAll = (data) => Task.from(
|
|
1919
|
-
(signal) => Promise.all(data.map((t) => Deferred.toPromise(t(signal)))).then(
|
|
1920
|
-
(results) => Validation.productAll(results)
|
|
1921
|
-
)
|
|
1922
|
-
);
|
|
1923
|
-
})(TaskValidation || (TaskValidation = {}));
|
|
1924
|
-
|
|
1925
1953
|
// src/Core/These.ts
|
|
1926
1954
|
var These;
|
|
1927
1955
|
((These2) => {
|
|
@@ -2044,11 +2072,10 @@ var Validation;
|
|
|
2044
2072
|
Validation2.map = (f) => (data) => (0, Validation2.isPassed)(data) ? (0, Validation2.passed)(f(data.value)) : data;
|
|
2045
2073
|
Validation2.mapError = (f) => (data) => (0, Validation2.isFailed)(data) ? (0, Validation2.failedAll)(data.errors.map(f)) : data;
|
|
2046
2074
|
Validation2.ap = (arg) => (data) => {
|
|
2047
|
-
if ((0, Validation2.isPassed)(data)
|
|
2048
|
-
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);
|
|
2049
2077
|
}
|
|
2050
|
-
|
|
2051
|
-
return (0, Validation2.failedAll)(errors);
|
|
2078
|
+
return (0, Validation2.isPassed)(arg) ? (0, Validation2.failedAll)(data.errors) : (0, Validation2.failedAll)([...data.errors, ...arg.errors]);
|
|
2052
2079
|
};
|
|
2053
2080
|
Validation2.fold = (onFailed, onPassed) => (data) => (0, Validation2.isPassed)(data) ? onPassed(data.value) : onFailed(data.errors);
|
|
2054
2081
|
Validation2.match = (cases) => (data) => (0, Validation2.isPassed)(data) ? cases.passed(data.value) : cases.failed(data.errors);
|
|
@@ -2071,11 +2098,10 @@ var Validation;
|
|
|
2071
2098
|
Validation2.toMaybe = (data) => (0, Validation2.isPassed)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
2072
2099
|
Validation2.fromResult = (data) => data.kind === "Ok" ? (0, Validation2.passed)(data.value) : (0, Validation2.failed)(data.error);
|
|
2073
2100
|
Validation2.product = (first, second) => {
|
|
2074
|
-
if ((0, Validation2.isPassed)(first)
|
|
2075
|
-
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);
|
|
2076
2103
|
}
|
|
2077
|
-
|
|
2078
|
-
return (0, Validation2.failedAll)(errors);
|
|
2104
|
+
return (0, Validation2.isPassed)(second) ? (0, Validation2.failedAll)(first.errors) : (0, Validation2.failedAll)([...first.errors, ...second.errors]);
|
|
2079
2105
|
};
|
|
2080
2106
|
Validation2.productAll = (data) => {
|
|
2081
2107
|
const values = [];
|
|
@@ -2087,7 +2113,7 @@ var Validation;
|
|
|
2087
2113
|
errors.push(...v.errors);
|
|
2088
2114
|
}
|
|
2089
2115
|
}
|
|
2090
|
-
return errors
|
|
2116
|
+
return isNonEmptyArr(errors) ? (0, Validation2.failedAll)(errors) : (0, Validation2.passed)(values);
|
|
2091
2117
|
};
|
|
2092
2118
|
Validation2.struct = (fields) => {
|
|
2093
2119
|
const record = {};
|
|
@@ -2102,7 +2128,7 @@ var Validation;
|
|
|
2102
2128
|
}
|
|
2103
2129
|
}
|
|
2104
2130
|
}
|
|
2105
|
-
return errors
|
|
2131
|
+
return isNonEmptyArr(errors) ? (0, Validation2.failedAll)(errors) : (0, Validation2.passed)(record);
|
|
2106
2132
|
};
|
|
2107
2133
|
})(Validation || (Validation = {}));
|
|
2108
2134
|
|
|
@@ -2124,10 +2150,8 @@ export {
|
|
|
2124
2150
|
Resource,
|
|
2125
2151
|
Result,
|
|
2126
2152
|
State,
|
|
2153
|
+
isNonEmptyArr,
|
|
2127
2154
|
Task,
|
|
2128
|
-
TaskMaybe,
|
|
2129
|
-
TaskResult3 as TaskResult,
|
|
2130
|
-
TaskValidation,
|
|
2131
2155
|
These,
|
|
2132
2156
|
Tuple,
|
|
2133
2157
|
Validation
|