@dxos/async 0.8.3 → 0.8.4-main.1068cf700f

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 (65) hide show
  1. package/dist/lib/browser/index.mjs +346 -218
  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 +346 -218
  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 +3 -2
  12. package/dist/types/src/cleanup.d.ts.map +1 -1
  13. package/dist/types/src/debounce.d.ts +34 -1
  14. package/dist/types/src/debounce.d.ts.map +1 -1
  15. package/dist/types/src/debounce.test.d.ts +2 -0
  16. package/dist/types/src/debounce.test.d.ts.map +1 -0
  17. package/dist/types/src/index.d.ts +0 -4
  18. package/dist/types/src/index.d.ts.map +1 -1
  19. package/dist/types/src/persistent-lifecycle.d.ts +2 -2
  20. package/dist/types/src/persistent-lifecycle.d.ts.map +1 -1
  21. package/dist/types/src/task-scheduling.d.ts +29 -1
  22. package/dist/types/src/task-scheduling.d.ts.map +1 -1
  23. package/dist/types/src/testing.d.ts +13 -0
  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/trigger.d.ts +11 -0
  28. package/dist/types/src/trigger.d.ts.map +1 -1
  29. package/dist/types/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +13 -9
  31. package/src/callback.ts +3 -3
  32. package/src/chain.ts +1 -1
  33. package/src/cleanup.ts +6 -5
  34. package/src/debounce.test.ts +115 -0
  35. package/src/debounce.ts +88 -4
  36. package/src/event-emitter.test.ts +2 -1
  37. package/src/events.test.ts +1 -1
  38. package/src/index.ts +0 -4
  39. package/src/observable-value.test.ts +1 -1
  40. package/src/persistent-lifecycle.test.ts +1 -1
  41. package/src/persistent-lifecycle.ts +2 -2
  42. package/src/task-scheduling.ts +95 -1
  43. package/src/testing.test.ts +41 -1
  44. package/src/testing.ts +53 -0
  45. package/src/timeout.ts +23 -22
  46. package/src/trigger.ts +58 -1
  47. package/src/update-scheduler.ts +1 -1
  48. package/dist/lib/node/index.cjs +0 -1638
  49. package/dist/lib/node/index.cjs.map +0 -7
  50. package/dist/lib/node/meta.json +0 -1
  51. package/dist/types/src/latch.d.ts +0 -11
  52. package/dist/types/src/latch.d.ts.map +0 -1
  53. package/dist/types/src/sink.d.ts +0 -6
  54. package/dist/types/src/sink.d.ts.map +0 -1
  55. package/dist/types/src/types.d.ts +0 -2
  56. package/dist/types/src/types.d.ts.map +0 -1
  57. package/dist/types/src/until.d.ts +0 -14
  58. package/dist/types/src/until.d.ts.map +0 -1
  59. package/dist/types/src/until.test.d.ts +0 -2
  60. package/dist/types/src/until.test.d.ts.map +0 -1
  61. package/src/latch.ts +0 -60
  62. package/src/sink.ts +0 -26
  63. package/src/types.ts +0 -5
  64. package/src/until.test.ts +0 -47
  65. package/src/until.ts +0 -58
