@ifc-lite/query 1.0.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.
Files changed (110) hide show
  1. package/LICENSE +373 -0
  2. package/dist/parser/src/classification-extractor.d.ts +73 -0
  3. package/dist/parser/src/classification-extractor.d.ts.map +1 -0
  4. package/dist/parser/src/classification-extractor.js +218 -0
  5. package/dist/parser/src/classification-extractor.js.map +1 -0
  6. package/dist/parser/src/columnar-parser.d.ts +43 -0
  7. package/dist/parser/src/columnar-parser.d.ts.map +1 -0
  8. package/dist/parser/src/columnar-parser.js +226 -0
  9. package/dist/parser/src/columnar-parser.js.map +1 -0
  10. package/dist/parser/src/entity-extractor.d.ts +15 -0
  11. package/dist/parser/src/entity-extractor.d.ts.map +1 -0
  12. package/dist/parser/src/entity-extractor.js +144 -0
  13. package/dist/parser/src/entity-extractor.js.map +1 -0
  14. package/dist/parser/src/entity-index.d.ts +11 -0
  15. package/dist/parser/src/entity-index.d.ts.map +1 -0
  16. package/dist/parser/src/entity-index.js +24 -0
  17. package/dist/parser/src/entity-index.js.map +1 -0
  18. package/dist/parser/src/generated/entities.d.ts +6198 -0
  19. package/dist/parser/src/generated/entities.d.ts.map +1 -0
  20. package/dist/parser/src/generated/entities.js +5 -0
  21. package/dist/parser/src/generated/entities.js.map +1 -0
  22. package/dist/parser/src/generated/enums.d.ts +2260 -0
  23. package/dist/parser/src/generated/enums.d.ts.map +1 -0
  24. package/dist/parser/src/generated/enums.js +2470 -0
  25. package/dist/parser/src/generated/enums.js.map +1 -0
  26. package/dist/parser/src/generated/schema-registry.d.ts +50 -0
  27. package/dist/parser/src/generated/schema-registry.d.ts.map +1 -0
  28. package/dist/parser/src/generated/schema-registry.js +60518 -0
  29. package/dist/parser/src/generated/schema-registry.js.map +1 -0
  30. package/dist/parser/src/georef-extractor.d.ts +60 -0
  31. package/dist/parser/src/georef-extractor.d.ts.map +1 -0
  32. package/dist/parser/src/georef-extractor.js +200 -0
  33. package/dist/parser/src/georef-extractor.js.map +1 -0
  34. package/dist/parser/src/ifc-schema.d.ts +13 -0
  35. package/dist/parser/src/ifc-schema.d.ts.map +1 -0
  36. package/dist/parser/src/ifc-schema.js +203 -0
  37. package/dist/parser/src/ifc-schema.js.map +1 -0
  38. package/dist/parser/src/index.d.ts +43 -0
  39. package/dist/parser/src/index.d.ts.map +1 -0
  40. package/dist/parser/src/index.js +150 -0
  41. package/dist/parser/src/index.js.map +1 -0
  42. package/dist/parser/src/material-extractor.d.ts +97 -0
  43. package/dist/parser/src/material-extractor.d.ts.map +1 -0
  44. package/dist/parser/src/material-extractor.js +283 -0
  45. package/dist/parser/src/material-extractor.js.map +1 -0
  46. package/dist/parser/src/property-extractor.d.ts +23 -0
  47. package/dist/parser/src/property-extractor.d.ts.map +1 -0
  48. package/dist/parser/src/property-extractor.js +102 -0
  49. package/dist/parser/src/property-extractor.js.map +1 -0
  50. package/dist/parser/src/quantity-extractor.d.ts +64 -0
  51. package/dist/parser/src/quantity-extractor.d.ts.map +1 -0
  52. package/dist/parser/src/quantity-extractor.js +202 -0
  53. package/dist/parser/src/quantity-extractor.js.map +1 -0
  54. package/dist/parser/src/relationship-extractor.d.ts +18 -0
  55. package/dist/parser/src/relationship-extractor.d.ts.map +1 -0
  56. package/dist/parser/src/relationship-extractor.js +91 -0
  57. package/dist/parser/src/relationship-extractor.js.map +1 -0
  58. package/dist/parser/src/spatial-hierarchy-builder.d.ts +21 -0
  59. package/dist/parser/src/spatial-hierarchy-builder.d.ts.map +1 -0
  60. package/dist/parser/src/spatial-hierarchy-builder.js +201 -0
  61. package/dist/parser/src/spatial-hierarchy-builder.js.map +1 -0
  62. package/dist/parser/src/style-extractor.d.ts +83 -0
  63. package/dist/parser/src/style-extractor.d.ts.map +1 -0
  64. package/dist/parser/src/style-extractor.js +327 -0
  65. package/dist/parser/src/style-extractor.js.map +1 -0
  66. package/dist/parser/src/tokenizer.d.ts +26 -0
  67. package/dist/parser/src/tokenizer.d.ts.map +1 -0
  68. package/dist/parser/src/tokenizer.js +181 -0
  69. package/dist/parser/src/tokenizer.js.map +1 -0
  70. package/dist/parser/src/types.d.ts +42 -0
  71. package/dist/parser/src/types.d.ts.map +1 -0
  72. package/dist/parser/src/types.js +5 -0
  73. package/dist/parser/src/types.js.map +1 -0
  74. package/dist/query/src/duckdb-integration.d.ts +59 -0
  75. package/dist/query/src/duckdb-integration.d.ts.map +1 -0
  76. package/dist/query/src/duckdb-integration.js +380 -0
  77. package/dist/query/src/duckdb-integration.js.map +1 -0
  78. package/dist/query/src/entity-node.d.ts +30 -0
  79. package/dist/query/src/entity-node.d.ts.map +1 -0
  80. package/dist/query/src/entity-node.js +114 -0
  81. package/dist/query/src/entity-node.js.map +1 -0
  82. package/dist/query/src/entity-query.d.ts +31 -0
  83. package/dist/query/src/entity-query.d.ts.map +1 -0
  84. package/dist/query/src/entity-query.js +129 -0
  85. package/dist/query/src/entity-query.js.map +1 -0
  86. package/dist/query/src/entity-table.d.ts +26 -0
  87. package/dist/query/src/entity-table.d.ts.map +1 -0
  88. package/dist/query/src/entity-table.js +37 -0
  89. package/dist/query/src/entity-table.js.map +1 -0
  90. package/dist/query/src/fluent-api.d.ts +45 -0
  91. package/dist/query/src/fluent-api.d.ts.map +1 -0
  92. package/dist/query/src/fluent-api.js +81 -0
  93. package/dist/query/src/fluent-api.js.map +1 -0
  94. package/dist/query/src/ifc-query.d.ts +34 -0
  95. package/dist/query/src/ifc-query.d.ts.map +1 -0
  96. package/dist/query/src/ifc-query.js +117 -0
  97. package/dist/query/src/ifc-query.js.map +1 -0
  98. package/dist/query/src/index.d.ts +12 -0
  99. package/dist/query/src/index.d.ts.map +1 -0
  100. package/dist/query/src/index.js +15 -0
  101. package/dist/query/src/index.js.map +1 -0
  102. package/dist/query/src/property-table.d.ts +30 -0
  103. package/dist/query/src/property-table.d.ts.map +1 -0
  104. package/dist/query/src/property-table.js +79 -0
  105. package/dist/query/src/property-table.js.map +1 -0
  106. package/dist/query/src/query-result-entity.d.ts +33 -0
  107. package/dist/query/src/query-result-entity.d.ts.map +1 -0
  108. package/dist/query/src/query-result-entity.js +84 -0
  109. package/dist/query/src/query-result-entity.js.map +1 -0
  110. package/package.json +50 -0
