@dxos/async 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea

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.
@@ -22,19 +22,6 @@ 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
- }
38
25
  var combine = (...cleanupFns) => {
39
26
  return () => {
40
27
  cleanupFns.flat().forEach((cleanupFn) => cleanupFn());
@@ -53,6 +40,7 @@ var addEventListener = (target, type, listener, options) => {
53
40
  return () => target.removeEventListener(type, listener, options);
54
41
  };
55
42
  var SubscriptionList = class {
43
+ _cleanups = [];
56
44
  add(cb) {
57
45
  this._cleanups.push(cb);
58
46
  return this;
@@ -61,11 +49,12 @@ var SubscriptionList = class {
61
49
  this._cleanups.forEach((cb) => cb());
62
50
  this._cleanups.length = 0;
63
51
  }
64
- constructor() {
65
- _define_property(this, "_cleanups", []);
66
- }
67
52
  };
68
53
  var SubscriptionSet = class {
54
+ _cleanupMap;
55
+ constructor(keyProjection) {
56
+ this._cleanupMap = new ComplexMap(keyProjection);
57
+ }
69
58
  set(key, cb) {
70
59
  this._cleanupMap.set(key, cb);
71
60
  return this;
@@ -74,10 +63,6 @@ var SubscriptionSet = class {
74
63
  this._cleanupMap.forEach((cb) => cb());
75
64
  this._cleanupMap.clear();
76
65
  }
77
- constructor(keyProjection) {
78
- _define_property(this, "_cleanupMap", void 0);
79
- this._cleanupMap = new ComplexMap(keyProjection);
80
- }
81
66
  };
82
67
 
83
68
  // src/debounce.ts
@@ -204,19 +189,6 @@ var waitForEvent = (eventEmitter, eventName, test, timeout2, error) => {
204
189
 
205
190
  // src/events.ts
206
191
  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
- }
220
192
  var __dxlog_file = "/__w/dxos/dxos/packages/common/async/src/events.ts";
221
193
  var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
222
194
  var Event = class _Event {
@@ -232,6 +204,8 @@ var Event = class _Event {
232
204
  });
233
205
  return event;
234
206
  }
207
+ _listeners = /* @__PURE__ */ new Set();
208
+ _effects = /* @__PURE__ */ new Set();
235
209
  /**
236
210
  * Emit an event.
237
211
  * In most cases should only be called by the class or entity containing the event.
@@ -473,12 +447,30 @@ var Event = class _Event {
473
447
  handle.cleanup = void 0;
474
448
  }
475
449
  }
476
- constructor() {
477
- _define_property2(this, "_listeners", /* @__PURE__ */ new Set());
478
- _define_property2(this, "_effects", /* @__PURE__ */ new Set());
479
- }
480
450
  };
481
451
  var EventListener = class {
452
+ ctx;
453
+ once;
454
+ weak;
455
+ callback;
456
+ _clearDispose = void 0;
457
+ constructor(event, listener, ctx, once, weak) {
458
+ this.ctx = ctx;
459
+ this.once = once;
460
+ this.weak = weak;
461
+ this._clearDispose = ctx.onDispose(() => {
462
+ event._removeListener(this);
463
+ });
464
+ if (weak) {
465
+ this.callback = new WeakRef(listener);
466
+ weakListeners().registry?.register(listener, {
467
+ event: new WeakRef(event),
468
+ listener: this
469
+ }, this);
470
+ } else {
471
+ this.callback = listener;
472
+ }
473
+ }
482
474
  derefCallback() {
483
475
  return this.weak ? this.callback.deref() : this.callback;
484
476
  }
@@ -508,29 +500,6 @@ var EventListener = class {
508
500
  this._clearDispose?.();
509
501
  weakListeners().registry?.unregister(this);
510
502
  }
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
- }
534
503
  };
535
504
  var weakListenersState = null;
536
505
  var FINALIZATION_REGISTRY_SUPPORTED = !!globalThis.FinalizationRegistry;
@@ -540,9 +509,9 @@ var weakListeners = () => {
540
509
  registry: void 0
541
510
  };
542
511
  }
543
- weakListenersState ?? (weakListenersState = new FinalizationRegistry(({ event, listener }) => {
512
+ weakListenersState ??= new FinalizationRegistry(({ event, listener }) => {
544
513
  event.deref()?._removeListener(listener);
545
- }));
514
+ });
546
515
  return {
547
516
  registry: weakListenersState
548
517
  };
