summaryrefslogtreecommitdiffstats
path: root/lib/api/deprecate.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/deprecate.js')
-rw-r--r--lib/api/deprecate.js28
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
};