@dxos/async 0.8.0 → 0.8.1-main.303c73a

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":1594,"imports":[],"format":"esm"},"packages/common/async/src/chain.ts":{"bytes":1701,"imports":[],"format":"esm"},"packages/common/async/src/debounce.ts":{"bytes":1275,"imports":[],"format":"esm"},"packages/common/async/src/errors.ts":{"bytes":3008,"imports":[],"format":"esm"},"packages/common/async/src/timeout.ts":{"bytes":7907,"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":4236,"imports":[{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"packages/common/async/src/events.ts":{"bytes":40649,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/latch.ts":{"bytes":4484,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/mutex.ts":{"bytes":12860,"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":10376,"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":18063,"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":6622,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/track-leaks.ts":{"bytes":8583,"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":15749,"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":12924,"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/sink.ts":{"bytes":2055,"imports":[{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/stream-to-array.ts":{"bytes":5040,"imports":[],"format":"esm"},"packages/common/async/src/test-stream.ts":{"bytes":5087,"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":4756,"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":6062,"imports":[{"path":"packages/common/async/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/common/async/src/types.ts":{"bytes":517,"imports":[],"format":"esm"},"packages/common/async/src/until.ts":{"bytes":4408,"imports":[],"format":"esm"},"packages/common/async/src/update-scheduler.ts":{"bytes":9920,"imports":[{"path":"packages/common/async/src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"packages/common/async/src/index.ts":{"bytes":2539,"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/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/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":91734},"packages/common/async/dist/lib/node-esm/index.mjs":{"imports":[{"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":"node:stream","kind":"import-statement","external":true}],"exports":["CancellableObservableProvider","DeferredTask","Event","EventSubscriptions","MulticastObservable","Mutex","MutexGuard","Observable","ObservableProvider","PersistentLifecycle","PushStream","TestStream","TimeoutError","Timer","Trigger","TriggerState","UpdateScheduler","addListener","asyncChain","asyncReturn","asyncTimeout","createPromiseFromCallback","debounce","dumpLeaks","latch","observableError","onEvent","runInContext","runInContextAsync","scheduleExponentialBackoffTaskInterval","scheduleMicroTask","scheduleTask","scheduleTaskInterval","sink","sleep","sleepWithContext","streamToArray","synchronized","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/debounce.ts":{"bytesInOutput":144},"packages/common/async/src/errors.ts":{"bytesInOutput":473},"packages/common/async/src/timeout.ts":{"bytesInOutput":1487},"packages/common/async/src/event-emitter.ts":{"bytesInOutput":694},"packages/common/async/src/events.ts":{"bytesInOutput":8801},"packages/common/async/src/latch.ts":{"bytesInOutput":987},"packages/common/async/src/mutex.ts":{"bytesInOutput":2444},"packages/common/async/src/observable.ts":{"bytesInOutput":3695},"packages/common/async/src/trigger.ts":{"bytesInOutput":1959},"packages/common/async/src/observable-value.ts":{"bytesInOutput":975},"packages/common/async/src/persistent-lifecycle.ts":{"bytesInOutput":3511},"packages/common/async/src/task-scheduling.ts":{"bytesInOutput":3142},"packages/common/async/src/track-leaks.ts":{"bytesInOutput":2149},"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":925},"packages/common/async/src/testing.ts":{"bytesInOutput":587},"packages/common/async/src/timer.ts":{"bytesInOutput":1054},"packages/common/async/src/until.ts":{"bytesInOutput":760},"packages/common/async/src/update-scheduler.ts":{"bytesInOutput":1855}},"bytes":39333}}}
1
+ {"inputs":{"packages/common/async/src/callback.ts":{"bytes":1594,"imports":[],"format":"esm"},"packages/common/async/src/chain.ts":{"bytes":1701,"imports":[],"format":"esm"},"packages/common/async/src/debounce.ts":{"bytes":1275,"imports":[],"format":"esm"},"packages/common/async/src/errors.ts":{"bytes":3008,"imports":[],"format":"esm"},"packages/common/async/src/timeout.ts":{"bytes":7907,"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":4236,"imports":[{"path":"packages/common/async/src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"packages/common/async/src/events.ts":{"bytes":40649,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/latch.ts":{"bytes":4484,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/mutex.ts":{"bytes":12860,"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":10376,"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":18063,"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":6622,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/async/src/track-leaks.ts":{"bytes":8583,"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":15749,"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":12924,"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/sink.ts":{"bytes":2055,"imports":[{"path":"packages/common/async/src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"packages/common/async/src/stream-to-array.ts":{"bytes":5040,"imports":[],"format":"esm"},"packages/common/async/src/test-stream.ts":{"bytes":5087,"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":4756,"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":6062,"imports":[{"path":"packages/common/async/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/common/async/src/types.ts":{"bytes":517,"imports":[],"format":"esm"},"packages/common/async/src/until.ts":{"bytes":4408,"imports":[],"format":"esm"},"packages/common/async/src/update-scheduler.ts":{"bytes":9920,"imports":[{"path":"packages/common/async/src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"packages/common/async/src/push-iterable.ts":{"bytes":6055,"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/index.ts":{"bytes":2644,"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/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/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"},{"path":"packages/common/async/src/push-iterable.ts","kind":"import-statement","original":"./push-iterable"}],"format":"esm"}},"outputs":{"packages/common/async/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":94534},"packages/common/async/dist/lib/node-esm/index.mjs":{"imports":[{"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":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["CancellableObservableProvider","DeferredTask","Event","EventSubscriptions","MulticastObservable","Mutex","MutexGuard","Observable","ObservableProvider","PersistentLifecycle","PushStream","TestStream","TimeoutError","Timer","Trigger","TriggerState","UpdateScheduler","addListener","asyncChain","asyncReturn","asyncTimeout","createPromiseFromCallback","debounce","dumpLeaks","latch","makePushIterable","observableError","onEvent","runInContext","runInContextAsync","scheduleExponentialBackoffTaskInterval","scheduleMicroTask","scheduleTask","scheduleTaskInterval","sink","sleep","sleepWithContext","streamToArray","synchronized","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/debounce.ts":{"bytesInOutput":144},"packages/common/async/src/errors.ts":{"bytesInOutput":473},"packages/common/async/src/timeout.ts":{"bytesInOutput":1487},"packages/common/async/src/event-emitter.ts":{"bytesInOutput":694},"packages/common/async/src/events.ts":{"bytesInOutput":8801},"packages/common/async/src/latch.ts":{"bytesInOutput":987},"packages/common/async/src/mutex.ts":{"bytesInOutput":2444},"packages/common/async/src/observable.ts":{"bytesInOutput":3695},"packages/common/async/src/trigger.ts":{"bytesInOutput":1959},"packages/common/async/src/observable-value.ts":{"bytesInOutput":975},"packages/common/async/src/persistent-lifecycle.ts":{"bytesInOutput":3511},"packages/common/async/src/task-scheduling.ts":{"bytesInOutput":3142},"packages/common/async/src/track-leaks.ts":{"bytesInOutput":2149},"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":925},"packages/common/async/src/testing.ts":{"bytesInOutput":587},"packages/common/async/src/timer.ts":{"bytesInOutput":1054},"packages/common/async/src/until.ts":{"bytesInOutput":760},"packages/common/async/src/update-scheduler.ts":{"bytesInOutput":1855},"packages/common/async/src/push-iterable.ts":{"bytesInOutput":1402}},"bytes":40802}}}
@@ -21,4 +21,5 @@ export * from './trigger';
21
21
  export * from './types';
22
22
  export * from './until';
23
23
  export * from './update-scheduler';
24
+ export * from './push-iterable';
24
25
  //# 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,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,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,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,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;AACnC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,20 @@
1
+ interface PushAsyncIterable<T, TReturn = any> extends AsyncIterable<T, TReturn> {
2
+ /**
3
+ * Push a value into the iterable.
4
+ */
5
+ next(value: T): void;
6
+ /**
7
+ * Return a value from the iterable.
8
+ */
9
+ return(value?: TReturn): void;
10
+ /**
11
+ * Throw an error from the iterable.
12
+ */
13
+ throw(value?: any): void;
14
+ }
15
+ /**
16
+ * Creates an async iterable where the data is pushed by calling methods on the iterable.
17
+ */
18
+ export declare const makePushIterable: <T, TReturn = any>() => PushAsyncIterable<T, TReturn>;
19
+ export {};
20
+ //# sourceMappingURL=push-iterable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-iterable.d.ts","sourceRoot":"","sources":["../../../src/push-iterable.ts"],"names":[],"mappings":"AAQA,UAAU,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC;IAC7E;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,OAAO,aAAW,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAuCjF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/async",
3
- "version": "0.8.0",
3
+ "version": "0.8.1-main.303c73a",
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.0",
33
- "@dxos/log": "0.8.0",
34
- "@dxos/debug": "0.8.0",
35
- "@dxos/node-std": "0.8.0",
36
- "@dxos/util": "0.8.0",
37
- "@dxos/invariant": "0.8.0"
32
+ "@dxos/context": "0.8.1-main.303c73a",
33
+ "@dxos/invariant": "0.8.1-main.303c73a",
34
+ "@dxos/debug": "0.8.1-main.303c73a",
35
+ "@dxos/log": "0.8.1-main.303c73a",
36
+ "@dxos/node-std": "0.8.1-main.303c73a",
37
+ "@dxos/util": "0.8.1-main.303c73a"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/zen-observable": "^0.8.3"
package/src/index.ts CHANGED
@@ -25,3 +25,4 @@ export * from './trigger';
25
25
  export * from './types';
26
26
  export * from './until';
27
27
  export * from './update-scheduler';
28
+ export * from './push-iterable';
@@ -0,0 +1,68 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { invariant } from '@dxos/invariant';
6
+
7
+ import { Trigger } from './trigger';
8
+
9
+ interface PushAsyncIterable<T, TReturn = any> extends AsyncIterable<T, TReturn> {
10
+ /**
11
+ * Push a value into the iterable.
12
+ */
13
+ next(value: T): void;
14
+
15
+ /**
16
+ * Return a value from the iterable.
17
+ */
18
+ return(value?: TReturn): void;
19
+
20
+ /**
21
+ * Throw an error from the iterable.
22
+ */
23
+ throw(value?: any): void;
24
+ }
25
+
26
+ /**
27
+ * Creates an async iterable where the data is pushed by calling methods on the iterable.
28
+ */
29
+ export const makePushIterable = <T, TReturn = any>(): PushAsyncIterable<T, TReturn> => {
30
+ const buf: ({ kind: 'next'; value: T } | { kind: 'return'; value: TReturn } | { kind: 'throw'; value?: any })[] = [];
31
+ const trigger = new Trigger({ autoReset: true });
32
+
33
+ return {
34
+ [Symbol.asyncIterator]() {
35
+ return {
36
+ next: async (): Promise<IteratorResult<T, TReturn>> => {
37
+ while (buf.length === 0) {
38
+ await trigger.wait();
39
+ }
40
+
41
+ const item = buf.shift();
42
+ invariant(item);
43
+
44
+ switch (item.kind) {
45
+ case 'next':
46
+ return { value: item.value, done: false };
47
+ case 'return':
48
+ return { value: item.value, done: true };
49
+ case 'throw':
50
+ throw item.value;
51
+ }
52
+ },
53
+ };
54
+ },
55
+ next: (value: T) => {
56
+ buf.push({ kind: 'next', value });
57
+ trigger.wake();
58
+ },
59
+ return: (value: TReturn) => {
60
+ buf.push({ kind: 'return', value });
61
+ trigger.wake();
62
+ },
63
+ throw: (value?: any) => {
64
+ buf.push({ kind: 'throw', value });
65
+ trigger.wake();
66
+ },
67
+ };
68
+ };