@nlozgachev/pipelined 0.27.0 → 0.28.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 +191 -72
- package/dist/{Task-C8Pgm7EX.d.ts → Task-BW66NsGR.d.ts} +20 -11
- package/dist/{Task-vQb3-puQ.d.mts → Task-BZT0wedE.d.mts} +20 -11
- package/dist/{chunk-HHCRWQYN.mjs → chunk-7JF44HJH.mjs} +12 -8
- package/dist/{chunk-SBTMTAZF.mjs → chunk-CA3VE4YD.mjs} +3 -3
- package/dist/{chunk-YYVONF5X.mjs → chunk-QJS6D6MW.mjs} +12 -2
- package/dist/core.d.mts +71 -8
- package/dist/core.d.ts +71 -8
- package/dist/core.js +23 -9
- package/dist/core.mjs +2 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +25 -11
- package/dist/index.mjs +3 -3
- package/dist/utils.d.mts +12 -9
- package/dist/utils.d.ts +12 -9
- package/dist/utils.js +14 -10
- package/dist/utils.mjs +2 -2
- package/package.json +1 -1
package/dist/utils.js
CHANGED
|
@@ -69,7 +69,7 @@ var Result;
|
|
|
69
69
|
};
|
|
70
70
|
Result2.fromPredicate = (pred, onFalse) => (a) => pred(a) ? (0, Result2.ok)(a) : (0, Result2.err)(onFalse(a));
|
|
71
71
|
Result2.recover = (fallback) => (data) => (0, Result2.isOk)(data) ? data : fallback(data.error);
|
|
72
|
-
Result2.recoverUnless = (
|
|
72
|
+
Result2.recoverUnless = (isBlocked, fallback) => (data) => (0, Result2.isErr)(data) && !isBlocked(data.error) ? fallback() : data;
|
|
73
73
|
Result2.toMaybe = (data) => (0, Result2.isOk)(data) ? Maybe.some(data.value) : Maybe.none();
|
|
74
74
|
Result2.ap = (arg) => (data) => (0, Result2.isOk)(data) && (0, Result2.isOk)(arg) ? (0, Result2.ok)(data.value(arg.value)) : (0, Result2.isErr)(data) ? data : arg;
|
|
75
75
|
})(Result || (Result = {}));
|
|
@@ -85,7 +85,6 @@ var Maybe;
|
|
|
85
85
|
Maybe2.fromNullable = (value) => value === null || value === void 0 ? (0, Maybe2.none)() : (0, Maybe2.some)(value);
|
|
86
86
|
Maybe2.toNullable = (data) => (0, Maybe2.isSome)(data) ? data.value : null;
|
|
87
87
|
Maybe2.toUndefined = (data) => (0, Maybe2.isSome)(data) ? data.value : void 0;
|
|
88
|
-
Maybe2.fromUndefined = (value) => value === void 0 ? (0, Maybe2.none)() : (0, Maybe2.some)(value);
|
|
89
88
|
Maybe2.fromPredicate = (pred) => (a) => pred(a) ? (0, Maybe2.some)(a) : (0, Maybe2.none)();
|
|
90
89
|
Maybe2.toResult = (onNone) => (data) => (0, Maybe2.isSome)(data) ? Result.ok(data.value) : Result.err(onNone());
|
|
91
90
|
Maybe2.fromResult = (data) => Result.isOk(data) ? (0, Maybe2.some)(data.value) : (0, Maybe2.none)();
|
|
@@ -148,13 +147,14 @@ var Task;
|
|
|
148
147
|
return run(times);
|
|
149
148
|
});
|
|
150
149
|
Task2.repeatUntil = (options) => (task) => (0, Task2.from)((signal) => {
|
|
151
|
-
const { when: predicate, delay: ms } = options;
|
|
150
|
+
const { when: predicate, delay: ms, maxAttempts } = options;
|
|
152
151
|
const wait = () => ms !== void 0 && ms > 0 ? new Promise((r) => setTimeout(r, ms)) : Promise.resolve();
|
|
153
|
-
const run = () => toPromise(task, signal).then((a) => {
|
|
152
|
+
const run = (attempt) => toPromise(task, signal).then((a) => {
|
|
154
153
|
if (predicate(a)) return a;
|
|
155
|
-
|
|
154
|
+
if (maxAttempts !== void 0 && attempt >= maxAttempts) return a;
|
|
155
|
+
return wait().then(() => run(attempt + 1));
|
|
156
156
|
});
|
|
157
|
-
return run();
|
|
157
|
+
return run(1);
|
|
158
158
|
});
|
|
159
159
|
Task2.race = (tasks) => (0, Task2.from)((signal) => Promise.race(tasks.map((t) => toPromise(t, signal))));
|
|
160
160
|
Task2.sequential = (tasks) => (0, Task2.from)(async (signal) => {
|
|
@@ -185,8 +185,12 @@ var Task;
|
|
|
185
185
|
]);
|
|
186
186
|
});
|
|
187
187
|
Task2.abortable = (factory) => {
|
|
188
|
-
|
|
188
|
+
let currentController = null;
|
|
189
|
+
const abort = () => currentController?.abort();
|
|
189
190
|
const task = (outerSignal) => {
|
|
191
|
+
currentController?.abort();
|
|
192
|
+
currentController = new AbortController();
|
|
193
|
+
const controller = currentController;
|
|
190
194
|
if (outerSignal) {
|
|
191
195
|
if (outerSignal.aborted) {
|
|
192
196
|
controller.abort(outerSignal.reason);
|
|
@@ -196,7 +200,7 @@ var Task;
|
|
|
196
200
|
}
|
|
197
201
|
return Deferred.fromPromise(factory(controller.signal));
|
|
198
202
|
};
|
|
199
|
-
return { task, abort
|
|
203
|
+
return { task, abort };
|
|
200
204
|
};
|
|
201
205
|
})(Task || (Task = {}));
|
|
202
206
|
|
|
@@ -562,13 +566,13 @@ var Num;
|
|
|
562
566
|
Num2.add = (b) => (a) => a + b;
|
|
563
567
|
Num2.subtract = (b) => (a) => a - b;
|
|
564
568
|
Num2.multiply = (b) => (a) => a * b;
|
|
565
|
-
Num2.divide = (b) => (a) => a / b;
|
|
569
|
+
Num2.divide = (b) => (a) => b === 0 ? Maybe.none() : Maybe.some(a / b);
|
|
566
570
|
Num2.abs = (n) => Math.abs(n);
|
|
567
571
|
Num2.negate = (n) => -n;
|
|
568
572
|
Num2.round = (n) => Math.round(n);
|
|
569
573
|
Num2.floor = (n) => Math.floor(n);
|
|
570
574
|
Num2.ceil = (n) => Math.ceil(n);
|
|
571
|
-
Num2.remainder = (divisor) => (n) => n % divisor;
|
|
575
|
+
Num2.remainder = (divisor) => (n) => divisor === 0 ? Maybe.none() : Maybe.some(n % divisor);
|
|
572
576
|
})(Num || (Num = {}));
|
|
573
577
|
|
|
574
578
|
// src/Utils/Rec.ts
|
package/dist/utils.mjs
CHANGED