@@ -1 +1 @@
1
- {"inputs":{"packages/common/async/src/callback.ts":{"bytes":1550,"imports":[],"format":"esm"},"packages/common/async/src/chain.ts":{"bytes":1661,"imports":[],"format":"esm"},"packages/common/async/src/cleanup.ts":{"bytes":6563,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/debounce.ts":{"bytes":1235,"imports":[],"format":"esm"},"packages/common/async/src/errors.ts":{"bytes":2924,"imports":[],"format":"esm"},"packages/common/async/src/timeout.ts":{"bytes":7980,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"packages/common/async/src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"packages/common/async/src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"packages/common/async/src/event-emitter.ts":{"bytes":4168,"imports":[{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"packages/common/async/src/events.ts":{"bytes":39517,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/latch.ts":{"bytes":4388,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/mutex.ts":{"bytes":12660,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/trigger.ts":{"bytes":10245,"imports":[{"path":"packages/common/async/src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"packages/common/async/src/observable.ts":{"bytes":17963,"imports":[{"path":"zen-observable","kind":"import-statement","external":true},{"path":"zen-push","kind":"import-statement","external":true},{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/observable-value.ts":{"bytes":6478,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/track-leaks.ts":{"bytes":8427,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/task-scheduling.ts":{"bytes":15505,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/common/async/src/track-leaks.ts","kind":"import-statement","original":"./track-leaks"},{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/persistent-lifecycle.ts":{"bytes":12790,"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":"packages/common/async/src/mutex.ts","kind":"import-statement","original":"./mutex"},{"path":"packages/common/async/src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"},{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"packages/common/async/src/push-iterable.ts":{"bytes":5935,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/sink.ts":{"bytes":2003,"imports":[{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/stream-to-array.ts":{"bytes":4948,"imports":[],"format":"esm"},"packages/common/async/src/test-stream.ts":{"bytes":5051,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"packages/common/async/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"packages/common/async/src/testing.ts":{"bytes":4770,"imports":[{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"},{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/timer.ts":{"bytes":5950,"imports":[{"path":"packages/common/async/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/common/async/src/types.ts":{"bytes":485,"imports":[],"format":"esm"},"packages/common/async/src/until.ts":{"bytes":4324,"imports":[],"format":"esm"},"packages/common/async/src/update-scheduler.ts":{"bytes":9824,"imports":[{"path":"packages/common/async/src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"packages/common/async/src/index.ts":{"bytes":2667,"imports":[{"path":"packages/common/async/src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"packages/common/async/src/chain.ts","kind":"import-statement","original":"./chain"},{"path":"packages/common/async/src/cleanup.ts","kind":"import-statement","original":"./cleanup"},{"path":"packages/common/async/src/debounce.ts","kind":"import-statement","original":"./debounce"},{"path":"packages/common/async/src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/common/async/src/event-emitter.ts","kind":"import-statement","original":"./event-emitter"},{"path":"packages/common/async/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/common/async/src/latch.ts","kind":"import-statement","original":"./latch"},{"path":"packages/common/async/src/mutex.ts","kind":"import-statement","original":"./mutex"},{"path":"packages/common/async/src/observable.ts","kind":"import-statement","original":"./observable"},{"path":"packages/common/async/src/observable-value.ts","kind":"import-statement","original":"./observable-value"},{"path":"packages/common/async/src/persistent-lifecycle.ts","kind":"import-statement","original":"./persistent-lifecycle"},{"path":"packages/common/async/src/push-iterable.ts","kind":"import-statement","original":"./push-iterable"},{"path":"packages/common/async/src/sink.ts","kind":"import-statement","original":"./sink"},{"path":"packages/common/async/src/stream-to-array.ts","kind":"import-statement","original":"./stream-to-array"},{"path":"packages/common/async/src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"},{"path":"packages/common/async/src/test-stream.ts","kind":"import-statement","original":"./test-stream"},{"path":"packages/common/async/src/testing.ts","kind":"import-statement","original":"./testing"},{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"},{"path":"packages/common/async/src/timer.ts","kind":"import-statement","original":"./timer"},{"path":"packages/common/async/src/track-leaks.ts","kind":"import-statement","original":"./track-leaks"},{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"},{"path":"packages/common/async/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/common/async/src/until.ts","kind":"import-statement","original":"./until"},{"path":"packages/common/async/src/update-scheduler.ts","kind":"import-statement","original":"./update-scheduler"}],"format":"esm"}},"outputs":{"packages/common/async/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":98062},"packages/common/async/dist/lib/node-esm/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":"node: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","dumpLeaks","interval","latch","makePushIterable","observableError","onEvent","runInContext","runInContextAsync","scheduleExponentialBackoffTaskInterval","scheduleMicroTask","scheduleTask","scheduleTaskInterval","sink","sleep","sleepWithContext","streamToArray","synchronized","timeout","toError","trackLeaks","trackResource","trigger","unrefTimeout","until","untilError","untilPromise","waitForCondition","waitForEvent"],"entryPoint":"packages/common/async/src/index.ts","inputs":{"packages/common/async/src/callback.ts":{"bytesInOutput":191},"packages/common/async/src/index.ts":{"bytesInOutput":0},"packages/common/async/src/chain.ts":{"bytesInOutput":219},"packages/common/async/src/cleanup.ts":{"bytesInOutput":1057},"packages/common/async/src/debounce.ts":{"bytesInOutput":144},"packages/common/async/src/errors.ts":{"bytesInOutput":476},"packages/common/async/src/timeout.ts":{"bytesInOutput":1492},"packages/common/async/src/event-emitter.ts":{"bytesInOutput":697},"packages/common/async/src/events.ts":{"bytesInOutput":8724},"packages/common/async/src/latch.ts":{"bytesInOutput":1000},"packages/common/async/src/mutex.ts":{"bytesInOutput":2444},"packages/common/async/src/observable.ts":{"bytesInOutput":3699},"packages/common/async/src/trigger.ts":{"bytesInOutput":1982},"packages/common/async/src/observable-value.ts":{"bytesInOutput":967},"packages/common/async/src/persistent-lifecycle.ts":{"bytesInOutput":3517},"packages/common/async/src/task-scheduling.ts":{"bytesInOutput":3151},"packages/common/async/src/track-leaks.ts":{"bytesInOutput":2149},"packages/common/async/src/push-iterable.ts":{"bytesInOutput":1402},"packages/common/async/src/sink.ts":{"bytesInOutput":285},"packages/common/async/src/stream-to-array.ts":{"bytesInOutput":967},"packages/common/async/src/test-stream.ts":{"bytesInOutput":966},"packages/common/async/src/testing.ts":{"bytesInOutput":656},"packages/common/async/src/timer.ts":{"bytesInOutput":1056},"packages/common/async/src/until.ts":{"bytesInOutput":763},"packages/common/async/src/update-scheduler.ts":{"bytesInOutput":1855}},"bytes":42067}}}
1
+ {"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6657,"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":23503,"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":"node: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/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":103915},"dist/lib/node-esm/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":"node: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":1051},"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":5099},"src/track-leaks.ts":{"bytesInOutput":2136},"src/push-iterable.ts":{"bytesInOutput":1389},"src/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":905},"src/testing.ts":{"bytesInOutput":1419},"src/timer.ts":{"bytesInOutput":1065},"src/update-scheduler.ts":{"bytesInOutput":1952}},"bytes":43985}}}
@@ -1,5 +1,6 @@
1
+ export type Awaited<T> = T extends Promise<infer U> ? U : T;
1
2
  /**
2
3
  * Helper to convert a callback based API into a promise based API.
3
4
  */
4
- export declare const createPromiseFromCallback: <T = void>(run: (cb: (error?: Error, value?: T) => void) => void) => Promise<T>;
5
+ export declare const promiseFromCallback: <T = void>(run: (cb: (error?: Error, value?: T) => void) => void) => Promise<T>;
5
6
  //# sourceMappingURL=callback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/callback.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,CAAC,GAAG,IAAI,EAChD,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,KACpD,OAAO,CAAC,CAAC,CASR,CAAC"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/callback.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,KAAG,OAAO,CAAC,CAAC,CAS3G,CAAC"}
@@ -2,6 +2,6 @@ type Transform = (...args: any) => Promise<any>;
2
2
  /**
3
3
  * Async reducer iteratively applies functions to the given array of elements.
4
4
  */
5
- export declare const asyncChain: <T>(chain: Transform[]) => (elements: Promise<T[]>) => Promise<T[]>;
5
+ export declare const chain: <T>(chain: Transform[]) => (elements: Promise<T[]>) => Promise<T[]>;
6
6
  export {};
7
7
  //# sourceMappingURL=chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/chain.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,UAAU,GACpB,CAAC,EAAE,OAAO,SAAS,EAAE,MACf,UAAU,OAAO,CAAC,CAAC,EAAE,CAAC,iBAO5B,CAAC"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/chain.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,KAAK,GACf,CAAC,EAAE,OAAO,SAAS,EAAE,MACf,UAAU,OAAO,CAAC,CAAC,EAAE,CAAC,iBAO5B,CAAC"}
@@ -11,11 +11,12 @@ type EventMap<T> = T extends Window ? WindowEventMap : T extends Document ? Docu
11
11
  /**
12
12
  * Add the event listener and return a cleanup function.
13
13
  * Can be used in effect hooks in conjunction with `combine`.
14
+ * @deprecated use bind-event-listener
14
15
  */
15
- export declare function addEventListener<T extends EventTarget, K extends keyof EventMap<T>>(target: T, type: K, listener: (this: T, ev: EventMap<T>[K]) => any, options?: boolean | AddEventListenerOptions): CleanupFn;
16
+ export declare const addEventListener: <T extends EventTarget, K extends keyof EventMap<T>>(target: T, type: K, listener: (this: T, ev: EventMap<T>[K]) => any, options?: boolean | AddEventListenerOptions) => CleanupFn;
16
17
  export declare class SubscriptionList {
17
18
  private readonly _cleanups;
18
- add(cb: CleanupFn): this;
19
+ add(...cb: CleanupFn[]): this;
19
20
  clear(): void;
20
21
  }
21
22
  export declare class SubscriptionSet<T = any> {
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/cleanup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,YAAY,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,KAAG,SAIpE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,QAAQ,EAAE,WAAM,KAAG,SAG9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,IAAI,QAAQ,EAAE,IAAI,MAAM,KAAG,SAGnD,CAAC;AAEF,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/B,cAAc,GACd,CAAC,SAAS,QAAQ,GAChB,gBAAgB,GAChB,CAAC,SAAS,WAAW,GACnB,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,QAAQ,CAAC,CAAC,CAAC,EACjF,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAC9C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,SAAS,CAGX;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAKxB,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAE3C,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI;IAKhC,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/cleanup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,YAAY,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,KAAG,SAIpE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,QAAQ,EAAE,WAAM,KAAG,SAG9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,IAAI,QAAQ,EAAE,IAAI,MAAM,KAAG,SAGnD,CAAC;AAEF,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/B,cAAc,GACd,CAAC,SAAS,QAAQ,GAChB,gBAAgB,GAChB,CAAC,SAAS,WAAW,GACnB,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,MAAM,QAAQ,CAAC,CAAC,CAAC,EACjF,QAAQ,CAAC,EACT,MAAM,CAAC,EACP,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAC9C,UAAU,OAAO,GAAG,uBAAuB,KAC1C,SAGF,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI;IAK7B,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAE3C,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI;IAKhC,KAAK,IAAI,IAAI;CAId"}
@@ -1,5 +1,38 @@
1
+ type Callback = (...args: any[]) => void;
2
+ /**
3
+ * Delay callback execution by a specified time.
4
+ * Unlike debounce, subsequent calls during the delay period are ignored.
5
+ *
6
+ * @param cb Callback to invoke.
7
+ * @param delay Time to wait before invoking the callback.
8
+ * @returns A new function that schedules the callback once and ignores subsequent calls until executed.
9
+ */
10
+ export declare const delay: <CB extends Callback>(cb: CB, delay?: number) => CB;
1
11
  /**
2
12
  * Debounce callback.
13
+ *
14
+ * @param cb Callback to invoke.
15
+ * @param delay Time window to wait before allowing calls.
16
+ * @returns A new function that wraps the callback and ensures that the callback is only invoked after the time window has passed and no new calls have been made.
17
+ */
18
+ export declare const debounce: <CB extends Callback>(cb: CB, delay?: number) => CB;
19
+ /**
20
+ * Throttle callback.
21
+ *
22
+ * @param cb Callback to invoke.
23
+ * @param delay Time window to allow calls in.
24
+ * @returns A new function that wraps the callback and prevents multiple invocations within the time window.
25
+ */
26
+ export declare const throttle: <CB extends Callback>(cb: CB, delay?: number) => CB;
27
+ /**
28
+ * Debounce and throttle callback.
29
+ * Executes immediately on the first call (throttle), prevents calls during the throttle window,
30
+ * and ensures a final call happens after activity stops (debounce).
31
+ *
32
+ * @param cb Callback to invoke.
33
+ * @param delay Time window for both throttle and debounce.
34
+ * @returns A new function that combines throttle and debounce behavior.
3
35
  */
4
- export declare const debounce: (cb: (...args: any[]) => void, wait?: number) => ((...args: any[]) => void);
36
+ export declare const debounceAndThrottle: <CB extends Callback>(cb: CB, delay?: number) => CB;
37
+ export {};
5
38
  //# sourceMappingURL=debounce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/debounce.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,aAAU,KAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAM5F,CAAC"}
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/debounce.ts"],"names":[],"mappings":"AAIA,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAAI,EAAE,SAAS,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAW,KAAG,EAgBhE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,EAAE,SAAS,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAW,KAAG,EAMnE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,EAAE,SAAS,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAW,KAAG,EASnE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,EAAE,SAAS,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAW,KAAG,EAuB9E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=debounce.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.test.d.ts","sourceRoot":"","sources":["../../../src/debounce.test.ts"],"names":[],"mappings":""}
@@ -5,13 +5,11 @@ export * from './debounce';
5
5
  export * from './errors';
6
6
  export * from './event-emitter';
7
7
  export * from './events';
8
- export * from './latch';
9
8
  export * from './mutex';
10
9
  export * from './observable';
11
10
  export * from './observable-value';
12
11
  export * from './persistent-lifecycle';
13
12
  export * from './push-iterable';
14
- export * from './sink';
15
13
  export * from './stream-to-array';
16
14
  export * from './task-scheduling';
17
15
  export * from './test-stream';
@@ -20,7 +18,5 @@ export * from './timeout';
20
18
  export * from './timer';
21
19
  export * from './track-leaks';
22
20
  export * from './trigger';
23
- export * from './types';
24
- export * from './until';
25
21
  export * from './update-scheduler';
26
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Resource } from '@dxos/context';
2
- export type PersistentLifecycleParams<T> = {
2
+ export type PersistentLifecycleProps<T> = {
3
3
  /**
4
4
  * Create connection.
5
5
  * If promise resolves successfully, connection is considered established.
@@ -31,7 +31,7 @@ export declare class PersistentLifecycle<T> extends Resource {
31
31
  private _currentState;
32
32
  private _restartTask?;
33
33
  private _restartAfter;
34
- constructor({ start, stop, onRestart, maxRestartDelay }: PersistentLifecycleParams<T>);
34
+ constructor({ start, stop, onRestart, maxRestartDelay }: PersistentLifecycleProps<T>);
35
35
  get state(): T | undefined;
36
36
  protected _open(): Promise<void>;
37
37
  protected _close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/persistent-lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAW5E,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC;;;OAGG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAEpC;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAAE,SAAQ,QAAQ;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAK;gBAEd,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,eAA2C,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAQjH,IAAI,KAAK,kBAER;cAGwB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAiBtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAMlC,QAAQ;YAkBR,iBAAiB;IAW/B;;OAEG;IAEG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC"}
1
+ {"version":3,"file":"persistent-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/persistent-lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAW5E,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;;OAGG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAEpC;;OAEG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAAE,SAAQ,QAAQ;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAK;gBAEd,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,eAA2C,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAQhH,IAAI,KAAK,kBAER;cAGwB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAiBtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAMlC,QAAQ;YAkBR,iBAAiB;IAW/B;;OAEG;IAEG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAMvC"}
@@ -1,4 +1,4 @@
1
- import { type Context } from '@dxos/context';
1
+ import { Context } from '@dxos/context';
2
2
  import { type MaybePromise } from '@dxos/util';
3
3
  /**
4
4
  * A task that can be scheduled to run in the next event loop iteration.
@@ -27,6 +27,34 @@ export declare class DeferredTask {
27
27
  */
28
28
  join(): Promise<void>;
29
29
  }
30
+ export declare class AsyncTask {
31
+ #private;
32
+ constructor(callback: () => Promise<void>);
33
+ get scheduled(): boolean;
34
+ /**
35
+ * Context of the resource that owns the task.
36
+ * When the context is disposed, the task is cancelled and cannot be scheduled again.
37
+ */
38
+ open(): void;
39
+ /**
40
+ * Closes the task and waits for it to finish if it is running.
41
+ */
42
+ close(): Promise<void>;
43
+ [Symbol.asyncDispose](): Promise<void>;
44
+ /**
45
+ * Schedule the task to run asynchronously.
46
+ */
47
+ schedule(): void;
48
+ /**
49
+ * Schedule the task to run and wait for it to finish.
50
+ */
51
+ runBlocking(): Promise<void>;
52
+ /**
53
+ * Waits for the current task to finish if it is running.
54
+ * Does not schedule a new task.
55
+ */
56
+ join(): Promise<void>;
57
+ }
30
58
  export declare const runInContext: (ctx: Context, fn: () => void) => void;
31
59
  export declare const runInContextAsync: (ctx: Context, fn: () => MaybePromise<void>) => Promise<void>;
32
60
  export declare const scheduleMicroTask: (ctx: Context, fn: () => MaybePromise<void>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"task-scheduling.d.ts","sourceRoot":"","sources":["../../../src/task-scheduling.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C;;;;GAIG;AAGH,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAiB;gBAGf,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAGjD,IAAI,SAAS,YAEZ;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI;IAuBhB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,IAAI,SAMxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,EAAE,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,kBAMjF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,SAO3E,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,MAAM,SAgBxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,MAAM,SAqB7F,CAAC;AAEF,eAAO,MAAM,sCAAsC,GACjD,KAAK,OAAO,EACZ,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,iBAAiB,MAAM,SAwBxB,CAAC"}
1
+ {"version":3,"file":"task-scheduling.d.ts","sourceRoot":"","sources":["../../../src/task-scheduling.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAwB,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C;;;;GAIG;AAGH,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAiB;gBAGf,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAGjD,IAAI,SAAS,YAEZ;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI;IAuBhB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B;AAGD,qBAAa,SAAS;;gBAQR,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAIzC,IAAI,SAAS,YAEZ;IAED;;;OAGG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IAEH,QAAQ,IAAI,IAAI;IA+BhB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,IAAI,SAMxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,EAAE,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,kBAMjF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,SAO3E,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,MAAM,SAgBxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,MAAM,SAqB7F,CAAC;AAEF,eAAO,MAAM,sCAAsC,GACjD,KAAK,OAAO,EACZ,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,iBAAiB,MAAM,SAwBxB,CAAC"}
@@ -14,4 +14,17 @@ export declare const waitForCondition: <FunctionType extends (...args: any) => a
14
14
  error?: Error;
15
15
  breakOnError?: boolean;
16
16
  }) => Promise<ReturnType<FunctionType>>;
17
+ export type UntilCallback<T> = (resolve: (value: T) => void, reject: (error: Error) => void) => Promise<T> | void;
18
+ /**
19
+ * Awaits promise.
20
+ */
21
+ export declare const until: <T = void>(cb: UntilCallback<T>, timeout?: number) => Promise<T>;
22
+ /**
23
+ * Wait until promise resolves.
24
+ */
25
+ export declare const untilPromise: <T = void>(cb: () => Promise<T>) => Promise<T>;
26
+ /**
27
+ * Wait until error is thrown.
28
+ */
29
+ export declare const untilError: (cb: () => Promise<any>) => Promise<unknown>;
17
30
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,wDAM1E;IACD,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,sCA2BA,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.ts"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,wDAM1E;IACD,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,sCA2BA,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAElH;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,IAAI,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,CAAC,CAyBjF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,GAAG,IAAI,EAAE,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,eAAS,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,qBAWhD,CAAC"}
@@ -3,6 +3,7 @@ import { type Context } from '@dxos/context';
3
3
  * Times out after delay.
4
4
  */
5
5
  export declare const sleep: (ms: number) => Promise<void>;
6
+ export declare const sleepWithContext: (ctx: Context, ms: number) => Promise<void>;
6
7
  /**
7
8
  * Can be used in long-running tasks to let other callbacks be invoked.
8
9
  */
@@ -16,5 +17,4 @@ export declare const asyncTimeout: <T>(promise: Promise<T> | (() => Promise<T>),
16
17
  * https://nodejs.org/api/timers.html#timeoutunref
17
18
  */
18
19
  export declare const unrefTimeout: (timeoutId: NodeJS.Timeout) => void;
19
- export declare const sleepWithContext: (ctx: Context, ms: number) => Promise<void>;
20
20
  //# sourceMappingURL=timeout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/timeout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,eAAe,CAAC;AAKnE;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,kBAgB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,qBAAiB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,EAElC,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACxC,SAAS,MAAM,EACf,MAAM,KAAK,GAAG,MAAM,KACnB,OAAO,CAAC,CAAC,CAeX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,CAAC,OAAO,SAIrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,kBAkBxD,CAAC"}
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/timeout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,eAAe,CAAC;AAKnE;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,kBAgB/B,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,EAAE,IAAI,MAAM,kBAkBxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,qBAAiB,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,EAElC,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACxC,SAAS,MAAM,EACf,MAAM,KAAK,GAAG,MAAM,KACnB,OAAO,CAAC,CAAC,CAeX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,CAAC,OAAO,SAIrD,CAAC"}
@@ -51,4 +51,15 @@ export declare class Trigger<T = void> {
51
51
  */
52
52
  throw(error: Error): this;
53
53
  }
54
+ type LatchProps = {
55
+ count?: number;
56
+ timeout?: number;
57
+ };
58
+ type LatchResult = [() => Promise<number>, () => number, (err: Error) => void];
59
+ /**
60
+ * Returns a callback and a promise that's resolved when the callback is called n times.
61
+ * @deprecated Use `Trigger` instead.
62
+ */
63
+ export declare const latch: ({ count, timeout }?: LatchProps) => LatchResult;
64
+ export {};
54
65
  //# sourceMappingURL=trigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../src/trigger.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,GAAG,IAAI,EAAE,UAAU,MAAM,KAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAgBvF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,IAAI;IAMf,OAAO,CAAC,QAAQ;IAL5B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAsC;gBAEhC,QAAQ,GAAE,cAAqC;IAInE,IAAI,KAAK,iBAER;IAED;;OAEG;IACG,IAAI,CAAC,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ9D;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAapB;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAY1B"}
1
+ {"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../src/trigger.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,GAAG,IAAI,EAAE,UAAU,MAAM,KAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAgBvF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,IAAI;IAMf,OAAO,CAAC,QAAQ;IAL5B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAsC;gBAEhC,QAAQ,GAAE,cAAqC;IAInE,IAAI,KAAK,iBAER;IAED;;OAEG;IACG,IAAI,CAAC,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ9D;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAapB;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAY1B;AAED,KAAK,UAAU,GAAG;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,qBAAwB,UAAe,KAAG,WA0C/D,CAAC"}