@ifc-lite/mutations 1.19.0 → 1.20.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChangeSet, PropertyValue } from './types.js';
|
|
1
|
+
import type { ChangeSet, Mutation, PropertyValue } from './types.js';
|
|
2
2
|
/** Adapter over the store's id table, supplied by the caller at freeze time. */
|
|
3
3
|
export interface EntityIdentityResolver {
|
|
4
4
|
/** The entity's IFC `GlobalId`, when present and trusted. */
|
|
@@ -45,6 +45,11 @@ export interface ChangeSetOpsResult {
|
|
|
45
45
|
identityMap: DerivedIdentityEntry[];
|
|
46
46
|
/** expressIds for which no identity could be established at all. */
|
|
47
47
|
unresolved: number[];
|
|
48
|
+
/**
|
|
49
|
+
* Mutations with no component representation (unknown/future types).
|
|
50
|
+
* Reported so callers can warn instead of silently under-publishing.
|
|
51
|
+
*/
|
|
52
|
+
skipped: Mutation[];
|
|
48
53
|
}
|
|
49
54
|
/** Content-derived fallback identity (04 §4.1(3)). */
|
|
50
55
|
export declare function deriveEntityIdentity(input: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set-to-ops.d.ts","sourceRoot":"","sources":["../src/change-set-to-ops.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"change-set-to-ops.d.ts","sourceRoot":"","sources":["../src/change-set-to-ops.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAErE,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClD,2DAA2D;IAC3D,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClD,8DAA8D;IAC9D,mBAAmB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5D,2DAA2D;IAC3D,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC;CAC9C,GACD;IAAE,EAAE,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,WAAW,EAAE,CAAC;IACnB,mEAAmE;IACnE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,QAAQ,EAAE,CAAC;CACrB;AAID,sDAAsD;AACtD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAOT;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,sBAAsB,GAC/B,kBAAkB,CAoEpB"}
|
|
@@ -76,11 +76,12 @@ export function changeSetToOps(changeSet, resolver) {
|
|
|
76
76
|
values[member] = value;
|
|
77
77
|
perEntity.set(componentKey, values);
|
|
78
78
|
};
|
|
79
|
+
const skipped = [];
|
|
79
80
|
for (const mutation of changeSet.mutations) {
|
|
80
81
|
const entity = identityOf(mutation.entityId);
|
|
81
82
|
if (entity === undefined)
|
|
82
83
|
continue;
|
|
83
|
-
applyMutation(mutation, entity, setMember, componentFor, entityOps, resolver);
|
|
84
|
+
applyMutation(mutation, entity, setMember, componentFor, entityOps, resolver, skipped);
|
|
84
85
|
}
|
|
85
86
|
const ops = [...entityOps.values()];
|
|
86
87
|
for (const [entity, perEntity] of components) {
|
|
@@ -93,9 +94,9 @@ export function changeSetToOps(changeSet, resolver) {
|
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
|
-
return { ops, identityMap, unresolved };
|
|
97
|
+
return { ops, identityMap, unresolved, skipped };
|
|
97
98
|
}
|
|
98
|
-
function applyMutation(mutation, entity, setMember, componentFor, entityOps, resolver) {
|
|
99
|
+
function applyMutation(mutation, entity, setMember, componentFor, entityOps, resolver, skipped) {
|
|
99
100
|
switch (mutation.type) {
|
|
100
101
|
case 'CREATE_PROPERTY':
|
|
101
102
|
case 'UPDATE_PROPERTY':
|
|
@@ -146,6 +147,22 @@ function applyMutation(mutation, entity, setMember, componentFor, entityOps, res
|
|
|
146
147
|
case 'DELETE_ENTITY':
|
|
147
148
|
entityOps.set(entity, { op: 'tombstone-entity', entity });
|
|
148
149
|
break;
|
|
150
|
+
case 'UPDATE_ENTITY_TYPE':
|
|
151
|
+
// Retype = a class-component opinion; the wire layer serializes it
|
|
152
|
+
// as `bsi::ifc::class` (code only, like add-entity). PredefinedType
|
|
153
|
+
// rides the core-attribute channel; explicit null clears it.
|
|
154
|
+
if (mutation.entityType) {
|
|
155
|
+
setMember(entity, 'attr:class', 'code', mutation.entityType);
|
|
156
|
+
if (mutation.predefinedType !== undefined) {
|
|
157
|
+
setMember(entity, 'attr:core', 'PredefinedType', mutation.predefinedType);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
default:
|
|
162
|
+
// Runtime data may carry mutation types this build does not know
|
|
163
|
+
// (forward compat): report, never silently under-publish.
|
|
164
|
+
skipped.push(mutation);
|
|
165
|
+
break;
|
|
149
166
|
}
|
|
150
167
|
}
|
|
151
168
|
//# sourceMappingURL=change-set-to-ops.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set-to-ops.js","sourceRoot":"","sources":["../src/change-set-to-ops.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"change-set-to-ops.js","sourceRoot":"","sources":["../src/change-set-to-ops.ts"],"names":[],"mappings":"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"}
|