896 lines
23 KiB
JavaScript
896 lines
23 KiB
JavaScript
/******/ (() => { // webpackBootstrap
|
|
/******/ "use strict";
|
|
/******/ var __webpack_modules__ = ({
|
|
|
|
/***/ 9025:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.race = exports.join = exports.fork = exports.promise = undefined;
|
|
|
|
var _is = __webpack_require__(9681);
|
|
|
|
var _is2 = _interopRequireDefault(_is);
|
|
|
|
var _helpers = __webpack_require__(7783);
|
|
|
|
var _dispatcher = __webpack_require__(2451);
|
|
|
|
var _dispatcher2 = _interopRequireDefault(_dispatcher);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var promise = exports.promise = function promise(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.promise(value)) return false;
|
|
value.then(next, raiseNext);
|
|
return true;
|
|
};
|
|
|
|
var forkedTasks = new Map();
|
|
var fork = exports.fork = function fork(value, next, rungen) {
|
|
if (!_is2.default.fork(value)) return false;
|
|
var task = Symbol('fork');
|
|
var dispatcher = (0, _dispatcher2.default)();
|
|
forkedTasks.set(task, dispatcher);
|
|
rungen(value.iterator.apply(null, value.args), function (result) {
|
|
return dispatcher.dispatch(result);
|
|
}, function (err) {
|
|
return dispatcher.dispatch((0, _helpers.error)(err));
|
|
});
|
|
var unsubscribe = dispatcher.subscribe(function () {
|
|
unsubscribe();
|
|
forkedTasks.delete(task);
|
|
});
|
|
next(task);
|
|
return true;
|
|
};
|
|
|
|
var join = exports.join = function join(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.join(value)) return false;
|
|
var dispatcher = forkedTasks.get(value.task);
|
|
if (!dispatcher) {
|
|
raiseNext('join error : task not found');
|
|
} else {
|
|
(function () {
|
|
var unsubscribe = dispatcher.subscribe(function (result) {
|
|
unsubscribe();
|
|
next(result);
|
|
});
|
|
})();
|
|
}
|
|
return true;
|
|
};
|
|
|
|
var race = exports.race = function race(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.race(value)) return false;
|
|
var finished = false;
|
|
var success = function success(result, k, v) {
|
|
if (finished) return;
|
|
finished = true;
|
|
result[k] = v;
|
|
next(result);
|
|
};
|
|
|
|
var fail = function fail(err) {
|
|
if (finished) return;
|
|
raiseNext(err);
|
|
};
|
|
if (_is2.default.array(value.competitors)) {
|
|
(function () {
|
|
var result = value.competitors.map(function () {
|
|
return false;
|
|
});
|
|
value.competitors.forEach(function (competitor, index) {
|
|
rungen(competitor, function (output) {
|
|
return success(result, index, output);
|
|
}, fail);
|
|
});
|
|
})();
|
|
} else {
|
|
(function () {
|
|
var result = Object.keys(value.competitors).reduce(function (p, c) {
|
|
p[c] = false;
|
|
return p;
|
|
}, {});
|
|
Object.keys(value.competitors).forEach(function (index) {
|
|
rungen(value.competitors[index], function (output) {
|
|
return success(result, index, output);
|
|
}, fail);
|
|
});
|
|
})();
|
|
}
|
|
return true;
|
|
};
|
|
|
|
var subscribe = function subscribe(value, next) {
|
|
if (!_is2.default.subscribe(value)) return false;
|
|
if (!_is2.default.channel(value.channel)) {
|
|
throw new Error('the first argument of "subscribe" must be a valid channel');
|
|
}
|
|
var unsubscribe = value.channel.subscribe(function (ret) {
|
|
unsubscribe && unsubscribe();
|
|
next(ret);
|
|
});
|
|
|
|
return true;
|
|
};
|
|
|
|
exports["default"] = [promise, fork, join, race, subscribe];
|
|
|
|
/***/ }),
|
|
|
|
/***/ 7961:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.iterator = exports.array = exports.object = exports.error = exports.any = undefined;
|
|
|
|
var _is = __webpack_require__(9681);
|
|
|
|
var _is2 = _interopRequireDefault(_is);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var any = exports.any = function any(value, next, rungen, yieldNext) {
|
|
yieldNext(value);
|
|
return true;
|
|
};
|
|
|
|
var error = exports.error = function error(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.error(value)) return false;
|
|
raiseNext(value.error);
|
|
return true;
|
|
};
|
|
|
|
var object = exports.object = function object(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.all(value) || !_is2.default.obj(value.value)) return false;
|
|
var result = {};
|
|
var keys = Object.keys(value.value);
|
|
var count = 0;
|
|
var hasError = false;
|
|
var gotResultSuccess = function gotResultSuccess(key, ret) {
|
|
if (hasError) return;
|
|
result[key] = ret;
|
|
count++;
|
|
if (count === keys.length) {
|
|
yieldNext(result);
|
|
}
|
|
};
|
|
|
|
var gotResultError = function gotResultError(key, error) {
|
|
if (hasError) return;
|
|
hasError = true;
|
|
raiseNext(error);
|
|
};
|
|
|
|
keys.map(function (key) {
|
|
rungen(value.value[key], function (ret) {
|
|
return gotResultSuccess(key, ret);
|
|
}, function (err) {
|
|
return gotResultError(key, err);
|
|
});
|
|
});
|
|
|
|
return true;
|
|
};
|
|
|
|
var array = exports.array = function array(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.all(value) || !_is2.default.array(value.value)) return false;
|
|
var result = [];
|
|
var count = 0;
|
|
var hasError = false;
|
|
var gotResultSuccess = function gotResultSuccess(key, ret) {
|
|
if (hasError) return;
|
|
result[key] = ret;
|
|
count++;
|
|
if (count === value.value.length) {
|
|
yieldNext(result);
|
|
}
|
|
};
|
|
|
|
var gotResultError = function gotResultError(key, error) {
|
|
if (hasError) return;
|
|
hasError = true;
|
|
raiseNext(error);
|
|
};
|
|
|
|
value.value.map(function (v, key) {
|
|
rungen(v, function (ret) {
|
|
return gotResultSuccess(key, ret);
|
|
}, function (err) {
|
|
return gotResultError(key, err);
|
|
});
|
|
});
|
|
|
|
return true;
|
|
};
|
|
|
|
var iterator = exports.iterator = function iterator(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.iterator(value)) return false;
|
|
rungen(value, next, raiseNext);
|
|
return true;
|
|
};
|
|
|
|
exports["default"] = [error, iterator, array, object, any];
|
|
|
|
/***/ }),
|
|
|
|
/***/ 2165:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.cps = exports.call = undefined;
|
|
|
|
var _is = __webpack_require__(9681);
|
|
|
|
var _is2 = _interopRequireDefault(_is);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
|
|
var call = exports.call = function call(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.call(value)) return false;
|
|
try {
|
|
next(value.func.apply(value.context, value.args));
|
|
} catch (err) {
|
|
raiseNext(err);
|
|
}
|
|
return true;
|
|
};
|
|
|
|
var cps = exports.cps = function cps(value, next, rungen, yieldNext, raiseNext) {
|
|
var _value$func;
|
|
|
|
if (!_is2.default.cps(value)) return false;
|
|
(_value$func = value.func).call.apply(_value$func, [null].concat(_toConsumableArray(value.args), [function (err, result) {
|
|
if (err) raiseNext(err);else next(result);
|
|
}]));
|
|
return true;
|
|
};
|
|
|
|
exports["default"] = [call, cps];
|
|
|
|
/***/ }),
|
|
|
|
/***/ 6288:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
|
|
var _builtin = __webpack_require__(7961);
|
|
|
|
var _builtin2 = _interopRequireDefault(_builtin);
|
|
|
|
var _is = __webpack_require__(9681);
|
|
|
|
var _is2 = _interopRequireDefault(_is);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
|
|
var create = function create() {
|
|
var userControls = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];
|
|
|
|
var controls = [].concat(_toConsumableArray(userControls), _toConsumableArray(_builtin2.default));
|
|
|
|
var runtime = function runtime(input) {
|
|
var success = arguments.length <= 1 || arguments[1] === undefined ? function () {} : arguments[1];
|
|
var error = arguments.length <= 2 || arguments[2] === undefined ? function () {} : arguments[2];
|
|
|
|
var iterate = function iterate(gen) {
|
|
var yieldValue = function yieldValue(isError) {
|
|
return function (ret) {
|
|
try {
|
|
var _ref = isError ? gen.throw(ret) : gen.next(ret);
|
|
|
|
var value = _ref.value;
|
|
var done = _ref.done;
|
|
|
|
if (done) return success(value);
|
|
next(value);
|
|
} catch (e) {
|
|
return error(e);
|
|
}
|
|
};
|
|
};
|
|
|
|
var next = function next(ret) {
|
|
controls.some(function (control) {
|
|
return control(ret, next, runtime, yieldValue(false), yieldValue(true));
|
|
});
|
|
};
|
|
|
|
yieldValue(false)();
|
|
};
|
|
|
|
var iterator = _is2.default.iterator(input) ? input : regeneratorRuntime.mark(function _callee() {
|
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return input;
|
|
|
|
case 2:
|
|
return _context.abrupt('return', _context.sent);
|
|
|
|
case 3:
|
|
case 'end':
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, this);
|
|
})();
|
|
|
|
iterate(iterator, success, error);
|
|
};
|
|
|
|
return runtime;
|
|
};
|
|
|
|
exports["default"] = create;
|
|
|
|
/***/ }),
|
|
|
|
/***/ 2290:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.wrapControls = exports.asyncControls = exports.create = undefined;
|
|
|
|
var _helpers = __webpack_require__(7783);
|
|
|
|
Object.keys(_helpers).forEach(function (key) {
|
|
if (key === "default") return;
|
|
Object.defineProperty(exports, key, {
|
|
enumerable: true,
|
|
get: function get() {
|
|
return _helpers[key];
|
|
}
|
|
});
|
|
});
|
|
|
|
var _create = __webpack_require__(6288);
|
|
|
|
var _create2 = _interopRequireDefault(_create);
|
|
|
|
var _async = __webpack_require__(9025);
|
|
|
|
var _async2 = _interopRequireDefault(_async);
|
|
|
|
var _wrap = __webpack_require__(2165);
|
|
|
|
var _wrap2 = _interopRequireDefault(_wrap);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
exports.create = _create2.default;
|
|
exports.asyncControls = _async2.default;
|
|
exports.wrapControls = _wrap2.default;
|
|
|
|
/***/ }),
|
|
|
|
/***/ 2451:
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
var createDispatcher = function createDispatcher() {
|
|
var listeners = [];
|
|
|
|
return {
|
|
subscribe: function subscribe(listener) {
|
|
listeners.push(listener);
|
|
return function () {
|
|
listeners = listeners.filter(function (l) {
|
|
return l !== listener;
|
|
});
|
|
};
|
|
},
|
|
dispatch: function dispatch(action) {
|
|
listeners.slice().forEach(function (listener) {
|
|
return listener(action);
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
exports["default"] = createDispatcher;
|
|
|
|
/***/ }),
|
|
|
|
/***/ 7783:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
exports.createChannel = exports.subscribe = exports.cps = exports.apply = exports.call = exports.invoke = exports.delay = exports.race = exports.join = exports.fork = exports.error = exports.all = undefined;
|
|
|
|
var _keys = __webpack_require__(9851);
|
|
|
|
var _keys2 = _interopRequireDefault(_keys);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var all = exports.all = function all(value) {
|
|
return {
|
|
type: _keys2.default.all,
|
|
value: value
|
|
};
|
|
};
|
|
|
|
var error = exports.error = function error(err) {
|
|
return {
|
|
type: _keys2.default.error,
|
|
error: err
|
|
};
|
|
};
|
|
|
|
var fork = exports.fork = function fork(iterator) {
|
|
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
args[_key - 1] = arguments[_key];
|
|
}
|
|
|
|
return {
|
|
type: _keys2.default.fork,
|
|
iterator: iterator,
|
|
args: args
|
|
};
|
|
};
|
|
|
|
var join = exports.join = function join(task) {
|
|
return {
|
|
type: _keys2.default.join,
|
|
task: task
|
|
};
|
|
};
|
|
|
|
var race = exports.race = function race(competitors) {
|
|
return {
|
|
type: _keys2.default.race,
|
|
competitors: competitors
|
|
};
|
|
};
|
|
|
|
var delay = exports.delay = function delay(timeout) {
|
|
return new Promise(function (resolve) {
|
|
setTimeout(function () {
|
|
return resolve(true);
|
|
}, timeout);
|
|
});
|
|
};
|
|
|
|
var invoke = exports.invoke = function invoke(func) {
|
|
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
args[_key2 - 1] = arguments[_key2];
|
|
}
|
|
|
|
return {
|
|
type: _keys2.default.call,
|
|
func: func,
|
|
context: null,
|
|
args: args
|
|
};
|
|
};
|
|
|
|
var call = exports.call = function call(func, context) {
|
|
for (var _len3 = arguments.length, args = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
|
|
args[_key3 - 2] = arguments[_key3];
|
|
}
|
|
|
|
return {
|
|
type: _keys2.default.call,
|
|
func: func,
|
|
context: context,
|
|
args: args
|
|
};
|
|
};
|
|
|
|
var apply = exports.apply = function apply(func, context, args) {
|
|
return {
|
|
type: _keys2.default.call,
|
|
func: func,
|
|
context: context,
|
|
args: args
|
|
};
|
|
};
|
|
|
|
var cps = exports.cps = function cps(func) {
|
|
for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
|
|
args[_key4 - 1] = arguments[_key4];
|
|
}
|
|
|
|
return {
|
|
type: _keys2.default.cps,
|
|
func: func,
|
|
args: args
|
|
};
|
|
};
|
|
|
|
var subscribe = exports.subscribe = function subscribe(channel) {
|
|
return {
|
|
type: _keys2.default.subscribe,
|
|
channel: channel
|
|
};
|
|
};
|
|
|
|
var createChannel = exports.createChannel = function createChannel(callback) {
|
|
var listeners = [];
|
|
var subscribe = function subscribe(l) {
|
|
listeners.push(l);
|
|
return function () {
|
|
return listeners.splice(listeners.indexOf(l), 1);
|
|
};
|
|
};
|
|
var next = function next(val) {
|
|
return listeners.forEach(function (l) {
|
|
return l(val);
|
|
});
|
|
};
|
|
callback(next);
|
|
|
|
return {
|
|
subscribe: subscribe
|
|
};
|
|
};
|
|
|
|
/***/ }),
|
|
|
|
/***/ 9681:
|
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
|
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
|
|
|
var _keys = __webpack_require__(9851);
|
|
|
|
var _keys2 = _interopRequireDefault(_keys);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var is = {
|
|
obj: function obj(value) {
|
|
return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && !!value;
|
|
},
|
|
all: function all(value) {
|
|
return is.obj(value) && value.type === _keys2.default.all;
|
|
},
|
|
error: function error(value) {
|
|
return is.obj(value) && value.type === _keys2.default.error;
|
|
},
|
|
array: Array.isArray,
|
|
func: function func(value) {
|
|
return typeof value === 'function';
|
|
},
|
|
promise: function promise(value) {
|
|
return value && is.func(value.then);
|
|
},
|
|
iterator: function iterator(value) {
|
|
return value && is.func(value.next) && is.func(value.throw);
|
|
},
|
|
fork: function fork(value) {
|
|
return is.obj(value) && value.type === _keys2.default.fork;
|
|
},
|
|
join: function join(value) {
|
|
return is.obj(value) && value.type === _keys2.default.join;
|
|
},
|
|
race: function race(value) {
|
|
return is.obj(value) && value.type === _keys2.default.race;
|
|
},
|
|
call: function call(value) {
|
|
return is.obj(value) && value.type === _keys2.default.call;
|
|
},
|
|
cps: function cps(value) {
|
|
return is.obj(value) && value.type === _keys2.default.cps;
|
|
},
|
|
subscribe: function subscribe(value) {
|
|
return is.obj(value) && value.type === _keys2.default.subscribe;
|
|
},
|
|
channel: function channel(value) {
|
|
return is.obj(value) && is.func(value.subscribe);
|
|
}
|
|
};
|
|
|
|
exports["default"] = is;
|
|
|
|
/***/ }),
|
|
|
|
/***/ 9851:
|
|
/***/ ((__unused_webpack_module, exports) => {
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", ({
|
|
value: true
|
|
}));
|
|
var keys = {
|
|
all: Symbol('all'),
|
|
error: Symbol('error'),
|
|
fork: Symbol('fork'),
|
|
join: Symbol('join'),
|
|
race: Symbol('race'),
|
|
call: Symbol('call'),
|
|
cps: Symbol('cps'),
|
|
subscribe: Symbol('subscribe')
|
|
};
|
|
|
|
exports["default"] = keys;
|
|
|
|
/***/ })
|
|
|
|
/******/ });
|
|
/************************************************************************/
|
|
/******/ // The module cache
|
|
/******/ var __webpack_module_cache__ = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/ // Check if module is in cache
|
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
/******/ if (cachedModule !== undefined) {
|
|
/******/ return cachedModule.exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
/******/ // no module.id needed
|
|
/******/ // no module.loaded needed
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/************************************************************************/
|
|
/******/ /* webpack/runtime/define property getters */
|
|
/******/ (() => {
|
|
/******/ // define getter functions for harmony exports
|
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
/******/ for(var key in definition) {
|
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
/******/ }
|
|
/******/ }
|
|
/******/ };
|
|
/******/ })();
|
|
/******/
|
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
/******/ (() => {
|
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
/******/ })();
|
|
/******/
|
|
/************************************************************************/
|
|
var __webpack_exports__ = {};
|
|
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
(() => {
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
"default": () => (/* binding */ createMiddleware)
|
|
});
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/@wordpress/redux-routine/build-module/is-generator.js
|
|
/* eslint-disable jsdoc/valid-types */
|
|
|
|
/**
|
|
* Returns true if the given object is a generator, or false otherwise.
|
|
*
|
|
* @see https://www.ecma-international.org/ecma-262/6.0/#sec-generator-objects
|
|
*
|
|
* @param {any} object Object to test.
|
|
*
|
|
* @return {object is Generator} Whether object is a generator.
|
|
*/
|
|
function isGenerator(object) {
|
|
/* eslint-enable jsdoc/valid-types */
|
|
// Check that iterator (next) and iterable (Symbol.iterator) interfaces are satisfied.
|
|
// These checks seem to be compatible with several generator helpers as well as the native implementation.
|
|
return !!object && typeof object[Symbol.iterator] === 'function' && typeof object.next === 'function';
|
|
}
|
|
|
|
// EXTERNAL MODULE: ./node_modules/rungen/dist/index.js
|
|
var dist = __webpack_require__(2290);
|
|
;// CONCATENATED MODULE: ./node_modules/is-promise/index.mjs
|
|
function isPromise(obj) {
|
|
return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
|
|
}
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/is-plain-object/dist/is-plain-object.mjs
|
|
/*!
|
|
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
*
|
|
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
* Released under the MIT License.
|
|
*/
|
|
|
|
function isObject(o) {
|
|
return Object.prototype.toString.call(o) === '[object Object]';
|
|
}
|
|
|
|
function isPlainObject(o) {
|
|
var ctor,prot;
|
|
|
|
if (isObject(o) === false) return false;
|
|
|
|
// If has modified constructor
|
|
ctor = o.constructor;
|
|
if (ctor === undefined) return true;
|
|
|
|
// If has modified prototype
|
|
prot = ctor.prototype;
|
|
if (isObject(prot) === false) return false;
|
|
|
|
// If constructor does not have an Object-specific method
|
|
if (prot.hasOwnProperty('isPrototypeOf') === false) {
|
|
return false;
|
|
}
|
|
|
|
// Most likely a plain Object
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/@wordpress/redux-routine/build-module/is-action.js
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/* eslint-disable jsdoc/valid-types */
|
|
|
|
/**
|
|
* Returns true if the given object quacks like an action.
|
|
*
|
|
* @param {any} object Object to test
|
|
*
|
|
* @return {object is import('redux').AnyAction} Whether object is an action.
|
|
*/
|
|
|
|
function isAction(object) {
|
|
return isPlainObject(object) && typeof object.type === 'string';
|
|
}
|
|
/**
|
|
* Returns true if the given object quacks like an action and has a specific
|
|
* action type
|
|
*
|
|
* @param {unknown} object Object to test
|
|
* @param {string} expectedType The expected type for the action.
|
|
*
|
|
* @return {object is import('redux').AnyAction} Whether object is an action and is of specific type.
|
|
*/
|
|
|
|
function isActionOfType(object, expectedType) {
|
|
/* eslint-enable jsdoc/valid-types */
|
|
return isAction(object) && object.type === expectedType;
|
|
}
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/@wordpress/redux-routine/build-module/runtime.js
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
/**
|
|
* Create a co-routine runtime.
|
|
*
|
|
* @param controls Object of control handlers.
|
|
* @param dispatch Unhandled action dispatch.
|
|
*/
|
|
|
|
function createRuntime(controls = {}, dispatch) {
|
|
const rungenControls = Object.entries(controls).map(([actionType, control]) => (value, next, iterate, yieldNext, yieldError) => {
|
|
if (!isActionOfType(value, actionType)) {
|
|
return false;
|
|
}
|
|
|
|
const routine = control(value);
|
|
|
|
if (isPromise(routine)) {
|
|
// Async control routine awaits resolution.
|
|
routine.then(yieldNext, yieldError);
|
|
} else {
|
|
yieldNext(routine);
|
|
}
|
|
|
|
return true;
|
|
});
|
|
|
|
const unhandledActionControl = (value, next) => {
|
|
if (!isAction(value)) {
|
|
return false;
|
|
}
|
|
|
|
dispatch(value);
|
|
next();
|
|
return true;
|
|
};
|
|
|
|
rungenControls.push(unhandledActionControl);
|
|
const rungenRuntime = (0,dist.create)(rungenControls);
|
|
return action => new Promise((resolve, reject) => rungenRuntime(action, result => {
|
|
if (isAction(result)) {
|
|
dispatch(result);
|
|
}
|
|
|
|
resolve(result);
|
|
}, reject));
|
|
}
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/@wordpress/redux-routine/build-module/index.js
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Creates a Redux middleware, given an object of controls where each key is an
|
|
* action type for which to act upon, the value a function which returns either
|
|
* a promise which is to resolve when evaluation of the action should continue,
|
|
* or a value. The value or resolved promise value is assigned on the return
|
|
* value of the yield assignment. If the control handler returns undefined, the
|
|
* execution is not continued.
|
|
*
|
|
* @param {Record<string, (value: import('redux').AnyAction) => Promise<boolean> | boolean>} controls Object of control handlers.
|
|
*
|
|
* @return {import('redux').Middleware} Co-routine runtime
|
|
*/
|
|
|
|
function createMiddleware(controls = {}) {
|
|
return store => {
|
|
const runtime = createRuntime(controls, store.dispatch);
|
|
return next => action => {
|
|
if (!isGenerator(action)) {
|
|
return next(action);
|
|
}
|
|
|
|
return runtime(action);
|
|
};
|
|
};
|
|
}
|
|
|
|
})();
|
|
|
|
(window.wp = window.wp || {}).reduxRoutine = __webpack_exports__["default"];
|
|
/******/ })()
|
|
; |