@ifc-lite/parser 9.1.0 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/dist/abort-error.d.ts +7 -0
- package/dist/abort-error.d.ts.map +1 -0
- package/dist/abort-error.js +17 -0
- package/dist/abort-error.js.map +1 -0
- package/dist/classification-overlay.d.ts +13 -0
- package/dist/classification-overlay.d.ts.map +1 -0
- package/dist/classification-overlay.js +65 -0
- package/dist/classification-overlay.js.map +1 -0
- package/dist/classification-resolver.d.ts +13 -9
- package/dist/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +109 -74
- 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 +16 -6
- package/dist/columnar-parser-attributes.js.map +1 -1
- package/dist/columnar-parser-root-attributes.d.ts +15 -1
- package/dist/columnar-parser-root-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-root-attributes.js +26 -11
- package/dist/columnar-parser-root-attributes.js.map +1 -1
- package/dist/columnar-parser.d.ts +13 -15
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +11 -23
- package/dist/columnar-parser.js.map +1 -1
- package/dist/current-occurrence-quantities.d.ts +13 -0
- package/dist/current-occurrence-quantities.d.ts.map +1 -0
- package/dist/current-occurrence-quantities.js +69 -0
- package/dist/current-occurrence-quantities.js.map +1 -0
- package/dist/current-project-units.d.ts +11 -0
- package/dist/current-project-units.d.ts.map +1 -0
- package/dist/current-project-units.js +41 -0
- package/dist/current-project-units.js.map +1 -0
- package/dist/current-type-quantities.d.ts +13 -0
- package/dist/current-type-quantities.d.ts.map +1 -0
- package/dist/current-type-quantities.js +274 -0
- package/dist/current-type-quantities.js.map +1 -0
- package/dist/data-store-transport.d.ts +1 -0
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +4 -4
- package/dist/data-store-transport.js.map +1 -1
- package/dist/document-resolver.d.ts +23 -0
- package/dist/document-resolver.d.ts.map +1 -0
- package/dist/document-resolver.js +122 -0
- package/dist/document-resolver.js.map +1 -0
- package/dist/effective-entity-record.d.ts +3 -2
- package/dist/effective-entity-record.d.ts.map +1 -1
- package/dist/effective-entity-record.js +5 -5
- package/dist/effective-entity-record.js.map +1 -1
- package/dist/effective-metadata-record.d.ts +23 -0
- package/dist/effective-metadata-record.d.ts.map +1 -0
- package/dist/effective-metadata-record.js +50 -0
- package/dist/effective-metadata-record.js.map +1 -0
- package/dist/effective-storey.d.ts.map +1 -1
- package/dist/effective-storey.js +5 -0
- package/dist/effective-storey.js.map +1 -1
- package/dist/entity-scanner.d.ts +6 -8
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +26 -13
- package/dist/entity-scanner.js.map +1 -1
- package/dist/georef-extractor.d.ts +1 -1
- package/dist/georef-extractor.d.ts.map +1 -1
- package/dist/georef-extractor.js +1 -1
- package/dist/georef-extractor.js.map +1 -1
- package/dist/ifc-schema.d.ts +2 -1
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +4 -3
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +9 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -12
- package/dist/index.js.map +1 -1
- package/dist/length-unit-source.d.ts +25 -0
- package/dist/length-unit-source.d.ts.map +1 -0
- package/dist/length-unit-source.js +14 -0
- package/dist/length-unit-source.js.map +1 -0
- package/dist/material-definitions.d.ts +10 -0
- package/dist/material-definitions.d.ts.map +1 -0
- package/dist/material-definitions.js +224 -0
- package/dist/material-definitions.js.map +1 -0
- package/dist/material-overlay.d.ts +38 -0
- package/dist/material-overlay.d.ts.map +1 -0
- package/dist/material-overlay.js +146 -0
- package/dist/material-overlay.js.map +1 -0
- package/dist/material-properties-extractor.d.ts +2 -11
- package/dist/material-properties-extractor.d.ts.map +1 -1
- package/dist/material-properties-extractor.js +21 -38
- package/dist/material-properties-extractor.js.map +1 -1
- package/dist/material-resolver.d.ts +6 -4
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +176 -386
- package/dist/material-resolver.js.map +1 -1
- package/dist/measure-unit-scale.d.ts +2 -0
- package/dist/measure-unit-scale.d.ts.map +1 -1
- package/dist/measure-unit-scale.js +7 -1
- package/dist/measure-unit-scale.js.map +1 -1
- package/dist/metadata-edit-value.d.ts +4 -0
- package/dist/metadata-edit-value.d.ts.map +1 -0
- package/dist/metadata-edit-value.js +57 -0
- package/dist/metadata-edit-value.js.map +1 -0
- package/dist/native-metadata-public.d.ts +9 -0
- package/dist/native-metadata-public.d.ts.map +1 -0
- package/dist/native-metadata-public.js +12 -0
- package/dist/native-metadata-public.js.map +1 -0
- package/dist/occurrence-quantity-read-error.d.ts +7 -0
- package/dist/occurrence-quantity-read-error.d.ts.map +1 -0
- package/dist/occurrence-quantity-read-error.js +13 -0
- package/dist/occurrence-quantity-read-error.js.map +1 -0
- package/dist/on-demand-extractors.d.ts +3 -38
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +4 -184
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/on-demand-georeferencing.d.ts.map +1 -1
- package/dist/on-demand-georeferencing.js +2 -0
- package/dist/on-demand-georeferencing.js.map +1 -1
- package/dist/parser-worker-trace.d.ts +18 -0
- package/dist/parser-worker-trace.d.ts.map +1 -0
- package/dist/parser-worker-trace.js +32 -0
- package/dist/parser-worker-trace.js.map +1 -0
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +34 -13
- package/dist/parser.worker.js.map +1 -1
- package/dist/project-units.d.ts +17 -4
- package/dist/project-units.d.ts.map +1 -1
- package/dist/project-units.js +104 -37
- package/dist/project-units.js.map +1 -1
- package/dist/property-complex-value.d.ts.map +1 -1
- package/dist/property-complex-value.js +1 -0
- package/dist/property-complex-value.js.map +1 -1
- package/dist/property-unit.d.ts +2 -0
- package/dist/property-unit.d.ts.map +1 -1
- package/dist/property-unit.js +4 -1
- package/dist/property-unit.js.map +1 -1
- package/dist/property-value-parser.d.ts +14 -1
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +42 -22
- package/dist/property-value-parser.js.map +1 -1
- package/dist/quantity-collect.d.ts +14 -2
- package/dist/quantity-collect.d.ts.map +1 -1
- package/dist/quantity-collect.js +19 -8
- package/dist/quantity-collect.js.map +1 -1
- package/dist/relationship-schema-slots.d.ts.map +1 -1
- package/dist/relationship-schema-slots.js +2 -1
- package/dist/relationship-schema-slots.js.map +1 -1
- package/dist/scan-worker-inline.d.ts.map +1 -1
- package/dist/scan-worker-inline.js +2 -1
- package/dist/scan-worker-inline.js.map +1 -1
- package/dist/schedule-extractor.d.ts +2 -1
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +11 -2
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-serializer-builders.d.ts +7 -0
- package/dist/schedule-serializer-builders.d.ts.map +1 -1
- package/dist/schedule-serializer-builders.js +17 -17
- package/dist/schedule-serializer-builders.js.map +1 -1
- package/dist/schedule-serializer.d.ts +8 -3
- package/dist/schedule-serializer.d.ts.map +1 -1
- package/dist/schedule-serializer.js +36 -1
- package/dist/schedule-serializer.js.map +1 -1
- package/dist/schedule-task-products.d.ts +38 -0
- package/dist/schedule-task-products.d.ts.map +1 -0
- package/dist/schedule-task-products.js +69 -0
- package/dist/schedule-task-products.js.map +1 -0
- package/dist/schedule-types.d.ts +11 -1
- package/dist/schedule-types.d.ts.map +1 -1
- package/dist/schedule-types.js.map +1 -1
- package/dist/schema-entity-name.d.ts +14 -0
- package/dist/schema-entity-name.d.ts.map +1 -0
- package/dist/schema-entity-name.js +34 -0
- package/dist/schema-entity-name.js.map +1 -0
- package/dist/schema-exports.d.ts +7 -0
- package/dist/schema-exports.d.ts.map +1 -0
- package/dist/schema-exports.js +10 -0
- package/dist/schema-exports.js.map +1 -0
- package/dist/source-project-length-unit.d.ts +53 -0
- package/dist/source-project-length-unit.d.ts.map +1 -0
- package/dist/source-project-length-unit.js +201 -0
- package/dist/source-project-length-unit.js.map +1 -0
- package/dist/structural-extractor.js +2 -2
- package/dist/structural-extractor.js.map +1 -1
- package/dist/structural-load-extractor.d.ts +9 -3
- package/dist/structural-load-extractor.d.ts.map +1 -1
- package/dist/structural-load-extractor.js +26 -20
- package/dist/structural-load-extractor.js.map +1 -1
- package/dist/structural-step-values.d.ts +0 -9
- package/dist/structural-step-values.d.ts.map +1 -1
- package/dist/structural-step-values.js +13 -1
- package/dist/structural-step-values.js.map +1 -1
- package/dist/type-own-quantity-source.d.ts +37 -0
- package/dist/type-own-quantity-source.d.ts.map +1 -0
- package/dist/type-own-quantity-source.js +204 -0
- package/dist/type-own-quantity-source.js.map +1 -0
- package/dist/unit-extractor.d.ts +14 -1
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +34 -31
- package/dist/unit-extractor.js.map +1 -1
- package/dist/worker-parser.d.ts +7 -0
- package/dist/worker-parser.d.ts.map +1 -1
- package/dist/worker-parser.js +14 -16
- package/dist/worker-parser.js.map +1 -1
- package/package.json +6 -5
package/dist/project-units.js
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
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 { EntityExtractor } from './entity-extractor.js';
|
|
5
|
+
import { getReference } from './attribute-helpers.js';
|
|
5
6
|
import { composeDerived, conversionUnitSymbol, currencySymbol, measureUnit, siUnitSymbolAndScale, } from './project-units-symbols.js';
|
|
6
7
|
import { CONVERSION_BASED_UNIT_FACTORS } from './unit-extractor.js';
|
|
7
8
|
export { measureUnit };
|
|
9
|
+
/** Expected refusal of a current native context; source-only defaults stay unchanged. */
|
|
10
|
+
export class ProjectUnitReadError extends Error {
|
|
11
|
+
}
|
|
8
12
|
// ============================================================================
|
|
9
13
|
// Unit-assignment resolution (mirror project_units/mod.rs)
|
|
10
14
|
// ============================================================================
|
|
@@ -48,16 +52,27 @@ export class ProjectUnits {
|
|
|
48
52
|
}
|
|
49
53
|
/** Resolve a single unit entity by expressId (used for the assignment loop and
|
|
50
54
|
* for per-property / per-quantity `Unit` overrides). */
|
|
51
|
-
export function resolveUnitByRef(extractor, entityIndex, ref) {
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
export function resolveUnitByRef(extractor, entityIndex, ref, readEntity) {
|
|
56
|
+
return resolveUnit(extractor, entityIndex, ref, readEntity, readEntity ? new Set() : undefined);
|
|
57
|
+
}
|
|
58
|
+
function resolveUnit(extractor, entityIndex, ref, readEntity, active) {
|
|
59
|
+
// Native current callers also count every dependency read; this path set
|
|
60
|
+
// refuses cycles immediately, before recursion consumes the read budget.
|
|
61
|
+
if (active?.has(ref))
|
|
62
|
+
return null;
|
|
63
|
+
active?.add(ref);
|
|
64
|
+
try {
|
|
65
|
+
const entry = resolveDeclaredUnit(extractor, entityIndex, ref, readEntity, active);
|
|
66
|
+
return entry?.resolved ? { ...entry, resolved: entry.resolved } : null;
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
active?.delete(ref);
|
|
70
|
+
}
|
|
54
71
|
}
|
|
55
|
-
function resolveDeclaredUnit(extractor, entityIndex, ref) {
|
|
72
|
+
function resolveDeclaredUnit(extractor, entityIndex, ref, readEntity, active) {
|
|
56
73
|
// @raw-entity-enumeration-ok resolve a declared unit from the parsed source index
|
|
57
74
|
const entRef = entityIndex.byId.get(ref);
|
|
58
|
-
|
|
59
|
-
return null;
|
|
60
|
-
const entity = extractor.extractEntity(entRef);
|
|
75
|
+
const entity = readEntity ? readEntity(ref) : entRef ? extractor.extractEntity(entRef) : null;
|
|
61
76
|
if (!entity)
|
|
62
77
|
return null;
|
|
63
78
|
const attrs = entity.attributes ?? [];
|
|
@@ -76,8 +91,10 @@ function resolveDeclaredUnit(extractor, entityIndex, ref) {
|
|
|
76
91
|
return null;
|
|
77
92
|
return { unitType, resolved: { symbol: res.symbol, siScale: res.scale }, monetary: false };
|
|
78
93
|
}
|
|
79
|
-
case 'IFCCONVERSIONBASEDUNIT':
|
|
80
|
-
|
|
94
|
+
case 'IFCCONVERSIONBASEDUNIT':
|
|
95
|
+
case 'IFCCONVERSIONBASEDUNITWITHOFFSET': {
|
|
96
|
+
// [1]=UnitType, [2]=Name, [3]=ConversionFactor, [4]=ConversionOffset
|
|
97
|
+
const withOffset = entity.type.toUpperCase() === 'IFCCONVERSIONBASEDUNITWITHOFFSET';
|
|
81
98
|
const unitType = cleanEnum(attrs[1]);
|
|
82
99
|
const name = typeof attrs[2] === 'string' ? attrs[2] : '';
|
|
83
100
|
// A factor the file does not resolve falls back to the name's known
|
|
@@ -86,9 +103,18 @@ function resolveDeclaredUnit(extractor, entityIndex, ref) {
|
|
|
86
103
|
// at 1.0 (#4690).
|
|
87
104
|
const namedFactor = unitType === 'LENGTHUNIT' ? CONVERSION_BASED_UNIT_FACTORS[name.toUpperCase()] : undefined;
|
|
88
105
|
const scale = (typeof attrs[3] === 'number'
|
|
89
|
-
? conversionFactorScale(extractor, entityIndex, attrs[3])
|
|
90
|
-
: null) ?? namedFactor;
|
|
91
|
-
const
|
|
106
|
+
? conversionFactorScale(extractor, entityIndex, attrs[3], readEntity, withOffset)
|
|
107
|
+
: null) ?? (readEntity ? undefined : namedFactor);
|
|
108
|
+
const symbol = conversionUnitSymbol(name);
|
|
109
|
+
if (!withOffset)
|
|
110
|
+
return { unitType, resolved: scale === undefined ? null : { symbol, siScale: scale }, monetary: false };
|
|
111
|
+
// The offset is the value of this unit at the SI zero (°F over kelvin:
|
|
112
|
+
// -459.67), so `si = (value - offset) * factor`; an unreadable one
|
|
113
|
+
// leaves the unit unresolved rather than converted without it.
|
|
114
|
+
const offset = attrs[4];
|
|
115
|
+
const resolved = scale === undefined || typeof offset !== 'number' || !Number.isFinite(offset)
|
|
116
|
+
? null
|
|
117
|
+
: { symbol, siScale: scale, siOffset: offset === 0 ? 0 : -offset * scale };
|
|
92
118
|
return { unitType, resolved, monetary: false };
|
|
93
119
|
}
|
|
94
120
|
case 'IFCDERIVEDUNIT': {
|
|
@@ -99,11 +125,12 @@ function resolveDeclaredUnit(extractor, entityIndex, ref) {
|
|
|
99
125
|
let scale = 1.0;
|
|
100
126
|
let incomplete = false;
|
|
101
127
|
for (const er of elemRefs) {
|
|
102
|
-
|
|
128
|
+
const elementRef = readEntity ? getReference(er) : typeof er === 'number' ? er : undefined;
|
|
129
|
+
if (elementRef === undefined) {
|
|
103
130
|
incomplete = true;
|
|
104
131
|
continue;
|
|
105
132
|
}
|
|
106
|
-
const el = resolveDerivedElement(extractor, entityIndex,
|
|
133
|
+
const el = resolveDerivedElement(extractor, entityIndex, elementRef, readEntity, active);
|
|
107
134
|
if (el) {
|
|
108
135
|
scale *= Math.pow(el.unitScale, el.exponent);
|
|
109
136
|
parts.push([el.symbol, el.exponent]);
|
|
@@ -126,12 +153,10 @@ function resolveDeclaredUnit(extractor, entityIndex, ref) {
|
|
|
126
153
|
return null;
|
|
127
154
|
}
|
|
128
155
|
}
|
|
129
|
-
function resolveDerivedElement(extractor, entityIndex, elemRef) {
|
|
156
|
+
function resolveDerivedElement(extractor, entityIndex, elemRef, readEntity, active) {
|
|
130
157
|
// @raw-entity-enumeration-ok resolve an element of a parsed derived unit
|
|
131
158
|
const ref = entityIndex.byId.get(elemRef);
|
|
132
|
-
|
|
133
|
-
return null;
|
|
134
|
-
const elem = extractor.extractEntity(ref);
|
|
159
|
+
const elem = readEntity ? readEntity(elemRef) : ref ? extractor.extractEntity(ref) : null;
|
|
135
160
|
if (!elem || elem.type.toUpperCase() !== 'IFCDERIVEDUNITELEMENT')
|
|
136
161
|
return null;
|
|
137
162
|
const attrs = elem.attributes ?? [];
|
|
@@ -139,17 +164,15 @@ function resolveDerivedElement(extractor, entityIndex, elemRef) {
|
|
|
139
164
|
if (typeof unitRef !== 'number')
|
|
140
165
|
return null;
|
|
141
166
|
const exponent = typeof attrs[1] === 'number' ? Math.trunc(attrs[1]) : 1;
|
|
142
|
-
const entry =
|
|
167
|
+
const entry = resolveUnit(extractor, entityIndex, unitRef, readEntity, active);
|
|
143
168
|
if (!entry)
|
|
144
169
|
return null;
|
|
145
170
|
return { symbol: entry.resolved.symbol, unitScale: entry.resolved.siScale, exponent };
|
|
146
171
|
}
|
|
147
|
-
function conversionFactorScale(extractor, entityIndex, measureRef) {
|
|
172
|
+
function conversionFactorScale(extractor, entityIndex, measureRef, readEntity, withOffset = false) {
|
|
148
173
|
// @raw-entity-enumeration-ok read the source measure in a conversion-based unit
|
|
149
174
|
const ref = entityIndex.byId.get(measureRef);
|
|
150
|
-
|
|
151
|
-
return null;
|
|
152
|
-
const measure = extractor.extractEntity(ref);
|
|
175
|
+
const measure = readEntity ? readEntity(measureRef) : ref ? extractor.extractEntity(ref) : null;
|
|
153
176
|
if (!measure || measure.type.toUpperCase() !== 'IFCMEASUREWITHUNIT')
|
|
154
177
|
return null;
|
|
155
178
|
const attrs = measure.attributes ?? [];
|
|
@@ -168,13 +191,16 @@ function conversionFactorScale(extractor, entityIndex, measureRef) {
|
|
|
168
191
|
const compRef = attrs[1];
|
|
169
192
|
// @raw-entity-enumeration-ok follow the source unit component reference
|
|
170
193
|
const cRef = typeof compRef === 'number' ? entityIndex.byId.get(compRef) : undefined;
|
|
171
|
-
const comp = cRef ? extractor.extractEntity(cRef) : null;
|
|
194
|
+
const comp = readEntity && typeof compRef === 'number' ? readEntity(compRef) : cRef ? extractor.extractEntity(cRef) : null;
|
|
172
195
|
if (!comp)
|
|
173
196
|
return null;
|
|
174
197
|
if (comp.type.toUpperCase() !== 'IFCSIUNIT')
|
|
175
|
-
return value;
|
|
198
|
+
return readEntity || withOffset ? null : value;
|
|
176
199
|
const cAttrs = comp.attributes ?? [];
|
|
177
200
|
const name = typeof cAttrs[3] === 'string' ? cAttrs[3] : null;
|
|
201
|
+
// An offset over a unit that has its own offset (°C) would need both.
|
|
202
|
+
if (withOffset && name?.replace(/\./g, '').toUpperCase() === 'DEGREE_CELSIUS')
|
|
203
|
+
return null;
|
|
178
204
|
const prefixAttr = cAttrs[2];
|
|
179
205
|
const prefix = typeof prefixAttr === 'string' && prefixAttr !== '$' ? prefixAttr : null;
|
|
180
206
|
const res = name ? siUnitSymbolAndScale(name, prefix) : null;
|
|
@@ -183,10 +209,21 @@ function conversionFactorScale(extractor, entityIndex, measureRef) {
|
|
|
183
209
|
/**
|
|
184
210
|
* Resolve the file's declared units from `IFCPROJECT → IFCUNITASSIGNMENT`.
|
|
185
211
|
* `projectId` defaults to the file's first IFCPROJECT (pass explicitly,
|
|
186
|
-
* from `resolveOwningIfcProjectId`, for an entity owning a later one).
|
|
187
|
-
*
|
|
212
|
+
* from `resolveOwningIfcProjectId`, for an entity owning a later one).
|
|
213
|
+
* Source-only reads never throw: an absent/malformed assignment yields an
|
|
214
|
+
* empty resolver. An optional current provider refuses unreadable native
|
|
215
|
+
* contexts with ProjectUnitReadError instead of guessing their units.
|
|
188
216
|
*/
|
|
189
|
-
export function extractProjectUnits(source, entityIndex, projectId) {
|
|
217
|
+
export function extractProjectUnits(source, entityIndex, projectId, readEntity) {
|
|
218
|
+
if (readEntity) {
|
|
219
|
+
const point = readEntity;
|
|
220
|
+
let reads = 0;
|
|
221
|
+
readEntity = id => {
|
|
222
|
+
if (++reads > 512)
|
|
223
|
+
throw new ProjectUnitReadError('Native project unit dependencies exceed the read limit');
|
|
224
|
+
return point(id);
|
|
225
|
+
};
|
|
226
|
+
}
|
|
190
227
|
const byType = new Map();
|
|
191
228
|
let monetary = null;
|
|
192
229
|
// @raw-entity-enumeration-ok project units come from the parsed IfcProject, not a live session overlay
|
|
@@ -195,31 +232,58 @@ export function extractProjectUnits(source, entityIndex, projectId) {
|
|
|
195
232
|
return new ProjectUnits(byType, monetary);
|
|
196
233
|
// @raw-entity-enumeration-ok dereference the parsed project whose unit assignment is being read
|
|
197
234
|
const projectRef = entityIndex.byId.get(resolvedId);
|
|
198
|
-
if (!projectRef)
|
|
235
|
+
if (!projectRef && !readEntity)
|
|
199
236
|
return new ProjectUnits(byType, monetary);
|
|
200
237
|
const extractor = new EntityExtractor(source);
|
|
201
|
-
const project = extractor.extractEntity(projectRef);
|
|
202
|
-
if (!project)
|
|
238
|
+
const project = readEntity ? readEntity(resolvedId) : extractor.extractEntity(projectRef);
|
|
239
|
+
if (!project || project.type.toUpperCase() !== 'IFCPROJECT') {
|
|
240
|
+
if (readEntity)
|
|
241
|
+
throw new ProjectUnitReadError('Native project unit context is unreadable');
|
|
203
242
|
return new ProjectUnits(byType, monetary);
|
|
243
|
+
}
|
|
204
244
|
// IFCPROJECT[8] = UnitsInContext (IFCUNITASSIGNMENT)
|
|
205
245
|
const unitsRef = (project.attributes ?? [])[8];
|
|
206
|
-
if (
|
|
246
|
+
if (unitsRef === null) {
|
|
247
|
+
if (readEntity)
|
|
248
|
+
throw new ProjectUnitReadError('Native project unit context is unset');
|
|
249
|
+
return new ProjectUnits(byType, monetary);
|
|
250
|
+
}
|
|
251
|
+
if (typeof unitsRef !== 'number') {
|
|
252
|
+
if (readEntity)
|
|
253
|
+
throw new ProjectUnitReadError('Native project unit assignment reference is unreadable');
|
|
207
254
|
return new ProjectUnits(byType, monetary);
|
|
255
|
+
}
|
|
208
256
|
// @raw-entity-enumeration-ok dereference the parsed IfcUnitAssignment from IfcProject
|
|
209
257
|
const assignmentRef = entityIndex.byId.get(unitsRef);
|
|
210
|
-
if (!assignmentRef)
|
|
258
|
+
if (!assignmentRef && !readEntity)
|
|
211
259
|
return new ProjectUnits(byType, monetary);
|
|
212
|
-
const assignment = extractor.extractEntity(assignmentRef);
|
|
260
|
+
const assignment = readEntity ? readEntity(unitsRef) : extractor.extractEntity(assignmentRef);
|
|
213
261
|
if (!assignment || assignment.type.toUpperCase() !== 'IFCUNITASSIGNMENT') {
|
|
262
|
+
if (readEntity)
|
|
263
|
+
throw new ProjectUnitReadError('Native project unit assignment is unreadable');
|
|
214
264
|
return new ProjectUnits(byType, monetary);
|
|
215
265
|
}
|
|
216
266
|
const unitList = (assignment.attributes ?? [])[0];
|
|
217
|
-
if (!Array.isArray(unitList))
|
|
267
|
+
if (!Array.isArray(unitList)) {
|
|
268
|
+
if (readEntity)
|
|
269
|
+
throw new ProjectUnitReadError('Native project unit assignment members are unreadable');
|
|
218
270
|
return new ProjectUnits(byType, monetary);
|
|
271
|
+
}
|
|
272
|
+
if (readEntity && (unitList.length === 0 || unitList.length > 512)) {
|
|
273
|
+
throw new ProjectUnitReadError(unitList.length === 0
|
|
274
|
+
? 'Native project unit assignment is empty' : 'Native project unit assignment exceeds the read limit');
|
|
275
|
+
}
|
|
219
276
|
for (const ref of unitList) {
|
|
220
|
-
|
|
277
|
+
const unitRef = readEntity ? getReference(ref) : typeof ref === 'number' ? ref : undefined;
|
|
278
|
+
if (unitRef === undefined) {
|
|
279
|
+
if (readEntity)
|
|
280
|
+
throw new ProjectUnitReadError('Native project unit assignment member is unreadable');
|
|
221
281
|
continue;
|
|
222
|
-
|
|
282
|
+
}
|
|
283
|
+
const entry = resolveDeclaredUnit(extractor, entityIndex, unitRef, readEntity, readEntity ? new Set() : undefined);
|
|
284
|
+
if (readEntity && (!entry?.resolved || !Number.isFinite(entry.resolved.siScale) || entry.resolved.siScale <= 0)) {
|
|
285
|
+
throw new ProjectUnitReadError('Native project unit is unresolved or unsupported');
|
|
286
|
+
}
|
|
223
287
|
if (!entry)
|
|
224
288
|
continue;
|
|
225
289
|
if (entry.monetary) {
|
|
@@ -228,6 +292,9 @@ export function extractProjectUnits(source, entityIndex, projectId) {
|
|
|
228
292
|
else if (entry.unitType && !byType.has(entry.unitType)) {
|
|
229
293
|
byType.set(entry.unitType, entry.resolved);
|
|
230
294
|
}
|
|
295
|
+
else if (readEntity && entry.unitType) {
|
|
296
|
+
throw new ProjectUnitReadError('Native project unit assignment repeats a unit type');
|
|
297
|
+
}
|
|
231
298
|
}
|
|
232
299
|
return new ProjectUnits(byType, monetary);
|
|
233
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-units.js","sourceRoot":"","sources":["../src/project-units.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-units.js","sourceRoot":"","sources":["../src/project-units.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-complex-value.d.ts","sourceRoot":"","sources":["../src/property-complex-value.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,4BAA4B,CAAC;AA2BpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,SAAS,EACrB,KAAK,SAAI,GACV,sBAAsB,
|
|
1
|
+
{"version":3,"file":"property-complex-value.d.ts","sourceRoot":"","sources":["../src/property-complex-value.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,4BAA4B,CAAC;AA2BpC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,SAAS,EACrB,KAAK,SAAI,GACV,sBAAsB,CA6DxB"}
|
|
@@ -92,6 +92,7 @@ export function resolveComplexPropertyValue(store, extractor, propEntity, depth
|
|
|
92
92
|
...nestedParsed,
|
|
93
93
|
...(unit ? { unit: unit.symbol } : {}),
|
|
94
94
|
...(unit?.siScale !== undefined ? { unitSiScale: unit.siScale } : {}),
|
|
95
|
+
...(unit?.siOffset !== undefined ? { unitSiOffset: unit.siOffset } : {}),
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
98
|
const display = nestedParsed.value != null ? String(nestedParsed.value) : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-complex-value.js","sourceRoot":"","sources":["../src/property-complex-value.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"property-complex-value.js","sourceRoot":"","sources":["../src/property-complex-value.ts"],"names":[],"mappings":"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"}
|
package/dist/property-unit.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ import type { EntityExtractor } from './entity-extractor.js';
|
|
|
16
16
|
export interface ExplicitPropertyUnit {
|
|
17
17
|
symbol: string;
|
|
18
18
|
siScale?: number;
|
|
19
|
+
/** Additive SI offset of an `IfcConversionBasedUnitWithOffset` (°F). */
|
|
20
|
+
siOffset?: number;
|
|
19
21
|
}
|
|
20
22
|
/** Resolve the optional explicit Unit attribute shared by IFC property values. */
|
|
21
23
|
export declare function resolvePropertyUnit(store: IfcDataStore, extractor: EntityExtractor, propertyType: string, attributes: unknown[],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-unit.d.ts","sourceRoot":"","sources":["../src/property-unit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"property-unit.d.ts","sourceRoot":"","sources":["../src/property-unit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,EAAE;AACrB,8GAA8G;AAC9G,QAAQ,CAAC,EAAE,MAAM,GAChB,oBAAoB,GAAG,SAAS,CAuBlC"}
|
package/dist/property-unit.js
CHANGED
|
@@ -25,6 +25,9 @@ dataType) {
|
|
|
25
25
|
|| (measure.kind === 'typed' && entry.unitType === measure.unitType)
|
|
26
26
|
|| (measure.kind === 'monetary' && entry.monetary)
|
|
27
27
|
|| measure.kind === 'dimensionless';
|
|
28
|
-
|
|
28
|
+
if (!entry || !compatible)
|
|
29
|
+
return { symbol: `#${unitRef}` };
|
|
30
|
+
const { symbol, siScale, siOffset } = entry.resolved;
|
|
31
|
+
return siOffset !== undefined ? { symbol, siScale, siOffset } : { symbol, siScale };
|
|
29
32
|
}
|
|
30
33
|
//# sourceMappingURL=property-unit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-unit.js","sourceRoot":"","sources":["../src/property-unit.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAI/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"property-unit.js","sourceRoot":"","sources":["../src/property-unit.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAI/D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAsBnE,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,SAA0B,EAC1B,YAAoB,EACpB,UAAqB;AACrB,8GAA8G;AAC9G,QAAiB;IAEjB,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,QAAQ;QACzE,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,kGAAkG;IAClG,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE;QACxC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE;KAC5F,EAAE,OAAO,CAAC,CAAC;IACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO;WAChC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;WACjE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC;WAC/C,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;IACrD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtF,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* layer consumes. Split out of on-demand-extractors.ts to stay under the
|
|
8
8
|
* module-size budget.
|
|
9
9
|
*/
|
|
10
|
-
import type { IfcEntity } from './types.js';
|
|
10
|
+
import type { IfcAttributeValue, IfcEntity } from './types.js';
|
|
11
11
|
import type { EntityExtractor } from './entity-extractor.js';
|
|
12
12
|
import type { PropertyValue } from '@ifc-lite/data';
|
|
13
13
|
import type { IfcDataStore } from './columnar-parser.js';
|
|
@@ -31,6 +31,13 @@ export interface ParsedIfcPropertyValue {
|
|
|
31
31
|
structure?: 'enumerated' | 'bounded' | 'list' | 'table' | 'reference' | 'complex';
|
|
32
32
|
/** `IfcComplexProperty` only: each nested property, by its own `Name`, decoded the same way (#5475). */
|
|
33
33
|
members?: ExtractedProperty[];
|
|
34
|
+
/**
|
|
35
|
+
* The IFC type of each entry of `values`, index for index (`undefined` for
|
|
36
|
+
* an untyped member). Set only when the members do not share one
|
|
37
|
+
* `dataType` (a table, or a list mixing types), so a consumer converting
|
|
38
|
+
* units can treat each member by its own measure (#7395).
|
|
39
|
+
*/
|
|
40
|
+
valueDataTypes?: Array<string | undefined>;
|
|
34
41
|
}
|
|
35
42
|
/** One property as the on-demand extractors return it: the parsed value
|
|
36
43
|
* plus its name and, when the file declares one, its explicit unit. */
|
|
@@ -38,7 +45,13 @@ export interface ExtractedProperty extends ParsedIfcPropertyValue {
|
|
|
38
45
|
name: string;
|
|
39
46
|
unit?: string;
|
|
40
47
|
unitSiScale?: number;
|
|
48
|
+
/** Additive SI offset of `unit` (°F), when it has one. */
|
|
49
|
+
unitSiOffset?: number;
|
|
41
50
|
}
|
|
51
|
+
/** Public mutation write markers and parsed STEP values share one decoder
|
|
52
|
+
* (#7119). Only direct slots and their list members need normalization;
|
|
53
|
+
* walking arbitrary nested file graphs would add unbounded work here. */
|
|
54
|
+
export declare function parsedWriteValue(value: IfcAttributeValue): IfcAttributeValue;
|
|
42
55
|
/**
|
|
43
56
|
* Parse a property entity's value based on its IFC type.
|
|
44
57
|
* Handles all 6 IfcProperty subtypes:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-value-parser.d.ts","sourceRoot":"","sources":["../src/property-value-parser.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"property-value-parser.d.ts","sourceRoot":"","sources":["../src/property-value-parser.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAMvC;;;sDAGsD;AACtD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAClF,wGAAwG;IACxG,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C;AAED;wEACwE;AACxE,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAmCD;;yEAEyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAM5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,GAAG,sBAAsB,CAyLhF;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIhE;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAO/F;AAED;+EAC+E;AAC/E,wBAAgB,6BAA6B,CACzC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,SAAS,GACtB,sBAAsB,CASxB"}
|
|
@@ -19,6 +19,37 @@ function sharedMemberType(members) {
|
|
|
19
19
|
}
|
|
20
20
|
return shared;
|
|
21
21
|
}
|
|
22
|
+
/** The display string and IFC type of each member, dropping null members
|
|
23
|
+
* from both together so the two arrays stay index-aligned. */
|
|
24
|
+
function memberValues(members) {
|
|
25
|
+
const values = [];
|
|
26
|
+
const types = [];
|
|
27
|
+
for (const m of members) {
|
|
28
|
+
const typed = Array.isArray(m) && m.length === 2;
|
|
29
|
+
const v = typed ? String(m[1]) : String(m);
|
|
30
|
+
if (v === 'null' || v === 'undefined')
|
|
31
|
+
continue;
|
|
32
|
+
values.push(v);
|
|
33
|
+
types.push(typed ? String(m[0]).toUpperCase() : undefined);
|
|
34
|
+
}
|
|
35
|
+
return { values, types };
|
|
36
|
+
}
|
|
37
|
+
/** `valueDataTypes` for members without a shared `dataType`, when any member is typed. */
|
|
38
|
+
function memberTypesExtra(dataType, types) {
|
|
39
|
+
return !dataType && types.some((t) => t !== undefined) ? { valueDataTypes: types } : {};
|
|
40
|
+
}
|
|
41
|
+
/** Public mutation write markers and parsed STEP values share one decoder
|
|
42
|
+
* (#7119). Only direct slots and their list members need normalization;
|
|
43
|
+
* walking arbitrary nested file graphs would add unbounded work here. */
|
|
44
|
+
export function parsedWriteValue(value) {
|
|
45
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
46
|
+
if ('typed' in value)
|
|
47
|
+
return [value.typed.type, value.typed.value];
|
|
48
|
+
if ('real' in value)
|
|
49
|
+
return value.real;
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
22
53
|
/**
|
|
23
54
|
* Parse a property entity's value based on its IFC type.
|
|
24
55
|
* Handles all 6 IfcProperty subtypes:
|
|
@@ -30,24 +61,21 @@ function sharedMemberType(members) {
|
|
|
30
61
|
* - IfcPropertyReferenceValue: `#<id>` of the reference (slot 3); `parsePropertyValueWithComplex` reads the referenced Name instead
|
|
31
62
|
*/
|
|
32
63
|
export function parsePropertyValue(propEntity) {
|
|
33
|
-
const attrs = propEntity.attributes || [];
|
|
64
|
+
const attrs = (propEntity.attributes || []).map(value => Array.isArray(value) ? value.map(parsedWriteValue) : parsedWriteValue(value));
|
|
34
65
|
const typeUpper = propEntity.type.toUpperCase();
|
|
35
66
|
switch (typeUpper) {
|
|
36
67
|
case 'IFCPROPERTYENUMERATEDVALUE': {
|
|
37
68
|
// [Name, Description, EnumerationValues (list), EnumerationReference]
|
|
38
69
|
const enumValues = attrs[2];
|
|
39
70
|
if (Array.isArray(enumValues)) {
|
|
40
|
-
const values = enumValues
|
|
41
|
-
if (Array.isArray(v) && v.length === 2)
|
|
42
|
-
return String(v[1]); // Typed value
|
|
43
|
-
return String(v);
|
|
44
|
-
}).filter(v => v !== 'null' && v !== 'undefined');
|
|
71
|
+
const { values, types } = memberValues(enumValues);
|
|
45
72
|
// Surface the raw value list separately so IDS facet
|
|
46
73
|
// checks can iterate "any matching value passes". The
|
|
47
74
|
// joined display string remains the primary `value`
|
|
48
75
|
// for visualisation/property-table consumers.
|
|
49
76
|
const dataType = sharedMemberType(enumValues);
|
|
50
|
-
return { type: 0, value: values.join(', ') || null, values, structure: 'enumerated',
|
|
77
|
+
return { type: 0, value: values.join(', ') || null, values, structure: 'enumerated',
|
|
78
|
+
...(dataType ? { dataType } : {}), ...memberTypesExtra(dataType, types) };
|
|
51
79
|
}
|
|
52
80
|
return { type: 0, value: null };
|
|
53
81
|
}
|
|
@@ -95,13 +123,10 @@ export function parsePropertyValue(propEntity) {
|
|
|
95
123
|
// [Name, Description, ListValues (list), Unit]
|
|
96
124
|
const listValues = attrs[2];
|
|
97
125
|
if (Array.isArray(listValues)) {
|
|
98
|
-
const values = listValues
|
|
99
|
-
if (Array.isArray(v) && v.length === 2)
|
|
100
|
-
return String(v[1]);
|
|
101
|
-
return String(v);
|
|
102
|
-
}).filter(v => v !== 'null' && v !== 'undefined');
|
|
126
|
+
const { values, types } = memberValues(listValues);
|
|
103
127
|
const dataType = sharedMemberType(listValues);
|
|
104
|
-
return { type: 0, value: values.join(', ') || null, values, structure: 'list',
|
|
128
|
+
return { type: 0, value: values.join(', ') || null, values, structure: 'list',
|
|
129
|
+
...(dataType ? { dataType } : {}), ...memberTypesExtra(dataType, types) };
|
|
105
130
|
}
|
|
106
131
|
return { type: 0, value: null };
|
|
107
132
|
}
|
|
@@ -114,15 +139,7 @@ export function parsePropertyValue(propEntity) {
|
|
|
114
139
|
// Surface both defining and defined values as candidate
|
|
115
140
|
// matches — IDS table-value checks pass when ANY entry
|
|
116
141
|
// matches the constraint (per upstream ifctester).
|
|
117
|
-
const
|
|
118
|
-
if (Array.isArray(v) && v.length === 2)
|
|
119
|
-
return String(v[1]);
|
|
120
|
-
return String(v);
|
|
121
|
-
};
|
|
122
|
-
const values = [
|
|
123
|
-
...definingValues.map(stringify),
|
|
124
|
-
...definedValues.map(stringify),
|
|
125
|
-
].filter(v => v !== 'null' && v !== 'undefined');
|
|
142
|
+
const { values, types } = memberValues([...definingValues, ...definedValues]);
|
|
126
143
|
// Tables mix types per column (label / length / …), so
|
|
127
144
|
// there is no single dataType. Say so explicitly: an IDS
|
|
128
145
|
// dataType check then falls through to a value match
|
|
@@ -135,6 +152,7 @@ export function parsePropertyValue(propEntity) {
|
|
|
135
152
|
values,
|
|
136
153
|
dataTypeMixed: true,
|
|
137
154
|
structure: 'table',
|
|
155
|
+
...memberTypesExtra(undefined, types),
|
|
138
156
|
};
|
|
139
157
|
}
|
|
140
158
|
return { type: 0, value: null };
|
|
@@ -250,6 +268,8 @@ export function copyParsedExtras(entry, parsed) {
|
|
|
250
268
|
entry.structure = parsed.structure;
|
|
251
269
|
if (parsed.members)
|
|
252
270
|
entry.members = parsed.members;
|
|
271
|
+
if (parsed.valueDataTypes)
|
|
272
|
+
entry.valueDataTypes = parsed.valueDataTypes;
|
|
253
273
|
}
|
|
254
274
|
/** Dispatch a pset member to {@link resolveComplexPropertyValue} for
|
|
255
275
|
* `IfcComplexProperty`, else the single-entity {@link parsePropertyValue}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-value-parser.js","sourceRoot":"","sources":["../src/property-value-parser.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAc/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,2BAA2B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"property-value-parser.js","sourceRoot":"","sources":["../src/property-value-parser.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAc/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,2BAA2B,EAAE,CAAC;AA2CvC;6CAC6C;AAC7C,SAAS,gBAAgB,CAAC,OAAkB;IACxC,IAAI,MAA0B,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,MAAM,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;+DAC+D;AAC/D,SAAS,YAAY,CAAC,OAAkB;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,WAAW;YAAE,SAAS;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,0FAA0F;AAC1F,SAAS,gBAAgB,CAAC,QAA4B,EAAE,KAAgC;IACpF,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,IAAI,OAAO,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,MAAM,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAqB;IACpD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACpD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAEhD,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,4BAA4B,CAAC,CAAC,CAAC;YAChC,sEAAsE;YACtE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBACnD,qDAAqD;gBACrD,sDAAsD;gBACtD,oDAAoD;gBACpD,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC9C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY;oBAC/E,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC7B,6EAA6E;YAC7E,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC;YAChD,IAAI,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACjC,OAAO,IAAI,KAAK,KAAK,MAAM,KAAK,GAAG,CAAC;YACxC,CAAC;YACD,yDAAyD;YACzD,wDAAwD;YACxD,2DAA2D;YAC3D,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK;gBAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC/D,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,0DAA0D;YAC1D,iDAAiD;YACjD,MAAM,aAAa,GAAG,CAAC,IAAa,EAAsB,EAAE;gBACxD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACzC,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC;YACF,MAAM,QAAQ,GACV,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO;gBACH,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,KAAK,EAAE,OAAO,IAAI,IAAI;gBACtB,SAAS,EAAE,SAAS;gBACpB,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC;QACN,CAAC;QAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC1B,+CAA+C;YAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC9C,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;oBACzE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAClF,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC3B,0DAA0D;YAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChF,wDAAwD;gBACxD,uDAAuD;gBACvD,mDAAmD;gBACnD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;gBAC9E,uDAAuD;gBACvD,yDAAyD;gBACzD,qDAAqD;gBACrD,yDAAyD;gBACzD,0DAA0D;gBAC1D,wBAAwB;gBACxB,OAAO;oBACH,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,UAAU,QAAQ,QAAQ;oBACjC,MAAM;oBACN,aAAa,EAAE,IAAI;oBACnB,SAAS,EAAE,OAAO;oBAClB,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC;iBACxC,CAAC;YACN,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;YAC/B,+DAA+D;YAC/D,gEAAgE;YAChE,iEAAiE;YACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,OAAO,QAAQ,KAAK,QAAQ;gBAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;gBAC5D,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC3D,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACN,+EAA+E;YAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAW,iBAAiB,CAAC,MAAM,CAAC;YAC5C,IAAI,KAAK,GAAkB,YAA6B,CAAC;YACzD,IAAI,QAA4B,CAAC;YAEjC,yDAAyD;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACvD,QAAQ,GAAG,QAAQ,CAAC;gBAEpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACjC,KAAK,GAAG,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAC;gBACxD,CAAC;qBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACjC,qDAAqD;oBACrD,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;wBAC/C,KAAK,GAAG,IAAI,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACJ,KAAK,GAAG,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAC;oBACxD,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACxC,sDAAsD;oBACtD,qDAAqD;oBACrD,mDAAmD;oBACnD,4CAA4C;oBAC5C,+CAA+C;oBAC/C,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;wBAC9D,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACrC,CAAC;yBAAM,IACH,QAAQ,KAAK,SAAS;wBACtB,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC5B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC5B,CAAC;wBACC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;oBAClC,CAAC;yBAAM,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;wBACtC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACJ,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;oBAClC,CAAC;oBACD,KAAK,GAAG,UAAU,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;oBAChC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC1C,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC/F,CAAC;iBAAM,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC3C,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACrC,CAAC;iBAAM,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7D,mEAAmE;gBACnE,kEAAkE;gBAClE,gEAAgE;gBAChE,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;oBACzB,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACjC,KAAK,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;oBAChC,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACjC,KAAK,GAAG,KAAK,CAAC;gBAClB,CAAC;qBAAM,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;oBAC1D,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBACjC,KAAK,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9D,CAAC;IACL,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,MAA8B;IACrF,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACtD,IAAI,MAAM,CAAC,aAAa;QAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;IACrD,IAAI,MAAM,CAAC,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACzD,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACnD,IAAI,MAAM,CAAC,cAAc;QAAE,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC5E,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,6BAA6B,CACzC,KAAmB,EACnB,SAA0B,EAC1B,UAAqB;IAErB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAChC,OAAO,2BAA2B,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACvC,OAAO,6BAA6B,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC"}
|