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