@colyseus/schema 4.0.15 → 4.0.16
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/build/index.cjs +19 -2
- package/build/index.cjs.map +1 -1
- package/build/index.js +19 -2
- package/build/index.mjs +19 -2
- package/build/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/encoder/StateView.ts +21 -4
package/build/index.js
CHANGED
|
@@ -5694,12 +5694,29 @@
|
|
|
5694
5694
|
}
|
|
5695
5695
|
else {
|
|
5696
5696
|
// delete all "tagged" properties.
|
|
5697
|
-
metadata?.[$viewFieldIndexes]?.forEach((index) =>
|
|
5697
|
+
metadata?.[$viewFieldIndexes]?.forEach((index) => {
|
|
5698
|
+
changes[index] = exports.OPERATION.DELETE;
|
|
5699
|
+
// Remove child structures of @view() fields from visible set.
|
|
5700
|
+
// (They were added during view.add() via forEachChild)
|
|
5701
|
+
const value = changeTree.ref[metadata[index].name];
|
|
5702
|
+
if (value?.[$changes]) {
|
|
5703
|
+
this.visible.delete(value[$changes]);
|
|
5704
|
+
this._recursiveDeleteVisibleChangeTree(value[$changes]);
|
|
5705
|
+
}
|
|
5706
|
+
});
|
|
5698
5707
|
}
|
|
5699
5708
|
}
|
|
5700
5709
|
else {
|
|
5701
5710
|
// delete only tagged properties
|
|
5702
|
-
metadata?.[$fieldIndexesByViewTag][tag].forEach((index) =>
|
|
5711
|
+
metadata?.[$fieldIndexesByViewTag][tag].forEach((index) => {
|
|
5712
|
+
changes[index] = exports.OPERATION.DELETE;
|
|
5713
|
+
// Remove child structures from visible set
|
|
5714
|
+
const value = changeTree.ref[metadata[index].name];
|
|
5715
|
+
if (value?.[$changes]) {
|
|
5716
|
+
this.visible.delete(value[$changes]);
|
|
5717
|
+
this._recursiveDeleteVisibleChangeTree(value[$changes]);
|
|
5718
|
+
}
|
|
5719
|
+
});
|
|
5703
5720
|
}
|
|
5704
5721
|
// remove tag
|
|
5705
5722
|
if (this.tags && this.tags.has(changeTree)) {
|
package/build/index.mjs
CHANGED
|
@@ -5688,12 +5688,29 @@ class StateView {
|
|
|
5688
5688
|
}
|
|
5689
5689
|
else {
|
|
5690
5690
|
// delete all "tagged" properties.
|
|
5691
|
-
metadata?.[$viewFieldIndexes]?.forEach((index) =>
|
|
5691
|
+
metadata?.[$viewFieldIndexes]?.forEach((index) => {
|
|
5692
|
+
changes[index] = OPERATION.DELETE;
|
|
5693
|
+
// Remove child structures of @view() fields from visible set.
|
|
5694
|
+
// (They were added during view.add() via forEachChild)
|
|
5695
|
+
const value = changeTree.ref[metadata[index].name];
|
|
5696
|
+
if (value?.[$changes]) {
|
|
5697
|
+
this.visible.delete(value[$changes]);
|
|
5698
|
+
this._recursiveDeleteVisibleChangeTree(value[$changes]);
|
|
5699
|
+
}
|
|
5700
|
+
});
|
|
5692
5701
|
}
|
|
5693
5702
|
}
|
|
5694
5703
|
else {
|
|
5695
5704
|
// delete only tagged properties
|
|
5696
|
-
metadata?.[$fieldIndexesByViewTag][tag].forEach((index) =>
|
|
5705
|
+
metadata?.[$fieldIndexesByViewTag][tag].forEach((index) => {
|
|
5706
|
+
changes[index] = OPERATION.DELETE;
|
|
5707
|
+
// Remove child structures from visible set
|
|
5708
|
+
const value = changeTree.ref[metadata[index].name];
|
|
5709
|
+
if (value?.[$changes]) {
|
|
5710
|
+
this.visible.delete(value[$changes]);
|
|
5711
|
+
this._recursiveDeleteVisibleChangeTree(value[$changes]);
|
|
5712
|
+
}
|
|
5713
|
+
});
|
|
5697
5714
|
}
|
|
5698
5715
|
// remove tag
|
|
5699
5716
|
if (this.tags && this.tags.has(changeTree)) {
|