@ifc-lite/mutations 2.0.0 → 2.2.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/apply-mutations.d.ts +47 -0
- package/dist/apply-mutations.d.ts.map +1 -0
- package/dist/apply-mutations.js +182 -0
- package/dist/apply-mutations.js.map +1 -0
- package/dist/bulk-query-engine.d.ts +2 -4
- package/dist/bulk-query-engine.d.ts.map +1 -1
- package/dist/bulk-query-engine.js +2 -1
- package/dist/bulk-query-engine.js.map +1 -1
- package/dist/cooperative-clone.d.ts +4 -0
- package/dist/cooperative-clone.d.ts.map +1 -0
- package/dist/cooperative-clone.js +93 -0
- package/dist/cooperative-clone.js.map +1 -0
- package/dist/cooperative-control.d.ts +17 -0
- package/dist/cooperative-control.d.ts.map +1 -0
- package/dist/cooperative-control.js +67 -0
- package/dist/cooperative-control.js.map +1 -0
- package/dist/cooperative-operation-types.d.ts +53 -0
- package/dist/cooperative-operation-types.d.ts.map +1 -0
- package/dist/cooperative-operation-types.js +2 -0
- package/dist/cooperative-operation-types.js.map +1 -0
- package/dist/cooperative-overlay-access.d.ts +14 -0
- package/dist/cooperative-overlay-access.d.ts.map +1 -0
- package/dist/cooperative-overlay-access.js +12 -0
- package/dist/cooperative-overlay-access.js.map +1 -0
- package/dist/execute-entity-operation.d.ts +6 -0
- package/dist/execute-entity-operation.d.ts.map +1 -0
- package/dist/execute-entity-operation.js +39 -0
- package/dist/execute-entity-operation.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/mutable-overlay-state.d.ts +143 -0
- package/dist/mutable-overlay-state.d.ts.map +1 -0
- package/dist/mutable-overlay-state.js +115 -0
- package/dist/mutable-overlay-state.js.map +1 -0
- package/dist/mutable-property-view.d.ts +62 -86
- package/dist/mutable-property-view.d.ts.map +1 -1
- package/dist/mutable-property-view.js +131 -238
- package/dist/mutable-property-view.js.map +1 -1
- package/dist/overlay-value-equality.d.ts +3 -0
- package/dist/overlay-value-equality.d.ts.map +1 -0
- package/dist/overlay-value-equality.js +52 -0
- package/dist/overlay-value-equality.js.map +1 -0
- package/dist/prepare-entity-operations.d.ts +7 -0
- package/dist/prepare-entity-operations.d.ts.map +1 -0
- package/dist/prepare-entity-operations.js +117 -0
- package/dist/prepare-entity-operations.js.map +1 -0
- package/dist/store-editor.d.ts +12 -14
- package/dist/store-editor.d.ts.map +1 -1
- package/dist/store-editor.js +42 -0
- package/dist/store-editor.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-value-equality.d.ts","sourceRoot":"","sources":["../src/overlay-value-equality.ts"],"names":[],"mappings":"AAIA,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CA+BvE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
/** Iterative comparison also catches skip-history edits and escaped nested values. */
|
|
5
|
+
export function sameOverlayValue(left, right) {
|
|
6
|
+
const pending = [[left, right]];
|
|
7
|
+
const visited = new WeakMap();
|
|
8
|
+
while (pending.length) {
|
|
9
|
+
const [a, b] = pending.pop();
|
|
10
|
+
if (Object.is(a, b))
|
|
11
|
+
continue;
|
|
12
|
+
if (!a || !b || typeof a !== 'object' || typeof b !== 'object')
|
|
13
|
+
return false;
|
|
14
|
+
let matches = visited.get(a);
|
|
15
|
+
if (matches?.has(b))
|
|
16
|
+
continue;
|
|
17
|
+
if (!matches) {
|
|
18
|
+
matches = new WeakSet();
|
|
19
|
+
visited.set(a, matches);
|
|
20
|
+
}
|
|
21
|
+
matches.add(b);
|
|
22
|
+
if (a instanceof Map && b instanceof Map) {
|
|
23
|
+
if (a.size !== b.size)
|
|
24
|
+
return false;
|
|
25
|
+
for (const [key, value] of a) {
|
|
26
|
+
if (!b.has(key))
|
|
27
|
+
return false;
|
|
28
|
+
pending.push([value, b.get(key)]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (a instanceof Set && b instanceof Set) {
|
|
32
|
+
if (a.size !== b.size || [...a].some(value => !b.has(value)))
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
if (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))
|
|
37
|
+
return false;
|
|
38
|
+
if (Array.isArray(a) && Array.isArray(b) && a.length !== b.length)
|
|
39
|
+
return false;
|
|
40
|
+
const keys = Object.keys(a);
|
|
41
|
+
if (keys.length !== Object.keys(b).length)
|
|
42
|
+
return false;
|
|
43
|
+
for (const key of keys) {
|
|
44
|
+
if (!Object.hasOwn(b, key))
|
|
45
|
+
return false;
|
|
46
|
+
pending.push([a[key], b[key]]);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=overlay-value-equality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-value-equality.js","sourceRoot":"","sources":["../src/overlay-value-equality.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,sFAAsF;AACtF,MAAM,UAAU,gBAAgB,CAAC,IAAa,EAAE,KAAc;IAC5D,MAAM,OAAO,GAA8B,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAA2B,CAAC;IACvD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,EAAG,CAAC;QAC9B,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,SAAS;QAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7E,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAChF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,CAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StoreEditor } from './store-editor.js';
|
|
2
|
+
import type { MutablePropertyView } from './mutable-property-view.js';
|
|
3
|
+
import type { MutationStoreShape } from './types.js';
|
|
4
|
+
import type { EntityOperation, EntityPreparationOptions, PreparedEntityOperations } from './cooperative-operation-types.js';
|
|
5
|
+
/** Package-private composition; the public owner is StoreEditor. */
|
|
6
|
+
export declare function prepareEntityOperations(store: MutationStoreShape, view: MutablePropertyView, operations: readonly EntityOperation[], options: EntityPreparationOptions, createEditor: (draft: MutablePropertyView) => StoreEditor): Promise<PreparedEntityOperations>;
|
|
7
|
+
//# sourceMappingURL=prepare-entity-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare-entity-operations.d.ts","sourceRoot":"","sources":["../src/prepare-entity-operations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAY,MAAM,YAAY,CAAC;AAM/D,OAAO,KAAK,EAAE,eAAe,EAAyB,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEnJ,oEAAoE;AACpE,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,EACpD,UAAU,EAAE,SAAS,eAAe,EAAE,EAAE,OAAO,EAAE,wBAAwB,EACzE,YAAY,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,WAAW,GACxD,OAAO,CAAC,wBAAwB,CAAC,CAqFnC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { CooperativeControl } from './cooperative-control.js';
|
|
2
|
+
import { cloneCooperatively } from './cooperative-clone.js';
|
|
3
|
+
import { cooperativeOverlay } from './cooperative-overlay-access.js';
|
|
4
|
+
import { sameOverlayValue } from './overlay-value-equality.js';
|
|
5
|
+
import { executeEntityOperation } from './execute-entity-operation.js';
|
|
6
|
+
/** Package-private composition; the public owner is StoreEditor. */
|
|
7
|
+
export async function prepareEntityOperations(store, view, operations, options, createEditor) {
|
|
8
|
+
const control = new CooperativeControl(options);
|
|
9
|
+
let live = cooperativeOverlay(view);
|
|
10
|
+
let operationSource = operations;
|
|
11
|
+
let sourceStore = store;
|
|
12
|
+
let original;
|
|
13
|
+
let prepared;
|
|
14
|
+
let publication;
|
|
15
|
+
let input;
|
|
16
|
+
let disposed = false, committed = false, rolledBack = false;
|
|
17
|
+
let sourceIndex = store.entityIndex.byId;
|
|
18
|
+
const sourceCount = sourceIndex.size;
|
|
19
|
+
let deferredIndex = store.deferredEntityIndex;
|
|
20
|
+
const deferredCount = deferredIndex?.size;
|
|
21
|
+
const clear = () => {
|
|
22
|
+
original = undefined;
|
|
23
|
+
prepared = undefined;
|
|
24
|
+
publication = undefined;
|
|
25
|
+
input = undefined;
|
|
26
|
+
operationSource = undefined;
|
|
27
|
+
sourceStore = undefined;
|
|
28
|
+
sourceIndex = undefined;
|
|
29
|
+
deferredIndex = undefined;
|
|
30
|
+
live = undefined;
|
|
31
|
+
};
|
|
32
|
+
const assertAvailable = () => {
|
|
33
|
+
if (disposed)
|
|
34
|
+
throw new Error('Prepared entity operations were disposed.');
|
|
35
|
+
if (rolledBack)
|
|
36
|
+
throw new Error('Prepared entity operations were rolled back.');
|
|
37
|
+
};
|
|
38
|
+
const validate = () => {
|
|
39
|
+
assertAvailable();
|
|
40
|
+
if (committed)
|
|
41
|
+
return;
|
|
42
|
+
control.checkAbort();
|
|
43
|
+
if (!sourceStore || sourceStore.entityIndex.byId !== sourceIndex || sourceIndex?.size !== sourceCount
|
|
44
|
+
|| sourceStore.deferredEntityIndex !== deferredIndex || deferredIndex?.size !== deferredCount) {
|
|
45
|
+
throw new Error('The IFC source index changed during entity preparation.');
|
|
46
|
+
}
|
|
47
|
+
if (!input || !sameOverlayValue(operationSource, input))
|
|
48
|
+
throw new Error('Entity operation inputs changed during preparation.');
|
|
49
|
+
if (!original || !live.matches(original))
|
|
50
|
+
throw new Error('The IFC overlay changed during entity preparation.');
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
if (!Array.isArray(operations) || !operations.length)
|
|
54
|
+
throw new TypeError('Entity preparation requires a nonempty operation list.');
|
|
55
|
+
input = await cloneCooperatively(operations, control);
|
|
56
|
+
original = await cloneCooperatively(live.capture(), control);
|
|
57
|
+
// All draft inputs are now private. No asynchronous callback receives them.
|
|
58
|
+
const draft = live.draft(await cloneCooperatively(original, control));
|
|
59
|
+
const editor = createEditor(draft);
|
|
60
|
+
const oldHistory = new Set();
|
|
61
|
+
for (const mutation of original.mutationHistory) {
|
|
62
|
+
oldHistory.add(mutation.id);
|
|
63
|
+
if (control.step(48))
|
|
64
|
+
await control.pause();
|
|
65
|
+
}
|
|
66
|
+
const effects = [];
|
|
67
|
+
for (const operation of input) {
|
|
68
|
+
effects.push(executeEntityOperation(editor, draft, operation));
|
|
69
|
+
if (control.step(64))
|
|
70
|
+
await control.pause();
|
|
71
|
+
}
|
|
72
|
+
prepared = await cloneCooperatively(cooperativeOverlay(draft).capture(), control);
|
|
73
|
+
publication = await cloneCooperatively(prepared, control);
|
|
74
|
+
const changes = [];
|
|
75
|
+
for (const mutation of prepared.mutationHistory) {
|
|
76
|
+
if (!oldHistory.has(mutation.id))
|
|
77
|
+
changes.push(mutation);
|
|
78
|
+
if (control.step(16))
|
|
79
|
+
await control.pause();
|
|
80
|
+
}
|
|
81
|
+
// The result must not provide a path back to private checkpoints/publication.
|
|
82
|
+
const detached = await cloneCooperatively({ effects, mutations: changes }, control);
|
|
83
|
+
validate();
|
|
84
|
+
return {
|
|
85
|
+
effects: detached.effects, mutations: detached.mutations, validate,
|
|
86
|
+
commit() {
|
|
87
|
+
assertAvailable();
|
|
88
|
+
if (committed)
|
|
89
|
+
return;
|
|
90
|
+
validate();
|
|
91
|
+
live.publish(publication);
|
|
92
|
+
publication = undefined;
|
|
93
|
+
committed = true;
|
|
94
|
+
operationSource = undefined;
|
|
95
|
+
input = undefined;
|
|
96
|
+
},
|
|
97
|
+
rollback() {
|
|
98
|
+
if (!committed || rolledBack)
|
|
99
|
+
return;
|
|
100
|
+
if (disposed)
|
|
101
|
+
throw new Error('Prepared entity operations were disposed.');
|
|
102
|
+
if (!prepared || !live.matches(prepared))
|
|
103
|
+
throw new Error('The IFC overlay changed after entity operations committed.');
|
|
104
|
+
live.publish(original);
|
|
105
|
+
rolledBack = true;
|
|
106
|
+
clear();
|
|
107
|
+
},
|
|
108
|
+
dispose() { if (disposed)
|
|
109
|
+
return; disposed = true; clear(); },
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
clear();
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=prepare-entity-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepare-entity-operations.js","sourceRoot":"","sources":["../src/prepare-entity-operations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAwB,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAyB,EAAE,IAAyB,EACpD,UAAsC,EAAE,OAAiC,EACzE,YAAyD;IAEzD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,IAAI,GAAsD,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvF,IAAI,eAAe,GAA2C,UAAU,CAAC;IACzE,IAAI,WAAW,GAAmC,KAAK,CAAC;IACxD,IAAI,QAAqC,CAAC;IAC1C,IAAI,QAAqC,CAAC;IAC1C,IAAI,WAAwC,CAAC;IAC7C,IAAI,KAA6C,CAAC;IAClD,IAAI,QAAQ,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC;IAC5D,IAAI,WAAW,GAA0D,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAChG,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,IAAI,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAC9C,MAAM,aAAa,GAAG,aAAa,EAAE,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,QAAQ,GAAG,SAAS,CAAC;QAAC,QAAQ,GAAG,SAAS,CAAC;QAAC,WAAW,GAAG,SAAS,CAAC;QAAC,KAAK,GAAG,SAAS,CAAC;QACvF,eAAe,GAAG,SAAS,CAAC;QAAC,WAAW,GAAG,SAAS,CAAC;QAAC,WAAW,GAAG,SAAS,CAAC;QAAC,aAAa,GAAG,SAAS,CAAC;QAAC,IAAI,GAAG,SAAS,CAAC;IAC7H,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3E,IAAI,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClF,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,eAAe,EAAE,CAAC;QAClB,IAAI,SAAS;YAAE,OAAO;QACtB,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,WAAW,EAAE,IAAI,KAAK,WAAW;eAChG,WAAW,CAAC,mBAAmB,KAAK,aAAa,IAAI,aAAa,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;YAChG,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAChI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACnH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;QACpI,KAAK,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9D,4EAA4E;QAC5E,MAAM,KAAK,GAAG,IAAK,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAChD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;QACD,QAAQ,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAClF,WAAW,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;QACD,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACpF,QAAQ,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ;YAClE,MAAM;gBACJ,eAAe,EAAE,CAAC;gBAClB,IAAI,SAAS;oBAAE,OAAO;gBACtB,QAAQ,EAAE,CAAC;gBACX,IAAK,CAAC,OAAO,CAAC,WAAY,CAAC,CAAC;gBAC5B,WAAW,GAAG,SAAS,CAAC;gBACxB,SAAS,GAAG,IAAI,CAAC;gBACjB,eAAe,GAAG,SAAS,CAAC;gBAAC,KAAK,GAAG,SAAS,CAAC;YACjD,CAAC;YACD,QAAQ;gBACN,IAAI,CAAC,SAAS,IAAI,UAAU;oBAAE,OAAO;gBACrC,IAAI,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBACzH,IAAK,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC;gBACzB,UAAU,GAAG,IAAI,CAAC;gBAClB,KAAK,EAAE,CAAC;YACV,CAAC;YACD,OAAO,KAAK,IAAI,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC9D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;QACR,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/store-editor.d.ts
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* StoreEditor — high-level facade for editing a parsed `IfcDataStore` via the
|
|
3
|
-
* `MutablePropertyView` overlay.
|
|
4
|
-
*
|
|
5
|
-
* Implements the `store.addEntity()` / `store.removeEntity()` /
|
|
6
|
-
* `store.setPositionalAttribute()` API requested in LTplus-AG/ifc-lite#592.
|
|
7
|
-
*
|
|
8
|
-
* The underlying store buffer and entity index are never mutated. Changes
|
|
9
|
-
* accumulate in the overlay and materialise during
|
|
10
|
-
* `StepExporter.export({ applyMutations })`. Overlay-created entities are
|
|
11
|
-
* visible via `getNewEntity()` / `getNewEntities()`; they are intentionally
|
|
12
|
-
* NOT inserted into `store.entityIndex.byId`, because that index may be a
|
|
13
|
-
* `CompactEntityIndex` whose backing typed arrays are immutable.
|
|
14
|
-
*/
|
|
1
|
+
import type { EntityOperation, EntityPreparationOptions, PreparedEntityOperations } from './cooperative-operation-types.js';
|
|
15
2
|
import type { MutablePropertyView } from './mutable-property-view.js';
|
|
16
3
|
import type { IfcAttributeValue, MutationEntityRef as EntityRef, MutationStoreShape as IfcDataStore, NewEntity } from './types.js';
|
|
17
4
|
/** Sentinel byteOffset that flags an `EntityRef` as overlay-only (no source bytes). */
|
|
@@ -43,6 +30,15 @@ export declare class StoreEditor {
|
|
|
43
30
|
private view;
|
|
44
31
|
private maxExistingId;
|
|
45
32
|
constructor(store: IfcDataStore, view: MutablePropertyView);
|
|
33
|
+
/** Stage one synchronous IFC edit; failure publishes no partial overlay (#4243).
|
|
34
|
+
* Prepare image/worker resources before calling this. Returned entity IDs are
|
|
35
|
+
* valid after success; the draft editor is detached after this callback. */
|
|
36
|
+
runAtomic<T>(edit: (draft: StoreEditor) => T): T;
|
|
37
|
+
/** Cooperatively prepare owned entity operations without exposing a draft.
|
|
38
|
+
* Construction establishes the live allocator watermark before this action;
|
|
39
|
+
* cancellation changes no live overlay state. Final exact validation is synchronous. */
|
|
40
|
+
prepareEntityOperations(operations: readonly EntityOperation[], options?: EntityPreparationOptions): Promise<PreparedEntityOperations>;
|
|
41
|
+
private forkPreparedEditor;
|
|
46
42
|
/**
|
|
47
43
|
* Re-scan the store and bump the express-id watermark if the store has
|
|
48
44
|
* grown since construction (e.g. after lazy index hydration or
|
|
@@ -107,6 +103,8 @@ export declare class StoreEditor {
|
|
|
107
103
|
}): boolean;
|
|
108
104
|
/** Look up the overlay record for a freshly-added entity. */
|
|
109
105
|
getNewEntity(expressId: number): NewEntity | null;
|
|
106
|
+
/** Whether an id resolves to a live source or overlay entity. */
|
|
107
|
+
hasEntity(expressId: number): boolean;
|
|
110
108
|
/** All overlay-created entities, in insertion order. */
|
|
111
109
|
getNewEntities(): NewEntity[];
|
|
112
110
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-editor.d.ts","sourceRoot":"","sources":["../src/store-editor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store-editor.d.ts","sourceRoot":"","sources":["../src/store-editor.ts"],"names":[],"mappings":"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"}
|
package/dist/store-editor.js
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
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
|
+
/**
|
|
5
|
+
* StoreEditor — high-level facade for editing a parsed `IfcDataStore` via the
|
|
6
|
+
* `MutablePropertyView` overlay.
|
|
7
|
+
*
|
|
8
|
+
* Implements the `store.addEntity()` / `store.removeEntity()` /
|
|
9
|
+
* `store.setPositionalAttribute()` API requested in LTplus-AG/ifc-lite#592.
|
|
10
|
+
*
|
|
11
|
+
* The underlying store buffer and entity index are never mutated. Changes
|
|
12
|
+
* accumulate in the overlay and materialise during
|
|
13
|
+
* `StepExporter.export({ applyMutations })`. Overlay-created entities are
|
|
14
|
+
* visible via `getNewEntity()` / `getNewEntities()`; they are intentionally
|
|
15
|
+
* NOT inserted into `store.entityIndex.byId`, because that index may be a
|
|
16
|
+
* `CompactEntityIndex` whose backing typed arrays are immutable.
|
|
17
|
+
*/
|
|
18
|
+
import { prepareEntityOperations } from './prepare-entity-operations.js';
|
|
4
19
|
import { QuantityType, PropertyValueType } from '@ifc-lite/data';
|
|
5
20
|
/** Sentinel byteOffset that flags an `EntityRef` as overlay-only (no source bytes). */
|
|
6
21
|
export const OVERLAY_BYTE_OFFSET = -1;
|
|
@@ -22,6 +37,27 @@ export class StoreEditor {
|
|
|
22
37
|
this.maxExistingId = this.computeMaxExistingId();
|
|
23
38
|
this.view.setExpressIdWatermark(this.maxExistingId);
|
|
24
39
|
}
|
|
40
|
+
/** Stage one synchronous IFC edit; failure publishes no partial overlay (#4243).
|
|
41
|
+
* Prepare image/worker resources before calling this. Returned entity IDs are
|
|
42
|
+
* valid after success; the draft editor is detached after this callback. */
|
|
43
|
+
runAtomic(edit) {
|
|
44
|
+
return this.view.runAtomic(draft => edit(new StoreEditor(this.store, draft)));
|
|
45
|
+
}
|
|
46
|
+
/** Cooperatively prepare owned entity operations without exposing a draft.
|
|
47
|
+
* Construction establishes the live allocator watermark before this action;
|
|
48
|
+
* cancellation changes no live overlay state. Final exact validation is synchronous. */
|
|
49
|
+
prepareEntityOperations(operations, options = {}) {
|
|
50
|
+
return prepareEntityOperations(this.store, this.view, operations, options, draft => this.forkPreparedEditor(draft));
|
|
51
|
+
}
|
|
52
|
+
forkPreparedEditor(view) {
|
|
53
|
+
// The original editor already established its watermark. Reuse that exact
|
|
54
|
+
// facade state instead of scanning the entire immutable source index again.
|
|
55
|
+
const editor = Object.create(StoreEditor.prototype);
|
|
56
|
+
editor.store = this.store;
|
|
57
|
+
editor.view = view;
|
|
58
|
+
editor.maxExistingId = this.maxExistingId;
|
|
59
|
+
return editor;
|
|
60
|
+
}
|
|
25
61
|
/**
|
|
26
62
|
* Re-scan the store and bump the express-id watermark if the store has
|
|
27
63
|
* grown since construction (e.g. after lazy index hydration or
|
|
@@ -188,6 +224,12 @@ export class StoreEditor {
|
|
|
188
224
|
getNewEntity(expressId) {
|
|
189
225
|
return this.view.getNewEntity(expressId);
|
|
190
226
|
}
|
|
227
|
+
/** Whether an id resolves to a live source or overlay entity. */
|
|
228
|
+
hasEntity(expressId) {
|
|
229
|
+
return Number.isSafeInteger(expressId) && expressId > 0 && !this.view.isDeleted(expressId)
|
|
230
|
+
&& (this.view.getNewEntity(expressId) !== null || this.store.entityIndex.byId.has(expressId)
|
|
231
|
+
|| this.store.deferredEntityIndex?.has(expressId) === true);
|
|
232
|
+
}
|
|
191
233
|
/** All overlay-created entities, in insertion order. */
|
|
192
234
|
getNewEntities() {
|
|
193
235
|
return this.view.getNewEntities();
|
package/dist/store-editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-editor.js","sourceRoot":"","sources":["../src/store-editor.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"store-editor.js","sourceRoot":"","sources":["../src/store-editor.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -103,6 +103,17 @@ export interface PropertyMutation {
|
|
|
103
103
|
valueType?: PropertyValueType;
|
|
104
104
|
/** Unit (optional) */
|
|
105
105
|
unit?: string;
|
|
106
|
+
/**
|
|
107
|
+
* IFC measure dataType (e.g. `"IFCLENGTHMEASURE"`) this value was
|
|
108
|
+
* scaled against at write time, when the caller knows one (e.g. the
|
|
109
|
+
* IDS correction dialog, which resolves it from the existing property
|
|
110
|
+
* or the IDS facet, #3929/#3943). A read-side overlay that needs to
|
|
111
|
+
* convert this value into a different unit frame — see
|
|
112
|
+
* `@ifc-lite/ids/bridge`'s `PropertyOverride.dataType` — has nowhere
|
|
113
|
+
* else to read it from, since this is the frame boundary between the
|
|
114
|
+
* two packages.
|
|
115
|
+
*/
|
|
116
|
+
dataType?: string;
|
|
106
117
|
}
|
|
107
118
|
/**
|
|
108
119
|
* Quantity mutation for overlay tracking
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAmD,MAAM,gBAAgB,CAAC;AAEzG;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAAE,GAC7D,iBAAiB,EAAE,CAAC;AAexB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,aAAa,EAAE,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,qBAAqB,GACrB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB;AACnB;;;yEAGyE;GACvE,qBAAqB,GACrB,kBAAkB,GAClB,6BAA6B,GAC7B,oBAAoB,GACpB,eAAe,GACf,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IAGjB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB;IACjB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,qCAAqC;IACrC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sCAAsC;IACtC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiU/D;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;IAC9E,OAAO,GAAG,QAAQ,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,QAAgB,EAAE,SAAiB;IAC/E,OAAO,GAAG,QAAQ,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,aAAqB;IAClE,OAAO,GAAG,QAAQ,SAAS,aAAa,EAAE,CAAC;AAC7C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/mutations",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Mutation tracking and property editing for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@noble/hashes": "^2.4.0",
|
|
17
|
-
"@ifc-lite/data": "^4.
|
|
17
|
+
"@ifc-lite/data": "^4.2.0",
|
|
18
|
+
"@ifc-lite/regex-guard": "^0.2.0"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
21
|
"typescript": "^6.0.3",
|