@colyseus/schema
Advanced tools
Comparing version 0.4.36 to 0.4.37
@@ -102,4 +102,2 @@ "use strict"; | ||
var deletedValue = obj[prop]; | ||
// console.log("DELETE PROPERTY!", prop, JSON.stringify(deletedValue)); | ||
// delete deletedValue.$changes.parent; | ||
// TODO: | ||
@@ -106,0 +104,0 @@ // remove deleteIndex of property being deleted as well. |
@@ -187,3 +187,3 @@ "use strict"; | ||
// no need to iterate through them, as they're going to be removed. | ||
value.splice(newLength_1).forEach(function (itemRemoved, i) { | ||
Array.prototype.splice.call(value, newLength_1).forEach(function (itemRemoved, i) { | ||
if (itemRemoved && itemRemoved.onRemove) { | ||
@@ -464,6 +464,4 @@ itemRemoved.onRemove(); | ||
if (encodeAll) { | ||
if (item !== undefined) { | ||
mapItemIndex = undefined; | ||
} | ||
else { | ||
mapItemIndex = undefined; | ||
if (item === undefined) { | ||
// previously deleted items are skipped during `encodeAll` | ||
@@ -470,0 +468,0 @@ continue; |
@@ -8,2 +8,3 @@ import { ChangeTree } from "../ChangeTree"; | ||
sort(compareFn?: (a: T, b: T) => number): this; | ||
splice(start: number, deleteCount?: number, ...insert: T[]): any; | ||
onAdd: (item: T, index: number) => void; | ||
@@ -10,0 +11,0 @@ onRemove: (item: T, index: number) => void; |
@@ -70,4 +70,15 @@ "use strict"; | ||
}; | ||
ArraySchema.prototype.splice = function (start, deleteCount) { | ||
var insert = []; | ||
for (var _i = 2; _i < arguments.length; _i++) { | ||
insert[_i - 2] = arguments[_i]; | ||
} | ||
var removedItems = Array.prototype.splice.apply(this, arguments); | ||
removedItems.map(function (removedItem) { | ||
delete removedItem.$changes.parent; | ||
}); | ||
return removedItems; | ||
}; | ||
return ArraySchema; | ||
}(Array)); | ||
exports.ArraySchema = ArraySchema; |
{ | ||
"name": "@colyseus/schema", | ||
"version": "0.4.36", | ||
"version": "0.4.37", | ||
"description": "Schema-based binary serializer / de-serializer.", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
120133
2857