Spaces:
Runtime error
Runtime error
| /** | |
| * Module exports. | |
| */ | |
| module.exports = deprecate; | |
| /** | |
| * Mark that a method should not be used. | |
| * Returns a modified function which warns once by default. | |
| * | |
| * If `localStorage.noDeprecation = true` is set, then it is a no-op. | |
| * | |
| * If `localStorage.throwDeprecation = true` is set, then deprecated functions | |
| * will throw an Error when invoked. | |
| * | |
| * If `localStorage.traceDeprecation = true` is set, then deprecated functions | |
| * will invoke `console.trace()` instead of `console.error()`. | |
| * | |
| * @param {Function} fn - the function to deprecate | |
| * @param {String} msg - the string to print to the console when `fn` is invoked | |
| * @returns {Function} a new "deprecated" version of `fn` | |
| * @api public | |
| */ | |
| function deprecate (fn, msg) { | |
| if (config('noDeprecation')) { | |
| return fn; | |
| } | |
| var warned = false; | |
| function deprecated() { | |
| if (!warned) { | |
| if (config('throwDeprecation')) { | |
| throw new Error(msg); | |
| } else if (config('traceDeprecation')) { | |
| console.trace(msg); | |
| } else { | |
| console.warn(msg); | |
| } | |
| warned = true; | |
| } | |
| return fn.apply(this, arguments); | |
| } | |
| return deprecated; | |
| } | |
| /** | |
| * Checks `localStorage` for boolean values for the given `name`. | |
| * | |
| * @param {String} name | |
| * @returns {Boolean} | |
| * @api private | |
| */ | |
| function config (name) { | |
| // accessing global.localStorage can trigger a DOMException in sandboxed iframes | |
| try { | |
| if (!global.localStorage) return false; | |
| } catch (_) { | |
| return false; | |
| } | |
| var val = global.localStorage[name]; | |
| if (null == val) return false; | |
| return String(val).toLowerCase() === 'true'; | |
| } | |