@dxos/async 0.8.4-main.fbb7a13 → 0.8.4-main.fcc0d83b33

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.
Files changed (38) hide show
  1. package/dist/lib/browser/index.mjs +24 -88
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +24 -88
  5. package/dist/lib/node-esm/index.mjs.map +3 -3
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/callback.d.ts.map +1 -1
  8. package/dist/types/src/chain.d.ts.map +1 -1
  9. package/dist/types/src/cleanup.d.ts +2 -3
  10. package/dist/types/src/cleanup.d.ts.map +1 -1
  11. package/dist/types/src/debounce.d.ts +15 -10
  12. package/dist/types/src/debounce.d.ts.map +1 -1
  13. package/dist/types/src/errors.d.ts.map +1 -1
  14. package/dist/types/src/event-emitter.d.ts.map +1 -1
  15. package/dist/types/src/events.d.ts.map +1 -1
  16. package/dist/types/src/mutex.d.ts.map +1 -1
  17. package/dist/types/src/observable-value.d.ts.map +1 -1
  18. package/dist/types/src/observable.d.ts.map +1 -1
  19. package/dist/types/src/persistent-lifecycle.d.ts.map +1 -1
  20. package/dist/types/src/stream-to-array.d.ts.map +1 -1
  21. package/dist/types/src/task-scheduling.d.ts +2 -2
  22. package/dist/types/src/task-scheduling.d.ts.map +1 -1
  23. package/dist/types/src/test-stream.d.ts.map +1 -1
  24. package/dist/types/src/testing.d.ts.map +1 -1
  25. package/dist/types/src/timeout.d.ts +1 -1
  26. package/dist/types/src/timeout.d.ts.map +1 -1
  27. package/dist/types/src/timer.d.ts.map +1 -1
  28. package/dist/types/src/track-leaks.d.ts.map +1 -1
  29. package/dist/types/src/trigger.d.ts.map +1 -1
  30. package/dist/types/src/update-scheduler.d.ts.map +1 -1
  31. package/dist/types/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +7 -10
  33. package/src/cleanup.ts +7 -5
  34. package/src/debounce.ts +19 -14
  35. package/src/event-emitter.test.ts +0 -1
  36. package/src/observable-value.ts +4 -2
  37. package/src/task-scheduling.ts +6 -5
  38. package/src/timeout.ts +6 -9
