@dxos/async 0.8.4-main.f9ba587 → 0.8.4-main.fd6878d

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 (61) hide show
  1. package/dist/lib/browser/index.mjs +177 -166
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +177 -166
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/callback.d.ts +2 -1
  8. package/dist/types/src/callback.d.ts.map +1 -1
  9. package/dist/types/src/chain.d.ts +1 -1
  10. package/dist/types/src/chain.d.ts.map +1 -1
  11. package/dist/types/src/cleanup.d.ts +1 -1
  12. package/dist/types/src/cleanup.d.ts.map +1 -1
  13. package/dist/types/src/debounce.d.ts +16 -2
  14. package/dist/types/src/debounce.d.ts.map +1 -1
  15. package/dist/types/src/index.d.ts +0 -5
  16. package/dist/types/src/index.d.ts.map +1 -1
  17. package/dist/types/src/task-scheduling.d.ts.map +1 -1
  18. package/dist/types/src/testing.d.ts +13 -0
  19. package/dist/types/src/testing.d.ts.map +1 -1
  20. package/dist/types/src/timeout.d.ts +1 -1
  21. package/dist/types/src/timeout.d.ts.map +1 -1
  22. package/dist/types/src/trigger.d.ts +11 -0
  23. package/dist/types/src/trigger.d.ts.map +1 -1
  24. package/dist/types/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +9 -9
  26. package/src/callback.ts +3 -3
  27. package/src/chain.ts +1 -1
  28. package/src/cleanup.ts +3 -3
  29. package/src/debounce.test.ts +69 -12
  30. package/src/debounce.ts +32 -11
  31. package/src/event-emitter.test.ts +2 -1
  32. package/src/index.ts +0 -5
  33. package/src/observable-value.test.ts +1 -1
  34. package/src/persistent-lifecycle.test.ts +1 -1
  35. package/src/task-scheduling.ts +1 -1
  36. package/src/testing.test.ts +41 -1
  37. package/src/testing.ts +53 -0
  38. package/src/timeout.ts +23 -22
  39. package/src/trigger.ts +58 -1
  40. package/src/update-scheduler.ts +1 -1
  41. package/dist/types/src/latch.d.ts +0 -11
  42. package/dist/types/src/latch.d.ts.map +0 -1
  43. package/dist/types/src/sink.d.ts +0 -6
  44. package/dist/types/src/sink.d.ts.map +0 -1
  45. package/dist/types/src/throttle.d.ts +0 -2
  46. package/dist/types/src/throttle.d.ts.map +0 -1
  47. package/dist/types/src/throttle.test.d.ts +0 -2
  48. package/dist/types/src/throttle.test.d.ts.map +0 -1
  49. package/dist/types/src/types.d.ts +0 -2
  50. package/dist/types/src/types.d.ts.map +0 -1
  51. package/dist/types/src/until.d.ts +0 -14
  52. package/dist/types/src/until.d.ts.map +0 -1
  53. package/dist/types/src/until.test.d.ts +0 -2
  54. package/dist/types/src/until.test.d.ts.map +0 -1
  55. package/src/latch.ts +0 -60
  56. package/src/sink.ts +0 -26
  57. package/src/throttle.test.ts +0 -65
  58. package/src/throttle.ts +0 -14
  59. package/src/types.ts +0 -5
  60. package/src/until.test.ts +0 -47
  61. package/src/until.ts +0 -58