@@ -551,20 +520,10 @@ var weakListeners = () => {
551
520
  // src/mutex.ts
552
521
  import "@dxos/util";
553
522
  import { warnAfterTimeout } from "@dxos/debug";
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;
564
- }
565
- return obj;
566
- }
567
523
  var Mutex = class {
524
+ _queue = Promise.resolve();
525
+ _queueLength = 0;
526
+ _tag = null;
568
527
  get tag() {
569
528
  return this._tag;
570
529
  }
@@ -608,13 +567,12 @@ var Mutex = class {
608
567
  guard.release();
609
568
  }
610
569
  }
611
- constructor() {
612
- _define_property3(this, "_queue", Promise.resolve());
613
- _define_property3(this, "_queueLength", 0);
614
- _define_property3(this, "_tag", null);
615
- }
616
570
  };
617
571
  var MutexGuard = class {
572
+ _release;
573
+ constructor(_release) {
574
+ this._release = _release;
575
+ }
618
576
  /**
619
577
  * Releases the lock.
620
578
  */
@@ -624,10 +582,6 @@ var MutexGuard = class {
624
582
  [Symbol.dispose]() {
625
583
  this.release();
626
584
  }
627
- constructor(_release) {
628
- _define_property3(this, "_release", void 0);
629
- this._release = _release;
630
- }
631
585
  };
632
586
  var classMutexSymbol = Symbol("class-mutex");
633
587
  var FORCE_DISABLE_WARNING = false;
@@ -635,8 +589,7 @@ var enableWarning = !FORCE_DISABLE_WARNING && globalThis.mochaExecutor;
635
589
  var synchronized = (target, propertyName, descriptor) => {
636
590
  const method = descriptor.value;
637
591
  descriptor.value = async function synchronizedMethod(...args) {
638
- var _classMutexSymbol;
639
- const mutex = this[_classMutexSymbol = classMutexSymbol] ?? (this[_classMutexSymbol] = new Mutex());
592
+ const mutex = this[classMutexSymbol] ??= new Mutex();
640
593
  const tag = `${target.constructor.name}.${propertyName}`;
641
594
  let guard;
642
595
  if (!enableWarning) {
@@ -661,19 +614,6 @@ import PushStream from "zen-push";
661
614
 
662
615
  // src/trigger.ts
663
616
  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
- }
677
617
  var __dxlog_file2 = "/__w/dxos/dxos/packages/common/async/src/trigger.ts";
678
618
  var trigger = (timeout2) => {
679
619
  let callback;
@@ -697,6 +637,17 @@ var TriggerState = /* @__PURE__ */ (function(TriggerState2) {
697
637
  return TriggerState2;
698
638
  })({});
699
639
  var Trigger = class {
640
+ _options;
641
+ _promise;
642
+ _resolve;
643
+ _reject;
644
+ _state = "WAITING";
645
+ constructor(_options = {
646
+ autoReset: false
647
+ }) {
648
+ this._options = _options;
649
+ this.reset();
650
+ }
700
651
  get state() {
701
652
  return this._state;
702
653
  }
@@ -753,18 +704,6 @@ var Trigger = class {
753
704
  }
754
705
  return this;
755
706
  }
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
- }
768
707
  };
769
708
  var latch = ({ count = 1, timeout: timeout2 } = {}) => {
770
709
  invariant(count >= 0, void 0, {
@@ -814,20 +753,16 @@ var latch = ({ count = 1, timeout: timeout2 } = {}) => {
814
753
  };
815
754
 
816
755
  // src/observable.ts
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;
827
- }
828
- return obj;
829
- }
830
756
  var MulticastObservable = class _MulticastObservable extends Observable {
757
+ _value;
758
+ _observers = /* @__PURE__ */ new Set();
759
+ _observable;
760
+ _completed = new Trigger();
761
+ constructor(subscriber, _value) {
762
+ super((observer) => this._subscribe(observer)), this._value = _value;
763
+ this._observable = typeof subscriber === "function" ? new Observable(subscriber) : subscriber;
764
+ this._observable.subscribe(this._handlers);
765
+ }
831
766
  static from(value, initialValue) {
832
767
  if ("emit" in value) {
833
768
  return new _MulticastObservable((observer) => {
@@ -908,42 +843,30 @@ var MulticastObservable = class _MulticastObservable extends Observable {
908
843
  this._observers.delete(observer);
909
844
  };
910
845
  }
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
- }
846
+ _handlers = {
847
+ next: (value) => {
848
+ this._value = value;
849
+ this._observers.forEach((observer) => observer.next?.(value));
850
+ },
851
+ error: (err) => {
852
+ this._observers.forEach((observer) => observer.error?.(err));
853
+ },
854
+ complete: () => {
855
+ this._completed.wake();
856
+ this._observers.forEach((observer) => observer.complete?.());
857
+ }
858
+ };
928
859
  };
929
860
  var EMPTY_OBSERVABLE = MulticastObservable.of(null);
930
861
 
931
862
  // src/observable-value.ts
932
863
  import { createSetDispatch } from "@dxos/util";
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
940
- });
941
- } else {
942
- obj[key] = value;
943
- }
944
- return obj;
945
- }
946
864
  var ObservableProvider = class {
865
+ _handlers = /* @__PURE__ */ new Set();
866
+ _proxy = createSetDispatch({
867
+ handlers: this._handlers
868
+ });
869
+ _value;
947
870
  /**
948
871
  * Proxy used to dispatch callbacks to each subscription.
949
872
  */
@@ -962,15 +885,13 @@ var ObservableProvider = class {
962
885
  this._handlers.delete(handler);
963
886
  };
964
887
  }
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
- }
972
888
  };
