Sha256: 491eb5e86c8b0cb8596c2ee70aed915a92330905ec85efcb16270a9ab8f2c23e

Contents?: true

Size: 1.63 KB

Versions: 41

Compression:

Stored size: 1.63 KB

Contents

import extend from './extend';
import { hooks } from './hooks';
import isUndefined from './is-undefined';

function warn(msg) {
    if (hooks.suppressDeprecationWarnings === false &&
            (typeof console !==  'undefined') && console.warn) {
        console.warn('Deprecation warning: ' + msg);
    }
}

export function deprecate(msg, fn) {
    var firstTime = true;

    return extend(function () {
        if (hooks.deprecationHandler != null) {
            hooks.deprecationHandler(null, msg);
        }
        if (firstTime) {
            var args = [];
            var arg;
            for (var i = 0; i < arguments.length; i++) {
                arg = '';
                if (typeof arguments[i] === 'object') {
                    arg += '\n[' + i + '] ';
                    for (var key in arguments[0]) {
                        arg += key + ': ' + arguments[0][key] + ', ';
                    }
                    arg = arg.slice(0, -2); // Remove trailing comma and space
                } else {
                    arg = arguments[i];
                }
                args.push(arg);
            }
            warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
            firstTime = false;
        }
        return fn.apply(this, arguments);
    }, fn);
}

var deprecations = {};

export function deprecateSimple(name, msg) {
    if (hooks.deprecationHandler != null) {
        hooks.deprecationHandler(name, msg);
    }
    if (!deprecations[name]) {
        warn(msg);
        deprecations[name] = true;
    }
}

hooks.suppressDeprecationWarnings = false;
hooks.deprecationHandler = null;

Version data entries

41 entries across 40 versions & 9 rubygems

Version Path
card-1.100.0 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.99.6 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.99.5 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.99.4 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.99.3 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.99.2 mod/date/vendor/moment/src/lib/utils/deprecate.js
ilog-0.4.1 node_modules/moment/src/lib/utils/deprecate.js
ilog-0.4.0 node_modules/moment/src/lib/utils/deprecate.js
ilog-0.3.3 node_modules/moment/src/lib/utils/deprecate.js
card-1.99.1 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.99.0 mod/date/vendor/moment/src/lib/utils/deprecate.js
jester-data-8.0.0 node_modules/moment/src/lib/utils/deprecate.js
ezii-os-5.2.1 node_modules/moment/src/lib/utils/deprecate.js
ezii-os-2.0.1 node_modules/moment/src/lib/utils/deprecate.js
card-1.98.3 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.98.2 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.98.1 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.98.0 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.97.0.1 mod/date/vendor/moment/src/lib/utils/deprecate.js
card-1.97.0 mod/date/vendor/moment/src/lib/utils/deprecate.js