in pytheas-core/src/main/resources/js/jsondiffpatch.js [295:330]
var objectSet = function(obj, key, value){
if (isArray(obj) && obj._key) {
var getKey = obj._key;
if (typeof obj._key != 'function') {
getKey = function(item){
return item[obj._key];
}
}
for (var i = 0; i < obj.length; i++) {
if (getKey(obj[i]) === key) {
if (typeof value == 'undefined') {
obj.splice(i, 1);
i--;
}
else {
obj[i] = value;
}
return;
}
}
if (typeof value != 'undefined') {
obj.push(value);
}
return;
}
if (typeof value == 'undefined') {
if (isArray(obj)) {
obj.splice(key, 1);
} else {
delete obj[key];
}
}
else {
obj[key] = value;
}
}