diff --git a/src/ol/base.js b/src/ol/base.js index cbba821d9f..1c2a6bd1ca 100644 --- a/src/ol/base.js +++ b/src/ol/base.js @@ -16,3 +16,24 @@ ol.error = function(message) { * @define {boolean} */ ol.error.VERBOSE_ERRORS = true; + +/** + * @define {boolean} + */ +ol.CHECK_KEYS = true; + +/** + * @param {Object} obj Object. + * @param {!Array.} allowedKeys Allowed keys. + */ +ol.base.checkKeys = function(obj, allowedKeys) { + if (ol.CHECK_KEYS) { + var keys = goog.object.getKeys(obj); + goog.array.forEach(allowedKeys, function(allowedKey) { + goog.array.remove(keys, allowedKey); + }); + if (!goog.array.isEmpty(keys)) { + ol.error('object contains invalid keys: ' + keys.join(', ')); + } + } +};