973
889
  var CancellableObservableProvider = class extends ObservableProvider {
890
+ _handleCancel;
891
+ _cancelled = false;
892
+ constructor(_handleCancel) {
893
+ super(), this._handleCancel = _handleCancel;
894
+ }
974
895
  get cancelled() {
975
896
  return this._cancelled;
976
897
  }
@@ -982,9 +903,6 @@ var CancellableObservableProvider = class extends ObservableProvider {
982
903
  await this._handleCancel?.();
983
904
  this.callback.onCancelled?.();
984
905
  }
985
- constructor(_handleCancel) {
986
- super(), _define_property6(this, "_handleCancel", void 0), _define_property6(this, "_cancelled", void 0), this._handleCancel = _handleCancel, this._cancelled = false;
987
- }
988
906
  };
989
907
 
990
908
  // src/persistent-lifecycle.ts
@@ -1081,20 +999,16 @@ if (enabled) {
1081
999
  }
1082
1000
 
1083
1001
  // src/task-scheduling.ts
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;
1094
- }
1095
- return obj;
1096
- }
1097
1002
  var DeferredTask = class {
1003
+ _ctx;
1004
+ _callback;
1005
+ _scheduled = false;
1006
+ _currentTask = null;
1007
+ _nextTask = new Trigger();
1008
+ constructor(_ctx, _callback) {
1009
+ this._ctx = _ctx;
1010
+ this._callback = _callback;
1011
+ }
1098
1012
  get scheduled() {
1099
1013
  return this._scheduled;
1100
1014
  }
@@ -1133,18 +1047,6 @@ var DeferredTask = class {
1133
1047
  async join() {
1134
1048
  await this._currentTask;
1135
1049
  }
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
- }
1148
1050
  };
1149
1051
  var runInContext = (ctx, fn) => {
1150
1052
  try {
@@ -1225,19 +1127,6 @@ var scheduleExponentialBackoffTaskInterval = (ctx, task, initialInterval) => {
1225
1127
  };
1226
1128
 
1227
1129
  // 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
- }
1241
1130
  function _ts_decorate(decorators, target, key, desc) {
1242
1131
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1243
1132
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1248,6 +1137,20 @@ var __dxlog_file4 = "/__w/dxos/dxos/packages/common/async/src/persistent-lifecyc
1248
1137
  var INIT_RESTART_DELAY = 100;
1249
1138
  var DEFAULT_MAX_RESTART_DELAY = 5e3;
1250
1139
  var PersistentLifecycle = class extends Resource {
1140
+ _start;
1141
+ _stop;
1142
+ _onRestart;
1143
+ _maxRestartDelay;
1144
+ _currentState = void 0;
1145
+ _restartTask = void 0;
1146
+ _restartAfter = 0;
1147
+ constructor({ start, stop, onRestart, maxRestartDelay = DEFAULT_MAX_RESTART_DELAY }) {
1148
+ super();
1149
+ this._start = start;
1150
+ this._stop = stop;
1151
+ this._onRestart = onRestart;
1152
+ this._maxRestartDelay = maxRestartDelay;
1153
+ }
1251
1154
  get state() {
1252
1155
  return this._currentState;
1253
1156
  }
@@ -1330,13 +1233,6 @@ var PersistentLifecycle = class extends Resource {
1330
1233
  }
1331
1234
  this._restartTask.schedule();
1332
1235
  }
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
- }
1340
1236
  };