@@ -1 +1 @@
1
- {"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6635,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/debounce.ts":{"bytes":8209,"imports":[],"format":"esm"},"src/errors.ts":{"bytes":2911,"imports":[],"format":"esm"},"src/timeout.ts":{"bytes":8042,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/event-emitter.ts":{"bytes":4155,"imports":[{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/events.ts":{"bytes":39464,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/mutex.ts":{"bytes":12647,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/trigger.ts":{"bytes":14052,"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":17824,"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":6436,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/track-leaks.ts":{"bytes":8414,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/task-scheduling.ts":{"bytes":23288,"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":12773,"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":5922,"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":4935,"imports":[],"format":"esm"},"src/test-stream.ts":{"bytes":5038,"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":8388,"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":5879,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/update-scheduler.ts":{"bytes":9706,"imports":[{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"src/index.ts":{"bytes":2335,"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":103799},"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":1045},"src/debounce.ts":{"bytesInOutput":1032},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1486},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8703},"src/mutex.ts":{"bytesInOutput":2413},"src/observable.ts":{"bytesInOutput":3691},"src/trigger.ts":{"bytesInOutput":3014},"src/observable-value.ts":{"bytesInOutput":951},"src/persistent-lifecycle.ts":{"bytesInOutput":3536},"src/task-scheduling.ts":{"bytesInOutput":4915},"src/track-leaks.ts":{"bytesInOutput":2136},"src/push-iterable.ts":{"bytesInOutput":1389},"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":43712}}}
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}}}
@@ -24,7 +24,7 @@ var chain = (chain2) => async (elements) => {
24
24
  import { ComplexMap } from "@dxos/util";
25
25
  var combine = (...cleanupFns) => {
26
26
  return () => {
27
- cleanupFns.flat().forEach((cleanupFn) => cleanupFn());
27
+ cleanupFns.flat().filter((f) => typeof f === "function").forEach((cleanupFn) => cleanupFn());
28
28
  };
29
29
  };
30
30
  var timeout = (cb, ms = 0) => {
@@ -41,8 +41,8 @@ var addEventListener = (target, type, listener, options) => {
41
41
  };
42
42
  var SubscriptionList = class {
43
43
  _cleanups = [];
44
- add(cb) {
45
- this._cleanups.push(cb);
44
+ add(...cb) {
45
+ this._cleanups.push(...cb);
46
46
  return this;
47
47
  }
48
48
  clear() {
@@ -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
- conditionTimeout,
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(void 0, {
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(void 0, {
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);
@@ -609,7 +604,7 @@ var MutexGuard = class {
609
604
  this.release();
610
605
  }
611
606
  };
612
- var classMutexSymbol = Symbol("class-mutex");
607
+ var classMutexSymbol = /* @__PURE__ */ Symbol("class-mutex");
613
608
  var FORCE_DISABLE_WARNING = false;
614
609
  var enableWarning = !FORCE_DISABLE_WARNING && globalThis.mochaExecutor;
615
610
  var synchronized = (target, propertyName, descriptor) => {
@@ -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, void 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;
@@ -937,16 +923,15 @@ import { warnAfterTimeout as warnAfterTimeout2 } from "@dxos/debug";
937
923
  import { log as log2 } from "@dxos/log";
938
924
 
939
925
  // src/task-scheduling.ts
940
- import { ContextDisposedError as ContextDisposedError2 } from "@dxos/context";
926
+ import { Context as Context2, ContextDisposedError as ContextDisposedError2 } from "@dxos/context";
941
927
  import { StackTrace as StackTrace2 } from "@dxos/debug";
942
928
 
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
- var handleSymbol = Symbol("checkLeaksHandle");
934
+ var handleSymbol = /* @__PURE__ */ Symbol("checkLeaksHandle");
950
935
  var trackResource = (resourceProvider) => {
951
936
  if (!enabled) {
952
937
  return () => {
@@ -993,31 +978,11 @@ var dumpLeaks = () => {
993
978
  if (!enabled) {
994
979
  return;
995
980
  }
996
- log.info(`Leaked resources ${openResources.size}:`, void 0, {
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`, void 0, {
1004
- F: __dxlog_file3,
1005
- L: 84,
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) {
@@ -1090,16 +1055,16 @@ var AsyncTask = class {
1090
1055
  * Context of the resource that owns the task.
1091
1056
  * When the context is disposed, the task is cancelled and cannot be scheduled again.
1092
1057
  */
1093
- // TODO(dmaretskyi): We don't really need to pass ctx in here, since close will also signal dispose.
1094
- open(ctx) {
1095
- this.#ctx = ctx;
1058
+ open() {
1059
+ this.#ctx = new Context2();
1096
1060
  }
1097
1061
  /**
1098
1062
  * Closes the task and waits for it to finish if it is running.
1099
1063
  */
1100
1064
  async close() {
1101
- this.#ctx = void 0;
1065
+ await this.#ctx?.dispose();
1102
1066
  await this.join();
1067
+ this.#ctx = void 0;
1103
1068
  }
1104
1069
  [Symbol.asyncDispose]() {
1105
1070
  return this.close();
@@ -1107,6 +1072,7 @@ var AsyncTask = class {
1107
1072
  /**
1108
1073
  * Schedule the task to run asynchronously.
1109
1074
  */
1075
+ // TODO(dmaretskyi): Add scheduleAt. Where the earlier time will override the later one.
1110
1076
  schedule() {
1111
1077
  if (!this.#ctx || this.#ctx.disposed) {
1112
1078
  throw new Error("AsyncTask not open");
@@ -1231,7 +1197,6 @@ function _ts_decorate(decorators, target, key, desc) {
1231
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;
1232
1198
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1233
1199
  }
1234
- var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecycle.ts";
1235
1200
  var INIT_RESTART_DELAY = 100;
1236
1201
  var DEFAULT_MAX_RESTART_DELAY = 5e3;
1237
1202
  var PersistentLifecycle = class extends Resource {
@@ -1259,11 +1224,6 @@ var PersistentLifecycle = class extends Resource {
1259
1224
  } catch (err) {
1260
1225
  log2.warn("Restart failed", {
1261
1226
  err
1262
- }, {
1263
- F: __dxlog_file4,
1264
- L: 72,
1265
- S: this,
1266
- C: (f, a) => f(...a)
1267
1227
  });
1268
1228
  this._restartTask?.schedule();
1269
1229
  }
@@ -1271,11 +1231,6 @@ var PersistentLifecycle = class extends Resource {
1271
1231
  this._currentState = await this._start().catch((err) => {
1272
1232
  log2.warn("Start failed", {
1273
1233
  err
1274
- }, {
1275
- F: __dxlog_file4,
1276
- L: 78,
1277
- S: this,
1278
- C: (f, a) => f(...a)
1279
1234
  });
1280
1235
  this._restartTask?.schedule();
1281
1236
  return void 0;
@@ -1289,11 +1244,6 @@ var PersistentLifecycle = class extends Resource {
1289
1244
  async _restart() {
1290
1245
  log2(`restarting in ${this._restartAfter}ms`, {
1291
1246
  state: this._lifecycleState
1292
- }, {
1293
- F: __dxlog_file4,
1294
- L: 91,
1295
- S: this,
1296
- C: (f, a) => f(...a)
1297
1247
  });
1298
1248
  await this._stopCurrentState();
1299
1249
  if (this._lifecycleState !== LifecycleState.OPEN) {
@@ -1312,12 +1262,7 @@ var PersistentLifecycle = class extends Resource {
1312
1262
  try {
1313
1263
  await this._stop(this._currentState);
1314
1264
  } catch (err) {
1315
- log2.catch(err, void 0, {
1316
- F: __dxlog_file4,
1317
- L: 113,
1318
- S: this,
1319
- C: (f, a) => f(...a)
1320
- });
1265
+ log2.catch(err);
1321
1266
  }
1322
1267
  this._currentState = void 0;
1323
1268
  }
@@ -1341,7 +1286,6 @@ _ts_decorate([
1341
1286
 
1342
1287
  // src/push-iterable.ts
1343
1288
  import { invariant as invariant2 } from "@dxos/invariant";
1344
- var __dxlog_file5 = "/__w/dxos/dxos/packages/common/async/src/push-iterable.ts";
1345
1289
  var makePushIterable = () => {
1346
1290
  const buf = [];
1347
1291
  const trigger2 = new Trigger({
@@ -1355,15 +1299,7 @@ var makePushIterable = () => {
1355
1299
  await trigger2.wait();
1356
1300
  }
1357
1301
  const item = buf.shift();
1358
- invariant2(item, void 0, {
1359
- F: __dxlog_file5,
1360
- L: 42,
1361
- S: this,
1362
- A: [
1363
- "item",
1364
- ""
1365
- ]
1366
- });
1302
+ invariant2(item);
1367
1303
  switch (item.kind) {
1368
1304
  case "next":
1369
1305
  return {