@ifc-lite/parser 7.1.0 → 8.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/dist/attribute-helpers.d.ts +23 -5
- package/dist/attribute-helpers.d.ts.map +1 -1
- package/dist/attribute-helpers.js +74 -13
- package/dist/attribute-helpers.js.map +1 -1
- package/dist/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +42 -6
- package/dist/classification-resolver.js.map +1 -1
- package/dist/columnar-parser-attributes.d.ts +1 -1
- package/dist/columnar-parser-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-attributes.js +36 -1
- 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 +24 -1
- package/dist/columnar-parser-indexes.js.map +1 -1
- package/dist/columnar-parser-relationships.d.ts +2 -1
- package/dist/columnar-parser-relationships.d.ts.map +1 -1
- package/dist/columnar-parser-relationships.js +2 -2
- package/dist/columnar-parser-relationships.js.map +1 -1
- package/dist/columnar-parser-root-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-root-attributes.js +3 -0
- package/dist/columnar-parser-root-attributes.js.map +1 -1
- package/dist/columnar-parser.d.ts +4 -11
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +24 -11
- package/dist/columnar-parser.js.map +1 -1
- package/dist/cost-extractor.js +2 -2
- package/dist/cost-extractor.js.map +1 -1
- package/dist/cost-overlay.d.ts +34 -2
- package/dist/cost-overlay.d.ts.map +1 -1
- package/dist/cost-reader.d.ts +10 -0
- package/dist/cost-reader.d.ts.map +1 -1
- package/dist/cost-reader.js +82 -17
- package/dist/cost-reader.js.map +1 -1
- package/dist/cost.d.ts +1 -1
- package/dist/cost.d.ts.map +1 -1
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +8 -0
- package/dist/data-store-transport.js.map +1 -1
- package/dist/effective-entity-record.d.ts +35 -0
- package/dist/effective-entity-record.d.ts.map +1 -0
- package/dist/effective-entity-record.js +43 -0
- package/dist/effective-entity-record.js.map +1 -0
- package/dist/effective-relationship-overlay.d.ts +31 -0
- package/dist/effective-relationship-overlay.d.ts.map +1 -0
- package/dist/effective-relationship-overlay.js +111 -0
- package/dist/effective-relationship-overlay.js.map +1 -0
- package/dist/entity-extractor.d.ts.map +1 -1
- package/dist/entity-extractor.js +33 -15
- package/dist/entity-extractor.js.map +1 -1
- package/dist/exact-relationship-edges.d.ts +46 -0
- package/dist/exact-relationship-edges.d.ts.map +1 -0
- package/dist/exact-relationship-edges.js +89 -0
- package/dist/exact-relationship-edges.js.map +1 -0
- package/dist/identity-hints.d.ts +32 -0
- package/dist/identity-hints.d.ts.map +1 -0
- package/dist/identity-hints.js +131 -0
- package/dist/identity-hints.js.map +1 -0
- package/dist/ifc-schema.d.ts +9 -0
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +37 -2
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/material-resolver.d.ts +3 -0
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +6 -2
- package/dist/material-resolver.js.map +1 -1
- package/dist/on-demand-extractors.d.ts +11 -37
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +13 -5
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +3 -1
- package/dist/parser.worker.js.map +1 -1
- package/dist/project-units.d.ts.map +1 -1
- package/dist/project-units.js +7 -0
- package/dist/project-units.js.map +1 -1
- package/dist/property-unit.d.ts.map +1 -1
- package/dist/property-unit.js +1 -0
- package/dist/property-unit.js.map +1 -1
- package/dist/property-value-parser.d.ts +14 -18
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +26 -11
- package/dist/property-value-parser.js.map +1 -1
- package/dist/quantity-collect.d.ts +2 -0
- package/dist/quantity-collect.d.ts.map +1 -1
- package/dist/quantity-collect.js +2 -1
- package/dist/quantity-collect.js.map +1 -1
- package/dist/quantity-extractor.d.ts.map +1 -1
- package/dist/quantity-extractor.js +7 -5
- package/dist/quantity-extractor.js.map +1 -1
- 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 +8 -15
- package/dist/query-backend-maps.js.map +1 -1
- package/dist/relationship-extractor.d.ts.map +1 -1
- package/dist/relationship-extractor.js +6 -4
- package/dist/relationship-extractor.js.map +1 -1
- package/dist/relationship-schema-slots.d.ts +8 -8
- package/dist/relationship-schema-slots.d.ts.map +1 -1
- package/dist/relationship-schema-slots.js +31 -18
- package/dist/relationship-schema-slots.js.map +1 -1
- package/dist/schedule-calendar-types.d.ts +2 -3
- package/dist/schedule-calendar-types.d.ts.map +1 -1
- package/dist/schedule-calendar-types.js +12 -24
- package/dist/schedule-calendar-types.js.map +1 -1
- package/dist/schedule-control-extractor.d.ts +3 -4
- package/dist/schedule-control-extractor.d.ts.map +1 -1
- package/dist/schedule-control-extractor.js +4 -7
- package/dist/schedule-control-extractor.js.map +1 -1
- package/dist/schedule-extractor.d.ts +4 -1
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +26 -43
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-types.d.ts +3 -4
- package/dist/schedule-types.d.ts.map +1 -1
- package/dist/schedule-types.js +4 -10
- package/dist/schedule-types.js.map +1 -1
- package/dist/spatial-hierarchy-attributes.d.ts.map +1 -1
- package/dist/spatial-hierarchy-attributes.js +3 -0
- package/dist/spatial-hierarchy-attributes.js.map +1 -1
- package/dist/spatial-hierarchy-builder.d.ts.map +1 -1
- package/dist/spatial-hierarchy-builder.js +1 -0
- package/dist/spatial-hierarchy-builder.js.map +1 -1
- package/dist/structural-load-extractor.d.ts.map +1 -1
- package/dist/structural-load-extractor.js +2 -0
- package/dist/structural-load-extractor.js.map +1 -1
- package/dist/structural-step-values.d.ts.map +1 -1
- package/dist/structural-step-values.js +1 -0
- package/dist/structural-step-values.js.map +1 -1
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +6 -0
- package/dist/unit-extractor.js.map +1 -1
- package/dist/worker-index-publication.d.ts.map +1 -1
- package/dist/worker-index-publication.js +7 -0
- package/dist/worker-index-publication.js.map +1 -1
- package/package.json +6 -6
|
@@ -11,7 +11,8 @@ export declare function getNumber(value: unknown): number | undefined;
|
|
|
11
11
|
* this predicate's business. Callers whose value type is `number` refuse
|
|
12
12
|
* rather than substitute a plausible-looking `0`; they go through
|
|
13
13
|
* {@link isUnrepresentableNumericValue}, which adds the non-finite `number`
|
|
14
|
-
* case this one cannot see
|
|
14
|
+
* case this one cannot see, and the malformed-literal case
|
|
15
|
+
* {@link isMalformedNumericLiteral} covers.
|
|
15
16
|
*
|
|
16
17
|
* `parseFloat`, matching `parseAttributeValue`: it is what decided the token
|
|
17
18
|
* was non-finite in the first place, and `Number('1.0E400abc')` disagrees with
|
|
@@ -21,17 +22,34 @@ export declare function getNumber(value: unknown): number | undefined;
|
|
|
21
22
|
*/
|
|
22
23
|
export declare function isOverflowingNumericLiteral(raw: unknown): boolean;
|
|
23
24
|
/**
|
|
24
|
-
* True when `raw`
|
|
25
|
-
*
|
|
25
|
+
* True when `raw` is a string that looks like an attempted STEP numeric
|
|
26
|
+
* literal but whose `parseFloat`-consumed prefix does not cover the whole
|
|
27
|
+
* token — `1.52.3` (a dropped comma fuses two reals into one token) or
|
|
28
|
+
* `1.5abc` (trailing garbage `parseFloat` silently discards). Distinct from
|
|
29
|
+
* {@link isOverflowingNumericLiteral}: an overflowing literal like `1.0E400`
|
|
30
|
+
* IS a complete, grammatically valid token, just one the double range cannot
|
|
31
|
+
* hold, so it fails this predicate and is handled by that one instead.
|
|
26
32
|
*
|
|
27
|
-
*
|
|
33
|
+
* A non-numeric enumeration or identifier (`.T.`, `.UNSPECIFIED.`, `*`) never
|
|
34
|
+
* matches: {@link looksLikeNumericAttempt} restricts this to tokens that
|
|
35
|
+
* start like a number was intended.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isMalformedNumericLiteral(raw: unknown): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* True when `raw` states a number that cannot be represented — an
|
|
40
|
+
* overflowing token, a malformed one, or an actual non-finite `number`.
|
|
41
|
+
*
|
|
42
|
+
* The last case is not hypothetical. `getNumber` now answers `undefined` for
|
|
28
43
|
* `Infinity`, so every caller that ends in `?? 0` turns a non-finite number
|
|
29
44
|
* into a plausible zero, and {@link isOverflowingNumericLiteral} alone cannot
|
|
30
45
|
* stop it: that predicate only sees strings. The STEP extractor no longer
|
|
31
46
|
* produces non-finite numbers itself, but this helper's callers are also fed
|
|
32
47
|
* by hand-built entity maps, by `IfcPropertySingleValue` nominal values, and
|
|
33
48
|
* by other packages' fixtures — so "the parser cannot make one" is not the
|
|
34
|
-
* same as "one cannot arrive".
|
|
49
|
+
* same as "one cannot arrive". The malformed case is not hypothetical either:
|
|
50
|
+
* `parseAttributeValue` now preserves `1.52.3` as that raw string rather than
|
|
51
|
+
* truncating it, and this is the check that stops a caller's `getNumber(raw)
|
|
52
|
+
* || 0` from quietly turning it into a zero.
|
|
35
53
|
*
|
|
36
54
|
* Refusal is reserved for a value that is PRESENT and unrepresentable. `null`
|
|
37
55
|
* / `undefined` — a `$` attribute — is ordinary absence, keeps its meaning,
|
|
@@ -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":"AAYA,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI5D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA6B5D;AA0BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI/D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAInE;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 { isCompleteStepNumericLiteral } from '@ifc-lite/data';
|
|
8
9
|
import { isIndexableExpressId } from './express-id.js';
|
|
9
10
|
export function getString(value) {
|
|
10
11
|
if (value === null || value === undefined)
|
|
@@ -25,18 +26,53 @@ export function getNumber(value) {
|
|
|
25
26
|
if (typeof value === 'number')
|
|
26
27
|
return Number.isFinite(value) ? value : undefined;
|
|
27
28
|
if (typeof value === 'string') {
|
|
28
|
-
const
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
29
|
+
const trimmed = value.trim();
|
|
30
|
+
// `isCompleteStepNumericLiteral` first: `parseFloat` accepts any leading
|
|
31
|
+
// numeric prefix and silently discards the rest, so `parseFloat('1.52.3')`
|
|
32
|
+
// (a dropped comma between two reals) is `1.52` with no error, and
|
|
33
|
+
// `parseFloat('1.5abc')` is `1.5`. Requiring the grammar match cover the
|
|
34
|
+
// whole token before trusting `parseFloat`'s result closes that hole; the
|
|
35
|
+
// `Number.isFinite` check below still catches the separate overflow
|
|
36
|
+
// hazard (`parseFloat('1.0E400')` is `Infinity`, and `isNaN(Infinity)` is
|
|
37
|
+
// `false`). This helper's callers (georeferencing eastings/northings/
|
|
38
|
+
// scale, material layer thickness, classification numerics) all feed
|
|
39
|
+
// exported geometry and property values, where an infinity becomes `null`
|
|
40
|
+
// on the way out of `JSON.stringify`. The signature is `number |
|
|
41
|
+
// undefined`, so the only honest answer for a value that is not a
|
|
42
|
+
// complete, finite numeric literal is "absent".
|
|
43
|
+
if (!isCompleteStepNumericLiteral(trimmed))
|
|
44
|
+
return undefined;
|
|
45
|
+
const num = parseFloat(trimmed);
|
|
36
46
|
return Number.isFinite(num) ? num : undefined;
|
|
37
47
|
}
|
|
38
48
|
return undefined;
|
|
39
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* True when `token` starts like an attempted STEP numeric literal — a digit,
|
|
52
|
+
* or `.` immediately followed by a digit, after an optional leading sign —
|
|
53
|
+
* whether or not it turns out to be a complete one.
|
|
54
|
+
*
|
|
55
|
+
* This is the line between "corrupted number" and "ordinary non-numeric
|
|
56
|
+
* token": an enumeration or identifier such as `.T.`, `.UNSPECIFIED.`, or `*`
|
|
57
|
+
* does not start this way, so {@link isMalformedNumericLiteral} never flags
|
|
58
|
+
* it, even though it also fails {@link isCompleteStepNumericLiteral}.
|
|
59
|
+
*/
|
|
60
|
+
function looksLikeNumericAttempt(token) {
|
|
61
|
+
const n = token.length;
|
|
62
|
+
let i = 0;
|
|
63
|
+
if (i < n && (token[i] === '+' || token[i] === '-'))
|
|
64
|
+
i++;
|
|
65
|
+
if (i >= n)
|
|
66
|
+
return false;
|
|
67
|
+
const c = token[i];
|
|
68
|
+
if (c >= '0' && c <= '9')
|
|
69
|
+
return true;
|
|
70
|
+
if (c === '.' && i + 1 < n) {
|
|
71
|
+
const d = token[i + 1];
|
|
72
|
+
return d >= '0' && d <= '9';
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
40
76
|
/**
|
|
41
77
|
* True when `raw` is a token the extractor preserved verbatim *because* the
|
|
42
78
|
* number it names overflows the IEEE-754 double range — `1.0E400`.
|
|
@@ -48,7 +84,8 @@ export function getNumber(value) {
|
|
|
48
84
|
* this predicate's business. Callers whose value type is `number` refuse
|
|
49
85
|
* rather than substitute a plausible-looking `0`; they go through
|
|
50
86
|
* {@link isUnrepresentableNumericValue}, which adds the non-finite `number`
|
|
51
|
-
* case this one cannot see
|
|
87
|
+
* case this one cannot see, and the malformed-literal case
|
|
88
|
+
* {@link isMalformedNumericLiteral} covers.
|
|
52
89
|
*
|
|
53
90
|
* `parseFloat`, matching `parseAttributeValue`: it is what decided the token
|
|
54
91
|
* was non-finite in the first place, and `Number('1.0E400abc')` disagrees with
|
|
@@ -63,17 +100,39 @@ export function isOverflowingNumericLiteral(raw) {
|
|
|
63
100
|
return num === Infinity || num === -Infinity;
|
|
64
101
|
}
|
|
65
102
|
/**
|
|
66
|
-
* True when `raw`
|
|
67
|
-
*
|
|
103
|
+
* True when `raw` is a string that looks like an attempted STEP numeric
|
|
104
|
+
* literal but whose `parseFloat`-consumed prefix does not cover the whole
|
|
105
|
+
* token — `1.52.3` (a dropped comma fuses two reals into one token) or
|
|
106
|
+
* `1.5abc` (trailing garbage `parseFloat` silently discards). Distinct from
|
|
107
|
+
* {@link isOverflowingNumericLiteral}: an overflowing literal like `1.0E400`
|
|
108
|
+
* IS a complete, grammatically valid token, just one the double range cannot
|
|
109
|
+
* hold, so it fails this predicate and is handled by that one instead.
|
|
68
110
|
*
|
|
69
|
-
*
|
|
111
|
+
* A non-numeric enumeration or identifier (`.T.`, `.UNSPECIFIED.`, `*`) never
|
|
112
|
+
* matches: {@link looksLikeNumericAttempt} restricts this to tokens that
|
|
113
|
+
* start like a number was intended.
|
|
114
|
+
*/
|
|
115
|
+
export function isMalformedNumericLiteral(raw) {
|
|
116
|
+
if (typeof raw !== 'string')
|
|
117
|
+
return false;
|
|
118
|
+
const trimmed = raw.trim();
|
|
119
|
+
return looksLikeNumericAttempt(trimmed) && !isCompleteStepNumericLiteral(trimmed);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* True when `raw` states a number that cannot be represented — an
|
|
123
|
+
* overflowing token, a malformed one, or an actual non-finite `number`.
|
|
124
|
+
*
|
|
125
|
+
* The last case is not hypothetical. `getNumber` now answers `undefined` for
|
|
70
126
|
* `Infinity`, so every caller that ends in `?? 0` turns a non-finite number
|
|
71
127
|
* into a plausible zero, and {@link isOverflowingNumericLiteral} alone cannot
|
|
72
128
|
* stop it: that predicate only sees strings. The STEP extractor no longer
|
|
73
129
|
* produces non-finite numbers itself, but this helper's callers are also fed
|
|
74
130
|
* by hand-built entity maps, by `IfcPropertySingleValue` nominal values, and
|
|
75
131
|
* by other packages' fixtures — so "the parser cannot make one" is not the
|
|
76
|
-
* same as "one cannot arrive".
|
|
132
|
+
* same as "one cannot arrive". The malformed case is not hypothetical either:
|
|
133
|
+
* `parseAttributeValue` now preserves `1.52.3` as that raw string rather than
|
|
134
|
+
* truncating it, and this is the check that stops a caller's `getNumber(raw)
|
|
135
|
+
* || 0` from quietly turning it into a zero.
|
|
77
136
|
*
|
|
78
137
|
* Refusal is reserved for a value that is PRESENT and unrepresentable. `null`
|
|
79
138
|
* / `undefined` — a `$` attribute — is ordinary absence, keeps its meaning,
|
|
@@ -82,6 +141,8 @@ export function isOverflowingNumericLiteral(raw) {
|
|
|
82
141
|
export function isUnrepresentableNumericValue(raw) {
|
|
83
142
|
if (typeof raw === 'number')
|
|
84
143
|
return !Number.isFinite(raw);
|
|
144
|
+
if (isMalformedNumericLiteral(raw))
|
|
145
|
+
return true;
|
|
85
146
|
return isOverflowingNumericLiteral(raw);
|
|
86
147
|
}
|
|
87
148
|
export function getBoolean(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-helpers.js","sourceRoot":"","sources":["../src/attribute-helpers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,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,6EAA6E;IAC7E,yEAAyE;IACzE,mEAAmE;IACnE,6EAA6E;IAC7E,4EAA4E;IAC5E,2BAA2B;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,
|
|
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":"classification-resolver.d.ts","sourceRoot":"","sources":["../src/classification-resolver.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"classification-resolver.d.ts","sourceRoot":"","sources":["../src/classification-resolver.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACjB,kBAAkB,EAAE,CA0HtB;AAED,8DAA8D;AAC9D,MAAM,WAAW,yBAAyB;IACtC;;uCAEmC;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,YAAY,GAAG,yBAAyB,CA6BnG"}
|
|
@@ -86,6 +86,7 @@ export function extractClassificationsOnDemand(store, entityId) {
|
|
|
86
86
|
const extractor = new EntityExtractor(store.source);
|
|
87
87
|
const results = [];
|
|
88
88
|
for (const classRefId of classRefIds) {
|
|
89
|
+
// @raw-entity-enumeration-ok source classification association ids require source byte offsets for EntityExtractor
|
|
89
90
|
const ref = store.entityIndex.byId.get(classRefId);
|
|
90
91
|
if (!ref)
|
|
91
92
|
continue;
|
|
@@ -108,6 +109,19 @@ export function extractClassificationsOnDemand(store, entityId) {
|
|
|
108
109
|
const path = walkClassificationChain(store, extractor, referencedSourceId);
|
|
109
110
|
info.system = path.systemName;
|
|
110
111
|
info.path = path.codes;
|
|
112
|
+
// A dangling link, an unreadable entity, or an unexpected
|
|
113
|
+
// type broke the walk before it reached an IfcClassification
|
|
114
|
+
// root (#5290) — distinct from a `ReferencedSource` that was
|
|
115
|
+
// never there to begin with, which `path.chainUnresolved`
|
|
116
|
+
// leaves `false` (see the function doc). `info.system` stays
|
|
117
|
+
// `undefined` either way, so without this flag
|
|
118
|
+
// `resolveClassifications` cannot tell "chain could not be
|
|
119
|
+
// resolved" from "chain resolved to no system", and flattens
|
|
120
|
+
// both to a confident empty system (`c.system || ''`) — a
|
|
121
|
+
// definite mismatch, not the unresolved-chain result this
|
|
122
|
+
// marks it for.
|
|
123
|
+
if (path.chainUnresolved)
|
|
124
|
+
info.unresolved = true;
|
|
111
125
|
}
|
|
112
126
|
results.push(info);
|
|
113
127
|
}
|
|
@@ -139,6 +153,7 @@ export function extractClassificationsOnDemand(store, entityId) {
|
|
|
139
153
|
* a national system) — this returns all of them, sorted alphabetically.
|
|
140
154
|
*/
|
|
141
155
|
export function extractClassificationSystemsOnDemand(store) {
|
|
156
|
+
// @raw-entity-enumeration-ok this parser API enumerates systems in the parsed source; live viewer sessions use effectiveClassificationSystems
|
|
142
157
|
const ids = store.entityIndex.byType.get('IFCCLASSIFICATION');
|
|
143
158
|
if (!ids || ids.length === 0)
|
|
144
159
|
return { names: [], unresolved: false };
|
|
@@ -152,6 +167,7 @@ export function extractClassificationSystemsOnDemand(store) {
|
|
|
152
167
|
const extractor = new EntityExtractor(store.source);
|
|
153
168
|
const names = new Set();
|
|
154
169
|
for (const id of ids) {
|
|
170
|
+
// @raw-entity-enumeration-ok each source classification id needs its STEP byte span to decode Name
|
|
155
171
|
const ref = store.entityIndex.byId.get(id);
|
|
156
172
|
if (!ref)
|
|
157
173
|
continue;
|
|
@@ -167,25 +183,42 @@ export function extractClassificationSystemsOnDemand(store) {
|
|
|
167
183
|
}
|
|
168
184
|
/**
|
|
169
185
|
* Walk up the IfcClassificationReference chain to find the root IfcClassification system.
|
|
186
|
+
*
|
|
187
|
+
* `chainUnresolved` (#5290) is `true` when the walk stopped WITHOUT ever
|
|
188
|
+
* reaching an `IfcClassification` root and WITHOUT the chain legitimately
|
|
189
|
+
* ending on its own terms — a dangling `ReferencedSource` (the id does not
|
|
190
|
+
* resolve in `entityIndex`), an entity whose bytes cannot be extracted, an
|
|
191
|
+
* entity of a type that is neither `IfcClassification` nor
|
|
192
|
+
* `IfcClassificationReference`, or a cycle back to an id already visited.
|
|
193
|
+
* Every one of those means "this data cannot say whether a system exists",
|
|
194
|
+
* not "there is no system" — the caller (`extractClassificationsOnDemand`)
|
|
195
|
+
* needs to tell that apart from a chain that simply ran out of links
|
|
196
|
+
* (`ReferencedSource` omitted, `$`, which IS schema-legal and leaves
|
|
197
|
+
* `chainUnresolved: false`): the two are otherwise byte-identical, both
|
|
198
|
+
* returning `systemName: undefined`.
|
|
170
199
|
*/
|
|
171
200
|
function walkClassificationChain(store, extractor, startId) {
|
|
172
201
|
const codes = [];
|
|
173
202
|
let currentId = startId;
|
|
174
203
|
const visited = new Set();
|
|
175
|
-
while (currentId !== undefined
|
|
204
|
+
while (currentId !== undefined) {
|
|
205
|
+
if (visited.has(currentId)) {
|
|
206
|
+
return { codes, chainUnresolved: true };
|
|
207
|
+
}
|
|
176
208
|
visited.add(currentId);
|
|
209
|
+
// @raw-entity-enumeration-ok chain cursor follows source ReferencedSource links and decodes each STEP record
|
|
177
210
|
const ref = store.entityIndex.byId.get(currentId);
|
|
178
211
|
if (!ref)
|
|
179
|
-
|
|
212
|
+
return { codes, chainUnresolved: true };
|
|
180
213
|
const entity = extractor.extractEntity(ref);
|
|
181
214
|
if (!entity)
|
|
182
|
-
|
|
215
|
+
return { codes, chainUnresolved: true };
|
|
183
216
|
const typeUpper = entity.type.toUpperCase();
|
|
184
217
|
const attrs = entity.attributes || [];
|
|
185
218
|
if (typeUpper === 'IFCCLASSIFICATION') {
|
|
186
219
|
// Root: IfcClassification [Source, Edition, EditionDate, Name, ...]
|
|
187
220
|
const systemName = typeof attrs[3] === 'string' ? attrs[3] : undefined;
|
|
188
|
-
return { systemName, codes };
|
|
221
|
+
return { systemName, codes, chainUnresolved: false };
|
|
189
222
|
}
|
|
190
223
|
if (typeUpper === 'IFCCLASSIFICATIONREFERENCE') {
|
|
191
224
|
// IfcClassificationReference [Location, Identification, Name, ReferencedSource, ...]
|
|
@@ -196,9 +229,12 @@ function walkClassificationChain(store, extractor, startId) {
|
|
|
196
229
|
currentId = typeof attrs[3] === 'number' ? attrs[3] : undefined;
|
|
197
230
|
}
|
|
198
231
|
else {
|
|
199
|
-
|
|
232
|
+
return { codes, chainUnresolved: true };
|
|
200
233
|
}
|
|
201
234
|
}
|
|
202
|
-
|
|
235
|
+
// `currentId` became `undefined`: `ReferencedSource` was omitted (`$`).
|
|
236
|
+
// Schema-legal, not malformed — an `IfcClassificationReference` is
|
|
237
|
+
// allowed to not name a system.
|
|
238
|
+
return { codes, chainUnresolved: false };
|
|
203
239
|
}
|
|
204
240
|
//# sourceMappingURL=classification-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classification-resolver.js","sourceRoot":"","sources":["../src/classification-resolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"classification-resolver.js","sourceRoot":"","sources":["../src/classification-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,6 @@ export declare function readRefList(buffer: Uint8Array, pos: number, end: number
|
|
|
69
69
|
*/
|
|
70
70
|
export declare function batchExtractGlobalIdAndName(buffer: Uint8Array, refs: EntityRef[], yieldIfNeeded?: () => Promise<void>): Promise<Map<number, {
|
|
71
71
|
globalId: string;
|
|
72
|
-
name: string;
|
|
72
|
+
name: string | undefined;
|
|
73
73
|
}>>;
|
|
74
74
|
//# sourceMappingURL=columnar-parser-attributes.d.ts.map
|
|
@@ -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;AAgB5C;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,OAAO,CAWT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyBhG;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,GAAG,SAAS,CAAA;CAAE,CAAC,CAAC,CA+GtE"}
|
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
import { decodeIfcString } from '@ifc-lite/encoding';
|
|
5
5
|
import { isIndexableExpressId } from './express-id.js';
|
|
6
6
|
import { opensComment, skipComment, skipTrivia } from './step-lexing.js';
|
|
7
|
+
import { EntityExtractor } from './entity-extractor.js';
|
|
8
|
+
/** Does `ref`'s byte range contain a `/*` comment opener? Cheap linear scan,
|
|
9
|
+
* only run on a record `findQuotedAttrRange` already failed to read. */
|
|
10
|
+
function hasCommentOpener(buffer, ref) {
|
|
11
|
+
const end = ref.byteOffset + ref.byteLength - 1;
|
|
12
|
+
for (let p = ref.byteOffset; p < end; p++) {
|
|
13
|
+
if (buffer[p] === 0x2f && buffer[p + 1] === 0x2a)
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
7
18
|
/**
|
|
8
19
|
* Find the byte range of a quoted string at a specific attribute position in STEP entity bytes.
|
|
9
20
|
* Returns [start, end) byte offsets (excluding quotes), or null if not found.
|
|
@@ -249,6 +260,13 @@ export async function batchExtractGlobalIdAndName(buffer, refs, yieldIfNeeded) {
|
|
|
249
260
|
// Phase 1: Scan byte ranges for GlobalId and Name positions (no string allocation)
|
|
250
261
|
const gidRanges = []; // [start, end) for each entity
|
|
251
262
|
const nameRanges = [];
|
|
263
|
+
// `null` ($) vs `[start, start]` ('') both concatenate to zero bytes
|
|
264
|
+
// below, so capture the distinction here before it's lost (#4930).
|
|
265
|
+
const nameFound = [];
|
|
266
|
+
// `findQuotedAttrRange` has no `/* … */` trivia skip (pre-existing, both
|
|
267
|
+
// attrs), so a comment before GlobalId/Name is a false miss here — flag
|
|
268
|
+
// it for the slow-path re-parse below rather than trusting `null`.
|
|
269
|
+
const commentSuspect = [];
|
|
252
270
|
const validIndices = []; // indices into refs for entities with valid ranges
|
|
253
271
|
for (let i = 0; i < refs.length; i++) {
|
|
254
272
|
if (yieldIfNeeded && (i & (CHUNK_SIZE - 1)) === 0) {
|
|
@@ -259,6 +277,8 @@ export async function batchExtractGlobalIdAndName(buffer, refs, yieldIfNeeded) {
|
|
|
259
277
|
const nameRange = findQuotedAttrRange(buffer, ref.byteOffset, ref.byteLength, 2);
|
|
260
278
|
gidRanges.push(gidRange ?? [0, 0]);
|
|
261
279
|
nameRanges.push(nameRange ?? [0, 0]);
|
|
280
|
+
nameFound.push(nameRange !== null);
|
|
281
|
+
commentSuspect.push((gidRange === null || nameRange === null) && hasCommentOpener(buffer, ref));
|
|
262
282
|
validIndices.push(i);
|
|
263
283
|
}
|
|
264
284
|
// Phase 2: Concatenate all GlobalId bytes into one buffer, decode once
|
|
@@ -314,7 +334,22 @@ export async function batchExtractGlobalIdAndName(buffer, refs, yieldIfNeeded) {
|
|
|
314
334
|
// name like `John''s Wall` would render with the literal doubled quote.
|
|
315
335
|
result.set(ref.expressId, {
|
|
316
336
|
globalId: gids[i] || '',
|
|
317
|
-
name:
|
|
337
|
+
name: nameFound[i]
|
|
338
|
+
? (rawName ? decodeIfcString(rawName.replace(/''/g, "'")) : '')
|
|
339
|
+
: undefined,
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
// Phase 5: re-parse the (rare) comment-blind misses with the real
|
|
343
|
+
// tokenizer instead of trusting the fast path's false "absent".
|
|
344
|
+
let fallback;
|
|
345
|
+
for (let i = 0; i < validIndices.length; i++) {
|
|
346
|
+
if (!commentSuspect[i])
|
|
347
|
+
continue;
|
|
348
|
+
const ref = refs[validIndices[i]];
|
|
349
|
+
const attrs = (fallback ??= new EntityExtractor(buffer)).extractEntity(ref)?.attributes ?? [];
|
|
350
|
+
result.set(ref.expressId, {
|
|
351
|
+
globalId: typeof attrs[0] === 'string' ? attrs[0] : '',
|
|
352
|
+
name: typeof attrs[2] === 'string' ? attrs[2] : undefined,
|
|
318
353
|
});
|
|
319
354
|
}
|
|
320
355
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-attributes.ts"],"names":[],"mappings":"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"}
|
|
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;AAGxB,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;
|
|
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;AAGxB,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;AAMH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAgFzD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAGnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS1D,CAAC;AAGF,eAAO,MAAM,aAAa,aAOxB,CAAC;AAGH,eAAO,MAAM,kBAAkB,aAE7B,CAAC;AAGH,eAAO,MAAM,qBAAqB,aAGhC,CAAC;AAkBH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAEnD,CAAC;AAGF,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"}
|
|
@@ -27,7 +27,9 @@ export const GEOMETRY_TYPES = new Set([
|
|
|
27
27
|
'IFCSITE', 'IFCBUILDING', 'IFCBUILDINGSTOREY', 'IFCCOVERING',
|
|
28
28
|
]);
|
|
29
29
|
// Map IFC relationship type strings to RelationshipType enum
|
|
30
|
-
//
|
|
30
|
+
// Every schema-resolvable concrete IfcRelationship class has an exact bucket.
|
|
31
|
+
// The schema-union completeness test below this module's callers prevents a
|
|
32
|
+
// newly generated class from silently falling through (#4205).
|
|
31
33
|
export const REL_TYPE_MAP = {
|
|
32
34
|
'IFCRELCONTAINEDINSPATIALSTRUCTURE': RelationshipType.ContainsElements,
|
|
33
35
|
'IFCRELAGGREGATES': RelationshipType.Aggregates,
|
|
@@ -41,16 +43,33 @@ export const REL_TYPE_MAP = {
|
|
|
41
43
|
'IFCRELNESTS': RelationshipType.Aggregates,
|
|
42
44
|
'IFCRELDEFINESBYPROPERTIES': RelationshipType.DefinesByProperties,
|
|
43
45
|
'IFCRELDEFINESBYTYPE': RelationshipType.DefinesByType,
|
|
46
|
+
'IFCRELDEFINESBYOBJECT': RelationshipType.DefinesByObject,
|
|
47
|
+
'IFCRELDEFINESBYTEMPLATE': RelationshipType.DefinesByTemplate,
|
|
48
|
+
'IFCRELOVERRIDESPROPERTIES': RelationshipType.OverridesProperties,
|
|
44
49
|
'IFCRELASSOCIATESMATERIAL': RelationshipType.AssociatesMaterial,
|
|
45
50
|
'IFCRELASSOCIATESCLASSIFICATION': RelationshipType.AssociatesClassification,
|
|
46
51
|
'IFCRELASSOCIATESDOCUMENT': RelationshipType.AssociatesDocument,
|
|
52
|
+
'IFCRELASSOCIATESAPPLIEDVALUE': RelationshipType.AssociatesAppliedValue,
|
|
53
|
+
'IFCRELASSOCIATESPROFILEDEF': RelationshipType.AssociatesProfileDef,
|
|
54
|
+
'IFCRELASSOCIATESPROFILEPROPERTIES': RelationshipType.AssociatesProfileProperties,
|
|
47
55
|
'IFCRELVOIDSELEMENT': RelationshipType.VoidsElement,
|
|
48
56
|
'IFCRELFILLSELEMENT': RelationshipType.FillsElement,
|
|
49
57
|
'IFCRELCONNECTSPATHELEMENTS': RelationshipType.ConnectsPathElements,
|
|
50
58
|
'IFCRELCONNECTSELEMENTS': RelationshipType.ConnectsElements,
|
|
51
59
|
'IFCRELCONNECTSPORTTOELEMENT': RelationshipType.ConnectsPortToElement,
|
|
52
60
|
'IFCRELCONNECTSPORTS': RelationshipType.ConnectsPorts,
|
|
61
|
+
'IFCRELCONNECTSSTRUCTURALACTIVITY': RelationshipType.ConnectsStructuralActivity,
|
|
62
|
+
'IFCRELCONNECTSSTRUCTURALMEMBER': RelationshipType.ConnectsStructuralMember,
|
|
63
|
+
'IFCRELCONNECTSWITHECCENTRICITY': RelationshipType.ConnectsWithEccentricity,
|
|
64
|
+
'IFCRELCONNECTSWITHREALIZINGELEMENTS': RelationshipType.ConnectsWithRealizingElements,
|
|
65
|
+
// IfcRelConnectsStructuralElement exists only in IFC2X3. Its distinct
|
|
66
|
+
// structural-member endpoint and relationship identity must not be
|
|
67
|
+
// folded into IfcRelConnectsStructuralMember.
|
|
68
|
+
'IFCRELCONNECTSSTRUCTURALELEMENT': RelationshipType.ConnectsStructuralElement,
|
|
53
69
|
'IFCRELSPACEBOUNDARY': RelationshipType.SpaceBoundary,
|
|
70
|
+
'IFCRELSPACEBOUNDARY1STLEVEL': RelationshipType.SpaceBoundary1stLevel,
|
|
71
|
+
'IFCRELSPACEBOUNDARY2NDLEVEL': RelationshipType.SpaceBoundary2ndLevel,
|
|
72
|
+
'IFCRELINTERACTIONREQUIREMENTS': RelationshipType.InteractionRequirements,
|
|
54
73
|
'IFCRELASSIGNSTOGROUP': RelationshipType.AssignsToGroup,
|
|
55
74
|
// Subtype of IfcRelAssignsToGroup (adds a Factor); same RelatingGroup /
|
|
56
75
|
// RelatedObjects membership semantics, so it shares this PRIMARY edge
|
|
@@ -61,7 +80,11 @@ export const REL_TYPE_MAP = {
|
|
|
61
80
|
// Factor value up on the relationship entity itself (#4205).
|
|
62
81
|
'IFCRELASSIGNSTOGROUPBYFACTOR': RelationshipType.AssignsToGroup,
|
|
63
82
|
'IFCRELASSIGNSTOPRODUCT': RelationshipType.AssignsToProduct,
|
|
83
|
+
'IFCRELASSIGNSTASKS': RelationshipType.AssignsTasks,
|
|
84
|
+
'IFCRELASSIGNSTOPROJECTORDER': RelationshipType.AssignsToProjectOrder,
|
|
85
|
+
'IFCRELSCHEDULESCOSTITEMS': RelationshipType.SchedulesCostItems,
|
|
64
86
|
'IFCRELREFERENCEDINSPATIALSTRUCTURE': RelationshipType.ReferencedInSpatialStructure,
|
|
87
|
+
'IFCRELOCCUPIESSPACES': RelationshipType.OccupiesSpaces,
|
|
65
88
|
// Previously not indexed at all (#4205) — each gets its own dedicated
|
|
66
89
|
// edge type since no existing consumer folded it into a broader bucket
|
|
67
90
|
// to preserve; the slot positions come from `getRelationshipSlotPlan`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnar-parser-indexes.js","sourceRoot":"","sources":["../src/columnar-parser-indexes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
1
2
|
/**
|
|
2
3
|
* Extract relatingObject and relatedObjects from a relationship entity using
|
|
3
4
|
* byte-level scanning. No TextDecoder needed — only extracts numeric entity
|
|
@@ -11,7 +12,7 @@
|
|
|
11
12
|
* only documents which shape a class uses, it does not gate how the value is
|
|
12
13
|
* read.
|
|
13
14
|
*/
|
|
14
|
-
export declare function extractRelFast(buffer: Uint8Array, byteOffset: number, byteLength: number, typeUpper: string): {
|
|
15
|
+
export declare function extractRelFast(buffer: Uint8Array, byteOffset: number, byteLength: number, typeUpper: string, schemaVersion?: IfcDataStore['schemaVersion']): {
|
|
15
16
|
relatingObject: number;
|
|
16
17
|
relatedObjects: number[];
|
|
17
18
|
} | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-relationships.d.ts","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"columnar-parser-relationships.d.ts","sourceRoot":"","sources":["../src/columnar-parser-relationships.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAC9C;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA0C7D;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"}
|
|
@@ -22,8 +22,8 @@ import { getRelationshipSlotPlan } from './relationship-schema-slots.js';
|
|
|
22
22
|
* only documents which shape a class uses, it does not gate how the value is
|
|
23
23
|
* read.
|
|
24
24
|
*/
|
|
25
|
-
export function extractRelFast(buffer, byteOffset, byteLength, typeUpper) {
|
|
26
|
-
const plan = getRelationshipSlotPlan(typeUpper);
|
|
25
|
+
export function extractRelFast(buffer, byteOffset, byteLength, typeUpper, schemaVersion) {
|
|
26
|
+
const plan = getRelationshipSlotPlan(typeUpper, schemaVersion);
|
|
27
27
|
if (!plan)
|
|
28
28
|
return null;
|
|
29
29
|
const end = byteOffset + byteLength;
|