cm-web-modules
Advanced tools
Comparing version 1.11.8 to 1.11.9
{ | ||
"name": "cm-web-modules", | ||
"version": "1.11.8", | ||
"version": "1.11.9", | ||
"description": "Collection of clean and small ES6 modules for the web", | ||
@@ -5,0 +5,0 @@ "main": "src/LibraryManager.js", |
@@ -160,3 +160,3 @@ /** | ||
const property = object[propertyName] | ||
let mutationMethods = null | ||
let mutationMethods = [] | ||
if (property instanceof Array) { | ||
@@ -172,20 +172,3 @@ isCollection = true | ||
} | ||
if (isCollection) { // handling for Collections | ||
mutationMethods.forEach(function (methodName) { | ||
object[propertyName][methodName] = function () { | ||
// object[propertyName].constructor.prototype[methodName] is Array or Set or... | ||
object[propertyName].constructor.prototype[methodName].apply(this, arguments) | ||
const methodArguments = arguments | ||
registryObject.observedProperties.get(propertyName).observers.forEach(function (observer) { | ||
const params = { | ||
propertyName: propertyName, | ||
methodName: methodName, | ||
arguments: methodArguments, | ||
newValue: object[propertyName] | ||
} | ||
observer(params) | ||
}) | ||
} | ||
}) | ||
} else if (delete object[propertyName]) { // handling for simple properties | ||
if (delete object[propertyName]) { // handling for simple properties | ||
Object.defineProperty(object, propertyName, { | ||
@@ -208,2 +191,21 @@ get: function () { | ||
}) | ||
if (isCollection) { // handling for Collections | ||
mutationMethods.forEach(function (methodName) { | ||
object[propertyName][methodName] = function () { | ||
// object[propertyName].constructor.prototype[methodName] is Array or Set or... | ||
// noinspection JSPotentiallyInvalidConstructorUsage | ||
object[propertyName].constructor.prototype[methodName].apply(this, arguments) | ||
const methodArguments = arguments | ||
registryObject.observedProperties.get(propertyName).observers.forEach(function (observer) { | ||
const params = { | ||
propertyName: propertyName, | ||
methodName: methodName, | ||
arguments: methodArguments, | ||
newValue: object[propertyName] | ||
} | ||
observer(params) | ||
}) | ||
} | ||
}) | ||
} | ||
} else { | ||
@@ -210,0 +212,0 @@ console.error("Error: Observe.property", propertyName, "failed") |
Sorry, the diff of this file is not supported yet
102169
54
1902