@dxos/async 0.8.4-main.84f28bd → 0.8.4-main.c1de068

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 (58) hide show
  1. package/dist/lib/browser/index.mjs +119 -140
  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 +119 -140
  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/testing.d.ts +13 -0
  18. package/dist/types/src/testing.d.ts.map +1 -1
  19. package/dist/types/src/timeout.d.ts +1 -1
  20. package/dist/types/src/timeout.d.ts.map +1 -1
  21. package/dist/types/src/trigger.d.ts +11 -0
  22. package/dist/types/src/trigger.d.ts.map +1 -1
  23. package/dist/types/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +7 -7
  25. package/src/callback.ts +3 -3
  26. package/src/chain.ts +1 -1
  27. package/src/cleanup.ts +3 -3
  28. package/src/debounce.test.ts +69 -12
  29. package/src/debounce.ts +32 -11
  30. package/src/event-emitter.test.ts +1 -1
  31. package/src/index.ts +0 -5
  32. package/src/observable-value.test.ts +1 -1
  33. package/src/testing.test.ts +41 -1
  34. package/src/testing.ts +53 -0
  35. package/src/timeout.ts +23 -22
  36. package/src/trigger.ts +58 -1
  37. package/src/update-scheduler.ts +1 -1
  38. package/dist/types/src/latch.d.ts +0 -11
  39. package/dist/types/src/latch.d.ts.map +0 -1
  40. package/dist/types/src/sink.d.ts +0 -6
  41. package/dist/types/src/sink.d.ts.map +0 -1
  42. package/dist/types/src/throttle.d.ts +0 -2
  43. package/dist/types/src/throttle.d.ts.map +0 -1
  44. package/dist/types/src/throttle.test.d.ts +0 -2
  45. package/dist/types/src/throttle.test.d.ts.map +0 -1
  46. package/dist/types/src/types.d.ts +0 -2
  47. package/dist/types/src/types.d.ts.map +0 -1
  48. package/dist/types/src/until.d.ts +0 -14
  49. package/dist/types/src/until.d.ts.map +0 -1
  50. package/dist/types/src/until.test.d.ts +0 -2
  51. package/dist/types/src/until.test.d.ts.map +0 -1
  52. package/src/latch.ts +0 -60
  53. package/src/sink.ts +0 -26
  54. package/src/throttle.test.ts +0 -65
  55. package/src/throttle.ts +0 -14
  56. package/src/types.ts +0 -5
  57. package/src/until.test.ts +0 -47
  58. 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":98361},"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":1059},"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":8711},"src/mutex.ts":{"bytesInOutput":2444},"src/observable.ts":{"bytesInOutput":3699},"src/trigger.ts":{"bytesInOutput":2972},"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/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":976},"src/testing.ts":{"bytesInOutput":1419},"src/timer.ts":{"bytesInOutput":1056},"src/update-scheduler.ts":{"bytesInOutput":1855}},"bytes":41409}}}
@@ -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,10 +35,10 @@ 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
43
  constructor() {
44
44
  this._cleanups = [];
@@ -66,29 +66,27 @@ var SubscriptionSet = class {
66
66
  }
67
67
  };
68
68
 
69
- // src/throttle.ts
70
- var throttle = (cb, wait = 100) => {
69
+ // src/debounce.ts
70
+ var debounce = (cb, delay = 100) => {
71
+ let t;
72
+ return (...args) => {
73
+ clearTimeout(t);
74
+ t = setTimeout(() => cb(...args), delay);
75
+ };
76
+ };
77
+ var throttle = (cb, delay = 100) => {
71
78
  let lastCall = 0;
72
79
  return (...args) => {
73
80
  const now = Date.now();
74
- if (now - lastCall >= wait) {
81
+ if (now - lastCall >= delay) {
75
82
  cb(...args);
76
83
  lastCall = now;
77
84
  }
78
85
  };
79
86
  };
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);
87
+ var debounceAndThrottle = (cb, delay = 100) => {
88
+ const debounced = debounce(cb, delay);
89
+ const throttled = throttle(cb, delay);
92
90
  return (...args) => {
93
91
  debounced(...args);
94
92
  throttled(...args);
@@ -126,6 +124,23 @@ var sleep = (ms) => {
126
124
  sleeper();
127
125
  });
128
126
  };
127
+ var sleepWithContext = (ctx, ms) => {
128
+ const error = new ContextDisposedError();
129
+ return new Promise((resolve, reject) => {
130
+ if (ctx.disposed) {
131
+ reject(error);
132
+ return;
133
+ }
134
+ const timeout2 = setTimeout(() => {
135
+ clearDispose();
136
+ resolve();
137
+ }, ms);
138
+ const clearDispose = ctx.onDispose(() => {
139
+ clearTimeout(timeout2);
140
+ reject(error);
141
+ });
142
+ });
143
+ };
129
144
  var asyncReturn = () => sleep(0);
130
145
  var asyncTimeout = async (promise, timeout2, err) => {
131
146
  let timeoutId;
@@ -136,7 +151,7 @@ var asyncTimeout = async (promise, timeout2, err) => {
136
151
  }, timeout2);
137
152
  unrefTimeout(timeoutId);
138
153
  });
