marko/runtime/deprecate.js
2016-08-19 13:20:54 -06:00

23 lines
569 B
JavaScript

var logger = typeof console !== 'undefined' && console.warn && console;
module.exports = function(o, methodName, message) {
if (!logger) {
return;
}
var originalMethod = o[methodName];
var maxWarn = 20;
var currentWarn = 0;
o[methodName] = function() {
if (currentWarn < maxWarn) {
if (++currentWarn === maxWarn) {
o[methodName] = originalMethod;
}
logger.warn(message, 'Stack: ' + new Error().stack);
}
return originalMethod.apply(o, arguments);
};
};