@@ -0,0 +1,79 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ export class PropertyTable {
5
+ propertySets;
6
+ entityPropertyMap; // entityId -> [propertySetId, ...]
7
+ constructor() {
8
+ this.propertySets = new Map();
9
+ this.entityPropertyMap = new Map();
10
+ }
11
+ /**
12
+ * Add property set
13
+ */
14
+ addPropertySet(id, propertySet) {
15
+ this.propertySets.set(id, propertySet);
16
+ }
17
+ /**
18
+ * Associate property set with entity
19
+ */
20
+ associatePropertySet(entityId, propertySetId) {
21
+ let sets = this.entityPropertyMap.get(entityId);
22
+ if (!sets) {
23
+ sets = [];
24
+ this.entityPropertyMap.set(entityId, sets);
25
+ }
26
+ sets.push(propertySetId);
27
+ }
28
+ /**
29
+ * Get property value for entity
30
+ */
31
+ getProperty(entityId, propertySetName, propertyName) {
32
+ const propertySetIds = this.entityPropertyMap.get(entityId);
33
+ if (!propertySetIds)
34
+ return null;
35
+ for (const setId of propertySetIds) {
36
+ const pset = this.propertySets.get(setId);
37
+ if (pset && pset.name === propertySetName) {
38
+ return pset.properties.get(propertyName) || null;
39
+ }
40
+ }
41
+ return null;
42
+ }
43
+ /**
44
+ * Get all properties for entity
45
+ */
46
+ getProperties(entityId) {
47
+ const result = new Map();
48
+ const propertySetIds = this.entityPropertyMap.get(entityId);
49
+ if (!propertySetIds)
50
+ return result;
51
+ for (const setId of propertySetIds) {
52
+ const pset = this.propertySets.get(setId);
53
+ if (pset) {
54
+ result.set(pset.name, pset);
55
+ }
56
+ }
57
+ return result;
58
+ }
59
+ /**
60
+ * Find entities with property matching value
61
+ */
62
+ findEntities(propertySetName, propertyName, value) {
63
+ const results = [];
64
+ for (const [entityId, propertySetIds] of this.entityPropertyMap) {
65
+ for (const setId of propertySetIds) {
66
+ const pset = this.propertySets.get(setId);
67
+ if (pset && pset.name === propertySetName) {
68
+ const prop = pset.properties.get(propertyName);
69
+ if (prop && prop.value === value) {
70
+ results.push(entityId);
71
+ break;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ return results;
77
+ }
78
+ }
79
+ //# sourceMappingURL=property-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-table.js","sourceRoot":"","sources":["../../../src/property-table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Query result entity - lazy-loaded entity data
3
+ */
4
+ import type { IfcDataStore } from '@ifc-lite/parser';
5
+ import type { PropertySet } from '@ifc-lite/data';
6
+ import type { QuantitySet } from '@ifc-lite/data';
7
+ import type { MeshData } from '@ifc-lite/geometry';
8
+ import { EntityNode } from './entity-node.js';
9
+ export declare class QueryResultEntity {
10
+ private store;
11
+ readonly expressId: number;
12
+ private _properties?;
13
+ private _quantities?;
14
+ private _geometry?;
15
+ constructor(store: IfcDataStore, expressId: number, _includeFlags?: {
16
+ geometry?: boolean;
17
+ properties?: boolean;
18
+ quantities?: boolean;
19
+ });
20
+ get globalId(): string;
21
+ get name(): string;
22
+ get type(): string;
23
+ get properties(): PropertySet[];
24
+ get quantities(): QuantitySet[];
25
+ get geometry(): MeshData | null;
26
+ getProperty(psetName: string, propName: string): import("@ifc-lite/data").PropertyValue;
27
+ loadProperties(): void;
28
+ loadQuantities(): void;
29
+ loadGeometry(): void;
30
+ asNode(): EntityNode;
31
+ toJSON(): object;
32
+ }
33
+ //# sourceMappingURL=query-result-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-result-entity.d.ts","sourceRoot":"","sources":["../../../src/query-result-entity.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAe;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAG3B,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,SAAS,CAAC,CAAkB;gBAExB,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAKtI,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,UAAU,IAAI,WAAW,EAAE,CAK9B;IAED,IAAI,UAAU,IAAI,WAAW,EAAE,CAQ9B;IAED,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAM9B;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAI9C,cAAc,IAAI,IAAI;IAMtB,cAAc,IAAI,IAAI;IAQtB,YAAY,IAAI,IAAI;IAQpB,MAAM,IAAI,UAAU;IAIpB,MAAM,IAAI,MAAM;CAUjB"}
@@ -0,0 +1,84 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { EntityNode } from './entity-node.js';
5
+ export class QueryResultEntity {
6
+ store;
7
+ expressId;
8
+ // Cached data (loaded eagerly when includeFlags are set)
9
+ _properties;
10
+ _quantities;
11
+ _geometry;
12
+ constructor(store, expressId, _includeFlags) {
13
+ this.store = store;
14
+ this.expressId = expressId;
15
+ }
16
+ get globalId() {
17
+ return this.store.entities.getGlobalId(this.expressId);
18
+ }
19
+ get name() {
20
+ return this.store.entities.getName(this.expressId);
21
+ }
22
+ get type() {
23
+ return this.store.entities.getTypeName(this.expressId);
24
+ }
25
+ get properties() {
26
+ if (this._properties !== undefined) {
27
+ return this._properties;
28
+ }
29
+ return this.store.properties.getForEntity(this.expressId);
30
+ }
31
+ get quantities() {
32
+ if (this._quantities !== undefined) {
33
+ return this._quantities;
34
+ }
35
+ if (this.store.quantities) {
36
+ return this.store.quantities.getForEntity(this.expressId);
37
+ }
38
+ return [];
39
+ }
40
+ get geometry() {
41
+ if (this._geometry !== undefined) {
42
+ return this._geometry;
43
+ }
44
+ // Geometry is not stored in IfcDataStore yet, return null for now
45
+ return null;
46
+ }
47
+ getProperty(psetName, propName) {
48
+ return this.store.properties.getPropertyValue(this.expressId, psetName, propName);
49
+ }
50
+ loadProperties() {
51
+ if (this._properties === undefined) {
52
+ this._properties = this.store.properties.getForEntity(this.expressId);
53
+ }
54
+ }
55
+ loadQuantities() {
56
+ if (this._quantities === undefined && this.store.quantities) {
57
+ this._quantities = this.store.quantities.getForEntity(this.expressId);
58
+ }
59
+ else if (this._quantities === undefined) {
60
+ this._quantities = [];
61
+ }
62
+ }
63
+ loadGeometry() {
64
+ if (this._geometry === undefined) {
65
+ // Geometry is not stored in IfcDataStore yet, set to null
66
+ // In the future, this could access a geometry store
67
+ this._geometry = null;
68
+ }
69
+ }
70
+ asNode() {
71
+ return new EntityNode(this.store, this.expressId);
72
+ }
73
+ toJSON() {
74
+ return {
75
+ expressId: this.expressId,
76
+ globalId: this.globalId,
77
+ name: this.name,
78
+ type: this.type,
79
+ properties: this.properties,
80
+ quantities: this.quantities.length > 0 ? this.quantities : undefined,
81
+ };
82
+ }
83
+ }
84
+ //# sourceMappingURL=query-result-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-result-entity.js","sourceRoot":"","sources":["../../../src/query-result-entity.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@ifc-lite/query",
3
+ "version": "1.0.0",
4
+ "description": "Query system for IFC-Lite",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "dependencies": {
15
+ "@ifc-lite/parser": "1.0.0",
16
+ "@ifc-lite/data": "1.0.0",
17
+ "@ifc-lite/geometry": "1.0.0",
18
+ "@ifc-lite/spatial": "1.0.0"
19
+ },
20
+ "devDependencies": {
21
+ "typescript": "^5.3.0"
22
+ },
23
+ "license": "MPL-2.0",
24
+ "author": "Louis True",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/louistrue/ifc-lite.git",
28
+ "directory": "packages/query"
29
+ },
30
+ "homepage": "https://louistrue.github.io/ifc-lite/",
31
+ "bugs": "https://github.com/louistrue/ifc-lite/issues",
32
+ "keywords": [
33
+ "ifc",
34
+ "bim",
35
+ "query",
36
+ "sql",
37
+ "aec"
38
+ ],
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "files": [
43
+ "dist",
44
+ "README.md"
45
+ ],
46
+ "scripts": {
47
+ "build": "tsc || true",
48
+ "dev": "tsc --watch"
49
+ }
50
+ }