@ifc-lite/mutations 1.23.0 → 1.24.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/dist/change-set-to-ops.d.ts.map +1 -1
- package/dist/change-set-to-ops.js +55 -2
- package/dist/change-set-to-ops.js.map +1 -1
- package/dist/csv-connector.d.ts.map +1 -1
- package/dist/csv-connector.js +3 -0
- package/dist/csv-connector.js.map +1 -1
- package/dist/effective-changes.d.ts +60 -0
- package/dist/effective-changes.d.ts.map +1 -0
- package/dist/effective-changes.js +277 -0
- package/dist/effective-changes.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mutable-property-view.d.ts +133 -5
- package/dist/mutable-property-view.d.ts.map +1 -1
- package/dist/mutable-property-view.js +502 -28
- package/dist/mutable-property-view.js.map +1 -1
- package/dist/types.d.ts +49 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @ifc-lite/mutations - Mutation tracking for IFC data
|
|
6
6
|
*/
|
|
7
7
|
export * from './types.js';
|
|
8
|
-
export { MutablePropertyView } from './mutable-property-view.js';
|
|
8
|
+
export { MutablePropertyView, } from './mutable-property-view.js';
|
|
9
9
|
export { StoreEditor, OVERLAY_BYTE_OFFSET, setEntityTypeNormalizer, } from './store-editor.js';
|
|
10
10
|
export { ChangeSetManager } from './change-set.js';
|
|
11
11
|
export { BulkQueryEngine, } from './bulk-query-engine.js';
|
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,cAAc,YAAY,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,mBAAmB,GAIpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,eAAe,GAQhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,GASb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,oBAAoB,GAKrB,MAAM,wBAAwB,CAAC"}
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { PropertyTable, PropertySet, QuantitySet } from '@ifc-lite/data';
|
|
11
11
|
import { PropertyValueType, QuantityType } from '@ifc-lite/data';
|
|
12
|
-
import type { IfcAttributeValue, PropertyValue, EntityTypeMutation, Mutation, NewEntity } from './types.js';
|
|
12
|
+
import type { IfcAttributeValue, PropertyValue, EntityTypeMutation, Mutation, NewEntity, EffectiveChange } from './types.js';
|
|
13
|
+
import { type AttributeExtractor } from './effective-changes.js';
|
|
14
|
+
export type { AttributeExtractor } from './effective-changes.js';
|
|
13
15
|
/**
|
|
14
16
|
* Function type for on-demand property extraction
|
|
15
17
|
* Allows globalId to be optional to match extractPropertiesOnDemand return type
|
|
@@ -32,6 +34,7 @@ export declare class MutablePropertyView {
|
|
|
32
34
|
private baseTable;
|
|
33
35
|
private onDemandExtractor;
|
|
34
36
|
private quantityExtractor;
|
|
37
|
+
private attributeExtractor;
|
|
35
38
|
private propertyMutations;
|
|
36
39
|
private quantityMutations;
|
|
37
40
|
/**
|
|
@@ -53,6 +56,39 @@ export declare class MutablePropertyView {
|
|
|
53
56
|
private typeMutations;
|
|
54
57
|
private newEntities;
|
|
55
58
|
private tombstones;
|
|
59
|
+
/**
|
|
60
|
+
* Ids `createEntity` allocated and `deleteEntity` then forgot (removed from
|
|
61
|
+
* `newEntities`, per that method's "existing entities are tombstoned; new
|
|
62
|
+
* entities are simply forgotten" contract). Tracked separately so
|
|
63
|
+
* `getEffectiveChanges()` / `collectEffectiveChanges` can tell "overlay-created
|
|
64
|
+
* then forgotten" apart from "an ordinary source-buffer entity" — both are
|
|
65
|
+
* otherwise indistinguishable, being simply absent from `newEntities`.
|
|
66
|
+
* `restoreNewEntity` (the undo-of-delete counterpart) clears the id back out.
|
|
67
|
+
*/
|
|
68
|
+
private forgottenCreatedEntities;
|
|
69
|
+
/**
|
|
70
|
+
* Snapshot of a forgotten-created entity's overlay rows, stashed by
|
|
71
|
+
* `deleteEntity` and restored by `restoreNewEntity`.
|
|
72
|
+
*
|
|
73
|
+
* `deleteEntity` on an overlay-created entity does more than drop it from
|
|
74
|
+
* `newEntities` — it also PURGES every other overlay entry the entity left
|
|
75
|
+
* behind (property/quantity/attribute/positional/type mutations, its
|
|
76
|
+
* `newPsets`/`newQsets` entries, and its own `mutationHistory` records).
|
|
77
|
+
* Without that purge, an entity that was created, edited, then deleted
|
|
78
|
+
* before export left a dangling reference: `StepExporter` derives its
|
|
79
|
+
* property/quantity work list from `getMutations()` (the append-only
|
|
80
|
+
* history) and reads `getForEntity()` / `getQuantitiesForEntity()` straight
|
|
81
|
+
* off `newPsets` / `newQsets` — neither of which the review-side
|
|
82
|
+
* `forgottenCreatedEntities` filter in `effective-changes.ts` touches. The
|
|
83
|
+
* review dialog looked clean while the exported file still contained an
|
|
84
|
+
* `IFCPROPERTYSET` + `IFCRELDEFINESBYPROPERTIES` pointing at an expressId
|
|
85
|
+
* that was never actually created (maintainer finding on #1967).
|
|
86
|
+
*
|
|
87
|
+
* The purged data is captured here, not discarded, because `restoreNewEntity`
|
|
88
|
+
* (undo of the delete) must bring it all back — rows AND count AND what the
|
|
89
|
+
* exporter would see — not just re-add the bare `NewEntity` record.
|
|
90
|
+
*/
|
|
91
|
+
private forgottenEntityOverlay;
|
|
56
92
|
/**
|
|
57
93
|
* Overlay-entity → source-entity aliases for property/quantity reads.
|
|
58
94
|
*
|
|
@@ -98,6 +134,14 @@ export declare class MutablePropertyView {
|
|
|
98
134
|
* Set an on-demand quantity extractor function
|
|
99
135
|
*/
|
|
100
136
|
setQuantityExtractor(extractor: QuantityExtractor): void;
|
|
137
|
+
/**
|
|
138
|
+
* Set the base entity-attribute extractor (Name, Description, ObjectType,
|
|
139
|
+
* Tag, ...), used only to resolve `previousValue` in `getEffectiveChanges()`.
|
|
140
|
+
* Without one, attribute `previousValue` falls back to whatever `oldValue`
|
|
141
|
+
* the overlay entry itself carries — which undo can leave stale/absent (see
|
|
142
|
+
* `getEffectiveChanges()` doc).
|
|
143
|
+
*/
|
|
144
|
+
setAttributeExtractor(extractor: AttributeExtractor): void;
|
|
101
145
|
/**
|
|
102
146
|
* Get base properties for an entity (before mutations)
|
|
103
147
|
* Uses on-demand extraction if available, otherwise falls back to base table.
|
|
@@ -283,6 +327,20 @@ export declare class MutablePropertyView {
|
|
|
283
327
|
* restore (the slice's undo stack does this).
|
|
284
328
|
*/
|
|
285
329
|
restoreNewEntity(entity: NewEntity): void;
|
|
330
|
+
/**
|
|
331
|
+
* Move every current overlay entry for `expressId` out of the live maps
|
|
332
|
+
* and into `forgottenEntityOverlay`, and drop this entity's own records
|
|
333
|
+
* from `mutationHistory`. Called by `deleteEntity` when it forgets a
|
|
334
|
+
* created entity. Only stashes a key if something was actually captured,
|
|
335
|
+
* so `unstashEntityOverlay` on a plain (never-edited) create is a no-op.
|
|
336
|
+
*/
|
|
337
|
+
private stashAndPurgeEntityOverlay;
|
|
338
|
+
/**
|
|
339
|
+
* Reverse `stashAndPurgeEntityOverlay`: put everything `deleteEntity`
|
|
340
|
+
* purged back into the live overlay maps. Called by `restoreNewEntity`.
|
|
341
|
+
* A no-op if nothing was stashed for `expressId`.
|
|
342
|
+
*/
|
|
343
|
+
private unstashEntityOverlay;
|
|
286
344
|
/**
|
|
287
345
|
* Every express id this session deleted — source-buffer entities AND ones it
|
|
288
346
|
* created and then deleted. The two are not distinguishable from this set
|
|
@@ -326,7 +384,24 @@ export declare class MutablePropertyView {
|
|
|
326
384
|
*/
|
|
327
385
|
getMutationsForEntity(entityId: number): Mutation[];
|
|
328
386
|
/**
|
|
329
|
-
* Check if an entity
|
|
387
|
+
* Check if an entity currently carries an overlay change.
|
|
388
|
+
*
|
|
389
|
+
* Reads the live overlay (same footprint as {@link hasPendingChanges}),
|
|
390
|
+
* NOT the append-only `mutationHistory` — undo does not pop history (see
|
|
391
|
+
* `getMutations()`), so a history-based check could report `true` for an
|
|
392
|
+
* entity whose edit was fully undone. Called with no `entityId`, this is
|
|
393
|
+
* exactly {@link hasPendingChanges}.
|
|
394
|
+
*
|
|
395
|
+
* Unlike {@link getModifiedEntityCount} (derived from
|
|
396
|
+
* {@link getEffectiveChanges} so it can't diverge), this is a direct
|
|
397
|
+
* per-entity map lookup kept O(1)-ish for callers that probe many entities
|
|
398
|
+
* (e.g. a per-row "has changes" indicator) — re-deriving effective changes
|
|
399
|
+
* per call would be O(overlay size) each time. That means it can still
|
|
400
|
+
* report `true` for an entity whose only overlay entry is a no-op edit
|
|
401
|
+
* (undo landed it back at the base value, so `previousValue === newValue`
|
|
402
|
+
* — see {@link getEffectiveChanges}'s doc). Over-reporting here is the same
|
|
403
|
+
* safe direction {@link hasPendingChanges} already documents; nothing in
|
|
404
|
+
* this repo reads this per-entity form in production as of #1967.
|
|
330
405
|
*/
|
|
331
406
|
hasChanges(entityId?: number): boolean;
|
|
332
407
|
/**
|
|
@@ -346,9 +421,44 @@ export declare class MutablePropertyView {
|
|
|
346
421
|
*/
|
|
347
422
|
hasPendingChanges(): boolean;
|
|
348
423
|
/**
|
|
349
|
-
* Get count of modified entities
|
|
424
|
+
* Get count of modified entities.
|
|
425
|
+
*
|
|
426
|
+
* Reads the live overlay, NOT `mutationHistory` (issue #1915): undo does
|
|
427
|
+
* not pop history, so a history-based count could over-report — e.g. after
|
|
428
|
+
* `setAttribute` + `removeAttributeMutation` (exactly what undoing a
|
|
429
|
+
* freshly-created attribute mutation does), the overlay is empty again but
|
|
430
|
+
* history still holds the one entry. This must agree with
|
|
431
|
+
* {@link hasPendingChanges}: zero here iff that is `false`.
|
|
432
|
+
*
|
|
433
|
+
* Must also agree with {@link getEffectiveChanges} — an entity contributing
|
|
434
|
+
* zero effective rows (a create -> edit -> delete `deleteEntity` forgot, or
|
|
435
|
+
* an edit fully undone back to its base value) must not be counted here
|
|
436
|
+
* either. `collectModifiedEntityIds` is deliberately DERIVED FROM
|
|
437
|
+
* `getEffectiveChanges()` rather than hand-walking the overlay maps a
|
|
438
|
+
* second time, so the two structurally cannot diverge again (issue: the
|
|
439
|
+
* #1915 forgotten-created blind spot, and the #1967 no-op-edit blind spot
|
|
440
|
+
* that a second hand-rolled walk reintroduced).
|
|
350
441
|
*/
|
|
351
442
|
getModifiedEntityCount(): number;
|
|
443
|
+
/** Distinct entity ids with at least one row in {@link getEffectiveChanges}. */
|
|
444
|
+
private collectModifiedEntityIds;
|
|
445
|
+
/**
|
|
446
|
+
* Enumerate every change the overlay currently carries, as it stands right
|
|
447
|
+
* now — never from `mutationHistory` (see {@link getModifiedEntityCount}).
|
|
448
|
+
* This is what the export-review UI (issue #1915) and any snapshot test
|
|
449
|
+
* should read: `previousValue` is derived from the base data (property
|
|
450
|
+
* table / on-demand extractor / attribute extractor), so an undo→redo
|
|
451
|
+
* cycle reports the true original, not a stale history entry.
|
|
452
|
+
*
|
|
453
|
+
* Whole-pset/qset deletes and creates are reported as a single
|
|
454
|
+
* `pset-added` / `pset-deleted` / `qset-added` / `qset-deleted` row rather
|
|
455
|
+
* than one row per property/quantity inside them (deletePropertySet /
|
|
456
|
+
* createPropertySet also populate individual property/quantity mutations
|
|
457
|
+
* internally — those are intentionally not double-reported here).
|
|
458
|
+
*
|
|
459
|
+
* Deterministic ordering: entityId, then kind, then name, then setName.
|
|
460
|
+
*/
|
|
461
|
+
getEffectiveChanges(): EffectiveChange[];
|
|
352
462
|
/**
|
|
353
463
|
* Clear all mutations (reset to base state)
|
|
354
464
|
*/
|
|
@@ -358,11 +468,29 @@ export declare class MutablePropertyView {
|
|
|
358
468
|
*/
|
|
359
469
|
applyMutations(mutations: Mutation[]): void;
|
|
360
470
|
/**
|
|
361
|
-
* Export mutations as JSON
|
|
471
|
+
* Export mutations as JSON. Includes every record in `mutationHistory`,
|
|
472
|
+
* including `CREATE_ENTITY` — but see `importMutations` for why replaying
|
|
473
|
+
* that record on another view does not reconstruct the entity.
|
|
362
474
|
*/
|
|
363
475
|
exportMutations(): string;
|
|
364
476
|
/**
|
|
365
|
-
* Import mutations from JSON
|
|
477
|
+
* Import mutations from JSON produced by `exportMutations`.
|
|
478
|
+
*
|
|
479
|
+
* **Not a full inverse of `exportMutations`.** A `CREATE_ENTITY` record
|
|
480
|
+
* carries only the expressId in the history — not the entity's type and
|
|
481
|
+
* attributes — so `importMutations` cannot rebuild the entity from the
|
|
482
|
+
* record alone: it logs a `console.warn` and skips the record, and drops
|
|
483
|
+
* every other mutation recorded against that same entity id in the same
|
|
484
|
+
* batch too (so the round trip is lossy — entity and edits both dropped —
|
|
485
|
+
* rather than leaving an orphaned property/attribute/quantity keyed to an
|
|
486
|
+
* id that was never created on the receiving view).
|
|
487
|
+
*
|
|
488
|
+
* To carry an overlay-created entity across, call `restoreNewEntity()`
|
|
489
|
+
* with its `NewEntity` payload (from `getNewEntity`/`getNewEntities` on
|
|
490
|
+
* the source view) **before** calling `importMutations`. Once the id is
|
|
491
|
+
* live in `newEntities`, its dependent mutations replay normally — only
|
|
492
|
+
* the `console.warn` for the (now redundant) `CREATE_ENTITY` record still
|
|
493
|
+
* fires.
|
|
366
494
|
*/
|
|
367
495
|
importMutations(json: string): void;
|
|
368
496
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutable-property-view.d.ts","sourceRoot":"","sources":["../src/mutable-property-view.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAY,WAAW,EAAY,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAyD,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mutable-property-view.d.ts","sourceRoot":"","sources":["../src/mutable-property-view.ts"],"names":[],"mappings":"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"}
|