@dxos/async 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934
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/LICENSE +102 -5
- package/dist/lib/browser/index.mjs +16 -81
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +16 -81
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/callback.d.ts.map +1 -1
- package/dist/types/src/chain.d.ts.map +1 -1
- package/dist/types/src/cleanup.d.ts.map +1 -1
- package/dist/types/src/debounce.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/event-emitter.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/mutex.d.ts.map +1 -1
- package/dist/types/src/observable-value.d.ts.map +1 -1
- package/dist/types/src/observable.d.ts.map +1 -1
- package/dist/types/src/persistent-lifecycle.d.ts.map +1 -1
- package/dist/types/src/stream-to-array.d.ts.map +1 -1
- package/dist/types/src/task-scheduling.d.ts.map +1 -1
- package/dist/types/src/test-stream.d.ts.map +1 -1
- package/dist/types/src/testing.d.ts.map +1 -1
- package/dist/types/src/timeout.d.ts.map +1 -1
- package/dist/types/src/timer.d.ts.map +1 -1
- package/dist/types/src/track-leaks.d.ts.map +1 -1
- package/dist/types/src/trigger.d.ts.map +1 -1
- package/dist/types/src/update-scheduler.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -11
- package/src/persistent-lifecycle.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/callback.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/callback.ts":{"bytes":1516,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1547,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6733,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/debounce.ts":{"bytes":9093,"imports":[],"format":"esm"},"src/errors.ts":{"bytes":2838,"imports":[],"format":"esm"},"src/timeout.ts":{"bytes":7524,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/event-emitter.ts":{"bytes":4075,"imports":[{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/events.ts":{"bytes":39225,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/mutex.ts":{"bytes":12575,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/trigger.ts":{"bytes":13827,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/observable.ts":{"bytes":17747,"imports":[{"path":"zen-observable","kind":"import-statement","external":true},{"path":"zen-push","kind":"import-statement","external":true},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/observable-value.ts":{"bytes":6361,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/track-leaks.ts":{"bytes":7844,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/task-scheduling.ts":{"bytes":23346,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"src/track-leaks.ts","kind":"import-statement","original":"./track-leaks"},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/persistent-lifecycle.ts":{"bytes":13027,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/mutex.ts","kind":"import-statement","original":"./mutex"},{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/push-iterable.ts":{"bytes":5570,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/stream-to-array.ts":{"bytes":4853,"imports":[],"format":"esm"},"src/test-stream.ts":{"bytes":4960,"imports":[{"path":"@dxos/node-std/stream","kind":"import-statement","external":true},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/testing.ts":{"bytes":8314,"imports":[{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/timer.ts":{"bytes":5803,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/update-scheduler.ts":{"bytes":9619,"imports":[{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"src/index.ts":{"bytes":2259,"imports":[{"path":"src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"src/chain.ts","kind":"import-statement","original":"./chain"},{"path":"src/cleanup.ts","kind":"import-statement","original":"./cleanup"},{"path":"src/debounce.ts","kind":"import-statement","original":"./debounce"},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/event-emitter.ts","kind":"import-statement","original":"./event-emitter"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/mutex.ts","kind":"import-statement","original":"./mutex"},{"path":"src/observable.ts","kind":"import-statement","original":"./observable"},{"path":"src/observable-value.ts","kind":"import-statement","original":"./observable-value"},{"path":"src/persistent-lifecycle.ts","kind":"import-statement","original":"./persistent-lifecycle"},{"path":"src/push-iterable.ts","kind":"import-statement","original":"./push-iterable"},{"path":"src/stream-to-array.ts","kind":"import-statement","original":"./stream-to-array"},{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"},{"path":"src/test-stream.ts","kind":"import-statement","original":"./test-stream"},{"path":"src/testing.ts","kind":"import-statement","original":"./testing"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"},{"path":"src/timer.ts","kind":"import-statement","original":"./timer"},{"path":"src/track-leaks.ts","kind":"import-statement","original":"./track-leaks"},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"},{"path":"src/update-scheduler.ts","kind":"import-statement","original":"./update-scheduler"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":104455},"dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"zen-observable","kind":"import-statement","external":true},{"path":"zen-push","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/node-std/stream","kind":"import-statement","external":true}],"exports":["AsyncTask","CancellableObservableProvider","DeferredTask","Event","MulticastObservable","Mutex","MutexGuard","Observable","ObservableProvider","PersistentLifecycle","PushStream","SubscriptionList","SubscriptionSet","TestStream","TimeoutError","Timer","Trigger","TriggerState","UpdateScheduler","addEventListener","addListener","asyncReturn","asyncTimeout","chain","combine","debounce","debounceAndThrottle","delay","dumpLeaks","interval","latch","makePushIterable","observableError","onEvent","promiseFromCallback","runInContext","runInContextAsync","scheduleExponentialBackoffTaskInterval","scheduleMicroTask","scheduleTask","scheduleTaskInterval","sleep","sleepWithContext","streamToArray","synchronized","throttle","timeout","toError","trackLeaks","trackResource","trigger","unrefTimeout","until","untilError","untilPromise","waitForCondition","waitForEvent"],"entryPoint":"src/index.ts","inputs":{"src/callback.ts":{"bytesInOutput":185},"src/index.ts":{"bytesInOutput":0},"src/chain.ts":{"bytesInOutput":216},"src/cleanup.ts":{"bytesInOutput":1090},"src/debounce.ts":{"bytesInOutput":1032},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1479},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8516},"src/mutex.ts":{"bytesInOutput":2429},"src/observable.ts":{"bytesInOutput":3691},"src/trigger.ts":{"bytesInOutput":2831},"src/observable-value.ts":{"bytesInOutput":951},"src/persistent-lifecycle.ts":{"bytesInOutput":3164},"src/task-scheduling.ts":{"bytesInOutput":4964},"src/track-leaks.ts":{"bytesInOutput":1691},"src/push-iterable.ts":{"bytesInOutput":1145},"src/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":915},"src/testing.ts":{"bytesInOutput":1419},"src/timer.ts":{"bytesInOutput":1065},"src/update-scheduler.ts":{"bytesInOutput":1952}},"bytes":42384}}}
|
|
@@ -217,7 +217,6 @@ var waitForEvent = (eventEmitter, eventName, test, timeout2, error) => {
|
|
|
217
217
|
|
|
218
218
|
// src/events.ts
|
|
219
219
|
import { Context } from "@dxos/context";
|
|
220
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
|
|
221
220
|
var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
|
|
222
221
|
var Event = class _Event {
|
|
223
222
|
/**
|
|
@@ -272,10 +271,7 @@ var Event = class _Event {
|
|
|
272
271
|
_ctx,
|
|
273
272
|
_callback
|
|
274
273
|
] : [
|
|
275
|
-
new Context(
|
|
276
|
-
F: __dxlog_file,
|
|
277
|
-
L: 132
|
|
278
|
-
}),
|
|
274
|
+
new Context(),
|
|
279
275
|
_ctx
|
|
280
276
|
];
|
|
281
277
|
const weak = !!options?.weak;
|
|
@@ -305,10 +301,7 @@ var Event = class _Event {
|
|
|
305
301
|
_ctx,
|
|
306
302
|
_callback
|
|
307
303
|
] : [
|
|
308
|
-
new Context(
|
|
309
|
-
F: __dxlog_file,
|
|
310
|
-
L: 169
|
|
311
|
-
}),
|
|
304
|
+
new Context(),
|
|
312
305
|
_ctx
|
|
313
306
|
];
|
|
314
307
|
const listener = new EventListener(this, callback, ctx, true, false);
|
|
@@ -642,7 +635,6 @@ import PushStream from "zen-push";
|
|
|
642
635
|
|
|
643
636
|
// src/trigger.ts
|
|
644
637
|
import { invariant } from "@dxos/invariant";
|
|
645
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
|
|
646
638
|
var trigger = (timeout2) => {
|
|
647
639
|
let callback;
|
|
648
640
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -734,15 +726,7 @@ var Trigger = class {
|
|
|
734
726
|
}
|
|
735
727
|
};
|
|
736
728
|
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
737
|
-
invariant(count >= 0
|
|
738
|
-
F: __dxlog_file2,
|
|
739
|
-
L: 139,
|
|
740
|
-
S: void 0,
|
|
741
|
-
A: [
|
|
742
|
-
"count >= 0",
|
|
743
|
-
""
|
|
744
|
-
]
|
|
745
|
-
});
|
|
729
|
+
invariant(count >= 0);
|
|
746
730
|
let t;
|
|
747
731
|
let doResolve;
|
|
748
732
|
let doReject;
|
|
@@ -945,7 +929,6 @@ import { StackTrace as StackTrace2 } from "@dxos/debug";
|
|
|
945
929
|
// src/track-leaks.ts
|
|
946
930
|
import { StackTrace } from "@dxos/debug";
|
|
947
931
|
import { log } from "@dxos/log";
|
|
948
|
-
var __dxlog_file3 = "/__w/dxos/dxos/packages/common/async/src/track-leaks.ts";
|
|
949
932
|
var enabled = typeof process !== "undefined" && !!process.env.DX_TRACK_LEAKS;
|
|
950
933
|
var openResources = /* @__PURE__ */ new Set();
|
|
951
934
|
var handleSymbol = /* @__PURE__ */ Symbol("checkLeaksHandle");
|
|
@@ -995,31 +978,11 @@ var dumpLeaks = () => {
|
|
|
995
978
|
if (!enabled) {
|
|
996
979
|
return;
|
|
997
980
|
}
|
|
998
|
-
log.info(`Leaked resources ${openResources.size}
|
|
999
|
-
F: __dxlog_file3,
|
|
1000
|
-
L: 82,
|
|
1001
|
-
S: void 0,
|
|
1002
|
-
C: (f, a) => f(...a)
|
|
1003
|
-
});
|
|
981
|
+
log.info(`Leaked resources ${openResources.size}:`);
|
|
1004
982
|
for (const resource of openResources) {
|
|
1005
|
-
log.info(`- ${resource.name} at
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
S: void 0,
|
|
1009
|
-
C: (f, a) => f(...a)
|
|
1010
|
-
});
|
|
1011
|
-
log.info(resource.openStack.getStack(1), void 0, {
|
|
1012
|
-
F: __dxlog_file3,
|
|
1013
|
-
L: 85,
|
|
1014
|
-
S: void 0,
|
|
1015
|
-
C: (f, a) => f(...a)
|
|
1016
|
-
});
|
|
1017
|
-
log.info("\n", void 0, {
|
|
1018
|
-
F: __dxlog_file3,
|
|
1019
|
-
L: 86,
|
|
1020
|
-
S: void 0,
|
|
1021
|
-
C: (f, a) => f(...a)
|
|
1022
|
-
});
|
|
983
|
+
log.info(`- ${resource.name} at`);
|
|
984
|
+
log.info(resource.openStack.getStack(1));
|
|
985
|
+
log.info("\n");
|
|
1023
986
|
}
|
|
1024
987
|
};
|
|
1025
988
|
if (enabled) {
|
|
@@ -1027,7 +990,6 @@ if (enabled) {
|
|
|
1027
990
|
}
|
|
1028
991
|
|
|
1029
992
|
// src/task-scheduling.ts
|
|
1030
|
-
var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/task-scheduling.ts";
|
|
1031
993
|
var DeferredTask = class {
|
|
1032
994
|
_ctx;
|
|
1033
995
|
_callback;
|
|
@@ -1094,10 +1056,7 @@ var AsyncTask = class {
|
|
|
1094
1056
|
* When the context is disposed, the task is cancelled and cannot be scheduled again.
|
|
1095
1057
|
*/
|
|
1096
1058
|
open() {
|
|
1097
|
-
this.#ctx = new Context2(
|
|
1098
|
-
F: __dxlog_file4,
|
|
1099
|
-
L: 102
|
|
1100
|
-
});
|
|
1059
|
+
this.#ctx = new Context2();
|
|
1101
1060
|
}
|
|
1102
1061
|
/**
|
|
1103
1062
|
* Closes the task and waits for it to finish if it is running.
|
|
@@ -1238,7 +1197,6 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
1238
1197
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1239
1198
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1240
1199
|
}
|
|
1241
|
-
var __dxlog_file5 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecycle.ts";
|
|
1242
1200
|
var INIT_RESTART_DELAY = 100;
|
|
1243
1201
|
var DEFAULT_MAX_RESTART_DELAY = 5e3;
|
|
1244
1202
|
var PersistentLifecycle = class extends Resource {
|
|
@@ -1264,25 +1222,21 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1264
1222
|
try {
|
|
1265
1223
|
await this._restart();
|
|
1266
1224
|
} catch (err) {
|
|
1225
|
+
if (this._ctx?.disposed) {
|
|
1226
|
+
return;
|
|
1227
|
+
}
|
|
1267
1228
|
log2.warn("Restart failed", {
|
|
1268
1229
|
err
|
|
1269
|
-
}, {
|
|
1270
|
-
F: __dxlog_file5,
|
|
1271
|
-
L: 72,
|
|
1272
|
-
S: this,
|
|
1273
|
-
C: (f, a) => f(...a)
|
|
1274
1230
|
});
|
|
1275
1231
|
this._restartTask?.schedule();
|
|
1276
1232
|
}
|
|
1277
1233
|
});
|
|
1278
1234
|
this._currentState = await this._start().catch((err) => {
|
|
1235
|
+
if (this._ctx?.disposed) {
|
|
1236
|
+
return void 0;
|
|
1237
|
+
}
|
|
1279
1238
|
log2.warn("Start failed", {
|
|
1280
1239
|
err
|
|
1281
|
-
}, {
|
|
1282
|
-
F: __dxlog_file5,
|
|
1283
|
-
L: 78,
|
|
1284
|
-
S: this,
|
|
1285
|
-
C: (f, a) => f(...a)
|
|
1286
1240
|
});
|
|
1287
1241
|
this._restartTask?.schedule();
|
|
1288
1242
|
return void 0;
|
|
@@ -1296,11 +1250,6 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1296
1250
|
async _restart() {
|
|
1297
1251
|
log2(`restarting in ${this._restartAfter}ms`, {
|
|
1298
1252
|
state: this._lifecycleState
|
|
1299
|
-
}, {
|
|
1300
|
-
F: __dxlog_file5,
|
|
1301
|
-
L: 91,
|
|
1302
|
-
S: this,
|
|
1303
|
-
C: (f, a) => f(...a)
|
|
1304
1253
|
});
|
|
1305
1254
|
await this._stopCurrentState();
|
|
1306
1255
|
if (this._lifecycleState !== LifecycleState.OPEN) {
|
|
@@ -1319,12 +1268,7 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1319
1268
|
try {
|
|
1320
1269
|
await this._stop(this._currentState);
|
|
1321
1270
|
} catch (err) {
|
|
1322
|
-
log2.catch(err
|
|
1323
|
-
F: __dxlog_file5,
|
|
1324
|
-
L: 113,
|
|
1325
|
-
S: this,
|
|
1326
|
-
C: (f, a) => f(...a)
|
|
1327
|
-
});
|
|
1271
|
+
log2.catch(err);
|
|
1328
1272
|
}
|
|
1329
1273
|
this._currentState = void 0;
|
|
1330
1274
|
}
|
|
@@ -1348,7 +1292,6 @@ _ts_decorate([
|
|
|
1348
1292
|
|
|
1349
1293
|
// src/push-iterable.ts
|
|
1350
1294
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
1351
|
-
var __dxlog_file6 = "/__w/dxos/dxos/packages/common/async/src/push-iterable.ts";
|
|
1352
1295
|
var makePushIterable = () => {
|
|
1353
1296
|
const buf = [];
|
|
1354
1297
|
const trigger2 = new Trigger({
|
|
@@ -1362,15 +1305,7 @@ var makePushIterable = () => {
|
|
|
1362
1305
|
await trigger2.wait();
|
|
1363
1306
|
}
|
|
1364
1307
|
const item = buf.shift();
|
|
1365
|
-
invariant2(item
|
|
1366
|
-
F: __dxlog_file6,
|
|
1367
|
-
L: 42,
|
|
1368
|
-
S: this,
|
|
1369
|
-
A: [
|
|
1370
|
-
"item",
|
|
1371
|
-
""
|
|
1372
|
-
]
|
|
1373
|
-
});
|
|
1308
|
+
invariant2(item);
|
|
1374
1309
|
switch (item.kind) {
|
|
1375
1310
|
case "next":
|
|
1376
1311
|
return {
|