@ifc-lite/export 2.8.3 → 2.8.4
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/declared-property-type.d.ts +107 -0
- package/dist/declared-property-type.d.ts.map +1 -0
- package/dist/declared-property-type.js +236 -0
- package/dist/declared-property-type.js.map +1 -0
- package/dist/delta-modification-ledger.d.ts +148 -0
- package/dist/delta-modification-ledger.d.ts.map +1 -0
- package/dist/delta-modification-ledger.js +194 -0
- package/dist/delta-modification-ledger.js.map +1 -0
- package/dist/demesh-session.d.ts.map +1 -1
- package/dist/demesh-session.js +7 -0
- package/dist/demesh-session.js.map +1 -1
- package/dist/in-place-nomination.d.ts +65 -0
- package/dist/in-place-nomination.d.ts.map +1 -0
- package/dist/in-place-nomination.js +27 -0
- package/dist/in-place-nomination.js.map +1 -0
- package/dist/merged-exporter.js +1 -1
- package/dist/retype.d.ts.map +1 -1
- package/dist/retype.js +2 -1
- package/dist/retype.js.map +1 -1
- package/dist/select-qualification.d.ts +12 -0
- package/dist/select-qualification.d.ts.map +1 -1
- package/dist/select-qualification.js +12 -1
- package/dist/select-qualification.js.map +1 -1
- package/dist/source-ref-bounds.d.ts +53 -0
- package/dist/source-ref-bounds.d.ts.map +1 -0
- package/dist/source-ref-bounds.js +25 -0
- package/dist/source-ref-bounds.js.map +1 -0
- package/dist/step-argument-parser.d.ts +90 -0
- package/dist/step-argument-parser.d.ts.map +1 -0
- package/dist/step-argument-parser.js +207 -0
- package/dist/step-argument-parser.js.map +1 -0
- package/dist/step-exporter.d.ts +45 -4
- package/dist/step-exporter.d.ts.map +1 -1
- package/dist/step-exporter.js +465 -84
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-file-assembly.d.ts +35 -0
- package/dist/step-file-assembly.d.ts.map +1 -0
- package/dist/step-file-assembly.js +102 -0
- package/dist/step-file-assembly.js.map +1 -0
- package/dist/step-serialization.d.ts +48 -48
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +90 -182
- package/dist/step-serialization.js.map +1 -1
- package/dist/type-owned-psets.d.ts +36 -0
- package/dist/type-owned-psets.d.ts.map +1 -1
- package/dist/type-owned-psets.js +41 -0
- package/dist/type-owned-psets.js.map +1 -1
- package/dist/unit-normalize.d.ts.map +1 -1
- package/dist/unit-normalize.js +13 -1
- package/dist/unit-normalize.js.map +1 -1
- package/package.json +7 -6
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
*
|
|
7
7
|
* All functions in this module are pure (no side-effects, no external state)
|
|
8
8
|
* and deal exclusively with converting data to ISO 10303-21 STEP format strings.
|
|
9
|
+
*
|
|
10
|
+
* Two neighbours are deliberately NOT here, because neither turns a value into
|
|
11
|
+
* a token and both have rules of their own worth finding on their own:
|
|
12
|
+
* - `step-argument-parser.ts` reads a record's arguments back OUT of a line
|
|
13
|
+
* and writes one slot by index (`splitTopLevelArgs`, `replaceStepArgument`,
|
|
14
|
+
* `splitTopLevelStepArguments`);
|
|
15
|
+
* - `step-file-assembly.ts` joins a finished header and finished entity lines
|
|
16
|
+
* into the delivered file (`assembleStepBytes`, `assembleStepBlob`).
|
|
9
17
|
*/
|
|
10
18
|
import { serializeValue, SCHEMA_REGISTRY } from '@ifc-lite/parser';
|
|
11
19
|
import { PropertyValueType, QuantityType, formatStepReal } from '@ifc-lite/data';
|
|
@@ -139,16 +147,66 @@ export function quantityTypeToIfcType(type) {
|
|
|
139
147
|
}
|
|
140
148
|
/**
|
|
141
149
|
* Serialize a property value to STEP format (e.g. IFCLABEL, IFCREAL, etc.).
|
|
150
|
+
*
|
|
151
|
+
* The token this writes is the property's DECLARED TYPE in the exported file, so
|
|
152
|
+
* every member below has to name the IFC primitive the value was authored as —
|
|
153
|
+
* not merely one that can hold the characters. Two did not (#2472):
|
|
154
|
+
*
|
|
155
|
+
* - `Text` was written as `IFCLABEL`. `IfcLabel` is a bounded, name-like
|
|
156
|
+
* string; `IfcText` is unbounded prose. A consumer read a different type
|
|
157
|
+
* than the property was created with, and a long value exceeded what
|
|
158
|
+
* `IfcLabel` is specified to carry.
|
|
159
|
+
* - `Logical` was written as `IFCBOOLEAN` for its two definite states.
|
|
160
|
+
* `IfcBoolean` has two values; `IfcLogical` has three, and `.U.` is the
|
|
161
|
+
* reason a property is Logical rather than Boolean in the first place.
|
|
162
|
+
*
|
|
163
|
+
* Neither could be caught by a value-level round-trip: the extractor collapses
|
|
164
|
+
* every string-valued token (`IFCLABEL`, `IFCTEXT`, `IFCIDENTIFIER`) to
|
|
165
|
+
* `PropertyValueType.String` and keeps the token name only in `dataType`, so
|
|
166
|
+
* the VALUE survives export/re-import through the wrong wrapper unchanged. Only
|
|
167
|
+
* an assertion on the emitted token sees the difference — which is what
|
|
168
|
+
* `property-value-serialization.test.ts` makes.
|
|
169
|
+
*
|
|
170
|
+
* `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` is the same table for a different
|
|
171
|
+
* transport, and it already named `Text` and `Logical` correctly — so on THOSE
|
|
172
|
+
* TWO MEMBERS the two agree now. Not on the table as a whole, and this pass does
|
|
173
|
+
* not make them agree:
|
|
174
|
+
*
|
|
175
|
+
* - `String`: collab says `IfcText`, this says `IFCLABEL`. Both are guesses
|
|
176
|
+
* about a token the extractor did not keep, and they guess in opposite
|
|
177
|
+
* directions (unbounded prose vs the conservative bounded name). Changing
|
|
178
|
+
* either is a behaviour change to the OTHER transport's payload, out of
|
|
179
|
+
* #2472's scope, and it needs the argument about which guess is right made
|
|
180
|
+
* first — not a silent alignment.
|
|
181
|
+
* - `List`: collab says `IfcText`; this writes a STEP aggregate `(...)` of
|
|
182
|
+
* `IFCLABEL` items, which is not a NominalValue token at all.
|
|
183
|
+
*
|
|
184
|
+
* `Enum` was the third disagreement — collab said `IfcLabel`, this wrote a bare
|
|
185
|
+
* `.TOKEN.` — and #2488 settled it on collab's side, for the reason the case
|
|
186
|
+
* below states: the bare token is not a member of the SELECT at all.
|
|
187
|
+
*
|
|
188
|
+
* `Label`, `Identifier`, `Real`, `Integer`, `Boolean`, `Text`, `Logical`, `Enum`
|
|
189
|
+
* and `Reference` agree.
|
|
142
190
|
*/
|
|
143
191
|
export function serializePropertyValue(value, type) {
|
|
144
192
|
if (value === null || value === undefined) {
|
|
193
|
+
// `Logical` is the one member with a value FOR "no value": the extractor
|
|
194
|
+
// reads `.U.` / `.X.` back as a null-valued Logical, so `$` here would
|
|
195
|
+
// turn an explicit unknown into an omitted attribute on re-export.
|
|
196
|
+
if (type === PropertyValueType.Logical)
|
|
197
|
+
return `IFCLOGICAL(.U.)`;
|
|
145
198
|
return '$';
|
|
146
199
|
}
|
|
147
200
|
switch (type) {
|
|
201
|
+
// `String` is the extractor's catch-all for any string-valued token whose
|
|
202
|
+
// declared type it did not keep, so it stays the bounded `IfcLabel`: the
|
|
203
|
+
// conservative direction for an unknown short string, and what
|
|
204
|
+
// `PROPERTY_TYPE_NAMES` calls `Enum` and `Reference` too.
|
|
148
205
|
case PropertyValueType.String:
|
|
149
206
|
case PropertyValueType.Label:
|
|
150
|
-
case PropertyValueType.Text:
|
|
151
207
|
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
208
|
+
case PropertyValueType.Text:
|
|
209
|
+
return `IFCTEXT('${escapeStepString(String(value))}')`;
|
|
152
210
|
case PropertyValueType.Identifier:
|
|
153
211
|
return `IFCIDENTIFIER('${escapeStepString(String(value))}')`;
|
|
154
212
|
case PropertyValueType.Real: {
|
|
@@ -160,20 +218,49 @@ export function serializePropertyValue(value, type) {
|
|
|
160
218
|
case PropertyValueType.Integer:
|
|
161
219
|
return `IFCINTEGER(${Math.round(Number(value))})`;
|
|
162
220
|
case PropertyValueType.Boolean:
|
|
163
|
-
case PropertyValueType.Logical:
|
|
164
221
|
if (value === true)
|
|
165
222
|
return `IFCBOOLEAN(.T.)`;
|
|
166
223
|
if (value === false)
|
|
167
224
|
return `IFCBOOLEAN(.F.)`;
|
|
225
|
+
// A Boolean whose value is neither: no `IfcBoolean` literal says that, and
|
|
226
|
+
// `.U.` is not in its domain, so the three-state primitive is the only
|
|
227
|
+
// thing that can carry it. Unchanged from before #2472 — the Logical case
|
|
228
|
+
// below is what stopped borrowing IfcBoolean's name for it.
|
|
168
229
|
return `IFCLOGICAL(.U.)`;
|
|
230
|
+
case PropertyValueType.Logical:
|
|
231
|
+
if (value === true)
|
|
232
|
+
return `IFCLOGICAL(.T.)`;
|
|
233
|
+
if (value === false)
|
|
234
|
+
return `IFCLOGICAL(.F.)`;
|
|
235
|
+
return `IFCLOGICAL(.U.)`;
|
|
236
|
+
// `NominalValue` is declared `IfcValue`, and `IfcValue` has no ENUMERATION
|
|
237
|
+
// leaf in any schema this exporter targets (IFC2X3 / IFC4 / IFC4X3 all
|
|
238
|
+
// resolve it to IfcMeasureValue | IfcSimpleValue | IfcDerivedMeasureValue).
|
|
239
|
+
// So there is no wrapper for an enumeration token and a bare `.EXTERNAL.`
|
|
240
|
+
// is not a member of the SELECT at all — this was the one branch writing an
|
|
241
|
+
// unqualified token into a slot every other branch type-qualifies (#2488).
|
|
242
|
+
// `IfcLabel` is what the value can be expressed as, and what
|
|
243
|
+
// `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` has always called this member.
|
|
244
|
+
//
|
|
245
|
+
// No `.toUpperCase()`: it existed to build an EXPRESS enumeration name,
|
|
246
|
+
// which is upper-case by construction. A label is not, and folding the case
|
|
247
|
+
// means an authored `'external'` reads back as `'EXTERNAL'`. Nothing
|
|
248
|
+
// EXTRACTS an `Enum` (the extractor collapses every string-valued token to
|
|
249
|
+
// `String`), so this branch only ever serializes a value a session authored
|
|
250
|
+
// through `setProperty(…, PropertyValueType.Enum)` — the value the caller
|
|
251
|
+
// wrote is the one to keep.
|
|
169
252
|
case PropertyValueType.Enum:
|
|
170
|
-
return
|
|
253
|
+
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
171
254
|
case PropertyValueType.List:
|
|
172
255
|
if (Array.isArray(value)) {
|
|
173
256
|
const items = value.map(v => serializePropertyValue(v, PropertyValueType.String));
|
|
174
257
|
return `(${items.join(',')})`;
|
|
175
258
|
}
|
|
176
259
|
return '$';
|
|
260
|
+
// Includes `Reference`, which no extraction path produces (an
|
|
261
|
+
// `IfcPropertyReferenceValue` comes back as a String holding `#id`) and
|
|
262
|
+
// which this function could not express anyway: an entity reference is a
|
|
263
|
+
// different property CLASS, not a different `NominalValue` token.
|
|
177
264
|
default:
|
|
178
265
|
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
179
266
|
}
|
|
@@ -298,183 +385,4 @@ export function entityRef(expressId) {
|
|
|
298
385
|
export function stepReal(value) {
|
|
299
386
|
return { real: value };
|
|
300
387
|
}
|
|
301
|
-
/**
|
|
302
|
-
* Split a STEP argument list on top-level commas, respecting nested
|
|
303
|
-
* parentheses and quoted strings. Used by `applyAttributeMutations`.
|
|
304
|
-
*/
|
|
305
|
-
export function splitTopLevelArgs(text) {
|
|
306
|
-
const parts = [];
|
|
307
|
-
let current = '';
|
|
308
|
-
let depth = 0;
|
|
309
|
-
let inString = false;
|
|
310
|
-
for (let i = 0; i < text.length; i++) {
|
|
311
|
-
const char = text[i];
|
|
312
|
-
current += char;
|
|
313
|
-
if (inString) {
|
|
314
|
-
if (char === '\'') {
|
|
315
|
-
if (text[i + 1] === '\'') {
|
|
316
|
-
current += text[i + 1];
|
|
317
|
-
i++;
|
|
318
|
-
}
|
|
319
|
-
else {
|
|
320
|
-
inString = false;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
continue;
|
|
324
|
-
}
|
|
325
|
-
if (char === '\'') {
|
|
326
|
-
inString = true;
|
|
327
|
-
continue;
|
|
328
|
-
}
|
|
329
|
-
if (char === '(') {
|
|
330
|
-
depth++;
|
|
331
|
-
continue;
|
|
332
|
-
}
|
|
333
|
-
if (char === ')') {
|
|
334
|
-
depth--;
|
|
335
|
-
continue;
|
|
336
|
-
}
|
|
337
|
-
if (char === ',' && depth === 0) {
|
|
338
|
-
parts.push(current.slice(0, -1).trim());
|
|
339
|
-
current = '';
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
// Trailing tokens: only push if there's actual content. The previous
|
|
343
|
-
// `text.endsWith(',')` check pushed an empty trailing token for inputs
|
|
344
|
-
// like `"a,"`, producing `['a', '']` — STEP doesn't allow trailing
|
|
345
|
-
// commas, so the right answer is just `['a']`. Empty interior args
|
|
346
|
-
// (e.g. `"a,,b"` → `['a', '', 'b']`) are still produced because the
|
|
347
|
-
// comma branch above handles them.
|
|
348
|
-
if (current.trim()) {
|
|
349
|
-
parts.push(current.trim());
|
|
350
|
-
}
|
|
351
|
-
return parts;
|
|
352
|
-
}
|
|
353
|
-
/**
|
|
354
|
-
* Split a STEP argument list on top-level commas while preserving nested syntax.
|
|
355
|
-
* Similar to `splitTopLevelArgs` but uses a slightly different accumulation style
|
|
356
|
-
* suited for the `replaceEntityAttribute` call-site.
|
|
357
|
-
*/
|
|
358
|
-
export function splitTopLevelStepArguments(input) {
|
|
359
|
-
const parts = [];
|
|
360
|
-
let current = '';
|
|
361
|
-
let depth = 0;
|
|
362
|
-
let inString = false;
|
|
363
|
-
for (let i = 0; i < input.length; i++) {
|
|
364
|
-
const char = input[i];
|
|
365
|
-
if (char === "'") {
|
|
366
|
-
current += char;
|
|
367
|
-
if (inString && i + 1 < input.length && input[i + 1] === "'") {
|
|
368
|
-
current += input[i + 1];
|
|
369
|
-
i++;
|
|
370
|
-
continue;
|
|
371
|
-
}
|
|
372
|
-
inString = !inString;
|
|
373
|
-
continue;
|
|
374
|
-
}
|
|
375
|
-
if (!inString) {
|
|
376
|
-
if (char === '(')
|
|
377
|
-
depth++;
|
|
378
|
-
else if (char === ')')
|
|
379
|
-
depth--;
|
|
380
|
-
else if (char === ',' && depth === 0) {
|
|
381
|
-
parts.push(current);
|
|
382
|
-
current = '';
|
|
383
|
-
continue;
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
current += char;
|
|
387
|
-
}
|
|
388
|
-
parts.push(current);
|
|
389
|
-
return parts;
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Worst-case UTF-8 bytes per UTF-16 code unit: a lone BMP code unit needs at
|
|
393
|
-
* most 3 bytes, and a surrogate pair (2 units) needs 4 bytes for its combined
|
|
394
|
-
* codepoint — 2 bytes/unit, under the 3x bound. An unpaired surrogate is
|
|
395
|
-
* replaced with U+FFFD (3 bytes) by both `TextEncoder` and `Blob`, which also
|
|
396
|
-
* fits. `str.length * UTF8_WORST_CASE_BYTES_PER_UNIT` therefore always fits
|
|
397
|
-
* the full encoding.
|
|
398
|
-
*/
|
|
399
|
-
const UTF8_WORST_CASE_BYTES_PER_UNIT = 3;
|
|
400
|
-
/**
|
|
401
|
-
* Assemble a STEP file from header and entity lines as a Uint8Array.
|
|
402
|
-
*
|
|
403
|
-
* Two passes over `entities`, no intermediate per-entity byte arrays:
|
|
404
|
-
* 1. `TextEncoder.encodeInto` each entity into a reusable (grow-on-demand)
|
|
405
|
-
* scratch buffer just to learn its exact encoded byte length — the
|
|
406
|
-
* scratch bytes themselves are discarded.
|
|
407
|
-
* 2. Allocate the ONE final buffer sized from the lengths computed in pass 1,
|
|
408
|
-
* then `encodeInto` each entity directly into its slice.
|
|
409
|
-
*
|
|
410
|
-
* This replaces a previous single-pass version that kept a persistent
|
|
411
|
-
* `Uint8Array[]` of every encoded entity alive simultaneously (a second full
|
|
412
|
-
* copy of the file's content) purely to learn the sizes needed to allocate
|
|
413
|
-
* the final buffer. Output is byte-identical to that version.
|
|
414
|
-
*
|
|
415
|
-
* Shared by the STEP and merged exporters (was duplicated byte-for-byte in
|
|
416
|
-
* both — alignment audit).
|
|
417
|
-
*/
|
|
418
|
-
export function assembleStepBytes(header, entities) {
|
|
419
|
-
const encoder = new TextEncoder();
|
|
420
|
-
const headBytes = encoder.encode(`${header}DATA;\n`);
|
|
421
|
-
const tailBytes = encoder.encode('ENDSEC;\nEND-ISO-10303-21;\n');
|
|
422
|
-
// Pass 1: exact per-entity byte length via encodeInto into scratch space
|
|
423
|
-
// (grown on demand), so the final buffer can be allocated once.
|
|
424
|
-
let scratch = new Uint8Array(4096);
|
|
425
|
-
const entityLengths = new Array(entities.length);
|
|
426
|
-
let totalSize = headBytes.byteLength + tailBytes.byteLength;
|
|
427
|
-
for (let i = 0; i < entities.length; i++) {
|
|
428
|
-
const str = entities[i];
|
|
429
|
-
const worstCase = str.length * UTF8_WORST_CASE_BYTES_PER_UNIT;
|
|
430
|
-
if (scratch.byteLength < worstCase) {
|
|
431
|
-
scratch = new Uint8Array(Math.max(worstCase, scratch.byteLength * 2));
|
|
432
|
-
}
|
|
433
|
-
const { written } = encoder.encodeInto(str, scratch);
|
|
434
|
-
entityLengths[i] = written;
|
|
435
|
-
totalSize += written + 1; // +1 for the trailing '\n'
|
|
436
|
-
}
|
|
437
|
-
// Pass 2: encode each entity directly into its slice of the one final buffer.
|
|
438
|
-
const result = new Uint8Array(totalSize);
|
|
439
|
-
let offset = 0;
|
|
440
|
-
result.set(headBytes, offset);
|
|
441
|
-
offset += headBytes.byteLength;
|
|
442
|
-
for (let i = 0; i < entities.length; i++) {
|
|
443
|
-
const len = entityLengths[i];
|
|
444
|
-
encoder.encodeInto(entities[i], result.subarray(offset, offset + len));
|
|
445
|
-
offset += len;
|
|
446
|
-
result[offset] = 0x0a; // '\n'
|
|
447
|
-
offset += 1;
|
|
448
|
-
}
|
|
449
|
-
result.set(tailBytes, offset);
|
|
450
|
-
return result;
|
|
451
|
-
}
|
|
452
|
-
/**
|
|
453
|
-
* Assemble a STEP file as a multi-part `Blob` instead of one contiguous
|
|
454
|
-
* `Uint8Array`. Built directly from the header, entity strings, and
|
|
455
|
-
* newlines as separate `BlobPart`s — there is no final contiguous copy of
|
|
456
|
-
* the file's content in JS heap memory, since the browser stores/streams
|
|
457
|
-
* each part (and encodes it to UTF-8) independently.
|
|
458
|
-
*
|
|
459
|
-
* Intended for the browser download path: `downloadBlob`
|
|
460
|
-
* (`apps/viewer/src/lib/export/download.ts`) accepts a `Blob` directly,
|
|
461
|
-
* sidestepping the `Uint8Array`-is-not-a-`BlobPart` copy `downloadFile`
|
|
462
|
-
* otherwise has to do under TS 5.7's stricter `BlobPart` typing.
|
|
463
|
-
*
|
|
464
|
-
* Byte content is identical to `assembleStepBytes(header, entities)` — both
|
|
465
|
-
* UTF-8-encode the same header/entity/newline/tail sequence, and `Blob`
|
|
466
|
-
* string parts and `TextEncoder` follow the same WHATWG encoding spec
|
|
467
|
-
* (including replacing unpaired surrogates with U+FFFD).
|
|
468
|
-
*/
|
|
469
|
-
export function assembleStepBlob(header, entities) {
|
|
470
|
-
const parts = new Array(entities.length * 2 + 2);
|
|
471
|
-
parts[0] = `${header}DATA;\n`;
|
|
472
|
-
let i = 1;
|
|
473
|
-
for (const entity of entities) {
|
|
474
|
-
parts[i++] = entity;
|
|
475
|
-
parts[i++] = '\n';
|
|
476
|
-
}
|
|
477
|
-
parts[i] = 'ENDSEC;\nEND-ISO-10303-21;\n';
|
|
478
|
-
return new Blob(parts, { type: 'model/step' });
|
|
479
|
-
}
|
|
480
388
|
//# sourceMappingURL=step-serialization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-serialization.js","sourceRoot":"","sources":["../src/step-serialization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-serialization.js","sourceRoot":"","sources":["../src/step-serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,4 +43,40 @@ export declare function isTypeClass(typeUpper: string | undefined): boolean;
|
|
|
43
43
|
export declare function resolveTypeOwnedPsetIds(originalPsetIds: readonly number[], affectedPsetNames: ReadonlySet<string>, replacementPsetIds: ReadonlyMap<string, number>, nameOf: (psetId: number) => string | null): number[];
|
|
44
44
|
/** The STEP token for a resolved `HasPropertySets` list (`$` when empty). */
|
|
45
45
|
export declare function hasPropertySetsToken(ids: readonly number[]): string;
|
|
46
|
+
/** What the type-object rewrite produced for one entity. */
|
|
47
|
+
export interface TypeOwnedPsetRewrite {
|
|
48
|
+
/**
|
|
49
|
+
* The line to emit for the type object. NEVER null when there was a line to
|
|
50
|
+
* start with: the rewrite pass owns this entity's only defining line, so
|
|
51
|
+
* "could not repoint" must not become "not in the file".
|
|
52
|
+
*/
|
|
53
|
+
line: string;
|
|
54
|
+
/** Did `HasPropertySets` actually get repointed? */
|
|
55
|
+
repointed: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Repoint a type object's `HasPropertySets`, keeping the line either way.
|
|
59
|
+
*
|
|
60
|
+
* The caller has already made the source-iteration pass skip this entity
|
|
61
|
+
* (`rewrittenEntityIds`), on the promise that this pass writes its replacement.
|
|
62
|
+
* `replaceStepArgument` returns null for a record it cannot parse as
|
|
63
|
+
* `#id=TYPE(...);` with at least six arguments — not a schema question (every
|
|
64
|
+
* `IfcTypeObject` subtype declares `HasPropertySets` at slot 5) but an INPUT
|
|
65
|
+
* one: a truncated or hand-mangled line in the file being exported. Returning
|
|
66
|
+
* null to the caller made it emit nothing, and the entity then vanished from
|
|
67
|
+
* the output entirely — not a wrong attribute, the whole record, in silence.
|
|
68
|
+
*
|
|
69
|
+
* So a failed replacement falls back to the line the mutation pipeline
|
|
70
|
+
* produced, which is byte-for-byte what the source-iteration pass would have
|
|
71
|
+
* written for this entity had it not been told to skip it. The property-set
|
|
72
|
+
* change is lost — it has nowhere to go on a line without the slot — and
|
|
73
|
+
* {@link typeOwnedPsetRewriteWarning} is how the caller says so out loud.
|
|
74
|
+
*/
|
|
75
|
+
export declare function rewriteTypeOwnedPsetLine(mutatedLine: string, resolvedPsetIds: readonly number[]): TypeOwnedPsetRewrite;
|
|
76
|
+
/**
|
|
77
|
+
* Why a type object's property-set change could not be written, in the words a
|
|
78
|
+
* consumer of `stats.warnings` needs: what was lost, what was kept, and that
|
|
79
|
+
* neither is a transient failure they can retry away.
|
|
80
|
+
*/
|
|
81
|
+
export declare function typeOwnedPsetRewriteWarning(entityId: number, reason: 'unparseable-line' | 'no-source-bytes'): string;
|
|
46
82
|
//# sourceMappingURL=type-owned-psets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-owned-psets.d.ts","sourceRoot":"","sources":["../src/type-owned-psets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type-owned-psets.d.ts","sourceRoot":"","sources":["../src/type-owned-psets.ts"],"names":[],"mappings":"AAmBA,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAMxC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAOlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,EACtC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACxC,MAAM,EAAE,CAwBV;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEnE;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,oBAAoB,CAStB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,GAC7C,MAAM,CAcR"}
|
package/dist/type-owned-psets.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* occurrence and its psets went out on a relation (#2012).
|
|
14
14
|
*/
|
|
15
15
|
import { getInheritanceChainAcrossSchemas } from '@ifc-lite/parser';
|
|
16
|
+
import { replaceStepArgument } from './step-argument-parser.js';
|
|
16
17
|
/** `HasPropertySets` is slot 5 on every `IfcTypeObject` subtype, all schemas. */
|
|
17
18
|
export const HAS_PROPERTY_SETS_SLOT = 5;
|
|
18
19
|
/** class name → is it an `IfcTypeObject`. A property of the class, asked once
|
|
@@ -93,4 +94,44 @@ export function resolveTypeOwnedPsetIds(originalPsetIds, affectedPsetNames, repl
|
|
|
93
94
|
export function hasPropertySetsToken(ids) {
|
|
94
95
|
return ids.length > 0 ? `(${ids.map((id) => `#${id}`).join(',')})` : '$';
|
|
95
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Repoint a type object's `HasPropertySets`, keeping the line either way.
|
|
99
|
+
*
|
|
100
|
+
* The caller has already made the source-iteration pass skip this entity
|
|
101
|
+
* (`rewrittenEntityIds`), on the promise that this pass writes its replacement.
|
|
102
|
+
* `replaceStepArgument` returns null for a record it cannot parse as
|
|
103
|
+
* `#id=TYPE(...);` with at least six arguments — not a schema question (every
|
|
104
|
+
* `IfcTypeObject` subtype declares `HasPropertySets` at slot 5) but an INPUT
|
|
105
|
+
* one: a truncated or hand-mangled line in the file being exported. Returning
|
|
106
|
+
* null to the caller made it emit nothing, and the entity then vanished from
|
|
107
|
+
* the output entirely — not a wrong attribute, the whole record, in silence.
|
|
108
|
+
*
|
|
109
|
+
* So a failed replacement falls back to the line the mutation pipeline
|
|
110
|
+
* produced, which is byte-for-byte what the source-iteration pass would have
|
|
111
|
+
* written for this entity had it not been told to skip it. The property-set
|
|
112
|
+
* change is lost — it has nowhere to go on a line without the slot — and
|
|
113
|
+
* {@link typeOwnedPsetRewriteWarning} is how the caller says so out loud.
|
|
114
|
+
*/
|
|
115
|
+
export function rewriteTypeOwnedPsetLine(mutatedLine, resolvedPsetIds) {
|
|
116
|
+
const rewritten = replaceStepArgument(mutatedLine, HAS_PROPERTY_SETS_SLOT, hasPropertySetsToken(resolvedPsetIds));
|
|
117
|
+
return rewritten !== null
|
|
118
|
+
? { line: rewritten, repointed: true }
|
|
119
|
+
: { line: mutatedLine, repointed: false };
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Why a type object's property-set change could not be written, in the words a
|
|
123
|
+
* consumer of `stats.warnings` needs: what was lost, what was kept, and that
|
|
124
|
+
* neither is a transient failure they can retry away.
|
|
125
|
+
*/
|
|
126
|
+
export function typeOwnedPsetRewriteWarning(entityId, reason) {
|
|
127
|
+
if (reason === 'no-source-bytes') {
|
|
128
|
+
return (`Type object #${entityId}: no source bytes were available to rewrite, so its `
|
|
129
|
+
+ 'property-set change was not applied and no line was written for it.');
|
|
130
|
+
}
|
|
131
|
+
return (`Type object #${entityId}: its source line does not parse as a STEP record with a `
|
|
132
|
+
+ `HasPropertySets slot (slot ${HAS_PROPERTY_SETS_SLOT}), so its property-set change was `
|
|
133
|
+
+ 'not applied. The line was kept as it stands, carrying the session\'s other edits, rather '
|
|
134
|
+
+ 'than dropped — but any replacement property set this export generated for it is '
|
|
135
|
+
+ 'unreferenced. Repair the record in the source file and export again.');
|
|
136
|
+
}
|
|
96
137
|
//# sourceMappingURL=type-owned-psets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-owned-psets.js","sourceRoot":"","sources":["../src/type-owned-psets.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"type-owned-psets.js","sourceRoot":"","sources":["../src/type-owned-psets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-normalize.d.ts","sourceRoot":"","sources":["../src/unit-normalize.ts"],"names":[],"mappings":"AAkFA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAC;CAChB;AA0BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAMvE;AAqCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMlD;AAYD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxE;AAgBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAYR;AAmDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"unit-normalize.d.ts","sourceRoot":"","sources":["../src/unit-normalize.ts"],"names":[],"mappings":"AAkFA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAC;CAChB;AA0BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAMvE;AAqCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAMlD;AAYD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxE;AAgBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAYR;AAmDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CA6DR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKvF"}
|
package/dist/unit-normalize.js
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
*/
|
|
55
55
|
import { getAllAttributesForEntity } from '@ifc-lite/parser';
|
|
56
56
|
import { formatStepReal } from '@ifc-lite/data';
|
|
57
|
-
import { splitTopLevelStepArguments } from './step-
|
|
57
|
+
import { splitTopLevelStepArguments } from './step-argument-parser.js';
|
|
58
58
|
/** IFC defined types whose values are lengths (STEP writes them as bare reals). */
|
|
59
59
|
const LENGTH_MEASURE_TYPES = new Set([
|
|
60
60
|
'IfcLengthMeasure',
|
|
@@ -291,6 +291,18 @@ export function rescaleEntityLengths(line, typeUpper, lengthFactor, areaFactor,
|
|
|
291
291
|
let skipValues = false;
|
|
292
292
|
if (hasStructural || plan.unitGuardIdx.length > 0) {
|
|
293
293
|
const args = splitTopLevelStepArguments(inner);
|
|
294
|
+
// An INVARIANT here, not a reachable branch, and deliberately kept as code
|
|
295
|
+
// rather than an assertion: `findOuterArgs` returns the span between a `(`
|
|
296
|
+
// and the `)` that closes it, tracking quotes and depth to get there — so
|
|
297
|
+
// by construction `inner` has balanced parens, never dips below depth zero,
|
|
298
|
+
// and cannot end inside a string. Those are exactly the three ways
|
|
299
|
+
// `splitTopLevelStepArguments` refuses, so a malformed line never reaches
|
|
300
|
+
// this call: it has already returned at `if (!bounds) return line` above.
|
|
301
|
+
// The guard is what makes that reasoning explicit (and what the
|
|
302
|
+
// `string[] | null` type requires); leaving the line untouched is the right
|
|
303
|
+
// answer if it ever stops holding.
|
|
304
|
+
if (args === null)
|
|
305
|
+
return line;
|
|
294
306
|
// A live unit-override reference means the value is already in its own unit.
|
|
295
307
|
skipValues = plan.unitGuardIdx.some((idx) => {
|
|
296
308
|
const u = args[idx]?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-normalize.js","sourceRoot":"","sources":["../src/unit-normalize.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"unit-normalize.js","sourceRoot":"","sources":["../src/unit-normalize.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,mFAAmF;AACnF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,kBAAkB;IAClB,0BAA0B;IAC1B,6BAA6B;CAC9B,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,mBAAmB,EAAE,WAAW,EAAE,wBAAwB,EAAE,yBAAyB;IACrF,gBAAgB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,iBAAiB;IACvF,oBAAoB;CACrB,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAC3F,CAAC;AA0BD,MAAM,UAAU,GAAqB;IACnC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI;CACtF,CAAC;AAEF,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;AAE1E,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEtD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,KAA4D;IAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK;WACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,IAAI,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC9C,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,IAAI,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IAEpD,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAEpD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBACvB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC;YAClD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,4EAA4E;QAC5E,+EAA+E;QAC/E,kDAAkD;QAClD,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;WACvD,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;IAC/C,8EAA8E;IAC9E,6EAA6E;IAC7E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,mEAAmE,CAAC;AAE5F;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QACzD,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GACpB,4HAA4H,CAAC;AAE/H,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,YAAoB,EACpB,UAAkB,EAClB,YAAoB;IAEpB,OAAO,IAAI,CAAC,OAAO,CACjB,gBAAgB,EAChB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QACjC,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC,yBAAyB;QAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU;YACjD,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAC,CAAC,CAAC,YAAY;gBAC1C,CAAC,CAAC,YAAY,CAAC,CAAC,qBAAqB;QACvC,OAAO,GAAG,KAAK,GAAG,OAAO,IAAI,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;IAClE,CAAC,CACF,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,SAAS,kBAAkB,CAAC,GAAW,EAAE,MAAc;IACrD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACtD,OAAO,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,yFAAyF;AACzF,SAAS,cAAc,CAAC,GAAW,EAAE,MAAc;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IACrE,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,8EAA8E;IAC9E,4DAA4D;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;oBAAE,CAAC,EAAE,CAAC,CAAC,gBAAgB;;oBACzC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9C,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACpB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,SAAiB,EACjB,YAAoB,EACpB,UAAkB,EAClB,YAAoB;IAEpB,IAAI,YAAY,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAClH,IAAI,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;WACrE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1D,kFAAkF;IAClF,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/F,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC/C,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,mEAAmE;QACnE,0EAA0E;QAC1E,0EAA0E;QAC1E,gEAAgE;QAChE,4EAA4E;QAC5E,mCAAmC;QACnC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,6EAA6E;QAC7E,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YACxF,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YACnF,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;YACjF,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;YACnF,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,kFAAkF;IAClF,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB,EAAE,YAAoB;IAC7E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,UAAU,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,IAAI,UAAU,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,UAAU,GAAG,YAAY,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/export",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.4",
|
|
4
4
|
"description": "Export formats for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
"parquet-wasm": "^0.7.2",
|
|
17
17
|
"apache-arrow": "^21.2.0",
|
|
18
18
|
"jszip": "^3.10.0",
|
|
19
|
-
"@ifc-lite/geometry": "^3.
|
|
20
|
-
"@ifc-lite/data": "^3.2.
|
|
21
|
-
"@ifc-lite/encoding": "^1.
|
|
22
|
-
"@ifc-lite/parser": "^4.0.
|
|
23
|
-
"@ifc-lite/mutations": "^1.
|
|
19
|
+
"@ifc-lite/geometry": "^3.8.0",
|
|
20
|
+
"@ifc-lite/data": "^3.2.3",
|
|
21
|
+
"@ifc-lite/encoding": "^1.16.0",
|
|
22
|
+
"@ifc-lite/parser": "^4.0.1",
|
|
23
|
+
"@ifc-lite/mutations": "^1.25.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"typescript": "^6.0.3",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
],
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "pnpm exec tsc",
|
|
56
|
+
"typecheck": "node ../../scripts/typecheck-tests.mjs",
|
|
56
57
|
"dev": "pnpm exec tsc --watch",
|
|
57
58
|
"test": "vitest run"
|
|
58
59
|
}
|