@pilotdev/pilot-bim-dataprovider 24.0.1 → 24.2.0
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/README.md +1 -1
- package/lib/src/model/BimDataElement.d.ts +11 -1
- package/lib/src/model/BimDataElement.js +11 -0
- package/lib/src/model/BimDataElement.js.map +1 -1
- package/lib/src/model/BimDataElementPropertySet.d.ts +1 -0
- package/lib/src/model/BimDataElementPropertySet.js +31 -0
- package/lib/src/model/BimDataElementPropertySet.js.map +1 -1
- package/lib/src/model/BimDataModelPart.d.ts +13 -4
- package/lib/src/model/BimDataModelPart.js +75 -10
- package/lib/src/model/BimDataModelPart.js.map +1 -1
- package/lib/src/model/BimNodeComparer.d.ts +10 -0
- package/lib/src/model/BimNodeComparer.js +71 -0
- package/lib/src/model/BimNodeComparer.js.map +1 -0
- package/lib/src/model/Consts.js +2 -2
- package/lib/src/model/Consts.js.map +1 -1
- package/lib/src/utils/ViewerTools.d.ts +5 -1
- package/lib/src/utils/ViewerTools.js +16 -1
- package/lib/src/utils/ViewerTools.js.map +1 -1
- package/lib/src/wasm/pilot_bim_dataprovider.d.ts +73 -63
- package/lib/src/wasm/pilot_bim_dataprovider.wasm +0 -0
- package/package.json +9 -2
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ const elements = modelPart.getAllElements();
|
|
|
32
32
|
const properties = modelPart.getElementProperties(elements[5].guid, BimDataBigIntMaxValue);
|
|
33
33
|
|
|
34
34
|
// Get all tessellations
|
|
35
|
-
const tesselations = modelPart.
|
|
35
|
+
const tesselations = modelPart.getAllTessellations();
|
|
36
36
|
|
|
37
37
|
// Close model part after end
|
|
38
38
|
modelPart.close();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare class BimDataElement {
|
|
2
2
|
guid: string;
|
|
3
|
-
objectState:
|
|
3
|
+
objectState: BimDataNodeState;
|
|
4
4
|
revision: bigint;
|
|
5
5
|
parentGuid: string;
|
|
6
6
|
name: string;
|
|
@@ -24,3 +24,13 @@ export declare class BimDataGridAxis {
|
|
|
24
24
|
data: number[];
|
|
25
25
|
label: string;
|
|
26
26
|
}
|
|
27
|
+
export declare enum BimDataNodeState {
|
|
28
|
+
Undefined = 0,
|
|
29
|
+
Added = 1,
|
|
30
|
+
Removed = 2,
|
|
31
|
+
AttributesModified = 3,
|
|
32
|
+
AttributesQuantitiesModified = 4,
|
|
33
|
+
PlacementModified = 8,
|
|
34
|
+
PlacementAndAttributesModified = 11,
|
|
35
|
+
PlacementAndAttributesQuantitiesModified = 12
|
|
36
|
+
}
|
|
@@ -22,4 +22,15 @@ export class BimDataGridAxis {
|
|
|
22
22
|
this.data = [];
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
export var BimDataNodeState;
|
|
26
|
+
(function (BimDataNodeState) {
|
|
27
|
+
BimDataNodeState[BimDataNodeState["Undefined"] = 0] = "Undefined";
|
|
28
|
+
BimDataNodeState[BimDataNodeState["Added"] = 1] = "Added";
|
|
29
|
+
BimDataNodeState[BimDataNodeState["Removed"] = 2] = "Removed";
|
|
30
|
+
BimDataNodeState[BimDataNodeState["AttributesModified"] = 3] = "AttributesModified";
|
|
31
|
+
BimDataNodeState[BimDataNodeState["AttributesQuantitiesModified"] = 4] = "AttributesQuantitiesModified";
|
|
32
|
+
BimDataNodeState[BimDataNodeState["PlacementModified"] = 8] = "PlacementModified";
|
|
33
|
+
BimDataNodeState[BimDataNodeState["PlacementAndAttributesModified"] = 11] = "PlacementAndAttributesModified";
|
|
34
|
+
BimDataNodeState[BimDataNodeState["PlacementAndAttributesQuantitiesModified"] = 12] = "PlacementAndAttributesQuantitiesModified";
|
|
35
|
+
})(BimDataNodeState || (BimDataNodeState = {}));
|
|
25
36
|
//# sourceMappingURL=BimDataElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BimDataElement.js","sourceRoot":"","sources":["../../../src/model/BimDataElement.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,OAAO,cAAc;IAA3B;QAGE,aAAQ,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAQ7B,qBAAgB,GAAuC,IAAI,GAAG,EAAE,CAAC;IACnE,CAAC;CAAA;AAED,MAAM,OAAO,mBAAmB;IAAhC;QACE,cAAS,GAAW,CAAC,CAAC;QACtB,kBAAa,GAAa,EAAE,CAAC;IAC/B,CAAC;CAAA;AAED,MAAM,OAAO,iBAAiB;IAA9B;QACE,kBAAa,GAAa,EAAE,CAAC;QAC7B,aAAQ,GAAsB,EAAE,CAAC;IACnC,CAAC;CAAA;AAED,MAAM,OAAO,eAAe;IAA5B;QAGE,SAAI,GAAa,EAAE,CAAC;IAEtB,CAAC;CAAA"}
|
|
1
|
+
{"version":3,"file":"BimDataElement.js","sourceRoot":"","sources":["../../../src/model/BimDataElement.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,OAAO,cAAc;IAA3B;QAGE,aAAQ,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAQ7B,qBAAgB,GAAuC,IAAI,GAAG,EAAE,CAAC;IACnE,CAAC;CAAA;AAED,MAAM,OAAO,mBAAmB;IAAhC;QACE,cAAS,GAAW,CAAC,CAAC;QACtB,kBAAa,GAAa,EAAE,CAAC;IAC/B,CAAC;CAAA;AAED,MAAM,OAAO,iBAAiB;IAA9B;QACE,kBAAa,GAAa,EAAE,CAAC;QAC7B,aAAQ,GAAsB,EAAE,CAAC;IACnC,CAAC;CAAA;AAED,MAAM,OAAO,eAAe;IAA5B;QAGE,SAAI,GAAa,EAAE,CAAC;IAEtB,CAAC;CAAA;AAED,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAE1B,iEAAa,CAAA;IACb,yDAAS,CAAA;IACT,6DAAW,CAAA;IACX,mFAAsB,CAAA;IACtB,uGAAgC,CAAA;IAChC,iFAAqB,CAAA;IACrB,4GAAuE,CAAA;IACvE,gIAA2F,CAAA;AAC7F,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B"}
|
|
@@ -27,4 +27,35 @@ export class BimDataElementPropertyValue {
|
|
|
27
27
|
return this.double_value;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
export function isEqualBimValues(a, b) {
|
|
31
|
+
if (!a && !b)
|
|
32
|
+
return true;
|
|
33
|
+
if (!a || !b)
|
|
34
|
+
return false;
|
|
35
|
+
return a.str_value == b.str_value &&
|
|
36
|
+
a.int_value == b.int_value &&
|
|
37
|
+
a.double_value == b.double_value &&
|
|
38
|
+
a.date_value == b.date_value &&
|
|
39
|
+
a.decimal_value == b.decimal_value &&
|
|
40
|
+
a.guid_value == b.guid_value &&
|
|
41
|
+
a.bool_value == b.bool_value &&
|
|
42
|
+
isEqualArrays(a.array_int_value, b.array_int_value) &&
|
|
43
|
+
isEqualArrays(a.array_value, b.array_value);
|
|
44
|
+
}
|
|
45
|
+
function isEqualArrays(a, b) {
|
|
46
|
+
if (!a && !b)
|
|
47
|
+
return true;
|
|
48
|
+
if (!a || !b)
|
|
49
|
+
return false;
|
|
50
|
+
if (a === b)
|
|
51
|
+
return true;
|
|
52
|
+
if (a.length != b.length)
|
|
53
|
+
return false;
|
|
54
|
+
for (let i = 0, l = a.length; i < l; i++) {
|
|
55
|
+
if (a[i] != b[i]) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
30
61
|
//# sourceMappingURL=BimDataElementPropertySet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BimDataElementPropertySet.js","sourceRoot":"","sources":["../../../src/model/BimDataElementPropertySet.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,yBAAyB;CAIrC;AAED,MAAM,OAAO,sBAAsB;IAAnC;QAEE,SAAI,GAAW,CAAC,CAAC;IAEnB,CAAC;CAAA;AAED,MAAM,OAAO,2BAA2B;IAAxC;QAKE,gBAAW,GAAkB,EAAE,CAAC;QAGhC,oBAAe,GAAkB,EAAE,CAAC;IAmBtC,CAAC;IAhBC,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa;YACpB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"BimDataElementPropertySet.js","sourceRoot":"","sources":["../../../src/model/BimDataElementPropertySet.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,yBAAyB;CAIrC;AAED,MAAM,OAAO,sBAAsB;IAAnC;QAEE,SAAI,GAAW,CAAC,CAAC;IAEnB,CAAC;CAAA;AAED,MAAM,OAAO,2BAA2B;IAAxC;QAKE,gBAAW,GAAkB,EAAE,CAAC;QAGhC,oBAAe,GAAkB,EAAE,CAAC;IAmBtC,CAAC;IAhBC,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa;YACpB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU;YACjB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,CAA8B,EAAE,CAA8B;IAC7F,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IAEd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,OAAO,KAAK,CAAC;IAEf,OAAO,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;QAC/B,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;QAC1B,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY;QAChC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;QAC5B,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa;QAClC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;QAC5B,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;QAC5B,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC;QACnD,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,aAAa,CAAI,CAAM,EAAE,CAAM;IACtC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IAEd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACV,OAAO,KAAK,CAAC;IAEf,IAAI,CAAC,KAAK,CAAC;QACT,OAAO,IAAI,CAAC;IAEd,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM;QACtB,OAAO,KAAK,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -5,25 +5,34 @@ import { BimDataTessellation } from "./BimDataTessellation.js";
|
|
|
5
5
|
export interface IBimDataModelPart {
|
|
6
6
|
id: string;
|
|
7
7
|
open(buffer: ArrayBuffer): void;
|
|
8
|
+
reload(buffer: ArrayBuffer): void;
|
|
8
9
|
close(): void;
|
|
9
10
|
dispose(): void;
|
|
10
|
-
|
|
11
|
+
getAllTessellations(): Map<string, BimDataTessellation>;
|
|
12
|
+
getTessellations(versionFrom: bigint, versionTo: bigint): Map<string, BimDataTessellation>;
|
|
11
13
|
getAllElements(): BimDataElement[];
|
|
14
|
+
getElements(versionFrom: bigint, versionTo: bigint): BimDataElement[];
|
|
12
15
|
getElementProperties(elementId: string, version: bigint): BimDataElementPropertySet[];
|
|
16
|
+
getAllVersions(): bigint[];
|
|
17
|
+
getLatestVersion(): bigint;
|
|
13
18
|
}
|
|
14
19
|
export declare class BimDataModelPart implements IBimDataModelPart {
|
|
20
|
+
readonly id: string;
|
|
15
21
|
private _module;
|
|
16
|
-
private _id;
|
|
17
22
|
private _isOpen;
|
|
18
23
|
private _isDisposed;
|
|
19
24
|
constructor(id: string, module: IWasmBimModule);
|
|
20
|
-
get id(): string;
|
|
21
25
|
dispose(): void;
|
|
22
26
|
open(buffer: ArrayBuffer): void;
|
|
27
|
+
reload(buffer: ArrayBuffer): void;
|
|
23
28
|
close(): void;
|
|
24
|
-
|
|
29
|
+
getAllTessellations(): Map<string, BimDataTessellation>;
|
|
30
|
+
getTessellations(versionFrom: bigint, versionTo: bigint): Map<string, BimDataTessellation>;
|
|
25
31
|
getAllElements(): BimDataElement[];
|
|
32
|
+
getElements(versionFrom: bigint, versionTo: bigint): BimDataElement[];
|
|
26
33
|
getElementProperties(elementId: string, version: bigint): BimDataElementPropertySet[];
|
|
34
|
+
getAllVersions(): bigint[];
|
|
35
|
+
getLatestVersion(): bigint;
|
|
27
36
|
private get _path();
|
|
28
37
|
private checkIsOpen;
|
|
29
38
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { BimDataConverter } from "../utils/ViewerTools.js";
|
|
2
2
|
import { WasmTools } from "../utils/WasmTools.js";
|
|
3
|
+
import { BimDataNodeState } from "./BimDataElement.js";
|
|
4
|
+
import { BimNodeComparer } from "./BimNodeComparer.js";
|
|
3
5
|
export class BimDataModelPart {
|
|
4
6
|
constructor(id, module) {
|
|
7
|
+
this.id = id;
|
|
5
8
|
this._module = module;
|
|
6
|
-
this._id = id;
|
|
7
9
|
this._isOpen = false;
|
|
8
10
|
this._isDisposed = false;
|
|
9
11
|
}
|
|
10
|
-
get id() {
|
|
11
|
-
return this._id;
|
|
12
|
-
}
|
|
13
12
|
dispose() {
|
|
14
13
|
this.close();
|
|
15
14
|
this._isDisposed = true;
|
|
@@ -20,9 +19,20 @@ export class BimDataModelPart {
|
|
|
20
19
|
const data = new Uint8Array(buffer);
|
|
21
20
|
if (WasmTools.isFileExists(this._path, this._module))
|
|
22
21
|
return;
|
|
23
|
-
this._module.FS.createDataFile("/", this.
|
|
22
|
+
this._module.FS.createDataFile("/", this.id, data, true, true, true);
|
|
24
23
|
this._isOpen = true;
|
|
25
24
|
}
|
|
25
|
+
reload(buffer) {
|
|
26
|
+
if (this._isDisposed)
|
|
27
|
+
return;
|
|
28
|
+
const data = new Uint8Array(buffer);
|
|
29
|
+
if (WasmTools.isFileExists(this._path, this._module)) {
|
|
30
|
+
this._module.FS.writeFile(this._path, data);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this._module.FS.createDataFile("/", this.id, data, true, true, true);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
26
36
|
close() {
|
|
27
37
|
if (this._isDisposed)
|
|
28
38
|
return;
|
|
@@ -31,23 +41,78 @@ export class BimDataModelPart {
|
|
|
31
41
|
}
|
|
32
42
|
this._isOpen = false;
|
|
33
43
|
}
|
|
34
|
-
|
|
44
|
+
getAllTessellations() {
|
|
45
|
+
this.checkIsOpen();
|
|
46
|
+
const vts = this._module.getAllTessellations(this.id);
|
|
47
|
+
return BimDataConverter.toBimDataTessellations(vts, true);
|
|
48
|
+
}
|
|
49
|
+
getTessellations(versionFrom, versionTo) {
|
|
35
50
|
this.checkIsOpen();
|
|
36
|
-
const vts = this._module.getTessellations(this.
|
|
51
|
+
const vts = this._module.getTessellations(this.id, versionFrom, versionTo);
|
|
37
52
|
return BimDataConverter.toBimDataTessellations(vts, true);
|
|
38
53
|
}
|
|
39
54
|
getAllElements() {
|
|
40
55
|
this.checkIsOpen();
|
|
41
|
-
const nds = this._module.getAllNodes(this.
|
|
56
|
+
const nds = this._module.getAllNodes(this.id);
|
|
42
57
|
return BimDataConverter.toToBimDataElements(nds, true);
|
|
43
58
|
}
|
|
59
|
+
getElements(versionFrom, versionTo) {
|
|
60
|
+
this.checkIsOpen();
|
|
61
|
+
const isReverse = versionTo < versionFrom;
|
|
62
|
+
if (isReverse) {
|
|
63
|
+
const tmp = versionFrom;
|
|
64
|
+
versionFrom = versionTo;
|
|
65
|
+
versionTo = tmp;
|
|
66
|
+
}
|
|
67
|
+
const pairsVector = this._module.getNodesToCompare(this.id, versionFrom, versionTo);
|
|
68
|
+
const bimDataPairs = BimDataConverter.toToBimDataPairs(pairsVector, true);
|
|
69
|
+
const result = new Array();
|
|
70
|
+
for (let i = 0; i < bimDataPairs.length; i++) {
|
|
71
|
+
const oldNode = isReverse ? bimDataPairs[i].newNode : bimDataPairs[i].oldNode;
|
|
72
|
+
const newNode = isReverse ? bimDataPairs[i].oldNode : bimDataPairs[i].newNode;
|
|
73
|
+
if (oldNode.objectState == BimDataNodeState.Removed && newNode.objectState == BimDataNodeState.Removed)
|
|
74
|
+
continue;
|
|
75
|
+
if (newNode.objectState == BimDataNodeState.Removed) {
|
|
76
|
+
result.push(newNode);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (oldNode.objectState == BimDataNodeState.Removed || oldNode.objectState == BimDataNodeState.Undefined) {
|
|
80
|
+
newNode.objectState == BimDataNodeState.Added;
|
|
81
|
+
result.push(newNode);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (versionFrom != versionTo) {
|
|
85
|
+
const oldProps = this.getElementProperties(oldNode.guid, oldNode.revision);
|
|
86
|
+
const newProps = this.getElementProperties(newNode.guid, newNode.revision);
|
|
87
|
+
const nodeState = BimNodeComparer.compareNodes(oldNode, oldProps, newNode, newProps);
|
|
88
|
+
newNode.objectState = nodeState;
|
|
89
|
+
result.push(newNode);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
44
94
|
getElementProperties(elementId, version) {
|
|
45
95
|
this.checkIsOpen();
|
|
46
|
-
const set = this._module.getProperties(this.
|
|
96
|
+
const set = this._module.getProperties(this.id, elementId, version);
|
|
47
97
|
return BimDataConverter.toModelElementPropertySet(set, true);
|
|
48
98
|
}
|
|
99
|
+
getAllVersions() {
|
|
100
|
+
this.checkIsOpen();
|
|
101
|
+
const versions = new Array();
|
|
102
|
+
const bimVersions = this._module.getAllVersions(this.id);
|
|
103
|
+
for (let index = 0; index < bimVersions.size(); index++) {
|
|
104
|
+
const version = bimVersions.get(index);
|
|
105
|
+
versions.push(version);
|
|
106
|
+
}
|
|
107
|
+
bimVersions.delete();
|
|
108
|
+
return versions;
|
|
109
|
+
}
|
|
110
|
+
getLatestVersion() {
|
|
111
|
+
this.checkIsOpen();
|
|
112
|
+
return this._module.getLatestVersion(this._path);
|
|
113
|
+
}
|
|
49
114
|
get _path() {
|
|
50
|
-
return "/" + this.
|
|
115
|
+
return "/" + this.id;
|
|
51
116
|
}
|
|
52
117
|
checkIsOpen() {
|
|
53
118
|
if (!this._isOpen)
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"BimDataModelPart.js","sourceRoot":"","sources":["../../../src/model/BimDataModelPart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BimDataMeshProperty, BimDataNodeState, BimDataElement } from "./BimDataElement.js";
|
|
2
|
+
import { BimDataElementPropertySet } from "./BimDataElementPropertySet.js";
|
|
3
|
+
export declare class BimNodeComparer {
|
|
4
|
+
static compareNodes(oldNode: BimDataElement, oldProps: BimDataElementPropertySet[], newNode: BimDataElement, newProps: BimDataElementPropertySet[]): BimDataNodeState;
|
|
5
|
+
static compareProperties(first: BimDataElementPropertySet[], second: BimDataElementPropertySet[]): BimDataElementPropertySet[];
|
|
6
|
+
static comparePropertiesSet(first: BimDataElementPropertySet, second: BimDataElementPropertySet): boolean;
|
|
7
|
+
static compareMeshProperties(first: Map<string, BimDataMeshProperty[]>, second: Map<string, BimDataMeshProperty[]>): boolean;
|
|
8
|
+
static compareMeshPropertyArr(first: BimDataMeshProperty[] | undefined, second: BimDataMeshProperty[] | undefined): boolean;
|
|
9
|
+
private static compareArrays;
|
|
10
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { BimDataNodeState } from "./BimDataElement.js";
|
|
2
|
+
import { isEqualBimValues } from "./BimDataElementPropertySet.js";
|
|
3
|
+
import { BimDataIfcType } from "./BimDataIfcType.js";
|
|
4
|
+
export class BimNodeComparer {
|
|
5
|
+
static compareNodes(oldNode, oldProps, newNode, newProps) {
|
|
6
|
+
let state = BimDataNodeState.Undefined;
|
|
7
|
+
if (!this.compareMeshProperties(oldNode.meshesProperties, newNode.meshesProperties)) {
|
|
8
|
+
state = BimDataNodeState.PlacementModified;
|
|
9
|
+
}
|
|
10
|
+
const changedProperties = this.compareProperties(oldProps, newProps);
|
|
11
|
+
if (changedProperties.length > 0) {
|
|
12
|
+
const isQuantityProp = changedProperties.every(prop => prop.type == BimDataIfcType.IfcElementQuantity);
|
|
13
|
+
state |= isQuantityProp ? BimDataNodeState.AttributesQuantitiesModified : BimDataNodeState.AttributesModified;
|
|
14
|
+
}
|
|
15
|
+
return state;
|
|
16
|
+
}
|
|
17
|
+
static compareProperties(first, second) {
|
|
18
|
+
const result = new Array();
|
|
19
|
+
this.compareArrays(first, second, (a, b) => {
|
|
20
|
+
const isEqual = BimNodeComparer.comparePropertiesSet(a, b);
|
|
21
|
+
if (!isEqual)
|
|
22
|
+
result.push(a);
|
|
23
|
+
return false;
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
static comparePropertiesSet(first, second) {
|
|
28
|
+
return first.name == second.name &&
|
|
29
|
+
first.type == second.type &&
|
|
30
|
+
this.compareArrays(first.properties, second.properties, (c, d) => {
|
|
31
|
+
return c.name == d.name &&
|
|
32
|
+
c.unit == d.unit &&
|
|
33
|
+
isEqualBimValues(c.value, d.value);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
static compareMeshProperties(first, second) {
|
|
37
|
+
if (first == null || second == null)
|
|
38
|
+
return true;
|
|
39
|
+
if (first.size != second.size)
|
|
40
|
+
return false;
|
|
41
|
+
for (const key of first.keys()) {
|
|
42
|
+
const firstVal = first.get(key);
|
|
43
|
+
const secondVal = second.get(key);
|
|
44
|
+
if (!this.compareMeshPropertyArr(firstVal, secondVal))
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
static compareMeshPropertyArr(first, second) {
|
|
50
|
+
if (!first && !second)
|
|
51
|
+
return true;
|
|
52
|
+
if (!second || !first || second.length != first.length) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return this.compareArrays(first, second, (a, b) => {
|
|
56
|
+
return a.meshColor == b.meshColor && this.compareArrays(a.meshPlacement, b.meshPlacement, (c, d) => c == d);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
static compareArrays(a, b, comparer) {
|
|
60
|
+
if (!a && !b)
|
|
61
|
+
return true;
|
|
62
|
+
if (!a || !b || a.length != b.length)
|
|
63
|
+
return false;
|
|
64
|
+
for (let i = 0; i < a.length; i++) {
|
|
65
|
+
if (!comparer(a[i], b[i]))
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=BimNodeComparer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BimNodeComparer.js","sourceRoot":"","sources":["../../../src/model/BimNodeComparer.ts"],"names":[],"mappings":"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"}
|
package/lib/src/model/Consts.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const BimDataBigIntMaxValue = BigInt(3155378975999999999);
|
|
2
|
-
export const BimDataBigIntMinValue = BigInt(0);
|
|
1
|
+
export const BimDataBigIntMaxValue = BigInt('3155378975999999999');
|
|
2
|
+
export const BimDataBigIntMinValue = BigInt('0');
|
|
3
3
|
//# sourceMappingURL=Consts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Consts.js","sourceRoot":"","sources":["../../../src/model/Consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Consts.js","sourceRoot":"","sources":["../../../src/model/Consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { BimDataElement } from "../model/BimDataElement.js";
|
|
2
2
|
import { BimDataElementPropertySet } from "../model/BimDataElementPropertySet.js";
|
|
3
3
|
import { BimDataTessellation } from "../model/BimDataTessellation.js";
|
|
4
|
-
import { VectorOf, WasmElementPropertySet, WasmIfcNode, WasmTessellation } from "../wasm/pilot_bim_dataprovider.js";
|
|
4
|
+
import { VectorOf, WasmElementPropertySet, WasmIfcNode, WasmTessellation, WasmIfcNodePair } from "../wasm/pilot_bim_dataprovider.js";
|
|
5
5
|
export declare class BimDataConverter {
|
|
6
6
|
static toToBimDataElements(ifcNodes: VectorOf<WasmIfcNode>, dispose: boolean): BimDataElement[];
|
|
7
|
+
static toToBimDataPairs(ifcNodePairs: VectorOf<WasmIfcNodePair>, dispose: boolean): {
|
|
8
|
+
oldNode: BimDataElement;
|
|
9
|
+
newNode: BimDataElement;
|
|
10
|
+
}[];
|
|
7
11
|
static toBimDataTessellations(tessellations: VectorOf<WasmTessellation>, dispose: boolean): Map<string, BimDataTessellation>;
|
|
8
12
|
static toModelElementPropertySet(wasmPropertySets: VectorOf<WasmElementPropertySet>, dispose: boolean): BimDataElementPropertySet[];
|
|
9
13
|
private static toModelElementProperties;
|
|
@@ -15,6 +15,21 @@ export class BimDataConverter {
|
|
|
15
15
|
ifcNodes.delete();
|
|
16
16
|
return props;
|
|
17
17
|
}
|
|
18
|
+
static toToBimDataPairs(ifcNodePairs, dispose) {
|
|
19
|
+
const bimDataPairs = new Array();
|
|
20
|
+
for (let index = 0; index < ifcNodePairs.size(); index++) {
|
|
21
|
+
const pair = ifcNodePairs.get(index);
|
|
22
|
+
bimDataPairs.push({ oldNode: this.toBimDataElement(pair.oldNode), newNode: this.toBimDataElement(pair.newNode) });
|
|
23
|
+
if (dispose) {
|
|
24
|
+
pair.oldNode.delete();
|
|
25
|
+
pair.newNode.delete();
|
|
26
|
+
pair.delete();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (dispose)
|
|
30
|
+
ifcNodePairs.delete();
|
|
31
|
+
return bimDataPairs;
|
|
32
|
+
}
|
|
18
33
|
static toBimDataTessellations(tessellations, dispose) {
|
|
19
34
|
const map = new Map();
|
|
20
35
|
for (let index = 0; index < tessellations.size(); index++) {
|
|
@@ -77,7 +92,7 @@ export class BimDataConverter {
|
|
|
77
92
|
node.name = ifcNode.name;
|
|
78
93
|
node.parentGuid = ifcNode.parent_guid;
|
|
79
94
|
node.type = ifcNode.type;
|
|
80
|
-
node.objectState = ifcNode.object_state;
|
|
95
|
+
node.objectState = ifcNode.object_state.value;
|
|
81
96
|
node.representationStatus = ifcNode.representation_status;
|
|
82
97
|
node.representationType = ifcNode.representation_type;
|
|
83
98
|
node.revision = ifcNode.revision;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerTools.js","sourceRoot":"","sources":["../../../src/utils/ViewerTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAsC,MAAM,4BAA4B,CAAC;AAErH,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACvI,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAO,gBAAgB;IAE3B,MAAM,CAAC,mBAAmB,CAAC,QAA+B,EAAE,OAAgB;QAC1E,MAAM,KAAK,GAAG,IAAI,KAAK,EAAkB,CAAC;QAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,OAAO;gBACT,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAED,IAAI,OAAO;YACT,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,aAAyC,EAAE,OAAgB;QACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+B,CAAC;QACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE;YACzD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YACnD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAExB,IAAI,OAAO;gBACT,YAAY,CAAC,MAAM,EAAE,CAAC;SACzB;QAED,IAAI,OAAO;YACT,aAAa,CAAC,MAAM,EAAE,CAAC;QAEzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,gBAAkD,EAAE,OAAgB;QACnG,MAAM,IAAI,GAAG,IAAI,KAAK,EAA6B,CAAC;QACpD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE;YAC5D,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,gBAAgB,GAAG,IAAI,yBAAyB,EAAE,CAAC;YACzD,gBAAgB,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;YAC7C,gBAAgB,CAAC,IAAI,GAAmB,eAAe,CAAC,IAAI,CAAC;YAC7D,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACxF,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE5B,IAAI,OAAO;gBACT,eAAe,CAAC,MAAM,EAAE,CAAC;SAC5B;QAED,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"ViewerTools.js","sourceRoot":"","sources":["../../../src/utils/ViewerTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +1,105 @@
|
|
|
1
1
|
/// <reference types="emscripten" />
|
|
2
2
|
export interface IWasmBimModule extends EmscriptenModule {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
get FS(): typeof FS;
|
|
4
|
+
getAllTessellations(filename: string): VectorOf<WasmTessellation>;
|
|
5
|
+
getAllNodes(filename: string): VectorOf<WasmIfcNode>;
|
|
6
|
+
getAllAttributes(filename: string): VectorOf<WasmElementPropertySet>;
|
|
7
|
+
getTessellations(filename: string, versionFrom: bigint, versionTo: bigint): VectorOf<WasmTessellation>;
|
|
8
|
+
getNodes(filename: string, versionFrom: bigint, versionTo: bigint): VectorOf<WasmIfcNode>;
|
|
9
|
+
getProperties(filename: string, elementId: string, version: bigint): VectorOf<WasmElementPropertySet>;
|
|
10
|
+
getNodesToCompare(filename: string, versionFrom: bigint, versionTo: bigint): VectorOf<WasmIfcNodePair>;
|
|
11
|
+
getTessellationsToCompare(filename: string, versionFrom: bigint, versionTo: bigint): VectorOf<WasmTessellation>;
|
|
12
|
+
getLatestVersion(filename: string): bigint;
|
|
13
|
+
getAllVersions(filename: string): VectorOf<bigint>;
|
|
14
|
+
doLeakCheck(): void;
|
|
8
15
|
}
|
|
9
16
|
|
|
10
17
|
export interface VectorOf<T> extends IDisposable {
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
get(index: number): T;
|
|
19
|
+
size(): number;
|
|
13
20
|
}
|
|
14
21
|
|
|
15
22
|
export interface WasmModelMesh extends IDisposable {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
vertices: VectorOf<number>;
|
|
24
|
+
normals: VectorOf<number>;
|
|
25
|
+
indices: VectorOf<number>;
|
|
26
|
+
edge_indices: VectorOf<number>;
|
|
27
|
+
color: number;
|
|
21
28
|
}
|
|
22
29
|
|
|
23
30
|
export interface WasmTessellation extends IDisposable {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface WasmIfcNode extends IDisposable{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
id: string;
|
|
32
|
+
node_id: string;
|
|
33
|
+
revision: number;
|
|
34
|
+
model_mesh: WasmModelMesh;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface WasmIfcNode extends IDisposable {
|
|
38
|
+
id: string;
|
|
39
|
+
object_state: WasmIfcNodeState;
|
|
40
|
+
revision: bigint;
|
|
41
|
+
parent_guid: string;
|
|
42
|
+
name: string;
|
|
43
|
+
type: string;
|
|
44
|
+
representation_type: string;
|
|
45
|
+
representation_status: string;
|
|
46
|
+
representation_status_flag: WasmIfcRepresentationStatus;
|
|
47
|
+
grid_object: WasmGridObject;
|
|
48
|
+
mesh_properties: VectorOf<WasmMeshPropertyPair>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface WasmIfcNodePair extends IDisposable{
|
|
52
|
+
oldNode: WasmIfcNode;
|
|
53
|
+
newNode: WasmIfcNode;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface WasmIfcNodeState {
|
|
57
|
+
value: number;
|
|
42
58
|
}
|
|
43
59
|
|
|
44
60
|
export interface WasmGridObject extends IDisposable {
|
|
45
|
-
|
|
46
|
-
|
|
61
|
+
grid_axes: VectorOf<WasmGridAxis>;
|
|
62
|
+
placement: VectorOf<number>;
|
|
47
63
|
}
|
|
48
64
|
|
|
49
65
|
export interface WasmGridAxis extends IDisposable {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
66
|
+
id: number;
|
|
67
|
+
type: WasmGridAxisType;
|
|
68
|
+
data: VectorOf<number>;
|
|
69
|
+
label: string;
|
|
54
70
|
}
|
|
55
71
|
|
|
56
72
|
export interface WasmGridAxisType {
|
|
57
73
|
value: number;
|
|
58
74
|
}
|
|
59
75
|
|
|
60
|
-
export enum WasmGridAxisTypeEnum {
|
|
61
|
-
LINE,
|
|
62
|
-
CIRCLE,
|
|
63
|
-
ARC
|
|
64
|
-
}
|
|
65
|
-
|
|
66
76
|
export interface WasmMeshPropertyPair extends IDisposable {
|
|
67
|
-
|
|
68
|
-
|
|
77
|
+
key: string;
|
|
78
|
+
value: VectorOf<WasmMeshProperties>;
|
|
69
79
|
}
|
|
70
80
|
|
|
71
|
-
export interface WasmMeshProperties extends IDisposable{
|
|
72
|
-
|
|
73
|
-
|
|
81
|
+
export interface WasmMeshProperties extends IDisposable {
|
|
82
|
+
mesh_color: number;
|
|
83
|
+
mesh_placement: VectorOf<number>;
|
|
74
84
|
}
|
|
75
85
|
|
|
76
86
|
export class IDisposable {
|
|
77
|
-
|
|
87
|
+
delete(): void;
|
|
78
88
|
}
|
|
79
89
|
|
|
80
90
|
export interface WasmIfcRepresentationStatus {
|
|
81
|
-
|
|
91
|
+
value: number;
|
|
82
92
|
}
|
|
83
93
|
|
|
84
94
|
export enum WasmIfcRepresentationStatusEnum {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
95
|
+
SUCCESS = 0,
|
|
96
|
+
NO_REPRESENTATION = 1,
|
|
97
|
+
IGNORED_IFC_TYPE = 2,
|
|
98
|
+
IFC_PARSING_ERROR = 4,
|
|
99
|
+
SOLID_CREATION_ERROR = 8,
|
|
100
|
+
TESSELATING_ERROR = 16,
|
|
101
|
+
C3D_EXEPTION = 32,
|
|
102
|
+
UNCLOSED_SOLID = 64
|
|
93
103
|
}
|
|
94
104
|
|
|
95
105
|
export interface WasmDValue extends IDisposable {
|
|
@@ -126,12 +136,12 @@ export abstract class Optional<T> {
|
|
|
126
136
|
has_value(): boolean;
|
|
127
137
|
value(): T;
|
|
128
138
|
}
|
|
129
|
-
export class OptionalString extends Optional<string> {}
|
|
130
|
-
export class OptionalBool extends Optional<boolean> {}
|
|
131
|
-
export class OptionalLong extends Optional<number> {}
|
|
132
|
-
export class OptionalDouble extends Optional<number> {}
|
|
133
|
-
export class OptionalDate extends Optional<bigint> {}
|
|
134
|
-
export class OptionalGuid extends Optional<WasmGuid> {}
|
|
139
|
+
export class OptionalString extends Optional<string> { }
|
|
140
|
+
export class OptionalBool extends Optional<boolean> { }
|
|
141
|
+
export class OptionalLong extends Optional<number> { }
|
|
142
|
+
export class OptionalDouble extends Optional<number> { }
|
|
143
|
+
export class OptionalDate extends Optional<bigint> { }
|
|
144
|
+
export class OptionalGuid extends Optional<WasmGuid> { }
|
|
135
145
|
|
|
136
146
|
|
|
137
147
|
declare const BimDataProviderModule: EmscriptenModuleFactory<IWasmBimModule>;
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pilotdev/pilot-bim-dataprovider",
|
|
3
|
-
"version": "24.0
|
|
3
|
+
"version": "24.2.0",
|
|
4
4
|
"description": "Package for reading data from information model data container.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc && node build.js",
|
|
12
|
-
"test": "
|
|
12
|
+
"test": "jest",
|
|
13
|
+
"lint": "eslint . --ext .ts"
|
|
13
14
|
},
|
|
14
15
|
"keywords": [
|
|
15
16
|
"pilotdev",
|
|
@@ -23,6 +24,12 @@
|
|
|
23
24
|
"license": "MIT",
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@types/emscripten": "1.39.6",
|
|
27
|
+
"@types/jest": "28.1.3",
|
|
28
|
+
"jest": "^29.7.0",
|
|
29
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
30
|
+
"jest-mock-extended": "2.0.6",
|
|
31
|
+
"jest-teamcity-reporter": "0.9.0",
|
|
32
|
+
"ts-jest": "28.0.3",
|
|
26
33
|
"typescript": "4.9.4"
|
|
27
34
|
},
|
|
28
35
|
"exclude": [
|