data-controls.js (9520B)
1 this["wp"] = this["wp"] || {}; this["wp"]["dataControls"] = 2 /******/ (function(modules) { // webpackBootstrap 3 /******/ // The module cache 4 /******/ var installedModules = {}; 5 /******/ 6 /******/ // The require function 7 /******/ function __webpack_require__(moduleId) { 8 /******/ 9 /******/ // Check if module is in cache 10 /******/ if(installedModules[moduleId]) { 11 /******/ return installedModules[moduleId].exports; 12 /******/ } 13 /******/ // Create a new module (and put it into the cache) 14 /******/ var module = installedModules[moduleId] = { 15 /******/ i: moduleId, 16 /******/ l: false, 17 /******/ exports: {} 18 /******/ }; 19 /******/ 20 /******/ // Execute the module function 21 /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 22 /******/ 23 /******/ // Flag the module as loaded 24 /******/ module.l = true; 25 /******/ 26 /******/ // Return the exports of the module 27 /******/ return module.exports; 28 /******/ } 29 /******/ 30 /******/ 31 /******/ // expose the modules object (__webpack_modules__) 32 /******/ __webpack_require__.m = modules; 33 /******/ 34 /******/ // expose the module cache 35 /******/ __webpack_require__.c = installedModules; 36 /******/ 37 /******/ // define getter function for harmony exports 38 /******/ __webpack_require__.d = function(exports, name, getter) { 39 /******/ if(!__webpack_require__.o(exports, name)) { 40 /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 41 /******/ } 42 /******/ }; 43 /******/ 44 /******/ // define __esModule on exports 45 /******/ __webpack_require__.r = function(exports) { 46 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 47 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 48 /******/ } 49 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 50 /******/ }; 51 /******/ 52 /******/ // create a fake namespace object 53 /******/ // mode & 1: value is a module id, require it 54 /******/ // mode & 2: merge all properties of value into the ns 55 /******/ // mode & 4: return value when already ns object 56 /******/ // mode & 8|1: behave like require 57 /******/ __webpack_require__.t = function(value, mode) { 58 /******/ if(mode & 1) value = __webpack_require__(value); 59 /******/ if(mode & 8) return value; 60 /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 61 /******/ var ns = Object.create(null); 62 /******/ __webpack_require__.r(ns); 63 /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 64 /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 65 /******/ return ns; 66 /******/ }; 67 /******/ 68 /******/ // getDefaultExport function for compatibility with non-harmony modules 69 /******/ __webpack_require__.n = function(module) { 70 /******/ var getter = module && module.__esModule ? 71 /******/ function getDefault() { return module['default']; } : 72 /******/ function getModuleExports() { return module; }; 73 /******/ __webpack_require__.d(getter, 'a', getter); 74 /******/ return getter; 75 /******/ }; 76 /******/ 77 /******/ // Object.prototype.hasOwnProperty.call 78 /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 79 /******/ 80 /******/ // __webpack_public_path__ 81 /******/ __webpack_require__.p = ""; 82 /******/ 83 /******/ 84 /******/ // Load entry module and return exports 85 /******/ return __webpack_require__(__webpack_require__.s = "71Oy"); 86 /******/ }) 87 /************************************************************************/ 88 /******/ ({ 89 90 /***/ "1ZqX": 91 /***/ (function(module, exports) { 92 93 (function() { module.exports = window["wp"]["data"]; }()); 94 95 /***/ }), 96 97 /***/ "71Oy": 98 /***/ (function(module, __webpack_exports__, __webpack_require__) { 99 100 "use strict"; 101 __webpack_require__.r(__webpack_exports__); 102 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "apiFetch", function() { return apiFetch; }); 103 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "select", function() { return select; }); 104 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "syncSelect", function() { return syncSelect; }); 105 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatch", function() { return dispatch; }); 106 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__unstableAwaitPromise", function() { return __unstableAwaitPromise; }); 107 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "controls", function() { return controls; }); 108 /* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ywyh"); 109 /* harmony import */ var _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_0__); 110 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("1ZqX"); 111 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_1__); 112 /* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("NMb1"); 113 /* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_2__); 114 /** 115 * WordPress dependencies 116 */ 117 118 119 120 /** 121 * Dispatches a control action for triggering an api fetch call. 122 * 123 * @param {Object} request Arguments for the fetch request. 124 * 125 * @example 126 * ```js 127 * import { apiFetch } from '@wordpress/data-controls'; 128 * 129 * // Action generator using apiFetch 130 * export function* myAction() { 131 * const path = '/v2/my-api/items'; 132 * const items = yield apiFetch( { path } ); 133 * // do something with the items. 134 * } 135 * ``` 136 * 137 * @return {Object} The control descriptor. 138 */ 139 140 function apiFetch(request) { 141 return { 142 type: 'API_FETCH', 143 request 144 }; 145 } 146 /** 147 * Control for resolving a selector in a registered data store. 148 * Alias for the `resolveSelect` built-in control in the `@wordpress/data` package. 149 * 150 * @param {Array} args Arguments passed without change to the `@wordpress/data` control. 151 */ 152 153 function select(...args) { 154 _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_2___default()('`select` control in `@wordpress/data-controls`', { 155 since: '5.7', 156 alternative: 'built-in `resolveSelect` control in `@wordpress/data`' 157 }); 158 return _wordpress_data__WEBPACK_IMPORTED_MODULE_1__["controls"].resolveSelect(...args); 159 } 160 /** 161 * Control for calling a selector in a registered data store. 162 * Alias for the `select` built-in control in the `@wordpress/data` package. 163 * 164 * @param {Array} args Arguments passed without change to the `@wordpress/data` control. 165 */ 166 167 function syncSelect(...args) { 168 _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_2___default()('`syncSelect` control in `@wordpress/data-controls`', { 169 since: '5.7', 170 alternative: 'built-in `select` control in `@wordpress/data`' 171 }); 172 return _wordpress_data__WEBPACK_IMPORTED_MODULE_1__["controls"].select(...args); 173 } 174 /** 175 * Control for dispatching an action in a registered data store. 176 * Alias for the `dispatch` control in the `@wordpress/data` package. 177 * 178 * @param {Array} args Arguments passed without change to the `@wordpress/data` control. 179 */ 180 181 function dispatch(...args) { 182 _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_2___default()('`dispatch` control in `@wordpress/data-controls`', { 183 since: '5.7', 184 alternative: 'built-in `dispatch` control in `@wordpress/data`' 185 }); 186 return _wordpress_data__WEBPACK_IMPORTED_MODULE_1__["controls"].dispatch(...args); 187 } 188 /** 189 * Dispatches a control action for awaiting on a promise to be resolved. 190 * 191 * @param {Object} promise Promise to wait for. 192 * 193 * @example 194 * ```js 195 * import { __unstableAwaitPromise } from '@wordpress/data-controls'; 196 * 197 * // Action generator using apiFetch 198 * export function* myAction() { 199 * const promise = getItemsAsync(); 200 * const items = yield __unstableAwaitPromise( promise ); 201 * // do something with the items. 202 * } 203 * ``` 204 * 205 * @return {Object} The control descriptor. 206 */ 207 208 const __unstableAwaitPromise = function (promise) { 209 return { 210 type: 'AWAIT_PROMISE', 211 promise 212 }; 213 }; 214 /** 215 * The default export is what you use to register the controls with your custom 216 * store. 217 * 218 * @example 219 * ```js 220 * // WordPress dependencies 221 * import { controls } from '@wordpress/data-controls'; 222 * import { registerStore } from '@wordpress/data'; 223 * 224 * // Internal dependencies 225 * import reducer from './reducer'; 226 * import * as selectors from './selectors'; 227 * import * as actions from './actions'; 228 * import * as resolvers from './resolvers'; 229 * 230 * registerStore( 'my-custom-store', { 231 * reducer, 232 * controls, 233 * actions, 234 * selectors, 235 * resolvers, 236 * } ); 237 * ``` 238 * @return {Object} An object for registering the default controls with the 239 * store. 240 */ 241 242 const controls = { 243 AWAIT_PROMISE: ({ 244 promise 245 }) => promise, 246 247 API_FETCH({ 248 request 249 }) { 250 return _wordpress_api_fetch__WEBPACK_IMPORTED_MODULE_0___default()(request); 251 } 252 253 }; 254 255 256 /***/ }), 257 258 /***/ "NMb1": 259 /***/ (function(module, exports) { 260 261 (function() { module.exports = window["wp"]["deprecated"]; }()); 262 263 /***/ }), 264 265 /***/ "ywyh": 266 /***/ (function(module, exports) { 267 268 (function() { module.exports = window["wp"]["apiFetch"]; }()); 269 270 /***/ }) 271 272 /******/ });