@ifc-lite/parser 8.0.0 → 9.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 +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-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 +7 -29
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +7 -2
- package/dist/columnar-parser.js.map +1 -1
- package/dist/cost-reader.d.ts.map +1 -1
- package/dist/cost-reader.js +1 -0
- package/dist/cost-reader.js.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/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.map +1 -1
- package/dist/exact-relationship-edges.js +1 -0
- package/dist/exact-relationship-edges.js.map +1 -1
- package/dist/identity-hints.d.ts.map +1 -1
- package/dist/identity-hints.js +1 -0
- package/dist/identity-hints.js.map +1 -1
- package/dist/ifc-schema.d.ts +7 -0
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +24 -2
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- 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 +8 -41
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +6 -0
- 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 +27 -18
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +30 -12
- 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/relationship-extractor.d.ts.map +1 -1
- package/dist/relationship-extractor.js +6 -4
- package/dist/relationship-extractor.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/source-header.d.ts.map +1 -1
- package/dist/source-header.js +18 -8
- package/dist/source-header.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 +8 -8
|
@@ -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":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAsBlD;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC1C,KAAmB,EACnB,QAAgB;IAEhB,IAAI,WAAiC,CAAC;IAEtC,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;QAClC,WAAW,GAAG,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7B,0DAA0D;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,GAAG,OAAO,CAAC;IAClD,CAAC;IAED,gEAAgE;IAChE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACpG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,aAAmC,CAAC;YACxC,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;gBAClC,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAC7G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,aAAa,GAAG,OAAO,CAAC;YACpD,CAAC;YACD,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACxB,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,2CAA2C;QAC3C,4CAA4C;QAC5C,EAAE;QACF,8DAA8D;QAC9D,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,eAAe;QACf,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChG,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACpG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC/D,IAAI,YAAY;wBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;YACD,+DAA+D;YAC/D,gEAAgE;YAChE,gEAAgE;YAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,QAAQ,CAAC;QAC7C,CAAC;QACD,iDAAiD;QACjD,uDAAuD;QACvD,iEAAiE;QACjE,+DAA+D;QAC/D,gEAAgE;QAChE,oEAAoE;QACpE,kEAAkE;QAClE,2CAA2C;QAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,GAAuB,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAEtC,IAAI,SAAS,KAAK,4BAA4B,EAAE,CAAC;YAC7C,oGAAoG;YACpG,MAAM,IAAI,GAAuB;gBAC7B,QAAQ,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7D,cAAc,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACnE,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzD,WAAW,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;YAEF,iDAAiD;YACjD,MAAM,kBAAkB,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,IAAI,kBAAkB,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;gBAC3E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"classification-resolver.js","sourceRoot":"","sources":["../src/classification-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-root-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoD,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE7I,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"columnar-parser-root-attributes.d.ts","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAoD,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE7I,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAGnG;AAED;;;;;;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,CAc1F;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,CAqG3D;AAmBD,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,SAAS,EACjB,aAAa,CAAC,EAAE,yBAAyB,GAC1C,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAkBjD;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"}
|
|
@@ -15,6 +15,7 @@ import { getAttributeNames, getAttributeNamesAcrossSchemas } from './ifc-schema.
|
|
|
15
15
|
import { getSchemaRegistryForVersion } from './generated/schema-registry-by-version.js';
|
|
16
16
|
import { SKIP_DISPLAY_ATTRS } from './columnar-parser-indexes.js';
|
|
17
17
|
export function getEntityRefFromStore(store, expressId) {
|
|
18
|
+
// @raw-entity-enumeration-ok point lookup of one source byte range; overlay-created records have no source range
|
|
18
19
|
return store.entityIndex.byId.get(expressId) ?? store.deferredEntityIndex?.get(expressId);
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
@@ -25,6 +26,7 @@ export function getEntityRefFromStore(store, expressId) {
|
|
|
25
26
|
* This is used for entities that weren't fully parsed during initial load.
|
|
26
27
|
*/
|
|
27
28
|
export function extractEntityAttributesOnDemand(store, entityId) {
|
|
29
|
+
// @raw-entity-enumeration-ok on-demand extraction needs this entity's source byte range, not a live entity enumeration
|
|
28
30
|
const ref = store.entityIndex.byId.get(entityId);
|
|
29
31
|
if (!ref) {
|
|
30
32
|
return { globalId: '', name: '', description: '', objectType: '', tag: '' };
|
|
@@ -42,6 +44,7 @@ export function extractEntityAttributesOnDemand(store, entityId) {
|
|
|
42
44
|
* Returns only string/enum attributes, skipping references and structural attributes.
|
|
43
45
|
*/
|
|
44
46
|
export function extractAllEntityAttributes(store, entityId) {
|
|
47
|
+
// @raw-entity-enumeration-ok on-demand named attributes are extracted from this one source record
|
|
45
48
|
const ref = store.entityIndex.byId.get(entityId);
|
|
46
49
|
if (!ref)
|
|
47
50
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnar-parser-root-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnar-parser-root-attributes.js","sourceRoot":"","sources":["../src/columnar-parser-root-attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
* Instead of multiple passes through entities, we extract everything in ONE loop.
|
|
6
6
|
*/
|
|
7
7
|
import type { EntityRef } from './types.js';
|
|
8
|
+
import type { ExtractedProperty } from './property-value-parser.js';
|
|
9
|
+
import { type CollectedQuantity } from './quantity-collect.js';
|
|
8
10
|
import { type ColumnarEntityInput } from './columnar-entity-preparation.js';
|
|
9
11
|
import type { DropCensus } from './drop-census.js';
|
|
10
12
|
import { StringTable, EntityTableBuilder, PropertyTableBuilder, RelationshipGraphBuilder } from '@ifc-lite/data';
|
|
11
|
-
import type { QuantityTable,
|
|
13
|
+
import type { QuantityTable, IfcStoreBase } from '@ifc-lite/data';
|
|
12
14
|
import type { EntityByIdIndex } from './columnar-parser-indexes.js';
|
|
13
15
|
import { type IfcSourceBytes } from './source-bytes.js';
|
|
14
16
|
export { extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, } from './columnar-parser-root-attributes.js';
|
|
@@ -123,15 +125,7 @@ export declare class ColumnarParser {
|
|
|
123
125
|
extractPropertiesOnDemand(store: IfcDataStore, entityId: number): Array<{
|
|
124
126
|
name: string;
|
|
125
127
|
globalId?: string;
|
|
126
|
-
properties: Array<
|
|
127
|
-
name: string;
|
|
128
|
-
type: number;
|
|
129
|
-
value: PropertyValue;
|
|
130
|
-
values?: string[];
|
|
131
|
-
dataType?: string;
|
|
132
|
-
unit?: string;
|
|
133
|
-
unitSiScale?: number;
|
|
134
|
-
}>;
|
|
128
|
+
properties: Array<ExtractedProperty>;
|
|
135
129
|
}>;
|
|
136
130
|
/**
|
|
137
131
|
* Extract quantities for a single entity ON-DEMAND
|
|
@@ -140,11 +134,7 @@ export declare class ColumnarParser {
|
|
|
140
134
|
extractQuantitiesOnDemand(store: IfcDataStore, entityId: number): Array<{
|
|
141
135
|
name: string;
|
|
142
136
|
globalId?: string;
|
|
143
|
-
quantities:
|
|
144
|
-
name: string;
|
|
145
|
-
type: number;
|
|
146
|
-
value: number;
|
|
147
|
-
}>;
|
|
137
|
+
quantities: CollectedQuantity[];
|
|
148
138
|
}>;
|
|
149
139
|
}
|
|
150
140
|
/**
|
|
@@ -154,15 +144,7 @@ export declare class ColumnarParser {
|
|
|
154
144
|
export declare function extractPropertiesOnDemand(store: IfcDataStore, entityId: number): Array<{
|
|
155
145
|
name: string;
|
|
156
146
|
globalId?: string;
|
|
157
|
-
properties: Array<
|
|
158
|
-
name: string;
|
|
159
|
-
type: number;
|
|
160
|
-
value: PropertyValue;
|
|
161
|
-
values?: string[];
|
|
162
|
-
dataType?: string;
|
|
163
|
-
unit?: string;
|
|
164
|
-
unitSiScale?: number;
|
|
165
|
-
}>;
|
|
147
|
+
properties: Array<ExtractedProperty>;
|
|
166
148
|
}>;
|
|
167
149
|
/**
|
|
168
150
|
* Standalone on-demand quantity extractor
|
|
@@ -171,11 +153,7 @@ export declare function extractPropertiesOnDemand(store: IfcDataStore, entityId:
|
|
|
171
153
|
export declare function extractQuantitiesOnDemand(store: IfcDataStore, entityId: number): Array<{
|
|
172
154
|
name: string;
|
|
173
155
|
globalId?: string;
|
|
174
|
-
quantities:
|
|
175
|
-
name: string;
|
|
176
|
-
type: number;
|
|
177
|
-
value: number;
|
|
178
|
-
}>;
|
|
156
|
+
quantities: CollectedQuantity[];
|
|
179
157
|
}>;
|
|
180
158
|
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, parsePropertyValue, extractPsetsFromIds, extractQsetsFromIds, } from './on-demand-extractors.js';
|
|
181
159
|
export { mergeInheritedPropertySets, mergeInheritedQuantitySets } from './property-set-merge.js';
|
|
@@ -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":"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"}
|
package/dist/columnar-parser.js
CHANGED
|
@@ -8,7 +8,7 @@ import { extractPsetsFromIds } from './on-demand-extractors.js';
|
|
|
8
8
|
import { readQuantitySet } from './quantity-collect.js';
|
|
9
9
|
import { prepareColumnarEntities } from './columnar-entity-preparation.js';
|
|
10
10
|
import { yieldToEventLoop } from './yield-to-event-loop.js';
|
|
11
|
-
import { StringTable, EntityTableBuilder, PropertyTableBuilder, QuantityTableBuilder, RelationshipGraphBuilder, RelationshipType, } from '@ifc-lite/data';
|
|
11
|
+
import { StringTable, EntityTableBuilder, PropertyTableBuilder, QuantityTableBuilder, RelationshipGraphBuilder, RelationshipType, createLogger, } from '@ifc-lite/data';
|
|
12
12
|
import { BufferEntitySource } from './entity-source.js';
|
|
13
13
|
import { batchExtractGlobalIdAndName, hasAttrValueAt } from './columnar-parser-attributes.js';
|
|
14
14
|
import { REL_TYPE_MAP, SECONDARY_REL_TYPE_MAP, } from './columnar-parser-indexes.js';
|
|
@@ -26,6 +26,7 @@ function addOnDemandRef(map, objId, ref) {
|
|
|
26
26
|
if (!list.includes(ref))
|
|
27
27
|
list.push(ref);
|
|
28
28
|
}
|
|
29
|
+
const parseLiteLog = createLogger('parseLite');
|
|
29
30
|
/** Internal implementation shared by public refs and parser-worker columns. */
|
|
30
31
|
export async function parseColumnarInput(buffer, input, options = {}) {
|
|
31
32
|
const startTime = performance.now();
|
|
@@ -39,7 +40,11 @@ export async function parseColumnarInput(buffer, input, options = {}) {
|
|
|
39
40
|
const logPhase = (name) => {
|
|
40
41
|
const now = performance.now();
|
|
41
42
|
const elapsed = Math.round(now - phaseStart);
|
|
42
|
-
|
|
43
|
+
// Phase timings are telemetry, not output: a consumer of the published
|
|
44
|
+
// package got 14 unconditional console lines per parse, and a CLI
|
|
45
|
+
// command emitting JSON got them interleaved into stdout. `onDiagnostic`
|
|
46
|
+
// is the structured channel; `IFC_DEBUG` is the console one.
|
|
47
|
+
parseLiteLog.debug(`${name}: ${elapsed}ms`);
|
|
43
48
|
emitDiagnostic(`${name}: ${elapsed}ms`);
|
|
44
49
|
phaseStart = now;
|
|
45
50
|
};
|