CoolFace
Apppublic

Pinsave/counterstrike

sourceHugging Faceupdated 3mo agoView on Hugging Face
1likes
browser.js68 linesDownload Raw Back to util-deprecate
1 2/**3 * Module exports.4 */5 6module.exports = deprecate;7 8/**9 * Mark that a method should not be used.10 * Returns a modified function which warns once by default.11 *12 * If `localStorage.noDeprecation = true` is set, then it is a no-op.13 *14 * If `localStorage.throwDeprecation = true` is set, then deprecated functions15 * will throw an Error when invoked.16 *17 * If `localStorage.traceDeprecation = true` is set, then deprecated functions18 * will invoke `console.trace()` instead of `console.error()`.19 *20 * @param {Function} fn - the function to deprecate21 * @param {String} msg - the string to print to the console when `fn` is invoked22 * @returns {Function} a new "deprecated" version of `fn`23 * @api public24 */25 26function deprecate (fn, msg) {27  if (config('noDeprecation')) {28    return fn;29  }30 31  var warned = false;32  function deprecated() {33    if (!warned) {34      if (config('throwDeprecation')) {35        throw new Error(msg);36      } else if (config('traceDeprecation')) {37        console.trace(msg);38      } else {39        console.warn(msg);40      }41      warned = true;42    }43    return fn.apply(this, arguments);44  }45 46  return deprecated;47}48 49/**50 * Checks `localStorage` for boolean values for the given `name`.51 *52 * @param {String} name53 * @returns {Boolean}54 * @api private55 */56 57function config (name) {58  // accessing global.localStorage can trigger a DOMException in sandboxed iframes59  try {60    if (!global.localStorage) return false;61  } catch (_) {62    return false;63  }64  var val = global.localStorage[name];65  if (null == val) return false;66  return String(val).toLowerCase() === 'true';67}68