@dxos/async 0.8.3-main.7f5a14c → 0.8.3

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.
@@ -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":6309,"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":9820,"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":97894},"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":1047},"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":42057}}}
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}}}
@@ -7,11 +7,12 @@ export type CleanupFn = () => void;
7
7
  export declare const combine: (...cleanupFns: (CleanupFn | CleanupFn[])[]) => CleanupFn;
8
8
  export declare const timeout: (cb: Function, ms?: number) => CleanupFn;
9
9
  export declare const interval: (cb: Function, ms: number) => CleanupFn;
10
+ type EventMap<T> = T extends Window ? WindowEventMap : T extends Document ? DocumentEventMap : T extends HTMLElement ? HTMLElementEventMap : Record<string, Event>;
10
11
  /**
11
12
  * Add the event listener and return a cleanup function.
12
13
  * Can be used in effect hooks in conjunction with `combine`.
13
14
  */
14
- export declare const addEventListener: <T extends Event = Event>(el: HTMLElement | Window, event: string, handler: EventListenerOrEventListenerObject | ((event: T) => void), options?: boolean | AddEventListenerOptions) => CleanupFn;
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;
15
16
  export declare class SubscriptionList {
16
17
  private readonly _cleanups;
17
18
  add(cb: CleanupFn): this;
@@ -23,4 +24,5 @@ export declare class SubscriptionSet<T = any> {
23
24
  set(key: T, cb: CleanupFn): this;
24
25
  clear(): void;
25
26
  }
27
+ export {};
26
28
  //# sourceMappingURL=cleanup.d.ts.map
@@ -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;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,KAAK,GAAG,KAAK,EACtD,IAAI,WAAW,GAAG,MAAM,EACxB,OAAO,MAAM,EACb,SAAS,kCAAkC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,EAClE,UAAU,OAAO,GAAG,uBAAuB,KAC1C,SAGF,CAAC;AAEF,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;;;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 +1 @@
1
- {"version":3,"file":"update-scheduler.d.ts","sourceRoot":"","sources":["../../../src/update-scheduler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAOF,qBAAa,eAAe;IAWxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,eAAe,CAAgB;gBAGpB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC9B,OAAO,GAAE,sBAA2B;IAOvD,OAAO,IAAI,IAAI;IAiDf,YAAY,IAAI,IAAI;IAMpB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAMnC"}
1
+ {"version":3,"file":"update-scheduler.d.ts","sourceRoot":"","sources":["../../../src/update-scheduler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAOF,qBAAa,eAAe;IAWxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,eAAe,CAAgB;gBAGpB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC9B,OAAO,GAAE,sBAA2B;IAOvD,OAAO,IAAI,IAAI;IAkDf,YAAY,IAAI,IAAI;IAMpB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAMnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/async",
3
- "version": "0.8.3-main.7f5a14c",
3
+ "version": "0.8.3",
4
4
  "description": "Async utilities.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -29,12 +29,12 @@
29
29
  "dependencies": {
30
30
  "zen-observable": "^0.10.0",
31
31
  "zen-push": "^0.3.1",
32
- "@dxos/context": "0.8.3-main.7f5a14c",
33
- "@dxos/invariant": "0.8.3-main.7f5a14c",
34
- "@dxos/log": "0.8.3-main.7f5a14c",
35
- "@dxos/node-std": "0.8.3-main.7f5a14c",
36
- "@dxos/util": "0.8.3-main.7f5a14c",
37
- "@dxos/debug": "0.8.3-main.7f5a14c"
32
+ "@dxos/debug": "0.8.3",
33
+ "@dxos/context": "0.8.3",
34
+ "@dxos/invariant": "0.8.3",
35
+ "@dxos/log": "0.8.3",
36
+ "@dxos/util": "0.8.3",
37
+ "@dxos/node-std": "0.8.3"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/zen-observable": "^0.8.3"
package/src/cleanup.ts CHANGED
@@ -26,19 +26,27 @@ export const interval = (cb: Function, ms: number): CleanupFn => {
26
26
  return () => clearInterval(t);
27
27
  };
28
28
 
29
+ type EventMap<T> = T extends Window
30
+ ? WindowEventMap
31
+ : T extends Document
32
+ ? DocumentEventMap
33
+ : T extends HTMLElement
34
+ ? HTMLElementEventMap
35
+ : Record<string, Event>;
36
+
29
37
  /**
30
38
  * Add the event listener and return a cleanup function.
31
39
  * Can be used in effect hooks in conjunction with `combine`.
32
40
  */
33
- export const addEventListener = <T extends Event = Event>(
34
- el: HTMLElement | Window,
35
- event: string,
36
- handler: EventListenerOrEventListenerObject | ((event: T) => void),
41
+ export function addEventListener<T extends EventTarget, K extends keyof EventMap<T>>(
42
+ target: T,
43
+ type: K,
44
+ listener: (this: T, ev: EventMap<T>[K]) => any,
37
45
  options?: boolean | AddEventListenerOptions,
38
- ): CleanupFn => {
39
- el.addEventListener(event, handler as EventListenerOrEventListenerObject, options);
40
- return () => el.removeEventListener(event, handler as EventListenerOrEventListenerObject, options);
41
- };
46
+ ): CleanupFn {
47
+ target.addEventListener(type as string, listener as EventListener, options);
48
+ return () => target.removeEventListener(type as string, listener as EventListener, options);
49
+ }
42
50
 
43
51
  export class SubscriptionList {
44
52
  private readonly _cleanups: CleanupFn[] = [];
@@ -53,14 +53,15 @@ export class UpdateScheduler {
53
53
  const delay = this._lastUpdateTime + TIME_PERIOD / this._params.maxFrequency - now;
54
54
  if (delay > 0) {
55
55
  await new Promise<void>((resolve) => {
56
- const clearContext = this._ctx.onDispose(() => {
57
- clearTimeout(timeoutId);
58
- resolve();
59
- });
60
56
  const timeoutId = setTimeout(() => {
61
57
  clearContext();
62
58
  resolve();
63
59
  }, delay);
60
+
61
+ const clearContext = this._ctx.onDispose(() => {
62
+ clearTimeout(timeoutId);
63
+ resolve();
64
+ });
64
65
  });
65
66
  }
66
67
  }