@dxos/async 0.8.1-main.ba2dec9 → 0.8.1-staging.31c3ee1

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.
@@ -18,6 +18,40 @@ var asyncChain = (chain) => async (elements) => {
18
18
  return result;
19
19
  };
20
20
 
21
+ // packages/common/async/src/cleanup.ts
22
+ import { ComplexMap } from "@dxos/util";
23
+ var combine = (...cleanupFns) => {
24
+ return () => {
25
+ cleanupFns.forEach((cleanupFn) => cleanupFn());
26
+ };
27
+ };
28
+ var SubscriptionList = class {
29
+ constructor() {
30
+ this._cleanups = [];
31
+ }
32
+ add(cb) {
33
+ this._cleanups.push(cb);
34
+ return this;
35
+ }
36
+ clear() {
37
+ this._cleanups.forEach((cb) => cb());
38
+ this._cleanups.length = 0;
39
+ }
40
+ };
41
+ var SubscriptionSet = class {
42
+ constructor(keyProjection) {
43
+ this._cleanupMap = new ComplexMap(keyProjection);
44
+ }
45
+ set(key, cb) {
46
+ this._cleanupMap.set(key, cb);
47
+ return this;
48
+ }
49
+ clear() {
50
+ this._cleanupMap.forEach((cb) => cb());
51
+ this._cleanupMap.clear();
52
+ }
53
+ };
54
+
21
55
  // packages/common/async/src/debounce.ts
