mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-10 21:00:59 +01:00
8614d14887
We decided to split the media webpack config into it's own file. The main webpack config then combines this file with the packages config. Include vendor scripts by copying them. We copy the minified files if they are available. If they aren't available we minify the original files ourselves. Props omarreiss, herregroen, gziolo, youknowriad, netweb, adamsilverstein. Merges [43719] to trunk. See #45065. Built from https://develop.svn.wordpress.org/trunk@44112 git-svn-id: http://core.svn.wordpress.org/trunk@43942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
740 lines
29 KiB
JavaScript
740 lines
29 KiB
JavaScript
this["wp"] = this["wp"] || {}; this["wp"]["hooks"] =
|
|
/******/ (function(modules) { // webpackBootstrap
|
|
/******/ // The module cache
|
|
/******/ var installedModules = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/
|
|
/******/ // Check if module is in cache
|
|
/******/ if(installedModules[moduleId]) {
|
|
/******/ return installedModules[moduleId].exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = installedModules[moduleId] = {
|
|
/******/ i: moduleId,
|
|
/******/ l: false,
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Flag the module as loaded
|
|
/******/ module.l = true;
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = modules;
|
|
/******/
|
|
/******/ // expose the module cache
|
|
/******/ __webpack_require__.c = installedModules;
|
|
/******/
|
|
/******/ // define getter function for harmony exports
|
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
/******/ }
|
|
/******/ };
|
|
/******/
|
|
/******/ // define __esModule on exports
|
|
/******/ __webpack_require__.r = function(exports) {
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
/******/ }
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
/******/ };
|
|
/******/
|
|
/******/ // create a fake namespace object
|
|
/******/ // mode & 1: value is a module id, require it
|
|
/******/ // mode & 2: merge all properties of value into the ns
|
|
/******/ // mode & 4: return value when already ns object
|
|
/******/ // mode & 8|1: behave like require
|
|
/******/ __webpack_require__.t = function(value, mode) {
|
|
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
/******/ if(mode & 8) return value;
|
|
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
/******/ var ns = Object.create(null);
|
|
/******/ __webpack_require__.r(ns);
|
|
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
/******/ return ns;
|
|
/******/ };
|
|
/******/
|
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
/******/ __webpack_require__.n = function(module) {
|
|
/******/ var getter = module && module.__esModule ?
|
|
/******/ function getDefault() { return module['default']; } :
|
|
/******/ function getModuleExports() { return module; };
|
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
/******/ return getter;
|
|
/******/ };
|
|
/******/
|
|
/******/ // Object.prototype.hasOwnProperty.call
|
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
/******/
|
|
/******/ // __webpack_public_path__
|
|
/******/ __webpack_require__.p = "";
|
|
/******/
|
|
/******/
|
|
/******/ // Load entry module and return exports
|
|
/******/ return __webpack_require__(__webpack_require__.s = "./node_modules/@wordpress/hooks/build-module/index.js");
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ({
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createAddHook.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createAddHook.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js");
|
|
/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js");
|
|
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ */ "./node_modules/@wordpress/hooks/build-module/index.js");
|
|
|
|
|
|
|
|
/**
|
|
* Returns a function which, when invoked, will add a hook.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
*
|
|
* @return {Function} Function that adds a new hook.
|
|
*/
|
|
|
|
function createAddHook(hooks) {
|
|
/**
|
|
* Adds the hook to the appropriate hooks container.
|
|
*
|
|
* @param {string} hookName Name of hook to add
|
|
* @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.
|
|
* @param {Function} callback Function to call when the hook is run
|
|
* @param {?number} priority Priority of this hook (default=10)
|
|
*/
|
|
return function addHook(hookName, namespace, callback) {
|
|
var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;
|
|
|
|
if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) {
|
|
return;
|
|
}
|
|
|
|
if (!Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) {
|
|
return;
|
|
}
|
|
|
|
if ('function' !== typeof callback) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('The hook callback must be a function.');
|
|
return;
|
|
} // Validate numeric priority
|
|
|
|
|
|
if ('number' !== typeof priority) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('If specified, the hook priority must be a number.');
|
|
return;
|
|
}
|
|
|
|
var handler = {
|
|
callback: callback,
|
|
priority: priority,
|
|
namespace: namespace
|
|
};
|
|
|
|
if (hooks[hookName]) {
|
|
// Find the correct insert index of the new hook.
|
|
var handlers = hooks[hookName].handlers;
|
|
var i = 0;
|
|
|
|
while (i < handlers.length) {
|
|
if (handlers[i].priority > priority) {
|
|
break;
|
|
}
|
|
|
|
i++;
|
|
} // Insert (or append) the new hook.
|
|
|
|
|
|
handlers.splice(i, 0, handler); // We may also be currently executing this hook. If the callback
|
|
// we're adding would come after the current callback, there's no
|
|
// problem; otherwise we need to increase the execution index of
|
|
// any other runs by 1 to account for the added element.
|
|
|
|
(hooks.__current || []).forEach(function (hookInfo) {
|
|
if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {
|
|
hookInfo.currentIndex++;
|
|
}
|
|
});
|
|
} else {
|
|
// This is the first hook of its type.
|
|
hooks[hookName] = {
|
|
handlers: [handler],
|
|
runs: 0
|
|
};
|
|
}
|
|
|
|
if (hookName !== 'hookAdded') {
|
|
Object(___WEBPACK_IMPORTED_MODULE_2__["doAction"])('hookAdded', hookName, namespace, callback, priority);
|
|
}
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createAddHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/**
|
|
* Returns a function which, when invoked, will return the name of the
|
|
* currently running hook, or `null` if no hook of the given type is currently
|
|
* running.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
*
|
|
* @return {Function} Function that returns the current hook.
|
|
*/
|
|
function createCurrentHook(hooks) {
|
|
/**
|
|
* Returns the name of the currently running hook, or `null` if no hook of
|
|
* the given type is currently running.
|
|
*
|
|
* @return {?string} The name of the currently running hook, or
|
|
* `null` if no hook is currently running.
|
|
*/
|
|
return function currentHook() {
|
|
if (!hooks.__current || !hooks.__current.length) {
|
|
return null;
|
|
}
|
|
|
|
return hooks.__current[hooks.__current.length - 1].name;
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createCurrentHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createDidHook.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createDidHook.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js");
|
|
|
|
/**
|
|
* Returns a function which, when invoked, will return the number of times a
|
|
* hook has been called.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
*
|
|
* @return {Function} Function that returns a hook's call count.
|
|
*/
|
|
|
|
function createDidHook(hooks) {
|
|
/**
|
|
* Returns the number of times an action has been fired.
|
|
*
|
|
* @param {string} hookName The hook name to check.
|
|
*
|
|
* @return {number} The number of times the hook has run.
|
|
*/
|
|
return function didHook(hookName) {
|
|
if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(hookName)) {
|
|
return;
|
|
}
|
|
|
|
return hooks[hookName] && hooks[hookName].runs ? hooks[hookName].runs : 0;
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createDidHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createDoingHook.js ***!
|
|
\***********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/**
|
|
* Returns a function which, when invoked, will return whether a hook is
|
|
* currently being executed.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
*
|
|
* @return {Function} Function that returns whether a hook is currently
|
|
* being executed.
|
|
*/
|
|
function createDoingHook(hooks) {
|
|
/**
|
|
* Returns whether a hook is currently being executed.
|
|
*
|
|
* @param {?string} hookName The name of the hook to check for. If
|
|
* omitted, will check for any hook being executed.
|
|
*
|
|
* @return {boolean} Whether the hook is being executed.
|
|
*/
|
|
return function doingHook(hookName) {
|
|
// If the hookName was not passed, check for any current hook.
|
|
if ('undefined' === typeof hookName) {
|
|
return 'undefined' !== typeof hooks.__current[0];
|
|
} // Return the __current hook.
|
|
|
|
|
|
return hooks.__current[0] ? hookName === hooks.__current[0].name : false;
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createDoingHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createHasHook.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createHasHook.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/**
|
|
* Returns a function which, when invoked, will return whether any handlers are
|
|
* attached to a particular hook.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
*
|
|
* @return {Function} Function that returns whether any handlers are
|
|
* attached to a particular hook.
|
|
*/
|
|
function createHasHook(hooks) {
|
|
/**
|
|
* Returns how many handlers are attached for the given hook.
|
|
*
|
|
* @param {string} hookName The name of the hook to check for.
|
|
*
|
|
* @return {boolean} Whether there are handlers that are attached to the given hook.
|
|
*/
|
|
return function hasHook(hookName) {
|
|
return hookName in hooks;
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createHasHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createHooks.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createAddHook */ "./node_modules/@wordpress/hooks/build-module/createAddHook.js");
|
|
/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createRemoveHook */ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js");
|
|
/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createHasHook */ "./node_modules/@wordpress/hooks/build-module/createHasHook.js");
|
|
/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createRunHook */ "./node_modules/@wordpress/hooks/build-module/createRunHook.js");
|
|
/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createCurrentHook */ "./node_modules/@wordpress/hooks/build-module/createCurrentHook.js");
|
|
/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createDoingHook */ "./node_modules/@wordpress/hooks/build-module/createDoingHook.js");
|
|
/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDidHook */ "./node_modules/@wordpress/hooks/build-module/createDidHook.js");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Returns an instance of the hooks object.
|
|
*
|
|
* @return {Object} Object that contains all hooks.
|
|
*/
|
|
|
|
function createHooks() {
|
|
var actions = Object.create(null);
|
|
var filters = Object.create(null);
|
|
actions.__current = [];
|
|
filters.__current = [];
|
|
return {
|
|
addAction: Object(_createAddHook__WEBPACK_IMPORTED_MODULE_0__["default"])(actions),
|
|
addFilter: Object(_createAddHook__WEBPACK_IMPORTED_MODULE_0__["default"])(filters),
|
|
removeAction: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__["default"])(actions),
|
|
removeFilter: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__["default"])(filters),
|
|
hasAction: Object(_createHasHook__WEBPACK_IMPORTED_MODULE_2__["default"])(actions),
|
|
hasFilter: Object(_createHasHook__WEBPACK_IMPORTED_MODULE_2__["default"])(filters),
|
|
removeAllActions: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__["default"])(actions, true),
|
|
removeAllFilters: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__["default"])(filters, true),
|
|
doAction: Object(_createRunHook__WEBPACK_IMPORTED_MODULE_3__["default"])(actions),
|
|
applyFilters: Object(_createRunHook__WEBPACK_IMPORTED_MODULE_3__["default"])(filters, true),
|
|
currentAction: Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_4__["default"])(actions),
|
|
currentFilter: Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_4__["default"])(filters),
|
|
doingAction: Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_5__["default"])(actions),
|
|
doingFilter: Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_5__["default"])(filters),
|
|
didAction: Object(_createDidHook__WEBPACK_IMPORTED_MODULE_6__["default"])(actions),
|
|
didFilter: Object(_createDidHook__WEBPACK_IMPORTED_MODULE_6__["default"])(filters),
|
|
actions: actions,
|
|
filters: filters
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createHooks);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createRemoveHook.js":
|
|
/*!************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js ***!
|
|
\************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js");
|
|
/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ "./node_modules/@wordpress/hooks/build-module/validateHookName.js");
|
|
/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ */ "./node_modules/@wordpress/hooks/build-module/index.js");
|
|
|
|
|
|
|
|
/**
|
|
* Returns a function which, when invoked, will remove a specified hook or all
|
|
* hooks by the given name.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
* @param {boolean} removeAll Whether to remove all callbacks for a hookName, without regard to namespace. Used to create `removeAll*` functions.
|
|
*
|
|
* @return {Function} Function that removes hooks.
|
|
*/
|
|
|
|
function createRemoveHook(hooks, removeAll) {
|
|
/**
|
|
* Removes the specified callback (or all callbacks) from the hook with a
|
|
* given hookName and namespace.
|
|
*
|
|
* @param {string} hookName The name of the hook to modify.
|
|
* @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.
|
|
*
|
|
* @return {number} The number of callbacks removed.
|
|
*/
|
|
return function removeHook(hookName, namespace) {
|
|
if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(hookName)) {
|
|
return;
|
|
}
|
|
|
|
if (!removeAll && !Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__["default"])(namespace)) {
|
|
return;
|
|
} // Bail if no hooks exist by this name
|
|
|
|
|
|
if (!hooks[hookName]) {
|
|
return 0;
|
|
}
|
|
|
|
var handlersRemoved = 0;
|
|
|
|
if (removeAll) {
|
|
handlersRemoved = hooks[hookName].handlers.length;
|
|
hooks[hookName] = {
|
|
runs: hooks[hookName].runs,
|
|
handlers: []
|
|
};
|
|
} else {
|
|
// Try to find the specified callback to remove.
|
|
var handlers = hooks[hookName].handlers;
|
|
|
|
var _loop = function _loop(i) {
|
|
if (handlers[i].namespace === namespace) {
|
|
handlers.splice(i, 1);
|
|
handlersRemoved++; // This callback may also be part of a hook that is
|
|
// currently executing. If the callback we're removing
|
|
// comes after the current callback, there's no problem;
|
|
// otherwise we need to decrease the execution index of any
|
|
// other runs by 1 to account for the removed element.
|
|
|
|
(hooks.__current || []).forEach(function (hookInfo) {
|
|
if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {
|
|
hookInfo.currentIndex--;
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
for (var i = handlers.length - 1; i >= 0; i--) {
|
|
_loop(i);
|
|
}
|
|
}
|
|
|
|
if (hookName !== 'hookRemoved') {
|
|
Object(___WEBPACK_IMPORTED_MODULE_2__["doAction"])('hookRemoved', hookName, namespace);
|
|
}
|
|
|
|
return handlersRemoved;
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createRemoveHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/createRunHook.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/createRunHook.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/**
|
|
* Returns a function which, when invoked, will execute all callbacks
|
|
* registered to a hook of the specified type, optionally returning the final
|
|
* value of the call chain.
|
|
*
|
|
* @param {Object} hooks Stored hooks, keyed by hook name.
|
|
* @param {?boolean} returnFirstArg Whether each hook callback is expected to
|
|
* return its first argument.
|
|
*
|
|
* @return {Function} Function that runs hook callbacks.
|
|
*/
|
|
function createRunHook(hooks, returnFirstArg) {
|
|
/**
|
|
* Runs all callbacks for the specified hook.
|
|
*
|
|
* @param {string} hookName The name of the hook to run.
|
|
* @param {...*} args Arguments to pass to the hook callbacks.
|
|
*
|
|
* @return {*} Return value of runner, if applicable.
|
|
*/
|
|
return function runHooks(hookName) {
|
|
if (!hooks[hookName]) {
|
|
hooks[hookName] = {
|
|
handlers: [],
|
|
runs: 0
|
|
};
|
|
}
|
|
|
|
hooks[hookName].runs++;
|
|
var handlers = hooks[hookName].handlers;
|
|
|
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
args[_key - 1] = arguments[_key];
|
|
}
|
|
|
|
if (!handlers || !handlers.length) {
|
|
return returnFirstArg ? args[0] : undefined;
|
|
}
|
|
|
|
var hookInfo = {
|
|
name: hookName,
|
|
currentIndex: 0
|
|
};
|
|
|
|
hooks.__current.push(hookInfo);
|
|
|
|
if (!hooks[hookName]) {
|
|
hooks[hookName] = {
|
|
runs: 0,
|
|
handlers: []
|
|
};
|
|
}
|
|
|
|
while (hookInfo.currentIndex < handlers.length) {
|
|
var handler = handlers[hookInfo.currentIndex];
|
|
var result = handler.callback.apply(null, args);
|
|
|
|
if (returnFirstArg) {
|
|
args[0] = result;
|
|
}
|
|
|
|
hookInfo.currentIndex++;
|
|
}
|
|
|
|
hooks.__current.pop();
|
|
|
|
if (returnFirstArg) {
|
|
return args[0];
|
|
}
|
|
};
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (createRunHook);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/index.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/index.js ***!
|
|
\*************************************************************/
|
|
/*! exports provided: createHooks, addAction, addFilter, removeAction, removeFilter, hasAction, hasFilter, removeAllActions, removeAllFilters, doAction, applyFilters, currentAction, currentFilter, doingAction, doingFilter, didAction, didFilter, actions, filters */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addAction", function() { return addAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addFilter", function() { return addFilter; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeAction", function() { return removeAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeFilter", function() { return removeFilter; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasAction", function() { return hasAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasFilter", function() { return hasFilter; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeAllActions", function() { return removeAllActions; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeAllFilters", function() { return removeAllFilters; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "doAction", function() { return doAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyFilters", function() { return applyFilters; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "currentAction", function() { return currentAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "currentFilter", function() { return currentFilter; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "doingAction", function() { return doingAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "doingFilter", function() { return doingFilter; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "didAction", function() { return didAction; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "didFilter", function() { return didFilter; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "actions", function() { return actions; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "filters", function() { return filters; });
|
|
/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ "./node_modules/@wordpress/hooks/build-module/createHooks.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createHooks", function() { return _createHooks__WEBPACK_IMPORTED_MODULE_0__["default"]; });
|
|
|
|
|
|
|
|
var _createHooks = Object(_createHooks__WEBPACK_IMPORTED_MODULE_0__["default"])(),
|
|
addAction = _createHooks.addAction,
|
|
addFilter = _createHooks.addFilter,
|
|
removeAction = _createHooks.removeAction,
|
|
removeFilter = _createHooks.removeFilter,
|
|
hasAction = _createHooks.hasAction,
|
|
hasFilter = _createHooks.hasFilter,
|
|
removeAllActions = _createHooks.removeAllActions,
|
|
removeAllFilters = _createHooks.removeAllFilters,
|
|
doAction = _createHooks.doAction,
|
|
applyFilters = _createHooks.applyFilters,
|
|
currentAction = _createHooks.currentAction,
|
|
currentFilter = _createHooks.currentFilter,
|
|
doingAction = _createHooks.doingAction,
|
|
doingFilter = _createHooks.doingFilter,
|
|
didAction = _createHooks.didAction,
|
|
didFilter = _createHooks.didFilter,
|
|
actions = _createHooks.actions,
|
|
filters = _createHooks.filters;
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/validateHookName.js":
|
|
/*!************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/validateHookName.js ***!
|
|
\************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/**
|
|
* Validate a hookName string.
|
|
*
|
|
* @param {string} hookName The hook name to validate. Should be a non empty string containing
|
|
* only numbers, letters, dashes, periods and underscores. Also,
|
|
* the hook name cannot begin with `__`.
|
|
*
|
|
* @return {boolean} Whether the hook name is valid.
|
|
*/
|
|
function validateHookName(hookName) {
|
|
if ('string' !== typeof hookName || '' === hookName) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('The hook name must be a non-empty string.');
|
|
return false;
|
|
}
|
|
|
|
if (/^__/.test(hookName)) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('The hook name cannot begin with `__`.');
|
|
return false;
|
|
}
|
|
|
|
if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (validateHookName);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/hooks/build-module/validateNamespace.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/hooks/build-module/validateNamespace.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/**
|
|
* Validate a namespace string.
|
|
*
|
|
* @param {string} namespace The namespace to validate - should take the form
|
|
* `vendor/plugin/function`.
|
|
*
|
|
* @return {boolean} Whether the namespace is valid.
|
|
*/
|
|
function validateNamespace(namespace) {
|
|
if ('string' !== typeof namespace || '' === namespace) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('The namespace must be a non-empty string.');
|
|
return false;
|
|
}
|
|
|
|
if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) {
|
|
// eslint-disable-next-line no-console
|
|
console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (validateNamespace);
|
|
|
|
|
|
/***/ })
|
|
|
|
/******/ });
|
|
//# sourceMappingURL=hooks.js.map
|