@mml-io/networked-dom-document 0.24.1 → 0.26.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkedDOM.d.ts","sourceRoot":"","sources":["../src/NetworkedDOM.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NetworkedDOM.d.ts","sourceRoot":"","sources":["../src/NetworkedDOM.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculateStaticVirtualDOMDiff.d.ts","sourceRoot":"","sources":["../../src/diffing/calculateStaticVirtualDOMDiff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,uBAAuB,EACtC,WAAW,EAAE,uBAAuB,GACnC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"calculateStaticVirtualDOMDiff.d.ts","sourceRoot":"","sources":["../../src/diffing/calculateStaticVirtualDOMDiff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,uBAAuB,EACtC,WAAW,EAAE,uBAAuB,GACnC,oBAAoB,CA8CtB"}
|
package/build/index.js
CHANGED
|
@@ -867,16 +867,19 @@ function calculateStaticVirtualDOMDiff(originalState, latestState) {
|
|
|
867
867
|
);
|
|
868
868
|
const nodeIdRemappings = [];
|
|
869
869
|
const virtualDOMDiffs = [];
|
|
870
|
+
const runningState = JSON.parse(JSON.stringify(originalState));
|
|
870
871
|
for (const diff of jsonPatchDiffs) {
|
|
871
872
|
if (diff.op === "replace" && diff.path.endsWith("/nodeId")) {
|
|
872
873
|
const pointer = Pointer.fromJSON(diff.path);
|
|
873
|
-
const originalValue = pointer.get(
|
|
874
|
+
const originalValue = pointer.get(runningState);
|
|
874
875
|
nodeIdRemappings.push({
|
|
875
876
|
internalNodeId: diff.value,
|
|
876
877
|
clientFacingNodeId: originalValue
|
|
877
878
|
});
|
|
879
|
+
applyPatch(runningState, [diff]);
|
|
878
880
|
} else {
|
|
879
881
|
virtualDOMDiffs.push(diff);
|
|
882
|
+
applyPatch(runningState, [diff]);
|
|
880
883
|
}
|
|
881
884
|
}
|
|
882
885
|
return remapDuplicatedNodeIdsInOperations(
|
|
@@ -1903,9 +1906,7 @@ var NetworkedDOM = class {
|
|
|
1903
1906
|
console.error("Cannot dispatch remote event after dispose");
|
|
1904
1907
|
throw new Error("This NetworkedDOM has been disposed");
|
|
1905
1908
|
}
|
|
1906
|
-
const node = this.nodeManager.
|
|
1907
|
-
remoteEvent.nodeId
|
|
1908
|
-
);
|
|
1909
|
+
const node = this.nodeManager.getNode(remoteEvent.nodeId);
|
|
1909
1910
|
if (!node || !IsVisibleToAnyOneOfConnectionIds(
|
|
1910
1911
|
node.subjectivity,
|
|
1911
1912
|
/* @__PURE__ */ new Map([[internalConnectionId, 1]]),
|
|
@@ -1965,9 +1966,8 @@ var NetworkedDOM = class {
|
|
|
1965
1966
|
this.observableDOM.dispose();
|
|
1966
1967
|
}
|
|
1967
1968
|
handleAddedNodes(targetId, previousSiblingId, addedNodes) {
|
|
1968
|
-
const target = this.nodeManager.
|
|
1969
|
+
const target = this.nodeManager.getNode(targetId);
|
|
1969
1970
|
if (!target) {
|
|
1970
|
-
console.error("Target node not found for mutation", targetId);
|
|
1971
1971
|
return;
|
|
1972
1972
|
}
|
|
1973
1973
|
let hasSubjectiveChildren = false;
|
|
@@ -1979,9 +1979,8 @@ var NetworkedDOM = class {
|
|
|
1979
1979
|
let previousNode = null;
|
|
1980
1980
|
let previousNodeIndex = -1;
|
|
1981
1981
|
if (previousSiblingId != null) {
|
|
1982
|
-
previousNode = this.nodeManager.
|
|
1982
|
+
previousNode = this.nodeManager.getNode(previousSiblingId) || null;
|
|
1983
1983
|
if (!previousNode) {
|
|
1984
|
-
throw new Error("previous node not found: " + previousSiblingId);
|
|
1985
1984
|
} else {
|
|
1986
1985
|
previousNodeIdIsSubjectiveForV01 = previousNode.subjectivity != null && !IsVisibleToAll(previousNode.subjectivity, true);
|
|
1987
1986
|
previousNodeIdIsSubjectiveForV02 = previousNode.subjectivity != null && !IsVisibleToAll(previousNode.subjectivity, false);
|
|
@@ -2155,9 +2154,8 @@ var NetworkedDOM = class {
|
|
|
2155
2154
|
}
|
|
2156
2155
|
}
|
|
2157
2156
|
handleRemovedNodes(targetId, removedNodeIds) {
|
|
2158
|
-
const node = this.nodeManager.
|
|
2157
|
+
const node = this.nodeManager.getNode(targetId);
|
|
2159
2158
|
if (!node) {
|
|
2160
|
-
console.error("Target node not found for mutation", targetId);
|
|
2161
2159
|
return;
|
|
2162
2160
|
}
|
|
2163
2161
|
const parentIsSubjectiveForV01 = node.subjectivity != null && !IsVisibleToAll(node.subjectivity, true);
|
|
@@ -2182,9 +2180,9 @@ var NetworkedDOM = class {
|
|
|
2182
2180
|
for (const client of this.networkedDOMV01Connections) {
|
|
2183
2181
|
const removableChildren = [];
|
|
2184
2182
|
for (const removedNodeId of removedNodeIds) {
|
|
2185
|
-
const child = this.nodeManager.
|
|
2183
|
+
const child = this.nodeManager.getNode(removedNodeId);
|
|
2186
2184
|
if (!child) {
|
|
2187
|
-
|
|
2185
|
+
continue;
|
|
2188
2186
|
}
|
|
2189
2187
|
if (child.subjectivity == null || IsVisibleToAnyOneOfConnectionIds(
|
|
2190
2188
|
child.subjectivity,
|
|
@@ -2223,9 +2221,9 @@ var NetworkedDOM = class {
|
|
|
2223
2221
|
for (const client of this.networkedDOMV02Connections) {
|
|
2224
2222
|
const removableChildren = [];
|
|
2225
2223
|
for (const removedNodeId of removedNodeIds) {
|
|
2226
|
-
const child = this.nodeManager.
|
|
2224
|
+
const child = this.nodeManager.getNode(removedNodeId);
|
|
2227
2225
|
if (!child) {
|
|
2228
|
-
|
|
2226
|
+
continue;
|
|
2229
2227
|
}
|
|
2230
2228
|
if (child.subjectivity == null || IsVisibleToAnyOneOfConnectionIds(
|
|
2231
2229
|
child.subjectivity,
|
|
@@ -2260,9 +2258,8 @@ var NetworkedDOM = class {
|
|
|
2260
2258
|
}
|
|
2261
2259
|
handleAttributeMutation(targetId, attributes) {
|
|
2262
2260
|
var _a;
|
|
2263
|
-
const target = this.nodeManager.
|
|
2261
|
+
const target = this.nodeManager.getNode(targetId);
|
|
2264
2262
|
if (!target) {
|
|
2265
|
-
console.error("Target node not found for mutation", targetId);
|
|
2266
2263
|
return;
|
|
2267
2264
|
}
|
|
2268
2265
|
const resultAttributes = {};
|
|
@@ -2302,9 +2299,8 @@ var NetworkedDOM = class {
|
|
|
2302
2299
|
}
|
|
2303
2300
|
}
|
|
2304
2301
|
handleAttributeChange(targetId, attributes) {
|
|
2305
|
-
const node = this.nodeManager.
|
|
2302
|
+
const node = this.nodeManager.getNode(targetId);
|
|
2306
2303
|
if (!node) {
|
|
2307
|
-
console.error("Target node not found for mutation", targetId);
|
|
2308
2304
|
return;
|
|
2309
2305
|
}
|
|
2310
2306
|
const nodeIsSubjectiveForV01 = node.subjectivity != null && !IsVisibleToAll(node.subjectivity, true);
|
|
@@ -2365,9 +2361,8 @@ var NetworkedDOM = class {
|
|
|
2365
2361
|
}
|
|
2366
2362
|
}
|
|
2367
2363
|
handleVisibleToChange(targetId, added, removed) {
|
|
2368
|
-
const node = this.nodeManager.
|
|
2364
|
+
const node = this.nodeManager.getNode(targetId);
|
|
2369
2365
|
if (!node) {
|
|
2370
|
-
console.error("Target node not found for mutation", targetId);
|
|
2371
2366
|
return;
|
|
2372
2367
|
}
|
|
2373
2368
|
if (node.parent == null) {
|
|
@@ -2413,9 +2408,8 @@ var NetworkedDOM = class {
|
|
|
2413
2408
|
this.applyVisibilityAfterChanges(node, visibilityRecords, added, removed, VisibleToMode);
|
|
2414
2409
|
}
|
|
2415
2410
|
handleHiddenFromChange(targetId, added, removed) {
|
|
2416
|
-
const node = this.nodeManager.
|
|
2411
|
+
const node = this.nodeManager.getNode(targetId);
|
|
2417
2412
|
if (!node) {
|
|
2418
|
-
console.error("Target node not found for mutation", targetId);
|
|
2419
2413
|
return;
|
|
2420
2414
|
}
|
|
2421
2415
|
if (node.parent == null) {
|
|
@@ -2457,9 +2451,8 @@ var NetworkedDOM = class {
|
|
|
2457
2451
|
this.applyVisibilityAfterChanges(node, visibilityRecords, added, removed, HiddenFromMode);
|
|
2458
2452
|
}
|
|
2459
2453
|
handleCharacterData(targetId, textContent) {
|
|
2460
|
-
const node = this.nodeManager.
|
|
2454
|
+
const node = this.nodeManager.getNode(targetId);
|
|
2461
2455
|
if (!node) {
|
|
2462
|
-
console.error("Target node not found for mutation", targetId);
|
|
2463
2456
|
return;
|
|
2464
2457
|
}
|
|
2465
2458
|
const nodeIsSubjectiveForV01 = node.subjectivity != null && !IsVisibleToAll(node.subjectivity, true);
|
|
@@ -2772,7 +2765,10 @@ var NetworkedDOM = class {
|
|
|
2772
2765
|
}
|
|
2773
2766
|
}
|
|
2774
2767
|
removeNodeAndChildren(nodeId) {
|
|
2775
|
-
const node = this.nodeManager.
|
|
2768
|
+
const node = this.nodeManager.getNode(nodeId);
|
|
2769
|
+
if (!node) {
|
|
2770
|
+
return;
|
|
2771
|
+
}
|
|
2776
2772
|
if (node.subjectivity != null) {
|
|
2777
2773
|
for (const connectionId of node.subjectivity.visibleTo) {
|
|
2778
2774
|
this.visibilityManager.removeSpecificallyVisibleNode(connectionId, nodeId);
|