@rotorsoft/act 1.23.24 → 1.23.25
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/.tsbuildinfo +1 -1
- package/dist/@types/internal/drain-cycle.d.ts.map +1 -1
- package/dist/index.cjs +28 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2495,6 +2495,20 @@ var EMPTY_DRAIN = {
|
|
|
2495
2495
|
acked: [],
|
|
2496
2496
|
blocked: []
|
|
2497
2497
|
};
|
|
2498
|
+
var contain = (logger, sink, fn) => {
|
|
2499
|
+
try {
|
|
2500
|
+
fn();
|
|
2501
|
+
} catch (error) {
|
|
2502
|
+
logger.error(error, `${sink} listener threw`);
|
|
2503
|
+
}
|
|
2504
|
+
};
|
|
2505
|
+
var contain_async = async (logger, sink, fn) => {
|
|
2506
|
+
try {
|
|
2507
|
+
await fn();
|
|
2508
|
+
} catch (error) {
|
|
2509
|
+
logger.error(error, `${sink} listener threw`);
|
|
2510
|
+
}
|
|
2511
|
+
};
|
|
2498
2512
|
var DrainController = class {
|
|
2499
2513
|
_armed = false;
|
|
2500
2514
|
_locked = false;
|
|
@@ -2620,9 +2634,20 @@ var DrainController = class {
|
|
|
2620
2634
|
if (next !== void 0) this._defer.set(h.lease.stream, next);
|
|
2621
2635
|
}
|
|
2622
2636
|
if (this._defer.size > 0) this._defer.schedule();
|
|
2623
|
-
if (acked.length)
|
|
2624
|
-
|
|
2625
|
-
if (
|
|
2637
|
+
if (acked.length)
|
|
2638
|
+
contain(this._deps.logger, "acked", () => this._deps.on_acked(acked));
|
|
2639
|
+
if (blocked.length)
|
|
2640
|
+
contain(
|
|
2641
|
+
this._deps.logger,
|
|
2642
|
+
"blocked",
|
|
2643
|
+
() => this._deps.on_blocked(blocked)
|
|
2644
|
+
);
|
|
2645
|
+
if (closeable.length)
|
|
2646
|
+
await contain_async(
|
|
2647
|
+
this._deps.logger,
|
|
2648
|
+
"close",
|
|
2649
|
+
() => this._deps.on_close(closeable)
|
|
2650
|
+
);
|
|
2626
2651
|
const has_errors = handled.some(({ error }) => error);
|
|
2627
2652
|
if (!acked.length && !blocked.length && !has_errors) this._armed = false;
|
|
2628
2653
|
return { fetched, leased, acked, blocked };
|