mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-18 00:25:37 +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
3890 lines
143 KiB
JavaScript
3890 lines
143 KiB
JavaScript
this["wp"] = this["wp"] || {}; this["wp"]["data"] =
|
|
/******/ (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/data/build-module/index.js");
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ({
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return AsyncGenerator; });
|
|
/* harmony import */ var _AwaitValue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AwaitValue */ "./node_modules/@babel/runtime/helpers/esm/AwaitValue.js");
|
|
|
|
function AsyncGenerator(gen) {
|
|
var front, back;
|
|
|
|
function send(key, arg) {
|
|
return new Promise(function (resolve, reject) {
|
|
var request = {
|
|
key: key,
|
|
arg: arg,
|
|
resolve: resolve,
|
|
reject: reject,
|
|
next: null
|
|
};
|
|
|
|
if (back) {
|
|
back = back.next = request;
|
|
} else {
|
|
front = back = request;
|
|
resume(key, arg);
|
|
}
|
|
});
|
|
}
|
|
|
|
function resume(key, arg) {
|
|
try {
|
|
var result = gen[key](arg);
|
|
var value = result.value;
|
|
var wrappedAwait = value instanceof _AwaitValue__WEBPACK_IMPORTED_MODULE_0__["default"];
|
|
Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {
|
|
if (wrappedAwait) {
|
|
resume("next", arg);
|
|
return;
|
|
}
|
|
|
|
settle(result.done ? "return" : "normal", arg);
|
|
}, function (err) {
|
|
resume("throw", err);
|
|
});
|
|
} catch (err) {
|
|
settle("throw", err);
|
|
}
|
|
}
|
|
|
|
function settle(type, value) {
|
|
switch (type) {
|
|
case "return":
|
|
front.resolve({
|
|
value: value,
|
|
done: true
|
|
});
|
|
break;
|
|
|
|
case "throw":
|
|
front.reject(value);
|
|
break;
|
|
|
|
default:
|
|
front.resolve({
|
|
value: value,
|
|
done: false
|
|
});
|
|
break;
|
|
}
|
|
|
|
front = front.next;
|
|
|
|
if (front) {
|
|
resume(front.key, front.arg);
|
|
} else {
|
|
back = null;
|
|
}
|
|
}
|
|
|
|
this._invoke = send;
|
|
|
|
if (typeof gen.return !== "function") {
|
|
this.return = undefined;
|
|
}
|
|
}
|
|
|
|
if (typeof Symbol === "function" && Symbol.asyncIterator) {
|
|
AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
|
|
return this;
|
|
};
|
|
}
|
|
|
|
AsyncGenerator.prototype.next = function (arg) {
|
|
return this._invoke("next", arg);
|
|
};
|
|
|
|
AsyncGenerator.prototype.throw = function (arg) {
|
|
return this._invoke("throw", arg);
|
|
};
|
|
|
|
AsyncGenerator.prototype.return = function (arg) {
|
|
return this._invoke("return", arg);
|
|
};
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/AwaitValue.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/AwaitValue.js ***!
|
|
\***************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _AwaitValue; });
|
|
function _AwaitValue(value) {
|
|
this.wrapped = value;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _arrayWithHoles; });
|
|
function _arrayWithHoles(arr) {
|
|
if (Array.isArray(arr)) return arr;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
|
|
/*!**************************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
|
|
\**************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _assertThisInitialized; });
|
|
function _assertThisInitialized(self) {
|
|
if (self === void 0) {
|
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/asyncIterator.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/asyncIterator.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _asyncIterator; });
|
|
function _asyncIterator(iterable) {
|
|
var method;
|
|
|
|
if (typeof Symbol === "function") {
|
|
if (Symbol.asyncIterator) {
|
|
method = iterable[Symbol.asyncIterator];
|
|
if (method != null) return method.call(iterable);
|
|
}
|
|
|
|
if (Symbol.iterator) {
|
|
method = iterable[Symbol.iterator];
|
|
if (method != null) return method.call(iterable);
|
|
}
|
|
}
|
|
|
|
throw new TypeError("Object is not async iterable");
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js":
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js ***!
|
|
\*********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _asyncToGenerator; });
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
|
|
function _asyncToGenerator(fn) {
|
|
return function () {
|
|
var self = this,
|
|
args = arguments;
|
|
return new Promise(function (resolve, reject) {
|
|
var gen = fn.apply(self, args);
|
|
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
}
|
|
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
}
|
|
|
|
_next(undefined);
|
|
});
|
|
};
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js":
|
|
/*!************************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js ***!
|
|
\************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _awaitAsyncGenerator; });
|
|
/* harmony import */ var _AwaitValue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AwaitValue */ "./node_modules/@babel/runtime/helpers/esm/AwaitValue.js");
|
|
|
|
function _awaitAsyncGenerator(value) {
|
|
return new _AwaitValue__WEBPACK_IMPORTED_MODULE_0__["default"](value);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _classCallCheck; });
|
|
function _classCallCheck(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) {
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js":
|
|
/*!****************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***!
|
|
\****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _createClass; });
|
|
function _defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor) descriptor.writable = true;
|
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
}
|
|
}
|
|
|
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
return Constructor;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _defineProperty; });
|
|
function _defineProperty(obj, key, value) {
|
|
if (key in obj) {
|
|
Object.defineProperty(obj, key, {
|
|
value: value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
|
|
return obj;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***!
|
|
\************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _extends; });
|
|
function _extends() {
|
|
_extends = Object.assign || function (target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i];
|
|
|
|
for (var key in source) {
|
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
target[key] = source[key];
|
|
}
|
|
}
|
|
}
|
|
|
|
return target;
|
|
};
|
|
|
|
return _extends.apply(this, arguments);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _getPrototypeOf; });
|
|
function _getPrototypeOf(o) {
|
|
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
};
|
|
return _getPrototypeOf(o);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js":
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***!
|
|
\*************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _inherits; });
|
|
/* harmony import */ var _setPrototypeOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
|
|
|
|
function _inherits(subClass, superClass) {
|
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
}
|
|
|
|
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
constructor: {
|
|
value: subClass,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
if (superClass) Object(_setPrototypeOf__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _iterableToArrayLimit; });
|
|
function _iterableToArrayLimit(arr, i) {
|
|
var _arr = [];
|
|
var _n = true;
|
|
var _d = false;
|
|
var _e = undefined;
|
|
|
|
try {
|
|
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
|
|
_arr.push(_s.value);
|
|
|
|
if (i && _arr.length === i) break;
|
|
}
|
|
} catch (err) {
|
|
_d = true;
|
|
_e = err;
|
|
} finally {
|
|
try {
|
|
if (!_n && _i["return"] != null) _i["return"]();
|
|
} finally {
|
|
if (_d) throw _e;
|
|
}
|
|
}
|
|
|
|
return _arr;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
|
|
/*!********************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
|
|
\********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _nonIterableRest; });
|
|
function _nonIterableRest() {
|
|
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread.js":
|
|
/*!*****************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/objectSpread.js ***!
|
|
\*****************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _objectSpread; });
|
|
/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
|
|
|
|
function _objectSpread(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
var ownKeys = Object.keys(source);
|
|
|
|
if (typeof Object.getOwnPropertySymbols === 'function') {
|
|
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
|
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
}));
|
|
}
|
|
|
|
ownKeys.forEach(function (key) {
|
|
Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(target, key, source[key]);
|
|
});
|
|
}
|
|
|
|
return target;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
|
|
/*!******************************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
|
|
\******************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _possibleConstructorReturn; });
|
|
/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../helpers/esm/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
|
|
/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized */ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
|
|
|
|
|
|
function _possibleConstructorReturn(self, call) {
|
|
if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(call) === "object" || typeof call === "function")) {
|
|
return call;
|
|
}
|
|
|
|
return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__["default"])(self);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
|
|
\*******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _setPrototypeOf; });
|
|
function _setPrototypeOf(o, p) {
|
|
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
o.__proto__ = p;
|
|
return o;
|
|
};
|
|
|
|
return _setPrototypeOf(o, p);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _slicedToArray; });
|
|
/* harmony import */ var _arrayWithHoles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles */ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
|
|
/* harmony import */ var _iterableToArrayLimit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArrayLimit */ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js");
|
|
/* harmony import */ var _nonIterableRest__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nonIterableRest */ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
|
|
|
|
|
|
|
|
function _slicedToArray(arr, i) {
|
|
return Object(_arrayWithHoles__WEBPACK_IMPORTED_MODULE_0__["default"])(arr) || Object(_iterableToArrayLimit__WEBPACK_IMPORTED_MODULE_1__["default"])(arr, i) || Object(_nonIterableRest__WEBPACK_IMPORTED_MODULE_2__["default"])();
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
|
|
/*!***********************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
|
|
\***********************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _typeof; });
|
|
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
|
|
|
|
function _typeof(obj) {
|
|
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
|
|
_typeof = function _typeof(obj) {
|
|
return _typeof2(obj);
|
|
};
|
|
} else {
|
|
_typeof = function _typeof(obj) {
|
|
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
|
|
};
|
|
}
|
|
|
|
return _typeof(obj);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js ***!
|
|
\***********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _wrapAsyncGenerator; });
|
|
/* harmony import */ var _AsyncGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AsyncGenerator */ "./node_modules/@babel/runtime/helpers/esm/AsyncGenerator.js");
|
|
|
|
function _wrapAsyncGenerator(fn) {
|
|
return function () {
|
|
return new _AsyncGenerator__WEBPACK_IMPORTED_MODULE_0__["default"](fn.apply(this, arguments));
|
|
};
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/components/registry-provider/index.js":
|
|
/*!*****************************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/components/registry-provider/index.js ***!
|
|
\*****************************************************************************************/
|
|
/*! exports provided: RegistryConsumer, default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RegistryConsumer", function() { return RegistryConsumer; });
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var _default_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../default-registry */ "./node_modules/@wordpress/data/build-module/default-registry.js");
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
var _createContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])(_default_registry__WEBPACK_IMPORTED_MODULE_1__["default"]),
|
|
Consumer = _createContext.Consumer,
|
|
Provider = _createContext.Provider;
|
|
|
|
var RegistryConsumer = Consumer;
|
|
/* harmony default export */ __webpack_exports__["default"] = (Provider);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/components/with-dispatch/index.js":
|
|
/*!*************************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/components/with-dispatch/index.js ***!
|
|
\*************************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);
|
|
/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/compose */ "@wordpress/compose");
|
|
/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__);
|
|
/* harmony import */ var _registry_provider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../registry-provider */ "./node_modules/@wordpress/data/build-module/components/registry-provider/index.js");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Higher-order component used to add dispatch props using registered action
|
|
* creators.
|
|
*
|
|
* @param {Object} mapDispatchToProps Object of prop names where value is a
|
|
* dispatch-bound action creator, or a
|
|
* function to be called with with the
|
|
* component's props and returning an
|
|
* action creator.
|
|
*
|
|
* @return {Component} Enhanced component with merged dispatcher props.
|
|
*/
|
|
|
|
var withDispatch = function withDispatch(mapDispatchToProps) {
|
|
return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["createHigherOrderComponent"])(Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["compose"])([_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["pure"], function (WrappedComponent) {
|
|
var ComponentWithDispatch = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["remountOnPropChange"])('registry')(
|
|
/*#__PURE__*/
|
|
function (_Component) {
|
|
Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(_class, _Component);
|
|
|
|
function _class(props) {
|
|
var _this;
|
|
|
|
Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, _class);
|
|
|
|
_this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__["default"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(_class).apply(this, arguments));
|
|
_this.proxyProps = {};
|
|
|
|
_this.setProxyProps(props);
|
|
|
|
return _this;
|
|
}
|
|
|
|
Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(_class, [{
|
|
key: "componentDidUpdate",
|
|
value: function componentDidUpdate() {
|
|
this.setProxyProps(this.props);
|
|
}
|
|
}, {
|
|
key: "proxyDispatch",
|
|
value: function proxyDispatch(propName) {
|
|
var _mapDispatchToProps;
|
|
|
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
args[_key - 1] = arguments[_key];
|
|
}
|
|
|
|
// Original dispatcher is a pre-bound (dispatching) action creator.
|
|
(_mapDispatchToProps = mapDispatchToProps(this.props.registry.dispatch, this.props.ownProps))[propName].apply(_mapDispatchToProps, args);
|
|
}
|
|
}, {
|
|
key: "setProxyProps",
|
|
value: function setProxyProps(props) {
|
|
var _this2 = this;
|
|
|
|
// Assign as instance property so that in reconciling subsequent
|
|
// renders, the assigned prop values are referentially equal.
|
|
var propsToDispatchers = mapDispatchToProps(this.props.registry.dispatch, props.ownProps);
|
|
this.proxyProps = Object(lodash__WEBPACK_IMPORTED_MODULE_7__["mapValues"])(propsToDispatchers, function (dispatcher, propName) {
|
|
// Prebind with prop name so we have reference to the original
|
|
// dispatcher to invoke. Track between re-renders to avoid
|
|
// creating new function references every render.
|
|
if (_this2.proxyProps.hasOwnProperty(propName)) {
|
|
return _this2.proxyProps[propName];
|
|
}
|
|
|
|
return _this2.proxyDispatch.bind(_this2, propName);
|
|
});
|
|
}
|
|
}, {
|
|
key: "render",
|
|
value: function render() {
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, this.props.ownProps, this.proxyProps));
|
|
}
|
|
}]);
|
|
|
|
return _class;
|
|
}(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]));
|
|
return function (ownProps) {
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_registry_provider__WEBPACK_IMPORTED_MODULE_9__["RegistryConsumer"], null, function (registry) {
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(ComponentWithDispatch, {
|
|
ownProps: ownProps,
|
|
registry: registry
|
|
});
|
|
});
|
|
};
|
|
}]), 'withDispatch');
|
|
};
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (withDispatch);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/components/with-select/index.js":
|
|
/*!***********************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/components/with-select/index.js ***!
|
|
\***********************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "./node_modules/@babel/runtime/helpers/esm/inherits.js");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
|
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
|
|
/* harmony import */ var _wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/is-shallow-equal */ "@wordpress/is-shallow-equal");
|
|
/* harmony import */ var _wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_7__);
|
|
/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/compose */ "@wordpress/compose");
|
|
/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__);
|
|
/* harmony import */ var _registry_provider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../registry-provider */ "./node_modules/@wordpress/data/build-module/components/registry-provider/index.js");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Higher-order component used to inject state-derived props using registered
|
|
* selectors.
|
|
*
|
|
* @param {Function} mapSelectToProps Function called on every state change,
|
|
* expected to return object of props to
|
|
* merge with the component's own props.
|
|
*
|
|
* @return {Component} Enhanced component with merged state data props.
|
|
*/
|
|
|
|
var withSelect = function withSelect(mapSelectToProps) {
|
|
return Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["createHigherOrderComponent"])(function (WrappedComponent) {
|
|
/**
|
|
* Default merge props. A constant value is used as the fallback since it
|
|
* can be more efficiently shallow compared in case component is repeatedly
|
|
* rendered without its own merge props.
|
|
*
|
|
* @type {Object}
|
|
*/
|
|
var DEFAULT_MERGE_PROPS = {};
|
|
/**
|
|
* Given a props object, returns the next merge props by mapSelectToProps.
|
|
*
|
|
* @param {Object} props Props to pass as argument to mapSelectToProps.
|
|
*
|
|
* @return {Object} Props to merge into rendered wrapped element.
|
|
*/
|
|
|
|
function getNextMergeProps(props) {
|
|
return mapSelectToProps(props.registry.select, props.ownProps) || DEFAULT_MERGE_PROPS;
|
|
}
|
|
|
|
var ComponentWithSelect = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["remountOnPropChange"])('registry')(
|
|
/*#__PURE__*/
|
|
function (_Component) {
|
|
Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__["default"])(_class, _Component);
|
|
|
|
function _class(props) {
|
|
var _this;
|
|
|
|
Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__["default"])(this, _class);
|
|
|
|
_this = Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__["default"])(this, Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__["default"])(_class).call(this, props));
|
|
|
|
_this.subscribe();
|
|
|
|
_this.mergeProps = getNextMergeProps(props);
|
|
return _this;
|
|
}
|
|
|
|
Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__["default"])(_class, [{
|
|
key: "componentDidMount",
|
|
value: function componentDidMount() {
|
|
this.canRunSelection = true;
|
|
}
|
|
}, {
|
|
key: "componentWillUnmount",
|
|
value: function componentWillUnmount() {
|
|
this.canRunSelection = false;
|
|
this.unsubscribe();
|
|
}
|
|
}, {
|
|
key: "shouldComponentUpdate",
|
|
value: function shouldComponentUpdate(nextProps, nextState) {
|
|
var hasPropsChanged = !_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_7___default()(this.props.ownProps, nextProps.ownProps); // Only render if props have changed or merge props have been updated
|
|
// from the store subscriber.
|
|
|
|
if (this.state === nextState && !hasPropsChanged) {
|
|
return false;
|
|
} // If merge props change as a result of the incoming props, they
|
|
// should be reflected as such in the upcoming render.
|
|
|
|
|
|
if (hasPropsChanged) {
|
|
var nextMergeProps = getNextMergeProps(nextProps);
|
|
|
|
if (!_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_7___default()(this.mergeProps, nextMergeProps)) {
|
|
// Side effects are typically discouraged in lifecycle methods, but
|
|
// this component is heavily used and this is the most performant
|
|
// code we've found thus far.
|
|
// Prior efforts to use `getDerivedStateFromProps` have demonstrated
|
|
// miserable performance.
|
|
this.mergeProps = nextMergeProps;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}, {
|
|
key: "subscribe",
|
|
value: function subscribe() {
|
|
var _this2 = this;
|
|
|
|
var subscribe = this.props.registry.subscribe;
|
|
this.unsubscribe = subscribe(function () {
|
|
if (!_this2.canRunSelection) {
|
|
return;
|
|
}
|
|
|
|
var nextMergeProps = getNextMergeProps(_this2.props);
|
|
|
|
if (_wordpress_is_shallow_equal__WEBPACK_IMPORTED_MODULE_7___default()(_this2.mergeProps, nextMergeProps)) {
|
|
return;
|
|
}
|
|
|
|
_this2.mergeProps = nextMergeProps; // Schedule an update. Merge props are not assigned to state
|
|
// because derivation of merge props from incoming props occurs
|
|
// within shouldComponentUpdate, where setState is not allowed.
|
|
// setState is used here instead of forceUpdate because forceUpdate
|
|
// bypasses shouldComponentUpdate altogether, which isn't desireable
|
|
// if both state and props change within the same render.
|
|
// Unfortunately this requires that next merge props are generated
|
|
// twice.
|
|
|
|
_this2.setState({});
|
|
});
|
|
}
|
|
}, {
|
|
key: "render",
|
|
value: function render() {
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, this.props.ownProps, this.mergeProps));
|
|
}
|
|
}]);
|
|
|
|
return _class;
|
|
}(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]));
|
|
return function (ownProps) {
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_registry_provider__WEBPACK_IMPORTED_MODULE_9__["RegistryConsumer"], null, function (registry) {
|
|
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(ComponentWithSelect, {
|
|
ownProps: ownProps,
|
|
registry: registry
|
|
});
|
|
});
|
|
};
|
|
}, 'withSelect');
|
|
};
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (withSelect);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/default-registry.js":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/default-registry.js ***!
|
|
\***********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./registry */ "./node_modules/@wordpress/data/build-module/registry.js");
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (Object(_registry__WEBPACK_IMPORTED_MODULE_0__["createRegistry"])());
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/index.js":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/index.js ***!
|
|
\************************************************************/
|
|
/*! exports provided: withSelect, withDispatch, RegistryProvider, RegistryConsumer, createRegistry, plugins, combineReducers, select, dispatch, subscribe, registerStore, registerReducer, registerActions, registerSelectors, registerResolvers, use */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "select", function() { return select; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatch", function() { return dispatch; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribe", function() { return subscribe; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerStore", function() { return registerStore; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerReducer", function() { return registerReducer; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerActions", function() { return registerActions; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerSelectors", function() { return registerSelectors; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerResolvers", function() { return registerResolvers; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "use", function() { return use; });
|
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return redux__WEBPACK_IMPORTED_MODULE_0__["combineReducers"]; });
|
|
|
|
/* harmony import */ var _default_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./default-registry */ "./node_modules/@wordpress/data/build-module/default-registry.js");
|
|
/* harmony import */ var _plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./plugins */ "./node_modules/@wordpress/data/build-module/plugins/index.js");
|
|
/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "plugins", function() { return _plugins__WEBPACK_IMPORTED_MODULE_2__; });
|
|
/* harmony import */ var _components_with_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/with-select */ "./node_modules/@wordpress/data/build-module/components/with-select/index.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withSelect", function() { return _components_with_select__WEBPACK_IMPORTED_MODULE_3__["default"]; });
|
|
|
|
/* harmony import */ var _components_with_dispatch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/with-dispatch */ "./node_modules/@wordpress/data/build-module/components/with-dispatch/index.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withDispatch", function() { return _components_with_dispatch__WEBPACK_IMPORTED_MODULE_4__["default"]; });
|
|
|
|
/* harmony import */ var _components_registry_provider__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/registry-provider */ "./node_modules/@wordpress/data/build-module/components/registry-provider/index.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RegistryProvider", function() { return _components_registry_provider__WEBPACK_IMPORTED_MODULE_5__["default"]; });
|
|
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RegistryConsumer", function() { return _components_registry_provider__WEBPACK_IMPORTED_MODULE_5__["RegistryConsumer"]; });
|
|
|
|
/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./registry */ "./node_modules/@wordpress/data/build-module/registry.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createRegistry", function() { return _registry__WEBPACK_IMPORTED_MODULE_6__["createRegistry"]; });
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* The combineReducers helper function turns an object whose values are different
|
|
* reducing functions into a single reducing function you can pass to registerReducer.
|
|
*
|
|
* @param {Object} reducers An object whose values correspond to different reducing
|
|
* functions that need to be combined into one.
|
|
*
|
|
* @return {Function} A reducer that invokes every reducer inside the reducers
|
|
* object, and constructs a state object with the same shape.
|
|
*/
|
|
|
|
|
|
var select = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].select;
|
|
var dispatch = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].dispatch;
|
|
var subscribe = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].subscribe;
|
|
var registerStore = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].registerStore;
|
|
var registerReducer = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].registerReducer;
|
|
var registerActions = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].registerActions;
|
|
var registerSelectors = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].registerSelectors;
|
|
var registerResolvers = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].registerResolvers;
|
|
var use = _default_registry__WEBPACK_IMPORTED_MODULE_1__["default"].use;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/async-generator/index.js":
|
|
/*!************************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/async-generator/index.js ***!
|
|
\************************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
|
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var _middleware__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./middleware */ "./node_modules/@wordpress/data/build-module/plugins/async-generator/middleware.js");
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (function (registry) {
|
|
return {
|
|
registerStore: function registerStore(reducerKey, options) {
|
|
var store = registry.registerStore(reducerKey, options);
|
|
var enhancer = Object(redux__WEBPACK_IMPORTED_MODULE_1__["applyMiddleware"])(_middleware__WEBPACK_IMPORTED_MODULE_3__["default"]);
|
|
|
|
var createStore = function createStore() {
|
|
return store;
|
|
};
|
|
|
|
Object.assign(store, enhancer(createStore)(options.reducer));
|
|
return store;
|
|
},
|
|
__experimentalFulfill: function () {
|
|
var _experimentalFulfill = Object(_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(
|
|
/*#__PURE__*/
|
|
regeneratorRuntime.mark(function _callee(reducerKey, selectorName) {
|
|
var resolver,
|
|
store,
|
|
state,
|
|
_len,
|
|
args,
|
|
_key,
|
|
action,
|
|
_args = arguments;
|
|
|
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
resolver = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["get"])(registry.namespaces, [reducerKey, 'resolvers', selectorName]);
|
|
|
|
if (resolver) {
|
|
_context.next = 3;
|
|
break;
|
|
}
|
|
|
|
return _context.abrupt("return");
|
|
|
|
case 3:
|
|
store = registry.namespaces[reducerKey].store;
|
|
state = store.getState();
|
|
|
|
for (_len = _args.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
args[_key - 2] = _args[_key];
|
|
}
|
|
|
|
action = resolver.fulfill.apply(resolver, [state].concat(args));
|
|
|
|
if (!action) {
|
|
_context.next = 10;
|
|
break;
|
|
}
|
|
|
|
_context.next = 10;
|
|
return store.dispatch(Object(_middleware__WEBPACK_IMPORTED_MODULE_3__["toAsyncIterable"])(action));
|
|
|
|
case 10:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
|
|
return function __experimentalFulfill(_x, _x2) {
|
|
return _experimentalFulfill.apply(this, arguments);
|
|
};
|
|
}()
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/async-generator/middleware.js":
|
|
/*!*****************************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/async-generator/middleware.js ***!
|
|
\*****************************************************************************************/
|
|
/*! exports provided: toAsyncIterable, default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toAsyncIterable", function() { return toAsyncIterable; });
|
|
/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_asyncIterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncIterator */ "./node_modules/@babel/runtime/helpers/esm/asyncIterator.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_awaitAsyncGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/awaitAsyncGenerator */ "./node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_wrapAsyncGenerator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/wrapAsyncGenerator */ "./node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js");
|
|
/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/deprecated */ "@wordpress/deprecated");
|
|
/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_4__);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Returns true if the given argument appears to be a dispatchable action.
|
|
*
|
|
* @param {*} action Object to test.
|
|
*
|
|
* @return {boolean} Whether object is action-like.
|
|
*/
|
|
|
|
function isActionLike(action) {
|
|
return !!action && typeof action.type === 'string';
|
|
}
|
|
/**
|
|
* Returns true if the given object is an async iterable, or false otherwise.
|
|
*
|
|
* @param {*} object Object to test.
|
|
*
|
|
* @return {boolean} Whether object is an async iterable.
|
|
*/
|
|
|
|
|
|
function isAsyncIterable(object) {
|
|
return !!object && typeof object[Symbol.asyncIterator] === 'function';
|
|
}
|
|
/**
|
|
* Returns true if the given object is iterable, or false otherwise.
|
|
*
|
|
* @param {*} object Object to test.
|
|
*
|
|
* @return {boolean} Whether object is iterable.
|
|
*/
|
|
|
|
|
|
function isIterable(object) {
|
|
return !!object && typeof object[Symbol.iterator] === 'function';
|
|
}
|
|
/**
|
|
* Normalizes the given object argument to an async iterable, asynchronously
|
|
* yielding on a singular or array of generator yields or promise resolution.
|
|
*
|
|
* @param {*} object Object to normalize.
|
|
*
|
|
* @return {AsyncGenerator} Async iterable actions.
|
|
*/
|
|
|
|
|
|
function toAsyncIterable(object) {
|
|
if (isAsyncIterable(object)) {
|
|
_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_4___default()('Writing Resolvers as async generators', {
|
|
alternative: 'resolvers as generators with controls',
|
|
plugin: 'Gutenberg',
|
|
version: 4.2
|
|
});
|
|
return object;
|
|
}
|
|
|
|
return Object(_babel_runtime_helpers_esm_wrapAsyncGenerator__WEBPACK_IMPORTED_MODULE_3__["default"])(
|
|
/*#__PURE__*/
|
|
regeneratorRuntime.mark(function _callee() {
|
|
var _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, maybeAction;
|
|
|
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
// Normalize as iterable...
|
|
if (!isIterable(object)) {
|
|
object = [object];
|
|
}
|
|
|
|
_iteratorNormalCompletion2 = true;
|
|
_didIteratorError2 = false;
|
|
_iteratorError2 = undefined;
|
|
_context.prev = 4;
|
|
_iterator2 = object[Symbol.iterator]();
|
|
|
|
case 6:
|
|
if (_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done) {
|
|
_context.next = 13;
|
|
break;
|
|
}
|
|
|
|
maybeAction = _step2.value;
|
|
_context.next = 10;
|
|
return maybeAction;
|
|
|
|
case 10:
|
|
_iteratorNormalCompletion2 = true;
|
|
_context.next = 6;
|
|
break;
|
|
|
|
case 13:
|
|
_context.next = 19;
|
|
break;
|
|
|
|
case 15:
|
|
_context.prev = 15;
|
|
_context.t0 = _context["catch"](4);
|
|
_didIteratorError2 = true;
|
|
_iteratorError2 = _context.t0;
|
|
|
|
case 19:
|
|
_context.prev = 19;
|
|
_context.prev = 20;
|
|
|
|
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
_iterator2.return();
|
|
}
|
|
|
|
case 22:
|
|
_context.prev = 22;
|
|
|
|
if (!_didIteratorError2) {
|
|
_context.next = 25;
|
|
break;
|
|
}
|
|
|
|
throw _iteratorError2;
|
|
|
|
case 25:
|
|
return _context.finish(22);
|
|
|
|
case 26:
|
|
return _context.finish(19);
|
|
|
|
case 27:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this, [[4, 15, 19, 27], [20,, 22, 26]]);
|
|
}))();
|
|
}
|
|
/**
|
|
* Simplest possible promise redux middleware.
|
|
*
|
|
* @param {Object} store Redux store.
|
|
*
|
|
* @return {function} middleware.
|
|
*/
|
|
|
|
var asyncGeneratorMiddleware = function asyncGeneratorMiddleware(store) {
|
|
return function (next) {
|
|
return function (action) {
|
|
if (!isAsyncIterable(action)) {
|
|
return next(action);
|
|
}
|
|
|
|
var runtime =
|
|
/*#__PURE__*/
|
|
function () {
|
|
var _ref2 = Object(_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(
|
|
/*#__PURE__*/
|
|
regeneratorRuntime.mark(function _callee2(fulfillment) {
|
|
var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, maybeAction;
|
|
|
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
while (1) {
|
|
switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
_iteratorNormalCompletion = true;
|
|
_didIteratorError = false;
|
|
_context2.prev = 2;
|
|
_iterator = Object(_babel_runtime_helpers_esm_asyncIterator__WEBPACK_IMPORTED_MODULE_1__["default"])(fulfillment);
|
|
|
|
case 4:
|
|
_context2.next = 6;
|
|
return _iterator.next();
|
|
|
|
case 6:
|
|
_step = _context2.sent;
|
|
_iteratorNormalCompletion = _step.done;
|
|
_context2.next = 10;
|
|
return _step.value;
|
|
|
|
case 10:
|
|
_value = _context2.sent;
|
|
|
|
if (_iteratorNormalCompletion) {
|
|
_context2.next = 17;
|
|
break;
|
|
}
|
|
|
|
maybeAction = _value;
|
|
|
|
// Dispatch if it quacks like an action.
|
|
if (isActionLike(maybeAction)) {
|
|
store.dispatch(maybeAction);
|
|
}
|
|
|
|
case 14:
|
|
_iteratorNormalCompletion = true;
|
|
_context2.next = 4;
|
|
break;
|
|
|
|
case 17:
|
|
_context2.next = 23;
|
|
break;
|
|
|
|
case 19:
|
|
_context2.prev = 19;
|
|
_context2.t0 = _context2["catch"](2);
|
|
_didIteratorError = true;
|
|
_iteratorError = _context2.t0;
|
|
|
|
case 23:
|
|
_context2.prev = 23;
|
|
_context2.prev = 24;
|
|
|
|
if (!(!_iteratorNormalCompletion && _iterator.return != null)) {
|
|
_context2.next = 28;
|
|
break;
|
|
}
|
|
|
|
_context2.next = 28;
|
|
return _iterator.return();
|
|
|
|
case 28:
|
|
_context2.prev = 28;
|
|
|
|
if (!_didIteratorError) {
|
|
_context2.next = 31;
|
|
break;
|
|
}
|
|
|
|
throw _iteratorError;
|
|
|
|
case 31:
|
|
return _context2.finish(28);
|
|
|
|
case 32:
|
|
return _context2.finish(23);
|
|
|
|
case 33:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}
|
|
}, _callee2, this, [[2, 19, 23, 33], [24,, 28, 32]]);
|
|
}));
|
|
|
|
return function runtime(_x) {
|
|
return _ref2.apply(this, arguments);
|
|
};
|
|
}();
|
|
|
|
return runtime(action);
|
|
};
|
|
};
|
|
};
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (asyncGeneratorMiddleware);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/controls/index.js":
|
|
/*!*****************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/controls/index.js ***!
|
|
\*****************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
|
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var _wordpress_redux_routine__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/redux-routine */ "@wordpress/redux-routine");
|
|
/* harmony import */ var _wordpress_redux_routine__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_redux_routine__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (function (registry) {
|
|
return {
|
|
registerStore: function registerStore(reducerKey, options) {
|
|
var store = registry.registerStore(reducerKey, options);
|
|
|
|
if (options.controls) {
|
|
var middleware = _wordpress_redux_routine__WEBPACK_IMPORTED_MODULE_3___default()(options.controls);
|
|
var enhancer = Object(redux__WEBPACK_IMPORTED_MODULE_1__["applyMiddleware"])(middleware);
|
|
|
|
var createStore = function createStore() {
|
|
return store;
|
|
};
|
|
|
|
Object.assign(store, enhancer(createStore)(options.reducer));
|
|
registry.namespaces[reducerKey].supportControls = true;
|
|
}
|
|
|
|
return store;
|
|
},
|
|
__experimentalFulfill: function () {
|
|
var _experimentalFulfill = Object(_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(
|
|
/*#__PURE__*/
|
|
regeneratorRuntime.mark(function _callee(reducerKey, selectorName) {
|
|
var _len,
|
|
args,
|
|
_key,
|
|
resolver,
|
|
_args = arguments;
|
|
|
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
for (_len = _args.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
args[_key - 2] = _args[_key];
|
|
}
|
|
|
|
if (registry.namespaces[reducerKey].supportControls) {
|
|
_context.next = 5;
|
|
break;
|
|
}
|
|
|
|
_context.next = 4;
|
|
return registry.__experimentalFulfill.apply(registry, [reducerKey, selectorName].concat(args));
|
|
|
|
case 4:
|
|
return _context.abrupt("return");
|
|
|
|
case 5:
|
|
resolver = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["get"])(registry.namespaces, [reducerKey, 'resolvers', selectorName]);
|
|
|
|
if (resolver) {
|
|
_context.next = 8;
|
|
break;
|
|
}
|
|
|
|
return _context.abrupt("return");
|
|
|
|
case 8:
|
|
_context.next = 10;
|
|
return registry.namespaces[reducerKey].store.dispatch(resolver.fulfill.apply(resolver, args));
|
|
|
|
case 10:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
|
|
return function __experimentalFulfill(_x, _x2) {
|
|
return _experimentalFulfill.apply(this, arguments);
|
|
};
|
|
}()
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/index.js":
|
|
/*!********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/index.js ***!
|
|
\********************************************************************/
|
|
/*! exports provided: controls, persistence, asyncGenerator */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _controls__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./controls */ "./node_modules/@wordpress/data/build-module/plugins/controls/index.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "controls", function() { return _controls__WEBPACK_IMPORTED_MODULE_0__["default"]; });
|
|
|
|
/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./persistence */ "./node_modules/@wordpress/data/build-module/plugins/persistence/index.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "persistence", function() { return _persistence__WEBPACK_IMPORTED_MODULE_1__["default"]; });
|
|
|
|
/* harmony import */ var _async_generator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./async-generator */ "./node_modules/@wordpress/data/build-module/plugins/async-generator/index.js");
|
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "asyncGenerator", function() { return _async_generator__WEBPACK_IMPORTED_MODULE_2__["default"]; });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/persistence/index.js":
|
|
/*!********************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/persistence/index.js ***!
|
|
\********************************************************************************/
|
|
/*! exports provided: withInitialState, createPersistenceInterface, default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withInitialState", function() { return withInitialState; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPersistenceInterface", function() { return createPersistenceInterface; });
|
|
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ "./node_modules/@babel/runtime/helpers/esm/objectSpread.js");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
|
|
/* harmony import */ var _storage_default__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./storage/default */ "./node_modules/@wordpress/data/build-module/plugins/persistence/storage/default.js");
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Persistence plugin options.
|
|
*
|
|
* @property {Storage} storage Persistent storage implementation. This must
|
|
* at least implement `getItem` and `setItem` of
|
|
* the Web Storage API.
|
|
* @property {string} storageKey Key on which to set in persistent storage.
|
|
*
|
|
* @typedef {WPDataPersistencePluginOptions}
|
|
*/
|
|
|
|
/**
|
|
* Default plugin storage.
|
|
*
|
|
* @type {Storage}
|
|
*/
|
|
|
|
var DEFAULT_STORAGE = _storage_default__WEBPACK_IMPORTED_MODULE_3__["default"];
|
|
/**
|
|
* Default plugin storage key.
|
|
*
|
|
* @type {string}
|
|
*/
|
|
|
|
var DEFAULT_STORAGE_KEY = 'WP_DATA';
|
|
/**
|
|
* Higher-order reducer to provides an initial value when state is undefined.
|
|
*
|
|
* @param {Function} reducer Original reducer.
|
|
* @param {*} initialState Value to use as initial state.
|
|
*
|
|
* @return {Function} Enhanced reducer.
|
|
*/
|
|
|
|
function withInitialState(reducer, initialState) {
|
|
return function () {
|
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
return reducer(state, action);
|
|
};
|
|
}
|
|
/**
|
|
* Creates a persistence interface, exposing getter and setter methods (`get`
|
|
* and `set` respectively).
|
|
*
|
|
* @param {WPDataPersistencePluginOptions} options Plugin options.
|
|
*
|
|
* @return {Object} Persistence interface.
|
|
*/
|
|
|
|
function createPersistenceInterface(options) {
|
|
var _options$storage = options.storage,
|
|
storage = _options$storage === void 0 ? DEFAULT_STORAGE : _options$storage,
|
|
_options$storageKey = options.storageKey,
|
|
storageKey = _options$storageKey === void 0 ? DEFAULT_STORAGE_KEY : _options$storageKey;
|
|
var data;
|
|
/**
|
|
* Returns the persisted data as an object, defaulting to an empty object.
|
|
*
|
|
* @return {Object} Persisted data.
|
|
*/
|
|
|
|
function get() {
|
|
if (data === undefined) {
|
|
// If unset, getItem is expected to return null. Fall back to
|
|
// empty object.
|
|
var persisted = storage.getItem(storageKey);
|
|
|
|
if (persisted === null) {
|
|
data = {};
|
|
} else {
|
|
try {
|
|
data = JSON.parse(persisted);
|
|
} catch (error) {
|
|
// Similarly, should any error be thrown during parse of
|
|
// the string (malformed JSON), fall back to empty object.
|
|
data = {};
|
|
}
|
|
}
|
|
}
|
|
|
|
return data;
|
|
}
|
|
/**
|
|
* Merges an updated reducer state into the persisted data.
|
|
*
|
|
* @param {string} key Key to update.
|
|
* @param {*} value Updated value.
|
|
*/
|
|
|
|
|
|
function set(key, value) {
|
|
data = Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__["default"])({}, data, Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])({}, key, value));
|
|
storage.setItem(storageKey, JSON.stringify(data));
|
|
}
|
|
|
|
return {
|
|
get: get,
|
|
set: set
|
|
};
|
|
}
|
|
/**
|
|
* Data plugin to persist store state into a single storage key.
|
|
*
|
|
* @param {WPDataRegistry} registry Data registry.
|
|
* @param {?WPDataPersistencePluginOptions} pluginOptions Plugin options.
|
|
*
|
|
* @return {WPDataPlugin} Data plugin.
|
|
*/
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (function (registry, pluginOptions) {
|
|
var persistence = createPersistenceInterface(pluginOptions);
|
|
/**
|
|
* Creates an enhanced store dispatch function, triggering the state of the
|
|
* given reducer key to be persisted when changed.
|
|
*
|
|
* @param {Function} getState Function which returns current state.
|
|
* @param {string} reducerKey Reducer key.
|
|
* @param {?Array<string>} keys Optional subset of keys to save.
|
|
*
|
|
* @return {Function} Enhanced dispatch function.
|
|
*/
|
|
|
|
function createPersistOnChange(getState, reducerKey, keys) {
|
|
var lastState = getState();
|
|
return function (result) {
|
|
var state = getState();
|
|
|
|
if (state !== lastState) {
|
|
if (Array.isArray(keys)) {
|
|
state = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["pick"])(state, keys);
|
|
}
|
|
|
|
persistence.set(reducerKey, state);
|
|
lastState = state;
|
|
}
|
|
|
|
return result;
|
|
};
|
|
}
|
|
|
|
return {
|
|
registerStore: function registerStore(reducerKey, options) {
|
|
if (!options.persist) {
|
|
return registry.registerStore(reducerKey, options);
|
|
}
|
|
|
|
var initialState = persistence.get()[reducerKey];
|
|
options = Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__["default"])({}, options, {
|
|
reducer: withInitialState(options.reducer, initialState)
|
|
});
|
|
var store = registry.registerStore(reducerKey, options);
|
|
store.dispatch = Object(lodash__WEBPACK_IMPORTED_MODULE_2__["flow"])([store.dispatch, createPersistOnChange(store.getState, reducerKey, options.persist)]);
|
|
return store;
|
|
}
|
|
};
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/persistence/storage/default.js":
|
|
/*!******************************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/persistence/storage/default.js ***!
|
|
\******************************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./object */ "./node_modules/@wordpress/data/build-module/plugins/persistence/storage/object.js");
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
var storage;
|
|
|
|
try {
|
|
// Private Browsing in Safari 10 and earlier will throw an error when
|
|
// attempting to set into localStorage. The test here is intentional in
|
|
// causing a thrown error as condition for using fallback object storage.
|
|
storage = window.localStorage;
|
|
storage.setItem('__wpDataTestLocalStorage', '');
|
|
storage.removeItem('__wpDataTestLocalStorage');
|
|
} catch (error) {
|
|
storage = _object__WEBPACK_IMPORTED_MODULE_0__["default"];
|
|
}
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (storage);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/plugins/persistence/storage/object.js":
|
|
/*!*****************************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/plugins/persistence/storage/object.js ***!
|
|
\*****************************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
var objectStorage;
|
|
var storage = {
|
|
getItem: function getItem(key) {
|
|
if (!objectStorage || !objectStorage[key]) {
|
|
return null;
|
|
}
|
|
|
|
return objectStorage[key];
|
|
},
|
|
setItem: function setItem(key, value) {
|
|
if (!objectStorage) {
|
|
storage.clear();
|
|
}
|
|
|
|
objectStorage[key] = String(value);
|
|
},
|
|
clear: function clear() {
|
|
objectStorage = Object.create(null);
|
|
}
|
|
};
|
|
/* harmony default export */ __webpack_exports__["default"] = (storage);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/promise-middleware.js":
|
|
/*!*************************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/promise-middleware.js ***!
|
|
\*************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var is_promise__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-promise */ "./node_modules/is-promise/index.js");
|
|
/* harmony import */ var is_promise__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(is_promise__WEBPACK_IMPORTED_MODULE_0__);
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* Simplest possible promise redux middleware.
|
|
*
|
|
* @return {function} middleware.
|
|
*/
|
|
|
|
var promiseMiddleware = function promiseMiddleware() {
|
|
return function (next) {
|
|
return function (action) {
|
|
if (is_promise__WEBPACK_IMPORTED_MODULE_0___default()(action)) {
|
|
return action.then(function (resolvedAction) {
|
|
if (resolvedAction) {
|
|
return next(resolvedAction);
|
|
}
|
|
});
|
|
}
|
|
|
|
return next(action);
|
|
};
|
|
};
|
|
};
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = (promiseMiddleware);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/registry.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/registry.js ***!
|
|
\***************************************************************/
|
|
/*! exports provided: createRegistry */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRegistry", function() { return createRegistry; });
|
|
/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ "./node_modules/@babel/runtime/helpers/esm/objectSpread.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");
|
|
/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
|
|
/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./store */ "./node_modules/@wordpress/data/build-module/store/index.js");
|
|
/* harmony import */ var _promise_middleware__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./promise-middleware */ "./node_modules/@wordpress/data/build-module/promise-middleware.js");
|
|
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* An isolated orchestrator of store registrations.
|
|
*
|
|
* @typedef {WPDataRegistry}
|
|
*
|
|
* @property {Function} registerReducer
|
|
* @property {Function} registerSelectors
|
|
* @property {Function} registerResolvers
|
|
* @property {Function} registerActions
|
|
* @property {Function} registerStore
|
|
* @property {Function} subscribe
|
|
* @property {Function} select
|
|
* @property {Function} dispatch
|
|
* @property {Function} use
|
|
*/
|
|
|
|
/**
|
|
* An object of registry function overrides.
|
|
*
|
|
* @typedef {WPDataPlugin}
|
|
*/
|
|
|
|
/**
|
|
* Creates a new store registry, given an optional object of initial store
|
|
* configurations.
|
|
*
|
|
* @param {Object} storeConfigs Initial store configurations.
|
|
*
|
|
* @return {WPDataRegistry} Data registry.
|
|
*/
|
|
|
|
function createRegistry() {
|
|
var storeConfigs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var namespaces = {};
|
|
var listeners = [];
|
|
/**
|
|
* Global listener called for each store's update.
|
|
*/
|
|
|
|
function globalListener() {
|
|
listeners.forEach(function (listener) {
|
|
return listener();
|
|
});
|
|
}
|
|
/**
|
|
* Registers a new sub-reducer to the global state and returns a Redux-like
|
|
* store object.
|
|
*
|
|
* @param {string} reducerKey Reducer key.
|
|
* @param {Object} reducer Reducer function.
|
|
*
|
|
* @return {Object} Store Object.
|
|
*/
|
|
|
|
|
|
function registerReducer(reducerKey, reducer) {
|
|
var enhancers = [Object(redux__WEBPACK_IMPORTED_MODULE_3__["applyMiddleware"])(_promise_middleware__WEBPACK_IMPORTED_MODULE_6__["default"])];
|
|
|
|
if (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__) {
|
|
enhancers.push(window.__REDUX_DEVTOOLS_EXTENSION__({
|
|
name: reducerKey,
|
|
instanceId: reducerKey
|
|
}));
|
|
}
|
|
|
|
var store = Object(redux__WEBPACK_IMPORTED_MODULE_3__["createStore"])(reducer, Object(lodash__WEBPACK_IMPORTED_MODULE_4__["flowRight"])(enhancers));
|
|
namespaces[reducerKey] = {
|
|
store: store,
|
|
reducer: reducer
|
|
}; // Customize subscribe behavior to call listeners only on effective change,
|
|
// not on every dispatch.
|
|
|
|
var lastState = store.getState();
|
|
store.subscribe(function () {
|
|
var state = store.getState();
|
|
var hasChanged = state !== lastState;
|
|
lastState = state;
|
|
|
|
if (hasChanged) {
|
|
globalListener();
|
|
}
|
|
});
|
|
return store;
|
|
}
|
|
/**
|
|
* Registers selectors for external usage.
|
|
*
|
|
* @param {string} reducerKey Part of the state shape to register the
|
|
* selectors for.
|
|
* @param {Object} newSelectors Selectors to register. Keys will be used as the
|
|
* public facing API. Selectors will get passed the
|
|
* state as first argument.
|
|
*/
|
|
|
|
|
|
function registerSelectors(reducerKey, newSelectors) {
|
|
var store = namespaces[reducerKey].store;
|
|
|
|
var createStateSelector = function createStateSelector(selector) {
|
|
return function () {
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
|
|
return selector.apply(void 0, [store.getState()].concat(args));
|
|
};
|
|
};
|
|
|
|
namespaces[reducerKey].selectors = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["mapValues"])(newSelectors, createStateSelector);
|
|
}
|
|
/**
|
|
* Registers resolvers for a given reducer key. Resolvers are side effects
|
|
* invoked once per argument set of a given selector call, used in ensuring
|
|
* that the data needs for the selector are satisfied.
|
|
*
|
|
* @param {string} reducerKey Part of the state shape to register the
|
|
* resolvers for.
|
|
* @param {Object} newResolvers Resolvers to register.
|
|
*/
|
|
|
|
|
|
function registerResolvers(reducerKey, newResolvers) {
|
|
namespaces[reducerKey].resolvers = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["mapValues"])(newResolvers, function (resolver) {
|
|
if (!resolver.fulfill) {
|
|
resolver = {
|
|
fulfill: resolver
|
|
};
|
|
}
|
|
|
|
return resolver;
|
|
});
|
|
namespaces[reducerKey].selectors = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["mapValues"])(namespaces[reducerKey].selectors, function (selector, selectorName) {
|
|
var resolver = newResolvers[selectorName];
|
|
|
|
if (!resolver) {
|
|
return selector;
|
|
}
|
|
|
|
return function () {
|
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
|
|
var _select = select('core/data'),
|
|
hasStartedResolution = _select.hasStartedResolution;
|
|
|
|
var _dispatch = dispatch('core/data'),
|
|
startResolution = _dispatch.startResolution,
|
|
finishResolution = _dispatch.finishResolution;
|
|
|
|
function fulfillSelector() {
|
|
return _fulfillSelector.apply(this, arguments);
|
|
}
|
|
|
|
function _fulfillSelector() {
|
|
_fulfillSelector = Object(_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__["default"])(
|
|
/*#__PURE__*/
|
|
regeneratorRuntime.mark(function _callee() {
|
|
var _registry;
|
|
|
|
var state;
|
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
state = namespaces[reducerKey].store.getState();
|
|
|
|
if (!(typeof resolver.isFulfilled === 'function' && resolver.isFulfilled.apply(resolver, [state].concat(args)))) {
|
|
_context.next = 3;
|
|
break;
|
|
}
|
|
|
|
return _context.abrupt("return");
|
|
|
|
case 3:
|
|
if (!hasStartedResolution(reducerKey, selectorName, args)) {
|
|
_context.next = 5;
|
|
break;
|
|
}
|
|
|
|
return _context.abrupt("return");
|
|
|
|
case 5:
|
|
startResolution(reducerKey, selectorName, args);
|
|
_context.next = 8;
|
|
return (_registry = registry).__experimentalFulfill.apply(_registry, [reducerKey, selectorName].concat(args));
|
|
|
|
case 8:
|
|
finishResolution(reducerKey, selectorName, args);
|
|
|
|
case 9:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
}));
|
|
return _fulfillSelector.apply(this, arguments);
|
|
}
|
|
|
|
fulfillSelector.apply(void 0, args);
|
|
return selector.apply(void 0, args);
|
|
};
|
|
});
|
|
}
|
|
/**
|
|
* Registers actions for external usage.
|
|
*
|
|
* @param {string} reducerKey Part of the state shape to register the
|
|
* selectors for.
|
|
* @param {Object} newActions Actions to register.
|
|
*/
|
|
|
|
|
|
function registerActions(reducerKey, newActions) {
|
|
var store = namespaces[reducerKey].store;
|
|
|
|
var createBoundAction = function createBoundAction(action) {
|
|
return function () {
|
|
return store.dispatch(action.apply(void 0, arguments));
|
|
};
|
|
};
|
|
|
|
namespaces[reducerKey].actions = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["mapValues"])(newActions, createBoundAction);
|
|
}
|
|
/**
|
|
* Convenience for registering reducer with actions and selectors.
|
|
*
|
|
* @param {string} reducerKey Reducer key.
|
|
* @param {Object} options Store description (reducer, actions, selectors, resolvers).
|
|
*
|
|
* @return {Object} Registered store object.
|
|
*/
|
|
|
|
|
|
function registerStore(reducerKey, options) {
|
|
if (!options.reducer) {
|
|
throw new TypeError('Must specify store reducer');
|
|
}
|
|
|
|
var store = registerReducer(reducerKey, options.reducer);
|
|
|
|
if (options.actions) {
|
|
registerActions(reducerKey, options.actions);
|
|
}
|
|
|
|
if (options.selectors) {
|
|
registerSelectors(reducerKey, options.selectors);
|
|
}
|
|
|
|
if (options.resolvers) {
|
|
registerResolvers(reducerKey, options.resolvers);
|
|
}
|
|
|
|
return store;
|
|
}
|
|
/**
|
|
* Subscribe to changes to any data.
|
|
*
|
|
* @param {Function} listener Listener function.
|
|
*
|
|
* @return {Function} Unsubscribe function.
|
|
*/
|
|
|
|
|
|
var subscribe = function subscribe(listener) {
|
|
listeners.push(listener);
|
|
return function () {
|
|
listeners = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["without"])(listeners, listener);
|
|
};
|
|
};
|
|
/**
|
|
* Calls a selector given the current state and extra arguments.
|
|
*
|
|
* @param {string} reducerKey Part of the state shape to register the
|
|
* selectors for.
|
|
*
|
|
* @return {*} The selector's returned value.
|
|
*/
|
|
|
|
|
|
function select(reducerKey) {
|
|
return Object(lodash__WEBPACK_IMPORTED_MODULE_4__["get"])(namespaces, [reducerKey, 'selectors']);
|
|
}
|
|
/**
|
|
* Calls a resolver given arguments
|
|
*
|
|
* @param {string} reducerKey Part of the state shape to register the
|
|
* selectors for.
|
|
* @param {string} selectorName Selector name to fulfill.
|
|
* @param {Array} args Selector Arguments.
|
|
*/
|
|
|
|
|
|
function fulfill(_x, _x2) {
|
|
return _fulfill.apply(this, arguments);
|
|
}
|
|
/**
|
|
* Returns the available actions for a part of the state.
|
|
*
|
|
* @param {string} reducerKey Part of the state shape to dispatch the
|
|
* action for.
|
|
*
|
|
* @return {*} The action's returned value.
|
|
*/
|
|
|
|
|
|
function _fulfill() {
|
|
_fulfill = Object(_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__["default"])(
|
|
/*#__PURE__*/
|
|
regeneratorRuntime.mark(function _callee2(reducerKey, selectorName) {
|
|
var resolver,
|
|
store,
|
|
_len3,
|
|
args,
|
|
_key3,
|
|
action,
|
|
_args2 = arguments;
|
|
|
|
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
while (1) {
|
|
switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
resolver = Object(lodash__WEBPACK_IMPORTED_MODULE_4__["get"])(namespaces, [reducerKey, 'resolvers', selectorName]);
|
|
|
|
if (resolver) {
|
|
_context2.next = 3;
|
|
break;
|
|
}
|
|
|
|
return _context2.abrupt("return");
|
|
|
|
case 3:
|
|
store = namespaces[reducerKey].store;
|
|
|
|
for (_len3 = _args2.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
|
|
args[_key3 - 2] = _args2[_key3];
|
|
}
|
|
|
|
action = resolver.fulfill.apply(resolver, args);
|
|
|
|
if (!action) {
|
|
_context2.next = 9;
|
|
break;
|
|
}
|
|
|
|
_context2.next = 9;
|
|
return store.dispatch(action);
|
|
|
|
case 9:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}
|
|
}, _callee2, this);
|
|
}));
|
|
return _fulfill.apply(this, arguments);
|
|
}
|
|
|
|
function dispatch(reducerKey) {
|
|
return Object(lodash__WEBPACK_IMPORTED_MODULE_4__["get"])(namespaces, [reducerKey, 'actions']);
|
|
}
|
|
/**
|
|
* Maps an object of function values to proxy invocation through to the
|
|
* current internal representation of the registry, which may be enhanced
|
|
* by plugins.
|
|
*
|
|
* @param {Object<string,Function>} attributes Object of function values.
|
|
*
|
|
* @return {Object<string,Function>} Object enhanced with plugin proxying.
|
|
*/
|
|
|
|
|
|
function withPlugins(attributes) {
|
|
return Object(lodash__WEBPACK_IMPORTED_MODULE_4__["mapValues"])(attributes, function (attribute, key) {
|
|
if (typeof attribute !== 'function') {
|
|
return attribute;
|
|
}
|
|
|
|
return function () {
|
|
return registry[key].apply(null, arguments);
|
|
};
|
|
});
|
|
}
|
|
|
|
var registry = {
|
|
namespaces: namespaces,
|
|
registerReducer: registerReducer,
|
|
registerSelectors: registerSelectors,
|
|
registerResolvers: registerResolvers,
|
|
registerActions: registerActions,
|
|
registerStore: registerStore,
|
|
subscribe: subscribe,
|
|
select: select,
|
|
dispatch: dispatch,
|
|
use: use,
|
|
__experimentalFulfill: fulfill
|
|
};
|
|
/**
|
|
* Enhances the registry with the prescribed set of overrides. Returns the
|
|
* enhanced registry to enable plugin chaining.
|
|
*
|
|
* @param {WPDataPlugin} plugin Plugin by which to enhance.
|
|
* @param {?Object} options Optional options to pass to plugin.
|
|
*
|
|
* @return {WPDataRegistry} Enhanced registry.
|
|
*/
|
|
|
|
function use(plugin, options) {
|
|
registry = Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__["default"])({}, registry, plugin(registry, options));
|
|
return registry;
|
|
}
|
|
|
|
Object.entries(Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__["default"])({
|
|
'core/data': _store__WEBPACK_IMPORTED_MODULE_5__["default"]
|
|
}, storeConfigs)).map(function (_ref) {
|
|
var _ref2 = Object(_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2),
|
|
name = _ref2[0],
|
|
config = _ref2[1];
|
|
|
|
return registerStore(name, config);
|
|
});
|
|
return withPlugins(registry);
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/store/actions.js":
|
|
/*!********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/store/actions.js ***!
|
|
\********************************************************************/
|
|
/*! exports provided: startResolution, finishResolution */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startResolution", function() { return startResolution; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "finishResolution", function() { return finishResolution; });
|
|
/**
|
|
* Returns an action object used in signalling that selector resolution has
|
|
* started.
|
|
*
|
|
* @param {string} reducerKey Registered store reducer key.
|
|
* @param {string} selectorName Name of selector for which resolver triggered.
|
|
* @param {...*} args Arguments to associate for uniqueness.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
function startResolution(reducerKey, selectorName, args) {
|
|
return {
|
|
type: 'START_RESOLUTION',
|
|
reducerKey: reducerKey,
|
|
selectorName: selectorName,
|
|
args: args
|
|
};
|
|
}
|
|
/**
|
|
* Returns an action object used in signalling that selector resolution has
|
|
* completed.
|
|
*
|
|
* @param {string} reducerKey Registered store reducer key.
|
|
* @param {string} selectorName Name of selector for which resolver triggered.
|
|
* @param {...*} args Arguments to associate for uniqueness.
|
|
*
|
|
* @return {Object} Action object.
|
|
*/
|
|
|
|
function finishResolution(reducerKey, selectorName, args) {
|
|
return {
|
|
type: 'FINISH_RESOLUTION',
|
|
reducerKey: reducerKey,
|
|
selectorName: selectorName,
|
|
args: args
|
|
};
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/store/index.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/store/index.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var _reducer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reducer */ "./node_modules/@wordpress/data/build-module/store/reducer.js");
|
|
/* harmony import */ var _selectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selectors */ "./node_modules/@wordpress/data/build-module/store/selectors.js");
|
|
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions */ "./node_modules/@wordpress/data/build-module/store/actions.js");
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
reducer: _reducer__WEBPACK_IMPORTED_MODULE_0__["default"],
|
|
actions: _actions__WEBPACK_IMPORTED_MODULE_2__,
|
|
selectors: _selectors__WEBPACK_IMPORTED_MODULE_1__
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/store/reducer.js":
|
|
/*!********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/store/reducer.js ***!
|
|
\********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var equivalent_key_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! equivalent-key-map */ "./node_modules/equivalent-key-map/equivalent-key-map.js");
|
|
/* harmony import */ var equivalent_key_map__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(equivalent_key_map__WEBPACK_IMPORTED_MODULE_1__);
|
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./node_modules/@wordpress/data/build-module/store/utils.js");
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Reducer function returning next state for selector resolution, object form:
|
|
*
|
|
* reducerKey -> selectorName -> EquivalentKeyMap<Array,boolean>
|
|
*
|
|
* @param {Object} state Current state.
|
|
* @param {Object} action Dispatched action.
|
|
*
|
|
* @returns {Object} Next state.
|
|
*/
|
|
|
|
var isResolved = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["flowRight"])([Object(_utils__WEBPACK_IMPORTED_MODULE_2__["onSubKey"])('reducerKey'), Object(_utils__WEBPACK_IMPORTED_MODULE_2__["onSubKey"])('selectorName')])(function () {
|
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new equivalent_key_map__WEBPACK_IMPORTED_MODULE_1___default.a();
|
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
|
|
switch (action.type) {
|
|
case 'START_RESOLUTION':
|
|
case 'FINISH_RESOLUTION':
|
|
var isStarting = action.type === 'START_RESOLUTION';
|
|
var nextState = new equivalent_key_map__WEBPACK_IMPORTED_MODULE_1___default.a(state);
|
|
nextState.set(action.args, isStarting);
|
|
return nextState;
|
|
}
|
|
|
|
return state;
|
|
});
|
|
/* harmony default export */ __webpack_exports__["default"] = (isResolved);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/store/selectors.js":
|
|
/*!**********************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/store/selectors.js ***!
|
|
\**********************************************************************/
|
|
/*! exports provided: getIsResolving, hasStartedResolution, hasFinishedResolution, isResolving */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getIsResolving", function() { return getIsResolving; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasStartedResolution", function() { return hasStartedResolution; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasFinishedResolution", function() { return hasFinishedResolution; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isResolving", function() { return isResolving; });
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ "lodash");
|
|
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* Returns the raw `isResolving` value for a given reducer key, selector name,
|
|
* and arguments set. May be undefined if the selector has never been resolved
|
|
* or not resolved for the given set of arguments, otherwise true or false for
|
|
* resolution started and completed respectively.
|
|
*
|
|
* @param {Object} state Data state.
|
|
* @param {string} reducerKey Registered store reducer key.
|
|
* @param {string} selectorName Selector name.
|
|
* @param {Array} args Arguments passed to selector.
|
|
*
|
|
* @return {?boolean} isResolving value.
|
|
*/
|
|
|
|
function getIsResolving(state, reducerKey, selectorName, args) {
|
|
var map = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["get"])(state, [reducerKey, selectorName]);
|
|
|
|
if (!map) {
|
|
return;
|
|
}
|
|
|
|
return map.get(args);
|
|
}
|
|
/**
|
|
* Returns true if resolution has already been triggered for a given reducer
|
|
* key, selector name, and arguments set.
|
|
*
|
|
* @param {Object} state Data state.
|
|
* @param {string} reducerKey Registered store reducer key.
|
|
* @param {string} selectorName Selector name.
|
|
* @param {?Array} args Arguments passed to selector (default `[]`).
|
|
*
|
|
* @return {boolean} Whether resolution has been triggered.
|
|
*/
|
|
|
|
function hasStartedResolution(state, reducerKey, selectorName) {
|
|
var args = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
return getIsResolving(state, reducerKey, selectorName, args) !== undefined;
|
|
}
|
|
/**
|
|
* Returns true if resolution has completed for a given reducer key, selector
|
|
* name, and arguments set.
|
|
*
|
|
* @param {Object} state Data state.
|
|
* @param {string} reducerKey Registered store reducer key.
|
|
* @param {string} selectorName Selector name.
|
|
* @param {?Array} args Arguments passed to selector.
|
|
*
|
|
* @return {boolean} Whether resolution has completed.
|
|
*/
|
|
|
|
function hasFinishedResolution(state, reducerKey, selectorName) {
|
|
var args = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
return getIsResolving(state, reducerKey, selectorName, args) === false;
|
|
}
|
|
/**
|
|
* Returns true if resolution has been triggered but has not yet completed for
|
|
* a given reducer key, selector name, and arguments set.
|
|
*
|
|
* @param {Object} state Data state.
|
|
* @param {string} reducerKey Registered store reducer key.
|
|
* @param {string} selectorName Selector name.
|
|
* @param {?Array} args Arguments passed to selector.
|
|
*
|
|
* @return {boolean} Whether resolution is in progress.
|
|
*/
|
|
|
|
function isResolving(state, reducerKey, selectorName) {
|
|
var args = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
return getIsResolving(state, reducerKey, selectorName, args) === true;
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/@wordpress/data/build-module/store/utils.js":
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/@wordpress/data/build-module/store/utils.js ***!
|
|
\******************************************************************/
|
|
/*! exports provided: onSubKey */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onSubKey", function() { return onSubKey; });
|
|
/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
|
|
/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ "./node_modules/@babel/runtime/helpers/esm/objectSpread.js");
|
|
|
|
|
|
|
|
/**
|
|
* Higher-order reducer creator which creates a combined reducer object, keyed
|
|
* by a property on the action object.
|
|
*
|
|
* @param {string} actionProperty Action property by which to key object.
|
|
*
|
|
* @return {Function} Higher-order reducer.
|
|
*/
|
|
var onSubKey = function onSubKey(actionProperty) {
|
|
return function (reducer) {
|
|
return function () {
|
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
// Retrieve subkey from action. Do not track if undefined; useful for cases
|
|
// where reducer is scoped by action shape.
|
|
var key = action[actionProperty];
|
|
|
|
if (key === undefined) {
|
|
return state;
|
|
} // Avoid updating state if unchanged. Note that this also accounts for a
|
|
// reducer which returns undefined on a key which is not yet tracked.
|
|
|
|
|
|
var nextKeyState = reducer(state[key], action);
|
|
|
|
if (nextKeyState === state[key]) {
|
|
return state;
|
|
}
|
|
|
|
return Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_1__["default"])({}, state, Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])({}, key, nextKeyState));
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/equivalent-key-map/equivalent-key-map.js":
|
|
/*!***************************************************************!*\
|
|
!*** ./node_modules/equivalent-key-map/equivalent-key-map.js ***!
|
|
\***************************************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
function _typeof(obj) {
|
|
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
_typeof = function (obj) {
|
|
return typeof obj;
|
|
};
|
|
} else {
|
|
_typeof = function (obj) {
|
|
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
};
|
|
}
|
|
|
|
return _typeof(obj);
|
|
}
|
|
|
|
function _classCallCheck(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) {
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
}
|
|
|
|
function _defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor) descriptor.writable = true;
|
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
}
|
|
}
|
|
|
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
return Constructor;
|
|
}
|
|
|
|
/**
|
|
* Given an instance of EquivalentKeyMap, returns its internal value pair tuple
|
|
* for a key, if one exists. The tuple members consist of the last reference
|
|
* value for the key (used in efficient subsequent lookups) and the value
|
|
* assigned for the key at the leaf node.
|
|
*
|
|
* @param {EquivalentKeyMap} instance EquivalentKeyMap instance.
|
|
* @param {*} key The key for which to return value pair.
|
|
*
|
|
* @return {?Array} Value pair, if exists.
|
|
*/
|
|
function getValuePair(instance, key) {
|
|
var _map = instance._map,
|
|
_arrayTreeMap = instance._arrayTreeMap,
|
|
_objectTreeMap = instance._objectTreeMap; // Map keeps a reference to the last object-like key used to set the
|
|
// value, which can be used to shortcut immediately to the value.
|
|
|
|
if (_map.has(key)) {
|
|
return _map.get(key);
|
|
} // Sort keys to ensure stable retrieval from tree.
|
|
|
|
|
|
var properties = Object.keys(key).sort(); // Tree by type to avoid conflicts on numeric object keys, empty value.
|
|
|
|
var map = Array.isArray(key) ? _arrayTreeMap : _objectTreeMap;
|
|
|
|
for (var i = 0; i < properties.length; i++) {
|
|
var property = properties[i];
|
|
map = map.get(property);
|
|
|
|
if (map === undefined) {
|
|
return;
|
|
}
|
|
|
|
var propertyValue = key[property];
|
|
map = map.get(propertyValue);
|
|
|
|
if (map === undefined) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
var valuePair = map.get('_ekm_value');
|
|
|
|
if (!valuePair) {
|
|
return;
|
|
} // If reached, it implies that an object-like key was set with another
|
|
// reference, so delete the reference and replace with the current.
|
|
|
|
|
|
_map.delete(valuePair[0]);
|
|
|
|
valuePair[0] = key;
|
|
map.set('_ekm_value', valuePair);
|
|
|
|
_map.set(key, valuePair);
|
|
|
|
return valuePair;
|
|
}
|
|
/**
|
|
* Variant of a Map object which enables lookup by equivalent (deeply equal)
|
|
* object and array keys.
|
|
*/
|
|
|
|
|
|
var EquivalentKeyMap =
|
|
/*#__PURE__*/
|
|
function () {
|
|
/**
|
|
* Constructs a new instance of EquivalentKeyMap.
|
|
*
|
|
* @param {Iterable.<*>} iterable Initial pair of key, value for map.
|
|
*/
|
|
function EquivalentKeyMap(iterable) {
|
|
_classCallCheck(this, EquivalentKeyMap);
|
|
|
|
this.clear();
|
|
|
|
if (iterable instanceof EquivalentKeyMap) {
|
|
// Map#forEach is only means of iterating with support for IE11.
|
|
var iterablePairs = [];
|
|
iterable.forEach(function (value, key) {
|
|
iterablePairs.push([key, value]);
|
|
});
|
|
iterable = iterablePairs;
|
|
}
|
|
|
|
if (iterable != null) {
|
|
for (var i = 0; i < iterable.length; i++) {
|
|
this.set(iterable[i][0], iterable[i][1]);
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* Accessor property returning the number of elements.
|
|
*
|
|
* @return {number} Number of elements.
|
|
*/
|
|
|
|
|
|
_createClass(EquivalentKeyMap, [{
|
|
key: "set",
|
|
|
|
/**
|
|
* Add or update an element with a specified key and value.
|
|
*
|
|
* @param {*} key The key of the element to add.
|
|
* @param {*} value The value of the element to add.
|
|
*
|
|
* @return {EquivalentKeyMap} Map instance.
|
|
*/
|
|
value: function set(key, value) {
|
|
// Shortcut non-object-like to set on internal Map.
|
|
if (key === null || _typeof(key) !== 'object') {
|
|
this._map.set(key, value);
|
|
|
|
return this;
|
|
} // Sort keys to ensure stable assignment into tree.
|
|
|
|
|
|
var properties = Object.keys(key).sort();
|
|
var valuePair = [key, value]; // Tree by type to avoid conflicts on numeric object keys, empty value.
|
|
|
|
var map = Array.isArray(key) ? this._arrayTreeMap : this._objectTreeMap;
|
|
|
|
for (var i = 0; i < properties.length; i++) {
|
|
var property = properties[i];
|
|
|
|
if (!map.has(property)) {
|
|
map.set(property, new EquivalentKeyMap());
|
|
}
|
|
|
|
map = map.get(property);
|
|
var propertyValue = key[property];
|
|
|
|
if (!map.has(propertyValue)) {
|
|
map.set(propertyValue, new EquivalentKeyMap());
|
|
}
|
|
|
|
map = map.get(propertyValue);
|
|
} // If an _ekm_value exists, there was already an equivalent key. Before
|
|
// overriding, ensure that the old key reference is removed from map to
|
|
// avoid memory leak of accumulating equivalent keys. This is, in a
|
|
// sense, a poor man's WeakMap, while still enabling iterability.
|
|
|
|
|
|
var previousValuePair = map.get('_ekm_value');
|
|
|
|
if (previousValuePair) {
|
|
this._map.delete(previousValuePair[0]);
|
|
}
|
|
|
|
map.set('_ekm_value', valuePair);
|
|
|
|
this._map.set(key, valuePair);
|
|
|
|
return this;
|
|
}
|
|
/**
|
|
* Returns a specified element.
|
|
*
|
|
* @param {*} key The key of the element to return.
|
|
*
|
|
* @return {?*} The element associated with the specified key or undefined
|
|
* if the key can't be found.
|
|
*/
|
|
|
|
}, {
|
|
key: "get",
|
|
value: function get(key) {
|
|
// Shortcut non-object-like to get from internal Map.
|
|
if (key === null || _typeof(key) !== 'object') {
|
|
return this._map.get(key);
|
|
}
|
|
|
|
var valuePair = getValuePair(this, key);
|
|
|
|
if (valuePair) {
|
|
return valuePair[1];
|
|
}
|
|
}
|
|
/**
|
|
* Returns a boolean indicating whether an element with the specified key
|
|
* exists or not.
|
|
*
|
|
* @param {*} key The key of the element to test for presence.
|
|
*
|
|
* @return {boolean} Whether an element with the specified key exists.
|
|
*/
|
|
|
|
}, {
|
|
key: "has",
|
|
value: function has(key) {
|
|
if (key === null || _typeof(key) !== 'object') {
|
|
return this._map.has(key);
|
|
} // Test on the _presence_ of the pair, not its value, as even undefined
|
|
// can be a valid member value for a key.
|
|
|
|
|
|
return getValuePair(this, key) !== undefined;
|
|
}
|
|
/**
|
|
* Removes the specified element.
|
|
*
|
|
* @param {*} key The key of the element to remove.
|
|
*
|
|
* @return {boolean} Returns true if an element existed and has been
|
|
* removed, or false if the element does not exist.
|
|
*/
|
|
|
|
}, {
|
|
key: "delete",
|
|
value: function _delete(key) {
|
|
if (!this.has(key)) {
|
|
return false;
|
|
} // This naive implementation will leave orphaned child trees. A better
|
|
// implementation should traverse and remove orphans.
|
|
|
|
|
|
this.set(key, undefined);
|
|
return true;
|
|
}
|
|
/**
|
|
* Executes a provided function once per each key/value pair, in insertion
|
|
* order.
|
|
*
|
|
* @param {Function} callback Function to execute for each element.
|
|
* @param {*} thisArg Value to use as `this` when executing
|
|
* `callback`.
|
|
*/
|
|
|
|
}, {
|
|
key: "forEach",
|
|
value: function forEach(callback) {
|
|
var _this = this;
|
|
|
|
var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;
|
|
|
|
this._map.forEach(function (value, key) {
|
|
// Unwrap value from object-like value pair.
|
|
if (key !== null && _typeof(key) === 'object') {
|
|
value = value[1];
|
|
}
|
|
|
|
callback.call(thisArg, value, key, _this);
|
|
});
|
|
}
|
|
/**
|
|
* Removes all elements.
|
|
*/
|
|
|
|
}, {
|
|
key: "clear",
|
|
value: function clear() {
|
|
this._map = new Map();
|
|
this._arrayTreeMap = new Map();
|
|
this._objectTreeMap = new Map();
|
|
}
|
|
}, {
|
|
key: "size",
|
|
get: function get() {
|
|
return this._map.size;
|
|
}
|
|
}]);
|
|
|
|
return EquivalentKeyMap;
|
|
}();
|
|
|
|
module.exports = EquivalentKeyMap;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/is-promise/index.js":
|
|
/*!******************************************!*\
|
|
!*** ./node_modules/is-promise/index.js ***!
|
|
\******************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = isPromise;
|
|
|
|
function isPromise(obj) {
|
|
return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/redux/es/redux.js":
|
|
/*!****************************************!*\
|
|
!*** ./node_modules/redux/es/redux.js ***!
|
|
\****************************************/
|
|
/*! exports provided: createStore, combineReducers, bindActionCreators, applyMiddleware, compose, __DO_NOT_USE__ActionTypes */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return createStore; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return combineReducers; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return bindActionCreators; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return applyMiddleware; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return compose; });
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__DO_NOT_USE__ActionTypes", function() { return ActionTypes; });
|
|
/* harmony import */ var symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! symbol-observable */ "./node_modules/redux/node_modules/symbol-observable/es/index.js");
|
|
|
|
|
|
/**
|
|
* These are private action types reserved by Redux.
|
|
* For any unknown actions, you must return the current state.
|
|
* If the current state is undefined, you must return the initial state.
|
|
* Do not reference these action types directly in your code.
|
|
*/
|
|
var randomString = function randomString() {
|
|
return Math.random().toString(36).substring(7).split('').join('.');
|
|
};
|
|
|
|
var ActionTypes = {
|
|
INIT: "@@redux/INIT" + randomString(),
|
|
REPLACE: "@@redux/REPLACE" + randomString(),
|
|
PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
|
|
return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
|
|
}
|
|
};
|
|
|
|
/**
|
|
* @param {any} obj The object to inspect.
|
|
* @returns {boolean} True if the argument appears to be a plain object.
|
|
*/
|
|
function isPlainObject(obj) {
|
|
if (typeof obj !== 'object' || obj === null) return false;
|
|
var proto = obj;
|
|
|
|
while (Object.getPrototypeOf(proto) !== null) {
|
|
proto = Object.getPrototypeOf(proto);
|
|
}
|
|
|
|
return Object.getPrototypeOf(obj) === proto;
|
|
}
|
|
|
|
/**
|
|
* Creates a Redux store that holds the state tree.
|
|
* The only way to change the data in the store is to call `dispatch()` on it.
|
|
*
|
|
* There should only be a single store in your app. To specify how different
|
|
* parts of the state tree respond to actions, you may combine several reducers
|
|
* into a single reducer function by using `combineReducers`.
|
|
*
|
|
* @param {Function} reducer A function that returns the next state tree, given
|
|
* the current state tree and the action to handle.
|
|
*
|
|
* @param {any} [preloadedState] The initial state. You may optionally specify it
|
|
* to hydrate the state from the server in universal apps, or to restore a
|
|
* previously serialized user session.
|
|
* If you use `combineReducers` to produce the root reducer function, this must be
|
|
* an object with the same shape as `combineReducers` keys.
|
|
*
|
|
* @param {Function} [enhancer] The store enhancer. You may optionally specify it
|
|
* to enhance the store with third-party capabilities such as middleware,
|
|
* time travel, persistence, etc. The only store enhancer that ships with Redux
|
|
* is `applyMiddleware()`.
|
|
*
|
|
* @returns {Store} A Redux store that lets you read the state, dispatch actions
|
|
* and subscribe to changes.
|
|
*/
|
|
|
|
function createStore(reducer, preloadedState, enhancer) {
|
|
var _ref2;
|
|
|
|
if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {
|
|
throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function');
|
|
}
|
|
|
|
if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
|
|
enhancer = preloadedState;
|
|
preloadedState = undefined;
|
|
}
|
|
|
|
if (typeof enhancer !== 'undefined') {
|
|
if (typeof enhancer !== 'function') {
|
|
throw new Error('Expected the enhancer to be a function.');
|
|
}
|
|
|
|
return enhancer(createStore)(reducer, preloadedState);
|
|
}
|
|
|
|
if (typeof reducer !== 'function') {
|
|
throw new Error('Expected the reducer to be a function.');
|
|
}
|
|
|
|
var currentReducer = reducer;
|
|
var currentState = preloadedState;
|
|
var currentListeners = [];
|
|
var nextListeners = currentListeners;
|
|
var isDispatching = false;
|
|
|
|
function ensureCanMutateNextListeners() {
|
|
if (nextListeners === currentListeners) {
|
|
nextListeners = currentListeners.slice();
|
|
}
|
|
}
|
|
/**
|
|
* Reads the state tree managed by the store.
|
|
*
|
|
* @returns {any} The current state tree of your application.
|
|
*/
|
|
|
|
|
|
function getState() {
|
|
if (isDispatching) {
|
|
throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');
|
|
}
|
|
|
|
return currentState;
|
|
}
|
|
/**
|
|
* Adds a change listener. It will be called any time an action is dispatched,
|
|
* and some part of the state tree may potentially have changed. You may then
|
|
* call `getState()` to read the current state tree inside the callback.
|
|
*
|
|
* You may call `dispatch()` from a change listener, with the following
|
|
* caveats:
|
|
*
|
|
* 1. The subscriptions are snapshotted just before every `dispatch()` call.
|
|
* If you subscribe or unsubscribe while the listeners are being invoked, this
|
|
* will not have any effect on the `dispatch()` that is currently in progress.
|
|
* However, the next `dispatch()` call, whether nested or not, will use a more
|
|
* recent snapshot of the subscription list.
|
|
*
|
|
* 2. The listener should not expect to see all state changes, as the state
|
|
* might have been updated multiple times during a nested `dispatch()` before
|
|
* the listener is called. It is, however, guaranteed that all subscribers
|
|
* registered before the `dispatch()` started will be called with the latest
|
|
* state by the time it exits.
|
|
*
|
|
* @param {Function} listener A callback to be invoked on every dispatch.
|
|
* @returns {Function} A function to remove this change listener.
|
|
*/
|
|
|
|
|
|
function subscribe(listener) {
|
|
if (typeof listener !== 'function') {
|
|
throw new Error('Expected the listener to be a function.');
|
|
}
|
|
|
|
if (isDispatching) {
|
|
throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
|
|
}
|
|
|
|
var isSubscribed = true;
|
|
ensureCanMutateNextListeners();
|
|
nextListeners.push(listener);
|
|
return function unsubscribe() {
|
|
if (!isSubscribed) {
|
|
return;
|
|
}
|
|
|
|
if (isDispatching) {
|
|
throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
|
|
}
|
|
|
|
isSubscribed = false;
|
|
ensureCanMutateNextListeners();
|
|
var index = nextListeners.indexOf(listener);
|
|
nextListeners.splice(index, 1);
|
|
};
|
|
}
|
|
/**
|
|
* Dispatches an action. It is the only way to trigger a state change.
|
|
*
|
|
* The `reducer` function, used to create the store, will be called with the
|
|
* current state tree and the given `action`. Its return value will
|
|
* be considered the **next** state of the tree, and the change listeners
|
|
* will be notified.
|
|
*
|
|
* The base implementation only supports plain object actions. If you want to
|
|
* dispatch a Promise, an Observable, a thunk, or something else, you need to
|
|
* wrap your store creating function into the corresponding middleware. For
|
|
* example, see the documentation for the `redux-thunk` package. Even the
|
|
* middleware will eventually dispatch plain object actions using this method.
|
|
*
|
|
* @param {Object} action A plain object representing “what changed”. It is
|
|
* a good idea to keep actions serializable so you can record and replay user
|
|
* sessions, or use the time travelling `redux-devtools`. An action must have
|
|
* a `type` property which may not be `undefined`. It is a good idea to use
|
|
* string constants for action types.
|
|
*
|
|
* @returns {Object} For convenience, the same action object you dispatched.
|
|
*
|
|
* Note that, if you use a custom middleware, it may wrap `dispatch()` to
|
|
* return something else (for example, a Promise you can await).
|
|
*/
|
|
|
|
|
|
function dispatch(action) {
|
|
if (!isPlainObject(action)) {
|
|
throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
|
|
}
|
|
|
|
if (typeof action.type === 'undefined') {
|
|
throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
|
|
}
|
|
|
|
if (isDispatching) {
|
|
throw new Error('Reducers may not dispatch actions.');
|
|
}
|
|
|
|
try {
|
|
isDispatching = true;
|
|
currentState = currentReducer(currentState, action);
|
|
} finally {
|
|
isDispatching = false;
|
|
}
|
|
|
|
var listeners = currentListeners = nextListeners;
|
|
|
|
for (var i = 0; i < listeners.length; i++) {
|
|
var listener = listeners[i];
|
|
listener();
|
|
}
|
|
|
|
return action;
|
|
}
|
|
/**
|
|
* Replaces the reducer currently used by the store to calculate the state.
|
|
*
|
|
* You might need this if your app implements code splitting and you want to
|
|
* load some of the reducers dynamically. You might also need this if you
|
|
* implement a hot reloading mechanism for Redux.
|
|
*
|
|
* @param {Function} nextReducer The reducer for the store to use instead.
|
|
* @returns {void}
|
|
*/
|
|
|
|
|
|
function replaceReducer(nextReducer) {
|
|
if (typeof nextReducer !== 'function') {
|
|
throw new Error('Expected the nextReducer to be a function.');
|
|
}
|
|
|
|
currentReducer = nextReducer;
|
|
dispatch({
|
|
type: ActionTypes.REPLACE
|
|
});
|
|
}
|
|
/**
|
|
* Interoperability point for observable/reactive libraries.
|
|
* @returns {observable} A minimal observable of state changes.
|
|
* For more information, see the observable proposal:
|
|
* https://github.com/tc39/proposal-observable
|
|
*/
|
|
|
|
|
|
function observable() {
|
|
var _ref;
|
|
|
|
var outerSubscribe = subscribe;
|
|
return _ref = {
|
|
/**
|
|
* The minimal observable subscription method.
|
|
* @param {Object} observer Any object that can be used as an observer.
|
|
* The observer object should have a `next` method.
|
|
* @returns {subscription} An object with an `unsubscribe` method that can
|
|
* be used to unsubscribe the observable from the store, and prevent further
|
|
* emission of values from the observable.
|
|
*/
|
|
subscribe: function subscribe(observer) {
|
|
if (typeof observer !== 'object' || observer === null) {
|
|
throw new TypeError('Expected the observer to be an object.');
|
|
}
|
|
|
|
function observeState() {
|
|
if (observer.next) {
|
|
observer.next(getState());
|
|
}
|
|
}
|
|
|
|
observeState();
|
|
var unsubscribe = outerSubscribe(observeState);
|
|
return {
|
|
unsubscribe: unsubscribe
|
|
};
|
|
}
|
|
}, _ref[symbol_observable__WEBPACK_IMPORTED_MODULE_0__["default"]] = function () {
|
|
return this;
|
|
}, _ref;
|
|
} // When a store is created, an "INIT" action is dispatched so that every
|
|
// reducer returns their initial state. This effectively populates
|
|
// the initial state tree.
|
|
|
|
|
|
dispatch({
|
|
type: ActionTypes.INIT
|
|
});
|
|
return _ref2 = {
|
|
dispatch: dispatch,
|
|
subscribe: subscribe,
|
|
getState: getState,
|
|
replaceReducer: replaceReducer
|
|
}, _ref2[symbol_observable__WEBPACK_IMPORTED_MODULE_0__["default"]] = observable, _ref2;
|
|
}
|
|
|
|
/**
|
|
* Prints a warning in the console if it exists.
|
|
*
|
|
* @param {String} message The warning message.
|
|
* @returns {void}
|
|
*/
|
|
function warning(message) {
|
|
/* eslint-disable no-console */
|
|
if (typeof console !== 'undefined' && typeof console.error === 'function') {
|
|
console.error(message);
|
|
}
|
|
/* eslint-enable no-console */
|
|
|
|
|
|
try {
|
|
// This error was thrown as a convenience so that if you enable
|
|
// "break on all exceptions" in your console,
|
|
// it would pause the execution at this line.
|
|
throw new Error(message);
|
|
} catch (e) {} // eslint-disable-line no-empty
|
|
|
|
}
|
|
|
|
function getUndefinedStateErrorMessage(key, action) {
|
|
var actionType = action && action.type;
|
|
var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
|
|
return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
|
|
}
|
|
|
|
function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
|
|
var reducerKeys = Object.keys(reducers);
|
|
var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
|
|
|
|
if (reducerKeys.length === 0) {
|
|
return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
|
|
}
|
|
|
|
if (!isPlainObject(inputState)) {
|
|
return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
|
|
}
|
|
|
|
var unexpectedKeys = Object.keys(inputState).filter(function (key) {
|
|
return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
|
|
});
|
|
unexpectedKeys.forEach(function (key) {
|
|
unexpectedKeyCache[key] = true;
|
|
});
|
|
if (action && action.type === ActionTypes.REPLACE) return;
|
|
|
|
if (unexpectedKeys.length > 0) {
|
|
return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored.");
|
|
}
|
|
}
|
|
|
|
function assertReducerShape(reducers) {
|
|
Object.keys(reducers).forEach(function (key) {
|
|
var reducer = reducers[key];
|
|
var initialState = reducer(undefined, {
|
|
type: ActionTypes.INIT
|
|
});
|
|
|
|
if (typeof initialState === 'undefined') {
|
|
throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
|
|
}
|
|
|
|
if (typeof reducer(undefined, {
|
|
type: ActionTypes.PROBE_UNKNOWN_ACTION()
|
|
}) === 'undefined') {
|
|
throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
|
|
}
|
|
});
|
|
}
|
|
/**
|
|
* Turns an object whose values are different reducer functions, into a single
|
|
* reducer function. It will call every child reducer, and gather their results
|
|
* into a single state object, whose keys correspond to the keys of the passed
|
|
* reducer functions.
|
|
*
|
|
* @param {Object} reducers An object whose values correspond to different
|
|
* reducer functions that need to be combined into one. One handy way to obtain
|
|
* it is to use ES6 `import * as reducers` syntax. The reducers may never return
|
|
* undefined for any action. Instead, they should return their initial state
|
|
* if the state passed to them was undefined, and the current state for any
|
|
* unrecognized action.
|
|
*
|
|
* @returns {Function} A reducer function that invokes every reducer inside the
|
|
* passed object, and builds a state object with the same shape.
|
|
*/
|
|
|
|
|
|
function combineReducers(reducers) {
|
|
var reducerKeys = Object.keys(reducers);
|
|
var finalReducers = {};
|
|
|
|
for (var i = 0; i < reducerKeys.length; i++) {
|
|
var key = reducerKeys[i];
|
|
|
|
if (true) {
|
|
if (typeof reducers[key] === 'undefined') {
|
|
warning("No reducer provided for key \"" + key + "\"");
|
|
}
|
|
}
|
|
|
|
if (typeof reducers[key] === 'function') {
|
|
finalReducers[key] = reducers[key];
|
|
}
|
|
}
|
|
|
|
var finalReducerKeys = Object.keys(finalReducers);
|
|
var unexpectedKeyCache;
|
|
|
|
if (true) {
|
|
unexpectedKeyCache = {};
|
|
}
|
|
|
|
var shapeAssertionError;
|
|
|
|
try {
|
|
assertReducerShape(finalReducers);
|
|
} catch (e) {
|
|
shapeAssertionError = e;
|
|
}
|
|
|
|
return function combination(state, action) {
|
|
if (state === void 0) {
|
|
state = {};
|
|
}
|
|
|
|
if (shapeAssertionError) {
|
|
throw shapeAssertionError;
|
|
}
|
|
|
|
if (true) {
|
|
var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
|
|
|
|
if (warningMessage) {
|
|
warning(warningMessage);
|
|
}
|
|
}
|
|
|
|
var hasChanged = false;
|
|
var nextState = {};
|
|
|
|
for (var _i = 0; _i < finalReducerKeys.length; _i++) {
|
|
var _key = finalReducerKeys[_i];
|
|
var reducer = finalReducers[_key];
|
|
var previousStateForKey = state[_key];
|
|
var nextStateForKey = reducer(previousStateForKey, action);
|
|
|
|
if (typeof nextStateForKey === 'undefined') {
|
|
var errorMessage = getUndefinedStateErrorMessage(_key, action);
|
|
throw new Error(errorMessage);
|
|
}
|
|
|
|
nextState[_key] = nextStateForKey;
|
|
hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
|
|
}
|
|
|
|
return hasChanged ? nextState : state;
|
|
};
|
|
}
|
|
|
|
function bindActionCreator(actionCreator, dispatch) {
|
|
return function () {
|
|
return dispatch(actionCreator.apply(this, arguments));
|
|
};
|
|
}
|
|
/**
|
|
* Turns an object whose values are action creators, into an object with the
|
|
* same keys, but with every function wrapped into a `dispatch` call so they
|
|
* may be invoked directly. This is just a convenience method, as you can call
|
|
* `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
|
|
*
|
|
* For convenience, you can also pass a single function as the first argument,
|
|
* and get a function in return.
|
|
*
|
|
* @param {Function|Object} actionCreators An object whose values are action
|
|
* creator functions. One handy way to obtain it is to use ES6 `import * as`
|
|
* syntax. You may also pass a single function.
|
|
*
|
|
* @param {Function} dispatch The `dispatch` function available on your Redux
|
|
* store.
|
|
*
|
|
* @returns {Function|Object} The object mimicking the original object, but with
|
|
* every action creator wrapped into the `dispatch` call. If you passed a
|
|
* function as `actionCreators`, the return value will also be a single
|
|
* function.
|
|
*/
|
|
|
|
|
|
function bindActionCreators(actionCreators, dispatch) {
|
|
if (typeof actionCreators === 'function') {
|
|
return bindActionCreator(actionCreators, dispatch);
|
|
}
|
|
|
|
if (typeof actionCreators !== 'object' || actionCreators === null) {
|
|
throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
|
|
}
|
|
|
|
var keys = Object.keys(actionCreators);
|
|
var boundActionCreators = {};
|
|
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
var actionCreator = actionCreators[key];
|
|
|
|
if (typeof actionCreator === 'function') {
|
|
boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
|
|
}
|
|
}
|
|
|
|
return boundActionCreators;
|
|
}
|
|
|
|
function _defineProperty(obj, key, value) {
|
|
if (key in obj) {
|
|
Object.defineProperty(obj, key, {
|
|
value: value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
|
|
return obj;
|
|
}
|
|
|
|
function _objectSpread(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
var ownKeys = Object.keys(source);
|
|
|
|
if (typeof Object.getOwnPropertySymbols === 'function') {
|
|
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
|
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
}));
|
|
}
|
|
|
|
ownKeys.forEach(function (key) {
|
|
_defineProperty(target, key, source[key]);
|
|
});
|
|
}
|
|
|
|
return target;
|
|
}
|
|
|
|
/**
|
|
* Composes single-argument functions from right to left. The rightmost
|
|
* function can take multiple arguments as it provides the signature for
|
|
* the resulting composite function.
|
|
*
|
|
* @param {...Function} funcs The functions to compose.
|
|
* @returns {Function} A function obtained by composing the argument functions
|
|
* from right to left. For example, compose(f, g, h) is identical to doing
|
|
* (...args) => f(g(h(...args))).
|
|
*/
|
|
function compose() {
|
|
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
funcs[_key] = arguments[_key];
|
|
}
|
|
|
|
if (funcs.length === 0) {
|
|
return function (arg) {
|
|
return arg;
|
|
};
|
|
}
|
|
|
|
if (funcs.length === 1) {
|
|
return funcs[0];
|
|
}
|
|
|
|
return funcs.reduce(function (a, b) {
|
|
return function () {
|
|
return a(b.apply(void 0, arguments));
|
|
};
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Creates a store enhancer that applies middleware to the dispatch method
|
|
* of the Redux store. This is handy for a variety of tasks, such as expressing
|
|
* asynchronous actions in a concise manner, or logging every action payload.
|
|
*
|
|
* See `redux-thunk` package as an example of the Redux middleware.
|
|
*
|
|
* Because middleware is potentially asynchronous, this should be the first
|
|
* store enhancer in the composition chain.
|
|
*
|
|
* Note that each middleware will be given the `dispatch` and `getState` functions
|
|
* as named arguments.
|
|
*
|
|
* @param {...Function} middlewares The middleware chain to be applied.
|
|
* @returns {Function} A store enhancer applying the middleware.
|
|
*/
|
|
|
|
function applyMiddleware() {
|
|
for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
middlewares[_key] = arguments[_key];
|
|
}
|
|
|
|
return function (createStore) {
|
|
return function () {
|
|
var store = createStore.apply(void 0, arguments);
|
|
|
|
var _dispatch = function dispatch() {
|
|
throw new Error("Dispatching while constructing your middleware is not allowed. " + "Other middleware would not be applied to this dispatch.");
|
|
};
|
|
|
|
var middlewareAPI = {
|
|
getState: store.getState,
|
|
dispatch: function dispatch() {
|
|
return _dispatch.apply(void 0, arguments);
|
|
}
|
|
};
|
|
var chain = middlewares.map(function (middleware) {
|
|
return middleware(middlewareAPI);
|
|
});
|
|
_dispatch = compose.apply(void 0, chain)(store.dispatch);
|
|
return _objectSpread({}, store, {
|
|
dispatch: _dispatch
|
|
});
|
|
};
|
|
};
|
|
}
|
|
|
|
/*
|
|
* This is a dummy function to check if the function name has been altered by minification.
|
|
* If the function has been minified and NODE_ENV !== 'production', warn the user.
|
|
*/
|
|
|
|
function isCrushed() {}
|
|
|
|
if ( true && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
|
|
warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');
|
|
}
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/redux/node_modules/symbol-observable/es/index.js":
|
|
/*!***********************************************************************!*\
|
|
!*** ./node_modules/redux/node_modules/symbol-observable/es/index.js ***!
|
|
\***********************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* WEBPACK VAR INJECTION */(function(global, module) {/* harmony import */ var _ponyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ponyfill.js */ "./node_modules/redux/node_modules/symbol-observable/es/ponyfill.js");
|
|
/* global window */
|
|
|
|
|
|
var root;
|
|
|
|
if (typeof self !== 'undefined') {
|
|
root = self;
|
|
} else if (typeof window !== 'undefined') {
|
|
root = window;
|
|
} else if (typeof global !== 'undefined') {
|
|
root = global;
|
|
} else if (true) {
|
|
root = module;
|
|
} else {}
|
|
|
|
var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__["default"])(root);
|
|
/* harmony default export */ __webpack_exports__["default"] = (result);
|
|
|
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../../../../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/redux/node_modules/symbol-observable/es/ponyfill.js":
|
|
/*!**************************************************************************!*\
|
|
!*** ./node_modules/redux/node_modules/symbol-observable/es/ponyfill.js ***!
|
|
\**************************************************************************/
|
|
/*! exports provided: default */
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return symbolObservablePonyfill; });
|
|
function symbolObservablePonyfill(root) {
|
|
var result;
|
|
var Symbol = root.Symbol;
|
|
|
|
if (typeof Symbol === 'function') {
|
|
if (Symbol.observable) {
|
|
result = Symbol.observable;
|
|
} else {
|
|
result = Symbol('observable');
|
|
Symbol.observable = result;
|
|
}
|
|
} else {
|
|
result = '@@observable';
|
|
}
|
|
|
|
return result;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/webpack/buildin/global.js":
|
|
/*!***********************************!*\
|
|
!*** (webpack)/buildin/global.js ***!
|
|
\***********************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
var g;
|
|
|
|
// This works in non-strict mode
|
|
g = (function() {
|
|
return this;
|
|
})();
|
|
|
|
try {
|
|
// This works if eval is allowed (see CSP)
|
|
g = g || new Function("return this")();
|
|
} catch (e) {
|
|
// This works if the window reference is available
|
|
if (typeof window === "object") g = window;
|
|
}
|
|
|
|
// g can still be undefined, but nothing to do about it...
|
|
// We return undefined, instead of nothing here, so it's
|
|
// easier to handle this case. if(!global) { ...}
|
|
|
|
module.exports = g;
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./node_modules/webpack/buildin/harmony-module.js":
|
|
/*!*******************************************!*\
|
|
!*** (webpack)/buildin/harmony-module.js ***!
|
|
\*******************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
module.exports = function(originalModule) {
|
|
if (!originalModule.webpackPolyfill) {
|
|
var module = Object.create(originalModule);
|
|
// module.parent = undefined by default
|
|
if (!module.children) module.children = [];
|
|
Object.defineProperty(module, "loaded", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return module.l;
|
|
}
|
|
});
|
|
Object.defineProperty(module, "id", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return module.i;
|
|
}
|
|
});
|
|
Object.defineProperty(module, "exports", {
|
|
enumerable: true
|
|
});
|
|
module.webpackPolyfill = 1;
|
|
}
|
|
return module;
|
|
};
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "@wordpress/compose":
|
|
/*!******************************************!*\
|
|
!*** external {"this":["wp","compose"]} ***!
|
|
\******************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["compose"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "@wordpress/deprecated":
|
|
/*!*********************************************!*\
|
|
!*** external {"this":["wp","deprecated"]} ***!
|
|
\*********************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["deprecated"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "@wordpress/element":
|
|
/*!******************************************!*\
|
|
!*** external {"this":["wp","element"]} ***!
|
|
\******************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["element"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "@wordpress/is-shallow-equal":
|
|
/*!*************************************************!*\
|
|
!*** external {"this":["wp","isShallowEqual"]} ***!
|
|
\*************************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["isShallowEqual"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "@wordpress/redux-routine":
|
|
/*!***********************************************!*\
|
|
!*** external {"this":["wp","reduxRoutine"]} ***!
|
|
\***********************************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["reduxRoutine"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ "lodash":
|
|
/*!*************************!*\
|
|
!*** external "lodash" ***!
|
|
\*************************/
|
|
/*! no static exports found */
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["lodash"]; }());
|
|
|
|
/***/ })
|
|
|
|
/******/ });
|
|
//# sourceMappingURL=data.js.map
|