@@ -1 +1 @@
1
- {"inputs":{"src/callback.ts":{"bytes":1537,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1648,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6550,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/throttle.ts":{"bytes":1288,"imports":[],"format":"esm"},"src/debounce.ts":{"bytes":2389,"imports":[{"path":"src/throttle.ts","kind":"import-statement","original":"./throttle"}],"format":"esm"},"src/errors.ts":{"bytes":2911,"imports":[],"format":"esm"},"src/timeout.ts":{"bytes":7967,"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":39504,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/latch.ts":{"bytes":4375,"imports":[{"path":"@dxos/invariant","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":10232,"imports":[{"path":"src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/observable.ts":{"bytes":17950,"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":6465,"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":15492,"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":12777,"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/sink.ts":{"bytes":1990,"imports":[{"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":4757,"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":5937,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/types.ts":{"bytes":472,"imports":[],"format":"esm"},"src/until.ts":{"bytes":4311,"imports":[],"format":"esm"},"src/update-scheduler.ts":{"bytes":9811,"imports":[{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"src/index.ts":{"bytes":2742,"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/latch.ts","kind":"import-statement","original":"./latch"},{"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/sink.ts","kind":"import-statement","original":"./sink"},{"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/throttle.ts","kind":"import-statement","original":"./throttle"},{"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/types.ts","kind":"import-statement","original":"./types"},{"path":"src/until.ts","kind":"import-statement","original":"./until"},{"path":"src/update-scheduler.ts","kind":"import-statement","original":"./update-scheduler"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":99293},"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/invariant","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/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":["CancellableObservableProvider","DeferredTask","Event","MulticastObservable","Mutex","MutexGuard","Observable","ObservableProvider","PersistentLifecycle","PushStream","SubscriptionList","SubscriptionSet","TestStream","TimeoutError","Timer","Trigger","TriggerState","UpdateScheduler","addEventListener","addListener","asyncChain","asyncReturn","asyncTimeout","combine","createPromiseFromCallback","debounce","debounceAndThrottle","dumpLeaks","interval","latch","makePushIterable","observableError","onEvent","runInContext","runInContextAsync","scheduleExponentialBackoffTaskInterval","scheduleMicroTask","scheduleTask","scheduleTaskInterval","sink","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":191},"src/index.ts":{"bytesInOutput":0},"src/chain.ts":{"bytesInOutput":219},"src/cleanup.ts":{"bytesInOutput":1057},"src/throttle.ts":{"bytesInOutput":198},"src/debounce.ts":{"bytesInOutput":352},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1492},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8711},"src/latch.ts":{"bytesInOutput":987},"src/mutex.ts":{"bytesInOutput":2444},"src/observable.ts":{"bytesInOutput":3699},"src/trigger.ts":{"bytesInOutput":1982},"src/observable-value.ts":{"bytesInOutput":967},"src/persistent-lifecycle.ts":{"bytesInOutput":3504},"src/task-scheduling.ts":{"bytesInOutput":3151},"src/track-leaks.ts":{"bytesInOutput":2136},"src/push-iterable.ts":{"bytesInOutput":1389},"src/sink.ts":{"bytesInOutput":285},"src/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":976},"src/testing.ts":{"bytesInOutput":656},"src/timer.ts":{"bytesInOutput":1056},"src/until.ts":{"bytesInOutput":763},"src/update-scheduler.ts":{"bytesInOutput":1855}},"bytes":41786}}}
1
+ {"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6540,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/debounce.ts":{"bytes":4306,"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":39504,"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":14081,"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":17950,"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":6465,"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":15492,"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":12777,"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":5937,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/update-scheduler.ts":{"bytes":9812,"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":98484},"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":["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","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":557},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1486},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8727},"src/mutex.ts":{"bytesInOutput":2413},"src/observable.ts":{"bytesInOutput":3765},"src/trigger.ts":{"bytesInOutput":3029},"src/observable-value.ts":{"bytesInOutput":968},"src/persistent-lifecycle.ts":{"bytesInOutput":3536},"src/task-scheduling.ts":{"bytesInOutput":3215},"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":1099},"src/update-scheduler.ts":{"bytesInOutput":2015}},"bytes":41742}}}
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
3
  // src/callback.ts
4
- var createPromiseFromCallback = (run) => new Promise((resolve, reject) => {
4
+ var promiseFromCallback = (run) => new Promise((resolve, reject) => {
5
5
  run((error, value) => {
6
6
  if (error) {
7
7
  reject(error);
@@ -12,9 +12,9 @@ var createPromiseFromCallback = (run) => new Promise((resolve, reject) => {
12
12
  });
13
13
 
14
14
  // src/chain.ts
15
- var asyncChain = (chain) => async (elements) => {
15
+ var chain = (chain2) => async (elements) => {
16
16
  let result = await elements;
17
- for (const part of chain) {
17
+ for (const part of chain2) {
18
18
  result = await Promise.all(result.map(async (element) => await part(element)));
19
19
  }
20
20
  return result;
@@ -35,14 +35,12 @@ var interval = (cb, ms) => {
35
35
  const t = setInterval(cb, ms);
36
36
  return () => clearInterval(t);
37
37
  };
38
- function addEventListener(target, type, listener, options) {
38
+ var addEventListener = (target, type, listener, options) => {
39
39
  target.addEventListener(type, listener, options);
40
40
  return () => target.removeEventListener(type, listener, options);
41
- }
41
+ };
42
42
  var SubscriptionList = class {
43
- constructor() {
44
- this._cleanups = [];
45
- }
43
+ _cleanups = [];
46
44
  add(cb) {
47
45
  this._cleanups.push(cb);
48
46
  return this;
@@ -53,6 +51,7 @@ var SubscriptionList = class {
53
51
  }
54
52
  };
55
53
  var SubscriptionSet = class {
54
+ _cleanupMap;
56
55
  constructor(keyProjection) {
57
56
  this._cleanupMap = new ComplexMap(keyProjection);
58
57
  }
@@ -66,29 +65,27 @@ var SubscriptionSet = class {
66
65
  }
67
66
  };
68
67
 
69
- // src/throttle.ts
70
- var throttle = (cb, wait = 100) => {
68
+ // src/debounce.ts
69
+ var debounce = (cb, delay = 100) => {
70
+ let t;
71
+ return (...args) => {
72
+ clearTimeout(t);
73
+ t = setTimeout(() => cb(...args), delay);
74
+ };
75
+ };
76
+ var throttle = (cb, delay = 100) => {
71
77
  let lastCall = 0;
72
78
  return (...args) => {
73
79
  const now = Date.now();
74
- if (now - lastCall >= wait) {
80
+ if (now - lastCall >= delay) {
75
81
  cb(...args);
76
82
  lastCall = now;
77
83
  }
78
84
  };
79
85
  };
80
-
81
- // src/debounce.ts
82
- var debounce = (cb, wait = 100) => {
83
- let t;
84
- return (...args) => {
85
- clearTimeout(t);
86
- t = setTimeout(() => cb(...args), wait);
87
- };
88
- };
89
- var debounceAndThrottle = (cb, wait = 100) => {
90
- const debounced = debounce(cb, wait);
91
- const throttled = throttle(cb, wait);
86
+ var debounceAndThrottle = (cb, delay = 100) => {
87
+ const debounced = debounce(cb, delay);
88
+ const throttled = throttle(cb, delay);
92
89
  return (...args) => {
93
90
  debounced(...args);
94
91
  throttled(...args);
@@ -126,6 +123,23 @@ var sleep = (ms) => {
126
123
  sleeper();
127
124
  });
128
125
  };
126
+ var sleepWithContext = (ctx, ms) => {
127
+ const error = new ContextDisposedError();
128
+ return new Promise((resolve, reject) => {
129
+ if (ctx.disposed) {
130
+ reject(error);
131
+ return;
132
+ }
133
+ const timeout2 = setTimeout(() => {
134
+ clearDispose();
135
+ resolve();
136
+ }, ms);
137
+ const clearDispose = ctx.onDispose(() => {
138
+ clearTimeout(timeout2);
139
+ reject(error);
140
+ });
141
+ });
142
+ };
129
143
  var asyncReturn = () => sleep(0);
130
144
  var asyncTimeout = async (promise, timeout2, err) => {
131
145
  let timeoutId;
@@ -136,7 +150,7 @@ var asyncTimeout = async (promise, timeout2, err) => {
136
150
  }, timeout2);
137
151
  unrefTimeout(timeoutId);
138
152
  });
139
- const conditionTimeout = typeof promise === "function" ? createPromiseFromCallback(promise) : promise;
153
+ const conditionTimeout = typeof promise === "function" ? promiseFromCallback(promise) : promise;
140
154
  return await Promise.race([
141
155
  conditionTimeout,
142
156
  timeoutPromise
@@ -149,23 +163,6 @@ var unrefTimeout = (timeoutId) => {
149
163
  timeoutId.unref();
150
164
  }
151
165
  };
152
- var sleepWithContext = (ctx, ms) => {
153
- const error = new ContextDisposedError();
154
- return new Promise((resolve, reject) => {
155
- if (ctx.disposed) {
156
- reject(error);
157
- return;
158
- }
159
- const timeout2 = setTimeout(() => {
160
- clearDispose();
161
- resolve();
162
- }, ms);
163
- const clearDispose = ctx.onDispose(() => {
164
- clearTimeout(timeout2);
165
- reject(error);
166
- });
167
- });
168
- };
169
166
 
170
167
  // src/event-emitter.ts
171
168
  var onEvent = (eventEmitter, eventName, callback) => {
@@ -195,10 +192,6 @@ import { Context } from "@dxos/context";
195
192
  var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
196
193
  var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
197
194
  var Event = class _Event {
198
- constructor() {
199
- this._listeners = /* @__PURE__ */ new Set();
200
- this._effects = /* @__PURE__ */ new Set();
201
- }
202
195
  /**
203
196
  * Wrap objects that have on/off style event emitters.
204
197
  */
@@ -211,6 +204,8 @@ var Event = class _Event {
211
204
  });
212
205
  return event;
213
206
  }
207
+ _listeners = /* @__PURE__ */ new Set();
208
+ _effects = /* @__PURE__ */ new Set();
214
209
  /**
215
210
  * Emit an event.
216
211
  * In most cases should only be called by the class or entity containing the event.
@@ -454,6 +449,11 @@ var Event = class _Event {
454
449
  }
455
450
  };
456
451
  var EventListener = class {
452
+ ctx;
453
+ once;
454
+ weak;
455
+ callback;
456
+ _clearDispose;
457
457
  constructor(event, listener, ctx, once, weak) {
458
458
  this.ctx = ctx;
459
459
  this.once = once;
@@ -518,65 +518,13 @@ var weakListeners = () => {
518
518
  };
519
519
  };
520
520
 
521
- // src/latch.ts
522
- import { invariant } from "@dxos/invariant";
523
- var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/latch.ts";
524
- var latch = ({ count = 1, timeout: timeout2 } = {}) => {
525
- invariant(count >= 0, void 0, {
526
- F: __dxlog_file2,
527
- L: 19,
528
- S: void 0,
529
- A: [
530
- "count >= 0",
531
- ""
532
- ]
533
- });
534
- let t;
535
- let doResolve;
536
- let doReject;
537
- const promise = new Promise((resolve, reject) => {
538
- doResolve = (value) => {
539
- clearTimeout(t);
540
- resolve(value);
541
- };
542
- doReject = (err) => {
543
- clearTimeout(t);
544
- reject(err);
545
- };
546
- });
547
- if (count === 0) {
548
- setTimeout(() => {
549
- doResolve(0);
550
- });
551
- } else {
552
- if (timeout2) {
553
- t = setTimeout(() => {
554
- doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
555
- }, timeout2);
556
- }
557
- }
558
- let i = 0;
559
- return [
560
- async () => await promise,
561
- () => {
562
- if (++i === count) {
563
- doResolve(i);
564
- }
565
- return i;
566
- },
567
- (err) => doReject(err)
568
- ];
569
- };
570
-
571
521
  // src/mutex.ts
572
522
  import "@dxos/util";
573
523
  import { warnAfterTimeout } from "@dxos/debug";
574
524
  var Mutex = class {
575
- constructor() {
576
- this._queue = Promise.resolve();
577
- this._queueLength = 0;
578
- this._tag = null;
579
- }
525
+ _queue = Promise.resolve();
526
+ _queueLength = 0;
527
+ _tag = null;
580
528
  get tag() {
581
529
  return this._tag;
582
530
  }
@@ -622,6 +570,7 @@ var Mutex = class {
622
570
  }
623
571
  };
624
572
  var MutexGuard = class {
573
+ _release;
625
574
  constructor(_release) {
626
575
  this._release = _release;
627
576
  }
@@ -665,6 +614,8 @@ import Observable from "zen-observable";
665
614
  import PushStream from "zen-push";
666
615
 
667
616
  // src/trigger.ts
617
+ import { invariant } from "@dxos/invariant";
618
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
668
619
  var trigger = (timeout2) => {
669
620
  let callback;
670
621
  const promise = new Promise((resolve, reject) => {
@@ -687,6 +638,11 @@ var TriggerState = /* @__PURE__ */ function(TriggerState2) {
687
638
  return TriggerState2;
688
639
  }({});
689
640
  var Trigger = class {
641
+ _options;
642
+ _promise;
643
+ _resolve;
644
+ _reject;
645
+ _state;
690
646
  constructor(_options = {
691
647
  autoReset: false
692
648
  }) {
@@ -751,9 +707,59 @@ var Trigger = class {
751
707
  return this;
752
708
  }
753
709
  };
710
+ var latch = ({ count = 1, timeout: timeout2 } = {}) => {
711
+ invariant(count >= 0, void 0, {
712
+ F: __dxlog_file2,
713
+ L: 139,
714
+ S: void 0,
715
+ A: [
716
+ "count >= 0",
717
+ ""
718
+ ]
719
+ });
720
+ let t;
721
+ let doResolve;
722
+ let doReject;
723
+ const promise = new Promise((resolve, reject) => {
724
+ doResolve = (value) => {
725
+ clearTimeout(t);
726
+ resolve(value);
727
+ };
728
+ doReject = (err) => {
729
+ clearTimeout(t);
730
+ reject(err);
731
+ };
732
+ });
733
+ if (count === 0) {
734
+ setTimeout(() => {
735
+ doResolve(0);
736
+ });
737
+ } else {
738
+ if (timeout2) {
739
+ t = setTimeout(() => {
740
+ doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
741
+ }, timeout2);
742
+ }
743
+ }
744
+ let i = 0;
745
+ return [
746
+ async () => await promise,
747
+ () => {
748
+ if (++i === count) {
749
+ doResolve(i);
750
+ }
751
+ return i;
752
+ },
753
+ (err) => doReject(err)
754
+ ];
755
+ };
754
756
 
755
757
  // src/observable.ts
756
758
  var MulticastObservable = class _MulticastObservable extends Observable {
759
+ _value;
760
+ _observers;
761
+ _observable;
762
+ _completed;
757
763
  constructor(subscriber, _value) {
758
764
  super((observer) => this._subscribe(observer)), this._value = _value, this._observers = /* @__PURE__ */ new Set(), this._completed = new Trigger(), this._handlers = {
759
765
  next: (value) => {
@@ -851,18 +857,18 @@ var MulticastObservable = class _MulticastObservable extends Observable {
851
857
  this._observers.delete(observer);
852
858
  };
853
859
  }
860
+ _handlers;
854
861
  };
855
862
  var EMPTY_OBSERVABLE = MulticastObservable.of(null);
856
863
 
857
864
  // src/observable-value.ts
858
865
  import { createSetDispatch } from "@dxos/util";
859
866
  var ObservableProvider = class {
860
- constructor() {
861
- this._handlers = /* @__PURE__ */ new Set();
862
- this._proxy = createSetDispatch({
863
- handlers: this._handlers
864
- });
865
- }
867
+ _handlers = /* @__PURE__ */ new Set();
868
+ _proxy = createSetDispatch({
869
+ handlers: this._handlers
870
+ });
871
+ _value;
866
872
  /**
867
873
  * Proxy used to dispatch callbacks to each subscription.
868
874
  */
@@ -883,6 +889,8 @@ var ObservableProvider = class {
883
889
  }
884
890
  };
885
891
  var CancellableObservableProvider = class extends ObservableProvider {
892
+ _handleCancel;
893
+ _cancelled;
886
894
  constructor(_handleCancel) {
887
895
  super(), this._handleCancel = _handleCancel, this._cancelled = false;
888
896
  }
@@ -994,6 +1002,11 @@ if (enabled) {
994
1002
 
995
1003
  // src/task-scheduling.ts
996
1004
  var DeferredTask = class {
1005
+ _ctx;
1006
+ _callback;
1007
+ _scheduled;
1008
+ _currentTask;
1009
+ _nextTask;
997
1010
  constructor(_ctx, _callback) {
998
1011
  this._ctx = _ctx;
999
1012
  this._callback = _callback;
@@ -1129,11 +1142,15 @@ var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecyc
1129
1142
  var INIT_RESTART_DELAY = 100;
1130
1143
  var DEFAULT_MAX_RESTART_DELAY = 5e3;
1131
1144
  var PersistentLifecycle = class extends Resource {
1145
+ _start;
1146
+ _stop;
1147
+ _onRestart;
1148
+ _maxRestartDelay;
1149
+ _currentState = void 0;
1150
+ _restartTask = void 0;
1151
+ _restartAfter = 0;
1132
1152
  constructor({ start, stop, onRestart, maxRestartDelay = DEFAULT_MAX_RESTART_DELAY }) {
1133
1153
  super();
1134
- this._currentState = void 0;
1135
- this._restartTask = void 0;
1136
- this._restartAfter = 0;
1137
1154
  this._start = start;
1138
1155
  this._stop = stop;
1139
1156
  this._onRestart = onRestart;
@@ -1295,20 +1312,6 @@ var makePushIterable = () => {
1295
1312
  };
1296
1313
  };
1297
1314
 
1298
- // src/sink.ts
1299
- var sink = (emitter, event, count = 1) => {
1300
- const [getPromise, resolve] = trigger();
1301
- let counter = 0;
1302
- const listener = () => {
1303
- if (++counter === count) {
1304
- emitter.off(event, listener);
1305
- resolve();
1306
- }
1307
- };
1308
- emitter.on(event, listener);
1309
- return getPromise();
1310
- };
1311
-
1312
1315
  // src/stream-to-array.ts
1313
1316
  var streamToArray = (stream) => {
1314
1317
  let deferred;
@@ -1354,11 +1357,6 @@ var streamToArray = (stream) => {
1354
1357
  // src/test-stream.ts
1355
1358
  import { Duplex } from "node:stream";
1356
1359
  var TestStream = class extends Duplex {
1357
- constructor() {
1358
- super(...arguments);
1359
- this._received = Buffer.alloc(0);
1360
- this._onWrite = new Event();
1361
- }
1362
1360
  static async assertConnectivity(stream1, stream2, { timeout: timeout2 = 200 } = {}) {
1363
1361
  stream1.push("ping");
1364
1362
  stream2.push("pong");
@@ -1371,6 +1369,8 @@ var TestStream = class extends Duplex {
1371
1369
  })
1372
1370
  ]);
1373
1371
  }
1372
+ _received = Buffer.alloc(0);
1373
+ _onWrite = new Event();
1374
1374
  _write(chunk, encoding, callback) {
1375
1375
  this._received = Buffer.concat([
1376
1376
  this._received,
@@ -1412,9 +1412,46 @@ var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2
1412
1412
  timeout: timeout2
1413
1413
  });
1414
1414
  };
1415
+ var until = (cb, timeout2) => {
1416
+ return new Promise((resolve, reject) => {
1417
+ const t = timeout2 && setTimeout(() => {
1418
+ reject(new Error(`Timeout after ${t}ms`));
1419
+ }, timeout2);
1420
+ setTimeout(async () => {
1421
+ try {
1422
+ await cb((value) => {
1423
+ t && clearTimeout(t);
1424
+ resolve(value);
1425
+ }, (error) => {
1426
+ t && clearTimeout(t);
1427
+ reject(error);
1428
+ });
1429
+ } catch (err) {
1430
+ reject(err);
1431
+ }
1432
+ });
1433
+ });
1434
+ };
1435
+ var untilPromise = (cb) => cb();
1436
+ var untilError = (cb) => {
1437
+ return new Promise((resolve, reject) => {
1438
+ setTimeout(async () => {
1439
+ try {
1440
+ await cb();
1441
+ reject(new Error("No error was thrown."));
1442
+ } catch (err) {
1443
+ resolve(err);
1444
+ }
1445
+ });
1446
+ });
1447
+ };
1415
1448
 
1416
1449
  // src/timer.ts
1417
1450
  var Timer = class {
1451
+ _callback;
1452
+ _state;
1453
+ _timer;
1454
+ _count;
1418
1455
  constructor(_callback) {
1419
1456
  this._callback = _callback;
1420
1457
  this._state = new Event();
@@ -1461,44 +1498,19 @@ var Timer = class {
1461
1498
  }
1462
1499
  };
1463
1500
 
1464
- // src/until.ts
1465
- var until = (cb, timeout2) => {
1466
- return new Promise((resolve, reject) => {
1467
- const t = timeout2 && setTimeout(() => {
1468
- reject(new Error(`Timeout after ${t}ms`));
1469
- }, timeout2);
1470
- setTimeout(async () => {
1471
- try {
1472
- await cb((value) => {
1473
- t && clearTimeout(t);
1474
- resolve(value);
1475
- }, (error) => {
1476
- t && clearTimeout(t);
1477
- reject(error);
1478
- });
1479
- } catch (err) {
1480
- reject(err);
1481
- }
1482
- });
1483
- });
1484
- };
1485
- var untilPromise = (cb) => cb();
1486
- var untilError = (cb) => {
1487
- return new Promise((resolve, reject) => {
1488
- setTimeout(async () => {
1489
- try {
1490
- await cb();
1491
- reject(new Error("No error was thrown."));
1492
- } catch (err) {
1493
- resolve(err);
1494
- }
1495
- });
1496
- });
1497
- };
1498
-
1499
1501
  // src/update-scheduler.ts
1500
1502
  var TIME_PERIOD = 1e3;
1501
1503
  var UpdateScheduler = class {
1504
+ _ctx;
1505
+ _callback;
1506
+ _params;
1507
+ /**
1508
+ * Promise that resolves when the callback is done.
1509
+ * Never rejects.
1510
+ */
1511
+ _promise;
1512
+ _scheduled;
1513
+ _lastUpdateTime;
1502
1514
  constructor(_ctx, _callback, _params = {}) {
1503
1515
  this._ctx = _ctx;
1504
1516
  this._callback = _callback;
@@ -1588,11 +1600,10 @@ export {
1588
1600
  UpdateScheduler,
1589
1601
  addEventListener,
1590
1602
  addListener,
1591
- asyncChain,
1592
1603
  asyncReturn,
1593
1604
  asyncTimeout,
1605
+ chain,
1594
1606
  combine,
1595
- createPromiseFromCallback,
1596
1607
  debounce,
1597
1608
  debounceAndThrottle,
1598
1609
  dumpLeaks,
@@ -1601,13 +1612,13 @@ export {
1601
1612
  makePushIterable,
1602
1613
  observableError,
1603
1614
  onEvent,
1615
+ promiseFromCallback,
1604
1616
  runInContext,
1605
1617
  runInContextAsync,
1606
1618
  scheduleExponentialBackoffTaskInterval,
1607
1619
  scheduleMicroTask,
1608
1620
  scheduleTask,
1609
1621
  scheduleTaskInterval,
1610
- sink,
1611
1622
  sleep,
1612
1623
  sleepWithContext,
1613
1624
  streamToArray,