@dxos/async 0.8.3 → 0.8.4-main.f9ba587

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":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":"@dxos/node-std/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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":98060},"packages/common/async/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"zen-observable","kind":"import-statement","external":true},{"path":"zen-push","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/node-std/stream","kind":"import-statement","external":true}],"exports":["CancellableObservableProvider","DeferredTask","Event","MulticastObservable","Mutex","MutexGuard","Observable","ObservableProvider","PersistentLifecycle","PushStream","SubscriptionList","SubscriptionSet","TestStream","TimeoutError","Timer","Trigger","TriggerState","UpdateScheduler","addEventListener","addListener","asyncChain","asyncReturn","asyncTimeout","combine","createPromiseFromCallback","debounce","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":976},"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":41984}}}
1
+ {"inputs":{"src/callback.ts":{"bytes":1537,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1648,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6550,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/throttle.ts":{"bytes":1288,"imports":[],"format":"esm"},"src/debounce.ts":{"bytes":2389,"imports":[{"path":"src/throttle.ts","kind":"import-statement","original":"./throttle"}],"format":"esm"},"src/errors.ts":{"bytes":2911,"imports":[],"format":"esm"},"src/timeout.ts":{"bytes":7967,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/event-emitter.ts":{"bytes":4155,"imports":[{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/events.ts":{"bytes":39504,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/latch.ts":{"bytes":4375,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"src/mutex.ts":{"bytes":12647,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/trigger.ts":{"bytes":10232,"imports":[{"path":"src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/observable.ts":{"bytes":17950,"imports":[{"path":"zen-observable","kind":"import-statement","external":true},{"path":"zen-push","kind":"import-statement","external":true},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/observable-value.ts":{"bytes":6465,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/track-leaks.ts":{"bytes":8414,"imports":[{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/task-scheduling.ts":{"bytes":15492,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"src/track-leaks.ts","kind":"import-statement","original":"./track-leaks"},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/persistent-lifecycle.ts":{"bytes":12777,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/mutex.ts","kind":"import-statement","original":"./mutex"},{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/push-iterable.ts":{"bytes":5922,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/sink.ts":{"bytes":1990,"imports":[{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/stream-to-array.ts":{"bytes":4935,"imports":[],"format":"esm"},"src/test-stream.ts":{"bytes":5038,"imports":[{"path":"@dxos/node-std/stream","kind":"import-statement","external":true},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/testing.ts":{"bytes":4757,"imports":[{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"}],"format":"esm"},"src/timer.ts":{"bytes":5937,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/types.ts":{"bytes":472,"imports":[],"format":"esm"},"src/until.ts":{"bytes":4311,"imports":[],"format":"esm"},"src/update-scheduler.ts":{"bytes":9811,"imports":[{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"}],"format":"esm"},"src/index.ts":{"bytes":2742,"imports":[{"path":"src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"src/chain.ts","kind":"import-statement","original":"./chain"},{"path":"src/cleanup.ts","kind":"import-statement","original":"./cleanup"},{"path":"src/debounce.ts","kind":"import-statement","original":"./debounce"},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/event-emitter.ts","kind":"import-statement","original":"./event-emitter"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/latch.ts","kind":"import-statement","original":"./latch"},{"path":"src/mutex.ts","kind":"import-statement","original":"./mutex"},{"path":"src/observable.ts","kind":"import-statement","original":"./observable"},{"path":"src/observable-value.ts","kind":"import-statement","original":"./observable-value"},{"path":"src/persistent-lifecycle.ts","kind":"import-statement","original":"./persistent-lifecycle"},{"path":"src/push-iterable.ts","kind":"import-statement","original":"./push-iterable"},{"path":"src/sink.ts","kind":"import-statement","original":"./sink"},{"path":"src/stream-to-array.ts","kind":"import-statement","original":"./stream-to-array"},{"path":"src/task-scheduling.ts","kind":"import-statement","original":"./task-scheduling"},{"path":"src/test-stream.ts","kind":"import-statement","original":"./test-stream"},{"path":"src/testing.ts","kind":"import-statement","original":"./testing"},{"path":"src/throttle.ts","kind":"import-statement","original":"./throttle"},{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"},{"path":"src/timer.ts","kind":"import-statement","original":"./timer"},{"path":"src/track-leaks.ts","kind":"import-statement","original":"./track-leaks"},{"path":"src/trigger.ts","kind":"import-statement","original":"./trigger"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/until.ts","kind":"import-statement","original":"./until"},{"path":"src/update-scheduler.ts","kind":"import-statement","original":"./update-scheduler"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":99293},"dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"zen-observable","kind":"import-statement","external":true},{"path":"zen-push","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/node-std/stream","kind":"import-statement","external":true}],"exports":["CancellableObservableProvider","DeferredTask","Event","MulticastObservable","Mutex","MutexGuard","Observable","ObservableProvider","PersistentLifecycle","PushStream","SubscriptionList","SubscriptionSet","TestStream","TimeoutError","Timer","Trigger","TriggerState","UpdateScheduler","addEventListener","addListener","asyncChain","asyncReturn","asyncTimeout","combine","createPromiseFromCallback","debounce","debounceAndThrottle","dumpLeaks","interval","latch","makePushIterable","observableError","onEvent","runInContext","runInContextAsync","scheduleExponentialBackoffTaskInterval","scheduleMicroTask","scheduleTask","scheduleTaskInterval","sink","sleep","sleepWithContext","streamToArray","synchronized","throttle","timeout","toError","trackLeaks","trackResource","trigger","unrefTimeout","until","untilError","untilPromise","waitForCondition","waitForEvent"],"entryPoint":"src/index.ts","inputs":{"src/callback.ts":{"bytesInOutput":191},"src/index.ts":{"bytesInOutput":0},"src/chain.ts":{"bytesInOutput":219},"src/cleanup.ts":{"bytesInOutput":1057},"src/throttle.ts":{"bytesInOutput":198},"src/debounce.ts":{"bytesInOutput":352},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1492},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8711},"src/latch.ts":{"bytesInOutput":987},"src/mutex.ts":{"bytesInOutput":2444},"src/observable.ts":{"bytesInOutput":3699},"src/trigger.ts":{"bytesInOutput":1982},"src/observable-value.ts":{"bytesInOutput":967},"src/persistent-lifecycle.ts":{"bytesInOutput":3504},"src/task-scheduling.ts":{"bytesInOutput":3151},"src/track-leaks.ts":{"bytesInOutput":2136},"src/push-iterable.ts":{"bytesInOutput":1389},"src/sink.ts":{"bytesInOutput":285},"src/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":976},"src/testing.ts":{"bytesInOutput":656},"src/timer.ts":{"bytesInOutput":1056},"src/until.ts":{"bytesInOutput":763},"src/update-scheduler.ts":{"bytesInOutput":1855}},"bytes":41786}}}
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
- // packages/common/async/src/callback.ts
3
+ // src/callback.ts
4
4
  var createPromiseFromCallback = (run) => new Promise((resolve, reject) => {
5
5
  run((error, value) => {
6
6
  if (error) {
@@ -11,7 +11,7 @@ var createPromiseFromCallback = (run) => new Promise((resolve, reject) => {
11
11
  });
12
12
  });
13
13
 
14
- // packages/common/async/src/chain.ts
14
+ // src/chain.ts
15
15
  var asyncChain = (chain) => async (elements) => {
16
16
  let result = await elements;
17
17
  for (const part of chain) {
@@ -20,7 +20,7 @@ var asyncChain = (chain) => async (elements) => {
20
20
  return result;
21
21
  };
22
22
 
23
- // packages/common/async/src/cleanup.ts
23
+ // src/cleanup.ts
24
24
  import { ComplexMap } from "@dxos/util";
25
25
  var combine = (...cleanupFns) => {
26
26
  return () => {
@@ -66,7 +66,19 @@ var SubscriptionSet = class {
66
66
  }
67
67
  };
68
68
 
69
- // packages/common/async/src/debounce.ts
69
+ // src/throttle.ts
70
+ var throttle = (cb, wait = 100) => {
71
+ let lastCall = 0;
72
+ return (...args) => {
73
+ const now = Date.now();
74
+ if (now - lastCall >= wait) {
75
+ cb(...args);
76
+ lastCall = now;
77
+ }
78
+ };
79
+ };
80
+
81
+ // src/debounce.ts
70
82
  var debounce = (cb, wait = 100) => {
71
83
  let t;
72
84
  return (...args) => {
@@ -74,8 +86,16 @@ var debounce = (cb, wait = 100) => {
74
86
  t = setTimeout(() => cb(...args), wait);
75
87
  };
76
88
  };
89
+ var debounceAndThrottle = (cb, wait = 100) => {
90
+ const debounced = debounce(cb, wait);
91
+ const throttled = throttle(cb, wait);
92
+ return (...args) => {
93
+ debounced(...args);
94
+ throttled(...args);
95
+ };
96
+ };
77
97
 
78
- // packages/common/async/src/errors.ts
98
+ // src/errors.ts
79
99
  var toError = (err) => err === void 0 || typeof err === "string" ? new Error(err) : err;
80
100
  var TimeoutError = class extends Error {
81
101
  constructor(timeout2, label) {
@@ -90,7 +110,7 @@ var observableError = (observable, err) => {
90
110
  }
91
111
  };
92
112
 
93
- // packages/common/async/src/timeout.ts
113
+ // src/timeout.ts
94
114
  import { ContextDisposedError } from "@dxos/context";
95
115
  var sleep = (ms) => {
96
116
  return new Promise((resolve) => {
@@ -147,7 +167,7 @@ var sleepWithContext = (ctx, ms) => {
147
167
  });
148
168
  };
149
169
 
150
- // packages/common/async/src/event-emitter.ts
170
+ // src/event-emitter.ts
151
171
  var onEvent = (eventEmitter, eventName, callback) => {
152
172
  eventEmitter.on(eventName, callback);
153
173
  return () => eventEmitter.off(eventName, callback);
@@ -170,9 +190,9 @@ var waitForEvent = (eventEmitter, eventName, test, timeout2, error) => {
170
190
  return timeout2 ? asyncTimeout(promise, timeout2, error ?? new Error()).finally(off) : promise.finally(off);
171
191
  };
172
192
 
173
- // packages/common/async/src/events.ts
193
+ // src/events.ts
174
194
  import { Context } from "@dxos/context";
175
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/async/src/events.ts";
195
+ var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
176
196
  var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
177
197
  var Event = class _Event {
178
198
  constructor() {
@@ -498,9 +518,9 @@ var weakListeners = () => {
498
518
  };
499
519
  };
500
520
 
501
- // packages/common/async/src/latch.ts
521
+ // src/latch.ts
502
522
  import { invariant } from "@dxos/invariant";
503
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/async/src/latch.ts";
523
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/latch.ts";
504
524
  var latch = ({ count = 1, timeout: timeout2 } = {}) => {
505
525
  invariant(count >= 0, void 0, {
506
526
  F: __dxlog_file2,
@@ -548,7 +568,7 @@ var latch = ({ count = 1, timeout: timeout2 } = {}) => {
548
568
  ];
549
569
  };
550
570
 
551
- // packages/common/async/src/mutex.ts
571
+ // src/mutex.ts
552
572
  import "@dxos/util";
553
573
  import { warnAfterTimeout } from "@dxos/debug";
554
574
  var Mutex = class {
@@ -640,11 +660,11 @@ var synchronized = (target, propertyName, descriptor) => {
640
660
  });
641
661
  };
642
662
 
643
- // packages/common/async/src/observable.ts
663
+ // src/observable.ts
644
664
  import Observable from "zen-observable";
645
665
  import PushStream from "zen-push";
646
666
 
647
- // packages/common/async/src/trigger.ts
667
+ // src/trigger.ts
648
668
  var trigger = (timeout2) => {
649
669
  let callback;
650
670
  const promise = new Promise((resolve, reject) => {
@@ -732,7 +752,7 @@ var Trigger = class {
732
752
  }
733
753
  };
734
754
 
735
- // packages/common/async/src/observable.ts
755
+ // src/observable.ts
736
756
  var MulticastObservable = class _MulticastObservable extends Observable {
737
757
  constructor(subscriber, _value) {
738
758
  super((observer) => this._subscribe(observer)), this._value = _value, this._observers = /* @__PURE__ */ new Set(), this._completed = new Trigger(), this._handlers = {
@@ -834,7 +854,7 @@ var MulticastObservable = class _MulticastObservable extends Observable {
834
854
  };
835
855
  var EMPTY_OBSERVABLE = MulticastObservable.of(null);
836
856
 
837
- // packages/common/async/src/observable-value.ts
857
+ // src/observable-value.ts
838
858
  import { createSetDispatch } from "@dxos/util";
839
859
  var ObservableProvider = class {
840
860
  constructor() {
@@ -879,19 +899,19 @@ var CancellableObservableProvider = class extends ObservableProvider {
879
899
  }
880
900
  };
881
901
 
882
- // packages/common/async/src/persistent-lifecycle.ts
902
+ // src/persistent-lifecycle.ts
883
903
  import { LifecycleState, Resource, cancelWithContext } from "@dxos/context";
884
904
  import { warnAfterTimeout as warnAfterTimeout2 } from "@dxos/debug";
885
905
  import { log as log2 } from "@dxos/log";
886
906
 
887
- // packages/common/async/src/task-scheduling.ts
907
+ // src/task-scheduling.ts
888
908
  import { ContextDisposedError as ContextDisposedError2 } from "@dxos/context";
889
909
  import { StackTrace as StackTrace2 } from "@dxos/debug";
890
910
 
891
- // packages/common/async/src/track-leaks.ts
911
+ // src/track-leaks.ts
892
912
  import { StackTrace } from "@dxos/debug";
893
913
  import { log } from "@dxos/log";
894
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/common/async/src/track-leaks.ts";
914
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/common/async/src/track-leaks.ts";
895
915
  var enabled = typeof process !== "undefined" && !!process.env.DX_TRACK_LEAKS;
896
916
  var openResources = /* @__PURE__ */ new Set();
897
917
  var handleSymbol = Symbol("checkLeaksHandle");
@@ -972,7 +992,7 @@ if (enabled) {
972
992
  global.dxDumpLeaks = dumpLeaks;
973
993
  }
974
994
 
975
- // packages/common/async/src/task-scheduling.ts
995
+ // src/task-scheduling.ts
976
996
  var DeferredTask = class {
977
997
  constructor(_ctx, _callback) {
978
998
  this._ctx = _ctx;
@@ -1098,14 +1118,14 @@ var scheduleExponentialBackoffTaskInterval = (ctx, task, initialInterval) => {
1098
1118
  });
1099
1119
  };
1100
1120
 
1101
- // packages/common/async/src/persistent-lifecycle.ts
1121
+ // src/persistent-lifecycle.ts
1102
1122
  function _ts_decorate(decorators, target, key, desc) {
1103
1123
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1104
1124
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1105
1125
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1106
1126
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1107
1127
  }
1108
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/async/src/persistent-lifecycle.ts";
1128
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecycle.ts";
1109
1129
  var INIT_RESTART_DELAY = 100;
1110
1130
  var DEFAULT_MAX_RESTART_DELAY = 5e3;
1111
1131
  var PersistentLifecycle = class extends Resource {
@@ -1209,9 +1229,9 @@ _ts_decorate([
1209
1229
  synchronized
1210
1230
  ], PersistentLifecycle.prototype, "scheduleRestart", null);
1211
1231
 
1212
- // packages/common/async/src/push-iterable.ts
1232
+ // src/push-iterable.ts
1213
1233
  import { invariant as invariant2 } from "@dxos/invariant";
1214
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/common/async/src/push-iterable.ts";
1234
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/common/async/src/push-iterable.ts";
1215
1235
  var makePushIterable = () => {
1216
1236
  const buf = [];
1217
1237
  const trigger2 = new Trigger({
@@ -1275,7 +1295,7 @@ var makePushIterable = () => {
1275
1295
  };
1276
1296
  };
1277
1297
 
1278
- // packages/common/async/src/sink.ts
1298
+ // src/sink.ts
1279
1299
  var sink = (emitter, event, count = 1) => {
1280
1300
  const [getPromise, resolve] = trigger();
1281
1301
  let counter = 0;
@@ -1289,7 +1309,7 @@ var sink = (emitter, event, count = 1) => {
1289
1309
  return getPromise();
1290
1310
  };
1291
1311
 
1292
- // packages/common/async/src/stream-to-array.ts
1312
+ // src/stream-to-array.ts
1293
1313
  var streamToArray = (stream) => {
1294
1314
  let deferred;
1295
1315
  if (!stream.readable) {
@@ -1331,7 +1351,7 @@ var streamToArray = (stream) => {
1331
1351
  return deferred;
1332
1352
  };
1333
1353
 
1334
- // packages/common/async/src/test-stream.ts
1354
+ // src/test-stream.ts
1335
1355
  import { Duplex } from "node:stream";
1336
1356
  var TestStream = class extends Duplex {
1337
1357
  constructor() {
@@ -1367,7 +1387,7 @@ var TestStream = class extends Duplex {
1367
1387
  }
1368
1388
  };
1369
1389
 
1370
- // packages/common/async/src/testing.ts
1390
+ // src/testing.ts
1371
1391
  var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2 = 10, error, breakOnError = false }) => {
1372
1392
  const stopTime = timeout2 ? Date.now() + timeout2 : 0;
1373
1393
  const trigger2 = new Trigger();
@@ -1393,7 +1413,7 @@ var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2
1393
1413
  });
1394
1414
  };
1395
1415
 
1396
- // packages/common/async/src/timer.ts
1416
+ // src/timer.ts
1397
1417
  var Timer = class {
1398
1418
  constructor(_callback) {
1399
1419
  this._callback = _callback;
@@ -1441,7 +1461,7 @@ var Timer = class {
1441
1461
  }
1442
1462
  };
1443
1463
 
1444
- // packages/common/async/src/until.ts
1464
+ // src/until.ts
1445
1465
  var until = (cb, timeout2) => {
1446
1466
  return new Promise((resolve, reject) => {
1447
1467
  const t = timeout2 && setTimeout(() => {
@@ -1476,7 +1496,7 @@ var untilError = (cb) => {
1476
1496
  });
1477
1497
  };
1478
1498
 
1479
- // packages/common/async/src/update-scheduler.ts
1499
+ // src/update-scheduler.ts
1480
1500
  var TIME_PERIOD = 1e3;
1481
1501
  var UpdateScheduler = class {
1482
1502
  constructor(_ctx, _callback, _params = {}) {
@@ -1574,6 +1594,7 @@ export {
1574
1594
  combine,
1575
1595
  createPromiseFromCallback,
1576
1596
  debounce,
1597
+ debounceAndThrottle,
1577
1598
  dumpLeaks,
1578
1599
  interval,
1579
1600
  latch,
@@ -1591,6 +1612,7 @@ export {
1591
1612
  sleepWithContext,
1592
1613
  streamToArray,
1593
1614
  synchronized,
1615
+ throttle,
1594
1616
  timeout,
1595
1617
  toError,
1596
1618
  trackLeaks,