@dxos/async 0.8.4-main.5acf9ea → 0.8.4-main.5ad4a44
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 +278 -111
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +278 -111
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/task-scheduling.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/event-emitter.test.ts +1 -0
- package/src/persistent-lifecycle.test.ts +1 -1
- package/src/task-scheduling.ts +1 -1
- package/src/testing.test.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/callback.ts":{"bytes":1595,"imports":[],"format":"esm"},"src/chain.ts":{"bytes":1619,"imports":[],"format":"esm"},"src/cleanup.ts":{"bytes":6971,"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":40162,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/mutex.ts":{"bytes":13253,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/trigger.ts":{"bytes":14642,"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":18467,"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":7009,"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":16083,"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":13334,"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":5467,"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":6448,"imports":[{"path":"src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/update-scheduler.ts":{"bytes":10390,"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":99944},"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":1378},"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":9261},"src/mutex.ts":{"bytesInOutput":2879},"src/observable.ts":{"bytesInOutput":4179},"src/trigger.ts":{"bytesInOutput":3465},"src/observable-value.ts":{"bytesInOutput":1402},"src/persistent-lifecycle.ts":{"bytesInOutput":3989},"src/task-scheduling.ts":{"bytesInOutput":3649},"src/track-leaks.ts":{"bytesInOutput":2136},"src/push-iterable.ts":{"bytesInOutput":1389},"src/stream-to-array.ts":{"bytesInOutput":967},"src/test-stream.ts":{"bytesInOutput":1261},"src/testing.ts":{"bytesInOutput":1419},"src/timer.ts":{"bytesInOutput":1501},"src/update-scheduler.ts":{"bytesInOutput":2410}},"bytes":46389}}}
|
|
@@ -22,6 +22,19 @@ var chain = (chain2) => async (elements) => {
|
|
|
22
22
|
|
|
23
23
|
// src/cleanup.ts
|
|
24
24
|
import { ComplexMap } from "@dxos/util";
|
|
25
|
+
function _define_property(obj, key, value) {
|
|
26
|
+
if (key in obj) {
|
|
27
|
+
Object.defineProperty(obj, key, {
|
|
28
|
+
value,
|
|
29
|
+
enumerable: true,
|
|
30
|
+
configurable: true,
|
|
31
|
+
writable: true
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
obj[key] = value;
|
|
35
|
+
}
|
|
36
|
+
return obj;
|
|
37
|
+
}
|
|
25
38
|
var combine = (...cleanupFns) => {
|
|
26
39
|
return () => {
|
|
27
40
|
cleanupFns.flat().forEach((cleanupFn) => cleanupFn());
|
|
@@ -40,9 +53,6 @@ var addEventListener = (target, type, listener, options) => {
|
|
|
40
53
|
return () => target.removeEventListener(type, listener, options);
|
|
41
54
|
};
|
|
42
55
|
var SubscriptionList = class {
|
|
43
|
-
constructor() {
|
|
44
|
-
this._cleanups = [];
|
|
45
|
-
}
|
|
46
56
|
add(cb) {
|
|
47
57
|
this._cleanups.push(cb);
|
|
48
58
|
return this;
|
|
@@ -51,11 +61,11 @@ var SubscriptionList = class {
|
|
|
51
61
|
this._cleanups.forEach((cb) => cb());
|
|
52
62
|
this._cleanups.length = 0;
|
|
53
63
|
}
|
|
64
|
+
constructor() {
|
|
65
|
+
_define_property(this, "_cleanups", []);
|
|
66
|
+
}
|
|
54
67
|
};
|
|
55
68
|
var SubscriptionSet = class {
|
|
56
|
-
constructor(keyProjection) {
|
|
57
|
-
this._cleanupMap = new ComplexMap(keyProjection);
|
|
58
|
-
}
|
|
59
69
|
set(key, cb) {
|
|
60
70
|
this._cleanupMap.set(key, cb);
|
|
61
71
|
return this;
|
|
@@ -64,6 +74,10 @@ var SubscriptionSet = class {
|
|
|
64
74
|
this._cleanupMap.forEach((cb) => cb());
|
|
65
75
|
this._cleanupMap.clear();
|
|
66
76
|
}
|
|
77
|
+
constructor(keyProjection) {
|
|
78
|
+
_define_property(this, "_cleanupMap", void 0);
|
|
79
|
+
this._cleanupMap = new ComplexMap(keyProjection);
|
|
80
|
+
}
|
|
67
81
|
};
|
|
68
82
|
|
|
69
83
|
// src/debounce.ts
|
|
@@ -190,13 +204,22 @@ var waitForEvent = (eventEmitter, eventName, test, timeout2, error) => {
|
|
|
190
204
|
|
|
191
205
|
// src/events.ts
|
|
192
206
|
import { Context } from "@dxos/context";
|
|
207
|
+
function _define_property2(obj, key, value) {
|
|
208
|
+
if (key in obj) {
|
|
209
|
+
Object.defineProperty(obj, key, {
|
|
210
|
+
value,
|
|
211
|
+
enumerable: true,
|
|
212
|
+
configurable: true,
|
|
213
|
+
writable: true
|
|
214
|
+
});
|
|
215
|
+
} else {
|
|
216
|
+
obj[key] = value;
|
|
217
|
+
}
|
|
218
|
+
return obj;
|
|
219
|
+
}
|
|
193
220
|
var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
|
|
194
221
|
var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
|
|
195
222
|
var Event = class _Event {
|
|
196
|
-
constructor() {
|
|
197
|
-
this._listeners = /* @__PURE__ */ new Set();
|
|
198
|
-
this._effects = /* @__PURE__ */ new Set();
|
|
199
|
-
}
|
|
200
223
|
/**
|
|
201
224
|
* Wrap objects that have on/off style event emitters.
|
|
202
225
|
*/
|
|
@@ -450,26 +473,12 @@ var Event = class _Event {
|
|
|
450
473
|
handle.cleanup = void 0;
|
|
451
474
|
}
|
|
452
475
|
}
|
|
476
|
+
constructor() {
|
|
477
|
+
_define_property2(this, "_listeners", /* @__PURE__ */ new Set());
|
|
478
|
+
_define_property2(this, "_effects", /* @__PURE__ */ new Set());
|
|
479
|
+
}
|
|
453
480
|
};
|
|
454
481
|
var EventListener = class {
|
|
455
|
-
constructor(event, listener, ctx, once, weak) {
|
|
456
|
-
this.ctx = ctx;
|
|
457
|
-
this.once = once;
|
|
458
|
-
this.weak = weak;
|
|
459
|
-
this._clearDispose = void 0;
|
|
460
|
-
this._clearDispose = ctx.onDispose(() => {
|
|
461
|
-
event._removeListener(this);
|
|
462
|
-
});
|
|
463
|
-
if (weak) {
|
|
464
|
-
this.callback = new WeakRef(listener);
|
|
465
|
-
weakListeners().registry?.register(listener, {
|
|
466
|
-
event: new WeakRef(event),
|
|
467
|
-
listener: this
|
|
468
|
-
}, this);
|
|
469
|
-
} else {
|
|
470
|
-
this.callback = listener;
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
482
|
derefCallback() {
|
|
474
483
|
return this.weak ? this.callback.deref() : this.callback;
|
|
475
484
|
}
|
|
@@ -499,6 +508,29 @@ var EventListener = class {
|
|
|
499
508
|
this._clearDispose?.();
|
|
500
509
|
weakListeners().registry?.unregister(this);
|
|
501
510
|
}
|
|
511
|
+
constructor(event, listener, ctx, once, weak) {
|
|
512
|
+
_define_property2(this, "ctx", void 0);
|
|
513
|
+
_define_property2(this, "once", void 0);
|
|
514
|
+
_define_property2(this, "weak", void 0);
|
|
515
|
+
_define_property2(this, "callback", void 0);
|
|
516
|
+
_define_property2(this, "_clearDispose", void 0);
|
|
517
|
+
this.ctx = ctx;
|
|
518
|
+
this.once = once;
|
|
519
|
+
this.weak = weak;
|
|
520
|
+
this._clearDispose = void 0;
|
|
521
|
+
this._clearDispose = ctx.onDispose(() => {
|
|
522
|
+
event._removeListener(this);
|
|
523
|
+
});
|
|
524
|
+
if (weak) {
|
|
525
|
+
this.callback = new WeakRef(listener);
|
|
526
|
+
weakListeners().registry?.register(listener, {
|
|
527
|
+
event: new WeakRef(event),
|
|
528
|
+
listener: this
|
|
529
|
+
}, this);
|
|
530
|
+
} else {
|
|
531
|
+
this.callback = listener;
|
|
532
|
+
}
|
|
533
|
+
}
|
|
502
534
|
};
|
|
503
535
|
var weakListenersState = null;
|
|
504
536
|
var FINALIZATION_REGISTRY_SUPPORTED = !!globalThis.FinalizationRegistry;
|
|
@@ -508,9 +540,9 @@ var weakListeners = () => {
|
|
|
508
540
|
registry: void 0
|
|
509
541
|
};
|
|
510
542
|
}
|
|
511
|
-
weakListenersState
|
|
543
|
+
weakListenersState ?? (weakListenersState = new FinalizationRegistry(({ event, listener }) => {
|
|
512
544
|
event.deref()?._removeListener(listener);
|
|
513
|
-
});
|
|
545
|
+
}));
|
|
514
546
|
return {
|
|
515
547
|
registry: weakListenersState
|
|
516
548
|
};
|
|
@@ -519,12 +551,20 @@ var weakListeners = () => {
|
|
|
519
551
|
// src/mutex.ts
|
|
520
552
|
import "@dxos/util";
|
|
521
553
|
import { warnAfterTimeout } from "@dxos/debug";
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
554
|
+
function _define_property3(obj, key, value) {
|
|
555
|
+
if (key in obj) {
|
|
556
|
+
Object.defineProperty(obj, key, {
|
|
557
|
+
value,
|
|
558
|
+
enumerable: true,
|
|
559
|
+
configurable: true,
|
|
560
|
+
writable: true
|
|
561
|
+
});
|
|
562
|
+
} else {
|
|
563
|
+
obj[key] = value;
|
|
527
564
|
}
|
|
565
|
+
return obj;
|
|
566
|
+
}
|
|
567
|
+
var Mutex = class {
|
|
528
568
|
get tag() {
|
|
529
569
|
return this._tag;
|
|
530
570
|
}
|
|
@@ -568,11 +608,13 @@ var Mutex = class {
|
|
|
568
608
|
guard.release();
|
|
569
609
|
}
|
|
570
610
|
}
|
|
611
|
+
constructor() {
|
|
612
|
+
_define_property3(this, "_queue", Promise.resolve());
|
|
613
|
+
_define_property3(this, "_queueLength", 0);
|
|
614
|
+
_define_property3(this, "_tag", null);
|
|
615
|
+
}
|
|
571
616
|
};
|
|
572
617
|
var MutexGuard = class {
|
|
573
|
-
constructor(_release) {
|
|
574
|
-
this._release = _release;
|
|
575
|
-
}
|
|
576
618
|
/**
|
|
577
619
|
* Releases the lock.
|
|
578
620
|
*/
|
|
@@ -582,6 +624,10 @@ var MutexGuard = class {
|
|
|
582
624
|
[Symbol.dispose]() {
|
|
583
625
|
this.release();
|
|
584
626
|
}
|
|
627
|
+
constructor(_release) {
|
|
628
|
+
_define_property3(this, "_release", void 0);
|
|
629
|
+
this._release = _release;
|
|
630
|
+
}
|
|
585
631
|
};
|
|
586
632
|
var classMutexSymbol = Symbol("class-mutex");
|
|
587
633
|
var FORCE_DISABLE_WARNING = false;
|
|
@@ -589,7 +635,8 @@ var enableWarning = !FORCE_DISABLE_WARNING && globalThis.mochaExecutor;
|
|
|
589
635
|
var synchronized = (target, propertyName, descriptor) => {
|
|
590
636
|
const method = descriptor.value;
|
|
591
637
|
descriptor.value = async function synchronizedMethod(...args) {
|
|
592
|
-
|
|
638
|
+
var _classMutexSymbol;
|
|
639
|
+
const mutex = this[_classMutexSymbol = classMutexSymbol] ?? (this[_classMutexSymbol] = new Mutex());
|
|
593
640
|
const tag = `${target.constructor.name}.${propertyName}`;
|
|
594
641
|
let guard;
|
|
595
642
|
if (!enableWarning) {
|
|
@@ -614,6 +661,19 @@ import PushStream from "zen-push";
|
|
|
614
661
|
|
|
615
662
|
// src/trigger.ts
|
|
616
663
|
import { invariant } from "@dxos/invariant";
|
|
664
|
+
function _define_property4(obj, key, value) {
|
|
665
|
+
if (key in obj) {
|
|
666
|
+
Object.defineProperty(obj, key, {
|
|
667
|
+
value,
|
|
668
|
+
enumerable: true,
|
|
669
|
+
configurable: true,
|
|
670
|
+
writable: true
|
|
671
|
+
});
|
|
672
|
+
} else {
|
|
673
|
+
obj[key] = value;
|
|
674
|
+
}
|
|
675
|
+
return obj;
|
|
676
|
+
}
|
|
617
677
|
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
|
|
618
678
|
var trigger = (timeout2) => {
|
|
619
679
|
let callback;
|
|
@@ -630,20 +690,13 @@ var trigger = (timeout2) => {
|
|
|
630
690
|
resolver
|
|
631
691
|
];
|
|
632
692
|
};
|
|
633
|
-
var TriggerState = /* @__PURE__ */ function(TriggerState2) {
|
|
693
|
+
var TriggerState = /* @__PURE__ */ (function(TriggerState2) {
|
|
634
694
|
TriggerState2["WAITING"] = "WAITING";
|
|
635
695
|
TriggerState2["RESOLVED"] = "RESOLVED";
|
|
636
696
|
TriggerState2["REJECTED"] = "REJECTED";
|
|
637
697
|
return TriggerState2;
|
|
638
|
-
}({});
|
|
698
|
+
})({});
|
|
639
699
|
var Trigger = class {
|
|
640
|
-
constructor(_options = {
|
|
641
|
-
autoReset: false
|
|
642
|
-
}) {
|
|
643
|
-
this._options = _options;
|
|
644
|
-
this._state = "WAITING";
|
|
645
|
-
this.reset();
|
|
646
|
-
}
|
|
647
700
|
get state() {
|
|
648
701
|
return this._state;
|
|
649
702
|
}
|
|
@@ -700,6 +753,18 @@ var Trigger = class {
|
|
|
700
753
|
}
|
|
701
754
|
return this;
|
|
702
755
|
}
|
|
756
|
+
constructor(_options = {
|
|
757
|
+
autoReset: false
|
|
758
|
+
}) {
|
|
759
|
+
_define_property4(this, "_options", void 0);
|
|
760
|
+
_define_property4(this, "_promise", void 0);
|
|
761
|
+
_define_property4(this, "_resolve", void 0);
|
|
762
|
+
_define_property4(this, "_reject", void 0);
|
|
763
|
+
_define_property4(this, "_state", void 0);
|
|
764
|
+
this._options = _options;
|
|
765
|
+
this._state = "WAITING";
|
|
766
|
+
this.reset();
|
|
767
|
+
}
|
|
703
768
|
};
|
|
704
769
|
var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
705
770
|
invariant(count >= 0, void 0, {
|
|
@@ -749,24 +814,20 @@ var latch = ({ count = 1, timeout: timeout2 } = {}) => {
|
|
|
749
814
|
};
|
|
750
815
|
|
|
751
816
|
// src/observable.ts
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
complete: () => {
|
|
763
|
-
this._completed.wake();
|
|
764
|
-
this._observers.forEach((observer) => observer.complete?.());
|
|
765
|
-
}
|
|
766
|
-
};
|
|
767
|
-
this._observable = typeof subscriber === "function" ? new Observable(subscriber) : subscriber;
|
|
768
|
-
this._observable.subscribe(this._handlers);
|
|
817
|
+
function _define_property5(obj, key, value) {
|
|
818
|
+
if (key in obj) {
|
|
819
|
+
Object.defineProperty(obj, key, {
|
|
820
|
+
value,
|
|
821
|
+
enumerable: true,
|
|
822
|
+
configurable: true,
|
|
823
|
+
writable: true
|
|
824
|
+
});
|
|
825
|
+
} else {
|
|
826
|
+
obj[key] = value;
|
|
769
827
|
}
|
|
828
|
+
return obj;
|
|
829
|
+
}
|
|
830
|
+
var MulticastObservable = class _MulticastObservable extends Observable {
|
|
770
831
|
static from(value, initialValue) {
|
|
771
832
|
if ("emit" in value) {
|
|
772
833
|
return new _MulticastObservable((observer) => {
|
|
@@ -847,18 +908,42 @@ var MulticastObservable = class _MulticastObservable extends Observable {
|
|
|
847
908
|
this._observers.delete(observer);
|
|
848
909
|
};
|
|
849
910
|
}
|
|
911
|
+
constructor(subscriber, _value) {
|
|
912
|
+
super((observer) => this._subscribe(observer)), _define_property5(this, "_value", void 0), _define_property5(this, "_observers", void 0), _define_property5(this, "_observable", void 0), _define_property5(this, "_completed", void 0), _define_property5(this, "_handlers", void 0), this._value = _value, this._observers = /* @__PURE__ */ new Set(), this._completed = new Trigger(), this._handlers = {
|
|
913
|
+
next: (value) => {
|
|
914
|
+
this._value = value;
|
|
915
|
+
this._observers.forEach((observer) => observer.next?.(value));
|
|
916
|
+
},
|
|
917
|
+
error: (err) => {
|
|
918
|
+
this._observers.forEach((observer) => observer.error?.(err));
|
|
919
|
+
},
|
|
920
|
+
complete: () => {
|
|
921
|
+
this._completed.wake();
|
|
922
|
+
this._observers.forEach((observer) => observer.complete?.());
|
|
923
|
+
}
|
|
924
|
+
};
|
|
925
|
+
this._observable = typeof subscriber === "function" ? new Observable(subscriber) : subscriber;
|
|
926
|
+
this._observable.subscribe(this._handlers);
|
|
927
|
+
}
|
|
850
928
|
};
|
|
851
929
|
var EMPTY_OBSERVABLE = MulticastObservable.of(null);
|
|
852
930
|
|
|
853
931
|
// src/observable-value.ts
|
|
854
932
|
import { createSetDispatch } from "@dxos/util";
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
933
|
+
function _define_property6(obj, key, value) {
|
|
934
|
+
if (key in obj) {
|
|
935
|
+
Object.defineProperty(obj, key, {
|
|
936
|
+
value,
|
|
937
|
+
enumerable: true,
|
|
938
|
+
configurable: true,
|
|
939
|
+
writable: true
|
|
860
940
|
});
|
|
941
|
+
} else {
|
|
942
|
+
obj[key] = value;
|
|
861
943
|
}
|
|
944
|
+
return obj;
|
|
945
|
+
}
|
|
946
|
+
var ObservableProvider = class {
|
|
862
947
|
/**
|
|
863
948
|
* Proxy used to dispatch callbacks to each subscription.
|
|
864
949
|
*/
|
|
@@ -877,11 +962,15 @@ var ObservableProvider = class {
|
|
|
877
962
|
this._handlers.delete(handler);
|
|
878
963
|
};
|
|
879
964
|
}
|
|
965
|
+
constructor() {
|
|
966
|
+
_define_property6(this, "_handlers", /* @__PURE__ */ new Set());
|
|
967
|
+
_define_property6(this, "_proxy", createSetDispatch({
|
|
968
|
+
handlers: this._handlers
|
|
969
|
+
}));
|
|
970
|
+
_define_property6(this, "_value", void 0);
|
|
971
|
+
}
|
|
880
972
|
};
|
|
881
973
|
var CancellableObservableProvider = class extends ObservableProvider {
|
|
882
|
-
constructor(_handleCancel) {
|
|
883
|
-
super(), this._handleCancel = _handleCancel, this._cancelled = false;
|
|
884
|
-
}
|
|
885
974
|
get cancelled() {
|
|
886
975
|
return this._cancelled;
|
|
887
976
|
}
|
|
@@ -893,6 +982,9 @@ var CancellableObservableProvider = class extends ObservableProvider {
|
|
|
893
982
|
await this._handleCancel?.();
|
|
894
983
|
this.callback.onCancelled?.();
|
|
895
984
|
}
|
|
985
|
+
constructor(_handleCancel) {
|
|
986
|
+
super(), _define_property6(this, "_handleCancel", void 0), _define_property6(this, "_cancelled", void 0), this._handleCancel = _handleCancel, this._cancelled = false;
|
|
987
|
+
}
|
|
896
988
|
};
|
|
897
989
|
|
|
898
990
|
// src/persistent-lifecycle.ts
|
|
@@ -989,14 +1081,20 @@ if (enabled) {
|
|
|
989
1081
|
}
|
|
990
1082
|
|
|
991
1083
|
// src/task-scheduling.ts
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
1084
|
+
function _define_property7(obj, key, value) {
|
|
1085
|
+
if (key in obj) {
|
|
1086
|
+
Object.defineProperty(obj, key, {
|
|
1087
|
+
value,
|
|
1088
|
+
enumerable: true,
|
|
1089
|
+
configurable: true,
|
|
1090
|
+
writable: true
|
|
1091
|
+
});
|
|
1092
|
+
} else {
|
|
1093
|
+
obj[key] = value;
|
|
999
1094
|
}
|
|
1095
|
+
return obj;
|
|
1096
|
+
}
|
|
1097
|
+
var DeferredTask = class {
|
|
1000
1098
|
get scheduled() {
|
|
1001
1099
|
return this._scheduled;
|
|
1002
1100
|
}
|
|
@@ -1035,6 +1133,18 @@ var DeferredTask = class {
|
|
|
1035
1133
|
async join() {
|
|
1036
1134
|
await this._currentTask;
|
|
1037
1135
|
}
|
|
1136
|
+
constructor(_ctx, _callback) {
|
|
1137
|
+
_define_property7(this, "_ctx", void 0);
|
|
1138
|
+
_define_property7(this, "_callback", void 0);
|
|
1139
|
+
_define_property7(this, "_scheduled", void 0);
|
|
1140
|
+
_define_property7(this, "_currentTask", void 0);
|
|
1141
|
+
_define_property7(this, "_nextTask", void 0);
|
|
1142
|
+
this._ctx = _ctx;
|
|
1143
|
+
this._callback = _callback;
|
|
1144
|
+
this._scheduled = false;
|
|
1145
|
+
this._currentTask = null;
|
|
1146
|
+
this._nextTask = new Trigger();
|
|
1147
|
+
}
|
|
1038
1148
|
};
|
|
1039
1149
|
var runInContext = (ctx, fn) => {
|
|
1040
1150
|
try {
|
|
@@ -1115,6 +1225,19 @@ var scheduleExponentialBackoffTaskInterval = (ctx, task, initialInterval) => {
|
|
|
1115
1225
|
};
|
|
1116
1226
|
|
|
1117
1227
|
// src/persistent-lifecycle.ts
|
|
1228
|
+
function _define_property8(obj, key, value) {
|
|
1229
|
+
if (key in obj) {
|
|
1230
|
+
Object.defineProperty(obj, key, {
|
|
1231
|
+
value,
|
|
1232
|
+
enumerable: true,
|
|
1233
|
+
configurable: true,
|
|
1234
|
+
writable: true
|
|
1235
|
+
});
|
|
1236
|
+
} else {
|
|
1237
|
+
obj[key] = value;
|
|
1238
|
+
}
|
|
1239
|
+
return obj;
|
|
1240
|
+
}
|
|
1118
1241
|
function _ts_decorate(decorators, target, key, desc) {
|
|
1119
1242
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1120
1243
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -1125,16 +1248,6 @@ var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecyc
|
|
|
1125
1248
|
var INIT_RESTART_DELAY = 100;
|
|
1126
1249
|
var DEFAULT_MAX_RESTART_DELAY = 5e3;
|
|
1127
1250
|
var PersistentLifecycle = class extends Resource {
|
|
1128
|
-
constructor({ start, stop, onRestart, maxRestartDelay = DEFAULT_MAX_RESTART_DELAY }) {
|
|
1129
|
-
super();
|
|
1130
|
-
this._currentState = void 0;
|
|
1131
|
-
this._restartTask = void 0;
|
|
1132
|
-
this._restartAfter = 0;
|
|
1133
|
-
this._start = start;
|
|
1134
|
-
this._stop = stop;
|
|
1135
|
-
this._onRestart = onRestart;
|
|
1136
|
-
this._maxRestartDelay = maxRestartDelay;
|
|
1137
|
-
}
|
|
1138
1251
|
get state() {
|
|
1139
1252
|
return this._currentState;
|
|
1140
1253
|
}
|
|
@@ -1217,6 +1330,13 @@ var PersistentLifecycle = class extends Resource {
|
|
|
1217
1330
|
}
|
|
1218
1331
|
this._restartTask.schedule();
|
|
1219
1332
|
}
|
|
1333
|
+
constructor({ start, stop, onRestart, maxRestartDelay = DEFAULT_MAX_RESTART_DELAY }) {
|
|
1334
|
+
super(), _define_property8(this, "_start", void 0), _define_property8(this, "_stop", void 0), _define_property8(this, "_onRestart", void 0), _define_property8(this, "_maxRestartDelay", void 0), _define_property8(this, "_currentState", void 0), _define_property8(this, "_restartTask", void 0), _define_property8(this, "_restartAfter", 0);
|
|
1335
|
+
this._start = start;
|
|
1336
|
+
this._stop = stop;
|
|
1337
|
+
this._onRestart = onRestart;
|
|
1338
|
+
this._maxRestartDelay = maxRestartDelay;
|
|
1339
|
+
}
|
|
1220
1340
|
};
|
|
1221
1341
|
_ts_decorate([
|
|
1222
1342
|
synchronized
|
|
@@ -1335,12 +1455,20 @@ var streamToArray = (stream) => {
|
|
|
1335
1455
|
|
|
1336
1456
|
// src/test-stream.ts
|
|
1337
1457
|
import { Duplex } from "node:stream";
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1458
|
+
function _define_property9(obj, key, value) {
|
|
1459
|
+
if (key in obj) {
|
|
1460
|
+
Object.defineProperty(obj, key, {
|
|
1461
|
+
value,
|
|
1462
|
+
enumerable: true,
|
|
1463
|
+
configurable: true,
|
|
1464
|
+
writable: true
|
|
1465
|
+
});
|
|
1466
|
+
} else {
|
|
1467
|
+
obj[key] = value;
|
|
1343
1468
|
}
|
|
1469
|
+
return obj;
|
|
1470
|
+
}
|
|
1471
|
+
var TestStream = class extends Duplex {
|
|
1344
1472
|
static async assertConnectivity(stream1, stream2, { timeout: timeout2 = 200 } = {}) {
|
|
1345
1473
|
stream1.push("ping");
|
|
1346
1474
|
stream2.push("pong");
|
|
@@ -1367,6 +1495,9 @@ var TestStream = class extends Duplex {
|
|
|
1367
1495
|
const dataBuffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
1368
1496
|
return asyncTimeout(this._onWrite.waitForCondition(() => this._received.equals(dataBuffer)), timeout2);
|
|
1369
1497
|
}
|
|
1498
|
+
constructor(...args) {
|
|
1499
|
+
super(...args), _define_property9(this, "_received", Buffer.alloc(0)), _define_property9(this, "_onWrite", new Event());
|
|
1500
|
+
}
|
|
1370
1501
|
};
|
|
1371
1502
|
|
|
1372
1503
|
// src/testing.ts
|
|
@@ -1429,12 +1560,20 @@ var untilError = (cb) => {
|
|
|
1429
1560
|
};
|
|
1430
1561
|
|
|
1431
1562
|
// src/timer.ts
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1563
|
+
function _define_property10(obj, key, value) {
|
|
1564
|
+
if (key in obj) {
|
|
1565
|
+
Object.defineProperty(obj, key, {
|
|
1566
|
+
value,
|
|
1567
|
+
enumerable: true,
|
|
1568
|
+
configurable: true,
|
|
1569
|
+
writable: true
|
|
1570
|
+
});
|
|
1571
|
+
} else {
|
|
1572
|
+
obj[key] = value;
|
|
1437
1573
|
}
|
|
1574
|
+
return obj;
|
|
1575
|
+
}
|
|
1576
|
+
var Timer = class {
|
|
1438
1577
|
get state() {
|
|
1439
1578
|
return this._state;
|
|
1440
1579
|
}
|
|
@@ -1474,22 +1613,33 @@ var Timer = class {
|
|
|
1474
1613
|
this._state.emit(false);
|
|
1475
1614
|
return this;
|
|
1476
1615
|
}
|
|
1616
|
+
constructor(_callback) {
|
|
1617
|
+
_define_property10(this, "_callback", void 0);
|
|
1618
|
+
_define_property10(this, "_state", void 0);
|
|
1619
|
+
_define_property10(this, "_timer", void 0);
|
|
1620
|
+
_define_property10(this, "_count", void 0);
|
|
1621
|
+
this._callback = _callback;
|
|
1622
|
+
this._state = new Event();
|
|
1623
|
+
this._count = 0;
|
|
1624
|
+
}
|
|
1477
1625
|
};
|
|
1478
1626
|
|
|
1479
1627
|
// src/update-scheduler.ts
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
this._scheduled = false;
|
|
1488
|
-
this._lastUpdateTime = -TIME_PERIOD;
|
|
1489
|
-
_ctx.onDispose(async () => {
|
|
1490
|
-
await this._promise;
|
|
1628
|
+
function _define_property11(obj, key, value) {
|
|
1629
|
+
if (key in obj) {
|
|
1630
|
+
Object.defineProperty(obj, key, {
|
|
1631
|
+
value,
|
|
1632
|
+
enumerable: true,
|
|
1633
|
+
configurable: true,
|
|
1634
|
+
writable: true
|
|
1491
1635
|
});
|
|
1636
|
+
} else {
|
|
1637
|
+
obj[key] = value;
|
|
1492
1638
|
}
|
|
1639
|
+
return obj;
|
|
1640
|
+
}
|
|
1641
|
+
var TIME_PERIOD = 1e3;
|
|
1642
|
+
var UpdateScheduler = class {
|
|
1493
1643
|
trigger() {
|
|
1494
1644
|
if (this._scheduled) {
|
|
1495
1645
|
return;
|
|
@@ -1546,6 +1696,23 @@ var UpdateScheduler = class {
|
|
|
1546
1696
|
this._promise = this._callback();
|
|
1547
1697
|
await this._promise;
|
|
1548
1698
|
}
|
|
1699
|
+
constructor(_ctx, _callback, _params = {}) {
|
|
1700
|
+
_define_property11(this, "_ctx", void 0);
|
|
1701
|
+
_define_property11(this, "_callback", void 0);
|
|
1702
|
+
_define_property11(this, "_params", void 0);
|
|
1703
|
+
_define_property11(this, "_promise", void 0);
|
|
1704
|
+
_define_property11(this, "_scheduled", void 0);
|
|
1705
|
+
_define_property11(this, "_lastUpdateTime", void 0);
|
|
1706
|
+
this._ctx = _ctx;
|
|
1707
|
+
this._callback = _callback;
|
|
1708
|
+
this._params = _params;
|
|
1709
|
+
this._promise = null;
|
|
1710
|
+
this._scheduled = false;
|
|
1711
|
+
this._lastUpdateTime = -TIME_PERIOD;
|
|
1712
|
+
_ctx.onDispose(async () => {
|
|
1713
|
+
await this._promise;
|
|
1714
|
+
});
|
|
1715
|
+
}
|
|
1549
1716
|
};
|
|
1550
1717
|
export {
|
|
1551
1718
|
CancellableObservableProvider,
|