@dxos/async 0.8.4-main.fd6878d → 0.8.4-staging.ac66bdf99f
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.
- package/dist/lib/browser/index.mjs +164 -67
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +164 -67
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/cleanup.d.ts +2 -2
- package/dist/types/src/cleanup.d.ts.map +1 -1
- package/dist/types/src/debounce.d.ts +29 -9
- package/dist/types/src/debounce.d.ts.map +1 -1
- package/dist/types/src/observable-value.d.ts.map +1 -1
- package/dist/types/src/persistent-lifecycle.d.ts +2 -2
- package/dist/types/src/persistent-lifecycle.d.ts.map +1 -1
- package/dist/types/src/task-scheduling.d.ts +29 -1
- package/dist/types/src/task-scheduling.d.ts.map +1 -1
- package/dist/types/src/timeout.d.ts +1 -1
- package/dist/types/src/timeout.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -7
- package/src/cleanup.ts +7 -4
- package/src/debounce.ts +69 -16
- package/src/event-emitter.test.ts +0 -1
- package/src/observable-value.ts +4 -2
- package/src/persistent-lifecycle.ts +2 -2
- package/src/task-scheduling.ts +95 -1
- package/src/timeout.ts +6 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6807,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/debounce.ts":{"bytes":9168,"imports":[],"format":"esm"},"src/errors.ts":{"bytes":2911,"imports":[],"format":"esm"},"src/timeout.ts":{"bytes":7598,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/event-emitter.ts":{"bytes":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":6444,"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":104249},"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":1090},"src/debounce.ts":{"bytesInOutput":1032},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1479},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8703},"src/mutex.ts":{"bytesInOutput":2429},"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":2152},"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":44049}}}
|
|
@@ -4,7 +4,7 @@ export type CleanupFn = () => void;
|
|
|
4
4
|
* Combine multiple cleanup functions into a single cleanup function.
|
|
5
5
|
* Can be used in effect hooks in conjunction with `addEventListener`.
|
|
6
6
|
*/
|
|
7
|
-
export declare const combine: (...cleanupFns: (CleanupFn | CleanupFn[])[]) => CleanupFn;
|
|
7
|
+
export declare const combine: (...cleanupFns: (boolean | undefined | 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
10
|
type EventMap<T> = T extends Window ? WindowEventMap : T extends Document ? DocumentEventMap : T extends HTMLElement ? HTMLElementEventMap : Record<string, Event>;
|
|
@@ -15,7 +15,7 @@ type EventMap<T> = T extends Window ? WindowEventMap : T extends Document ? Docu
|
|
|
15
15
|
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
16
|
export declare class SubscriptionList {
|
|
17
17
|
private readonly _cleanups;
|
|
18
|
-
add(cb: CleanupFn): this;
|
|
18
|
+
add(...cb: CleanupFn[]): this;
|
|
19
19
|
clear(): void;
|
|
20
20
|
}
|
|
21
21
|
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,
|
|
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,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,KAAG,SAO1F,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,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,23 +1,43 @@
|
|
|
1
1
|
type Callback = (...args: any[]) => void;
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Delay callback execution by a specified time.
|
|
4
|
+
* Unlike debounce, subsequent calls during the delay period are ignored.
|
|
4
5
|
*
|
|
5
6
|
* @param cb Callback to invoke.
|
|
6
|
-
* @param delay Time
|
|
7
|
-
* @returns A new function that
|
|
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.
|
|
8
9
|
*/
|
|
9
|
-
export declare const
|
|
10
|
+
export declare const delay: <F extends Callback>(cb: F, delay?: number) => F;
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Debounce callback: delays execution until calls stop.
|
|
13
|
+
* Each new call resets the timer, so the callback fires only after the delay elapses with no further calls (trailing-edge).
|
|
14
|
+
* Use when you want to react to the end of a burst of events (e.g. user stops typing).
|
|
12
15
|
*
|
|
13
16
|
* @param cb Callback to invoke.
|
|
14
|
-
* @param delay
|
|
15
|
-
* @returns
|
|
17
|
+
* @param delay Idle time (ms) to wait after the last call before invoking.
|
|
18
|
+
* @returns Wrapped function that postpones invocation until activity ceases.
|
|
16
19
|
*/
|
|
17
|
-
export declare const
|
|
20
|
+
export declare const debounce: <F extends Callback>(cb: F, delay?: number) => F;
|
|
21
|
+
/**
|
|
22
|
+
* Throttle callback: limits execution to at most once per interval.
|
|
23
|
+
* The callback fires immediately on the first call;
|
|
24
|
+
* subsequent calls within the same interval are dropped (leading-edge).
|
|
25
|
+
* Use when you need regular updates at a bounded rate (e.g. scroll or resize handlers).
|
|
26
|
+
*
|
|
27
|
+
* @param cb Callback to invoke.
|
|
28
|
+
* @param delay Minimum interval (ms) between successive invocations.
|
|
29
|
+
* @returns Wrapped function that rate-limits invocations.
|
|
30
|
+
*/
|
|
31
|
+
export declare const throttle: <F extends Callback>(cb: F, delay?: number) => F;
|
|
18
32
|
/**
|
|
19
33
|
* Debounce and throttle callback.
|
|
34
|
+
* Executes immediately on the first call (throttle), prevents calls during the throttle window,
|
|
35
|
+
* and ensures a final call happens after activity stops (debounce).
|
|
36
|
+
*
|
|
37
|
+
* @param cb Callback to invoke.
|
|
38
|
+
* @param delay Time window for both throttle and debounce.
|
|
39
|
+
* @returns A new function that combines throttle and debounce behavior.
|
|
20
40
|
*/
|
|
21
|
-
export declare const debounceAndThrottle: <
|
|
41
|
+
export declare const debounceAndThrottle: <F extends Callback>(cb: F, delay?: number) => F;
|
|
22
42
|
export {};
|
|
23
43
|
//# sourceMappingURL=debounce.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,CAAC,SAAS,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAW,KAAG,CAgB9D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAW,KAAG,CAMjE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAW,KAAG,CASjE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAW,KAAG,CAuB5E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-value.d.ts","sourceRoot":"","sources":["../../../src/observable-value.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;GAGG;AAKH,qBAAa,kBAAkB,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK,GAAG,OAAO,CAAE,YAAW,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;IAC3G,SAAS,CAAC,QAAQ,CAAC,SAAS,cAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IAEH,OAAO,CAAC,MAAM,CAAC,CAAQ;IAEvB;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,KAAK,sBAER;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;CAMtC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,IAAI,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,
|
|
1
|
+
{"version":3,"file":"observable-value.d.ts","sourceRoot":"","sources":["../../../src/observable-value.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO;IACtD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;;GAGG;AAKH,qBAAa,kBAAkB,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK,GAAG,OAAO,CAAE,YAAW,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;IAC3G,SAAS,CAAC,QAAQ,CAAC,SAAS,cAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IAEH,OAAO,CAAC,MAAM,CAAC,CAAQ;IAEvB;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,KAAK,sBAER;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;CAMtC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,IAAI,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,MAAM,SAAS,2BAA2B,EAC1C,KAAK,GAAG,OAAO,CACf,SAAQ,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,6BAA6B,CACxC,MAAM,SAAS,2BAA2B,CAC1C,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAGtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAF3C,OAAO,CAAC,UAAU,CAAS;gBAEE,aAAa,CAAC,GAAE,MAAM,OAAO,CAAC,IAAI,CAAC,aAAA;IAIhE,IAAI,SAAS,YAEZ;IAEK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAS9B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Resource } from '@dxos/context';
|
|
2
|
-
export type
|
|
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 }:
|
|
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,
|
|
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 {
|
|
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,EAAE,
|
|
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"}
|
|
@@ -11,7 +11,7 @@ export declare const asyncReturn: () => Promise<void>;
|
|
|
11
11
|
/**
|
|
12
12
|
* Wait for promise or throw error.
|
|
13
13
|
*/
|
|
14
|
-
export declare const asyncTimeout: <T>(promise: Promise<T
|
|
14
|
+
export declare const asyncTimeout: <T>(promise: Promise<T>, timeout: number, err?: Error | string) => Promise<T>;
|
|
15
15
|
/**
|
|
16
16
|
* In Node.JS, `unref` prevents the timeout from blocking the process from exiting. Not available in browsers.
|
|
17
17
|
* https://nodejs.org/api/timers.html#timeoutunref
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/timeout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,eAAe,CAAC;AAInE;;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,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,MAAM,KAAK,GAAG,MAAM,KAAG,OAAO,CAAC,CAAC,CAkB3G,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,CAAC,OAAO,SAIrD,CAAC"}
|