@ifc-lite/export 4.3.5 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attribute-slot-types.d.ts +8 -2
- package/dist/attribute-slot-types.d.ts.map +1 -1
- package/dist/attribute-slot-types.js +10 -6
- package/dist/attribute-slot-types.js.map +1 -1
- package/dist/effective-appearance-record.d.ts.map +1 -1
- package/dist/effective-appearance-record.js +10 -17
- package/dist/effective-appearance-record.js.map +1 -1
- package/dist/effective-source-record.d.ts +51 -0
- package/dist/effective-source-record.d.ts.map +1 -0
- package/dist/effective-source-record.js +58 -0
- package/dist/effective-source-record.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -50,8 +50,14 @@ export declare function serializeEnumToken(value: string): string;
|
|
|
50
50
|
* only legal tokens are a quoted string and the null/derived markers, so there
|
|
51
51
|
* is nothing to infer.
|
|
52
52
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
53
|
+
* `$` and `*` keep their existing meaning as those markers, matching the
|
|
54
|
+
* source file's own STEP tokens for "unset" and "derived". `''` does NOT fold
|
|
55
|
+
* into `$`: STEP distinguishes a genuinely empty string (`''`) from an absent
|
|
56
|
+
* one (`$`), IfcOpenShell preserves that distinction on read, and #4881/#4909
|
|
57
|
+
* made the read side keep it too. Folding an edited `''` into `$` here made
|
|
58
|
+
* an explicit empty `IfcLabel`/`IfcText` collapse to absent the moment it was
|
|
59
|
+
* touched (#4931) — the caller's way to mark an attribute absent is to write
|
|
60
|
+
* the `$` token itself, not the empty string.
|
|
55
61
|
*/
|
|
56
62
|
export declare function serializeStringSlot(value: string): string;
|
|
57
63
|
//# sourceMappingURL=attribute-slot-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-slot-types.d.ts","sourceRoot":"","sources":["../src/attribute-slot-types.ts"],"names":[],"mappings":"AAuKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE3E;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED
|
|
1
|
+
{"version":3,"file":"attribute-slot-types.d.ts","sourceRoot":"","sources":["../src/attribute-slot-types.ts"],"names":[],"mappings":"AAuKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAE3E;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD"}
|
|
@@ -223,14 +223,18 @@ export function serializeEnumToken(value) {
|
|
|
223
223
|
* only legal tokens are a quoted string and the null/derived markers, so there
|
|
224
224
|
* is nothing to infer.
|
|
225
225
|
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
226
|
+
* `$` and `*` keep their existing meaning as those markers, matching the
|
|
227
|
+
* source file's own STEP tokens for "unset" and "derived". `''` does NOT fold
|
|
228
|
+
* into `$`: STEP distinguishes a genuinely empty string (`''`) from an absent
|
|
229
|
+
* one (`$`), IfcOpenShell preserves that distinction on read, and #4881/#4909
|
|
230
|
+
* made the read side keep it too. Folding an edited `''` into `$` here made
|
|
231
|
+
* an explicit empty `IfcLabel`/`IfcText` collapse to absent the moment it was
|
|
232
|
+
* touched (#4931) — the caller's way to mark an attribute absent is to write
|
|
233
|
+
* the `$` token itself, not the empty string.
|
|
228
234
|
*/
|
|
229
235
|
export function serializeStringSlot(value) {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return trimmed === '*' ? '*' : '$';
|
|
233
|
-
}
|
|
236
|
+
if (value === '$' || value === '*')
|
|
237
|
+
return value;
|
|
234
238
|
return `'${escapeStepString(value)}'`;
|
|
235
239
|
}
|
|
236
240
|
//# sourceMappingURL=attribute-slot-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-slot-types.js","sourceRoot":"","sources":["../src/attribute-slot-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"attribute-slot-types.js","sourceRoot":"","sources":["../src/attribute-slot-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-appearance-record.d.ts","sourceRoot":"","sources":["../src/effective-appearance-record.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"effective-appearance-record.d.ts","sourceRoot":"","sources":["../src/effective-appearance-record.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMjE,gFAAgF;AAChF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,GACtF,MAAM,CAiBR;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlE"}
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { asSourceBytes, parseStepValue } from '@ifc-lite/parser';
|
|
5
|
-
import { serializeEntityArgs } from './attribute-real-slots.js';
|
|
6
|
-
import { applyOverlayEntityOverrides } from './step-overlay-attribute-overrides.js';
|
|
7
5
|
import { applySourceLineMutations } from './step-attribute-mutations.js';
|
|
8
|
-
import { readStepSlots
|
|
9
|
-
import {
|
|
6
|
+
import { readStepSlots } from './step-argument-parser.js';
|
|
7
|
+
import { effectiveCreatedRecord } from './effective-source-record.js';
|
|
10
8
|
/** Compose the existing STEP writers; never invent a second override policy. */
|
|
11
9
|
export function effectiveAppearanceRecord(store, view, index, id) {
|
|
12
10
|
const record = index.get(id);
|
|
@@ -14,20 +12,15 @@ export function effectiveAppearanceRecord(store, view, index, id) {
|
|
|
14
12
|
throw new Error('Missing IFC entity during appearance cleanup; resources were retained.');
|
|
15
13
|
const schema = store.schemaVersion || 'IFC4';
|
|
16
14
|
const named = new Map(view.getAttributeMutationsForEntity(id).map(({ name, value }) => [name, value]));
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const type = retype?.newType ?? created.type;
|
|
21
|
-
let args = serializeEntityArgs(created.type, created.attributes, schema);
|
|
22
|
-
if (retype) {
|
|
23
|
-
const slots = splitTopLevelStepArguments(args);
|
|
24
|
-
if (slots === null)
|
|
25
|
-
throw new Error('Invalid authored IFC entity during appearance cleanup; resources were retained.');
|
|
26
|
-
args = retypeArgTokens(slots, created.type, type, retype.predefinedType, schema).tokens.join(',');
|
|
27
|
-
}
|
|
28
|
-
args = applyOverlayEntityOverrides(args, type, named, view.getPositionalMutationsForEntity(id), schema);
|
|
29
|
-
return `#${id}=${type.toUpperCase()}(${args});`;
|
|
15
|
+
let createdRecord;
|
|
16
|
+
try {
|
|
17
|
+
createdRecord = effectiveCreatedRecord(view, id, store.schemaVersion);
|
|
30
18
|
}
|
|
19
|
+
catch {
|
|
20
|
+
throw new Error('Invalid authored IFC entity during appearance cleanup; resources were retained.');
|
|
21
|
+
}
|
|
22
|
+
if (createdRecord)
|
|
23
|
+
return createdRecord.text;
|
|
31
24
|
const source = asSourceBytes(store.source);
|
|
32
25
|
const original = source.decodeUtf8(record.byteOffset, record.byteOffset + record.byteLength);
|
|
33
26
|
const result = applySourceLineMutations(view, id, original, record.type, named, schema, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-appearance-record.js","sourceRoot":"","sources":["../src/effective-appearance-record.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAC/D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AAGpF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"effective-appearance-record.js","sourceRoot":"","sources":["../src/effective-appearance-record.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAC/D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AAGpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,gFAAgF;AAChF,MAAM,UAAU,yBAAyB,CACvC,KAAmB,EAAE,IAAyB,EAAE,KAA2B,EAAE,EAAU;IAEvF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IACvG,MAAM,MAAM,GAAI,KAAK,CAAC,aAAkC,IAAI,MAAM,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACvG,IAAI,aAAoD,CAAC;IACzD,IAAI,CAAC;QACH,aAAa,GAAG,sBAAsB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9F,IAAI,MAAM,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IAC3H,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IACjH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One source record as `StepExporter` will write it: the view's pending
|
|
3
|
+
* retype, named and positional edits applied by THE exporter pipeline
|
|
4
|
+
* (`applySourceLineMutations`), not by a second serializer.
|
|
5
|
+
*
|
|
6
|
+
* A read model that wants to agree with `bim.export.ifc()` byte for byte
|
|
7
|
+
* (the cost read model, #4857) reads this text instead of re-deriving what
|
|
8
|
+
* each edit kind serializes to — an enum slot written `.ADD.`, a positional
|
|
9
|
+
* `AppliedValue`, a retyped class keyword, the `index >= args.length` skip on
|
|
10
|
+
* a truncated record. Every one of those is decided here, once.
|
|
11
|
+
*/
|
|
12
|
+
import type { MutablePropertyView } from '@ifc-lite/mutations';
|
|
13
|
+
export interface EffectiveSourceRecord {
|
|
14
|
+
/** The record text the exporter writes (the source text when no edit reaches it). */
|
|
15
|
+
text: string;
|
|
16
|
+
/**
|
|
17
|
+
* Pending edits the exporter DECLINES to write for this record, each as the
|
|
18
|
+
* reason it gives: a record whose argument list does not scan, or a
|
|
19
|
+
* non-numeric value for a REAL-typed slot. The exporter keeps the source
|
|
20
|
+
* slot and warns; a reader must say so too rather than report the source
|
|
21
|
+
* value as if no edit were pending.
|
|
22
|
+
*/
|
|
23
|
+
notWritten: string[];
|
|
24
|
+
}
|
|
25
|
+
export declare function effectiveSourceRecord(view: MutablePropertyView, expressId: number, sourceText: string, sourceType: string, schemaVersion: string | undefined): EffectiveSourceRecord;
|
|
26
|
+
/**
|
|
27
|
+
* An overlay-CREATED entity's record, exactly as `StepExporter` — via
|
|
28
|
+
* `writeOverlayCreatedEntities` — will write it: the authored attributes,
|
|
29
|
+
* re-laid-out for a pending retype, then every attribute/positional edit made
|
|
30
|
+
* AFTER the create applied on top. Extracted from `effectiveAppearanceRecord`
|
|
31
|
+
* (#4857 PR A) so a reader that wants an overlay-created entity to read
|
|
32
|
+
* exactly as the exported file will state it — the cost read model
|
|
33
|
+
* (`CostMutationOverlay.created()`), so an authored `IfcCostItem` is visible
|
|
34
|
+
* to `bim.cost` before the model is ever exported — goes through the same one
|
|
35
|
+
* writer `effectiveAppearanceRecord` already used, rather than a second
|
|
36
|
+
* re-implementation of retype + override layering.
|
|
37
|
+
*
|
|
38
|
+
* Returns `null` when `expressId` names no overlay-created entity (nothing to
|
|
39
|
+
* report — the caller falls back to the source-record path). Throws when the
|
|
40
|
+
* created entity's authored argument list does not scan for a pending retype:
|
|
41
|
+
* the same condition `effectiveAppearanceRecord` throws on, since neither
|
|
42
|
+
* caller can hand back a well-formed record. A `created()` caller in a read
|
|
43
|
+
* model (as opposed to export, which must fail loudly) should catch this and
|
|
44
|
+
* report a diagnostic instead of propagating it.
|
|
45
|
+
*/
|
|
46
|
+
export declare function effectiveCreatedRecord(view: MutablePropertyView, expressId: number, schemaVersion: string | undefined): {
|
|
47
|
+
type: string;
|
|
48
|
+
text: string;
|
|
49
|
+
notWritten: string[];
|
|
50
|
+
} | null;
|
|
51
|
+
//# sourceMappingURL=effective-source-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-source-record.d.ts","sourceRoot":"","sources":["../src/effective-source-record.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,qBAAqB,CAevB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAsB7D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 { applySourceLineMutations } from './step-attribute-mutations.js';
|
|
5
|
+
import { serializeEntityArgs } from './attribute-real-slots.js';
|
|
6
|
+
import { splitTopLevelStepArguments } from './step-argument-parser.js';
|
|
7
|
+
import { retypeArgTokens } from './retype.js';
|
|
8
|
+
import { applyOverlayEntityOverrides } from './step-overlay-attribute-overrides.js';
|
|
9
|
+
export function effectiveSourceRecord(view, expressId, sourceText, sourceType, schemaVersion) {
|
|
10
|
+
const named = new Map(view.getAttributeMutationsForEntity(expressId).map(({ name, value }) => [name, value]));
|
|
11
|
+
const notWritten = [];
|
|
12
|
+
const result = applySourceLineMutations(view, expressId, sourceText, sourceType, named, schemaVersion || 'IFC4', true, (name, value) => notWritten.push(`${name} = ${JSON.stringify(value)} is not a number and the slot is REAL-typed`));
|
|
13
|
+
if (result.unreadable)
|
|
14
|
+
notWritten.push('the record\'s argument list does not scan, so no pending edit can be placed');
|
|
15
|
+
return { text: result.text, notWritten };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* An overlay-CREATED entity's record, exactly as `StepExporter` — via
|
|
19
|
+
* `writeOverlayCreatedEntities` — will write it: the authored attributes,
|
|
20
|
+
* re-laid-out for a pending retype, then every attribute/positional edit made
|
|
21
|
+
* AFTER the create applied on top. Extracted from `effectiveAppearanceRecord`
|
|
22
|
+
* (#4857 PR A) so a reader that wants an overlay-created entity to read
|
|
23
|
+
* exactly as the exported file will state it — the cost read model
|
|
24
|
+
* (`CostMutationOverlay.created()`), so an authored `IfcCostItem` is visible
|
|
25
|
+
* to `bim.cost` before the model is ever exported — goes through the same one
|
|
26
|
+
* writer `effectiveAppearanceRecord` already used, rather than a second
|
|
27
|
+
* re-implementation of retype + override layering.
|
|
28
|
+
*
|
|
29
|
+
* Returns `null` when `expressId` names no overlay-created entity (nothing to
|
|
30
|
+
* report — the caller falls back to the source-record path). Throws when the
|
|
31
|
+
* created entity's authored argument list does not scan for a pending retype:
|
|
32
|
+
* the same condition `effectiveAppearanceRecord` throws on, since neither
|
|
33
|
+
* caller can hand back a well-formed record. A `created()` caller in a read
|
|
34
|
+
* model (as opposed to export, which must fail loudly) should catch this and
|
|
35
|
+
* report a diagnostic instead of propagating it.
|
|
36
|
+
*/
|
|
37
|
+
export function effectiveCreatedRecord(view, expressId, schemaVersion) {
|
|
38
|
+
const created = view.getNewEntity(expressId);
|
|
39
|
+
if (!created)
|
|
40
|
+
return null;
|
|
41
|
+
const schema = schemaVersion || 'IFC4';
|
|
42
|
+
const named = new Map(view.getAttributeMutationsForEntity(expressId).map(({ name, value }) => [name, value]));
|
|
43
|
+
const retype = view.getEntityTypeMutation(expressId);
|
|
44
|
+
const type = retype?.newType ?? created.type;
|
|
45
|
+
let args = serializeEntityArgs(created.type, created.attributes, schema);
|
|
46
|
+
if (retype) {
|
|
47
|
+
const slots = splitTopLevelStepArguments(args);
|
|
48
|
+
if (slots === null) {
|
|
49
|
+
throw new Error(`#${expressId}: the authored argument list does not scan, so the pending retype cannot be laid out`);
|
|
50
|
+
}
|
|
51
|
+
args = retypeArgTokens(slots, created.type, type, retype.predefinedType, schema).tokens.join(',');
|
|
52
|
+
}
|
|
53
|
+
const notWritten = [];
|
|
54
|
+
args = applyOverlayEntityOverrides(args, type, named, view.getPositionalMutationsForEntity(expressId), schema, (name, value) => notWritten.push(`${name} = ${JSON.stringify(value)} is not a number and the slot is REAL-typed`));
|
|
55
|
+
const upper = type.toUpperCase();
|
|
56
|
+
return { type: upper, text: `#${expressId}=${upper}(${args});`, notWritten };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=effective-source-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-source-record.js","sourceRoot":"","sources":["../src/effective-source-record.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -25,4 +25,5 @@ export { escapeCsvCell, guardSpreadsheetFormula, type CsvCellOptions } from './c
|
|
|
25
25
|
export { tableToCsv, csvCellOf, type TableToCsvOptions, type TableColumn } from './csv-table.js';
|
|
26
26
|
export { planAuthoredResourceCleanup } from './authored-resource-cleanup.js';
|
|
27
27
|
export { captureAppearanceDependencies } from './appearance-dependencies.js';
|
|
28
|
+
export { effectiveSourceRecord, type EffectiveSourceRecord, effectiveCreatedRecord } from './effective-source-record.js';
|
|
28
29
|
//# 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;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxI,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAStE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxI,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAStE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -47,4 +47,8 @@ export { escapeCsvCell, guardSpreadsheetFormula } from './csv-cell.js';
|
|
|
47
47
|
export { tableToCsv, csvCellOf } from './csv-table.js';
|
|
48
48
|
export { planAuthoredResourceCleanup } from './authored-resource-cleanup.js';
|
|
49
49
|
export { captureAppearanceDependencies } from './appearance-dependencies.js';
|
|
50
|
+
// A source record as the exporter writes it, pending edits applied by the
|
|
51
|
+
// exporter's own pipeline: read models that must agree with the exported
|
|
52
|
+
// bytes (the cost read model, #4857) read this instead of re-serializing.
|
|
53
|
+
export { effectiveSourceRecord, effectiveCreatedRecord } from './effective-source-record.js';
|
|
50
54
|
//# 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,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,uEAAuE;AACvE,mGAAmG;AACnG,8EAA8E;AAC9E,gDAAgD;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0E,MAAM,oBAAoB,CAAC;AACxI,0EAA0E;AAC1E,mEAAmE;AACnE,qEAAqE;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,OAAO,EAAE,cAAc,EAA0H,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAItF,OAAO,EACL,aAAa,GAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,6EAA6E;AAC7E,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,uBAAuB;AACvB,8EAA8E;AAC9E,+EAA+E;AAC/E,iEAAiE;AACjE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAuB,MAAM,eAAe,CAAC;AAC5F,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,uEAAuE;AACvE,mGAAmG;AACnG,8EAA8E;AAC9E,gDAAgD;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0E,MAAM,oBAAoB,CAAC;AACxI,0EAA0E;AAC1E,mEAAmE;AACnE,qEAAqE;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,OAAO,EAAE,cAAc,EAA0H,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAItF,OAAO,EACL,aAAa,GAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,6EAA6E;AAC7E,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,uBAAuB;AACvB,8EAA8E;AAC9E,+EAA+E;AAC/E,iEAAiE;AACjE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAuB,MAAM,eAAe,CAAC;AAC5F,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,EAAE,qBAAqB,EAA8B,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/export",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"description": "Export formats for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"parquet-wasm": "^0.7.2",
|
|
17
17
|
"apache-arrow": "^21.2.0",
|
|
18
18
|
"jszip": "^3.10.0",
|
|
19
|
-
"@ifc-lite/geometry": "^7.
|
|
20
|
-
"@ifc-lite/codegen": "^1.
|
|
21
|
-
"@ifc-lite/data": "^
|
|
19
|
+
"@ifc-lite/geometry": "^7.4.0",
|
|
20
|
+
"@ifc-lite/codegen": "^1.18.0",
|
|
21
|
+
"@ifc-lite/data": "^5.0.0",
|
|
22
22
|
"@ifc-lite/encoding": "^2.2.0",
|
|
23
|
-
"@ifc-lite/parser": "^
|
|
24
|
-
"@ifc-lite/mutations": "^2.
|
|
25
|
-
"@ifc-lite/ifcx": "^4.1.
|
|
23
|
+
"@ifc-lite/parser": "^8.0.0",
|
|
24
|
+
"@ifc-lite/mutations": "^2.5.0",
|
|
25
|
+
"@ifc-lite/ifcx": "^4.1.2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"typescript": "^6.0.3",
|