22
56
  var debounce = (cb, wait = 100) => {
23
57
  let t;
@@ -125,18 +159,6 @@ var waitForEvent = (eventEmitter, eventName, test, timeout, error) => {
125
159
  // packages/common/async/src/events.ts
126
160
  import { Context } from "@dxos/context";
127
161
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/async/src/events.ts";
128
- var EventSubscriptions = class {
129
- constructor() {
130
- this._listeners = [];
131
- }
132
- add(cb) {
133
- this._listeners.push(cb);
134
- }
135
- clear() {
136
- this._listeners.forEach((cb) => cb());
137
- this._listeners.length = 0;
138
- }
139
- };
140
162
  var DO_NOT_ERROR_ON_ASYNC_CALLBACK = true;
141
163
  var Event = class _Event {
142
164
  constructor() {
@@ -195,7 +217,7 @@ var Event = class _Event {
195
217
  ] : [
196
218
  new Context(void 0, {
197
219
  F: __dxlog_file,
198
- L: 148
220
+ L: 132
199
221
  }),
200
222
  _ctx
201
223
  ];
@@ -228,7 +250,7 @@ var Event = class _Event {
228
250
  ] : [
229
251
  new Context(void 0, {
230
252
  F: __dxlog_file,
231
- L: 185
253
+ L: 169
232
254
  }),
233
255
  _ctx
234
256
  ];
@@ -1172,6 +1194,72 @@ _ts_decorate([
1172
1194
  synchronized
1173
1195
  ], PersistentLifecycle.prototype, "scheduleRestart", null);
1174
1196
 
1197
+ // packages/common/async/src/push-iterable.ts
1198
+ import { invariant as invariant2 } from "@dxos/invariant";
1199
+ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/common/async/src/push-iterable.ts";
1200
+ var makePushIterable = () => {
1201
+ const buf = [];
1202
+ const trigger2 = new Trigger({
1203
+ autoReset: true
1204
+ });
1205
+ return {
1206
+ [Symbol.asyncIterator]() {
1207
+ return {
1208
+ next: async () => {
1209
+ while (buf.length === 0) {
1210
+ await trigger2.wait();
1211
+ }
1212
+ const item = buf.shift();
1213
+ invariant2(item, void 0, {
1214
+ F: __dxlog_file5,
1215
+ L: 42,
1216
+ S: this,
1217
+ A: [
1218
+ "item",
1219
+ ""
1220
+ ]
1221
+ });
1222
+ switch (item.kind) {
1223
+ case "next":
1224
+ return {
1225
+ value: item.value,
1226
+ done: false
1227
+ };
1228
+ case "return":
1229
+ return {
1230
+ value: item.value,
1231
+ done: true
1232
+ };
1233
+ case "throw":
1234
+ throw item.value;
1235
+ }
1236
+ }
1237
+ };
1238
+ },
1239
+ next: (value) => {
1240
+ buf.push({
1241
+ kind: "next",
1242
+ value
1243
+ });
1244
+ trigger2.wake();
1245
+ },
1246
+ return: (value) => {
1247
+ buf.push({
1248
+ kind: "return",
1249
+ value
1250
+ });
1251
+ trigger2.wake();
1252
+ },
1253
+ throw: (value) => {
1254
+ buf.push({
1255
+ kind: "throw",
1256
+ value
1257
+ });
1258
+ trigger2.wake();
1259
+ }
1260
+ };
1261
+ };
1262
+
1175
1263
  // packages/common/async/src/sink.ts
1176
1264
  var sink = (emitter, event, count = 1) => {
1177
1265
  const [getPromise, resolve] = trigger();
@@ -1439,77 +1527,10 @@ var UpdateScheduler = class {
1439
1527
  await this._promise;
1440
1528
  }
1441
1529
  };
1442
-
1443
- // packages/common/async/src/push-iterable.ts
1444
- import { invariant as invariant2 } from "@dxos/invariant";
1445
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/common/async/src/push-iterable.ts";
1446
- var makePushIterable = () => {
1447
- const buf = [];
1448
- const trigger2 = new Trigger({
1449
- autoReset: true
1450
- });
1451
- return {
1452
- [Symbol.asyncIterator]() {
1453
- return {
1454
- next: async () => {
1455
- while (buf.length === 0) {
1456
- await trigger2.wait();
1457
- }
1458
- const item = buf.shift();
1459
- invariant2(item, void 0, {
1460
- F: __dxlog_file5,
1461
- L: 42,
1462
- S: this,
1463
- A: [
1464
- "item",
1465
- ""
1466
- ]
1467
- });
1468
- switch (item.kind) {
1469
- case "next":
1470
- return {
1471
- value: item.value,
1472
- done: false
1473
- };
1474
- case "return":
1475
- return {
1476
- value: item.value,
1477
- done: true
1478
- };
1479
- case "throw":
1480
- throw item.value;
1481
- }
1482
- }
1483
- };
1484
- },
1485
- next: (value) => {
1486
- buf.push({
1487
- kind: "next",
1488
- value
1489
- });
1490
- trigger2.wake();
1491
- },
1492
- return: (value) => {
1493
- buf.push({
1494
- kind: "return",
1495
- value
1496
- });
1497
- trigger2.wake();
1498
- },
1499
- throw: (value) => {
1500
- buf.push({
1501
- kind: "throw",
1502
- value
1503
- });
1504
- trigger2.wake();
1505
- }
1506
- };
1507
- };
1508
1530
  export {
1509
1531
  CancellableObservableProvider,
1510
1532
  DeferredTask,
1511
1533
  Event,
1512
- EventSubscriptions,
1513
1534
  MulticastObservable,
1514
1535
  Mutex,
1515
1536
  MutexGuard,
@@ -1517,6 +1538,8 @@ export {
1517
1538
  ObservableProvider,
1518
1539
  PersistentLifecycle,
1519
1540
  PushStream,
1541
+ SubscriptionList,
1542
+ SubscriptionSet,
1520
1543
  TestStream,
1521
1544
  TimeoutError,
1522
1545
  Timer,
@@ -1527,6 +1550,7 @@ export {
1527
1550
  asyncChain,
1528
1551
  asyncReturn,
1529
1552
  asyncTimeout,
1553
+ combine,
1530
1554
  createPromiseFromCallback,
1531
1555
  debounce,
1532
1556
  dumpLeaks,