@ifc-lite/export 3.0.0 → 3.1.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 +34 -0
- package/dist/anonymize-export.d.ts +60 -0
- package/dist/anonymize-export.d.ts.map +1 -0
- package/dist/anonymize-export.js +117 -0
- package/dist/anonymize-export.js.map +1 -0
- package/dist/anonymize-placement.d.ts +71 -0
- package/dist/anonymize-placement.d.ts.map +1 -0
- package/dist/anonymize-placement.js +266 -0
- package/dist/anonymize-placement.js.map +1 -0
- package/dist/anonymize-scrub.d.ts +64 -0
- package/dist/anonymize-scrub.d.ts.map +1 -0
- package/dist/anonymize-scrub.js +312 -0
- package/dist/anonymize-scrub.js.map +1 -0
- package/dist/anonymize-types.d.ts +212 -0
- package/dist/anonymize-types.d.ts.map +1 -0
- package/dist/anonymize-types.js +5 -0
- package/dist/anonymize-types.js.map +1 -0
- package/dist/declared-property-type.d.ts +19 -8
- package/dist/declared-property-type.d.ts.map +1 -1
- package/dist/declared-property-type.js +31 -9
- package/dist/declared-property-type.js.map +1 -1
- package/dist/entity-type-sets.d.ts +47 -0
- package/dist/entity-type-sets.d.ts.map +1 -0
- package/dist/entity-type-sets.js +91 -0
- package/dist/entity-type-sets.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/merged-exporter.d.ts +19 -0
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +1 -1
- package/dist/merged-exporter.js.map +1 -1
- package/dist/parquet-exporter.d.ts +1 -3
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +11 -10
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/property-value-serialization.d.ts +54 -0
- package/dist/property-value-serialization.d.ts.map +1 -0
- package/dist/property-value-serialization.js +134 -0
- package/dist/property-value-serialization.js.map +1 -0
- package/dist/reference-collector.d.ts +47 -0
- package/dist/reference-collector.d.ts.map +1 -1
- package/dist/reference-collector.js +88 -156
- package/dist/reference-collector.js.map +1 -1
- package/dist/related-entities.d.ts +10 -0
- package/dist/related-entities.d.ts.map +1 -0
- package/dist/related-entities.js +259 -0
- package/dist/related-entities.js.map +1 -0
- package/dist/schema-converter.d.ts.map +1 -1
- package/dist/schema-converter.js +46 -96
- package/dist/schema-converter.js.map +1 -1
- package/dist/source-ref-bounds.d.ts +3 -3
- package/dist/source-ref-bounds.js +3 -3
- package/dist/step-attribute-mutations.d.ts +0 -42
- package/dist/step-attribute-mutations.d.ts.map +1 -1
- package/dist/step-attribute-mutations.js +17 -147
- package/dist/step-attribute-mutations.js.map +1 -1
- package/dist/step-attribute-serializers.d.ts +41 -0
- package/dist/step-attribute-serializers.d.ts.map +1 -0
- package/dist/step-attribute-serializers.js +74 -0
- package/dist/step-attribute-serializers.js.map +1 -0
- package/dist/step-collection.d.ts +2 -2
- package/dist/step-collection.d.ts.map +1 -1
- package/dist/step-collection.js +38 -8
- package/dist/step-collection.js.map +1 -1
- package/dist/step-export-contexts.d.ts +5 -7
- package/dist/step-export-contexts.d.ts.map +1 -1
- package/dist/step-export-contexts.js +6 -7
- package/dist/step-export-contexts.js.map +1 -1
- package/dist/step-export-types.d.ts +27 -0
- package/dist/step-export-types.d.ts.map +1 -1
- package/dist/step-export-types.js.map +1 -1
- package/dist/step-exporter.d.ts +3 -3
- package/dist/step-exporter.js +4 -4
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-geometry-types.d.ts +1 -17
- package/dist/step-geometry-types.d.ts.map +1 -1
- package/dist/step-geometry-types.js +51 -35
- package/dist/step-geometry-types.js.map +1 -1
- package/dist/step-georeferencing.d.ts +0 -10
- package/dist/step-georeferencing.d.ts.map +1 -1
- package/dist/step-georeferencing.js +46 -94
- package/dist/step-georeferencing.js.map +1 -1
- package/dist/step-header.d.ts +11 -1
- package/dist/step-header.d.ts.map +1 -1
- package/dist/step-header.js +2 -9
- package/dist/step-header.js.map +1 -1
- package/dist/step-map-unit.d.ts +90 -0
- package/dist/step-map-unit.d.ts.map +1 -0
- package/dist/step-map-unit.js +277 -0
- package/dist/step-map-unit.js.map +1 -0
- package/dist/step-overlay-attribute-overrides.d.ts +32 -0
- package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
- package/dist/step-overlay-attribute-overrides.js +83 -0
- package/dist/step-overlay-attribute-overrides.js.map +1 -0
- package/dist/step-overlay-entities.d.ts +3 -3
- package/dist/step-pass-builder.d.ts +4 -3
- package/dist/step-pass-builder.d.ts.map +1 -1
- package/dist/step-pass-builder.js.map +1 -1
- package/dist/step-property-set-collection.d.ts +24 -0
- package/dist/step-property-set-collection.d.ts.map +1 -0
- package/dist/step-property-set-collection.js +286 -0
- package/dist/step-property-set-collection.js.map +1 -0
- package/dist/step-property-set-generators.d.ts +20 -0
- package/dist/step-property-set-generators.d.ts.map +1 -0
- package/dist/step-property-set-generators.js +98 -0
- package/dist/step-property-set-generators.js.map +1 -0
- package/dist/step-property-set-index.d.ts +25 -0
- package/dist/step-property-set-index.d.ts.map +1 -0
- package/dist/step-property-set-index.js +69 -0
- package/dist/step-property-set-index.js.map +1 -0
- package/dist/step-property-set-readers.d.ts +158 -0
- package/dist/step-property-set-readers.d.ts.map +1 -0
- package/dist/step-property-set-readers.js +251 -0
- package/dist/step-property-set-readers.js.map +1 -0
- package/dist/step-property-sets.d.ts +2 -186
- package/dist/step-property-sets.d.ts.map +1 -1
- package/dist/step-property-sets.js +22 -674
- package/dist/step-property-sets.js.map +1 -1
- package/dist/step-serialization.d.ts +17 -51
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +19 -128
- package/dist/step-serialization.js.map +1 -1
- package/dist/step-source-iteration.d.ts +7 -5
- package/dist/step-source-iteration.d.ts.map +1 -1
- package/dist/step-source-iteration.js +3 -3
- package/dist/step-source-iteration.js.map +1 -1
- package/dist/subset-entity-reader.d.ts +103 -0
- package/dist/subset-entity-reader.d.ts.map +1 -0
- package/dist/subset-entity-reader.js +102 -0
- package/dist/subset-entity-reader.js.map +1 -0
- package/dist/subset-roots.d.ts +58 -0
- package/dist/subset-roots.d.ts.map +1 -0
- package/dist/subset-roots.js +103 -0
- package/dist/subset-roots.js.map +1 -0
- package/package.json +7 -7
package/dist/parquet-exporter.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
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
|
-
import { IfcTypeEnum, EntityFlags, PropertyValueType, QuantityType, RelationshipType, IFC_ENTITY_NAMES } from '@ifc-lite/data';
|
|
4
|
+
import { IfcTypeEnum, EntityFlags, PropertyValueType, QuantityType, RelationshipType, IFC_ENTITY_NAMES, exactTypeName } from '@ifc-lite/data';
|
|
5
5
|
import { getEffectiveEntityIndex } from './effective-index.js';
|
|
6
6
|
import { columnsToParquet } from './columns-to-parquet.js';
|
|
7
7
|
/**
|
|
@@ -117,20 +117,20 @@ export class ParquetExporter {
|
|
|
117
117
|
// retyped-then-exported row no longer disagrees with those two
|
|
118
118
|
// exporters.
|
|
119
119
|
//
|
|
120
|
-
// The unretyped name comes from `
|
|
121
|
-
//
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
//
|
|
126
|
-
//
|
|
127
|
-
//
|
|
120
|
+
// The unretyped name comes from `exactTypeName`, not `getTypeName`
|
|
121
|
+
// and not from re-deriving PascalCase out of `typeEnum` through
|
|
122
|
+
// IFC_ENTITY_NAMES (lossy; already went stale once, #2319).
|
|
123
|
+
// `getTypeName` resolves through `IfcTypeEnum`, which coalesces
|
|
124
|
+
// class names so the viewer's scope chips group one per family —
|
|
125
|
+
// so this column named an `IFCDOORSTANDARDCASE` line `IfcDoor`,
|
|
126
|
+
// disagreeing with StepExporter, which re-emits classes verbatim.
|
|
127
|
+
// `@ifc-lite/data`'s exact-type-name.ts lists the coalesced set.
|
|
128
128
|
//
|
|
129
129
|
// `typeOf` answers for EVERY indexed entity, not only retyped ones,
|
|
130
130
|
// so it cannot be the source for untouched rows. Override only when
|
|
131
131
|
// the overlay actually DISAGREES with the parsed class.
|
|
132
132
|
Type: expressId.map((id) => {
|
|
133
|
-
const source = entities
|
|
133
|
+
const source = exactTypeName(entities, id);
|
|
134
134
|
const effectiveType = effective?.typeOf(id);
|
|
135
135
|
if (effectiveType === undefined || effectiveType === source.toUpperCase()) {
|
|
136
136
|
return source;
|
|
@@ -528,6 +528,7 @@ export function QuantityTypeToString(type) {
|
|
|
528
528
|
[QuantityType.Count]: 'Count',
|
|
529
529
|
[QuantityType.Weight]: 'Weight',
|
|
530
530
|
[QuantityType.Time]: 'Time',
|
|
531
|
+
[QuantityType.Number]: 'Number',
|
|
531
532
|
};
|
|
532
533
|
return names[type] || 'Unknown';
|
|
533
534
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parquet-exporter.js","sourceRoot":"","sources":["../src/parquet-exporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parquet-exporter.js","sourceRoot":"","sources":["../src/parquet-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `serializePropertyValue`: the IFC property `NominalValue` token for a
|
|
3
|
+
* `PropertyValueType`. Split out of `step-serialization.ts` (#3184) — the
|
|
4
|
+
* rest of that module is generic STEP token serialization (escaping, typed
|
|
5
|
+
* markers, attribute-value inference), while this one function is the IFC
|
|
6
|
+
* property-type-name mapping table its own doc comment discusses at length
|
|
7
|
+
* (#2472, #2488).
|
|
8
|
+
*/
|
|
9
|
+
import { PropertyValueType } from '@ifc-lite/data';
|
|
10
|
+
/**
|
|
11
|
+
* Serialize a property value to STEP format (e.g. IFCLABEL, IFCREAL, etc.).
|
|
12
|
+
*
|
|
13
|
+
* The token this writes is the property's DECLARED TYPE in the exported file, so
|
|
14
|
+
* every member below has to name the IFC primitive the value was authored as —
|
|
15
|
+
* not merely one that can hold the characters. Two did not (#2472):
|
|
16
|
+
*
|
|
17
|
+
* - `Text` was written as `IFCLABEL`. `IfcLabel` is a bounded, name-like
|
|
18
|
+
* string; `IfcText` is unbounded prose. A consumer read a different type
|
|
19
|
+
* than the property was created with, and a long value exceeded what
|
|
20
|
+
* `IfcLabel` is specified to carry.
|
|
21
|
+
* - `Logical` was written as `IFCBOOLEAN` for its two definite states.
|
|
22
|
+
* `IfcBoolean` has two values; `IfcLogical` has three, and `.U.` is the
|
|
23
|
+
* reason a property is Logical rather than Boolean in the first place.
|
|
24
|
+
*
|
|
25
|
+
* Neither could be caught by a value-level round-trip: the extractor collapses
|
|
26
|
+
* every string-valued token (`IFCLABEL`, `IFCTEXT`, `IFCIDENTIFIER`) to
|
|
27
|
+
* `PropertyValueType.String` and keeps the token name only in `dataType`, so
|
|
28
|
+
* the VALUE survives export/re-import through the wrong wrapper unchanged. Only
|
|
29
|
+
* an assertion on the emitted token sees the difference — which is what
|
|
30
|
+
* `property-value-serialization.test.ts` makes.
|
|
31
|
+
*
|
|
32
|
+
* `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` is the same table for a different
|
|
33
|
+
* transport, and it already named `Text` and `Logical` correctly — so on THOSE
|
|
34
|
+
* TWO MEMBERS the two agree now. Not on the table as a whole, and this pass does
|
|
35
|
+
* not make them agree:
|
|
36
|
+
*
|
|
37
|
+
* - `String`: collab says `IfcText`, this says `IFCLABEL`. Both are guesses
|
|
38
|
+
* about a token the extractor did not keep, and they guess in opposite
|
|
39
|
+
* directions (unbounded prose vs the conservative bounded name). Changing
|
|
40
|
+
* either is a behaviour change to the OTHER transport's payload, out of
|
|
41
|
+
* #2472's scope, and it needs the argument about which guess is right made
|
|
42
|
+
* first — not a silent alignment.
|
|
43
|
+
* - `List`: collab says `IfcText`; this writes a STEP aggregate `(...)` of
|
|
44
|
+
* `IFCLABEL` items, which is not a NominalValue token at all.
|
|
45
|
+
*
|
|
46
|
+
* `Enum` was the third disagreement — collab said `IfcLabel`, this wrote a bare
|
|
47
|
+
* `.TOKEN.` — and #2488 settled it on collab's side, for the reason the case
|
|
48
|
+
* below states: the bare token is not a member of the SELECT at all.
|
|
49
|
+
*
|
|
50
|
+
* `Label`, `Identifier`, `Real`, `Integer`, `Boolean`, `Text`, `Logical`, `Enum`
|
|
51
|
+
* and `Reference` agree.
|
|
52
|
+
*/
|
|
53
|
+
export declare function serializePropertyValue(value: unknown, type: PropertyValueType): string;
|
|
54
|
+
//# sourceMappingURL=property-value-serialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-value-serialization.d.ts","sourceRoot":"","sources":["../src/property-value-serialization.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAkB,MAAM,gBAAgB,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAgFtF"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* `serializePropertyValue`: the IFC property `NominalValue` token for a
|
|
6
|
+
* `PropertyValueType`. Split out of `step-serialization.ts` (#3184) — the
|
|
7
|
+
* rest of that module is generic STEP token serialization (escaping, typed
|
|
8
|
+
* markers, attribute-value inference), while this one function is the IFC
|
|
9
|
+
* property-type-name mapping table its own doc comment discusses at length
|
|
10
|
+
* (#2472, #2488).
|
|
11
|
+
*/
|
|
12
|
+
import { PropertyValueType, formatStepReal } from '@ifc-lite/data';
|
|
13
|
+
import { escapeStepString } from './step-serialization.js';
|
|
14
|
+
/**
|
|
15
|
+
* Serialize a property value to STEP format (e.g. IFCLABEL, IFCREAL, etc.).
|
|
16
|
+
*
|
|
17
|
+
* The token this writes is the property's DECLARED TYPE in the exported file, so
|
|
18
|
+
* every member below has to name the IFC primitive the value was authored as —
|
|
19
|
+
* not merely one that can hold the characters. Two did not (#2472):
|
|
20
|
+
*
|
|
21
|
+
* - `Text` was written as `IFCLABEL`. `IfcLabel` is a bounded, name-like
|
|
22
|
+
* string; `IfcText` is unbounded prose. A consumer read a different type
|
|
23
|
+
* than the property was created with, and a long value exceeded what
|
|
24
|
+
* `IfcLabel` is specified to carry.
|
|
25
|
+
* - `Logical` was written as `IFCBOOLEAN` for its two definite states.
|
|
26
|
+
* `IfcBoolean` has two values; `IfcLogical` has three, and `.U.` is the
|
|
27
|
+
* reason a property is Logical rather than Boolean in the first place.
|
|
28
|
+
*
|
|
29
|
+
* Neither could be caught by a value-level round-trip: the extractor collapses
|
|
30
|
+
* every string-valued token (`IFCLABEL`, `IFCTEXT`, `IFCIDENTIFIER`) to
|
|
31
|
+
* `PropertyValueType.String` and keeps the token name only in `dataType`, so
|
|
32
|
+
* the VALUE survives export/re-import through the wrong wrapper unchanged. Only
|
|
33
|
+
* an assertion on the emitted token sees the difference — which is what
|
|
34
|
+
* `property-value-serialization.test.ts` makes.
|
|
35
|
+
*
|
|
36
|
+
* `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` is the same table for a different
|
|
37
|
+
* transport, and it already named `Text` and `Logical` correctly — so on THOSE
|
|
38
|
+
* TWO MEMBERS the two agree now. Not on the table as a whole, and this pass does
|
|
39
|
+
* not make them agree:
|
|
40
|
+
*
|
|
41
|
+
* - `String`: collab says `IfcText`, this says `IFCLABEL`. Both are guesses
|
|
42
|
+
* about a token the extractor did not keep, and they guess in opposite
|
|
43
|
+
* directions (unbounded prose vs the conservative bounded name). Changing
|
|
44
|
+
* either is a behaviour change to the OTHER transport's payload, out of
|
|
45
|
+
* #2472's scope, and it needs the argument about which guess is right made
|
|
46
|
+
* first — not a silent alignment.
|
|
47
|
+
* - `List`: collab says `IfcText`; this writes a STEP aggregate `(...)` of
|
|
48
|
+
* `IFCLABEL` items, which is not a NominalValue token at all.
|
|
49
|
+
*
|
|
50
|
+
* `Enum` was the third disagreement — collab said `IfcLabel`, this wrote a bare
|
|
51
|
+
* `.TOKEN.` — and #2488 settled it on collab's side, for the reason the case
|
|
52
|
+
* below states: the bare token is not a member of the SELECT at all.
|
|
53
|
+
*
|
|
54
|
+
* `Label`, `Identifier`, `Real`, `Integer`, `Boolean`, `Text`, `Logical`, `Enum`
|
|
55
|
+
* and `Reference` agree.
|
|
56
|
+
*/
|
|
57
|
+
export function serializePropertyValue(value, type) {
|
|
58
|
+
if (value === null || value === undefined) {
|
|
59
|
+
// `Logical` is the one member with a value FOR "no value": the extractor
|
|
60
|
+
// reads `.U.` / `.X.` back as a null-valued Logical, so `$` here would
|
|
61
|
+
// turn an explicit unknown into an omitted attribute on re-export.
|
|
62
|
+
if (type === PropertyValueType.Logical)
|
|
63
|
+
return `IFCLOGICAL(.U.)`;
|
|
64
|
+
return '$';
|
|
65
|
+
}
|
|
66
|
+
switch (type) {
|
|
67
|
+
// `String` is the extractor's catch-all for any string-valued token whose
|
|
68
|
+
// declared type it did not keep, so it stays the bounded `IfcLabel`: the
|
|
69
|
+
// conservative direction for an unknown short string, and what
|
|
70
|
+
// `PROPERTY_TYPE_NAMES` calls `Enum` and `Reference` too.
|
|
71
|
+
case PropertyValueType.String:
|
|
72
|
+
case PropertyValueType.Label:
|
|
73
|
+
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
74
|
+
case PropertyValueType.Text:
|
|
75
|
+
return `IFCTEXT('${escapeStepString(String(value))}')`;
|
|
76
|
+
case PropertyValueType.Identifier:
|
|
77
|
+
return `IFCIDENTIFIER('${escapeStepString(String(value))}')`;
|
|
78
|
+
case PropertyValueType.Real: {
|
|
79
|
+
const num = Number(value);
|
|
80
|
+
if (!Number.isFinite(num))
|
|
81
|
+
return '$';
|
|
82
|
+
return `IFCREAL(${formatStepReal(num)})`;
|
|
83
|
+
}
|
|
84
|
+
case PropertyValueType.Integer:
|
|
85
|
+
return `IFCINTEGER(${Math.round(Number(value))})`;
|
|
86
|
+
case PropertyValueType.Boolean:
|
|
87
|
+
if (value === true)
|
|
88
|
+
return `IFCBOOLEAN(.T.)`;
|
|
89
|
+
if (value === false)
|
|
90
|
+
return `IFCBOOLEAN(.F.)`;
|
|
91
|
+
// A Boolean whose value is neither: no `IfcBoolean` literal says that, and
|
|
92
|
+
// `.U.` is not in its domain, so the three-state primitive is the only
|
|
93
|
+
// thing that can carry it. Unchanged from before #2472 — the Logical case
|
|
94
|
+
// below is what stopped borrowing IfcBoolean's name for it.
|
|
95
|
+
return `IFCLOGICAL(.U.)`;
|
|
96
|
+
case PropertyValueType.Logical:
|
|
97
|
+
if (value === true)
|
|
98
|
+
return `IFCLOGICAL(.T.)`;
|
|
99
|
+
if (value === false)
|
|
100
|
+
return `IFCLOGICAL(.F.)`;
|
|
101
|
+
return `IFCLOGICAL(.U.)`;
|
|
102
|
+
// `NominalValue` is declared `IfcValue`, and `IfcValue` has no ENUMERATION
|
|
103
|
+
// leaf in any schema this exporter targets (IFC2X3 / IFC4 / IFC4X3 all
|
|
104
|
+
// resolve it to IfcMeasureValue | IfcSimpleValue | IfcDerivedMeasureValue).
|
|
105
|
+
// So there is no wrapper for an enumeration token and a bare `.EXTERNAL.`
|
|
106
|
+
// is not a member of the SELECT at all — this was the one branch writing an
|
|
107
|
+
// unqualified token into a slot every other branch type-qualifies (#2488).
|
|
108
|
+
// `IfcLabel` is what the value can be expressed as, and what
|
|
109
|
+
// `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` has always called this member.
|
|
110
|
+
//
|
|
111
|
+
// No `.toUpperCase()`: it existed to build an EXPRESS enumeration name,
|
|
112
|
+
// which is upper-case by construction. A label is not, and folding the case
|
|
113
|
+
// means an authored `'external'` reads back as `'EXTERNAL'`. Nothing
|
|
114
|
+
// EXTRACTS an `Enum` (the extractor collapses every string-valued token to
|
|
115
|
+
// `String`), so this branch only ever serializes a value a session authored
|
|
116
|
+
// through `setProperty(…, PropertyValueType.Enum)` — the value the caller
|
|
117
|
+
// wrote is the one to keep.
|
|
118
|
+
case PropertyValueType.Enum:
|
|
119
|
+
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
120
|
+
case PropertyValueType.List:
|
|
121
|
+
if (Array.isArray(value)) {
|
|
122
|
+
const items = value.map(v => serializePropertyValue(v, PropertyValueType.String));
|
|
123
|
+
return `(${items.join(',')})`;
|
|
124
|
+
}
|
|
125
|
+
return '$';
|
|
126
|
+
// Includes `Reference`, which no extraction path produces (an
|
|
127
|
+
// `IfcPropertyReferenceValue` comes back as a String holding `#id`) and
|
|
128
|
+
// which this function could not express anyway: an entity reference is a
|
|
129
|
+
// different property CLASS, not a different `NominalValue` token.
|
|
130
|
+
default:
|
|
131
|
+
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=property-value-serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-value-serialization.js","sourceRoot":"","sources":["../src/property-value-serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import type { IfcDataStore, IfcSourceBytes } from '@ifc-lite/parser';
|
|
26
26
|
import type { EffectiveEntityIndex } from './effective-index.js';
|
|
27
|
+
import { INFRASTRUCTURE_TYPES, PRODUCT_TYPES, collectDescendantNames } from './entity-type-sets.js';
|
|
28
|
+
export { INFRASTRUCTURE_TYPES, PRODUCT_TYPES, collectDescendantNames };
|
|
27
29
|
/**
|
|
28
30
|
* Collect the `#ID` references inside one entity's byte range (fresh array
|
|
29
31
|
* per call). Exported for consumers that need per-entity edges — e.g. the
|
|
@@ -188,6 +190,51 @@ export declare function filterHiddenRefsFromRelationshipLine(line: string, isExc
|
|
|
188
190
|
* for omitted" from `filterHiddenRefsFromRelationshipLine`'s own doc.
|
|
189
191
|
*/
|
|
190
192
|
export declare function relationshipRefsSurviveExclusion(refGroups: ReadonlyArray<number | readonly number[]>, isExcluded: (id: number) => boolean): boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Parse a source-backed relationship's decoded STEP line into the same
|
|
195
|
+
* grouped shape {@link relationshipRefsSurviveExclusion} takes, POSITION-
|
|
196
|
+
* ALIGNED with the line's top-level STEP arguments (one array entry per
|
|
197
|
+
* argument, `undefined` where that argument names no reference) — the form
|
|
198
|
+
* {@link relationshipRefGroupsFromSourceLine} needs to splice a positional or
|
|
199
|
+
* named-attribute override into the right slot.
|
|
200
|
+
*
|
|
201
|
+
* Built from the exact same primitives (`splitTopLevelArgs`, the `#(\d+)`
|
|
202
|
+
* ref pattern) `filterHiddenRefsFromRelationshipLine` uses, so the two
|
|
203
|
+
* extraction routes (this one from text, `refGroupsOf` from an authored
|
|
204
|
+
* attribute list) feed the SAME decision function identically. A line that
|
|
205
|
+
* does not parse as a single `#N=TYPE(...);` record yields no groups —
|
|
206
|
+
* nothing to exclude on, so the relationship survives, matching that
|
|
207
|
+
* function's own "return line unchanged" behavior for the same input shape.
|
|
208
|
+
*
|
|
209
|
+
* A parenthesised list holding a NON-reference item (an inline typed value
|
|
210
|
+
* alongside, or instead of, `#N` members) yields `undefined` for that slot
|
|
211
|
+
* rather than a groups-worth of only the ref members: such an item always
|
|
212
|
+
* survives `filterHiddenRefsFromRelationshipLine`'s own per-item filter (it
|
|
213
|
+
* only ever drops an `#N` item), so a list containing one can never be the
|
|
214
|
+
* reason that function withholds the whole line — treating the ref-only
|
|
215
|
+
* subset as a blocking group here would let this predicate refuse a bridge
|
|
216
|
+
* `filterHiddenRefsFromRelationshipLine` does not (CodeRabbit finding on
|
|
217
|
+
* #2637: this used to collapse a mixed list to "every remaining id
|
|
218
|
+
* excluded" and block on it).
|
|
219
|
+
*/
|
|
220
|
+
/**
|
|
221
|
+
* Classify ONE already-split top-level STEP argument token as a
|
|
222
|
+
* `relationshipRefsSurviveExclusion` group: a parenthesised SET/LIST becomes
|
|
223
|
+
* a `number[]` of the `#N` members it holds (or `undefined` when it mixes in
|
|
224
|
+
* a non-reference item — see {@link extractRelationshipRefGroupsIndexed}'s
|
|
225
|
+
* doc for why a mixed list can never be the reason a line is withheld), a
|
|
226
|
+
* bare `#N` becomes that `number`, and anything else (`$`, a literal, an
|
|
227
|
+
* enum token) becomes `undefined`.
|
|
228
|
+
*
|
|
229
|
+
* Factored out of {@link extractRelationshipRefGroupsIndexed} so a caller
|
|
230
|
+
* that already has an entity's arguments split (`subset-entity-reader.ts`'s
|
|
231
|
+
* `readEntityArgs`, used by `anonymize-export.ts` to pre-prune an
|
|
232
|
+
* unresolvable relationship ahead of the closure walk) can classify each one
|
|
233
|
+
* without re-deriving this same char-by-char grouping rule a second time —
|
|
234
|
+
* exactly the class of duplicated STEP-line parsing this module's own
|
|
235
|
+
* comments (#2637) call out as a defect source.
|
|
236
|
+
*/
|
|
237
|
+
export declare function refGroupFromArg(attr: string): number | number[] | undefined;
|
|
191
238
|
/**
|
|
192
239
|
* Compute the root entity set and hidden product IDs for a visible-only export.
|
|
193
240
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-collector.d.ts","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"reference-collector.d.ts","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"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"}
|