diff options
Diffstat (limited to 'lib/api/deprecate.js')
-rw-r--r-- | lib/api/deprecate.js | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/lib/api/deprecate.js b/lib/api/deprecate.js index b890777..73ca8be 100644 --- a/lib/api/deprecate.js +++ b/lib/api/deprecate.js @@ -1,4 +1,5 @@ var logged = {}; +var disabled = {}; /** Log a deprecated notice @@ -8,7 +9,7 @@ var logged = {}; @param {String} message */ function logNotice(book, key, message) { - if (logged[key]) return; + if (logged[key] || disabled[key]) return; logged[key] = true; @@ -57,11 +58,32 @@ function deprecateField(book, key, instance, property, value, msg) { Object.defineProperty(instance, property, { get: getter, set: setter, - enumerable: true + enumerable: true, + configurable: true }); } +/** + Enable a deprecation + + @param {String} key: unique identitifer +*/ +function enableDeprecation(key) { + disabled[key] = false; +} + +/** + Disable a deprecation + + @param {String} key: unique identitifer +*/ +function disableDeprecation(key) { + disabled[key] = true; +} + module.exports = { method: deprecateMethod, - field: deprecateField + field: deprecateField, + enable: enableDeprecation, + disable: disableDeprecation }; |