Sha256: abaef53ebcdc98f3655331f834986a2d11b6a824f58d670369669246d1b7b69b

Contents?: true

Size: 1.58 KB

Versions: 454

Compression:

Stored size: 1.58 KB

Contents

/**
 * 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';
}

Version data entries

454 entries across 271 versions & 36 rubygems

Version Path
rapid_stack-0.2.0 templates/frontend/node_modules/util-deprecate/browser.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/util-deprecate/browser.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.60 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.59 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.58 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.57 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.56 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.55 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.54 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.53 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.52 node_modules/util-deprecate/browser.js
trusty-cms-6.3.1 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.51 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.50 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.49 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.48 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.47 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.46 node_modules/util-deprecate/browser.js
immosquare-cleaner-0.1.45 node_modules/util-deprecate/browser.js