@pilotdev/pilot-bim-dataprovider 23.0.4 → 23.0.6

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.
@@ -8,6 +8,7 @@ export interface IBimDataModel {
8
8
  export declare class BimDataModel implements IBimDataModel {
9
9
  private _module?;
10
10
  private _modelParts;
11
+ private _isDisposed;
11
12
  constructor();
12
13
  init(): Promise<void>;
13
14
  openModelPart(id: string, buffer: ArrayBuffer): IBimDataModelPart | undefined;
@@ -11,6 +11,7 @@ import BimDataProviderModule from '../wasm/pilot_bim_dataprovider.js';
11
11
  import { BimDataModelPart } from './BimDataModelPart.js';
12
12
  export class BimDataModel {
13
13
  constructor() {
14
+ this._isDisposed = false;
14
15
  this._modelParts = new Map();
15
16
  }
16
17
  init() {
@@ -28,7 +29,7 @@ export class BimDataModel {
28
29
  });
29
30
  }
30
31
  openModelPart(id, buffer) {
31
- if (!buffer)
32
+ if (!buffer || this._isDisposed)
32
33
  return undefined;
33
34
  if (!id)
34
35
  id = "id_" + (0xffffffff * Math.random() >>> 0);
@@ -46,9 +47,10 @@ export class BimDataModel {
46
47
  dispose() {
47
48
  // dispose module
48
49
  this._modelParts.forEach(p => {
49
- p.close();
50
+ p.dispose();
50
51
  });
51
52
  this._modelParts.clear();
53
+ this._isDisposed = true;
52
54
  this._module = undefined;
53
55
  }
54
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataModel.js","sourceRoot":"","sources":["../../../src/model/BimDataModel.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAqB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS5E,MAAM,OAAO,YAAY;IAKvB;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC1D,CAAC;IAEK,IAAI;;YACR,MAAM,eAAe,GAA8B;gBACjD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;gBACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;aACF,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;YAC5D,4BAA4B;QAC9B,CAAC;KAAA;IAED,aAAa,CAAC,EAAU,EAAE,MAAoB;QAC5C,IAAI,CAAC,MAAM;YACT,OAAO,SAAS,CAAC;QAEnB,IAAI,CAAC,EAAE;YACL,EAAE,GAAG,KAAK,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAkB,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,iBAAiB;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,EAAE,CAAC;QACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC3B,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"BimDataModel.js","sourceRoot":"","sources":["../../../src/model/BimDataModel.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAqB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS5E,MAAM,OAAO,YAAY;IAMvB;QAFQ,gBAAW,GAAY,KAAK,CAAC;QAGnC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC1D,CAAC;IAEK,IAAI;;YACR,MAAM,eAAe,GAA8B;gBACjD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;gBACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC;aACF,CAAC;YAEF,IAAI,CAAC,OAAO,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;YAC5D,4BAA4B;QAC9B,CAAC;KAAA;IAED,aAAa,CAAC,EAAU,EAAE,MAAoB;QAC5C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;YAC7B,OAAO,SAAS,CAAC;QAEnB,IAAI,CAAC,EAAE;YACL,EAAE,GAAG,KAAK,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAkB,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,iBAAiB;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,EAAE,CAAC;QACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC3B,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;CACF"}
@@ -6,6 +6,7 @@ export interface IBimDataModelPart {
6
6
  id: string;
7
7
  open(buffer: ArrayBuffer): void;
8
8
  close(): void;
9
+ dispose(): void;
9
10
  getTessellations(): Map<string, BimDataTessellation>;
10
11
  getAllElements(): BimDataElement[];
11
12
  getElementProperties(elementId: string, version: bigint): BimDataElementPropertySet[];
@@ -13,12 +14,16 @@ export interface IBimDataModelPart {
13
14
  export declare class BimDataModelPart implements IBimDataModelPart {
14
15
  private _module;
15
16
  private _id;
17
+ private _isOpen;
18
+ private _isDisposed;
16
19
  constructor(id: string, module: IWasmBimModule);
17
20
  get id(): string;
21
+ dispose(): void;
18
22
  open(buffer: ArrayBuffer): void;
19
23
  close(): void;
20
24
  getTessellations(): Map<string, BimDataTessellation>;
21
25
  getAllElements(): BimDataElement[];
22
26
  getElementProperties(elementId: string, version: bigint): BimDataElementPropertySet[];
23
27
  private get _path();
28
+ private checkIsOpen;
24
29
  }
@@ -4,35 +4,54 @@ export class BimDataModelPart {
4
4
  constructor(id, module) {
5
5
  this._module = module;
6
6
  this._id = id;
7
+ this._isOpen = false;
8
+ this._isDisposed = false;
7
9
  }
8
10
  get id() {
9
11
  return this._id;
10
12
  }
13
+ dispose() {
14
+ this.close();
15
+ this._isDisposed = true;
16
+ }
11
17
  open(buffer) {
18
+ if (this._isDisposed)
19
+ return;
12
20
  const data = new Uint8Array(buffer);
13
21
  if (WasmTools.isFileExists(this._path, this._module))
14
22
  return;
15
23
  this._module.FS.createDataFile("/", this._id, data, true, true, true);
24
+ this._isOpen = true;
16
25
  }
17
26
  close() {
27
+ if (this._isDisposed)
28
+ return;
18
29
  if (WasmTools.isFileExists(this._path, this._module)) {
19
30
  this._module.FS.unlink(this._path);
20
31
  }
32
+ this._isOpen = false;
21
33
  }
22
34
  getTessellations() {
35
+ this.checkIsOpen();
23
36
  const vts = this._module.getTessellations(this._id);
24
37
  return BimDataConverter.toBimDataTessellations(vts, true);
25
38
  }
26
39
  getAllElements() {
40
+ this.checkIsOpen();
27
41
  const nds = this._module.getAllNodes(this._id);
28
42
  return BimDataConverter.toToBimDataElements(nds, true);
29
43
  }
30
44
  getElementProperties(elementId, version) {
45
+ this.checkIsOpen();
31
46
  const set = this._module.getProperties(this._id, elementId, version);
32
47
  return BimDataConverter.toModelElementPropertySet(set, true);
33
48
  }
34
49
  get _path() {
35
50
  return "/" + this._id;
36
51
  }
52
+ checkIsOpen() {
53
+ if (!this._isOpen)
54
+ throw new Error("Model part is not open. Please call method open first.");
55
+ }
37
56
  }
38
57
  //# sourceMappingURL=BimDataModelPart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BimDataModelPart.js","sourceRoot":"","sources":["../../../src/model/BimDataModelPart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAelD,MAAM,OAAO,gBAAgB;IAI3B,YAAY,EAAU,EAAE,MAAsB;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,MAAoB;QACvB,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YAClD,OAAO;QACT,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,KAAK;QACH,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB,CAAC,SAAiB,EAAE,OAAe;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,IAAY,KAAK;QACf,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"BimDataModelPart.js","sourceRoot":"","sources":["../../../src/model/BimDataModelPart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAgBlD,MAAM,OAAO,gBAAgB;IAM3B,YAAY,EAAU,EAAE,MAAsB;QAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAoB;QACvB,IAAI,IAAI,CAAC,WAAW;YAClB,OAAO;QAET,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YAClD,OAAO;QAET,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,WAAW;YAClB,OAAO;QAET,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB,CAAC,SAAiB,EAAE,OAAe;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,IAAY,KAAK;QACf,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACxB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pilotdev/pilot-bim-dataprovider",
3
- "version": "23.0.4",
3
+ "version": "23.0.6",
4
4
  "description": "Package for reading data from information model data container.",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",