@dxos/async 0.8.4-main.d05673bc65 → 0.8.4-main.e00bdcdb52
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/lib/browser/index.mjs +14 -83
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +14 -83
- 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 +0 -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 +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 +7 -10
- package/src/cleanup.ts +0 -1
- package/src/event-emitter.test.ts +0 -1
- package/src/timeout.ts +6 -9
|
@@ -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":12097,"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":104066},"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":3037},"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":42257}}}
|
|
@@ -168,6 +168,9 @@ var sleepWithContext = (ctx, ms) => {
|
|
|
168
168
|
};
|
|
169
169
|
var asyncReturn = () => sleep(0);
|
|
170
170
|
var asyncTimeout = async (promise, timeout2, err) => {
|
|
171
|
+
if (typeof promise === "function") {
|
|
172
|
+
throw new Error("First argument must be a promise.");
|
|
173
|
+
}
|
|
171
174
|
let timeoutId;
|
|
172
175
|
const throwable = err === void 0 || typeof err === "string" ? new TimeoutError(timeout2, err) : err;
|
|
173
176
|
const timeoutPromise = new Promise((resolve, reject) => {
|
|
@@ -176,9 +179,8 @@ var asyncTimeout = async (promise, timeout2, err) => {
|
|
|
176
179
|
}, timeout2);
|
|
177
180
|
unrefTimeout(timeoutId);
|
|
178
181
|
});
|
|
179
|
-
const conditionTimeout = typeof promise === "function" ? promiseFromCallback(promise) : promise;
|
|
180
182
|
return await Promise.race([
|
|
181
|
-
|
|
183
|
+
promise,
|
|
182
184
|
timeoutPromise
|
|
183
185
|
]).finally(() => {
|
|
184
186
|
clearTimeout(timeoutId);
|
|
@@ -215,7 +217,6 @@ var waitForEvent = (eventEmitter, eventName, test, timeout2, error) => {
|
|
|
215
217
|
|
|
216
218
|
// src/events.ts
|
|
217
219
|
import { Context } from "@dxos/context";
|
|
218
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
|
|
219
220
|
var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
|
|
220
221
|
var Event = class _Event {
|
|
221
222
|
/**
|
|
@@ -270,10 +271,7 @@ var Event = class _Event {
|
|
|
270
271
|
_ctx,
|
|
271
272
|
_callback
|
|
272
273
|
] : [
|
|
273
|
-
new Context(
|
|
274
|
-
F: __dxlog_file,
|
|
275
|
-
L: 132
|
|
276
|
-
}),
|
|
274
|
+
new Context(),
|
|
277
275
|
_ctx
|
|
278
276
|
];
|
|
279
277
|
const weak = !!options?.weak;
|
|
@@ -303,10 +301,7 @@ var Event = class _Event {
|
|
|
303
301
|
_ctx,
|
|
304
302
|
_callback
|
|
305
303
|
] : [
|
|
306
|
-
new Context(
|
|
307
|
-
F: __dxlog_file,
|
|
308
|
-
L: 169
|
|
309
|
-
}),
|
|
304
|
+
new Context(),
|
|
310
305
|
_ctx
|
|
311
306
|
];
|
|
312
307
|
const listener = new EventListener(this, callback, ctx, true, false);
|
|
@@ -640,7 +635,6 @@ import PushStream from "zen-push";
|
|
|
640
635
|
|
|
641
636
|
// src/trigger.ts
|
|
642
637
|
import { invariant } from "@dxos/invariant";
|
|
643
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
|
|
644
638
|
var trigger = (timeout2) => {
|
|
645
639
|
let callback;
|
|
646
640
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -732,15 +726,7 @@ var Trigger = class {
|
|
|
732
726
|
}
|
|
733
727
|
};
|
|
734
728
|
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
735
|
-
invariant(count >= 0
|
|
736
|
-
F: __dxlog_file2,
|
|
737
|
-
L: 139,
|
|
738
|
-
S: void 0,
|
|
739
|
-
A: [
|
|
740
|
-
"count >= 0",
|
|
741
|
-
""
|
|
742
|
-
]
|
|
743
|
-
});
|
|
729
|
+
invariant(count >= 0);
|
|
744
730
|
let t;
|
|
745
731
|
let doResolve;
|
|
746
732
|
let doReject;
|
|
@@ -943,7 +929,6 @@ import { StackTrace as StackTrace2 } from "@dxos/debug";
|
|
|
943
929
|
// src/track-leaks.ts
|
|
944
930
|
import { StackTrace } from "@dxos/debug";
|
|
945
931
|
import { log } from "@dxos/log";
|
|
946
|
-
var __dxlog_file3 = "/__w/dxos/dxos/packages/common/async/src/track-leaks.ts";
|
|
947
932
|
var enabled = typeof process !== "undefined" && !!process.env.DX_TRACK_LEAKS;
|
|
948
933
|
var openResources = /* @__PURE__ */ new Set();
|
|
949
934
|
var handleSymbol = /* @__PURE__ */ Symbol("checkLeaksHandle");
|
|
@@ -993,31 +978,11 @@ var dumpLeaks = () => {
|
|
|
993
978
|
if (!enabled) {
|
|
994
979
|
return;
|
|
995
980
|
}
|
|
996
|
-
log.info(`Leaked resources ${openResources.size}
|
|
997
|
-
F: __dxlog_file3,
|
|
998
|
-
L: 82,
|
|
999
|
-
S: void 0,
|
|
1000
|
-
C: (f, a) => f(...a)
|
|
1001
|
-
});
|
|
981
|
+
log.info(`Leaked resources ${openResources.size}:`);
|
|
1002
982
|
for (const resource of openResources) {
|
|
1003
|
-
log.info(`- ${resource.name} at
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
S: void 0,
|
|
1007
|
-
C: (f, a) => f(...a)
|
|
1008
|
-
});
|
|
1009
|
-
log.info(resource.openStack.getStack(1), void 0, {
|
|
1010
|
-
F: __dxlog_file3,
|
|
1011
|
-
L: 85,
|
|
1012
|
-
S: void 0,
|
|
1013
|
-
C: (f, a) => f(...a)
|
|
1014
|
-
});
|
|
1015
|
-
log.info("\n", void 0, {
|
|
1016
|
-
F: __dxlog_file3,
|
|
1017
|
-
L: 86,
|
|
1018
|
-
S: void 0,
|
|
1019
|
-
C: (f, a) => f(...a)
|
|
1020
|
-
});
|
|
983
|
+
log.info(`- ${resource.name} at`);
|
|
984
|
+
log.info(resource.openStack.getStack(1));
|
|
985
|
+
log.info("\n");
|
|
1021
986
|
}
|
|
1022
987
|
};
|
|
1023
988
|
if (enabled) {
|
|
@@ -1025,7 +990,6 @@ if (enabled) {
|
|
|
1025
990
|
}
|
|
1026
991
|
|
|
1027
992
|
// src/task-scheduling.ts
|
|
1028
|
-
var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/task-scheduling.ts";
|
|
1029
993
|
var DeferredTask = class {
|
|
1030
994
|
_ctx;
|
|
1031
995
|
_callback;
|
|
@@ -1092,10 +1056,7 @@ var AsyncTask = class {
|
|
|
1092
1056
|
* When the context is disposed, the task is cancelled and cannot be scheduled again.
|
|
1093
1057
|
*/
|
|
1094
1058
|
open() {
|
|
1095
|
-
this.#ctx = new Context2(
|
|
1096
|
-
F: __dxlog_file4,
|
|
1097
|
-
L: 102
|
|
1098
|
-
});
|
|
1059
|
+
this.#ctx = new Context2();
|
|
1099
1060
|
}
|
|
1100
1061
|
/**
|
|
1101
1062
|
* Closes the task and waits for it to finish if it is running.
|
|
@@ -1236,7 +1197,6 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
1236
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;
|
|
1237
1198
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1238
1199
|
}
|
|
1239
|
-
var __dxlog_file5 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecycle.ts";
|
|
1240
1200
|
var INIT_RESTART_DELAY = 100;
|
|
1241
1201
|
var DEFAULT_MAX_RESTART_DELAY = 5e3;
|
|
1242
1202
|
var PersistentLifecycle = class extends Resource {
|
|
@@ -1264,11 +1224,6 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1264
1224
|
} catch (err) {
|
|
1265
1225
|
log2.warn("Restart failed", {
|
|
1266
1226
|
err
|
|
1267
|
-
}, {
|
|
1268
|
-
F: __dxlog_file5,
|
|
1269
|
-
L: 72,
|
|
1270
|
-
S: this,
|
|
1271
|
-
C: (f, a) => f(...a)
|
|
1272
1227
|
});
|
|
1273
1228
|
this._restartTask?.schedule();
|
|
1274
1229
|
}
|
|
@@ -1276,11 +1231,6 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1276
1231
|
this._currentState = await this._start().catch((err) => {
|
|
1277
1232
|
log2.warn("Start failed", {
|
|
1278
1233
|
err
|
|
1279
|
-
}, {
|
|
1280
|
-
F: __dxlog_file5,
|
|
1281
|
-
L: 78,
|
|
1282
|
-
S: this,
|
|
1283
|
-
C: (f, a) => f(...a)
|
|
1284
1234
|
});
|
|
1285
1235
|
this._restartTask?.schedule();
|
|
1286
1236
|
return void 0;
|
|
@@ -1294,11 +1244,6 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1294
1244
|
async _restart() {
|
|
1295
1245
|
log2(`restarting in ${this._restartAfter}ms`, {
|
|
1296
1246
|
state: this._lifecycleState
|
|
1297
|
-
}, {
|
|
1298
|
-
F: __dxlog_file5,
|
|
1299
|
-
L: 91,
|
|
1300
|
-
S: this,
|
|
1301
|
-
C: (f, a) => f(...a)
|
|
1302
1247
|
});
|
|
1303
1248
|
await this._stopCurrentState();
|
|
1304
1249
|
if (this._lifecycleState !== LifecycleState.OPEN) {
|
|
@@ -1317,12 +1262,7 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1317
1262
|
try {
|
|
1318
1263
|
await this._stop(this._currentState);
|
|
1319
1264
|
} catch (err) {
|
|
1320
|
-
log2.catch(err
|
|
1321
|
-
F: __dxlog_file5,
|
|
1322
|
-
L: 113,
|
|
1323
|
-
S: this,
|
|
1324
|
-
C: (f, a) => f(...a)
|
|
1325
|
-
});
|
|
1265
|
+
log2.catch(err);
|
|
1326
1266
|
}
|
|
1327
1267
|
this._currentState = void 0;
|
|
1328
1268
|
}
|
|
@@ -1346,7 +1286,6 @@ _ts_decorate([
|
|
|
1346
1286
|
|
|
1347
1287
|
// src/push-iterable.ts
|
|
1348
1288
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
1349
|
-
var __dxlog_file6 = "/__w/dxos/dxos/packages/common/async/src/push-iterable.ts";
|
|
1350
1289
|
var makePushIterable = () => {
|
|
1351
1290
|
const buf = [];
|
|
1352
1291
|
const trigger2 = new Trigger({
|
|
@@ -1360,15 +1299,7 @@ var makePushIterable = () => {
|
|
|
1360
1299
|
await trigger2.wait();
|
|
1361
1300
|
}
|
|
1362
1301
|
const item = buf.shift();
|
|
1363
|
-
invariant2(item
|
|
1364
|
-
F: __dxlog_file6,
|
|
1365
|
-
L: 42,
|
|
1366
|
-
S: this,
|
|
1367
|
-
A: [
|
|
1368
|
-
"item",
|
|
1369
|
-
""
|
|
1370
|
-
]
|
|
1371
|
-
});
|
|
1302
|
+
invariant2(item);
|
|
1372
1303
|
switch (item.kind) {
|
|
1373
1304
|
case "next":
|
|
1374
1305
|
return {
|