@dxos/async 0.8.3 → 0.8.4-main.2e9d522
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 +156 -155
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +156 -155
- 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 +19 -1
- package/dist/types/src/debounce.d.ts.map +1 -1
- package/dist/types/src/debounce.test.d.ts +2 -0
- package/dist/types/src/debounce.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +0 -4
- 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 +115 -0
- package/src/debounce.ts +40 -4
- package/src/event-emitter.test.ts +1 -1
- package/src/events.test.ts +1 -1
- package/src/index.ts +0 -4
- 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/lib/node/index.cjs +0 -1638
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -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/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/types.ts +0 -5
- package/src/until.test.ts +0 -47
- package/src/until.ts +0 -58
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
var
|
|
1
|
+
// src/callback.ts
|
|
2
|
+
var promiseFromCallback = (run) => new Promise((resolve, reject) => {
|
|
3
3
|
run((error, value) => {
|
|
4
4
|
if (error) {
|
|
5
5
|
reject(error);
|
|
@@ -9,16 +9,16 @@ var createPromiseFromCallback = (run) => new Promise((resolve, reject) => {
|
|
|
9
9
|
});
|
|
10
10
|
});
|
|
11
11
|
|
|
12
|
-
//
|
|
13
|
-
var
|
|
12
|
+
// src/chain.ts
|
|
13
|
+
var chain = (chain2) => async (elements) => {
|
|
14
14
|
let result = await elements;
|
|
15
|
-
for (const part of
|
|
15
|
+
for (const part of chain2) {
|
|
16
16
|
result = await Promise.all(result.map(async (element) => await part(element)));
|
|
17
17
|
}
|
|
18
18
|
return result;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
//
|
|
21
|
+
// src/cleanup.ts
|
|
22
22
|
import { ComplexMap } from "@dxos/util";
|
|
23
23
|
var combine = (...cleanupFns) => {
|
|
24
24
|
return () => {
|
|
@@ -33,10 +33,10 @@ var interval = (cb, ms) => {
|
|
|
33
33
|
const t = setInterval(cb, ms);
|
|
34
34
|
return () => clearInterval(t);
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
var addEventListener = (target, type, listener, options) => {
|
|
37
37
|
target.addEventListener(type, listener, options);
|
|
38
38
|
return () => target.removeEventListener(type, listener, options);
|
|
39
|
-
}
|
|
39
|
+
};
|
|
40
40
|
var SubscriptionList = class {
|
|
41
41
|
constructor() {
|
|
42
42
|
this._cleanups = [];
|
|
@@ -64,16 +64,34 @@ var SubscriptionSet = class {
|
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
//
|
|
68
|
-
var debounce = (cb,
|
|
67
|
+
// src/debounce.ts
|
|
68
|
+
var debounce = (cb, delay = 100) => {
|
|
69
69
|
let t;
|
|
70
70
|
return (...args) => {
|
|
71
71
|
clearTimeout(t);
|
|
72
|
-
t = setTimeout(() => cb(...args),
|
|
72
|
+
t = setTimeout(() => cb(...args), delay);
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
var throttle = (cb, delay = 100) => {
|
|
76
|
+
let lastCall = 0;
|
|
77
|
+
return (...args) => {
|
|
78
|
+
const now = Date.now();
|
|
79
|
+
if (now - lastCall >= delay) {
|
|
80
|
+
cb(...args);
|
|
81
|
+
lastCall = now;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
var debounceAndThrottle = (cb, delay = 100) => {
|
|
86
|
+
const debounced = debounce(cb, delay);
|
|
87
|
+
const throttled = throttle(cb, delay);
|
|
88
|
+
return (...args) => {
|
|
89
|
+
debounced(...args);
|
|
90
|
+
throttled(...args);
|
|
73
91
|
};
|
|
74
92
|
};
|
|
75
93
|
|
|
76
|
-
//
|
|
94
|
+
// src/errors.ts
|
|
77
95
|
var toError = (err) => err === void 0 || typeof err === "string" ? new Error(err) : err;
|
|
78
96
|
var TimeoutError = class extends Error {
|
|
79
97
|
constructor(timeout2, label) {
|
|
@@ -88,7 +106,7 @@ var observableError = (observable, err) => {
|
|
|
88
106
|
}
|
|
89
107
|
};
|
|
90
108
|
|
|
91
|
-
//
|
|
109
|
+
// src/timeout.ts
|
|
92
110
|
import { ContextDisposedError } from "@dxos/context";
|
|
93
111
|
var sleep = (ms) => {
|
|
94
112
|
return new Promise((resolve) => {
|
|
@@ -104,6 +122,23 @@ var sleep = (ms) => {
|
|
|
104
122
|
sleeper();
|
|
105
123
|
});
|
|
106
124
|
};
|
|
125
|
+
var sleepWithContext = (ctx, ms) => {
|
|
126
|
+
const error = new ContextDisposedError();
|
|
127
|
+
return new Promise((resolve, reject) => {
|
|
128
|
+
if (ctx.disposed) {
|
|
129
|
+
reject(error);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const timeout2 = setTimeout(() => {
|
|
133
|
+
clearDispose();
|
|
134
|
+
resolve();
|
|
135
|
+
}, ms);
|
|
136
|
+
const clearDispose = ctx.onDispose(() => {
|
|
137
|
+
clearTimeout(timeout2);
|
|
138
|
+
reject(error);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
};
|
|
107
142
|
var asyncReturn = () => sleep(0);
|
|
108
143
|
var asyncTimeout = async (promise, timeout2, err) => {
|
|
109
144
|
let timeoutId;
|
|
@@ -114,7 +149,7 @@ var asyncTimeout = async (promise, timeout2, err) => {
|
|
|
114
149
|
}, timeout2);
|
|
115
150
|
unrefTimeout(timeoutId);
|
|
116
151
|
});
|
|
117
|
-
const conditionTimeout = typeof promise === "function" ?
|
|
152
|
+
const conditionTimeout = typeof promise === "function" ? promiseFromCallback(promise) : promise;
|
|
118
153
|
return await Promise.race([
|
|
119
154
|
conditionTimeout,
|
|
120
155
|
timeoutPromise
|
|
@@ -127,25 +162,8 @@ var unrefTimeout = (timeoutId) => {
|
|
|
127
162
|
timeoutId.unref();
|
|
128
163
|
}
|
|
129
164
|
};
|
|
130
|
-
var sleepWithContext = (ctx, ms) => {
|
|
131
|
-
const error = new ContextDisposedError();
|
|
132
|
-
return new Promise((resolve, reject) => {
|
|
133
|
-
if (ctx.disposed) {
|
|
134
|
-
reject(error);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
const timeout2 = setTimeout(() => {
|
|
138
|
-
clearDispose();
|
|
139
|
-
resolve();
|
|
140
|
-
}, ms);
|
|
141
|
-
const clearDispose = ctx.onDispose(() => {
|
|
142
|
-
clearTimeout(timeout2);
|
|
143
|
-
reject(error);
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
};
|
|
147
165
|
|
|
148
|
-
//
|
|
166
|
+
// src/event-emitter.ts
|
|
149
167
|
var onEvent = (eventEmitter, eventName, callback) => {
|
|
150
168
|
eventEmitter.on(eventName, callback);
|
|
151
169
|
return () => eventEmitter.off(eventName, callback);
|
|
@@ -168,9 +186,9 @@ var waitForEvent = (eventEmitter, eventName, test, timeout2, error) => {
|
|
|
168
186
|
return timeout2 ? asyncTimeout(promise, timeout2, error ?? new Error()).finally(off) : promise.finally(off);
|
|
169
187
|
};
|
|
170
188
|
|
|
171
|
-
//
|
|
189
|
+
// src/events.ts
|
|
172
190
|
import { Context } from "@dxos/context";
|
|
173
|
-
var __dxlog_file = "/
|
|
191
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
|
|
174
192
|
var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
|
|
175
193
|
var Event = class _Event {
|
|
176
194
|
constructor() {
|
|
@@ -496,57 +514,7 @@ var weakListeners = () => {
|
|
|
496
514
|
};
|
|
497
515
|
};
|
|
498
516
|
|
|
499
|
-
//
|
|
500
|
-
import { invariant } from "@dxos/invariant";
|
|
501
|
-
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/async/src/latch.ts";
|
|
502
|
-
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
503
|
-
invariant(count >= 0, void 0, {
|
|
504
|
-
F: __dxlog_file2,
|
|
505
|
-
L: 19,
|
|
506
|
-
S: void 0,
|
|
507
|
-
A: [
|
|
508
|
-
"count >= 0",
|
|
509
|
-
""
|
|
510
|
-
]
|
|
511
|
-
});
|
|
512
|
-
let t;
|
|
513
|
-
let doResolve;
|
|
514
|
-
let doReject;
|
|
515
|
-
const promise = new Promise((resolve, reject) => {
|
|
516
|
-
doResolve = (value) => {
|
|
517
|
-
clearTimeout(t);
|
|
518
|
-
resolve(value);
|
|
519
|
-
};
|
|
520
|
-
doReject = (err) => {
|
|
521
|
-
clearTimeout(t);
|
|
522
|
-
reject(err);
|
|
523
|
-
};
|
|
524
|
-
});
|
|
525
|
-
if (count === 0) {
|
|
526
|
-
setTimeout(() => {
|
|
527
|
-
doResolve(0);
|
|
528
|
-
});
|
|
529
|
-
} else {
|
|
530
|
-
if (timeout2) {
|
|
531
|
-
t = setTimeout(() => {
|
|
532
|
-
doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
|
|
533
|
-
}, timeout2);
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
let i = 0;
|
|
537
|
-
return [
|
|
538
|
-
async () => await promise,
|
|
539
|
-
() => {
|
|
540
|
-
if (++i === count) {
|
|
541
|
-
doResolve(i);
|
|
542
|
-
}
|
|
543
|
-
return i;
|
|
544
|
-
},
|
|
545
|
-
(err) => doReject(err)
|
|
546
|
-
];
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
// packages/common/async/src/mutex.ts
|
|
517
|
+
// src/mutex.ts
|
|
550
518
|
import "@dxos/util";
|
|
551
519
|
import { warnAfterTimeout } from "@dxos/debug";
|
|
552
520
|
var Mutex = class {
|
|
@@ -638,11 +606,13 @@ var synchronized = (target, propertyName, descriptor) => {
|
|
|
638
606
|
});
|
|
639
607
|
};
|
|
640
608
|
|
|
641
|
-
//
|
|
609
|
+
// src/observable.ts
|
|
642
610
|
import Observable from "zen-observable";
|
|
643
611
|
import PushStream from "zen-push";
|
|
644
612
|
|
|
645
|
-
//
|
|
613
|
+
// src/trigger.ts
|
|
614
|
+
import { invariant } from "@dxos/invariant";
|
|
615
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
|
|
646
616
|
var trigger = (timeout2) => {
|
|
647
617
|
let callback;
|
|
648
618
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -729,8 +699,54 @@ var Trigger = class {
|
|
|
729
699
|
return this;
|
|
730
700
|
}
|
|
731
701
|
};
|
|
702
|
+
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
703
|
+
invariant(count >= 0, void 0, {
|
|
704
|
+
F: __dxlog_file2,
|
|
705
|
+
L: 139,
|
|
706
|
+
S: void 0,
|
|
707
|
+
A: [
|
|
708
|
+
"count >= 0",
|
|
709
|
+
""
|
|
710
|
+
]
|
|
711
|
+
});
|
|
712
|
+
let t;
|
|
713
|
+
let doResolve;
|
|
714
|
+
let doReject;
|
|
715
|
+
const promise = new Promise((resolve, reject) => {
|
|
716
|
+
doResolve = (value) => {
|
|
717
|
+
clearTimeout(t);
|
|
718
|
+
resolve(value);
|
|
719
|
+
};
|
|
720
|
+
doReject = (err) => {
|
|
721
|
+
clearTimeout(t);
|
|
722
|
+
reject(err);
|
|
723
|
+
};
|
|
724
|
+
});
|
|
725
|
+
if (count === 0) {
|
|
726
|
+
setTimeout(() => {
|
|
727
|
+
doResolve(0);
|
|
728
|
+
});
|
|
729
|
+
} else {
|
|
730
|
+
if (timeout2) {
|
|
731
|
+
t = setTimeout(() => {
|
|
732
|
+
doReject(new Error(`Timed out after ${timeout2.toLocaleString()}ms`));
|
|
733
|
+
}, timeout2);
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
let i = 0;
|
|
737
|
+
return [
|
|
738
|
+
async () => await promise,
|
|
739
|
+
() => {
|
|
740
|
+
if (++i === count) {
|
|
741
|
+
doResolve(i);
|
|
742
|
+
}
|
|
743
|
+
return i;
|
|
744
|
+
},
|
|
745
|
+
(err) => doReject(err)
|
|
746
|
+
];
|
|
747
|
+
};
|
|
732
748
|
|
|
733
|
-
//
|
|
749
|
+
// src/observable.ts
|
|
734
750
|
var MulticastObservable = class _MulticastObservable extends Observable {
|
|
735
751
|
constructor(subscriber, _value) {
|
|
736
752
|
super((observer) => this._subscribe(observer)), this._value = _value, this._observers = /* @__PURE__ */ new Set(), this._completed = new Trigger(), this._handlers = {
|
|
@@ -832,7 +848,7 @@ var MulticastObservable = class _MulticastObservable extends Observable {
|
|
|
832
848
|
};
|
|
833
849
|
var EMPTY_OBSERVABLE = MulticastObservable.of(null);
|
|
834
850
|
|
|
835
|
-
//
|
|
851
|
+
// src/observable-value.ts
|
|
836
852
|
import { createSetDispatch } from "@dxos/util";
|
|
837
853
|
var ObservableProvider = class {
|
|
838
854
|
constructor() {
|
|
@@ -877,19 +893,19 @@ var CancellableObservableProvider = class extends ObservableProvider {
|
|
|
877
893
|
}
|
|
878
894
|
};
|
|
879
895
|
|
|
880
|
-
//
|
|
896
|
+
// src/persistent-lifecycle.ts
|
|
881
897
|
import { LifecycleState, Resource, cancelWithContext } from "@dxos/context";
|
|
882
898
|
import { warnAfterTimeout as warnAfterTimeout2 } from "@dxos/debug";
|
|
883
899
|
import { log as log2 } from "@dxos/log";
|
|
884
900
|
|
|
885
|
-
//
|
|
901
|
+
// src/task-scheduling.ts
|
|
886
902
|
import { ContextDisposedError as ContextDisposedError2 } from "@dxos/context";
|
|
887
903
|
import { StackTrace as StackTrace2 } from "@dxos/debug";
|
|
888
904
|
|
|
889
|
-
//
|
|
905
|
+
// src/track-leaks.ts
|
|
890
906
|
import { StackTrace } from "@dxos/debug";
|
|
891
907
|
import { log } from "@dxos/log";
|
|
892
|
-
var __dxlog_file3 = "/
|
|
908
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/common/async/src/track-leaks.ts";
|
|
893
909
|
var enabled = typeof process !== "undefined" && !!process.env.DX_TRACK_LEAKS;
|
|
894
910
|
var openResources = /* @__PURE__ */ new Set();
|
|
895
911
|
var handleSymbol = Symbol("checkLeaksHandle");
|
|
@@ -970,7 +986,7 @@ if (enabled) {
|
|
|
970
986
|
global.dxDumpLeaks = dumpLeaks;
|
|
971
987
|
}
|
|
972
988
|
|
|
973
|
-
//
|
|
989
|
+
// src/task-scheduling.ts
|
|
974
990
|
var DeferredTask = class {
|
|
975
991
|
constructor(_ctx, _callback) {
|
|
976
992
|
this._ctx = _ctx;
|
|
@@ -1096,14 +1112,14 @@ var scheduleExponentialBackoffTaskInterval = (ctx, task, initialInterval) => {
|
|
|
1096
1112
|
});
|
|
1097
1113
|
};
|
|
1098
1114
|
|
|
1099
|
-
//
|
|
1115
|
+
// src/persistent-lifecycle.ts
|
|
1100
1116
|
function _ts_decorate(decorators, target, key, desc) {
|
|
1101
1117
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1102
1118
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1103
1119
|
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;
|
|
1104
1120
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1105
1121
|
}
|
|
1106
|
-
var __dxlog_file4 = "/
|
|
1122
|
+
var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecycle.ts";
|
|
1107
1123
|
var INIT_RESTART_DELAY = 100;
|
|
1108
1124
|
var DEFAULT_MAX_RESTART_DELAY = 5e3;
|
|
1109
1125
|
var PersistentLifecycle = class extends Resource {
|
|
@@ -1207,9 +1223,9 @@ _ts_decorate([
|
|
|
1207
1223
|
synchronized
|
|
1208
1224
|
], PersistentLifecycle.prototype, "scheduleRestart", null);
|
|
1209
1225
|
|
|
1210
|
-
//
|
|
1226
|
+
// src/push-iterable.ts
|
|
1211
1227
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
1212
|
-
var __dxlog_file5 = "/
|
|
1228
|
+
var __dxlog_file5 = "/__w/dxos/dxos/packages/common/async/src/push-iterable.ts";
|
|
1213
1229
|
var makePushIterable = () => {
|
|
1214
1230
|
const buf = [];
|
|
1215
1231
|
const trigger2 = new Trigger({
|
|
@@ -1273,21 +1289,7 @@ var makePushIterable = () => {
|
|
|
1273
1289
|
};
|
|
1274
1290
|
};
|
|
1275
1291
|
|
|
1276
|
-
//
|
|
1277
|
-
var sink = (emitter, event, count = 1) => {
|
|
1278
|
-
const [getPromise, resolve] = trigger();
|
|
1279
|
-
let counter = 0;
|
|
1280
|
-
const listener = () => {
|
|
1281
|
-
if (++counter === count) {
|
|
1282
|
-
emitter.off(event, listener);
|
|
1283
|
-
resolve();
|
|
1284
|
-
}
|
|
1285
|
-
};
|
|
1286
|
-
emitter.on(event, listener);
|
|
1287
|
-
return getPromise();
|
|
1288
|
-
};
|
|
1289
|
-
|
|
1290
|
-
// packages/common/async/src/stream-to-array.ts
|
|
1292
|
+
// src/stream-to-array.ts
|
|
1291
1293
|
var streamToArray = (stream) => {
|
|
1292
1294
|
let deferred;
|
|
1293
1295
|
if (!stream.readable) {
|
|
@@ -1329,7 +1331,7 @@ var streamToArray = (stream) => {
|
|
|
1329
1331
|
return deferred;
|
|
1330
1332
|
};
|
|
1331
1333
|
|
|
1332
|
-
//
|
|
1334
|
+
// src/test-stream.ts
|
|
1333
1335
|
import { Duplex } from "@dxos/node-std/stream";
|
|
1334
1336
|
var TestStream = class extends Duplex {
|
|
1335
1337
|
constructor() {
|
|
@@ -1365,7 +1367,7 @@ var TestStream = class extends Duplex {
|
|
|
1365
1367
|
}
|
|
1366
1368
|
};
|
|
1367
1369
|
|
|
1368
|
-
//
|
|
1370
|
+
// src/testing.ts
|
|
1369
1371
|
var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2 = 10, error, breakOnError = false }) => {
|
|
1370
1372
|
const stopTime = timeout2 ? Date.now() + timeout2 : 0;
|
|
1371
1373
|
const trigger2 = new Trigger();
|
|
@@ -1390,8 +1392,41 @@ var waitForCondition = ({ condition, timeout: timeout2 = 0, interval: interval2
|
|
|
1390
1392
|
timeout: timeout2
|
|
1391
1393
|
});
|
|
1392
1394
|
};
|
|
1395
|
+
var until = (cb, timeout2) => {
|
|
1396
|
+
return new Promise((resolve, reject) => {
|
|
1397
|
+
const t = timeout2 && setTimeout(() => {
|
|
1398
|
+
reject(new Error(`Timeout after ${t}ms`));
|
|
1399
|
+
}, timeout2);
|
|
1400
|
+
setTimeout(async () => {
|
|
1401
|
+
try {
|
|
1402
|
+
await cb((value) => {
|
|
1403
|
+
t && clearTimeout(t);
|
|
1404
|
+
resolve(value);
|
|
1405
|
+
}, (error) => {
|
|
1406
|
+
t && clearTimeout(t);
|
|
1407
|
+
reject(error);
|
|
1408
|
+
});
|
|
1409
|
+
} catch (err) {
|
|
1410
|
+
reject(err);
|
|
1411
|
+
}
|
|
1412
|
+
});
|
|
1413
|
+
});
|
|
1414
|
+
};
|
|
1415
|
+
var untilPromise = (cb) => cb();
|
|
1416
|
+
var untilError = (cb) => {
|
|
1417
|
+
return new Promise((resolve, reject) => {
|
|
1418
|
+
setTimeout(async () => {
|
|
1419
|
+
try {
|
|
1420
|
+
await cb();
|
|
1421
|
+
reject(new Error("No error was thrown."));
|
|
1422
|
+
} catch (err) {
|
|
1423
|
+
resolve(err);
|
|
1424
|
+
}
|
|
1425
|
+
});
|
|
1426
|
+
});
|
|
1427
|
+
};
|
|
1393
1428
|
|
|
1394
|
-
//
|
|
1429
|
+
// src/timer.ts
|
|
1395
1430
|
var Timer = class {
|
|
1396
1431
|
constructor(_callback) {
|
|
1397
1432
|
this._callback = _callback;
|
|
@@ -1439,42 +1474,7 @@ var Timer = class {
|
|
|
1439
1474
|
}
|
|
1440
1475
|
};
|
|
1441
1476
|
|
|
1442
|
-
//
|
|
1443
|
-
var until = (cb, timeout2) => {
|
|
1444
|
-
return new Promise((resolve, reject) => {
|
|
1445
|
-
const t = timeout2 && setTimeout(() => {
|
|
1446
|
-
reject(new Error(`Timeout after ${t}ms`));
|
|
1447
|
-
}, timeout2);
|
|
1448
|
-
setTimeout(async () => {
|
|
1449
|
-
try {
|
|
1450
|
-
await cb((value) => {
|
|
1451
|
-
t && clearTimeout(t);
|
|
1452
|
-
resolve(value);
|
|
1453
|
-
}, (error) => {
|
|
1454
|
-
t && clearTimeout(t);
|
|
1455
|
-
reject(error);
|
|
1456
|
-
});
|
|
1457
|
-
} catch (err) {
|
|
1458
|
-
reject(err);
|
|
1459
|
-
}
|
|
1460
|
-
});
|
|
1461
|
-
});
|
|
1462
|
-
};
|
|
1463
|
-
var untilPromise = (cb) => cb();
|
|
1464
|
-
var untilError = (cb) => {
|
|
1465
|
-
return new Promise((resolve, reject) => {
|
|
1466
|
-
setTimeout(async () => {
|
|
1467
|
-
try {
|
|
1468
|
-
await cb();
|
|
1469
|
-
reject(new Error("No error was thrown."));
|
|
1470
|
-
} catch (err) {
|
|
1471
|
-
resolve(err);
|
|
1472
|
-
}
|
|
1473
|
-
});
|
|
1474
|
-
});
|
|
1475
|
-
};
|
|
1476
|
-
|
|
1477
|
-
// packages/common/async/src/update-scheduler.ts
|
|
1477
|
+
// src/update-scheduler.ts
|
|
1478
1478
|
var TIME_PERIOD = 1e3;
|
|
1479
1479
|
var UpdateScheduler = class {
|
|
1480
1480
|
constructor(_ctx, _callback, _params = {}) {
|
|
@@ -1566,29 +1566,30 @@ export {
|
|
|
1566
1566
|
UpdateScheduler,
|
|
1567
1567
|
addEventListener,
|
|
1568
1568
|
addListener,
|
|
1569
|
-
asyncChain,
|
|
1570
1569
|
asyncReturn,
|
|
1571
1570
|
asyncTimeout,
|
|
1571
|
+
chain,
|
|
1572
1572
|
combine,
|
|
1573
|
-
createPromiseFromCallback,
|
|
1574
1573
|
debounce,
|
|
1574
|
+
debounceAndThrottle,
|
|
1575
1575
|
dumpLeaks,
|
|
1576
1576
|
interval,
|
|
1577
1577
|
latch,
|
|
1578
1578
|
makePushIterable,
|
|
1579
1579
|
observableError,
|
|
1580
1580
|
onEvent,
|
|
1581
|
+
promiseFromCallback,
|
|
1581
1582
|
runInContext,
|
|
1582
1583
|
runInContextAsync,
|
|
1583
1584
|
scheduleExponentialBackoffTaskInterval,
|
|
1584
1585
|
scheduleMicroTask,
|
|
1585
1586
|
scheduleTask,
|
|
1586
1587
|
scheduleTaskInterval,
|
|
1587
|
-
sink,
|
|
1588
1588
|
sleep,
|
|
1589
1589
|
sleepWithContext,
|
|
1590
1590
|
streamToArray,
|
|
1591
1591
|
synchronized,
|
|
1592
|
+
throttle,
|
|
1592
1593
|
timeout,
|
|
1593
1594
|
toError,
|
|
1594
1595
|
trackLeaks,
|