@flowgram.ai/utils 0.2.6 → 0.2.8

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/esm/index.js CHANGED
@@ -1451,6 +1451,9 @@ var DisposableCollection = class {
1451
1451
  this._disposed = false;
1452
1452
  toDispose.forEach((d) => this.push(d));
1453
1453
  }
1454
+ get length() {
1455
+ return this.disposables.length;
1456
+ }
1454
1457
  get onDispose() {
1455
1458
  return this.onDisposeEmitter.event;
1456
1459
  }
@@ -1474,25 +1477,26 @@ var DisposableCollection = class {
1474
1477
  }
1475
1478
  push(disposable) {
1476
1479
  if (this.disposed) return Disposable.NULL;
1480
+ if (disposable === Disposable.NULL) {
1481
+ return Disposable.NULL;
1482
+ }
1477
1483
  const { disposables } = this;
1478
- if (disposables.find((d) => d._origin === disposable)) {
1484
+ if (disposables.find((d) => d === disposable)) {
1479
1485
  return Disposable.NULL;
1480
1486
  }
1481
- let disposableWrap;
1487
+ const originalDispose = disposable.dispose;
1482
1488
  const toRemove = Disposable.create(() => {
1483
- const index = disposables.indexOf(disposableWrap);
1489
+ const index = disposables.indexOf(disposable);
1484
1490
  if (index !== -1) {
1485
1491
  disposables.splice(index, 1);
1486
1492
  }
1493
+ disposable.dispose = originalDispose;
1487
1494
  });
1488
- disposableWrap = {
1489
- dispose: () => {
1490
- toRemove.dispose();
1491
- disposable.dispose();
1492
- },
1493
- _origin: disposable
1495
+ disposable.dispose = () => {
1496
+ toRemove.dispose();
1497
+ disposable.dispose();
1494
1498
  };
1495
- disposables.push(disposableWrap);
1499
+ disposables.push(disposable);
1496
1500
  return toRemove;
1497
1501
  }
1498
1502
  pushAll(disposables) {