wp/wp-includes/js/dist/deprecated.js
changeset 9 177826044cd9
child 16 a86126ab1dd4
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
       
     1 this["wp"] = this["wp"] || {}; this["wp"]["deprecated"] =
       
     2 /******/ (function(modules) { // webpackBootstrap
       
     3 /******/ 	// The module cache
       
     4 /******/ 	var installedModules = {};
       
     5 /******/
       
     6 /******/ 	// The require function
       
     7 /******/ 	function __webpack_require__(moduleId) {
       
     8 /******/
       
     9 /******/ 		// Check if module is in cache
       
    10 /******/ 		if(installedModules[moduleId]) {
       
    11 /******/ 			return installedModules[moduleId].exports;
       
    12 /******/ 		}
       
    13 /******/ 		// Create a new module (and put it into the cache)
       
    14 /******/ 		var module = installedModules[moduleId] = {
       
    15 /******/ 			i: moduleId,
       
    16 /******/ 			l: false,
       
    17 /******/ 			exports: {}
       
    18 /******/ 		};
       
    19 /******/
       
    20 /******/ 		// Execute the module function
       
    21 /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
       
    22 /******/
       
    23 /******/ 		// Flag the module as loaded
       
    24 /******/ 		module.l = true;
       
    25 /******/
       
    26 /******/ 		// Return the exports of the module
       
    27 /******/ 		return module.exports;
       
    28 /******/ 	}
       
    29 /******/
       
    30 /******/
       
    31 /******/ 	// expose the modules object (__webpack_modules__)
       
    32 /******/ 	__webpack_require__.m = modules;
       
    33 /******/
       
    34 /******/ 	// expose the module cache
       
    35 /******/ 	__webpack_require__.c = installedModules;
       
    36 /******/
       
    37 /******/ 	// define getter function for harmony exports
       
    38 /******/ 	__webpack_require__.d = function(exports, name, getter) {
       
    39 /******/ 		if(!__webpack_require__.o(exports, name)) {
       
    40 /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
       
    41 /******/ 		}
       
    42 /******/ 	};
       
    43 /******/
       
    44 /******/ 	// define __esModule on exports
       
    45 /******/ 	__webpack_require__.r = function(exports) {
       
    46 /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
       
    47 /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
       
    48 /******/ 		}
       
    49 /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
       
    50 /******/ 	};
       
    51 /******/
       
    52 /******/ 	// create a fake namespace object
       
    53 /******/ 	// mode & 1: value is a module id, require it
       
    54 /******/ 	// mode & 2: merge all properties of value into the ns
       
    55 /******/ 	// mode & 4: return value when already ns object
       
    56 /******/ 	// mode & 8|1: behave like require
       
    57 /******/ 	__webpack_require__.t = function(value, mode) {
       
    58 /******/ 		if(mode & 1) value = __webpack_require__(value);
       
    59 /******/ 		if(mode & 8) return value;
       
    60 /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
       
    61 /******/ 		var ns = Object.create(null);
       
    62 /******/ 		__webpack_require__.r(ns);
       
    63 /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
       
    64 /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
       
    65 /******/ 		return ns;
       
    66 /******/ 	};
       
    67 /******/
       
    68 /******/ 	// getDefaultExport function for compatibility with non-harmony modules
       
    69 /******/ 	__webpack_require__.n = function(module) {
       
    70 /******/ 		var getter = module && module.__esModule ?
       
    71 /******/ 			function getDefault() { return module['default']; } :
       
    72 /******/ 			function getModuleExports() { return module; };
       
    73 /******/ 		__webpack_require__.d(getter, 'a', getter);
       
    74 /******/ 		return getter;
       
    75 /******/ 	};
       
    76 /******/
       
    77 /******/ 	// Object.prototype.hasOwnProperty.call
       
    78 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
       
    79 /******/
       
    80 /******/ 	// __webpack_public_path__
       
    81 /******/ 	__webpack_require__.p = "";
       
    82 /******/
       
    83 /******/
       
    84 /******/ 	// Load entry module and return exports
       
    85 /******/ 	return __webpack_require__(__webpack_require__.s = 339);
       
    86 /******/ })
       
    87 /************************************************************************/
       
    88 /******/ ({
       
    89 
       
    90 /***/ 26:
       
    91 /***/ (function(module, exports) {
       
    92 
       
    93 (function() { module.exports = this["wp"]["hooks"]; }());
       
    94 
       
    95 /***/ }),
       
    96 
       
    97 /***/ 339:
       
    98 /***/ (function(module, __webpack_exports__, __webpack_require__) {
       
    99 
       
   100 "use strict";
       
   101 __webpack_require__.r(__webpack_exports__);
       
   102 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "logged", function() { return logged; });
       
   103 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return deprecated; });
       
   104 /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26);
       
   105 /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__);
       
   106 /**
       
   107  * WordPress dependencies
       
   108  */
       
   109 
       
   110 /**
       
   111  * Object map tracking messages which have been logged, for use in ensuring a
       
   112  * message is only logged once.
       
   113  *
       
   114  * @type {Object}
       
   115  */
       
   116 
       
   117 var logged = Object.create(null);
       
   118 /**
       
   119  * Logs a message to notify developers about a deprecated feature.
       
   120  *
       
   121  * @param {string}  feature             Name of the deprecated feature.
       
   122  * @param {?Object} options             Personalisation options
       
   123  * @param {?string} options.version     Version in which the feature will be removed.
       
   124  * @param {?string} options.alternative Feature to use instead
       
   125  * @param {?string} options.plugin      Plugin name if it's a plugin feature
       
   126  * @param {?string} options.link        Link to documentation
       
   127  * @param {?string} options.hint        Additional message to help transition away from the deprecated feature.
       
   128  *
       
   129  * @example
       
   130  * ```js
       
   131  * import deprecated from '@wordpress/deprecated';
       
   132  *
       
   133  * deprecated( 'Eating meat', {
       
   134  * 	version: 'the future',
       
   135  * 	alternative: 'vegetables',
       
   136  * 	plugin: 'the earth',
       
   137  * 	hint: 'You may find it beneficial to transition gradually.',
       
   138  * } );
       
   139  *
       
   140  * // Logs: 'Eating meat is deprecated and will be removed from the earth in the future. Please use vegetables instead. Note: You may find it beneficial to transition gradually.'
       
   141  * ```
       
   142  */
       
   143 
       
   144 function deprecated(feature) {
       
   145   var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
       
   146   var version = options.version,
       
   147       alternative = options.alternative,
       
   148       plugin = options.plugin,
       
   149       link = options.link,
       
   150       hint = options.hint;
       
   151   var pluginMessage = plugin ? " from ".concat(plugin) : '';
       
   152   var versionMessage = version ? "".concat(pluginMessage, " in ").concat(version) : '';
       
   153   var useInsteadMessage = alternative ? " Please use ".concat(alternative, " instead.") : '';
       
   154   var linkMessage = link ? " See: ".concat(link) : '';
       
   155   var hintMessage = hint ? " Note: ".concat(hint) : '';
       
   156   var message = "".concat(feature, " is deprecated and will be removed").concat(versionMessage, ".").concat(useInsteadMessage).concat(linkMessage).concat(hintMessage); // Skip if already logged.
       
   157 
       
   158   if (message in logged) {
       
   159     return;
       
   160   }
       
   161   /**
       
   162    * Fires whenever a deprecated feature is encountered
       
   163    *
       
   164    * @param {string}  feature             Name of the deprecated feature.
       
   165    * @param {?Object} options             Personalisation options
       
   166    * @param {?string} options.version     Version in which the feature will be removed.
       
   167    * @param {?string} options.alternative Feature to use instead
       
   168    * @param {?string} options.plugin      Plugin name if it's a plugin feature
       
   169    * @param {?string} options.link        Link to documentation
       
   170    * @param {?string} options.hint        Additional message to help transition away from the deprecated feature.
       
   171    * @param {?string} message             Message sent to console.warn
       
   172    */
       
   173 
       
   174 
       
   175   Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__["doAction"])('deprecated', feature, options, message); // eslint-disable-next-line no-console
       
   176 
       
   177   console.warn(message);
       
   178   logged[message] = true;
       
   179 }
       
   180 
       
   181 
       
   182 /***/ })
       
   183 
       
   184 /******/ })["default"];