@ifc-lite/data 6.1.0 → 6.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/axis2-placement.d.ts +8 -16
- package/dist/axis2-placement.d.ts.map +1 -1
- package/dist/axis2-placement.js +11 -19
- package/dist/axis2-placement.js.map +1 -1
- package/dist/generated/epsg-index.generated.js +1 -1
- package/dist/generated/epsg-index.generated.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/perf-flag-reader.d.ts +38 -0
- package/dist/perf-flag-reader.d.ts.map +1 -0
- package/dist/perf-flag-reader.js +51 -0
- package/dist/perf-flag-reader.js.map +1 -0
- package/dist/placement-chain.d.ts +48 -0
- package/dist/placement-chain.d.ts.map +1 -0
- package/dist/placement-chain.js +27 -0
- package/dist/placement-chain.js.map +1 -0
- package/dist/property-table.d.ts +2 -2
- package/dist/property-table.d.ts.map +1 -1
- package/dist/step-serializers.d.ts.map +1 -1
- package/dist/step-serializers.js +19 -64
- package/dist/step-serializers.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epsg-index.generated.js","sourceRoot":"","sources":["../../src/generated/epsg-index.generated.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAc/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAC;AAEnD,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"epsg-index.generated.js","sourceRoot":"","sources":["../../src/generated/epsg-index.generated.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAc/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAC;AAEnD,MAAM,eAAe,GAAG,wx35IAAwx35I,CAAC;AAEjz35I,MAAM,CAAC,MAAM,UAAU,GAA8B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAqB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export { IfcTypeEnum, PropertyValueType, QuantityType, EntityFlags } from './typ
|
|
|
24
24
|
export type { SpatialNode, SpatialHierarchy } from './types.js';
|
|
25
25
|
export { IFC_BUILDING_STOREY_ELEVATION_INDEX, IFC_BUILDING_STOREY_PLACEMENT_INDEX, STOREY_ELEVATION_MATCH_TOLERANCE_M, findStoreyByElevation, } from './storey-elevation.js';
|
|
26
26
|
export { firstProjAxis } from './axis2-placement.js';
|
|
27
|
+
export { walkPlacementChain } from './placement-chain.js';
|
|
28
|
+
export type { PlacementChain, PlacementChainEnd, PlacementChainOptions } from './placement-chain.js';
|
|
27
29
|
export type { IfcStoreBase, IfcSourceHeader } from './data-store.js';
|
|
28
30
|
export { getAggregatedChildren, collectAggregatedDescendants } from './decomposition.js';
|
|
29
31
|
export type { DecompositionRelationships } from './decomposition.js';
|
|
@@ -50,4 +52,5 @@ export { createLogger, logger, type LogLevel, type LogContext } from './logger.j
|
|
|
50
52
|
export { safeUtf8Decode, textDecoderAcceptsSab } from './utf8-decode.js';
|
|
51
53
|
export { spatialLookups } from './spatial-lookups.js';
|
|
52
54
|
export { iterateEffectiveEntities, countEffectiveEntityTypes, type EffectiveEntity, type EffectiveEntityOverlay, type EffectiveEntitySource, } from './effective-entities.js';
|
|
55
|
+
export { readPerfFlagRaw, readPerfFlagUrlParam, parsePerfFlagUrlValue, type PerfFlagBinding, type PerfFlagGlobalName, } from './perf-flag-reader.js';
|
|
53
56
|
//# 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":"AAIA;;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;AACrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACpI,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EACL,wBAAwB,EACxB,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,EACJ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC1G,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvF,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,8 @@ export { IfcTypeEnum, PropertyValueType, QuantityType, EntityFlags } from './typ
|
|
|
22
22
|
export { IFC_BUILDING_STOREY_ELEVATION_INDEX, IFC_BUILDING_STOREY_PLACEMENT_INDEX, STOREY_ELEVATION_MATCH_TOLERANCE_M, findStoreyByElevation, } from './storey-elevation.js';
|
|
23
23
|
// The absent-RefDirection fill, one definition shared with the renderer (#5922).
|
|
24
24
|
export { firstProjAxis } from './axis2-placement.js';
|
|
25
|
+
// The one PlacementRelTo chain walker (#7791): iterative, visited set, no depth cap.
|
|
26
|
+
export { walkPlacementChain } from './placement-chain.js';
|
|
25
27
|
export { getAggregatedChildren, collectAggregatedDescendants } from './decomposition.js';
|
|
26
28
|
export { collectSpatialAncestors } from './ancestor-lookup.js';
|
|
27
29
|
export { linearToSrgb } from './color.js';
|
|
@@ -68,4 +70,8 @@ export { spatialLookups } from './spatial-lookups.js';
|
|
|
68
70
|
// tombstones plus overlay-created entities, retypes applied (#5249). The one
|
|
69
71
|
// algorithm; `@ifc-lite/mutations`' `iterateEffectiveEntityIds` delegates here.
|
|
70
72
|
export { iterateEffectiveEntities, countEffectiveEntityTypes, } from './effective-entities.js';
|
|
73
|
+
// Shared reader for `__IFC_LITE_*` runtime perf flags (#6962). The viewer's
|
|
74
|
+
// registry (apps/viewer/src/lib/perf/flags.ts) declares the flags; geometry
|
|
75
|
+
// reads its own three through the same function.
|
|
76
|
+
export { readPerfFlagRaw, readPerfFlagUrlParam, parsePerfFlagUrlValue, } from './perf-flag-reader.js';
|
|
71
77
|
//# 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;AAC/B,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one reader for runtime perf flags (#6962).
|
|
3
|
+
*
|
|
4
|
+
* Perf toggles were scattered `globalThis.__IFC_LITE_*` reads, each with its
|
|
5
|
+
* own cast. They now go through this tiny reader so the binding (which global,
|
|
6
|
+
* which URL param) is declared once per flag. It lives in this low-level
|
|
7
|
+
* package because `@ifc-lite/geometry` reads three flags on the host thread
|
|
8
|
+
* and must not import the viewer; the viewer's registry
|
|
9
|
+
* (`apps/viewer/src/lib/perf/flags.ts`) declares the full metadata (owner,
|
|
10
|
+
* removal condition, ...) and reads through the same function.
|
|
11
|
+
*
|
|
12
|
+
* `scripts/check-perf-flags.mjs` fails CI on a `__IFC_LITE_*` global read
|
|
13
|
+
* anywhere else in production code.
|
|
14
|
+
*/
|
|
15
|
+
/** Every perf global shares this prefix; the CI ratchet keys on it. */
|
|
16
|
+
export type PerfFlagGlobalName = `__IFC_LITE_${string}`;
|
|
17
|
+
/** Where a flag's raw value can come from, in precedence order. */
|
|
18
|
+
export interface PerfFlagBinding {
|
|
19
|
+
/** `globalThis` property (console / benchmark injection). Wins when set. */
|
|
20
|
+
readonly global: PerfFlagGlobalName;
|
|
21
|
+
/** Optional URL query param consulted when the global is unset. */
|
|
22
|
+
readonly urlParam?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a URL query value into the same shapes a global override takes:
|
|
26
|
+
* finite numbers, booleans, or a JSON object/array. Anything else stays a
|
|
27
|
+
* string so the flag's own parser can reject it.
|
|
28
|
+
*/
|
|
29
|
+
export declare function parsePerfFlagUrlValue(raw: string): unknown;
|
|
30
|
+
/** Raw value of a URL query param on the current page, or `null` (also off-browser). */
|
|
31
|
+
export declare function readPerfFlagUrlParam(param: string): string | null;
|
|
32
|
+
/**
|
|
33
|
+
* Raw value of a perf flag, or `undefined` when nothing overrides it (the
|
|
34
|
+
* caller applies its default). Precedence: an explicitly set global (not
|
|
35
|
+
* `undefined`/`null`), then the URL param.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readPerfFlagRaw(binding: PerfFlagBinding): unknown;
|
|
38
|
+
//# sourceMappingURL=perf-flag-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf-flag-reader.d.ts","sourceRoot":"","sources":["../src/perf-flag-reader.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,cAAc,MAAM,EAAE,CAAC;AAExD,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAQjE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
* Parse a URL query value into the same shapes a global override takes:
|
|
6
|
+
* finite numbers, booleans, or a JSON object/array. Anything else stays a
|
|
7
|
+
* string so the flag's own parser can reject it.
|
|
8
|
+
*/
|
|
9
|
+
export function parsePerfFlagUrlValue(raw) {
|
|
10
|
+
const text = raw.trim();
|
|
11
|
+
if (text === 'true')
|
|
12
|
+
return true;
|
|
13
|
+
if (text === 'false')
|
|
14
|
+
return false;
|
|
15
|
+
if (text !== '' && Number.isFinite(Number(text)))
|
|
16
|
+
return Number(text);
|
|
17
|
+
if (text.startsWith('{') || text.startsWith('[')) {
|
|
18
|
+
try {
|
|
19
|
+
return JSON.parse(text);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.warn('[perf-flags] ignoring malformed JSON URL value:', raw, error);
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return raw;
|
|
27
|
+
}
|
|
28
|
+
/** Raw value of a URL query param on the current page, or `null` (also off-browser). */
|
|
29
|
+
export function readPerfFlagUrlParam(param) {
|
|
30
|
+
const search = globalThis.location?.search;
|
|
31
|
+
if (typeof search !== 'string' || search === '')
|
|
32
|
+
return null;
|
|
33
|
+
return new URLSearchParams(search).get(param);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Raw value of a perf flag, or `undefined` when nothing overrides it (the
|
|
37
|
+
* caller applies its default). Precedence: an explicitly set global (not
|
|
38
|
+
* `undefined`/`null`), then the URL param.
|
|
39
|
+
*/
|
|
40
|
+
export function readPerfFlagRaw(binding) {
|
|
41
|
+
const value = globalThis[binding.global];
|
|
42
|
+
if (value !== undefined && value !== null)
|
|
43
|
+
return value;
|
|
44
|
+
if (binding.urlParam) {
|
|
45
|
+
const raw = readPerfFlagUrlParam(binding.urlParam);
|
|
46
|
+
if (raw !== null)
|
|
47
|
+
return parsePerfFlagUrlValue(raw);
|
|
48
|
+
}
|
|
49
|
+
return value ?? undefined;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=perf-flag-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf-flag-reader.js","sourceRoot":"","sources":["../src/perf-flag-reader.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA4B/D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,MAAM,GAAI,UAAkD,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,MAAM,KAAK,GAAI,UAAsC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one `IfcLocalPlacement.PlacementRelTo` chain walker for TypeScript
|
|
3
|
+
* (#7791 item 4, D26/D27/D30).
|
|
4
|
+
*
|
|
5
|
+
* Nine walkers across `packages/` and `apps/viewer` each followed
|
|
6
|
+
* `PlacementRelTo` with their own loop, their own cycle guard and their own
|
|
7
|
+
* depth cap (64, 128, 256, 10 000, or none). The caps silently refused a legal
|
|
8
|
+
* chain that the Rust resolver composes, and nothing locked the TS answer to
|
|
9
|
+
* Rust's. This walker is iterative, keeps a visited set and has NO depth cap:
|
|
10
|
+
* `PlacementRelTo` has fan-out 1, so a visited set alone bounds the work, and a
|
|
11
|
+
* cap would make the answer depend on where a walk started (D27).
|
|
12
|
+
*
|
|
13
|
+
* It only walks. Reading a link's attributes stays with the caller's
|
|
14
|
+
* `parentOf`, so one walker serves the byte-range readers, the entity-store
|
|
15
|
+
* readers and the overlay readers alike. The cross-language contract is pinned
|
|
16
|
+
* by `rust/geometry/tests/fixtures/placement_chain_vectors.json`, which the
|
|
17
|
+
* Rust resolver (`placement_chain_parity.rs`) and this walker both satisfy.
|
|
18
|
+
*/
|
|
19
|
+
/** How a {@link walkPlacementChain} walk ended. */
|
|
20
|
+
export type PlacementChainEnd =
|
|
21
|
+
/** `parentOf` returned `null`/`undefined`: the chain reached its root. */
|
|
22
|
+
'root'
|
|
23
|
+
/** The next parent was already on the chain; see `revisited`. */
|
|
24
|
+
| 'cycle'
|
|
25
|
+
/** `stopAt` accepted the last id in `ids`. */
|
|
26
|
+
| 'stopped';
|
|
27
|
+
export interface PlacementChain {
|
|
28
|
+
/** The start id first, then each parent in turn. Never contains an id twice. */
|
|
29
|
+
readonly ids: readonly number[];
|
|
30
|
+
readonly end: PlacementChainEnd;
|
|
31
|
+
/** For `end === 'cycle'`: the id that `parentOf` pointed back to. */
|
|
32
|
+
readonly revisited?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface PlacementChainOptions {
|
|
35
|
+
/**
|
|
36
|
+
* End the walk (inclusive) at the first id this accepts, without asking for
|
|
37
|
+
* that id's parent: an ancestor the caller already has an answer for.
|
|
38
|
+
*/
|
|
39
|
+
readonly stopAt?: (id: number) => boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Follow `parentOf` from `startId` until it has no parent, repeats an id, or
|
|
43
|
+
* `stopAt` accepts one. `parentOf` returns `null`/`undefined` for "no parent"
|
|
44
|
+
* (a root, an unreadable link and a non-placement all end the walk the same
|
|
45
|
+
* way; a caller that must tell them apart checks the last id itself).
|
|
46
|
+
*/
|
|
47
|
+
export declare function walkPlacementChain(startId: number, parentOf: (id: number) => number | null | undefined, options?: PlacementChainOptions): PlacementChain;
|
|
48
|
+
//# sourceMappingURL=placement-chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-chain.d.ts","sourceRoot":"","sources":["../src/placement-chain.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mDAAmD;AACnD,MAAM,MAAM,iBAAiB;AAC3B,0EAA0E;AACxE,MAAM;AACR,iEAAiE;GAC/D,OAAO;AACT,8CAA8C;GAC5C,SAAS,CAAC;AAEd,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,EACnD,OAAO,GAAE,qBAA0B,GAClC,cAAc,CAahB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
* Follow `parentOf` from `startId` until it has no parent, repeats an id, or
|
|
6
|
+
* `stopAt` accepts one. `parentOf` returns `null`/`undefined` for "no parent"
|
|
7
|
+
* (a root, an unreadable link and a non-placement all end the walk the same
|
|
8
|
+
* way; a caller that must tell them apart checks the last id itself).
|
|
9
|
+
*/
|
|
10
|
+
export function walkPlacementChain(startId, parentOf, options = {}) {
|
|
11
|
+
const ids = [];
|
|
12
|
+
const seen = new Set();
|
|
13
|
+
let id = startId;
|
|
14
|
+
for (;;) {
|
|
15
|
+
ids.push(id);
|
|
16
|
+
seen.add(id);
|
|
17
|
+
if (options.stopAt?.(id))
|
|
18
|
+
return { ids, end: 'stopped' };
|
|
19
|
+
const parent = parentOf(id);
|
|
20
|
+
if (parent === null || parent === undefined)
|
|
21
|
+
return { ids, end: 'root' };
|
|
22
|
+
if (seen.has(parent))
|
|
23
|
+
return { ids, end: 'cycle', revisited: parent };
|
|
24
|
+
id = parent;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=placement-chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-chain.js","sourceRoot":"","sources":["../src/placement-chain.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA8C/D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,QAAmD,EACnD,UAAiC,EAAE;IAEnC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,EAAE,GAAW,OAAO,CAAC;IACzB,SAAS,CAAC;QACR,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACtE,EAAE,GAAG,MAAM,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/property-table.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export interface Property {
|
|
|
16
16
|
/** Candidate values of a multi-valued (enumerated / bounded / list / table) property — IDS facet checks pass when ANY matches (#1766). Absent for single values. */ values?: string[];
|
|
17
17
|
/** Symbol of the property's own explicit `Unit`; an unresolvable unit reference is `#<id>` (#4833). Absent when the value is in the project's unit assignment. */
|
|
18
18
|
unit?: string;
|
|
19
|
-
/** Scale of the explicit `unit` to its SI base (`mm` → `1e-3`), only when it resolved; `unit` without it means "a unit we could not read": neither convertible nor project-unit. */
|
|
20
|
-
unitSiScale?: number;
|
|
19
|
+
/** Scale of the explicit `unit` to its SI base (`mm` → `1e-3`), only when it resolved; `unit` without it means "a unit we could not read": neither convertible nor project-unit. */ unitSiScale?: number;
|
|
20
|
+
/** Additive SI offset of `unit` (°F: `si = value * unitSiScale + unitSiOffset`), only when it has one. */ unitSiOffset?: number;
|
|
21
21
|
/** 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. */
|
|
22
22
|
dataType?: string;
|
|
23
23
|
/** `IfcPropertyTableValue`: columns differ in type by design, so no single `dataType` (#5224). */ dataTypeMixed?: true;
|
|
@@ -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,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IACvL,kKAAkK;IAClK,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oLAAoL
|
|
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,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IACvL,kKAAkK;IAClK,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oLAAoL,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC1M,0GAA0G,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACjI,oLAAoL;IACpL,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IACxH,2GAA2G,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;CAC/L;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,aAAa,EAAE,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IAEnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAC/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAC9F;;;;OAIG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAAC;CACb;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAqB;gBAErB,OAAO,EAAE,WAAW;IAIhC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI3B,KAAK,IAAI,aAAa;CA2EvB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,aAAa,CAsF3G;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAcjF;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD,iFAAiF;AACjF,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAuDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CA8C/G"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAwDrD"}
|
package/dist/step-serializers.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* place and the per-schema `serializers.ts` files are thin, drift-proof
|
|
13
13
|
* re-exports.
|
|
14
14
|
*/
|
|
15
|
-
import { decodeStepStringLiteral } from '@ifc-lite/encoding';
|
|
15
|
+
import { decodeStepStringLiteral, splitStepTopLevel } from '@ifc-lite/encoding';
|
|
16
16
|
import { isCompleteStepNumericLiteral } from './step-numeric-literal.js';
|
|
17
17
|
/**
|
|
18
18
|
* Check if value is an entity reference
|
|
@@ -127,9 +127,10 @@ export function serializeValue(value) {
|
|
|
127
127
|
* implementation (#3300); export re-exports it, a vector test pins Rust parity.
|
|
128
128
|
*/
|
|
129
129
|
export function escapeStepString(str) {
|
|
130
|
-
const escaped = str
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
const escaped = str.replace(/\\/g, '\\\\').replace(/'/g, "''");
|
|
131
|
+
// Reuse the native scans' printable ASCII result without rebuilding (#7363).
|
|
132
|
+
if (!/[^\x20-\x7E]/.test(escaped))
|
|
133
|
+
return escaped;
|
|
133
134
|
// Directive encoding for everything outside 32-126, one character at a time.
|
|
134
135
|
// Must run AFTER backslash-doubling above: the directive's own backslashes
|
|
135
136
|
// are literal syntax the reader expects undoubled.
|
|
@@ -251,31 +252,21 @@ export function parseStepValue(str) {
|
|
|
251
252
|
}
|
|
252
253
|
// Number: only a whole STEP literal. `parseFloat` reads a prefix, so `1.52.3`
|
|
253
254
|
// (a dropped comma) became `1.52`; a malformed token stays raw (#5193).
|
|
255
|
+
// An overflowing literal (`1.E400`) parses to `Infinity`; like the parser
|
|
256
|
+
// and Rust's typed overflow token (D13) it stays RAW text, never a
|
|
257
|
+
// non-finite number (#7785).
|
|
254
258
|
if (isCompleteStepNumericLiteral(str)) {
|
|
255
259
|
const num = parseFloat(str);
|
|
256
|
-
if (
|
|
260
|
+
if (Number.isFinite(num))
|
|
257
261
|
return num;
|
|
258
262
|
}
|
|
259
263
|
// Unknown
|
|
260
264
|
return str;
|
|
261
265
|
}
|
|
262
266
|
/**
|
|
263
|
-
* Parse a STEP list.
|
|
264
|
-
*
|
|
265
|
-
*
|
|
266
|
-
* single-quoted string state (with `''` escapes). Without quote-tracking, a
|
|
267
|
-
* string member containing a literal comma — e.g. `('a,b','c')`, which any
|
|
268
|
-
* IfcLabel/IfcText value is free to contain — split mid-string: `'a,b'`
|
|
269
|
-
* became the two malformed tokens `'a` and `b'` instead of the one string
|
|
270
|
-
* `a,b`. Parens/brackets *inside* a quoted string (also legal STEP content)
|
|
271
|
-
* must likewise not perturb `depth`, hence checking `inString` first.
|
|
272
|
-
*
|
|
273
|
-
* Mirrors `splitTopLevel` in `@ifc-lite/parser`'s `source-header.ts`, which
|
|
274
|
-
* already had to solve this same problem for header fields and documented
|
|
275
|
-
* why: "FILE_DESCRIPTION items ... routinely contain commas ... inside
|
|
276
|
-
* quoted strings ... which a splitter that ignores quote state would
|
|
277
|
-
* mis-split." That reasoning applies equally to any STEP list, not just
|
|
278
|
-
* header fields — this generic parser had the same gap.
|
|
267
|
+
* Parse a STEP list. Members split through `splitStepTopLevel` (@ifc-lite/encoding),
|
|
268
|
+
* which respects paren/bracket nesting, string literals (`('a,b','c')`) and
|
|
269
|
+
* `/* ... *\/` comments.
|
|
279
270
|
*/
|
|
280
271
|
function parseStepList(str) {
|
|
281
272
|
// Remove outer parentheses
|
|
@@ -283,49 +274,13 @@ function parseStepList(str) {
|
|
|
283
274
|
if (inner === '') {
|
|
284
275
|
return [];
|
|
285
276
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
current += char;
|
|
294
|
-
if (char === "'") {
|
|
295
|
-
if (inner[i + 1] === "'") {
|
|
296
|
-
current += "'";
|
|
297
|
-
i++;
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
inString = false;
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
continue;
|
|
304
|
-
}
|
|
305
|
-
if (char === "'") {
|
|
306
|
-
inString = true;
|
|
307
|
-
current += char;
|
|
308
|
-
}
|
|
309
|
-
else if (char === '(' || char === '[') {
|
|
310
|
-
depth++;
|
|
311
|
-
current += char;
|
|
312
|
-
}
|
|
313
|
-
else if (char === ')' || char === ']') {
|
|
314
|
-
depth--;
|
|
315
|
-
current += char;
|
|
316
|
-
}
|
|
317
|
-
else if (char === ',' && depth === 0) {
|
|
318
|
-
values.push(parseStepValue(current));
|
|
319
|
-
current = '';
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
current += char;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
if (current.trim()) {
|
|
326
|
-
values.push(parseStepValue(current));
|
|
327
|
-
}
|
|
328
|
-
return values;
|
|
277
|
+
// The one shared splitter (#7785): quote-, nesting- and comment-aware. An
|
|
278
|
+
// empty trailing member is dropped (STEP has no trailing comma); empty
|
|
279
|
+
// interior members stay.
|
|
280
|
+
const parts = splitStepTopLevel(inner);
|
|
281
|
+
if (parts[parts.length - 1] === '')
|
|
282
|
+
parts.pop();
|
|
283
|
+
return parts.map(parseStepValue);
|
|
329
284
|
}
|
|
330
285
|
/**
|
|
331
286
|
* Unescape a STEP string literal's inner text.
|
|
@@ -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": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"description": "Columnar data structures for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@ifc-lite/encoding": "^2.
|
|
21
|
+
"@ifc-lite/encoding": "^2.4.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/node": "^26.6.
|
|
24
|
+
"@types/node": "^26.6.4",
|
|
25
25
|
"esbuild": "^0.28.1",
|
|
26
26
|
"proj4": "^2.22.0",
|
|
27
27
|
"typescript": "^6.0.3",
|
|
28
|
-
"vitest": "^5.0.
|
|
28
|
+
"vitest": "^5.0.3"
|
|
29
29
|
},
|
|
30
30
|
"license": "MPL-2.0",
|
|
31
31
|
"author": "Louis True",
|