@dxos/async 0.8.1-staging.5be625a → 0.8.1-staging.97aedb1

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