@difizen/libro-core 0.3.45 → 0.3.47

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.
@@ -41,21 +41,16 @@ export declare class LibroCellView extends BaseView implements CellView {
41
41
  toJSON(): LibroCell;
42
42
  toJSONWithoutId: () => {
43
43
  [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
44
- metadata: Partial<import("./libro-cell-protocol.js").LibroCellMetadata>;
45
- cell_type: string;
44
+ id?: string | undefined;
45
+ cell_type: "raw";
46
+ metadata: Partial<import("@difizen/libro-common").IRawCellMetadata>;
47
+ attachments?: import("@difizen/libro-common").IAttachments | undefined;
46
48
  source: import("@difizen/libro-common").MultilineString;
47
49
  } | {
48
50
  [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
49
51
  cell_type: string;
50
52
  source: import("@difizen/libro-common").MultilineString;
51
53
  metadata: Partial<import("@difizen/libro-common").ICellMetadata>;
52
- } | {
53
- [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
54
- id?: string | undefined;
55
- cell_type: "raw";
56
- metadata: Partial<import("@difizen/libro-common").IRawCellMetadata>;
57
- attachments?: import("@difizen/libro-common").IAttachments | undefined;
58
- source: import("@difizen/libro-common").MultilineString;
59
54
  } | {
60
55
  [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
61
56
  id?: string | undefined;
@@ -71,6 +66,11 @@ export declare class LibroCellView extends BaseView implements CellView {
71
66
  outputs: import("@difizen/libro-common").IOutput[];
72
67
  execution_count: import("@difizen/libro-common").ExecutionCount;
73
68
  source: import("@difizen/libro-common").MultilineString;
69
+ } | {
70
+ [x: string]: import("@difizen/libro-common").PartialJSONValue | undefined;
71
+ metadata: Partial<import("./libro-cell-protocol.js").LibroCellMetadata>;
72
+ cell_type: string;
73
+ source: import("@difizen/libro-common").MultilineString;
74
74
  };
75
75
  }
76
76
  //# sourceMappingURL=libro-cell-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libro-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/libro-cell-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAkC,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,eAAO,MAAM,kBAAkB,+DAG7B,CAAC;AAEH,qBACa,aAAc,SAAQ,QAAS,YAAW,QAAQ;IAC7D,UAAmB,SAAS,uBAA8B;IAC1D,OAAO,EAAE,eAAe,CAAC;IAGzB,kBAAkB,SAAK;IAGvB,cAAc,SAAK;IAGnB,2BAA2B,UAAS;IAGpC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAsB;IAElD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAEhC,IAAI,MAAM,IAGQ,YAAY,CAD7B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,EAG7B;IAED,SAAS,CAAC,WAAW,iDAAgC;IAErD,IAAI,WAAW,kDAEd;IAGQ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAA+B;IAGtE,cAAc,EAAE,OAAO,CAAC;IAGxB,eAAe,UAAS;IAGxB,QAAQ,UAAS;gBAGK,OAAO,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW;IAetC,WAAW,IAAI,IAAI;IAkBnB,aAAa,IAAI,IAAI;IAiB9B,SAAS;IAuBT,gBAAgB;IAIhB,aAAa;IAIP,GAAG;IAKT,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;IAItD,IAAI;IAIJ,KAAK,CAAC,MAAM,EAAE,OAAO;IAIrB,QAAQ,UAAS;IACR,OAAO;IAIhB,MAAM,IAAI,SAAS;IAUnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAMb;CACH"}
1
+ {"version":3,"file":"libro-cell-view.d.ts","sourceRoot":"","sources":["../../src/cell/libro-cell-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAkC,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,eAAO,MAAM,kBAAkB,+DAG7B,CAAC;AAEH,qBACa,aAAc,SAAQ,QAAS,YAAW,QAAQ;IAC7D,UAAmB,SAAS,uBAA8B;IAC1D,OAAO,EAAE,eAAe,CAAC;IAGzB,kBAAkB,SAAK;IAGvB,cAAc,SAAK;IAGnB,2BAA2B,UAAS;IAGpC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAsB;IAElD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAEhC,IAAI,MAAM,IAGQ,YAAY,CAD7B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,EAG7B;IAED,SAAS,CAAC,WAAW,iDAAgC;IAErD,IAAI,WAAW,kDAEd;IAGQ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAA+B;IAGtE,cAAc,EAAE,OAAO,CAAC;IAGxB,eAAe,UAAS;IAGxB,QAAQ,UAAS;gBAGK,OAAO,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW;IAetC,WAAW,IAAI,IAAI;IAkBnB,aAAa,IAAI,IAAI;IAiB9B,SAAS;IAuBT,gBAAgB;IAIhB,aAAa;IAIP,GAAG;IAKT,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;IAItD,IAAI;IAIJ,KAAK,CAAC,MAAM,EAAE,OAAO;IAIrB,QAAQ,UAAS;IAEjB,OAAO;IAKP,MAAM,IAAI,SAAS;IAUnB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAMb;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"libro-view.d.ts","sourceRoot":"","sources":["../src/libro-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libro-view.d.ts","sourceRoot":"","sources":["../src/libro-view.tsx"],"names":[],"mappings":"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"}
package/es/libro-view.js CHANGED
@@ -447,6 +447,9 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
447
447
  return -1;
448
448
  };
449
449
  _this.deleteCell = function (cell) {
450
+ if (_this.disposed) {
451
+ return;
452
+ }
450
453
  if (_this.libroViewTracker.isEnabledSpmReporter && cell.model.id) {
451
454
  var id = cell.model.id + _this.id;
452
455
  var libroTracker = _this.libroViewTracker.getOrCreateTrackers({
@@ -2095,10 +2098,15 @@ export var LibroView = (_dec = transient(), _dec2 = view(notebookViewFactoryId),
2095
2098
  key: "dispose",
2096
2099
  value: function dispose() {
2097
2100
  if (!this.disposed) {
2101
+ this.disposed = true;
2098
2102
  this.libroService.deleteLibroViewFromCache(this);
2099
2103
  this.toDispose.dispose();
2104
+ this.model.cells.forEach(function (cell) {
2105
+ if (!cell.disposed) {
2106
+ cell.dispose();
2107
+ }
2108
+ });
2100
2109
  }
2101
- this.disposed = true;
2102
2110
  _get(_getPrototypeOf(LibroView.prototype), "dispose", this).call(this);
2103
2111
  }
2104
2112
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"output-area.d.ts","sourceRoot":"","sources":["../../src/output/output-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAIL,QAAQ,EAKT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAoC,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0D1D,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAyB;IAErD,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ,CAAC;IAEf,OAAO,EAAE,cAAc,EAAE,CAAM;gBAEC,MAAM,EAAE,iBAAiB;IAIzD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B,IAAI,MAAM,WAET;IAED,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,UAAU,SAAM;IAC1B,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC3C,SAAS,CAAC,qBAAqB,UAAQ;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEzC;;OAEG;IACH,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAMlC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IASnE,GAAG,WAAkB,OAAO,KAAG,QAAQ,MAAM,CAAC,CA0E5C;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc;IAMtC,GAAG,UAAiB,MAAM,UAAU,OAAO,kBAAkB,OAAO,mBAkBlE;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAYhC,QAAQ,WAAkB,OAAO,EAAE,mBAQjC;IACF,MAAM,QAAO,OAAO,EAAE,CAEpB;IAEF,aAAa,CAAC,IAAI,EAAE,QAAQ;IAI5B,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAS5D;;;;;OAKG;IAEH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,cAAc,CAAC;KAC3B,GAAG,OAAO;CAGZ;AAoCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAoBD;;GAEG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAQtD"}
1
+ {"version":3,"file":"output-area.d.ts","sourceRoot":"","sources":["../../src/output/output-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAIL,QAAQ,EAKT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAoC,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0D1D,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IACrE,IAAI,EAAE,aAAa,CAAyB;IAE5C,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ,CAAC;IAEf,OAAO,EAAE,cAAc,EAAE,CAAM;gBAEC,MAAM,EAAE,iBAAiB;IAIzD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B,IAAI,MAAM,WAET;IAED,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,UAAU,SAAM;IAC1B,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC3C,SAAS,CAAC,qBAAqB,UAAQ;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEzC;;OAEG;IACH,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAMlC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IASnE,GAAG,WAAkB,OAAO,KAAG,QAAQ,MAAM,CAAC,CA0E5C;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc;IAMtC,GAAG,UAAiB,MAAM,UAAU,OAAO,kBAAkB,OAAO,mBAkBlE;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAiBhC,QAAQ,WAAkB,OAAO,EAAE,mBAQjC;IACF,MAAM,QAAO,OAAO,EAAE,CAEpB;IAEF,aAAa,CAAC,IAAI,EAAE,QAAQ;IAI5B,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAS5D;;;;;OAKG;IAEH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,cAAc,CAAC;KAC3B,GAAG,OAAO;CAGZ;AAoCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAoBD;;GAEG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAQtD"}
@@ -347,7 +347,11 @@ export var LibroOutputArea = (_dec = transient(), _dec2 = view('libro-output-are
347
347
  this.clearNext = true;
348
348
  return;
349
349
  }
350
- this.outputs.forEach(function (output) {
350
+ var outputs = this.outputs;
351
+ // 先将 this.outputs 清空,然后再执行 dispose 。
352
+ // 这样后续的 remove 操作面对的是空数组(或已清空的引用),避免了大量的数组遍历和过滤操作,将复杂度降低为 O(N)。
353
+ this.outputs = [];
354
+ outputs.forEach(function (output) {
351
355
  output.dispose();
352
356
  });
353
357
  }
@@ -1,5 +1,5 @@
1
1
  import type { IOutput, JSONObject, PartialJSONObject } from '@difizen/libro-common';
2
- import { BaseView, Emitter } from '@difizen/mana-app';
2
+ import { BaseView, Emitter, DisposableCollection } from '@difizen/mana-app';
3
3
  import type { FC } from 'react';
4
4
  import type { CellView } from '../libro-protocol.js';
5
5
  import type { IOutputOptions } from './output-protocol.js';
@@ -10,6 +10,7 @@ export declare class LibroOutputView extends BaseView implements BaseOutputView
10
10
  raw: IOutput;
11
11
  allowClear: boolean;
12
12
  data: JSONObject;
13
+ protected toDispose: DisposableCollection;
13
14
  onUpdateEmitter: Emitter<void>;
14
15
  get onUpdate(): import("@difizen/mana-app").Event<void>;
15
16
  metadata: PartialJSONObject;
@@ -1 +1 @@
1
- {"version":3,"file":"output-model.d.ts","sourceRoot":"","sources":["../../src/output/output-model.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAA0B,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAS5E,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IAC5D,EAAE,SAAQ;IAGnB,IAAI,EAAE,QAAQ,CAAC;IAGf,GAAG,EAAE,OAAO,CAAC;IAGb,UAAU,UAAQ;IAGlB,IAAI,EAAE,UAAU,CAAC;IAEjB,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAGD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;gBACe,OAAO,EAAE,cAAc;IAavD,MAAM,EAAE,EAAE,CAAC;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAA0B;IAEvD,OAAO;IAGhB,MAAM;IAGN,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAQxC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,wBAAkB,CAAC"}
1
+ {"version":3,"file":"output-model.d.ts","sourceRoot":"","sources":["../../src/output/output-model.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,QAAQ,EACR,OAAO,EAIP,oBAAoB,EAGrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAS5E,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IAC5D,EAAE,SAAQ;IAGnB,IAAI,EAAE,QAAQ,CAAC;IAGf,GAAG,EAAE,OAAO,CAAC;IAGb,UAAU,UAAQ;IAGlB,IAAI,EAAE,UAAU,CAAC;IAEjB,SAAS,CAAC,SAAS,uBAA8B;IAEjD,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAGD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;gBACe,OAAO,EAAE,cAAc;IAgBvD,MAAM,EAAE,EAAE,CAAC;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAA0B;IAEhE,OAAO;IAIP,MAAM;IAGN,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAQxC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,wBAAkB,CAAC"}
@@ -17,8 +17,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
17
17
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
18
18
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
19
19
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
20
- import { BaseView, Emitter, prop, view, ViewOption } from '@difizen/mana-app';
21
- import { inject, transient } from '@difizen/mana-app';
20
+ import { BaseView, Emitter, prop, view, ViewOption, DisposableCollection, inject, transient } from '@difizen/mana-app';
22
21
  import { v4 } from 'uuid';
23
22
  import { jsx as _jsx } from "react/jsx-runtime";
24
23
  var LibroOutputModelRender = function LibroOutputModelRender(props) {
@@ -40,6 +39,7 @@ export var LibroOutputView = (_dec = transient(), _dec2 = view('libro-output-mod
40
39
  _initializerDefineProperty(_this, "raw", _descriptor, _assertThisInitialized(_this));
41
40
  _initializerDefineProperty(_this, "allowClear", _descriptor2, _assertThisInitialized(_this));
42
41
  _initializerDefineProperty(_this, "data", _descriptor3, _assertThisInitialized(_this));
42
+ _this.toDispose = new DisposableCollection();
43
43
  _this.onUpdateEmitter = new Emitter();
44
44
  _initializerDefineProperty(_this, "metadata", _descriptor4, _assertThisInitialized(_this));
45
45
  _this.type = void 0;
@@ -51,10 +51,11 @@ export var LibroOutputView = (_dec = transient(), _dec2 = view('libro-output-mod
51
51
  _this.type = 'libro-default-output';
52
52
  _this.data = {};
53
53
  _this.metadata = {};
54
- _this.onUpdate(function () {
54
+ _this.toDispose.push(_this.onUpdateEmitter);
55
+ _this.toDispose.push(_this.onUpdate(function () {
55
56
  var _this$cell$parent$mod, _this$cell$parent$mod2;
56
57
  (_this$cell$parent$mod = (_this$cell$parent$mod2 = _this.cell.parent.model).onChange) === null || _this$cell$parent$mod === void 0 || _this$cell$parent$mod.call(_this$cell$parent$mod2);
57
- });
58
+ }));
58
59
  return _this;
59
60
  }
60
61
  LibroOutputView = inject(ViewOption)(LibroOutputView, undefined, 0) || LibroOutputView;
@@ -66,6 +67,7 @@ export var LibroOutputView = (_dec = transient(), _dec2 = view('libro-output-mod
66
67
  }, {
67
68
  key: "dispose",
68
69
  value: function dispose() {
70
+ this.toDispose.dispose();
69
71
  _get(_getPrototypeOf(LibroOutputView.prototype), "dispose", this).call(this);
70
72
  }
71
73
  }, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-core",
3
- "version": "0.3.45",
3
+ "version": "0.3.47",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "libro",
@@ -34,10 +34,10 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@ant-design/icons": "^5.1.0",
37
- "@difizen/libro-code-editor": "^0.3.45",
38
- "@difizen/libro-common": "^0.3.45",
39
- "@difizen/libro-shared-model": "^0.3.45",
40
- "@difizen/libro-virtualized": "^0.3.45",
37
+ "@difizen/libro-code-editor": "^0.3.47",
38
+ "@difizen/libro-common": "^0.3.47",
39
+ "@difizen/libro-shared-model": "^0.3.47",
40
+ "@difizen/libro-virtualized": "^0.3.47",
41
41
  "@difizen/mana-app": "latest",
42
42
  "@difizen/mana-l10n": "latest",
43
43
  "@difizen/mana-react": "latest",
@@ -168,10 +168,12 @@ export class LibroCellView extends BaseView implements CellView {
168
168
  }
169
169
 
170
170
  disposed = false;
171
- override dispose() {
171
+
172
+ dispose() {
172
173
  this.toDispose.dispose();
173
174
  super.dispose();
174
175
  }
176
+
175
177
  toJSON(): LibroCell {
176
178
  const meta = { ...(this.model.toJSON() as LibroCell) };
177
179
  const modelContribution = this.cellService.findModelProvider(this.model.options);
@@ -666,6 +666,9 @@ export class LibroView extends BaseView implements NotebookView {
666
666
  };
667
667
 
668
668
  deleteCell = (cell: CellView) => {
669
+ if (this.disposed) {
670
+ return;
671
+ }
669
672
  if (this.libroViewTracker.isEnabledSpmReporter && cell.model.id) {
670
673
  const id = cell.model.id + this.id;
671
674
  const libroTracker = this.libroViewTracker.getOrCreateTrackers({
@@ -1373,12 +1376,17 @@ export class LibroView extends BaseView implements NotebookView {
1373
1376
 
1374
1377
  disposed = false;
1375
1378
 
1376
- override dispose() {
1379
+ dispose() {
1377
1380
  if (!this.disposed) {
1381
+ this.disposed = true;
1378
1382
  this.libroService.deleteLibroViewFromCache(this);
1379
1383
  this.toDispose.dispose();
1384
+ this.model.cells.forEach((cell) => {
1385
+ if (!cell.disposed) {
1386
+ cell.dispose();
1387
+ }
1388
+ });
1380
1389
  }
1381
- this.disposed = true;
1382
1390
  super.dispose();
1383
1391
  }
1384
1392
 
@@ -14,7 +14,7 @@ import {
14
14
  ViewInstance,
15
15
  } from '@difizen/mana-app';
16
16
  import { Emitter, prop, contrib, inject, transient } from '@difizen/mana-app';
17
- import { useEffect, useState, forwardRef, useMemo } from 'react';
17
+ import { useEffect, useState, forwardRef } from 'react';
18
18
 
19
19
  import { ExecutableCellView } from '../cell/index.js';
20
20
  import type { CellView } from '../libro-protocol.js';
@@ -85,7 +85,7 @@ const LibroOutputAreaRender = forwardRef<HTMLDivElement>(
85
85
  @transient()
86
86
  @view('libro-output-area')
87
87
  export class LibroOutputArea extends BaseView implements BaseOutputArea {
88
- override view: ViewComponent = LibroOutputAreaRender;
88
+ view: ViewComponent = LibroOutputAreaRender;
89
89
  @contrib(OutputContribution)
90
90
  outputProvider: Contribution.Provider<OutputContribution>;
91
91
  cell: CellView;
@@ -242,7 +242,12 @@ export class LibroOutputArea extends BaseView implements BaseOutputArea {
242
242
  this.clearNext = true;
243
243
  return;
244
244
  }
245
- this.outputs.forEach((output) => {
245
+
246
+ const outputs = this.outputs;
247
+ // 先将 this.outputs 清空,然后再执行 dispose 。
248
+ // 这样后续的 remove 操作面对的是空数组(或已清空的引用),避免了大量的数组遍历和过滤操作,将复杂度降低为 O(N)。
249
+ this.outputs = [];
250
+ outputs.forEach((output) => {
246
251
  output.dispose();
247
252
  });
248
253
  }
@@ -1,6 +1,14 @@
1
1
  import type { IOutput, JSONObject, PartialJSONObject } from '@difizen/libro-common';
2
- import { BaseView, Emitter, prop, view, ViewOption } from '@difizen/mana-app';
3
- import { inject, transient } from '@difizen/mana-app';
2
+ import {
3
+ BaseView,
4
+ Emitter,
5
+ prop,
6
+ view,
7
+ ViewOption,
8
+ DisposableCollection,
9
+ inject,
10
+ transient,
11
+ } from '@difizen/mana-app';
4
12
  import type { FC } from 'react';
5
13
  import { v4 } from 'uuid';
6
14
 
@@ -33,6 +41,8 @@ export class LibroOutputView extends BaseView implements BaseOutputView {
33
41
  @prop()
34
42
  data: JSONObject;
35
43
 
44
+ protected toDispose = new DisposableCollection();
45
+
36
46
  onUpdateEmitter = new Emitter<void>();
37
47
 
38
48
  get onUpdate() {
@@ -51,14 +61,18 @@ export class LibroOutputView extends BaseView implements BaseOutputView {
51
61
  this.type = 'libro-default-output';
52
62
  this.data = {};
53
63
  this.metadata = {};
54
- this.onUpdate(() => {
55
- this.cell.parent.model.onChange?.();
56
- });
64
+ this.toDispose.push(this.onUpdateEmitter);
65
+ this.toDispose.push(
66
+ this.onUpdate(() => {
67
+ this.cell.parent.model.onChange?.();
68
+ }),
69
+ );
57
70
  }
58
71
 
59
72
  render: FC<{ output: BaseOutputView }> = LibroOutputModelRender;
60
73
 
61
- override dispose() {
74
+ dispose() {
75
+ this.toDispose.dispose();
62
76
  super.dispose();
63
77
  }
64
78
  toJSON() {