| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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) {
- warn(msg + '\nArguments: ' + Array.prototype.slice.call(arguments).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;
|