@ifc-lite/data 5.0.0 → 5.3.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/effective-entities.d.ts +112 -0
- package/dist/effective-entities.d.ts.map +1 -0
- package/dist/effective-entities.js +145 -0
- package/dist/effective-entities.js.map +1 -0
- package/dist/file-schema-identifier.d.ts +23 -0
- package/dist/file-schema-identifier.d.ts.map +1 -0
- package/dist/file-schema-identifier.js +28 -0
- package/dist/file-schema-identifier.js.map +1 -0
- package/dist/ifc-schema/entities-ifc4-express.d.ts +26 -0
- package/dist/ifc-schema/entities-ifc4-express.d.ts.map +1 -0
- package/dist/ifc-schema/entities-ifc4-express.js +9 -0
- package/dist/ifc-schema/entities-ifc4-express.js.map +1 -0
- package/dist/ifc-schema/ifc4-express-corrections.d.ts +16 -0
- package/dist/ifc-schema/ifc4-express-corrections.d.ts.map +1 -0
- package/dist/ifc-schema/ifc4-express-corrections.js +46 -0
- package/dist/ifc-schema/ifc4-express-corrections.js.map +1 -0
- package/dist/ifc-schema/index.js +2 -2
- package/dist/ifc-schema/index.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/package-version.d.ts +19 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +44 -0
- package/dist/package-version.js.map +1 -0
- package/dist/property-table.d.ts +1 -0
- package/dist/property-table.d.ts.map +1 -1
- package/dist/property-table.js.map +1 -1
- package/dist/step-numeric-literal.d.ts +21 -0
- package/dist/step-numeric-literal.d.ts.map +1 -0
- package/dist/step-numeric-literal.js +74 -0
- package/dist/step-numeric-literal.js.map +1 -0
- package/dist/step-serializers.d.ts.map +1 -1
- package/dist/step-serializers.js +7 -4
- package/dist/step-serializers.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The effective entity set of a live model session: the one enumeration
|
|
3
|
+
* algorithm (#5249, charter #5236).
|
|
4
|
+
*
|
|
5
|
+
* A parsed store's `entityIndex` answers for the file as parsed. The mutation
|
|
6
|
+
* overlay (`MutablePropertyView`) never writes back into it: a deleted entity
|
|
7
|
+
* keeps its index entry, and an entity created this session has none. So every
|
|
8
|
+
* bulk enumeration that walks `entityIndex.byType` / `entityIndex.byId` directly
|
|
9
|
+
* returns tombstoned entities and misses created ones, while the point lookups
|
|
10
|
+
* next to it (`isDeleted`, `getNewEntity`) answer correctly. The seed issues of
|
|
11
|
+
* the charter were that one defect in eight consumers, several wrong in only
|
|
12
|
+
* one direction (#5185 missed creates, #5205 kept tombstones, in one function).
|
|
13
|
+
*
|
|
14
|
+
* This generator answers both directions at once:
|
|
15
|
+
*
|
|
16
|
+
* - every source entity except tombstoned ones;
|
|
17
|
+
* - every overlay-created entity; created-then-deleted is absent;
|
|
18
|
+
* - a retyped entity carries, and is filtered by, its new class.
|
|
19
|
+
*
|
|
20
|
+
* It lives here rather than in `@ifc-lite/mutations` because `@ifc-lite/ids`
|
|
21
|
+
* and `@ifc-lite/charts` depend on `@ifc-lite/data` and deliberately not on
|
|
22
|
+
* mutations. `@ifc-lite/mutations`' `iterateEffectiveEntityIds` delegates to
|
|
23
|
+
* it, so there is one algorithm. The overlay is passed in explicitly, never
|
|
24
|
+
* looked up from global state, so a federated session cannot read one model's
|
|
25
|
+
* edits through another's store. {@link EffectiveEntityOverlay} is structural:
|
|
26
|
+
* a live `MutablePropertyView` satisfies it, and so does a structured-clone
|
|
27
|
+
* snapshot (the IDS worker re-parses the source bytes and receives the
|
|
28
|
+
* overlay as plain data).
|
|
29
|
+
*
|
|
30
|
+
* Order: source records in source-bucket order (the type buckets as indexed,
|
|
31
|
+
* or `sourceIds` as given); then source records retyped INTO a requested type
|
|
32
|
+
* they were not indexed under, in the overlay's retype order; then overlay
|
|
33
|
+
* creations in the overlay's creation order.
|
|
34
|
+
*
|
|
35
|
+
* Point lookups stay on their existing mutation-aware paths. This is for
|
|
36
|
+
* enumeration only. `packages/export/src/effective-index.ts` answers the same
|
|
37
|
+
* membership question for STEP output, with byte ranges and reference walks a
|
|
38
|
+
* query consumer does not need.
|
|
39
|
+
*/
|
|
40
|
+
/** The overlay half of a live session, as enumeration needs it. */
|
|
41
|
+
export interface EffectiveEntityOverlay {
|
|
42
|
+
/** True for a deleted source entity and for a created-then-deleted one. */
|
|
43
|
+
isDeleted(expressId: number): boolean;
|
|
44
|
+
/** Overlay-created entities, in creation order, with their authored class. */
|
|
45
|
+
getNewEntities(): ReadonlyArray<{
|
|
46
|
+
readonly expressId: number;
|
|
47
|
+
readonly type: string;
|
|
48
|
+
}>;
|
|
49
|
+
/** Retype intents by express id. Absent means the overlay carries none. */
|
|
50
|
+
getTypeMutations?(): ReadonlyMap<number, {
|
|
51
|
+
readonly newType: string;
|
|
52
|
+
}>;
|
|
53
|
+
/** Optional indexed tombstones let aggregate counts avoid a full source walk. */
|
|
54
|
+
getTombstones?(): ReadonlySet<number>;
|
|
55
|
+
/** O(1) created-entity lookup. Absent (a plain-data snapshot): membership is built from `getNewEntities`. */
|
|
56
|
+
getNewEntity?(expressId: number): {
|
|
57
|
+
readonly type: string;
|
|
58
|
+
} | null;
|
|
59
|
+
/**
|
|
60
|
+
* Created entities authored as one class, in creation order. Lets a
|
|
61
|
+
* single-class query skip the other created entities, which is what keeps
|
|
62
|
+
* per-element authoring linear (#5413). Absent: the full list is scanned.
|
|
63
|
+
*/
|
|
64
|
+
getNewEntitiesOfType?(type: string): Iterable<{
|
|
65
|
+
readonly expressId: number;
|
|
66
|
+
readonly type: string;
|
|
67
|
+
}>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Count effective classes without walking a large source bucket for a small
|
|
71
|
+
* edit set. A caller-supplied source domain is counted through the canonical
|
|
72
|
+
* iterator instead (for example IFCX, whose STEP type index is empty).
|
|
73
|
+
* Source classes with no surviving records retain a zero row.
|
|
74
|
+
*/
|
|
75
|
+
export declare function countEffectiveEntityTypes(source: EffectiveEntitySource, overlay: EffectiveEntityOverlay | null | undefined, sourceIds?: Iterable<number>): Map<string, number>;
|
|
76
|
+
/** The parser's source index shape, without a parser dependency. */
|
|
77
|
+
export interface EffectiveEntitySource {
|
|
78
|
+
readonly entityIndex: {
|
|
79
|
+
/** Source ids keyed by UPPERCASE STEP class. */
|
|
80
|
+
readonly byType: ReadonlyMap<string, readonly number[]>;
|
|
81
|
+
readonly byId: {
|
|
82
|
+
get(id: number): {
|
|
83
|
+
type: string;
|
|
84
|
+
} | undefined;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
/** Property atoms may live outside the primary ID index after parsing. */
|
|
88
|
+
readonly deferredEntityIndex?: {
|
|
89
|
+
get(id: number): {
|
|
90
|
+
type: string;
|
|
91
|
+
} | undefined;
|
|
92
|
+
};
|
|
93
|
+
/** Optional type fallback for a caller-supplied columnar source domain. */
|
|
94
|
+
readonly entities?: {
|
|
95
|
+
getTypeName(id: number): string;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface EffectiveEntity {
|
|
99
|
+
expressId: number;
|
|
100
|
+
/** Effective EXPRESS class, in the same uppercase form as STEP type keys. */
|
|
101
|
+
type: string;
|
|
102
|
+
overlayCreated: boolean;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Iterate the entity set visible in this session. The source index is never
|
|
106
|
+
* mutated. Callers expand schema subtypes before passing `types` (matched
|
|
107
|
+
* case-insensitively against the exact class). `sourceIds` restricts source
|
|
108
|
+
* records to a caller's existing domain (an `EntityTable`'s rows, say) while
|
|
109
|
+
* still appending overlay creations. It avoids scanning unrelated STEP records.
|
|
110
|
+
*/
|
|
111
|
+
export declare function iterateEffectiveEntities(source: EffectiveEntitySource, overlay: EffectiveEntityOverlay | null | undefined, types?: readonly string[], sourceIds?: Iterable<number>): IterableIterator<EffectiveEntity>;
|
|
112
|
+
//# sourceMappingURL=effective-entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-entities.d.ts","sourceRoot":"","sources":["../src/effective-entities.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,mEAAmE;AACnE,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,8EAA8E;IAC9E,cAAc,IAAI,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,2EAA2E;IAC3E,gBAAgB,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,iFAAiF;IACjF,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,6GAA6G;IAC7G,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE;;;;OAIG;IACH,oBAAoB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuCrB;AAED,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE;QACpB,gDAAgD;QAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;QACxD,QAAQ,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,GAAG,SAAS,CAAA;SAAE,CAAC;KAClE,CAAC;IACF,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACjF,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAiB,wBAAwB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,EAClD,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,EACzB,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC3B,gBAAgB,CAAC,eAAe,CAAC,CAwEnC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
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
|
+
* Count effective classes without walking a large source bucket for a small
|
|
6
|
+
* edit set. A caller-supplied source domain is counted through the canonical
|
|
7
|
+
* iterator instead (for example IFCX, whose STEP type index is empty).
|
|
8
|
+
* Source classes with no surviving records retain a zero row.
|
|
9
|
+
*/
|
|
10
|
+
export function countEffectiveEntityTypes(source, overlay, sourceIds) {
|
|
11
|
+
// @raw-entity-enumeration-ok the canonical aggregate accessor reads parsed bucket sizes, then applies all membership and class deltas below
|
|
12
|
+
const byType = source.entityIndex.byType;
|
|
13
|
+
const counts = new Map();
|
|
14
|
+
const tombstones = overlay?.getTombstones?.();
|
|
15
|
+
const walk = !!sourceIds || !!(overlay && !tombstones);
|
|
16
|
+
for (const [type, ids] of byType)
|
|
17
|
+
counts.set(type, walk ? 0 : ids.length);
|
|
18
|
+
if (walk) {
|
|
19
|
+
for (const entity of iterateEffectiveEntities(source, overlay, undefined, sourceIds)) {
|
|
20
|
+
counts.set(entity.type, (counts.get(entity.type) ?? 0) + 1);
|
|
21
|
+
}
|
|
22
|
+
return counts;
|
|
23
|
+
}
|
|
24
|
+
if (!overlay)
|
|
25
|
+
return counts;
|
|
26
|
+
const retypes = overlay.getTypeMutations?.();
|
|
27
|
+
const created = overlay.getNewEntities();
|
|
28
|
+
const createdIds = new Set(created.map((entity) => entity.expressId));
|
|
29
|
+
const changedSourceIds = new Set([...(tombstones ?? []), ...(retypes?.keys() ?? [])]);
|
|
30
|
+
for (const expressId of changedSourceIds) {
|
|
31
|
+
if (createdIds.has(expressId))
|
|
32
|
+
continue;
|
|
33
|
+
// @raw-entity-enumeration-ok the canonical aggregate accessor reads the original source class for a sparse deletion or retype delta
|
|
34
|
+
const sourceType = (source.entityIndex.byId.get(expressId)
|
|
35
|
+
?? source.deferredEntityIndex?.get(expressId))?.type
|
|
36
|
+
?? source.entities?.getTypeName(expressId);
|
|
37
|
+
if (!sourceType || sourceType === 'Unknown')
|
|
38
|
+
continue;
|
|
39
|
+
const original = sourceType.toUpperCase();
|
|
40
|
+
if (!counts.has(original))
|
|
41
|
+
continue;
|
|
42
|
+
const next = overlay.isDeleted(expressId) ? null : retypes?.get(expressId)?.newType.toUpperCase();
|
|
43
|
+
if (next === original || (!next && !overlay.isDeleted(expressId)))
|
|
44
|
+
continue;
|
|
45
|
+
counts.set(original, (counts.get(original) ?? 0) - 1);
|
|
46
|
+
if (next)
|
|
47
|
+
counts.set(next, (counts.get(next) ?? 0) + 1);
|
|
48
|
+
}
|
|
49
|
+
for (const entity of created) {
|
|
50
|
+
if (overlay.isDeleted(entity.expressId))
|
|
51
|
+
continue;
|
|
52
|
+
const type = (retypes?.get(entity.expressId)?.newType ?? entity.type).toUpperCase();
|
|
53
|
+
counts.set(type, (counts.get(type) ?? 0) + 1);
|
|
54
|
+
}
|
|
55
|
+
return counts;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Iterate the entity set visible in this session. The source index is never
|
|
59
|
+
* mutated. Callers expand schema subtypes before passing `types` (matched
|
|
60
|
+
* case-insensitively against the exact class). `sourceIds` restricts source
|
|
61
|
+
* records to a caller's existing domain (an `EntityTable`'s rows, say) while
|
|
62
|
+
* still appending overlay creations. It avoids scanning unrelated STEP records.
|
|
63
|
+
*/
|
|
64
|
+
export function* iterateEffectiveEntities(source, overlay, types, sourceIds) {
|
|
65
|
+
// @raw-entity-enumeration-ok the canonical accessor: the one place source type buckets are read, with the overlay applied below
|
|
66
|
+
const byType = source.entityIndex.byType;
|
|
67
|
+
const wanted = types && types.length > 0 ? new Set(types.map((type) => type.toUpperCase())) : null;
|
|
68
|
+
const retypes = overlay?.getTypeMutations?.();
|
|
69
|
+
// Created-entity membership, O(1) per id when the overlay can answer it;
|
|
70
|
+
// a snapshot overlay builds the set once, and only if a pass asks.
|
|
71
|
+
let createdIds;
|
|
72
|
+
const isCreated = (expressId) => {
|
|
73
|
+
if (!overlay)
|
|
74
|
+
return false;
|
|
75
|
+
if (overlay.getNewEntity)
|
|
76
|
+
return overlay.getNewEntity(expressId) != null;
|
|
77
|
+
createdIds ??= new Set(overlay.getNewEntities().map((entity) => entity.expressId));
|
|
78
|
+
return createdIds.has(expressId);
|
|
79
|
+
};
|
|
80
|
+
// Snapshot the created entities now, as a copy, so writes made while the
|
|
81
|
+
// caller iterates are not seen (and cannot extend this walk). One requested
|
|
82
|
+
// class and no retype touching a created entity: that class's bucket IS the
|
|
83
|
+
// answer, in the same creation order the full list gives, at O(matches).
|
|
84
|
+
const only = wanted?.size === 1 ? [...wanted][0] : undefined;
|
|
85
|
+
const byClass = only !== undefined && overlay?.getNewEntitiesOfType
|
|
86
|
+
&& ![...(retypes?.keys() ?? [])].some(isCreated)
|
|
87
|
+
? overlay.getNewEntitiesOfType(only)
|
|
88
|
+
: undefined;
|
|
89
|
+
const created = byClass ? Array.from(byClass) : overlay?.getNewEntities() ?? [];
|
|
90
|
+
if (sourceIds) {
|
|
91
|
+
for (const expressId of sourceIds) {
|
|
92
|
+
if (expressId === 0 || isCreated(expressId) || overlay?.isDeleted(expressId))
|
|
93
|
+
continue;
|
|
94
|
+
// @raw-entity-enumeration-ok the canonical accessor reads source class before applying queued retypes
|
|
95
|
+
const sourceType = (source.entityIndex.byId.get(expressId)
|
|
96
|
+
?? source.deferredEntityIndex?.get(expressId))?.type
|
|
97
|
+
?? source.entities?.getTypeName(expressId);
|
|
98
|
+
if (!sourceType || sourceType === 'Unknown')
|
|
99
|
+
continue;
|
|
100
|
+
const type = (retypes?.get(expressId)?.newType ?? sourceType).toUpperCase();
|
|
101
|
+
if (!wanted || wanted.has(type))
|
|
102
|
+
yield { expressId, type, overlayCreated: false };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const buckets = wanted
|
|
107
|
+
? Array.from(wanted, (type) => [type, byType.get(type) ?? []])
|
|
108
|
+
: byType;
|
|
109
|
+
for (const [sourceType, ids] of buckets) {
|
|
110
|
+
for (const expressId of ids) {
|
|
111
|
+
if (expressId === 0 || overlay?.isDeleted(expressId))
|
|
112
|
+
continue;
|
|
113
|
+
const type = (retypes?.get(expressId)?.newType ?? sourceType).toUpperCase();
|
|
114
|
+
if (!wanted || wanted.has(type))
|
|
115
|
+
yield { expressId, type, overlayCreated: false };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// A source record retyped INTO a requested bucket was absent from that
|
|
120
|
+
// bucket's parsed list. Only queued retypes need this second pass.
|
|
121
|
+
if (!sourceIds && wanted && retypes) {
|
|
122
|
+
for (const [expressId, mutation] of retypes) {
|
|
123
|
+
if (expressId === 0 || isCreated(expressId) || overlay?.isDeleted(expressId))
|
|
124
|
+
continue;
|
|
125
|
+
const type = mutation.newType.toUpperCase();
|
|
126
|
+
if (!wanted.has(type))
|
|
127
|
+
continue;
|
|
128
|
+
// @raw-entity-enumeration-ok the canonical accessor checks source bucket membership before adding retypes
|
|
129
|
+
const sourceType = (source.entityIndex.byId.get(expressId)
|
|
130
|
+
?? source.deferredEntityIndex?.get(expressId))?.type.toUpperCase();
|
|
131
|
+
if (!sourceType || wanted.has(sourceType) || !(byType.get(sourceType)?.includes(expressId)))
|
|
132
|
+
continue;
|
|
133
|
+
yield { expressId, type, overlayCreated: false };
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
for (const entity of created) {
|
|
137
|
+
if (overlay?.isDeleted(entity.expressId))
|
|
138
|
+
continue;
|
|
139
|
+
const type = (retypes?.get(entity.expressId)?.newType ?? entity.type).toUpperCase();
|
|
140
|
+
if (!wanted || wanted.has(type)) {
|
|
141
|
+
yield { expressId: entity.expressId, type, overlayCreated: true };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=effective-entities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-entities.js","sourceRoot":"","sources":["../src/effective-entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The identifier a STEP writer declares in `FILE_SCHEMA` for a schema family.
|
|
3
|
+
*
|
|
4
|
+
* ifc-lite names schemas by family (`'IFC2X3' | 'IFC4' | 'IFC4X3' | 'IFC5'`),
|
|
5
|
+
* and for three of them the family name is also the file identifier. IFC4X3
|
|
6
|
+
* is the exception (#5351). The attribute layouts ifc-lite writes for IFC4X3
|
|
7
|
+
* are those of IFC4X3_ADD2 (ISO 16739-1:2024), but IfcOpenShell 0.8.x (and so
|
|
8
|
+
* the buildingSMART Validation Service built on it) resolves the bare
|
|
9
|
+
* `IFC4X3` token to a later DEVELOPMENT schema whose layouts differ:
|
|
10
|
+
* `IfcTriangulatedIrregularNetwork` puts `Closed` before `Normals`,
|
|
11
|
+
* `IfcMapConversion` has 10 attributes instead of 8. Standard-conformant
|
|
12
|
+
* output then fails `ifcopenshell.validate` purely because of the token.
|
|
13
|
+
*
|
|
14
|
+
* This is the one place the TypeScript writers get that token from; the Rust
|
|
15
|
+
* twin is `rust/export/src/file_schema.rs`. Readers are unaffected: every
|
|
16
|
+
* reader in the repo already resolves `IFC4X3_ADD2` to the IFC4X3 family.
|
|
17
|
+
*
|
|
18
|
+
* Only a writer that CHOOSES the token calls this. A re-export that preserves
|
|
19
|
+
* the source file's own `FILE_SCHEMA` token (round-trip header fidelity) does
|
|
20
|
+
* not: it cannot know which layouts a file declared as bare `IFC4X3` carries.
|
|
21
|
+
*/
|
|
22
|
+
export declare function fileSchemaIdentifier(schema: string): string;
|
|
23
|
+
//# sourceMappingURL=file-schema-identifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-schema-identifier.d.ts","sourceRoot":"","sources":["../src/file-schema-identifier.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
* The identifier a STEP writer declares in `FILE_SCHEMA` for a schema family.
|
|
6
|
+
*
|
|
7
|
+
* ifc-lite names schemas by family (`'IFC2X3' | 'IFC4' | 'IFC4X3' | 'IFC5'`),
|
|
8
|
+
* and for three of them the family name is also the file identifier. IFC4X3
|
|
9
|
+
* is the exception (#5351). The attribute layouts ifc-lite writes for IFC4X3
|
|
10
|
+
* are those of IFC4X3_ADD2 (ISO 16739-1:2024), but IfcOpenShell 0.8.x (and so
|
|
11
|
+
* the buildingSMART Validation Service built on it) resolves the bare
|
|
12
|
+
* `IFC4X3` token to a later DEVELOPMENT schema whose layouts differ:
|
|
13
|
+
* `IfcTriangulatedIrregularNetwork` puts `Closed` before `Normals`,
|
|
14
|
+
* `IfcMapConversion` has 10 attributes instead of 8. Standard-conformant
|
|
15
|
+
* output then fails `ifcopenshell.validate` purely because of the token.
|
|
16
|
+
*
|
|
17
|
+
* This is the one place the TypeScript writers get that token from; the Rust
|
|
18
|
+
* twin is `rust/export/src/file_schema.rs`. Readers are unaffected: every
|
|
19
|
+
* reader in the repo already resolves `IFC4X3_ADD2` to the IFC4X3 family.
|
|
20
|
+
*
|
|
21
|
+
* Only a writer that CHOOSES the token calls this. A re-export that preserves
|
|
22
|
+
* the source file's own `FILE_SCHEMA` token (round-trip header fidelity) does
|
|
23
|
+
* not: it cannot know which layouts a file declared as bare `IFC4X3` carries.
|
|
24
|
+
*/
|
|
25
|
+
export function fileSchemaIdentifier(schema) {
|
|
26
|
+
return schema === 'IFC4X3' ? 'IFC4X3_ADD2' : schema;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=file-schema-identifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-schema-identifier.js","sourceRoot":"","sources":["../src/file-schema-identifier.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The IFC4 entity table checked against the IFC4 EXPRESS schema (#5204).
|
|
3
|
+
*
|
|
4
|
+
* `ENTITIES_IFC4` is generated from buildingSMART's C# `SchemaInfo` source,
|
|
5
|
+
* which files the draft alignment-extension entities (`IfcAlignment2DHorizontal`,
|
|
6
|
+
* `IfcLinearPlacement`, `IfcOffsetCurve`, …) under IFC4 and gives
|
|
7
|
+
* `IfcCartesianPointList2D`/`3D` an IFC4X3-only `TagList`. This table:
|
|
8
|
+
* - drops the rows that carry attributes but that IFC4 EXPRESS does not declare;
|
|
9
|
+
* - takes the EXPRESS attribute list, parent and abstractness where the two
|
|
10
|
+
* disagree (the C# table parents `IfcOffsetCurve2D` under the IFC4X3-only
|
|
11
|
+
* `IfcOffsetCurve`; IFC4 parents it under `IfcCurve`);
|
|
12
|
+
* - keeps everything else, including the attribute-less defined-type and
|
|
13
|
+
* select rows, which are not the EXPRESS entity registry's to confirm.
|
|
14
|
+
*
|
|
15
|
+
* The corrections are generated from `@ifc-lite/parser`'s EXPRESS-derived
|
|
16
|
+
* registry (`scripts/generate-ifc4-express-corrections.mjs`, `--check` in CI),
|
|
17
|
+
* because this package cannot import parser at runtime.
|
|
18
|
+
*
|
|
19
|
+
* Every schema-specific IFC4 reader uses this table, including this package's
|
|
20
|
+
* own `getEntities('IFC4')` / `findEntity('IFC4', …)`. An oxlint
|
|
21
|
+
* `no-restricted-imports` rule (`.oxlintrc.json`) keeps new code off the raw
|
|
22
|
+
* `ENTITIES_IFC4`.
|
|
23
|
+
*/
|
|
24
|
+
import type { IfcEntityInfo } from './types.js';
|
|
25
|
+
export declare const ENTITIES_IFC4_EXPRESS: readonly IfcEntityInfo[];
|
|
26
|
+
//# sourceMappingURL=entities-ifc4-express.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities-ifc4-express.d.ts","sourceRoot":"","sources":["../../src/ifc-schema/entities-ifc4-express.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EAE+E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
import { ENTITIES_IFC4 } from './generated/entities-ifc4.js';
|
|
5
|
+
import { IFC4_EXPRESS_OVERRIDES, IFC4_UNDECLARED_ENTITIES } from './ifc4-express-corrections.js';
|
|
6
|
+
export const ENTITIES_IFC4_EXPRESS = ENTITIES_IFC4
|
|
7
|
+
.filter((entity) => !IFC4_UNDECLARED_ENTITIES.has(entity.name))
|
|
8
|
+
.map((entity) => (Object.hasOwn(IFC4_EXPRESS_OVERRIDES, entity.name) ? { ...entity, ...IFC4_EXPRESS_OVERRIDES[entity.name] } : entity));
|
|
9
|
+
//# sourceMappingURL=entities-ifc4-express.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities-ifc4-express.js","sourceRoot":"","sources":["../../src/ifc-schema/entities-ifc4-express.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA2B/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEjG,MAAM,CAAC,MAAM,qBAAqB,GAA6B,aAAa;KACzE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC9D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where `entities-ifc4.ts` (C# `SchemaInfo`) disagrees with the IFC4 EXPRESS
|
|
3
|
+
* schema (#5204). Applied by `./entities-ifc4-express.ts`.
|
|
4
|
+
*
|
|
5
|
+
* DO NOT EDIT - regenerate with
|
|
6
|
+
* node scripts/generate-ifc4-express-corrections.mjs
|
|
7
|
+
*/
|
|
8
|
+
/** Rows with attributes that IFC4 EXPRESS does not declare: dropped. */
|
|
9
|
+
export declare const IFC4_UNDECLARED_ENTITIES: ReadonlySet<string>;
|
|
10
|
+
/** Declared rows whose attributes, parent or abstractness differ from EXPRESS. */
|
|
11
|
+
export declare const IFC4_EXPRESS_OVERRIDES: Readonly<Record<string, {
|
|
12
|
+
readonly attributes?: readonly string[];
|
|
13
|
+
readonly parent?: string;
|
|
14
|
+
readonly abstract?: boolean;
|
|
15
|
+
}>>;
|
|
16
|
+
//# sourceMappingURL=ifc4-express-corrections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifc4-express-corrections.d.ts","sourceRoot":"","sources":["../../src/ifc-schema/ifc4-express-corrections.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CA0BvD,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC,CAKD,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
* Where `entities-ifc4.ts` (C# `SchemaInfo`) disagrees with the IFC4 EXPRESS
|
|
6
|
+
* schema (#5204). Applied by `./entities-ifc4-express.ts`.
|
|
7
|
+
*
|
|
8
|
+
* DO NOT EDIT - regenerate with
|
|
9
|
+
* node scripts/generate-ifc4-express-corrections.mjs
|
|
10
|
+
*/
|
|
11
|
+
/** Rows with attributes that IFC4 EXPRESS does not declare: dropped. */
|
|
12
|
+
export const IFC4_UNDECLARED_ENTITIES = new Set([
|
|
13
|
+
'IfcAlignment',
|
|
14
|
+
'IfcAlignment2DHorizontal',
|
|
15
|
+
'IfcAlignment2DHorizontalSegment',
|
|
16
|
+
'IfcAlignment2DSegment',
|
|
17
|
+
'IfcAlignment2DVerSegCircularArc',
|
|
18
|
+
'IfcAlignment2DVerSegLine',
|
|
19
|
+
'IfcAlignment2DVerSegParabolicArc',
|
|
20
|
+
'IfcAlignment2DVertical',
|
|
21
|
+
'IfcAlignment2DVerticalSegment',
|
|
22
|
+
'IfcAlignmentCurve',
|
|
23
|
+
'IfcCircularArcSegment2D',
|
|
24
|
+
'IfcCurveSegment2D',
|
|
25
|
+
'IfcDistanceExpression',
|
|
26
|
+
'IfcLineSegment2D',
|
|
27
|
+
'IfcLinearPlacement',
|
|
28
|
+
'IfcLinearPositioningElement',
|
|
29
|
+
'IfcOffsetCurve',
|
|
30
|
+
'IfcOffsetCurveByDistances',
|
|
31
|
+
'IfcOrientationExpression',
|
|
32
|
+
'IfcPositioningElement',
|
|
33
|
+
'IfcReferent',
|
|
34
|
+
'IfcSectionedSolid',
|
|
35
|
+
'IfcSectionedSolidHorizontal',
|
|
36
|
+
'IfcTransitionCurveSegment2D',
|
|
37
|
+
'IfcTriangulatedIrregularNetwork',
|
|
38
|
+
]);
|
|
39
|
+
/** Declared rows whose attributes, parent or abstractness differ from EXPRESS. */
|
|
40
|
+
export const IFC4_EXPRESS_OVERRIDES = {
|
|
41
|
+
IfcCartesianPointList2D: { attributes: ['CoordList'] },
|
|
42
|
+
IfcCartesianPointList3D: { attributes: ['CoordList'] },
|
|
43
|
+
IfcOffsetCurve2D: { parent: 'IfcCurve' },
|
|
44
|
+
IfcOffsetCurve3D: { parent: 'IfcCurve' },
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=ifc4-express-corrections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifc4-express-corrections.js","sourceRoot":"","sources":["../../src/ifc-schema/ifc4-express-corrections.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;GAMG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,cAAc;IACd,0BAA0B;IAC1B,iCAAiC;IACjC,uBAAuB;IACvB,iCAAiC;IACjC,0BAA0B;IAC1B,kCAAkC;IAClC,wBAAwB;IACxB,+BAA+B;IAC/B,mBAAmB;IACnB,yBAAyB;IACzB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,gBAAgB;IAChB,2BAA2B;IAC3B,0BAA0B;IAC1B,uBAAuB;IACvB,aAAa;IACb,mBAAmB;IACnB,6BAA6B;IAC7B,6BAA6B;IAC7B,iCAAiC;CAClC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAI7B;IACJ,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;IACtD,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;IACtD,gBAAgB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;IACxC,gBAAgB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;CACzC,CAAC"}
|
package/dist/ifc-schema/index.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { ATTRIBUTES_IFC2X3, ATTRIBUTES_IFC4, ATTRIBUTES_IFC4X3, } from './generated/attributes.js';
|
|
16
16
|
import { IFC_DATA_TYPES } from './generated/data-types.js';
|
|
17
17
|
import { ENTITIES_IFC2X3 } from './generated/entities-ifc2x3.js';
|
|
18
|
-
import {
|
|
18
|
+
import { ENTITIES_IFC4_EXPRESS } from './entities-ifc4-express.js';
|
|
19
19
|
import { ENTITIES_IFC4X3 } from './generated/entities-ifc4x3.js';
|
|
20
20
|
import { PART_OF_RELATIONS_IFC2X3, PART_OF_RELATIONS_IFC4, PART_OF_RELATIONS_IFC4X3, } from './generated/partof-relations.js';
|
|
21
21
|
import { PROPERTY_SETS_IFC2X3 } from './generated/psets-ifc2x3.js';
|
|
@@ -39,7 +39,7 @@ export const RESERVED_PSET_PREFIXES = ['Pset_', 'Qto_'];
|
|
|
39
39
|
// same map `getEntities` does.
|
|
40
40
|
export const ENTITIES_BY_VERSION = {
|
|
41
41
|
IFC2X3: ENTITIES_IFC2X3,
|
|
42
|
-
IFC4:
|
|
42
|
+
IFC4: ENTITIES_IFC4_EXPRESS, // checked against IFC4 EXPRESS (#5204)
|
|
43
43
|
IFC4X3: ENTITIES_IFC4X3,
|
|
44
44
|
// IFC4X3_ADD2 is the addendum-2 release of IFC4X3 — same entity list
|
|
45
45
|
// for authoring purposes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ifc-schema/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ifc-schema/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export { collectSpatialAncestors } from './ancestor-lookup.js';
|
|
|
30
30
|
export type { AncestorRelationships } from './ancestor-lookup.js';
|
|
31
31
|
export { linearToSrgb } from './color.js';
|
|
32
32
|
export { isEntityRef, isEnumValue, ref, enumVal, serializeValue, formatStepReal, toStepLineWithRegistry, generateHeader, generateStepFileWithRegistry, parseStepValue, escapeStepString, } from './step-serializers.js';
|
|
33
|
+
export { isCompleteStepNumericLiteral } from './step-numeric-literal.js';
|
|
34
|
+
export { fileSchemaIdentifier } from './file-schema-identifier.js';
|
|
33
35
|
export type { StepValue, EntityRef, EnumValue, StepEntity, StepSchemaRegistry, } from './step-serializers.js';
|
|
34
36
|
export * from './spatial-types.js';
|
|
35
37
|
export * from './epsg-types.js';
|
|
@@ -39,10 +41,13 @@ export { getEntities, getPropertySets, getPartOfRelations, getDataTypes, getAttr
|
|
|
39
41
|
export { expandTypeNamesToDescendants } from './ifc-schema/descendants.js';
|
|
40
42
|
export { ENTITIES_IFC2X3 } from './ifc-schema/generated/entities-ifc2x3.js';
|
|
41
43
|
export { ENTITIES_IFC4 } from './ifc-schema/generated/entities-ifc4.js';
|
|
44
|
+
export { ENTITIES_IFC4_EXPRESS } from './ifc-schema/entities-ifc4-express.js';
|
|
42
45
|
export { ENTITIES_IFC4X3 } from './ifc-schema/generated/entities-ifc4x3.js';
|
|
43
46
|
export { IFC_DATA_TYPES } from './ifc-schema/generated/data-types.js';
|
|
44
47
|
export type { IfcAttributeInfo, IfcDataTypeInfo, IfcEntityInfo, IfcPropertyInfo, IfcPropertySetInfo, IfcSchemaVersion, PartOfRelationInfo, } from './ifc-schema/index.js';
|
|
45
48
|
export { createLogger, logger, type LogLevel, type LogContext } from './logger.js';
|
|
49
|
+
export { readPackageVersion, UNKNOWN_VERSION } from './package-version.js';
|
|
46
50
|
export { safeUtf8Decode, textDecoderAcceptsSab } from './utf8-decode.js';
|
|
47
51
|
export { spatialLookups } from './spatial-lookups.js';
|
|
52
|
+
export { iterateEffectiveEntities, countEffectiveEntityTypes, type EffectiveEntity, type EffectiveEntityOverlay, type EffectiveEntitySource, } from './effective-entities.js';
|
|
48
53
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,8 @@ export { linearToSrgb } from './color.js';
|
|
|
26
26
|
// Schema-agnostic STEP serialization primitives — the single source of truth
|
|
27
27
|
// re-exported by the per-schema serializer bundles (parser runtime + codegen).
|
|
28
28
|
export { isEntityRef, isEnumValue, ref, enumVal, serializeValue, formatStepReal, toStepLineWithRegistry, generateHeader, generateStepFileWithRegistry, parseStepValue, escapeStepString, } from './step-serializers.js';
|
|
29
|
+
export { isCompleteStepNumericLiteral } from './step-numeric-literal.js';
|
|
30
|
+
export { fileSchemaIdentifier } from './file-schema-identifier.js';
|
|
29
31
|
export * from './spatial-types.js';
|
|
30
32
|
export * from './epsg-types.js';
|
|
31
33
|
export { loadEpsgIndex, loadEpsgIndexByCode, loadEpsgIndexDatasetVersion, lookupEpsgByCode, lookupProj4, searchEpsgIndex, } from './epsg-index.js';
|
|
@@ -40,6 +42,9 @@ export { expandTypeNamesToDescendants } from './ifc-schema/descendants.js';
|
|
|
40
42
|
// as read-only.
|
|
41
43
|
export { ENTITIES_IFC2X3 } from './ifc-schema/generated/entities-ifc2x3.js';
|
|
42
44
|
export { ENTITIES_IFC4 } from './ifc-schema/generated/entities-ifc4.js';
|
|
45
|
+
// ENTITIES_IFC4 checked against the IFC4 EXPRESS schema (#5204): what every
|
|
46
|
+
// schema-specific IFC4 reader should use. The raw table above is lint-gated.
|
|
47
|
+
export { ENTITIES_IFC4_EXPRESS } from './ifc-schema/entities-ifc4-express.js';
|
|
43
48
|
export { ENTITIES_IFC4X3 } from './ifc-schema/generated/entities-ifc4x3.js';
|
|
44
49
|
// The upstream SchemaInfo tables the `ENTITIES_*` lists come from also carry
|
|
45
50
|
// EXPRESS *defined types* (`IfcLengthMeasure`, `IfcBoolean`, `IfcTextAlignment`,
|
|
@@ -51,10 +56,15 @@ export { ENTITIES_IFC4X3 } from './ifc-schema/generated/entities-ifc4x3.js';
|
|
|
51
56
|
export { IFC_DATA_TYPES } from './ifc-schema/generated/data-types.js';
|
|
52
57
|
// Logging utilities
|
|
53
58
|
export { createLogger, logger } from './logger.js';
|
|
59
|
+
export { readPackageVersion, UNKNOWN_VERSION } from './package-version.js';
|
|
54
60
|
// SAB-safe TextDecoder helper. Both Firefox and Chromium reject
|
|
55
61
|
// `TextDecoder.decode()` on SharedArrayBuffer-backed views as a
|
|
56
62
|
// Spectre-class timing-attack mitigation; this helper transparently
|
|
57
63
|
// routes those calls through a thread-local scratch buffer.
|
|
58
64
|
export { safeUtf8Decode, textDecoderAcceptsSab } from './utf8-decode.js';
|
|
59
65
|
export { spatialLookups } from './spatial-lookups.js';
|
|
66
|
+
// Effective entity enumeration for a live session: source index minus
|
|
67
|
+
// tombstones plus overlay-created entities, retypes applied (#5249). The one
|
|
68
|
+
// algorithm; `@ifc-lite/mutations`' `iterateEffectiveEntityIds` delegates here.
|
|
69
|
+
export { iterateEffectiveEntities, countEffectiveEntityTypes, } from './effective-entities.js';
|
|
60
70
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACpI,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAE1G,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,cAAc,YAAY,CAAC;AAC3B,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEvF,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,6EAA6E;AAC7E,+EAA+E;AAC/E,OAAO,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,OAAO,EACP,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Reported when `package.json` can't be read — deliberately not a plausible
|
|
2
|
+
* version number, so a bug report never carries a fabricated one. */
|
|
3
|
+
export declare const UNKNOWN_VERSION = "0.0.0-unknown";
|
|
4
|
+
/**
|
|
5
|
+
* Read `version` from the package manifest at `pkgPath`.
|
|
6
|
+
*
|
|
7
|
+
* A failure here is a broken install (missing/unreadable/corrupt
|
|
8
|
+
* `package.json`), not a normal condition. Report it on stderr and return a
|
|
9
|
+
* value that reads as unknown rather than a plausible number a bug report
|
|
10
|
+
* would then carry.
|
|
11
|
+
*
|
|
12
|
+
* Both consumers have already paid for the alternative. The CLI used to fall
|
|
13
|
+
* back to a hard-coded `'0.4.0'`, which by 0.22.0 meant `--version`
|
|
14
|
+
* confidently reported a version the binary had not been for eighteen
|
|
15
|
+
* releases. `@ifc-lite/mcp` shipped `VERSION = '0.1.0'` as a literal and was
|
|
16
|
+
* still announcing it over the wire at 0.19.0 (#5540).
|
|
17
|
+
*/
|
|
18
|
+
export declare function readPackageVersion(pkgPath: string): string;
|
|
19
|
+
//# sourceMappingURL=package-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-version.d.ts","sourceRoot":"","sources":["../src/package-version.ts"],"names":[],"mappings":"AAcA;qEACqE;AACrE,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgB1D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
* A package's own version, read from its `package.json` at startup.
|
|
6
|
+
*
|
|
7
|
+
* Lives here rather than in a bin so the read can be tested without executing
|
|
8
|
+
* that bin's top-level `main()`, and so the two shipped servers -- the CLI and
|
|
9
|
+
* the MCP server -- cannot drift apart on how they answer `--version`.
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync } from 'node:fs';
|
|
12
|
+
/** Reported when `package.json` can't be read — deliberately not a plausible
|
|
13
|
+
* version number, so a bug report never carries a fabricated one. */
|
|
14
|
+
export const UNKNOWN_VERSION = '0.0.0-unknown';
|
|
15
|
+
/**
|
|
16
|
+
* Read `version` from the package manifest at `pkgPath`.
|
|
17
|
+
*
|
|
18
|
+
* A failure here is a broken install (missing/unreadable/corrupt
|
|
19
|
+
* `package.json`), not a normal condition. Report it on stderr and return a
|
|
20
|
+
* value that reads as unknown rather than a plausible number a bug report
|
|
21
|
+
* would then carry.
|
|
22
|
+
*
|
|
23
|
+
* Both consumers have already paid for the alternative. The CLI used to fall
|
|
24
|
+
* back to a hard-coded `'0.4.0'`, which by 0.22.0 meant `--version`
|
|
25
|
+
* confidently reported a version the binary had not been for eighteen
|
|
26
|
+
* releases. `@ifc-lite/mcp` shipped `VERSION = '0.1.0'` as a literal and was
|
|
27
|
+
* still announcing it over the wire at 0.19.0 (#5540).
|
|
28
|
+
*/
|
|
29
|
+
export function readPackageVersion(pkgPath) {
|
|
30
|
+
try {
|
|
31
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
32
|
+
if (typeof pkg.version === 'string' && pkg.version.length > 0)
|
|
33
|
+
return pkg.version;
|
|
34
|
+
process.stderr.write(`Warning: ${pkgPath} declares no "version"; reporting ${UNKNOWN_VERSION}.\n`);
|
|
35
|
+
return UNKNOWN_VERSION;
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
process.stderr.write(`Warning: could not read the version from ${pkgPath} ` +
|
|
39
|
+
`(${err instanceof Error ? err.message : String(err)}); ` +
|
|
40
|
+
`reporting ${UNKNOWN_VERSION}.\n`);
|
|
41
|
+
return UNKNOWN_VERSION;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=package-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-version.js","sourceRoot":"","sources":["../src/package-version.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;qEACqE;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAyB,CAAC;QAC/E,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,OAAO,qCAAqC,eAAe,KAAK,CAC7E,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA4C,OAAO,GAAG;YACpD,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;YACzD,aAAa,eAAe,KAAK,CACpC,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC"}
|
package/dist/property-table.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface Property {
|
|
|
21
21
|
unitSiScale?: number;
|
|
22
22
|
/** Raw IFC measure value type (e.g. "IFCVOLUMETRICFLOWRATEMEASURE") that resolves the file's declared display unit (#1573). Absent when the value type has no measure semantics. */
|
|
23
23
|
dataType?: string;
|
|
24
|
+
/** `IfcPropertyTableValue`: columns differ in type by design, so no single `dataType` (#5224). */ dataTypeMixed?: true;
|
|
24
25
|
}
|
|
25
26
|
export type PropertyValue = string | number | boolean | null | PropertyValue[];
|
|
26
27
|
export interface PropertyTable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-table.d.ts","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,oKAAoK;IACpK,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kKAAkK;IAClK,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oLAAoL;IACpL,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oLAAoL;IACpL,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"property-table.d.ts","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-table.js","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAQ/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"property-table.js","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* True when `token`, already trimmed, is exactly one legal STEP REAL or
|
|
3
|
+
* INTEGER literal (ISO 10303-21 §5.3): an optional sign, then digits with an
|
|
4
|
+
* optional decimal point (`1`, `1.`, `1.5`) or a bare-dot decimal (`.5`),
|
|
5
|
+
* then an optional exponent (`e`/`E`, optional sign, digits) — nothing before
|
|
6
|
+
* or after.
|
|
7
|
+
*
|
|
8
|
+
* The one copy of this grammar (#5193). `parseFloat` accepts any leading
|
|
9
|
+
* numeric prefix and discards the rest (`parseFloat('1.52.3')` is `1.52`, a
|
|
10
|
+
* dropped comma fused into a plausible coordinate), so every STEP token
|
|
11
|
+
* reader gates on this before trusting it: `parseStepValue`
|
|
12
|
+
* (step-serializers.ts), and `@ifc-lite/parser`'s `parseAttributeValue` and
|
|
13
|
+
* `getNumber`.
|
|
14
|
+
*
|
|
15
|
+
* Hand-rolled rather than a regex: `parseAttributeValue` runs this once per
|
|
16
|
+
* attribute of every entity in the file, on tokens almost always under 20
|
|
17
|
+
* characters, and a single forward scan with no backtracking is cheaper at
|
|
18
|
+
* that call volume than compiling or running a regex engine.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isCompleteStepNumericLiteral(token: string): boolean;
|
|
21
|
+
//# sourceMappingURL=step-numeric-literal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-numeric-literal.d.ts","sourceRoot":"","sources":["../src/step-numeric-literal.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAgCnE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
const PLUS = 0x2b;
|
|
5
|
+
const MINUS = 0x2d;
|
|
6
|
+
const DOT = 0x2e;
|
|
7
|
+
const ZERO = 0x30;
|
|
8
|
+
const NINE = 0x39;
|
|
9
|
+
const UPPER_E = 0x45;
|
|
10
|
+
const LOWER_E = 0x65;
|
|
11
|
+
function isSign(c) {
|
|
12
|
+
return c === PLUS || c === MINUS;
|
|
13
|
+
}
|
|
14
|
+
function isDigit(c) {
|
|
15
|
+
return c >= ZERO && c <= NINE;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* True when `token`, already trimmed, is exactly one legal STEP REAL or
|
|
19
|
+
* INTEGER literal (ISO 10303-21 §5.3): an optional sign, then digits with an
|
|
20
|
+
* optional decimal point (`1`, `1.`, `1.5`) or a bare-dot decimal (`.5`),
|
|
21
|
+
* then an optional exponent (`e`/`E`, optional sign, digits) — nothing before
|
|
22
|
+
* or after.
|
|
23
|
+
*
|
|
24
|
+
* The one copy of this grammar (#5193). `parseFloat` accepts any leading
|
|
25
|
+
* numeric prefix and discards the rest (`parseFloat('1.52.3')` is `1.52`, a
|
|
26
|
+
* dropped comma fused into a plausible coordinate), so every STEP token
|
|
27
|
+
* reader gates on this before trusting it: `parseStepValue`
|
|
28
|
+
* (step-serializers.ts), and `@ifc-lite/parser`'s `parseAttributeValue` and
|
|
29
|
+
* `getNumber`.
|
|
30
|
+
*
|
|
31
|
+
* Hand-rolled rather than a regex: `parseAttributeValue` runs this once per
|
|
32
|
+
* attribute of every entity in the file, on tokens almost always under 20
|
|
33
|
+
* characters, and a single forward scan with no backtracking is cheaper at
|
|
34
|
+
* that call volume than compiling or running a regex engine.
|
|
35
|
+
*/
|
|
36
|
+
export function isCompleteStepNumericLiteral(token) {
|
|
37
|
+
const n = token.length;
|
|
38
|
+
let i = 0;
|
|
39
|
+
if (i < n && isSign(token.charCodeAt(i)))
|
|
40
|
+
i++;
|
|
41
|
+
let digits = 0;
|
|
42
|
+
while (i < n && isDigit(token.charCodeAt(i))) {
|
|
43
|
+
i++;
|
|
44
|
+
digits++;
|
|
45
|
+
}
|
|
46
|
+
if (i < n && token.charCodeAt(i) === DOT) {
|
|
47
|
+
i++;
|
|
48
|
+
while (i < n && isDigit(token.charCodeAt(i))) {
|
|
49
|
+
i++;
|
|
50
|
+
digits++;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// A sign, or a lone `.`, with no digit anywhere is not a number attempt at
|
|
54
|
+
// all — reject before considering an exponent, which cannot rescue it.
|
|
55
|
+
if (digits === 0)
|
|
56
|
+
return false;
|
|
57
|
+
if (i < n) {
|
|
58
|
+
const e = token.charCodeAt(i);
|
|
59
|
+
if (e !== UPPER_E && e !== LOWER_E)
|
|
60
|
+
return false;
|
|
61
|
+
i++;
|
|
62
|
+
if (i < n && isSign(token.charCodeAt(i)))
|
|
63
|
+
i++;
|
|
64
|
+
let expDigits = 0;
|
|
65
|
+
while (i < n && isDigit(token.charCodeAt(i))) {
|
|
66
|
+
i++;
|
|
67
|
+
expDigits++;
|
|
68
|
+
}
|
|
69
|
+
if (expDigits === 0)
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return i === n;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=step-numeric-literal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-numeric-literal.js","sourceRoot":"","sources":["../src/step-numeric-literal.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,MAAM,KAAK,GAAG,IAAI,CAAC;AACnB,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;AACnC,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC,EAAE,CAAC;QACJ,MAAM,EAAE,CAAC;IACX,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACzC,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACjD,CAAC,EAAE,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QAC9C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,CAAC,EAAE,CAAC;YACJ,SAAS,EAAE,CAAC;QACd,CAAC;QACD,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-serializers.d.ts","sourceRoot":"","sources":["../src/step-serializers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"step-serializers.d.ts","sourceRoot":"","sources":["../src/step-serializers.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,SAAS,EAAE,GACX,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,aAAa,CAAC,EAAE,aAAa,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAC3F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAEzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAEhD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAiDvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAc/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAwBT;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,GAC5C,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAqDrD"}
|
package/dist/step-serializers.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* re-exports.
|
|
14
14
|
*/
|
|
15
15
|
import { decodeStepStringLiteral } from '@ifc-lite/encoding';
|
|
16
|
+
import { isCompleteStepNumericLiteral } from './step-numeric-literal.js';
|
|
16
17
|
/**
|
|
17
18
|
* Check if value is an entity reference
|
|
18
19
|
*/
|
|
@@ -248,10 +249,12 @@ export function parseStepValue(str) {
|
|
|
248
249
|
if (str.startsWith('(') && str.endsWith(')')) {
|
|
249
250
|
return parseStepList(str);
|
|
250
251
|
}
|
|
251
|
-
// Number
|
|
252
|
-
|
|
253
|
-
if (
|
|
254
|
-
|
|
252
|
+
// Number: only a whole STEP literal. `parseFloat` reads a prefix, so `1.52.3`
|
|
253
|
+
// (a dropped comma) became `1.52`; a malformed token stays raw (#5193).
|
|
254
|
+
if (isCompleteStepNumericLiteral(str)) {
|
|
255
|
+
const num = parseFloat(str);
|
|
256
|
+
if (!isNaN(num))
|
|
257
|
+
return num;
|
|
255
258
|
}
|
|
256
259
|
// Unknown
|
|
257
260
|
return str;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-serializers.js","sourceRoot":"","sources":["../src/step-serializers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-serializers.js","sourceRoot":"","sources":["../src/step-serializers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/data",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"description": "Columnar data structures for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"@ifc-lite/encoding": "^2.2.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@types/node": "^26.
|
|
19
|
+
"@types/node": "^26.6.1",
|
|
20
20
|
"proj4": "^2.22.0",
|
|
21
21
|
"typescript": "^6.0.3",
|
|
22
|
-
"vitest": "^
|
|
22
|
+
"vitest": "^5.0.1"
|
|
23
23
|
},
|
|
24
24
|
"license": "MPL-2.0",
|
|
25
25
|
"author": "Louis True",
|