@ifc-lite/parser 4.3.1 → 5.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.
- package/dist/attribute-helpers.d.ts +38 -4
- package/dist/attribute-helpers.d.ts.map +1 -1
- package/dist/attribute-helpers.js +71 -4
- package/dist/attribute-helpers.js.map +1 -1
- package/dist/columnar-parser-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-attributes.js +35 -5
- package/dist/columnar-parser-attributes.js.map +1 -1
- package/dist/columnar-parser-indexes.d.ts.map +1 -1
- package/dist/columnar-parser-indexes.js +17 -2
- package/dist/columnar-parser-indexes.js.map +1 -1
- package/dist/columnar-parser-relationships.d.ts.map +1 -1
- package/dist/columnar-parser-relationships.js +6 -1
- package/dist/columnar-parser-relationships.js.map +1 -1
- package/dist/columnar-parser.d.ts +3 -1
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +27 -76
- package/dist/columnar-parser.js.map +1 -1
- package/dist/compact-entity-index-transport.d.ts +23 -0
- package/dist/compact-entity-index-transport.d.ts.map +1 -0
- package/dist/compact-entity-index-transport.js +28 -0
- package/dist/compact-entity-index-transport.js.map +1 -0
- package/dist/compact-entity-index.d.ts +0 -10
- package/dist/compact-entity-index.d.ts.map +1 -1
- package/dist/compact-entity-index.js +31 -24
- package/dist/compact-entity-index.js.map +1 -1
- package/dist/data-store-transport.d.ts +2 -12
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +7 -20
- package/dist/data-store-transport.js.map +1 -1
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +101 -6
- package/dist/entity-extractor.js.map +1 -1
- package/dist/entity-refs-from-index.d.ts.map +1 -1
- package/dist/entity-refs-from-index.js +12 -2
- package/dist/entity-refs-from-index.js.map +1 -1
- package/dist/entity-scanner.d.ts +63 -0
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +79 -2
- package/dist/entity-scanner.js.map +1 -1
- package/dist/express-id.d.ts +47 -0
- package/dist/express-id.d.ts.map +1 -0
- package/dist/express-id.js +57 -0
- package/dist/express-id.js.map +1 -0
- package/dist/generated/entities.d.ts +1 -1
- package/dist/generated/entities.d.ts.map +1 -1
- package/dist/generated/schema-registry.js +146 -146
- package/dist/generated/schema-registry.js.map +1 -1
- package/dist/georef-epset.d.ts +25 -0
- package/dist/georef-epset.d.ts.map +1 -0
- package/dist/georef-epset.js +214 -0
- package/dist/georef-epset.js.map +1 -0
- package/dist/georef-extractor.d.ts +9 -12
- package/dist/georef-extractor.d.ts.map +1 -1
- package/dist/georef-extractor.js +66 -304
- package/dist/georef-extractor.js.map +1 -1
- package/dist/georef-map-conversion.d.ts +29 -0
- package/dist/georef-map-conversion.d.ts.map +1 -0
- package/dist/georef-map-conversion.js +75 -0
- package/dist/georef-map-conversion.js.map +1 -0
- package/dist/georef-transform.d.ts +25 -0
- package/dist/georef-transform.d.ts.map +1 -0
- package/dist/georef-transform.js +97 -0
- package/dist/georef-transform.js.map +1 -0
- package/dist/ifc-schema.d.ts +4 -2
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +15 -5
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/map-unit-label.d.ts +43 -0
- package/dist/map-unit-label.d.ts.map +1 -0
- package/dist/map-unit-label.js +140 -0
- package/dist/map-unit-label.js.map +1 -0
- package/dist/material-extractor.d.ts +2 -17
- package/dist/material-extractor.d.ts.map +1 -1
- package/dist/material-extractor.js +12 -37
- package/dist/material-extractor.js.map +1 -1
- package/dist/material-layer-reader.d.ts +45 -0
- package/dist/material-layer-reader.d.ts.map +1 -0
- package/dist/material-layer-reader.js +63 -0
- package/dist/material-layer-reader.js.map +1 -0
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +14 -14
- package/dist/material-resolver.js.map +1 -1
- package/dist/measure-unit-scale.d.ts +41 -0
- package/dist/measure-unit-scale.d.ts.map +1 -0
- package/dist/measure-unit-scale.js +53 -0
- package/dist/measure-unit-scale.js.map +1 -0
- package/dist/on-demand-cache.d.ts +3 -0
- package/dist/on-demand-cache.d.ts.map +1 -0
- package/dist/on-demand-cache.js +25 -0
- package/dist/on-demand-cache.js.map +1 -0
- package/dist/on-demand-extractors.d.ts +5 -21
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +64 -437
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/on-demand-georeferencing.d.ts +19 -0
- package/dist/on-demand-georeferencing.d.ts.map +1 -0
- package/dist/on-demand-georeferencing.js +139 -0
- package/dist/on-demand-georeferencing.js.map +1 -0
- package/dist/owning-project.d.ts +54 -0
- package/dist/owning-project.d.ts.map +1 -0
- package/dist/owning-project.js +76 -0
- package/dist/owning-project.js.map +1 -0
- package/dist/parser.worker.d.ts +14 -0
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +2 -0
- package/dist/parser.worker.js.map +1 -1
- package/dist/project-units-symbols.d.ts +33 -0
- package/dist/project-units-symbols.d.ts.map +1 -0
- package/dist/project-units-symbols.js +265 -0
- package/dist/project-units-symbols.js.map +1 -0
- package/dist/project-units.d.ts +11 -19
- package/dist/project-units.d.ts.map +1 -1
- package/dist/project-units.js +9 -267
- package/dist/project-units.js.map +1 -1
- package/dist/property-set-merge.d.ts +65 -8
- package/dist/property-set-merge.d.ts.map +1 -1
- package/dist/property-set-merge.js +130 -29
- package/dist/property-set-merge.js.map +1 -1
- package/dist/property-value-parser.d.ts +55 -0
- package/dist/property-value-parser.d.ts.map +1 -0
- package/dist/property-value-parser.js +277 -0
- package/dist/property-value-parser.js.map +1 -0
- package/dist/quantity-collect.d.ts +135 -0
- package/dist/quantity-collect.d.ts.map +1 -0
- package/dist/quantity-collect.js +253 -0
- package/dist/quantity-collect.js.map +1 -0
- package/dist/query-backend-maps.d.ts +5 -8
- package/dist/query-backend-maps.d.ts.map +1 -1
- package/dist/query-backend-maps.js +159 -15
- package/dist/query-backend-maps.js.map +1 -1
- package/dist/relationship-extractor.d.ts.map +1 -1
- package/dist/relationship-extractor.js +18 -0
- package/dist/relationship-extractor.js.map +1 -1
- package/dist/scan-entities-balanced.d.ts +38 -0
- package/dist/scan-entities-balanced.d.ts.map +1 -0
- package/dist/scan-entities-balanced.js +258 -0
- package/dist/scan-entities-balanced.js.map +1 -0
- package/dist/scan-worker-inline.d.ts +17 -11
- package/dist/scan-worker-inline.d.ts.map +1 -1
- package/dist/scan-worker-inline.js +9 -235
- package/dist/scan-worker-inline.js.map +1 -1
- package/dist/scan-worker-source.d.ts +9 -0
- package/dist/scan-worker-source.d.ts.map +1 -0
- package/dist/scan-worker-source.js +383 -0
- package/dist/scan-worker-source.js.map +1 -0
- package/dist/source-header.d.ts +23 -1
- package/dist/source-header.d.ts.map +1 -1
- package/dist/source-header.js +133 -43
- package/dist/source-header.js.map +1 -1
- package/dist/spatial-hierarchy-builder.js +3 -3
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/step-lexing.d.ts +94 -0
- package/dist/step-lexing.d.ts.map +1 -1
- package/dist/step-lexing.js +292 -25
- package/dist/step-lexing.js.map +1 -1
- package/dist/step-trivia.d.ts +60 -0
- package/dist/step-trivia.d.ts.map +1 -0
- package/dist/step-trivia.js +63 -0
- package/dist/step-trivia.js.map +1 -0
- package/dist/tokenizer.d.ts +20 -21
- package/dist/tokenizer.d.ts.map +1 -1
- package/dist/tokenizer.js +164 -203
- package/dist/tokenizer.js.map +1 -1
- package/dist/unit-extractor.d.ts +56 -1
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +80 -6
- package/dist/unit-extractor.js.map +1 -1
- package/dist/worker-parser.d.ts +11 -1
- package/dist/worker-parser.d.ts.map +1 -1
- package/dist/worker-parser.js +16 -2
- package/dist/worker-parser.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,9 +1,43 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared helpers for extracting typed values from IFC entity attributes.
|
|
3
|
-
* Used across material, georef, and classification extractors.
|
|
4
|
-
*/
|
|
5
1
|
export declare function getString(value: unknown): string | undefined;
|
|
6
2
|
export declare function getNumber(value: unknown): number | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* True when `raw` is a token the extractor preserved verbatim *because* the
|
|
5
|
+
* number it names overflows the IEEE-754 double range — `1.0E400`.
|
|
6
|
+
*
|
|
7
|
+
* `parseAttributeValue` returns the raw token for anything it cannot represent
|
|
8
|
+
* as a finite number, so a string in a numeric attribute slot is ambiguous: it
|
|
9
|
+
* may be an enumeration, a mis-typed label, or a real the double range cannot
|
|
10
|
+
* hold. Only the last is an *unrepresentable number*, and only that case is
|
|
11
|
+
* this predicate's business. Callers whose value type is `number` refuse
|
|
12
|
+
* rather than substitute a plausible-looking `0`; they go through
|
|
13
|
+
* {@link isUnrepresentableNumericValue}, which adds the non-finite `number`
|
|
14
|
+
* case this one cannot see.
|
|
15
|
+
*
|
|
16
|
+
* `parseFloat`, matching `parseAttributeValue`: it is what decided the token
|
|
17
|
+
* was non-finite in the first place, and `Number('1.0E400abc')` disagrees with
|
|
18
|
+
* `parseFloat('1.0E400abc')`. `NaN` is deliberately NOT included — a `NaN`
|
|
19
|
+
* token was already a raw string before non-finite guarding, so it is an
|
|
20
|
+
* ordinary unparseable label, not a number that overflowed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isOverflowingNumericLiteral(raw: unknown): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* True when `raw` states a number that cannot be represented — either the
|
|
25
|
+
* overflowing token above, or an actual non-finite `number`.
|
|
26
|
+
*
|
|
27
|
+
* The second half is not hypothetical. `getNumber` now answers `undefined` for
|
|
28
|
+
* `Infinity`, so every caller that ends in `?? 0` turns a non-finite number
|
|
29
|
+
* into a plausible zero, and {@link isOverflowingNumericLiteral} alone cannot
|
|
30
|
+
* stop it: that predicate only sees strings. The STEP extractor no longer
|
|
31
|
+
* produces non-finite numbers itself, but this helper's callers are also fed
|
|
32
|
+
* by hand-built entity maps, by `IfcPropertySingleValue` nominal values, and
|
|
33
|
+
* by other packages' fixtures — so "the parser cannot make one" is not the
|
|
34
|
+
* same as "one cannot arrive".
|
|
35
|
+
*
|
|
36
|
+
* Refusal is reserved for a value that is PRESENT and unrepresentable. `null`
|
|
37
|
+
* / `undefined` — a `$` attribute — is ordinary absence, keeps its meaning,
|
|
38
|
+
* and keeps whatever default the caller already had.
|
|
39
|
+
*/
|
|
40
|
+
export declare function isUnrepresentableNumericValue(raw: unknown): boolean;
|
|
7
41
|
export declare function getBoolean(value: unknown): boolean | undefined;
|
|
8
42
|
export declare function getReference(value: unknown): number | undefined;
|
|
9
43
|
export declare function getReferences(value: unknown): number[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-helpers.d.ts","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attribute-helpers.d.ts","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI5D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAqB5D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGnE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAM9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAc/D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAKlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAKlE"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Shared helpers for extracting typed values from IFC entity attributes.
|
|
6
6
|
* Used across material, georef, and classification extractors.
|
|
7
7
|
*/
|
|
8
|
+
import { isIndexableExpressId } from './express-id.js';
|
|
8
9
|
export function getString(value) {
|
|
9
10
|
if (value === null || value === undefined)
|
|
10
11
|
return undefined;
|
|
@@ -15,14 +16,74 @@ export function getString(value) {
|
|
|
15
16
|
export function getNumber(value) {
|
|
16
17
|
if (value === null || value === undefined)
|
|
17
18
|
return undefined;
|
|
19
|
+
// Both branches are guarded, not just the string one. A caller can hand this
|
|
20
|
+
// helper a number directly — `getNumber(entity.attributes[7])` where the
|
|
21
|
+
// extractor already produced one, or a literal from a caller's own
|
|
22
|
+
// arithmetic — and `Infinity`/`NaN` are `typeof 'number'`. Guarding only the
|
|
23
|
+
// parse below would make the contract "finite, unless you passed a number",
|
|
24
|
+
// which is not a contract.
|
|
18
25
|
if (typeof value === 'number')
|
|
19
|
-
return value;
|
|
26
|
+
return Number.isFinite(value) ? value : undefined;
|
|
20
27
|
if (typeof value === 'string') {
|
|
21
28
|
const num = parseFloat(value);
|
|
22
|
-
|
|
29
|
+
// Number.isFinite, not !isNaN: `parseFloat('1.0E400')` is `Infinity` and
|
|
30
|
+
// `isNaN(Infinity)` is `false`. This helper's callers (georeferencing
|
|
31
|
+
// eastings/northings/scale, material layer thickness, classification
|
|
32
|
+
// numerics) all feed exported geometry and property values, where an
|
|
33
|
+
// infinity becomes `null` on the way out of `JSON.stringify`. The
|
|
34
|
+
// signature is `number | undefined`, so the only honest answer for a
|
|
35
|
+
// value that is not a finite number is "absent".
|
|
36
|
+
return Number.isFinite(num) ? num : undefined;
|
|
23
37
|
}
|
|
24
38
|
return undefined;
|
|
25
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* True when `raw` is a token the extractor preserved verbatim *because* the
|
|
42
|
+
* number it names overflows the IEEE-754 double range — `1.0E400`.
|
|
43
|
+
*
|
|
44
|
+
* `parseAttributeValue` returns the raw token for anything it cannot represent
|
|
45
|
+
* as a finite number, so a string in a numeric attribute slot is ambiguous: it
|
|
46
|
+
* may be an enumeration, a mis-typed label, or a real the double range cannot
|
|
47
|
+
* hold. Only the last is an *unrepresentable number*, and only that case is
|
|
48
|
+
* this predicate's business. Callers whose value type is `number` refuse
|
|
49
|
+
* rather than substitute a plausible-looking `0`; they go through
|
|
50
|
+
* {@link isUnrepresentableNumericValue}, which adds the non-finite `number`
|
|
51
|
+
* case this one cannot see.
|
|
52
|
+
*
|
|
53
|
+
* `parseFloat`, matching `parseAttributeValue`: it is what decided the token
|
|
54
|
+
* was non-finite in the first place, and `Number('1.0E400abc')` disagrees with
|
|
55
|
+
* `parseFloat('1.0E400abc')`. `NaN` is deliberately NOT included — a `NaN`
|
|
56
|
+
* token was already a raw string before non-finite guarding, so it is an
|
|
57
|
+
* ordinary unparseable label, not a number that overflowed.
|
|
58
|
+
*/
|
|
59
|
+
export function isOverflowingNumericLiteral(raw) {
|
|
60
|
+
if (typeof raw !== 'string')
|
|
61
|
+
return false;
|
|
62
|
+
const num = parseFloat(raw);
|
|
63
|
+
return num === Infinity || num === -Infinity;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* True when `raw` states a number that cannot be represented — either the
|
|
67
|
+
* overflowing token above, or an actual non-finite `number`.
|
|
68
|
+
*
|
|
69
|
+
* The second half is not hypothetical. `getNumber` now answers `undefined` for
|
|
70
|
+
* `Infinity`, so every caller that ends in `?? 0` turns a non-finite number
|
|
71
|
+
* into a plausible zero, and {@link isOverflowingNumericLiteral} alone cannot
|
|
72
|
+
* stop it: that predicate only sees strings. The STEP extractor no longer
|
|
73
|
+
* produces non-finite numbers itself, but this helper's callers are also fed
|
|
74
|
+
* by hand-built entity maps, by `IfcPropertySingleValue` nominal values, and
|
|
75
|
+
* by other packages' fixtures — so "the parser cannot make one" is not the
|
|
76
|
+
* same as "one cannot arrive".
|
|
77
|
+
*
|
|
78
|
+
* Refusal is reserved for a value that is PRESENT and unrepresentable. `null`
|
|
79
|
+
* / `undefined` — a `$` attribute — is ordinary absence, keeps its meaning,
|
|
80
|
+
* and keeps whatever default the caller already had.
|
|
81
|
+
*/
|
|
82
|
+
export function isUnrepresentableNumericValue(raw) {
|
|
83
|
+
if (typeof raw === 'number')
|
|
84
|
+
return !Number.isFinite(raw);
|
|
85
|
+
return isOverflowingNumericLiteral(raw);
|
|
86
|
+
}
|
|
26
87
|
export function getBoolean(value) {
|
|
27
88
|
if (value === null || value === undefined)
|
|
28
89
|
return undefined;
|
|
@@ -37,11 +98,17 @@ export function getBoolean(value) {
|
|
|
37
98
|
export function getReference(value) {
|
|
38
99
|
if (value === null || value === undefined)
|
|
39
100
|
return undefined;
|
|
101
|
+
// Guarded on the number branch too: an express id is an integer key into the
|
|
102
|
+
// entity map, and `isIndexableExpressId` is the one place that says which
|
|
103
|
+
// integers this toolkit can actually key on (express-id.ts, #3395).
|
|
104
|
+
// `Infinity` names no entity, two ids past 2^53 accumulate to the same
|
|
105
|
+
// double and would resolve to the same wrong entity, an id above 2^32 is
|
|
106
|
+
// never in the index, and `NaN` matches nothing, including itself.
|
|
40
107
|
if (typeof value === 'number')
|
|
41
|
-
return value;
|
|
108
|
+
return isIndexableExpressId(value) ? value : undefined;
|
|
42
109
|
if (typeof value === 'string' && value.startsWith('#')) {
|
|
43
110
|
const num = parseInt(value.substring(1));
|
|
44
|
-
if (
|
|
111
|
+
if (isIndexableExpressId(num))
|
|
45
112
|
return num;
|
|
46
113
|
}
|
|
47
114
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-helpers.js","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"attribute-helpers.js","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"columnar-parser-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAuDzB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBhG;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAuB5F;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC7C,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,SAAS,EAAE,EACjB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAuF1D"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { decodeIfcString } from '@ifc-lite/encoding';
|
|
5
|
+
import { isIndexableExpressId } from './express-id.js';
|
|
5
6
|
/**
|
|
6
7
|
* Find the byte range of a quoted string at a specific attribute position in STEP entity bytes.
|
|
7
8
|
* Returns [start, end) byte offsets (excluding quotes), or null if not found.
|
|
@@ -47,8 +48,12 @@ export function findQuotedAttrRange(buffer, entityStart, entityLen, attrIndex) {
|
|
|
47
48
|
}
|
|
48
49
|
// Skip whitespace — including \n/\r: STEP records may wrap attributes
|
|
49
50
|
// across source lines, so a quoted attr can start on a new line
|
|
50
|
-
// (schependomlaan storey/covering-type names).
|
|
51
|
-
|
|
51
|
+
// (schependomlaan storey/covering-type names). Form feed (0x0C) and
|
|
52
|
+
// vertical tab (0x0B) are included too, kept in sync with isSpaceByte
|
|
53
|
+
// in step-lexing.ts (#3733): without them, a GlobalId/Name preceded by
|
|
54
|
+
// either byte silently fails to match here and this function returns
|
|
55
|
+
// null, the same drop shape the entity scanners had.
|
|
56
|
+
while (pos < end && (buffer[pos] === 0x20 || buffer[pos] === 0x09 || buffer[pos] === 0x0A || buffer[pos] === 0x0D || buffer[pos] === 0x0C || buffer[pos] === 0x0B))
|
|
52
57
|
pos++;
|
|
53
58
|
// Check for quoted string
|
|
54
59
|
if (pos >= end || buffer[pos] !== 0x27 /* ' */)
|
|
@@ -99,7 +104,10 @@ export function skipCommas(buffer, start, end, count) {
|
|
|
99
104
|
}
|
|
100
105
|
/** Read a #ID entity reference as a number. Returns -1 if not an entity ref. */
|
|
101
106
|
export function readRefId(buffer, pos, end) {
|
|
102
|
-
|
|
107
|
+
// Kept in sync with isSpaceByte in step-lexing.ts (#3733): form feed
|
|
108
|
+
// (0x0C) and vertical tab (0x0B) are legal separators too, or a ref
|
|
109
|
+
// preceded by either silently reads as "no reference here" (-1).
|
|
110
|
+
while (pos < end && (buffer[pos] === 0x20 || buffer[pos] === 0x09 || buffer[pos] === 0x0A || buffer[pos] === 0x0D || buffer[pos] === 0x0C || buffer[pos] === 0x0B))
|
|
103
111
|
pos++;
|
|
104
112
|
if (pos < end && buffer[pos] === 0x23) {
|
|
105
113
|
pos++;
|
|
@@ -108,19 +116,41 @@ export function readRefId(buffer, pos, end) {
|
|
|
108
116
|
num = num * 10 + (buffer[pos] - 0x30);
|
|
109
117
|
pos++;
|
|
110
118
|
}
|
|
119
|
+
// `num * 10 + digit` overflows to Infinity only past ~309 digits, but
|
|
120
|
+
// it stops meaning anything long before that: doubles lose integer
|
|
121
|
+
// precision past 2^53 (~16 digits), so `#100000000000000001` and
|
|
122
|
+
// `#100000000000000002` accumulate to the SAME value, and the 32-bit
|
|
123
|
+
// express-id columns below truncate anything above 2^32 so that
|
|
124
|
+
// `#4294967297` lands on `#1`. `isIndexableExpressId` is the single
|
|
125
|
+
// home for that bound (express-id.ts, #3395).
|
|
126
|
+
// Guarding at each accumulator (here, and both `StepTokenizer` scans,
|
|
127
|
+
// and the inline scan worker) rather than only when the entity is
|
|
128
|
+
// extracted: this is the byte-level path that builds the
|
|
129
|
+
// property/relationship indexes, so an unguarded overflow here keyed a
|
|
130
|
+
// pset under a record the entity index had already refused —
|
|
131
|
+
// `extractPropertiesOnDemand(store, Infinity)` returned a real pset for
|
|
132
|
+
// an entity whose own GlobalId and Name were unreadable.
|
|
133
|
+
//
|
|
134
|
+
// `-1` is this function's existing "no reference here" sentinel and
|
|
135
|
+
// every caller already tests it (`if (relating < 0) return null`,
|
|
136
|
+
// `if (id >= 0) ids.push(id)`). `pos` is still returned advanced past
|
|
137
|
+
// the digits so scanning continues from the right place.
|
|
138
|
+
if (!isIndexableExpressId(num))
|
|
139
|
+
return [-1, pos];
|
|
111
140
|
return [num, pos];
|
|
112
141
|
}
|
|
113
142
|
return [-1, pos];
|
|
114
143
|
}
|
|
115
144
|
/** Read a list of entity refs (#id1,#id2,...) or a single #id. Returns [ids, newPos]. */
|
|
116
145
|
export function readRefList(buffer, pos, end) {
|
|
117
|
-
|
|
146
|
+
// Kept in sync with isSpaceByte in step-lexing.ts (#3733).
|
|
147
|
+
while (pos < end && (buffer[pos] === 0x20 || buffer[pos] === 0x09 || buffer[pos] === 0x0A || buffer[pos] === 0x0D || buffer[pos] === 0x0C || buffer[pos] === 0x0B))
|
|
118
148
|
pos++;
|
|
119
149
|
const ids = [];
|
|
120
150
|
if (pos < end && buffer[pos] === 0x28) {
|
|
121
151
|
pos++;
|
|
122
152
|
while (pos < end && buffer[pos] !== 0x29) {
|
|
123
|
-
while (pos < end && (buffer[pos] === 0x20 || buffer[pos] === 0x09 || buffer[pos] === 0x0A || buffer[pos] === 0x0D || buffer[pos] === 0x2C))
|
|
153
|
+
while (pos < end && (buffer[pos] === 0x20 || buffer[pos] === 0x09 || buffer[pos] === 0x0A || buffer[pos] === 0x0D || buffer[pos] === 0x0C || buffer[pos] === 0x0B || buffer[pos] === 0x2C))
|
|
124
154
|
pos++;
|
|
125
155
|
if (pos < end && buffer[pos] === 0x23) {
|
|
126
156
|
const [id, np] = readRefId(buffer, pos, end);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"columnar-parser-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-indexes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,YAAY,EACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,CAAC;AAaF,eAAO,MAAM,cAAc,aAWzB,CAAC;AAIH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"columnar-parser-indexes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACH,gBAAgB,EAChB,YAAY,EACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC9D,CAAC;AAaF,eAAO,MAAM,cAAc,aAWzB,CAAC;AAIH,eAAO,MAAM,kBAAkB,aAgB7B,CAAC;AAIH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAyBzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS1D,CAAC;AAGF,eAAO,MAAM,aAAa,aAOxB,CAAC;AAGH,eAAO,MAAM,mBAAmB,aAqB9B,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAE7B,CAAC;AAGH,eAAO,MAAM,qBAAqB,aAGhC,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAAsH,CAAC;AAGtJ,eAAO,MAAM,qBAAqB,aAQhC,CAAC;AAEH,eAAO,MAAM,wBAAwB,aAGnC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D"}
|
|
@@ -36,7 +36,12 @@ export const RELATIONSHIP_TYPES = new Set([
|
|
|
36
36
|
'IFCRELCONNECTSPATHELEMENTS', 'IFCRELCONNECTSELEMENTS',
|
|
37
37
|
'IFCRELCONNECTSPORTTOELEMENT', 'IFCRELCONNECTSPORTS',
|
|
38
38
|
'IFCRELSPACEBOUNDARY',
|
|
39
|
-
|
|
39
|
+
// IfcRelAssignsToGroupByFactor is a subtype of IfcRelAssignsToGroup
|
|
40
|
+
// (adds a proportional Factor attribute, e.g. zone occupancy share) and
|
|
41
|
+
// is written to STEP with its own distinct entity keyword — it does not
|
|
42
|
+
// match the 'IFCRELASSIGNSTOGROUP' string, so it needs its own entry or
|
|
43
|
+
// every membership assigned through it is silently invisible.
|
|
44
|
+
'IFCRELASSIGNSTOGROUP', 'IFCRELASSIGNSTOGROUPBYFACTOR', 'IFCRELASSIGNSTOPRODUCT',
|
|
40
45
|
'IFCRELREFERENCEDINSPATIALSTRUCTURE',
|
|
41
46
|
]);
|
|
42
47
|
// Map IFC relationship type strings to RelationshipType enum
|
|
@@ -61,6 +66,9 @@ export const REL_TYPE_MAP = {
|
|
|
61
66
|
'IFCRELCONNECTSPORTS': RelationshipType.ConnectsPorts,
|
|
62
67
|
'IFCRELSPACEBOUNDARY': RelationshipType.SpaceBoundary,
|
|
63
68
|
'IFCRELASSIGNSTOGROUP': RelationshipType.AssignsToGroup,
|
|
69
|
+
// Subtype of IfcRelAssignsToGroup (adds a Factor); same RelatingGroup /
|
|
70
|
+
// RelatedObjects membership semantics, so it shares the same edge type.
|
|
71
|
+
'IFCRELASSIGNSTOGROUPBYFACTOR': RelationshipType.AssignsToGroup,
|
|
64
72
|
'IFCRELASSIGNSTOPRODUCT': RelationshipType.AssignsToProduct,
|
|
65
73
|
'IFCRELREFERENCEDINSPATIALSTRUCTURE': RelationshipType.ReferencedInSpatialStructure,
|
|
66
74
|
};
|
|
@@ -71,6 +79,8 @@ export const QUANTITY_TYPE_MAP = {
|
|
|
71
79
|
'IFCQUANTITYCOUNT': QuantityType.Count,
|
|
72
80
|
'IFCQUANTITYWEIGHT': QuantityType.Weight,
|
|
73
81
|
'IFCQUANTITYTIME': QuantityType.Time,
|
|
82
|
+
// IFC4X3 added IfcQuantityNumber; older schemas never emit it.
|
|
83
|
+
'IFCQUANTITYNUMBER': QuantityType.Number,
|
|
74
84
|
};
|
|
75
85
|
// Types needed for spatial hierarchy (small subset)
|
|
76
86
|
export const SPATIAL_TYPES = new Set([
|
|
@@ -97,7 +107,11 @@ export const HIERARCHY_REL_TYPES = new Set([
|
|
|
97
107
|
// themselves were parsed.
|
|
98
108
|
'IFCRELCONNECTSPORTTOELEMENT', 'IFCRELCONNECTSPORTS',
|
|
99
109
|
'IFCRELSPACEBOUNDARY',
|
|
100
|
-
|
|
110
|
+
// IfcRelAssignsToGroupByFactor is a distinct STEP keyword (subtype of
|
|
111
|
+
// IfcRelAssignsToGroup); omitting it here means it never reaches
|
|
112
|
+
// relationshipRefs / extractRelFast, so every group/zone/system
|
|
113
|
+
// membership assigned through it is silently dropped.
|
|
114
|
+
'IFCRELASSIGNSTOGROUP', 'IFCRELASSIGNSTOGROUPBYFACTOR', 'IFCRELASSIGNSTOPRODUCT',
|
|
101
115
|
'IFCRELREFERENCEDINSPATIALSTRUCTURE',
|
|
102
116
|
]);
|
|
103
117
|
// Relationship types for on-demand property loading
|
|
@@ -119,6 +133,7 @@ export const PROPERTY_ENTITY_TYPES = new Set([
|
|
|
119
133
|
'IFCPROPERTYLISTVALUE', 'IFCPROPERTYREFERENCEVALUE',
|
|
120
134
|
'IFCQUANTITYLENGTH', 'IFCQUANTITYAREA', 'IFCQUANTITYVOLUME',
|
|
121
135
|
'IFCQUANTITYCOUNT', 'IFCQUANTITYWEIGHT', 'IFCQUANTITYTIME',
|
|
136
|
+
'IFCQUANTITYNUMBER',
|
|
122
137
|
]);
|
|
123
138
|
export const PROPERTY_CONTAINER_TYPES = new Set([
|
|
124
139
|
'IFCPROPERTYSET',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EACH,gBAAgB,EAChB,YAAY,GACf,MAAM,gBAAgB,CAAC;AAmBxB,2CAA2C;AAC3C,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,0EAA0E;AAC1E,mEAAmE;AACnE,yEAAyE;AACzE,kEAAkE;AAClE,qEAAqE;AACrE,oEAAoE;AACpE,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAClC,YAAY;IACZ,qEAAqE;IACrE,mEAAmE;IACnE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;IACnE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB;IAC/D,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW;IACjE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,yBAAyB;IACpE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3D,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB;IACtE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa;CAC/D,CAAC,CAAC;AAEH,6FAA6F;AAC7F,uFAAuF;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACtC,mCAAmC,EAAE,kBAAkB;IACvD,2BAA2B,EAAE,qBAAqB;IAClD,0BAA0B,EAAE,gCAAgC;IAC5D,0BAA0B;IAC1B,oBAAoB,EAAE,oBAAoB;IAC1C,4BAA4B,EAAE,wBAAwB;IACtD,6BAA6B,EAAE,qBAAqB;IACpD,qBAAqB;IACrB,sBAAsB,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-relationships.d.ts","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"columnar-parser-relationships.d.ts","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA6E7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB;IAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAkB7D"}
|
|
@@ -37,7 +37,12 @@ export function extractRelFast(buffer, byteOffset, byteLength, typeUpper) {
|
|
|
37
37
|
return null;
|
|
38
38
|
return { relatingObject: relating, relatedObjects: related };
|
|
39
39
|
}
|
|
40
|
-
else if (typeUpper === 'IFCRELASSIGNSTOGROUP'
|
|
40
|
+
else if (typeUpper === 'IFCRELASSIGNSTOGROUP'
|
|
41
|
+
// Subtype of IfcRelAssignsToGroup: same attr[4]=RelatedObjects,
|
|
42
|
+
// attr[5]=RelatedObjectsType, attr[6]=RelatingGroup layout, plus a
|
|
43
|
+
// trailing Factor we don't need to read.
|
|
44
|
+
|| typeUpper === 'IFCRELASSIGNSTOGROUPBYFACTOR'
|
|
45
|
+
|| typeUpper === 'IFCRELASSIGNSTOPRODUCT') {
|
|
41
46
|
const [related, rp] = readRefList(buffer, pos, end);
|
|
42
47
|
// `readRefList` returns `rp` pointing AT the closing `)` of
|
|
43
48
|
// the list. `skipCommas` tracks paren depth, so leaving `rp`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-relationships.js","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAErF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC1B,MAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,SAAiB;IAEjB,MAAM,GAAG,GAAG,UAAU,GAAG,UAAU,CAAC;IACpC,IAAI,GAAG,GAAG,UAAU,CAAC;IAErB,OAAO,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,GAAG,EAAE,CAAC;IAChD,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC;IAEN,6FAA6F;IAC7F,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEtC,IAAI,SAAS,KAAK,mCAAmC;WAC9C,SAAS,KAAK,oCAAoC;WAClD,SAAS,KAAK,2BAA2B;WACzC,SAAS,KAAK,qBAAqB,EAAE,CAAC;QACzC,iDAAiD;QACjD,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,GAAG,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,GAAG,EAAE,CAAC;QAChD,GAAG,EAAE,CAAC;QACN,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACjE,CAAC;SAAM,
|
|
1
|
+
{"version":3,"file":"columnar-parser-relationships.js","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,7 @@ export declare class ColumnarParser {
|
|
|
113
113
|
*/
|
|
114
114
|
extractQuantitiesOnDemand(store: IfcDataStore, entityId: number): Array<{
|
|
115
115
|
name: string;
|
|
116
|
+
globalId?: string;
|
|
116
117
|
quantities: Array<{
|
|
117
118
|
name: string;
|
|
118
119
|
type: number;
|
|
@@ -141,6 +142,7 @@ export declare function extractPropertiesOnDemand(store: IfcDataStore, entityId:
|
|
|
141
142
|
*/
|
|
142
143
|
export declare function extractQuantitiesOnDemand(store: IfcDataStore, entityId: number): Array<{
|
|
143
144
|
name: string;
|
|
145
|
+
globalId?: string;
|
|
144
146
|
quantities: Array<{
|
|
145
147
|
name: string;
|
|
146
148
|
type: number;
|
|
@@ -209,6 +211,6 @@ export declare function extractRootAttributesFromEntity(entity: IfcEntity): {
|
|
|
209
211
|
*/
|
|
210
212
|
export declare function pickLongName(entity: IfcEntity): string;
|
|
211
213
|
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractGroupMembersOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
|
|
212
|
-
export { mergeInheritedPropertySets } from './property-set-merge.js';
|
|
214
|
+
export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
|
|
213
215
|
export type { ClassificationInfo, MaterialInfo, MaterialLayerInfo, MaterialProfileInfo, MaterialConstituentInfo, MaterialPsetGroup, MaterialLeaf, MaterialUsage, TypePropertyInfo, TypeQuantityInfo, DocumentInfo, EntityRelationships, GroupMember, GeorefInfo, } from './on-demand-extractors.js';
|
|
214
216
|
//# sourceMappingURL=columnar-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"columnar-parser.d.ts","sourceRoot":"","sources":["../src/columnar-parser.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAS5C,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EAEpB,wBAAwB,EAE3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAoB,aAAa,EAAE,aAAa,EAA4B,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAkB3J,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG/E,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQlF,MAAM,WAAW,YAAa,SAAQ,YAAY;IAC9C,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC;IACtE,mBAAmB,CAAC,EAAE,eAAe,CAAC;IAEtC,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C;;;OAGG;IACH,yBAAyB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAElD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,cAAc;IACvB;;;;;;OAMG;IACG,SAAS,CACX,MAAM,EAAE,WAAW,GAAG,iBAAiB,EACvC,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,GAAE;QACL,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QACpE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;KACpD,GACP,OAAO,CAAC,YAAY,CAAC;IA0mBxB;;;OAGG;IACH,yBAAyB,CACrB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,aAAa,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IA+D5J;;;OAGG;IACH,yBAAyB,CACrB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAyBlH;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAG3J;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAG9G;AAMD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAa1F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAoG3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,SAAS,GAClB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAYjD;AAoCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,SAAS,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA0B1F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAKtD;AAGD,OAAO,EACH,8BAA8B,EAC9B,oCAAoC,EACpC,wBAAwB,EACxB,2BAA2B,EAC3B,iCAAiC,EACjC,sCAAsC,EACtC,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEjG,YAAY,EACR,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,UAAU,GACb,MAAM,2BAA2B,CAAC"}
|