1341
1237
  _ts_decorate([
1342
1238
  synchronized
@@ -1455,19 +1351,6 @@ var streamToArray = (stream) => {
1455
1351
 
1456
1352
  // src/test-stream.ts
1457
1353
  import { Duplex } from "node:stream";
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;
1468
- }
1469
- return obj;
1470
- }
1471
1354
  var TestStream = class extends Duplex {
1472
1355
  static async assertConnectivity(stream1, stream2, { timeout: timeout2 = 200 } = {}) {
1473
1356
  stream1.push("ping");
@@ -1481,6 +1364,8 @@ var TestStream = class extends Duplex {
1481
1364
  })
1482
1365
  ]);
1483
1366
  }
1367
+ _received = Buffer.alloc(0);
1368
+ _onWrite = new Event();
1484
1369
  _write(chunk, encoding, callback) {
1485
1370
  this._received = Buffer.concat([
1486
1371
  this._received,
@@ -1495,9 +1380,6 @@ var TestStream = class extends Duplex {
1495
1380
  const dataBuffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
1496
1381
  return asyncTimeout(this._onWrite.waitForCondition(() => this._received.equals(dataBuffer)), timeout2);
1497
1382
  }
1498
- constructor(...args) {
1499
- super(...args), _define_property9(this, "_received", Buffer.alloc(0)), _define_property9(this, "_onWrite", new Event());
1500
- }
1501
1383
  };
1502
1384
 
1503
1385
  // src/testing.ts
@@ -1560,20 +1442,14 @@ var untilError = (cb) => {
1560
1442
  };
1561
1443
 
1562
1444
  // src/timer.ts
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;
1573
- }
1574
- return obj;
1575
- }
1576
1445
  var Timer = class {
1446
+ _callback;
1447
+ _state = new Event();
1448
+ _timer;
1449
+ _count = 0;
1450
+ constructor(_callback) {
1451
+ this._callback = _callback;
1452
+ }
1577
1453
  get state() {
1578
1454
  return this._state;
1579
1455
  }
@@ -1613,33 +1489,29 @@ var Timer = class {
1613
1489
  this._state.emit(false);
1614
1490
  return this;
1615
1491
  }
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
- }
1625
1492
  };
1626
1493
 
1627
1494
  // src/update-scheduler.ts
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
1635
- });
1636
- } else {
1637
- obj[key] = value;
1638
- }
1639
- return obj;
1640
- }
1641
1495
  var TIME_PERIOD = 1e3;
1642
1496
  var UpdateScheduler = class {
1497
+ _ctx;
1498
+ _callback;
1499
+ _params;
1500
+ /**
1501
+ * Promise that resolves when the callback is done.
1502
+ * Never rejects.
1503
+ */
1504
+ _promise = null;
1505
+ _scheduled = false;
1506
+ _lastUpdateTime = -TIME_PERIOD;
1507
+ constructor(_ctx, _callback, _params = {}) {
1508
+ this._ctx = _ctx;
1509
+ this._callback = _callback;
1510
+ this._params = _params;
1511
+ _ctx.onDispose(async () => {
1512
+ await this._promise;
1513
+ });
1514
+ }
1643
1515
  trigger() {
1644
1516
  if (this._scheduled) {
1645
1517
  return;
@@ -1696,23 +1568,6 @@ var UpdateScheduler = class {
1696
1568
  this._promise = this._callback();
1697
1569
  await this._promise;
1698
1570
  }
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
- }
1716
1571
  };
1717
1572
  export {
1718
1573
  CancellableObservableProvider,