aboutsummaryrefslogtreecommitdiffstats
path: root/bower_components/moment/src/lib/utils/deprecate.js
blob: a076ad71950c57bc4ccf47e064d8487d4ca535de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import extend from './extend';
import { hooks } from './hooks';

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,
        msgWithStack = msg + '\n' + (new Error()).stack;

    return extend(function () {
        if (firstTime) {
            warn(msgWithStack);
            firstTime = false;
        }
        return fn.apply(this, arguments);
    }, fn);
}

var deprecations = {};

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

hooks.suppressDeprecationWarnings = false;