@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.
@@ -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 ??= new FinalizationRegistry(({ event, listener }) => {
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
- var Mutex = class {
521
- constructor() {
522
- this._queue = Promise.resolve();
523
- this._queueLength = 0;
524
- this._tag = null;
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
- const mutex = this[classMutexSymbol] ??= new Mutex();
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
- var MulticastObservable = class _MulticastObservable extends Observable {
751
- constructor(subscriber, _value) {
752
- super((observer) => this._subscribe(observer)), this._value = _value, this._observers = /* @__PURE__ */ new Set(), this._completed = new Trigger(), this._handlers = {
753
- next: (value) => {
754
- this._value = value;
755
- this._observers.forEach((observer) => observer.next?.(value));
756
- },
757
- error: (err) => {
758
- this._observers.forEach((observer) => observer.error?.(err));
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
- var ObservableProvider = class {
854
- constructor() {
855
- this._handlers = /* @__PURE__ */ new Set();
856
- this._proxy = createSetDispatch({
857
- handlers: this._handlers
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
- var DeferredTask = class {
991
- constructor(_ctx, _callback) {
992
- this._ctx = _ctx;
993
- this._callback = _callback;
994
- this._scheduled = false;
995
- this._currentTask = null;
996
- this._nextTask = new Trigger();
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
- var TestStream = class extends Duplex {
1337
- constructor() {
1338
- super(...arguments);
1339
- this._received = Buffer.alloc(0);
1340
- this._onWrite = new Event();
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
- var Timer = class {
1431
- constructor(_callback) {
1432
- this._callback = _callback;
1433
- this._state = new Event();
1434
- this._count = 0;
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
- var TIME_PERIOD = 1e3;
1479
- var UpdateScheduler = class {
1480
- constructor(_ctx, _callback, _params = {}) {
1481
- this._ctx = _ctx;
1482
- this._callback = _callback;
1483
- this._params = _params;
1484
- this._promise = null;
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,