@handy-common-utils/promise-utils 1.7.0 → 1.7.1
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 +926 -435
- package/dist/promise-utils.d.ts +54 -21
- package/dist/promise-utils.d.ts.map +1 -1
- package/dist/promise-utils.js +56 -24
- package/dist/promise-utils.js.map +1 -0
- package/package.json +2 -2
package/dist/promise-utils.d.ts
CHANGED
|
@@ -25,11 +25,12 @@ export declare const EXPONENTIAL_SEQUENCE: number[];
|
|
|
25
25
|
/**
|
|
26
26
|
* The state of a Promise can only be one of: Pending, Fulfilled, and Rejected.
|
|
27
27
|
*/
|
|
28
|
-
export declare
|
|
29
|
-
Pending
|
|
30
|
-
Fulfilled
|
|
31
|
-
Rejected
|
|
32
|
-
}
|
|
28
|
+
export declare const PromiseState: {
|
|
29
|
+
readonly Pending: "Pending";
|
|
30
|
+
readonly Fulfilled: "Fulfilled";
|
|
31
|
+
readonly Rejected: "Rejected";
|
|
32
|
+
};
|
|
33
|
+
export type PromiseStateType = keyof typeof PromiseState;
|
|
33
34
|
export declare abstract class PromiseUtils {
|
|
34
35
|
/**
|
|
35
36
|
* Executes an operation repeatedly and collects all the results.
|
|
@@ -255,7 +256,7 @@ export declare abstract class PromiseUtils {
|
|
|
255
256
|
* @param p The Promise whose state is to be determined.
|
|
256
257
|
* @returns A Promise that resolves immediately with the state of the input Promise.
|
|
257
258
|
*/
|
|
258
|
-
static promiseState(p: Promise<any>): Promise<
|
|
259
|
+
static promiseState(p: Promise<any>): Promise<PromiseStateType>;
|
|
259
260
|
private static synchronizationLocks;
|
|
260
261
|
/**
|
|
261
262
|
* Provides mutual exclusion similar to `synchronized` in Java.
|
|
@@ -269,14 +270,14 @@ export declare abstract class PromiseUtils {
|
|
|
269
270
|
* @param operation The function that performs the computation and returns a Promise.
|
|
270
271
|
* @returns The result of the operation function.
|
|
271
272
|
*/
|
|
272
|
-
static synchronized<T>(lock: any, operation: (previousState:
|
|
273
|
+
static synchronized<T>(lock: any, operation: (previousState: PromiseStateType | undefined, previousSettledState: PromiseStateType | undefined, previousResult: any) => Promise<T>): Promise<T>;
|
|
273
274
|
/**
|
|
274
275
|
* This is just another spelling of {@link PromiseUtils.synchronized}.
|
|
275
276
|
* @param lock The object (such as a string, a number, or `this` in a class) used to identify the lock.
|
|
276
277
|
* @param operation The function that performs the computation and returns a Promise.
|
|
277
278
|
* @returns The result of the operation function.
|
|
278
279
|
*/
|
|
279
|
-
static synchronised<T>(lock: any, operation: (previousState:
|
|
280
|
+
static synchronised<T>(lock: any, operation: (previousState: PromiseStateType | undefined, previousSettledState: PromiseStateType | undefined, previousResult: any) => Promise<T>): Promise<T>;
|
|
280
281
|
/**
|
|
281
282
|
* Runs an operation periodically with configurable intervals and stopping conditions.
|
|
282
283
|
*
|
|
@@ -290,24 +291,27 @@ export declare abstract class PromiseUtils {
|
|
|
290
291
|
* - `maxExecutions` stop after N runs (inclusive).
|
|
291
292
|
* - `maxDurationMs` stop after elapsed ms since the first scheduled start.
|
|
292
293
|
* - `schedule` controls how the interval is measured:
|
|
293
|
-
|
|
294
|
+
* - `'delayAfterEnd'`: wait the interval after the previous operation completes
|
|
294
295
|
* before scheduling the next one (equivalent to a fixed delay between ends).
|
|
295
296
|
* - `'delayBetweenStarts'`: keep start times on a regular schedule (interval measured
|
|
296
297
|
* between the starts of successive operations).
|
|
297
|
-
|
|
298
|
+
* The default schedule is `'delayBetweenStarts'`.
|
|
299
|
+
*
|
|
300
|
+
* Returns an object with `stop()` to cancel further executions and `done` which
|
|
301
|
+
* resolves when the periodic runner stops. If the provided `operation` throws or
|
|
302
|
+
* rejects, the `done` promise will reject with that error so callers can handle it.
|
|
298
303
|
*
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
*
|
|
303
|
-
* Note: The first invocation of `operation` is scheduled after the first interval
|
|
304
|
-
* elapses (i.e. this function does NOT call `operation` immediately). If you need
|
|
305
|
-
* an immediate run, invoke `operation(1)` yourself before calling `runPeriodically`.
|
|
304
|
+
* Note: The first invocation of `operation` is scheduled after the first interval
|
|
305
|
+
* elapses (i.e. this function does NOT call `operation` immediately). If you need
|
|
306
|
+
* an immediate run, invoke `operation(1)` yourself before calling `runPeriodically`.
|
|
306
307
|
*
|
|
307
308
|
* @template T The operation return type (ignored by the runner; used for typing).
|
|
308
309
|
* @param operation Function to run each iteration. Receives the iteration index (1-based).
|
|
309
310
|
* @param interval Number | number[] | ((iteration: number) => number|undefined) defining waits.
|
|
310
311
|
* @param options Optional configuration.
|
|
312
|
+
* @param options.maxExecutions Stop after N executions.
|
|
313
|
+
* @param options.maxDurationMs Stop after N milliseconds.
|
|
314
|
+
* @param options.schedule How to measure intervals: `'delayAfterEnd'` or `'delayBetweenStarts'`.
|
|
311
315
|
* @returns An object containing `stop()` to cancel further executions and `done` Promise
|
|
312
316
|
* which resolves when the periodic runner stops (or rejects if the operation errors).
|
|
313
317
|
*/
|
|
@@ -495,10 +499,39 @@ export declare const promiseState: typeof PromiseUtils.promiseState;
|
|
|
495
499
|
/**
|
|
496
500
|
* Runs an operation periodically with configurable intervals and stopping conditions.
|
|
497
501
|
*
|
|
498
|
-
*
|
|
499
|
-
*
|
|
500
|
-
*
|
|
501
|
-
*
|
|
502
|
+
* - `interval` may be a single number (ms), an array of numbers, or a function
|
|
503
|
+
* that receives the iteration number (starting at 1) and returns the next
|
|
504
|
+
* interval in milliseconds or `undefined` to stop.
|
|
505
|
+
* - If the interval array runs out of elements or the function returns `undefined`
|
|
506
|
+
* (or a negative value), no further invocations will be scheduled.
|
|
507
|
+
*
|
|
508
|
+
* Options:
|
|
509
|
+
* - `maxExecutions` stop after N runs (inclusive).
|
|
510
|
+
* - `maxDurationMs` stop after elapsed ms since the first scheduled start.
|
|
511
|
+
* - `schedule` controls how the interval is measured:
|
|
512
|
+
* - `'delayAfterEnd'`: wait the interval after the previous operation completes
|
|
513
|
+
* before scheduling the next one (equivalent to a fixed delay between ends).
|
|
514
|
+
* - `'delayBetweenStarts'`: keep start times on a regular schedule (interval measured
|
|
515
|
+
* between the starts of successive operations).
|
|
516
|
+
* The default schedule is `'delayBetweenStarts'`.
|
|
517
|
+
*
|
|
518
|
+
* Returns an object with `stop()` to cancel further executions and `done` which
|
|
519
|
+
* resolves when the periodic runner stops. If the provided `operation` throws or
|
|
520
|
+
* rejects, the `done` promise will reject with that error so callers can handle it.
|
|
521
|
+
*
|
|
522
|
+
* Note: The first invocation of `operation` is scheduled after the first interval
|
|
523
|
+
* elapses (i.e. this function does NOT call `operation` immediately). If you need
|
|
524
|
+
* an immediate run, invoke `operation(1)` yourself before calling `runPeriodically`.
|
|
525
|
+
*
|
|
526
|
+
* @template T The operation return type (ignored by the runner; used for typing).
|
|
527
|
+
* @param operation Function to run each iteration. Receives the iteration index (1-based).
|
|
528
|
+
* @param interval Number | number[] | ((iteration: number) => number|undefined) defining waits.
|
|
529
|
+
* @param options Optional configuration.
|
|
530
|
+
* @param options.maxExecutions Stop after N executions.
|
|
531
|
+
* @param options.maxDurationMs Stop after N milliseconds.
|
|
532
|
+
* @param options.schedule How to measure intervals: `'delayAfterEnd'` or `'delayBetweenStarts'`.
|
|
533
|
+
* @returns An object containing `stop()` to cancel further executions and `done` Promise
|
|
534
|
+
* which resolves when the periodic runner stops (or rejects if the operation errors).
|
|
502
535
|
*/
|
|
503
536
|
export declare const runPeriodically: typeof PromiseUtils.runPeriodically;
|
|
504
537
|
//# sourceMappingURL=promise-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise-utils.d.ts","sourceRoot":"","sources":["../src/promise-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,UAAkJ,CAAC;AAElL;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,UAA6K,CAAC;AAE/M;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"promise-utils.d.ts","sourceRoot":"","sources":["../src/promise-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,UAAkJ,CAAC;AAElL;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,UAA6K,CAAC;AAE/M;;GAEG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,YAAY,CAAC;AAEzD,8BAAsB,YAAY;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;WACU,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAC3C,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,EACzD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EACpF,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,EAC/D,iBAAiB,EAAE,UAAU,EAC7B,gBAAgB,GAAE,OAAO,CAAC,KAAK,CAAM,GACpC,OAAO,CAAC,UAAU,CAAC;IAetB;;;;;;;;;;;;;;;;;;;;;OAqBG;WACU,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EACzC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAC,SAAS,EAAE,aAAa,EAAE,MAAM,GAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,EAClH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAC,SAAS,EAAE,aAAa,EAAE,MAAM,GAAC,SAAS,KAAK,MAAM,GAAC,SAAS,CAAC,EACnI,WAAW,GAAE,CAAC,aAAa,EAAE,MAAM,GAAC,SAAS,EAAE,cAAc,EAAE,MAAM,GAAC,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,OAAmF,GACvL,OAAO,CAAC,MAAM,CAAC;IAyBlB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;WACU,eAAe,CAAC,IAAI,EAAE,MAAM,EACvC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EACpB,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACvD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAIzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;WACU,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EACnD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EACpB,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACxD,OAAO,CAAC,EAAE;QACR,YAAY,EAAE,OAAO,CAAC;KACvB,GACA,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAwBlC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,yBAAyB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE;IA0BtJ;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5G;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,wBAAwB,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE;IA2BjK;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvH;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAcpK;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAczK;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAM/D,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAgC;IAEnE;;;;;;;;;;;OAWG;WACU,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,GAAG,SAAS,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BpM;;;;;OAKG;WACU,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,gBAAgB,GAAG,SAAS,EAAE,oBAAoB,EAAE,gBAAgB,GAAG,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,EACtB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAChD,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,EAC9E,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,eAAe,GAAG,oBAAoB,CAAC;KACnD,GACA;QAAE,IAAI,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE;CAkE7C;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,4BAAsB,CAAC;AAC1C;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,+BAAyB,CAAC;AAChD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,qCAA+B,CAAC;AAC5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,gCAA0B,CAAC;AAClD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,oCAA8B,CAAC;AAC1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,mCAA6B,CAAC;AACxD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,+CAAyC,CAAC;AAChF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,8CAAwC,CAAC;AAC9E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,oCAA8B,CAAC;AAC1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,mCAA6B,CAAC;AACxD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,kCAA4B,CAAC;AACtD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,kCAA4B,CAAC;AACtD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,kCAA4B,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,eAAe,qCAA+B,CAAC"}
|
package/dist/promise-utils.js
CHANGED
|
@@ -28,12 +28,11 @@ exports.EXPONENTIAL_SEQUENCE = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
|
|
28
28
|
/**
|
|
29
29
|
* The state of a Promise can only be one of: Pending, Fulfilled, and Rejected.
|
|
30
30
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
})(PromiseState || (exports.PromiseState = PromiseState = {}));
|
|
31
|
+
exports.PromiseState = {
|
|
32
|
+
Pending: 'Pending',
|
|
33
|
+
Fulfilled: 'Fulfilled',
|
|
34
|
+
Rejected: 'Rejected',
|
|
35
|
+
};
|
|
37
36
|
class PromiseUtils {
|
|
38
37
|
/**
|
|
39
38
|
* Executes an operation repeatedly and collects all the results.
|
|
@@ -338,7 +337,7 @@ class PromiseUtils {
|
|
|
338
337
|
return Promise.race([
|
|
339
338
|
promise,
|
|
340
339
|
PromiseUtils.delayedResolve(ms, () => PromiseUtils.promiseState(promise)
|
|
341
|
-
.then(state => state === PromiseState.Pending ?
|
|
340
|
+
.then(state => state === exports.PromiseState.Pending ?
|
|
342
341
|
(typeof result === 'function' ? result() : result) :
|
|
343
342
|
{})),
|
|
344
343
|
]);
|
|
@@ -360,7 +359,7 @@ class PromiseUtils {
|
|
|
360
359
|
return Promise.race([
|
|
361
360
|
promise,
|
|
362
361
|
PromiseUtils.delayedReject(ms, () => PromiseUtils.promiseState(promise)
|
|
363
|
-
.then(state => state === PromiseState.Pending ?
|
|
362
|
+
.then(state => state === exports.PromiseState.Pending ?
|
|
364
363
|
(typeof rejectReason === 'function' ? rejectReason() : rejectReason) :
|
|
365
364
|
{})),
|
|
366
365
|
]);
|
|
@@ -375,7 +374,7 @@ class PromiseUtils {
|
|
|
375
374
|
static promiseState(p) {
|
|
376
375
|
const t = {};
|
|
377
376
|
return Promise.race([p, t])
|
|
378
|
-
.then(v => (v === t) ? PromiseState.Pending : PromiseState.Fulfilled, () => PromiseState.Rejected);
|
|
377
|
+
.then(v => (v === t) ? exports.PromiseState.Pending : exports.PromiseState.Fulfilled, () => exports.PromiseState.Rejected);
|
|
379
378
|
}
|
|
380
379
|
/**
|
|
381
380
|
* Provides mutual exclusion similar to `synchronized` in Java.
|
|
@@ -397,8 +396,8 @@ class PromiseUtils {
|
|
|
397
396
|
previousState = await PromiseUtils.promiseState(previousResultPromise);
|
|
398
397
|
}
|
|
399
398
|
switch (previousState) {
|
|
400
|
-
case PromiseState.Pending: { // concurrency
|
|
401
|
-
resultPromise = previousResultPromise.then(result => operation(PromiseState.Pending, PromiseState.Fulfilled, result), error => operation(PromiseState.Pending, PromiseState.Rejected, error));
|
|
399
|
+
case exports.PromiseState.Pending: { // concurrency
|
|
400
|
+
resultPromise = previousResultPromise.then(result => operation(exports.PromiseState.Pending, exports.PromiseState.Fulfilled, result), error => operation(exports.PromiseState.Pending, exports.PromiseState.Rejected, error));
|
|
402
401
|
break;
|
|
403
402
|
}
|
|
404
403
|
case undefined: { // no concurrency and no history
|
|
@@ -436,24 +435,27 @@ class PromiseUtils {
|
|
|
436
435
|
* - `maxExecutions` stop after N runs (inclusive).
|
|
437
436
|
* - `maxDurationMs` stop after elapsed ms since the first scheduled start.
|
|
438
437
|
* - `schedule` controls how the interval is measured:
|
|
439
|
-
|
|
438
|
+
* - `'delayAfterEnd'`: wait the interval after the previous operation completes
|
|
440
439
|
* before scheduling the next one (equivalent to a fixed delay between ends).
|
|
441
440
|
* - `'delayBetweenStarts'`: keep start times on a regular schedule (interval measured
|
|
442
441
|
* between the starts of successive operations).
|
|
443
|
-
|
|
442
|
+
* The default schedule is `'delayBetweenStarts'`.
|
|
444
443
|
*
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
444
|
+
* Returns an object with `stop()` to cancel further executions and `done` which
|
|
445
|
+
* resolves when the periodic runner stops. If the provided `operation` throws or
|
|
446
|
+
* rejects, the `done` promise will reject with that error so callers can handle it.
|
|
447
|
+
*
|
|
448
|
+
* Note: The first invocation of `operation` is scheduled after the first interval
|
|
449
|
+
* elapses (i.e. this function does NOT call `operation` immediately). If you need
|
|
450
|
+
* an immediate run, invoke `operation(1)` yourself before calling `runPeriodically`.
|
|
452
451
|
*
|
|
453
452
|
* @template T The operation return type (ignored by the runner; used for typing).
|
|
454
453
|
* @param operation Function to run each iteration. Receives the iteration index (1-based).
|
|
455
454
|
* @param interval Number | number[] | ((iteration: number) => number|undefined) defining waits.
|
|
456
455
|
* @param options Optional configuration.
|
|
456
|
+
* @param options.maxExecutions Stop after N executions.
|
|
457
|
+
* @param options.maxDurationMs Stop after N milliseconds.
|
|
458
|
+
* @param options.schedule How to measure intervals: `'delayAfterEnd'` or `'delayBetweenStarts'`.
|
|
457
459
|
* @returns An object containing `stop()` to cancel further executions and `done` Promise
|
|
458
460
|
* which resolves when the periodic runner stops (or rejects if the operation errors).
|
|
459
461
|
*/
|
|
@@ -696,9 +698,39 @@ exports.promiseState = PromiseUtils.promiseState;
|
|
|
696
698
|
/**
|
|
697
699
|
* Runs an operation periodically with configurable intervals and stopping conditions.
|
|
698
700
|
*
|
|
699
|
-
*
|
|
700
|
-
*
|
|
701
|
-
*
|
|
702
|
-
*
|
|
701
|
+
* - `interval` may be a single number (ms), an array of numbers, or a function
|
|
702
|
+
* that receives the iteration number (starting at 1) and returns the next
|
|
703
|
+
* interval in milliseconds or `undefined` to stop.
|
|
704
|
+
* - If the interval array runs out of elements or the function returns `undefined`
|
|
705
|
+
* (or a negative value), no further invocations will be scheduled.
|
|
706
|
+
*
|
|
707
|
+
* Options:
|
|
708
|
+
* - `maxExecutions` stop after N runs (inclusive).
|
|
709
|
+
* - `maxDurationMs` stop after elapsed ms since the first scheduled start.
|
|
710
|
+
* - `schedule` controls how the interval is measured:
|
|
711
|
+
* - `'delayAfterEnd'`: wait the interval after the previous operation completes
|
|
712
|
+
* before scheduling the next one (equivalent to a fixed delay between ends).
|
|
713
|
+
* - `'delayBetweenStarts'`: keep start times on a regular schedule (interval measured
|
|
714
|
+
* between the starts of successive operations).
|
|
715
|
+
* The default schedule is `'delayBetweenStarts'`.
|
|
716
|
+
*
|
|
717
|
+
* Returns an object with `stop()` to cancel further executions and `done` which
|
|
718
|
+
* resolves when the periodic runner stops. If the provided `operation` throws or
|
|
719
|
+
* rejects, the `done` promise will reject with that error so callers can handle it.
|
|
720
|
+
*
|
|
721
|
+
* Note: The first invocation of `operation` is scheduled after the first interval
|
|
722
|
+
* elapses (i.e. this function does NOT call `operation` immediately). If you need
|
|
723
|
+
* an immediate run, invoke `operation(1)` yourself before calling `runPeriodically`.
|
|
724
|
+
*
|
|
725
|
+
* @template T The operation return type (ignored by the runner; used for typing).
|
|
726
|
+
* @param operation Function to run each iteration. Receives the iteration index (1-based).
|
|
727
|
+
* @param interval Number | number[] | ((iteration: number) => number|undefined) defining waits.
|
|
728
|
+
* @param options Optional configuration.
|
|
729
|
+
* @param options.maxExecutions Stop after N executions.
|
|
730
|
+
* @param options.maxDurationMs Stop after N milliseconds.
|
|
731
|
+
* @param options.schedule How to measure intervals: `'delayAfterEnd'` or `'delayBetweenStarts'`.
|
|
732
|
+
* @returns An object containing `stop()` to cancel further executions and `done` Promise
|
|
733
|
+
* which resolves when the periodic runner stops (or rejects if the operation errors).
|
|
703
734
|
*/
|
|
704
735
|
exports.runPeriodically = PromiseUtils.runPeriodically;
|
|
736
|
+
//# sourceMappingURL=promise-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-utils.js","sourceRoot":"","sources":["../src/promise-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@handy-common-utils/promise-utils",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Promise related utilities",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"pretest": "eslint . --ext .ts",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"types": "dist/promise-utils.d.ts",
|
|
17
17
|
"bin": {},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@handy-common-utils/dev-dependencies-mocha": "^1.
|
|
19
|
+
"@handy-common-utils/dev-dependencies-mocha": "^1.10.1",
|
|
20
20
|
"@types/node": "^18.17.1"
|
|
21
21
|
},
|
|
22
22
|
"publishConfig": {
|