@dxos/async 0.8.4-main.84f28bd → 0.8.4-main.c1de068
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 +119 -140
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +119 -140
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/callback.d.ts +2 -1
- package/dist/types/src/callback.d.ts.map +1 -1
- package/dist/types/src/chain.d.ts +1 -1
- package/dist/types/src/chain.d.ts.map +1 -1
- package/dist/types/src/cleanup.d.ts +1 -1
- package/dist/types/src/cleanup.d.ts.map +1 -1
- package/dist/types/src/debounce.d.ts +16 -2
- package/dist/types/src/debounce.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -5
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/testing.d.ts +13 -0
- package/dist/types/src/testing.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/src/trigger.d.ts +11 -0
- package/dist/types/src/trigger.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/callback.ts +3 -3
- package/src/chain.ts +1 -1
- package/src/cleanup.ts +3 -3
- package/src/debounce.test.ts +69 -12
- package/src/debounce.ts +32 -11
- package/src/event-emitter.test.ts +1 -1
- package/src/index.ts +0 -5
- package/src/observable-value.test.ts +1 -1
- package/src/testing.test.ts +41 -1
- package/src/testing.ts +53 -0
- package/src/timeout.ts +23 -22
- package/src/trigger.ts +58 -1
- package/src/update-scheduler.ts +1 -1
- package/dist/types/src/latch.d.ts +0 -11
- package/dist/types/src/latch.d.ts.map +0 -1
- package/dist/types/src/sink.d.ts +0 -6
- package/dist/types/src/sink.d.ts.map +0 -1
- package/dist/types/src/throttle.d.ts +0 -2
- package/dist/types/src/throttle.d.ts.map +0 -1
- package/dist/types/src/throttle.test.d.ts +0 -2
- package/dist/types/src/throttle.test.d.ts.map +0 -1
- package/dist/types/src/types.d.ts +0 -2
- package/dist/types/src/types.d.ts.map +0 -1
- package/dist/types/src/until.d.ts +0 -14
- package/dist/types/src/until.d.ts.map +0 -1
- package/dist/types/src/until.test.d.ts +0 -2
- package/dist/types/src/until.test.d.ts.map +0 -1
- package/src/latch.ts +0 -60
- package/src/sink.ts +0 -26
- package/src/throttle.test.ts +0 -65
- package/src/throttle.ts +0 -14
- package/src/types.ts +0 -5
- package/src/until.test.ts +0 -47
- package/src/until.ts +0 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/callback.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6540,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/debounce.ts":{"bytes":4306,"imports":[],"format":"esm"},"src/errors.ts":{"bytes":2911,"imports":[],"format":"esm"},"src/timeout.ts":{"bytes":8042,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"src/errors.ts","kind":"import-statement","original":"./errors"}],"format":"esm"},"src/event-emitter.ts":{"bytes":4155,"imports":[{"path":"src/timeout.ts","kind":"import-statement","original":"./timeout"}],"format":"esm"},"src/events.ts":{"bytes":39504,"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":14081,"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":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/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":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":5937,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/update-scheduler.ts":{"bytes":9812,"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":98361},"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/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":"@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","asyncReturn","asyncTimeout","chain","combine","debounce","debounceAndThrottle","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":1059},"src/debounce.ts":{"bytesInOutput":557},"src/errors.ts":{"bytesInOutput":476},"src/timeout.ts":{"bytesInOutput":1486},"src/event-emitter.ts":{"bytesInOutput":697},"src/events.ts":{"bytesInOutput":8711},"src/mutex.ts":{"bytesInOutput":2444},"src/observable.ts":{"bytesInOutput":3699},"src/trigger.ts":{"bytesInOutput":2972},"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/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":976},"src/testing.ts":{"bytesInOutput":1419},"src/timer.ts":{"bytesInOutput":1056},"src/update-scheduler.ts":{"bytesInOutput":1855}},"bytes":41409}}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// src/callback.ts
|
|
4
|
-
var
|
|
4
|
+
var promiseFromCallback = (run) => new Promise((resolve, reject) => {
|
|
5
5
|
run((error, value) => {
|
|
6
6
|
if (error) {
|
|
7
7
|
reject(error);
|
|
@@ -12,9 +12,9 @@ var createPromiseFromCallback = (run) => new Promise((resolve, reject) => {
|
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
// src/chain.ts
|
|
15
|
-
var
|
|
15
|
+
var chain = (chain2) => async (elements) => {
|
|
16
16
|
let result = await elements;
|
|
17
|
-
for (const part of
|
|
17
|
+
for (const part of chain2) {
|
|
18
18
|
result = await Promise.all(result.map(async (element) => await part(element)));
|
|
19
19
|
}
|
|
20
20
|
return result;
|
|
@@ -35,10 +35,10 @@ var interval = (cb, ms) => {
|
|
|
35
35
|
const t = setInterval(cb, ms);
|
|
36
36
|
return () => clearInterval(t);
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
var addEventListener = (target, type, listener, options) => {
|
|
39
39
|
target.addEventListener(type, listener, options);
|
|
40
40
|
return () => target.removeEventListener(type, listener, options);
|
|
41
|
-
}
|
|
41
|
+
};
|
|
42
42
|
var SubscriptionList = class {
|
|
43
43
|
constructor() {
|
|
44
44
|
this._cleanups = [];
|
|
@@ -66,29 +66,27 @@ var SubscriptionSet = class {
|
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
// src/
|
|
70
|
-
var
|
|
69
|
+
// src/debounce.ts
|
|
70
|
+
var debounce = (cb, delay = 100) => {
|
|
71
|
+
let t;
|
|
72
|
+
return (...args) => {
|
|
73
|
+
clearTimeout(t);
|
|
74
|
+
t = setTimeout(() => cb(...args), delay);
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
var throttle = (cb, delay = 100) => {
|
|
71
78
|
let lastCall = 0;
|
|
72
79
|
return (...args) => {
|
|
73
80
|
const now = Date.now();
|
|
74
|
-
if (now - lastCall >=
|
|
81
|
+
if (now - lastCall >= delay) {
|
|
75
82
|
cb(...args);
|
|
76
83
|
lastCall = now;
|
|
77
84
|
}
|
|
78
85
|
};
|
|
79
86
|
};
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
let t;
|
|
84
|
-
return (...args) => {
|
|
85
|
-
clearTimeout(t);
|
|
86
|
-
t = setTimeout(() => cb(...args), wait);
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
var debounceAndThrottle = (cb, wait = 100) => {
|
|
90
|
-
const debounced = debounce(cb, wait);
|
|
91
|
-
const throttled = throttle(cb, wait);
|
|
87
|
+
var debounceAndThrottle = (cb, delay = 100) => {
|
|
88
|
+
const debounced = debounce(cb, delay);
|
|
89
|
+
const throttled = throttle(cb, delay);
|
|
92
90
|
return (...args) => {
|
|
93
91
|
debounced(...args);
|
|
94
92
|
throttled(...args);
|
|
@@ -126,6 +124,23 @@ var sleep = (ms) => {
|
|
|
126
124
|
sleeper();
|
|
127
125
|
});
|
|
128
126
|
};
|
|
127
|
+
var sleepWithContext = (ctx, ms) => {
|
|
128
|
+
const error = new ContextDisposedError();
|
|
129
|
+
return new Promise((resolve, reject) => {
|
|
130
|
+
if (ctx.disposed) {
|
|
131
|
+
reject(error);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const timeout2 = setTimeout(() => {
|
|
135
|
+
clearDispose();
|
|
136
|
+
resolve();
|
|
137
|
+
}, ms);
|
|
138
|
+
const clearDispose = ctx.onDispose(() => {
|
|
139
|
+
clearTimeout(timeout2);
|
|
140
|
+
reject(error);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
};
|
|
129
144
|
var asyncReturn = () => sleep(0);
|
|
130
145
|
var asyncTimeout = async (promise, timeout2, err) => {
|
|
131
146
|
let timeoutId;
|
|
@@ -136,7 +151,7 @@ var asyncTimeout = async (promise, timeout2, err) => {
|
|
|
136
151
|
}, timeout2);
|
|
137
152
|
unrefTimeout(timeoutId);
|
|
138
153
|
});
|
|
139
|
-
const conditionTimeout = typeof promise === "function" ?
|
|
154
|
+
const conditionTimeout = typeof promise === "function" ? promiseFromCallback(promise) : promise;
|
|
140
155
|
return await Promise.race([
|
|
141
156
|
conditionTimeout,
|
|
142
157
|
timeoutPromise
|
|
@@ -149,23 +164,6 @@ var unrefTimeout = (timeoutId) => {
|
|
|
149
164
|
timeoutId.unref();
|
|
150
165
|
}
|
|
151
166
|
};
|
|
152
|
-
var sleepWithContext = (ctx, ms) => {
|
|
153
|
-
const error = new ContextDisposedError();
|
|
154
|
-
return new Promise((resolve, reject) => {
|
|
155
|
-
if (ctx.disposed) {
|
|
156
|
-
reject(error);
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
const timeout2 = setTimeout(() => {
|
|
160
|
-
clearDispose();
|
|
161
|
-
resolve();
|
|
162
|
-
}, ms);
|
|
163
|
-
const clearDispose = ctx.onDispose(() => {
|
|
164
|
-
clearTimeout(timeout2);
|
|
165
|
-
reject(error);
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
167
|
|
|
170
168
|
// src/event-emitter.ts
|
|
171
169
|
var onEvent = (eventEmitter, eventName, callback) => {
|
|
@@ -518,56 +516,6 @@ var weakListeners = () => {
|
|
|
518
516
|
};
|
|
519
517
|
};
|
|
520
518
|
|
|
521
|
-
// src/latch.ts
|
|
522
|
-
import { invariant } from "@dxos/invariant";
|
|
523
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/latch.ts";
|
|
524
|
-
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
525
|
-
invariant(count >= 0, void 0, {
|
|
526
|
-
F: __dxlog_file2,
|
|
527
|
-
L: 19,
|
|
528
|
-
S: void 0,
|
|
529
|
-
A: [
|
|
530
|
-
"count >= 0",
|
|
531
|
-
""
|
|
532
|
-
]
|
|
533
|
-
});
|
|
534
|
-
let t;
|
|
535
|
-
let doResolve;
|
|
536
|
-
let doReject;
|
|
537
|
-
const promise = new Promise((resolve, reject) => {
|
|
538
|
-
doResolve = (value) => {
|
|
539
|
-
clearTimeout(t);
|
|
540
|
-
resolve(value);
|
|
541
|
-
};
|
|
542
|
-
doReject = (err) => {
|
|
543
|
-
clearTimeout(t);
|
|
544
|
-
reject(err);
|
|
545
|
-
};
|
|
546
|
-
});
|
|
547
|
-
if (count === 0) {
|
|
548
|
-
setTimeout(() => {
|
|
549
|
-
doResolve(0);
|
|
550
|
-
});
|
|
551
|
-
} else {
|
|
552
|
-
if (timeout2) {
|
|
553
|
-
t = setTimeout(() => {
|
|
554
|
-
doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
|
|
555
|
-
}, timeout2);
|
|
556
|
-
}
|
|
557
|
-
}
|
|
558
|
-
let i = 0;
|
|
559
|
-
return [
|
|
560
|
-
async () => await promise,
|
|
561
|
-
() => {
|
|
562
|
-
if (++i === count) {
|
|
563
|
-
doResolve(i);
|
|
564
|
-
}
|
|
565
|
-
return i;
|
|
566
|
-
},
|
|
567
|
-
(err) => doReject(err)
|
|
568
|
-
];
|
|
569
|
-
};
|
|
570
|
-
|
|
571
519
|
// src/mutex.ts
|
|
572
520
|
import "@dxos/util";
|
|
573
521
|
import { warnAfterTimeout } from "@dxos/debug";
|
|
@@ -665,6 +613,8 @@ import Observable from "zen-observable";
|
|
|
665
613
|
import PushStream from "zen-push";
|
|
666
614
|
|
|
667
615
|
// src/trigger.ts
|
|
616
|
+
import { invariant } from "@dxos/invariant";
|
|
617
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
|
|
668
618
|
var trigger = (timeout2) => {
|
|
669
619
|
let callback;
|
|
670
620
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -751,6 +701,52 @@ var Trigger = class {
|
|
|
751
701
|
return this;
|
|
752
702
|
}
|
|
753
703
|
};
|
|
704
|
+
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
705
|
+
invariant(count >= 0, void 0, {
|
|
706
|
+
F: __dxlog_file2,
|
|
707
|
+
L: 139,
|
|
708
|
+
S: void 0,
|
|
709
|
+
A: [
|
|
710
|
+
"count >= 0",
|
|
711
|
+
""
|
|
712
|
+
]
|
|
713
|
+
});
|
|
714
|
+
let t;
|
|
715
|
+
let doResolve;
|
|
716
|
+
let doReject;
|
|
717
|
+
const promise = new Promise((resolve, reject) => {
|
|
718
|
+
doResolve = (value) => {
|
|
719
|
+
clearTimeout(t);
|
|
720
|
+
resolve(value);
|
|
721
|
+
};
|
|
722
|
+
doReject = (err) => {
|
|
723
|
+
clearTimeout(t);
|
|
724
|
+
reject(err);
|
|
725
|
+
};
|
|
726
|
+
});
|
|
727
|
+
if (count === 0) {
|
|
728
|
+
setTimeout(() => {
|
|
729
|
+
doResolve(0);
|
|
730
|
+
});
|
|
731
|
+
} else {
|
|
732
|
+
if (timeout2) {
|
|
733
|
+
t = setTimeout(() => {
|
|
734
|
+
doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
|
|
735
|
+
}, timeout2);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
let i = 0;
|
|
739
|
+
return [
|
|
740
|
+
async () => await promise,
|
|
741
|
+
() => {
|
|
742
|
+
if (++i === count) {
|
|
743
|
+
doResolve(i);
|
|
744
|
+
}
|
|
745
|
+
return i;
|
|
746
|
+
},
|
|
747
|
+
(err) => doReject(err)
|
|
748
|
+
];
|
|
749
|
+
};
|
|
754
750
|
|
|
755
751
|
// src/observable.ts
|
|
756
752
|
var MulticastObservable = class _MulticastObservable extends Observable {
|
|
@@ -1295,20 +1291,6 @@ var makePushIterable = () => {
|
|
|
1295
1291
|
};
|
|
1296
1292
|
};
|
|
1297
1293
|
|
|
1298
|
-
// src/sink.ts
|
|
1299
|
-
var sink = (emitter, event, count = 1) => {
|
|
1300
|
-
const [getPromise, resolve] = trigger();
|
|
1301
|
-
let counter = 0;
|
|
1302
|
-
const listener = () => {
|
|
1303
|
-
if (++counter === count) {
|
|
1304
|
-
emitter.off(event, listener);
|
|
1305
|
-
resolve();
|
|
1306
|
-
}
|
|
1307
|
-
};
|
|
1308
|
-
emitter.on(event, listener);
|
|
1309
|
-
return getPromise();
|
|
1310
|
-
};
|
|
1311
|
-
|
|
1312
1294
|
// src/stream-to-array.ts
|
|
1313
1295
|
var streamToArray = (stream) => {
|
|
1314
1296
|
let deferred;
|
|
@@ -1412,6 +1394,39 @@ var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2
|
|
|
1412
1394
|
timeout: timeout2
|
|
1413
1395
|
});
|
|
1414
1396
|
};
|
|
1397
|
+
var until = (cb, timeout2) => {
|
|
1398
|
+
return new Promise((resolve, reject) => {
|
|
1399
|
+
const t = timeout2 && setTimeout(() => {
|
|
1400
|
+
reject(new Error(`Timeout after ${t}ms`));
|
|
1401
|
+
}, timeout2);
|
|
1402
|
+
setTimeout(async () => {
|
|
1403
|
+
try {
|
|
1404
|
+
await cb((value) => {
|
|
1405
|
+
t && clearTimeout(t);
|
|
1406
|
+
resolve(value);
|
|
1407
|
+
}, (error) => {
|
|
1408
|
+
t && clearTimeout(t);
|
|
1409
|
+
reject(error);
|
|
1410
|
+
});
|
|
1411
|
+
} catch (err) {
|
|
1412
|
+
reject(err);
|
|
1413
|
+
}
|
|
1414
|
+
});
|
|
1415
|
+
});
|
|
1416
|
+
};
|
|
1417
|
+
var untilPromise = (cb) => cb();
|
|
1418
|
+
var untilError = (cb) => {
|
|
1419
|
+
return new Promise((resolve, reject) => {
|
|
1420
|
+
setTimeout(async () => {
|
|
1421
|
+
try {
|
|
1422
|
+
await cb();
|
|
1423
|
+
reject(new Error("No error was thrown."));
|
|
1424
|
+
} catch (err) {
|
|
1425
|
+
resolve(err);
|
|
1426
|
+
}
|
|
1427
|
+
});
|
|
1428
|
+
});
|
|
1429
|
+
};
|
|
1415
1430
|
|
|
1416
1431
|
// src/timer.ts
|
|
1417
1432
|
var Timer = class {
|
|
@@ -1461,41 +1476,6 @@ var Timer = class {
|
|
|
1461
1476
|
}
|
|
1462
1477
|
};
|
|
1463
1478
|
|
|
1464
|
-
// src/until.ts
|
|
1465
|
-
var until = (cb, timeout2) => {
|
|
1466
|
-
return new Promise((resolve, reject) => {
|
|
1467
|
-
const t = timeout2 && setTimeout(() => {
|
|
1468
|
-
reject(new Error(`Timeout after ${t}ms`));
|
|
1469
|
-
}, timeout2);
|
|
1470
|
-
setTimeout(async () => {
|
|
1471
|
-
try {
|
|
1472
|
-
await cb((value) => {
|
|
1473
|
-
t && clearTimeout(t);
|
|
1474
|
-
resolve(value);
|
|
1475
|
-
}, (error) => {
|
|
1476
|
-
t && clearTimeout(t);
|
|
1477
|
-
reject(error);
|
|
1478
|
-
});
|
|
1479
|
-
} catch (err) {
|
|
1480
|
-
reject(err);
|
|
1481
|
-
}
|
|
1482
|
-
});
|
|
1483
|
-
});
|
|
1484
|
-
};
|
|
1485
|
-
var untilPromise = (cb) => cb();
|
|
1486
|
-
var untilError = (cb) => {
|
|
1487
|
-
return new Promise((resolve, reject) => {
|
|
1488
|
-
setTimeout(async () => {
|
|
1489
|
-
try {
|
|
1490
|
-
await cb();
|
|
1491
|
-
reject(new Error("No error was thrown."));
|
|
1492
|
-
} catch (err) {
|
|
1493
|
-
resolve(err);
|
|
1494
|
-
}
|
|
1495
|
-
});
|
|
1496
|
-
});
|
|
1497
|
-
};
|
|
1498
|
-
|
|
1499
1479
|
// src/update-scheduler.ts
|
|
1500
1480
|
var TIME_PERIOD = 1e3;
|
|
1501
1481
|
var UpdateScheduler = class {
|
|
@@ -1588,11 +1568,10 @@ export {
|
|
|
1588
1568
|
UpdateScheduler,
|
|
1589
1569
|
addEventListener,
|
|
1590
1570
|
addListener,
|
|
1591
|
-
asyncChain,
|
|
1592
1571
|
asyncReturn,
|
|
1593
1572
|
asyncTimeout,
|
|
1573
|
+
chain,
|
|
1594
1574
|
combine,
|
|
1595
|
-
createPromiseFromCallback,
|
|
1596
1575
|
debounce,
|
|
1597
1576
|
debounceAndThrottle,
|
|
1598
1577
|
dumpLeaks,
|
|
@@ -1601,13 +1580,13 @@ export {
|
|
|
1601
1580
|
makePushIterable,
|
|
1602
1581
|
observableError,
|
|
1603
1582
|
onEvent,
|
|
1583
|
+
promiseFromCallback,
|
|
1604
1584
|
runInContext,
|
|
1605
1585
|
runInContextAsync,
|
|
1606
1586
|
scheduleExponentialBackoffTaskInterval,
|
|
1607
1587
|
scheduleMicroTask,
|
|
1608
1588
|
scheduleTask,
|
|
1609
1589
|
scheduleTaskInterval,
|
|
1610
|
-
sink,
|
|
1611
1590
|
sleep,
|
|
1612
1591
|
sleepWithContext,
|
|
1613
1592
|
streamToArray,
|