139
- const conditionTimeout = typeof promise === "function" ? createPromiseFromCallback(promise) : promise;
154
+ const conditionTimeout = typeof promise === "function" ? promiseFromCallback(promise) : promise;
140
155
  return await Promise.race([
141
156
  conditionTimeout,
142
157
  timeoutPromise
@@ -149,23 +164,6 @@ var unrefTimeout = (timeoutId) => {
149
164
  timeoutId.unref();
150
165
  }
151
166
  };
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
167
 
170
168
  // src/event-emitter.ts
171
169
  var onEvent = (eventEmitter, eventName, callback) => {
@@ -518,56 +516,6 @@ var weakListeners = () => {
518
516
  };
519
517
  };
520
518
 
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
519
  // src/mutex.ts
572
520
  import "@dxos/util";
573
521
  import { warnAfterTimeout } from "@dxos/debug";
@@ -665,6 +613,8 @@ import Observable from "zen-observable";
665
613
  import PushStream from "zen-push";
666
614
 
667
615
  // src/trigger.ts
616
+ import { invariant } from "@dxos/invariant";
617
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
668
618
  var trigger = (timeout2) => {
669
619
  let callback;
670
620
  const promise = new Promise((resolve, reject) => {
@@ -751,6 +701,52 @@ var Trigger = class {
751
701
  return this;
752
702
  }
753
703
  };
704
+ var latch = ({ count = 1, timeout: timeout2 } = {}) => {
705
+ invariant(count >= 0, void 0, {
706
+ F: __dxlog_file2,
707
+ L: 139,
708
+ S: void 0,
709
+ A: [
710
+ "count >= 0",
711
+ ""
712
+ ]
713
+ });
714
+ let t;
715
+ let doResolve;
716
+ let doReject;
717
+ const promise = new Promise((resolve, reject) => {
718
+ doResolve = (value) => {
719
+ clearTimeout(t);
720
+ resolve(value);
721
+ };
722
+ doReject = (err) => {
723
+ clearTimeout(t);
724
+ reject(err);
725
+ };
726
+ });
727
+ if (count === 0) {
728
+ setTimeout(() => {
729
+ doResolve(0);
730
+ });
731
+ } else {
732
+ if (timeout2) {
733
+ t = setTimeout(() => {
734
+ doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
735
+ }, timeout2);
736
+ }
737
+ }
738
+ let i = 0;
739
+ return [
740
+ async () => await promise,
741
+ () => {
742
+ if (++i === count) {
743
+ doResolve(i);
744
+ }
745
+ return i;
746
+ },
747
+ (err) => doReject(err)
748
+ ];
749
+ };
754
750
 
755
751
  // src/observable.ts
756
752
  var MulticastObservable = class _MulticastObservable extends Observable {
@@ -1295,20 +1291,6 @@ var makePushIterable = () => {
1295
1291
  };
1296
1292
  };
1297
1293
 
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
1294
  // src/stream-to-array.ts
1313
1295
  var streamToArray = (stream) => {
1314
1296
  let deferred;
@@ -1412,6 +1394,39 @@ var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2
1412
1394
  timeout: timeout2
1413
1395
  });
1414
1396
  };
1397
+ var until = (cb, timeout2) => {
1398
+ return new Promise((resolve, reject) => {
1399
+ const t = timeout2 && setTimeout(() => {
1400
+ reject(new Error(`Timeout after ${t}ms`));
1401
+ }, timeout2);
1402
+ setTimeout(async () => {
1403
+ try {
1404
+ await cb((value) => {
1405
+ t && clearTimeout(t);
1406
+ resolve(value);
1407
+ }, (error) => {
1408
+ t && clearTimeout(t);
1409
+ reject(error);
1410
+ });
1411
+ } catch (err) {
1412
+ reject(err);
1413
+ }
1414
+ });
1415
+ });
1416
+ };
1417
+ var untilPromise = (cb) => cb();
1418
+ var untilError = (cb) => {
1419
+ return new Promise((resolve, reject) => {
1420
+ setTimeout(async () => {
1421
+ try {
1422
+ await cb();
1423
+ reject(new Error("No error was thrown."));
1424
+ } catch (err) {
1425
+ resolve(err);
1426
+ }
1427
+ });
1428
+ });
1429
+ };
1415
1430
 
1416
1431
  // src/timer.ts
1417
1432
  var Timer = class {
@@ -1461,41 +1476,6 @@ var Timer = class {
1461
1476
  }
1462
1477
  };
1463
1478
 
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
1479
  // src/update-scheduler.ts
1500
1480
  var TIME_PERIOD = 1e3;
1501
1481
  var UpdateScheduler = class {
@@ -1588,11 +1568,10 @@ export {
1588
1568
  UpdateScheduler,
1589
1569
  addEventListener,
1590
1570
  addListener,
1591
- asyncChain,
1592
1571
  asyncReturn,
1593
1572
  asyncTimeout,
1573
+ chain,
1594
1574
  combine,
1595
- createPromiseFromCallback,
1596
1575
  debounce,
1597
1576
  debounceAndThrottle,
1598
1577
  dumpLeaks,
@@ -1601,13 +1580,13 @@ export {
1601
1580
  makePushIterable,
1602
1581
  observableError,
1603
1582
  onEvent,
1583
+ promiseFromCallback,
1604
1584
  runInContext,
1605
1585
  runInContextAsync,
1606
1586
  scheduleExponentialBackoffTaskInterval,
1607
1587
  scheduleMicroTask,
1608
1588
  scheduleTask,
1609
1589
  scheduleTaskInterval,
1610
- sink,
1611
1590
  sleep,
1612
1591
  sleepWithContext,
1613
1592
  streamToArray,