@flowgram.ai/utils 0.2.6 → 0.2.7

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/index.d.mts CHANGED
@@ -929,12 +929,11 @@ declare class DisposableImpl implements Disposable {
929
929
  get onDispose(): Event<void>;
930
930
  }
931
931
  declare class DisposableCollection implements Disposable {
932
- protected readonly disposables: (Disposable & {
933
- _origin: Disposable;
934
- })[];
932
+ protected readonly disposables: Disposable[];
935
933
  protected readonly onDisposeEmitter: Emitter<void>;
936
934
  private _disposed;
937
935
  constructor(...toDispose: Disposable[]);
936
+ get length(): number;
938
937
  get onDispose(): Event<void>;
939
938
  get disposed(): boolean;
940
939
  dispose(): void;
package/dist/index.d.ts CHANGED
@@ -929,12 +929,11 @@ declare class DisposableImpl implements Disposable {
929
929
  get onDispose(): Event<void>;
930
930
  }
931
931
  declare class DisposableCollection implements Disposable {
932
- protected readonly disposables: (Disposable & {
933
- _origin: Disposable;
934
- })[];
932
+ protected readonly disposables: Disposable[];
935
933
  protected readonly onDisposeEmitter: Emitter<void>;
936
934
  private _disposed;
937
935
  constructor(...toDispose: Disposable[]);
936
+ get length(): number;
938
937
  get onDispose(): Event<void>;
939
938
  get disposed(): boolean;
940
939
  dispose(): void;
package/dist/index.js CHANGED
@@ -1575,6 +1575,9 @@ var DisposableCollection = class {
1575
1575
  this._disposed = false;
1576
1576
  toDispose.forEach((d) => this.push(d));
1577
1577
  }
1578
+ get length() {
1579
+ return this.disposables.length;
1580
+ }
1578
1581
  get onDispose() {
1579
1582
  return this.onDisposeEmitter.event;
1580
1583
  }
@@ -1598,25 +1601,26 @@ var DisposableCollection = class {
1598
1601
  }
1599
1602
  push(disposable) {
1600
1603
  if (this.disposed) return Disposable.NULL;
1604
+ if (disposable === Disposable.NULL) {
1605
+ return Disposable.NULL;
1606
+ }
1601
1607
  const { disposables } = this;
1602
- if (disposables.find((d) => d._origin === disposable)) {
1608
+ if (disposables.find((d) => d === disposable)) {
1603
1609
  return Disposable.NULL;
1604
1610
  }
1605
- let disposableWrap;
1611
+ const originalDispose = disposable.dispose;
1606
1612
  const toRemove = Disposable.create(() => {
1607
- const index = disposables.indexOf(disposableWrap);
1613
+ const index = disposables.indexOf(disposable);
1608
1614
  if (index !== -1) {
1609
1615
  disposables.splice(index, 1);
1610
1616
  }
1617
+ disposable.dispose = originalDispose;
1611
1618
  });
1612
- disposableWrap = {
1613
- dispose: () => {
1614
- toRemove.dispose();
1615
- disposable.dispose();
1616
- },
1617
- _origin: disposable
1619
+ disposable.dispose = () => {
1620
+ toRemove.dispose();
1621
+ disposable.dispose();
1618
1622
  };
1619
- disposables.push(disposableWrap);
1623
+ disposables.push(disposable);
1620
1624
  return toRemove;
1621
1625
  }
1622
1626
  pushAll(disposables) {