2018-12-13 23:41:57 -05:00
this [ "wp" ] = this [ "wp" ] || { } ; this [ "wp" ] [ "coreData" ] =
/******/ ( 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
2021-02-02 00:17:13 -05:00
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 464 ) ;
2018-12-13 23:41:57 -05:00
/******/ } )
/************************************************************************/
/******/ ( {
2020-01-08 06:57:23 -05:00
/***/ 0 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
( function ( ) { module . exports = window [ "wp" ] [ "element" ] ; } ( ) ) ;
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2020-06-26 09:33:47 -04:00
/***/ 1 :
2020-02-10 17:33:27 -05:00
/***/ ( function ( module , exports ) {
2021-01-27 21:04:13 -05:00
( function ( ) { module . exports = window [ "wp" ] [ "i18n" ] ; } ( ) ) ;
2020-02-10 17:33:27 -05:00
/***/ } ) ,
2021-02-02 00:17:13 -05:00
/***/ 104 :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
"use strict" ;
2018-12-17 22:14:52 -05:00
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
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 ;
} ;
2020-06-26 09:33:47 -04:00
}
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
return _typeof ( obj ) ;
2018-12-17 22:14:52 -05:00
}
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
function _classCallCheck ( instance , Constructor ) {
if ( ! ( instance instanceof Constructor ) ) {
throw new TypeError ( "Cannot call a class as a function" ) ;
}
}
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
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 ) ;
}
}
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
function _createClass ( Constructor , protoProps , staticProps ) {
if ( protoProps ) _defineProperties ( Constructor . prototype , protoProps ) ;
if ( staticProps ) _defineProperties ( Constructor , staticProps ) ;
return Constructor ;
2018-12-17 22:14:52 -05:00
}
2021-02-02 00:17:13 -05:00
/ * *
* 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.
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
if ( _map . has ( key ) ) {
return _map . get ( key ) ;
} // Sort keys to ensure stable retrieval from tree.
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
var properties = Object . keys ( key ) . sort ( ) ; // Tree by type to avoid conflicts on numeric object keys, empty value.
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
var map = Array . isArray ( key ) ? _arrayTreeMap : _objectTreeMap ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
for ( var i = 0 ; i < properties . length ; i ++ ) {
var property = properties [ i ] ;
map = map . get ( property ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
if ( map === undefined ) {
return ;
}
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
var propertyValue = key [ property ] ;
map = map . get ( propertyValue ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
if ( map === undefined ) {
return ;
}
}
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
var valuePair = map . get ( '_ekm_value' ) ;
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
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.
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
_map . delete ( valuePair [ 0 ] ) ;
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
valuePair [ 0 ] = key ;
map . set ( '_ekm_value' , valuePair ) ;
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
_map . set ( key , valuePair ) ;
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
return valuePair ;
}
/ * *
* Variant of a Map object which enables lookup by equivalent ( deeply equal )
* object and array keys .
* /
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
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 ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
this . clear ( ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
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 ;
}
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
if ( iterable != null ) {
for ( var i = 0 ; i < iterable . length ; i ++ ) {
this . set ( iterable [ i ] [ 0 ] , iterable [ i ] [ 1 ] ) ;
}
2018-12-13 23:41:57 -05:00
}
}
2021-02-02 00:17:13 -05:00
/ * *
* Accessor property returning the number of elements .
*
* @ return { number } Number of elements .
* /
2018-12-13 23:41:57 -05:00
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
_createClass ( EquivalentKeyMap , [ {
key : "set" ,
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/ * *
* 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 ) ;
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
return this ;
} // Sort keys to ensure stable assignment into tree.
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
var properties = Object . keys ( key ) . sort ( ) ;
var valuePair = [ key , value ] ; // Tree by type to avoid conflicts on numeric object keys, empty value.
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
var map = Array . isArray ( key ) ? this . _arrayTreeMap : this . _objectTreeMap ;
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
for ( var i = 0 ; i < properties . length ; i ++ ) {
var property = properties [ i ] ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
if ( ! map . has ( property ) ) {
map . set ( property , new EquivalentKeyMap ( ) ) ;
}
2020-01-08 06:57:23 -05:00
2021-02-02 00:17:13 -05:00
map = map . get ( property ) ;
var propertyValue = key [ property ] ;
2020-01-08 06:57:23 -05:00
2021-02-02 00:17:13 -05:00
if ( ! map . has ( propertyValue ) ) {
map . set ( propertyValue , new EquivalentKeyMap ( ) ) ;
}
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
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.
2020-03-23 19:40:19 -04:00
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
var previousValuePair = map . get ( '_ekm_value' ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
if ( previousValuePair ) {
this . _map . delete ( previousValuePair [ 0 ] ) ;
}
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
map . set ( '_ekm_value' , valuePair ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
this . _map . set ( key , valuePair ) ;
return this ;
2020-06-26 09:33:47 -04:00
}
2021-02-02 00:17:13 -05:00
/ * *
* 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 .
* /
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
} , {
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 ) ;
}
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
var valuePair = getValuePair ( this , key ) ;
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
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 .
* /
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
} , {
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.
2020-03-23 19:40:19 -04:00
2021-02-02 00:17:13 -05:00
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 ;
2020-03-23 19:40:19 -04:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
/***/ 11 :
2021-01-27 21:04:13 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
"use strict" ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return /* binding */ _slicedToArray ; } ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
var arrayWithHoles = _ _webpack _require _ _ ( 38 ) ;
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
function _iterableToArrayLimit ( arr , i ) {
if ( typeof Symbol === "undefined" || ! ( Symbol . iterator in Object ( arr ) ) ) return ;
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 ;
}
2021-01-27 21:04:13 -05:00
}
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
return _arr ;
2021-01-27 21:04:13 -05:00
}
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
var unsupportedIterableToArray = _ _webpack _require _ _ ( 31 ) ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
var nonIterableRest = _ _webpack _require _ _ ( 39 ) ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
2020-01-22 17:06:21 -05:00
2021-02-02 00:17:13 -05:00
function _slicedToArray ( arr , i ) {
return Object ( arrayWithHoles [ "a" /* default */ ] ) ( arr ) || _iterableToArrayLimit ( arr , i ) || Object ( unsupportedIterableToArray [ "a" /* default */ ] ) ( arr , i ) || Object ( nonIterableRest [ "a" /* default */ ] ) ( ) ;
}
2020-01-22 17:06:21 -05:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
2020-01-22 17:06:21 -05:00
2021-02-02 00:17:13 -05:00
/***/ 147 :
2021-01-27 21:04:13 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2020-01-22 17:06:21 -05:00
2021-01-27 21:04:13 -05:00
"use strict" ;
2021-02-02 00:17:13 -05:00
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _toArray ; } ) ;
/* harmony import */ var _babel _runtime _helpers _esm _arrayWithHoles _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 38 ) ;
/* harmony import */ var _babel _runtime _helpers _esm _iterableToArray _ _WEBPACK _IMPORTED _MODULE _1 _ _ = _ _webpack _require _ _ ( 37 ) ;
/* harmony import */ var _babel _runtime _helpers _esm _unsupportedIterableToArray _ _WEBPACK _IMPORTED _MODULE _2 _ _ = _ _webpack _require _ _ ( 31 ) ;
/* harmony import */ var _babel _runtime _helpers _esm _nonIterableRest _ _WEBPACK _IMPORTED _MODULE _3 _ _ = _ _webpack _require _ _ ( 39 ) ;
2020-06-26 09:33:47 -04:00
2020-10-13 09:10:30 -04:00
2021-02-02 00:17:13 -05:00
function _toArray ( arr ) {
return Object ( _babel _runtime _helpers _esm _arrayWithHoles _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( arr ) || Object ( _babel _runtime _helpers _esm _iterableToArray _ _WEBPACK _IMPORTED _MODULE _1 _ _ [ /* default */ "a" ] ) ( arr ) || Object ( _babel _runtime _helpers _esm _unsupportedIterableToArray _ _WEBPACK _IMPORTED _MODULE _2 _ _ [ /* default */ "a" ] ) ( arr ) || Object ( _babel _runtime _helpers _esm _nonIterableRest _ _WEBPACK _IMPORTED _MODULE _3 _ _ [ /* default */ "a" ] ) ( ) ;
}
2020-10-13 09:10:30 -04:00
/***/ } ) ,
2021-02-02 00:17:13 -05:00
/***/ 15 :
2020-06-26 09:33:47 -04:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2021-02-02 00:17:13 -05:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return /* binding */ _toConsumableArray ; } ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
var arrayLikeToArray = _ _webpack _require _ _ ( 24 ) ;
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
function _arrayWithoutHoles ( arr ) {
if ( Array . isArray ( arr ) ) return Object ( arrayLikeToArray [ "a" /* default */ ] ) ( arr ) ;
2020-06-26 09:33:47 -04:00
}
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
var iterableToArray = _ _webpack _require _ _ ( 37 ) ;
2020-06-26 09:33:47 -04:00
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
var unsupportedIterableToArray = _ _webpack _require _ _ ( 31 ) ;
2020-06-26 09:33:47 -04:00
2021-02-02 00:17:13 -05:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
function _nonIterableSpread ( ) {
throw new TypeError ( "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
2020-06-26 09:33:47 -04:00
2021-02-02 00:17:13 -05:00
function _toConsumableArray ( arr ) {
return _arrayWithoutHoles ( arr ) || Object ( iterableToArray [ "a" /* default */ ] ) ( arr ) || Object ( unsupportedIterableToArray [ "a" /* default */ ] ) ( arr ) || _nonIterableSpread ( ) ;
2020-06-26 09:33:47 -04:00
}
/***/ } ) ,
2021-02-02 00:17:13 -05:00
/***/ 16 :
/***/ ( function ( module , exports ) {
2020-06-26 09:33:47 -04:00
2021-02-02 00:17:13 -05:00
( function ( ) { module . exports = window [ "regeneratorRuntime" ] ; } ( ) ) ;
2020-06-26 09:33:47 -04:00
/***/ } ) ,
2021-02-02 00:17:13 -05:00
/***/ 2 :
2020-12-01 07:19:43 -05:00
/***/ ( function ( module , exports ) {
2021-02-02 00:17:13 -05:00
( function ( ) { module . exports = window [ "lodash" ] ; } ( ) ) ;
2020-12-01 07:19:43 -05:00
/***/ } ) ,
2021-02-02 00:17:13 -05:00
/***/ 204 :
2020-06-26 09:33:47 -04:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2021-02-02 00:17:13 -05:00
// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/rng.js
// Unique ID creation requires a high quality random # generator. In the browser we therefore
// require the crypto API and do not support built-in fallback to lower quality random number
// generators (like Math.random()).
var getRandomValues ;
var rnds8 = new Uint8Array ( 16 ) ;
function rng ( ) {
// lazy load so that environments that need to polyfill have a chance to do so
if ( ! getRandomValues ) {
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
// find the complete implementation of crypto (msCrypto) on IE11.
getRandomValues = typeof crypto !== 'undefined' && crypto . getRandomValues && crypto . getRandomValues . bind ( crypto ) || typeof msCrypto !== 'undefined' && typeof msCrypto . getRandomValues === 'function' && msCrypto . getRandomValues . bind ( msCrypto ) ;
if ( ! getRandomValues ) {
throw new Error ( 'crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported' ) ;
}
}
return getRandomValues ( rnds8 ) ;
}
// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/regex.js
/* harmony default export */ var regex = ( /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i ) ;
// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/validate.js
function validate ( uuid ) {
return typeof uuid === 'string' && regex . test ( uuid ) ;
}
/* harmony default export */ var esm _browser _validate = ( validate ) ;
// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/stringify.js
/ * *
* Convert array of 16 byte values to UUID string format of the form :
* XXXXXXXX - XXXX - XXXX - XXXX - XXXXXXXXXXXX
* /
var byteToHex = [ ] ;
for ( var stringify _i = 0 ; stringify _i < 256 ; ++ stringify _i ) {
byteToHex . push ( ( stringify _i + 0x100 ) . toString ( 16 ) . substr ( 1 ) ) ;
}
function stringify ( arr ) {
var offset = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : 0 ;
// Note: Be careful editing this code! It's been tuned for performance
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
var uuid = ( byteToHex [ arr [ offset + 0 ] ] + byteToHex [ arr [ offset + 1 ] ] + byteToHex [ arr [ offset + 2 ] ] + byteToHex [ arr [ offset + 3 ] ] + '-' + byteToHex [ arr [ offset + 4 ] ] + byteToHex [ arr [ offset + 5 ] ] + '-' + byteToHex [ arr [ offset + 6 ] ] + byteToHex [ arr [ offset + 7 ] ] + '-' + byteToHex [ arr [ offset + 8 ] ] + byteToHex [ arr [ offset + 9 ] ] + '-' + byteToHex [ arr [ offset + 10 ] ] + byteToHex [ arr [ offset + 11 ] ] + byteToHex [ arr [ offset + 12 ] ] + byteToHex [ arr [ offset + 13 ] ] + byteToHex [ arr [ offset + 14 ] ] + byteToHex [ arr [ offset + 15 ] ] ) . toLowerCase ( ) ; // Consistency check for valid UUID. If this throws, it's likely due to one
// of the following:
// - One or more input array values don't map to a hex octet (leading to
// "undefined" in the uuid)
// - Invalid input values for the RFC `version` or `variant` fields
if ( ! esm _browser _validate ( uuid ) ) {
throw TypeError ( 'Stringified UUID is invalid' ) ;
}
return uuid ;
}
/* harmony default export */ var esm _browser _stringify = ( stringify ) ;
// CONCATENATED MODULE: ./node_modules/uuid/dist/esm-browser/v4.js
function v4 ( options , buf , offset ) {
options = options || { } ;
var rnds = options . random || ( options . rng || rng ) ( ) ; // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
rnds [ 6 ] = rnds [ 6 ] & 0x0f | 0x40 ;
rnds [ 8 ] = rnds [ 8 ] & 0x3f | 0x80 ; // Copy bytes to buffer, if provided
if ( buf ) {
offset = offset || 0 ;
for ( var i = 0 ; i < 16 ; ++ i ) {
buf [ offset + i ] = rnds [ i ] ;
}
return buf ;
}
return esm _browser _stringify ( rnds ) ;
}
/* harmony default export */ var esm _browser _v4 = _ _webpack _exports _ _ [ "a" ] = ( v4 ) ;
/***/ } ) ,
/***/ 24 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _arrayLikeToArray ; } ) ;
function _arrayLikeToArray ( arr , len ) {
if ( len == null || len > arr . length ) len = arr . length ;
for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) {
arr2 [ i ] = arr [ i ] ;
}
return arr2 ;
}
/***/ } ) ,
/***/ 25 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _classCallCheck ; } ) ;
function _classCallCheck ( instance , Constructor ) {
if ( ! ( instance instanceof Constructor ) ) {
throw new TypeError ( "Cannot call a class as a function" ) ;
}
}
/***/ } ) ,
/***/ 26 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , 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 ;
}
/***/ } ) ,
/***/ 31 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _unsupportedIterableToArray ; } ) ;
/* harmony import */ var _babel _runtime _helpers _esm _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 24 ) ;
function _unsupportedIterableToArray ( o , minLen ) {
if ( ! o ) return ;
if ( typeof o === "string" ) return Object ( _babel _runtime _helpers _esm _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( o , minLen ) ;
var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ;
if ( n === "Object" && o . constructor ) n = o . constructor . name ;
if ( n === "Map" || n === "Set" ) return Array . from ( o ) ;
if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return Object ( _babel _runtime _helpers _esm _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( o , minLen ) ;
}
/***/ } ) ,
/***/ 32 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "url" ] ; } ( ) ) ;
/***/ } ) ,
/***/ 35 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "deprecated" ] ; } ( ) ) ;
/***/ } ) ,
/***/ 37 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _iterableToArray ; } ) ;
function _iterableToArray ( iter ) {
if ( typeof Symbol !== "undefined" && Symbol . iterator in Object ( iter ) ) return Array . from ( iter ) ;
}
/***/ } ) ,
/***/ 38 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _arrayWithHoles ; } ) ;
function _arrayWithHoles ( arr ) {
if ( Array . isArray ( arr ) ) return arr ;
}
/***/ } ) ,
/***/ 39 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _nonIterableRest ; } ) ;
function _nonIterableRest ( ) {
throw new TypeError ( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
/***/ } ) ,
/***/ 4 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = window [ "wp" ] [ "data" ] ; } ( ) ) ;
/***/ } ) ,
/***/ 41 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
var LEAF _KEY , hasWeakMap ;
/ * *
* Arbitrary value used as key for referencing cache object in WeakMap tree .
*
2021-01-27 21:04:13 -05:00
* @ type { Object }
* /
LEAF _KEY = { } ;
2020-06-26 09:33:47 -04:00
2021-01-27 21:04:13 -05:00
/ * *
* Whether environment supports WeakMap .
*
* @ type { boolean }
* /
hasWeakMap = typeof WeakMap !== 'undefined' ;
2020-01-22 17:06:21 -05:00
/ * *
* Returns the first argument as the sole entry in an array .
*
* @ param { * } value Value to return .
*
* @ return { Array } Value returned as entry in array .
* /
function arrayOf ( value ) {
return [ value ] ;
}
/ * *
* Returns true if the value passed is object - like , or false otherwise . A value
* is object - like if it can support property assignment , e . g . object or array .
*
* @ param { * } value Value to test .
*
* @ return { boolean } Whether value is object - like .
* /
function isObjectLike ( value ) {
return ! ! value && 'object' === typeof value ;
}
/ * *
* Creates and returns a new cache object .
*
* @ return { Object } Cache object .
* /
function createCache ( ) {
var cache = {
clear : function ( ) {
cache . head = null ;
} ,
} ;
return cache ;
}
/ * *
* Returns true if entries within the two arrays are strictly equal by
* reference from a starting index .
*
* @ param { Array } a First array .
* @ param { Array } b Second array .
* @ param { number } fromIndex Index from which to start comparison .
*
* @ return { boolean } Whether arrays are shallowly equal .
* /
function isShallowEqual ( a , b , fromIndex ) {
var i ;
if ( a . length !== b . length ) {
return false ;
}
for ( i = fromIndex ; i < a . length ; i ++ ) {
if ( a [ i ] !== b [ i ] ) {
return false ;
}
}
return true ;
}
/ * *
* Returns a memoized selector function . The getDependants function argument is
* called before the memoized selector and is expected to return an immutable
* reference or array of references on which the selector depends for computing
* its own return value . The memoize cache is preserved only as long as those
* dependant references remain the same . If getDependants returns a different
* reference ( s ) , the cache is cleared and the selector value regenerated .
*
* @ param { Function } selector Selector function .
* @ param { Function } getDependants Dependant getter returning an immutable
* reference or array of reference used in
* cache bust consideration .
*
* @ return { Function } Memoized selector .
* /
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( function ( selector , getDependants ) {
var rootCache , getCache ;
// Use object source as dependant if getter not provided
if ( ! getDependants ) {
getDependants = arrayOf ;
}
/ * *
* Returns the root cache . If WeakMap is supported , this is assigned to the
* root WeakMap cache set , otherwise it is a shared instance of the default
* cache object .
*
* @ return { ( WeakMap | Object ) } Root cache object .
* /
function getRootCache ( ) {
return rootCache ;
}
/ * *
* Returns the cache for a given dependants array . When possible , a WeakMap
* will be used to create a unique cache for each set of dependants . This
* is feasible due to the nature of WeakMap in allowing garbage collection
* to occur on entries where the key object is no longer referenced . Since
* WeakMap requires the key to be an object , this is only possible when the
* dependant is object - like . The root cache is created as a hierarchy where
* each top - level key is the first entry in a dependants set , the value a
* WeakMap where each key is the next dependant , and so on . This continues
* so long as the dependants are object - like . If no dependants are object -
* like , then the cache is shared across all invocations .
*
* @ see isObjectLike
*
* @ param { Array } dependants Selector dependants .
*
* @ return { Object } Cache object .
* /
function getWeakMapCache ( dependants ) {
var caches = rootCache ,
isUniqueByDependants = true ,
i , dependant , map , cache ;
for ( i = 0 ; i < dependants . length ; i ++ ) {
dependant = dependants [ i ] ;
// Can only compose WeakMap from object-like key.
if ( ! isObjectLike ( dependant ) ) {
isUniqueByDependants = false ;
break ;
}
// Does current segment of cache already have a WeakMap?
if ( caches . has ( dependant ) ) {
// Traverse into nested WeakMap.
caches = caches . get ( dependant ) ;
} else {
// Create, set, and traverse into a new one.
map = new WeakMap ( ) ;
caches . set ( dependant , map ) ;
caches = map ;
}
}
// We use an arbitrary (but consistent) object as key for the last item
// in the WeakMap to serve as our running cache.
if ( ! caches . has ( LEAF _KEY ) ) {
cache = createCache ( ) ;
cache . isUniqueByDependants = isUniqueByDependants ;
caches . set ( LEAF _KEY , cache ) ;
}
return caches . get ( LEAF _KEY ) ;
}
// Assign cache handler by availability of WeakMap
getCache = hasWeakMap ? getWeakMapCache : getRootCache ;
/ * *
* Resets root memoization cache .
* /
function clear ( ) {
rootCache = hasWeakMap ? new WeakMap ( ) : createCache ( ) ;
}
// eslint-disable-next-line jsdoc/check-param-names
/ * *
* The augmented selector call , considering first whether dependants have
* changed before passing it to underlying memoize function .
*
* @ param { Object } source Source object for derivation .
* @ param { ... * } extraArgs Additional arguments to pass to selector .
*
* @ return { * } Selector result .
* /
function callSelector ( /* source, ...extraArgs */ ) {
var len = arguments . length ,
cache , node , i , args , dependants ;
// Create copy of arguments (avoid leaking deoptimization).
args = new Array ( len ) ;
for ( i = 0 ; i < len ; i ++ ) {
args [ i ] = arguments [ i ] ;
}
dependants = getDependants . apply ( null , args ) ;
cache = getCache ( dependants ) ;
// If not guaranteed uniqueness by dependants (primitive type or lack
// of WeakMap support), shallow compare against last dependants and, if
// references have changed, destroy cache to recalculate result.
if ( ! cache . isUniqueByDependants ) {
if ( cache . lastDependants && ! isShallowEqual ( dependants , cache . lastDependants , 0 ) ) {
cache . clear ( ) ;
}
cache . lastDependants = dependants ;
}
node = cache . head ;
while ( node ) {
// Check whether node arguments match arguments
if ( ! isShallowEqual ( node . args , args , 1 ) ) {
node = node . next ;
continue ;
}
// At this point we can assume we've found a match
// Surface matched node to head if not already
if ( node !== cache . head ) {
// Adjust siblings to point to each other.
node . prev . next = node . next ;
if ( node . next ) {
node . next . prev = node . prev ;
}
node . next = cache . head ;
node . prev = null ;
cache . head . prev = node ;
cache . head = node ;
}
// Return immediately
return node . val ;
}
// No cached value found. Continue to insertion phase:
node = {
// Generate the result from original function
val : selector . apply ( null , args ) ,
} ;
// Avoid including the source object in the cache.
args [ 0 ] = null ;
node . args = args ;
// Don't need to check whether node is already head, since it would
// have been returned above already if it was
// Shift existing head down list
if ( cache . head ) {
cache . head . prev = node ;
node . next = cache . head ;
}
cache . head = node ;
return node . val ;
}
callSelector . getDependants = getDependants ;
callSelector . clear = clear ;
clear ( ) ;
return callSelector ;
} ) ;
2020-01-08 06:57:23 -05:00
/***/ } ) ,
2021-02-02 00:17:13 -05:00
/***/ 464 :
2019-10-15 11:37:08 -04:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2019-09-19 11:19:18 -04:00
2019-10-15 11:37:08 -04:00
"use strict" ;
2020-06-29 07:50:29 -04:00
// ESM COMPAT FLAG
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
2020-06-29 07:50:29 -04:00
// EXPORTS
2021-01-27 21:04:13 -05:00
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "store" , function ( ) { return /* binding */ build _module _store ; } ) ;
2020-06-29 07:50:29 -04:00
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "EntityProvider" , function ( ) { return /* reexport */ EntityProvider ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "useEntityId" , function ( ) { return /* reexport */ useEntityId ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "useEntityProp" , function ( ) { return /* reexport */ useEntityProp ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "useEntityBlockEditor" , function ( ) { return /* reexport */ useEntityBlockEditor ; } ) ;
2021-01-27 21:04:13 -05:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/locks/actions.js
var locks _actions _namespaceObject = { } ;
_ _webpack _require _ _ . r ( locks _actions _namespaceObject ) ;
_ _webpack _require _ _ . d ( locks _actions _namespaceObject , "__unstableAcquireStoreLock" , function ( ) { return _ _unstableAcquireStoreLock ; } ) ;
_ _webpack _require _ _ . d ( locks _actions _namespaceObject , "__unstableEnqueueLockRequest" , function ( ) { return _ _unstableEnqueueLockRequest ; } ) ;
_ _webpack _require _ _ . d ( locks _actions _namespaceObject , "__unstableReleaseStoreLock" , function ( ) { return _ _unstableReleaseStoreLock ; } ) ;
_ _webpack _require _ _ . d ( locks _actions _namespaceObject , "__unstableProcessPendingLockRequests" , function ( ) { return _ _unstableProcessPendingLockRequests ; } ) ;
2020-06-29 07:50:29 -04:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/actions.js
2019-10-15 11:37:08 -04:00
var build _module _actions _namespaceObject = { } ;
_ _webpack _require _ _ . r ( build _module _actions _namespaceObject ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveUserQuery" , function ( ) { return receiveUserQuery ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveCurrentUser" , function ( ) { return receiveCurrentUser ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "addEntities" , function ( ) { return addEntities ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveEntityRecords" , function ( ) { return receiveEntityRecords ; } ) ;
2020-06-26 09:33:47 -04:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveCurrentTheme" , function ( ) { return receiveCurrentTheme ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveThemeSupports" , function ( ) { return receiveThemeSupports ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveEmbedPreview" , function ( ) { return receiveEmbedPreview ; } ) ;
2020-10-13 09:10:30 -04:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "deleteEntityRecord" , function ( ) { return deleteEntityRecord ; } ) ;
2020-01-08 06:57:23 -05:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "editEntityRecord" , function ( ) { return actions _editEntityRecord ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "undo" , function ( ) { return undo ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "redo" , function ( ) { return redo ; } ) ;
2021-01-27 21:04:13 -05:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "__unstableCreateUndoLevel" , function ( ) { return actions _unstableCreateUndoLevel ; } ) ;
2020-02-10 17:33:27 -05:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "saveEntityRecord" , function ( ) { return saveEntityRecord ; } ) ;
2021-02-02 00:17:13 -05:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "__experimentalBatch" , function ( ) { return _ _experimentalBatch ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "saveEditedEntityRecord" , function ( ) { return saveEditedEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveUploadPermissions" , function ( ) { return receiveUploadPermissions ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveUserPermission" , function ( ) { return receiveUserPermission ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveAutosaves" , function ( ) { return receiveAutosaves ; } ) ;
2020-06-29 07:50:29 -04:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/selectors.js
2019-10-15 11:37:08 -04:00
var build _module _selectors _namespaceObject = { } ;
_ _webpack _require _ _ . r ( build _module _selectors _namespaceObject ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "isRequestingEmbedPreview" , function ( ) { return isRequestingEmbedPreview ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getAuthors" , function ( ) { return getAuthors ; } ) ;
2020-12-01 07:19:43 -05:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "__unstableGetAuthor" , function ( ) { return _ _unstableGetAuthor ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getCurrentUser" , function ( ) { return getCurrentUser ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getUserQueryResults" , function ( ) { return getUserQueryResults ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntitiesByKind" , function ( ) { return getEntitiesByKind ; } ) ;
2020-01-08 06:57:23 -05:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntity" , function ( ) { return selectors _getEntity ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntityRecord" , function ( ) { return getEntityRecord ; } ) ;
2020-02-10 17:33:27 -05:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "__experimentalGetEntityRecordNoResolver" , function ( ) { return _ _experimentalGetEntityRecordNoResolver ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getRawEntityRecord" , function ( ) { return getRawEntityRecord ; } ) ;
2020-10-13 09:10:30 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "hasEntityRecords" , function ( ) { return hasEntityRecords ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntityRecords" , function ( ) { return getEntityRecords ; } ) ;
2020-06-26 09:33:47 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "__experimentalGetDirtyEntityRecords" , function ( ) { return _ _experimentalGetDirtyEntityRecords ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntityRecordEdits" , function ( ) { return getEntityRecordEdits ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntityRecordNonTransientEdits" , function ( ) { return getEntityRecordNonTransientEdits ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "hasEditsForEntityRecord" , function ( ) { return hasEditsForEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEditedEntityRecord" , function ( ) { return getEditedEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "isAutosavingEntityRecord" , function ( ) { return isAutosavingEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "isSavingEntityRecord" , function ( ) { return isSavingEntityRecord ; } ) ;
2020-10-13 09:10:30 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "isDeletingEntityRecord" , function ( ) { return isDeletingEntityRecord ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getLastEntitySaveError" , function ( ) { return getLastEntitySaveError ; } ) ;
2020-10-13 09:10:30 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getLastEntityDeleteError" , function ( ) { return getLastEntityDeleteError ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getUndoEdit" , function ( ) { return getUndoEdit ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getRedoEdit" , function ( ) { return getRedoEdit ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "hasUndo" , function ( ) { return hasUndo ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "hasRedo" , function ( ) { return hasRedo ; } ) ;
2020-06-26 09:33:47 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getCurrentTheme" , function ( ) { return getCurrentTheme ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getThemeSupports" , function ( ) { return getThemeSupports ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEmbedPreview" , function ( ) { return getEmbedPreview ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "isPreviewEmbedFallback" , function ( ) { return isPreviewEmbedFallback ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "hasUploadPermissions" , function ( ) { return hasUploadPermissions ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "canUser" , function ( ) { return canUser ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getAutosaves" , function ( ) { return getAutosaves ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getAutosave" , function ( ) { return getAutosave ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "hasFetchedAutosaves" , function ( ) { return hasFetchedAutosaves ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getReferenceByDistinctEdits" , function ( ) { return getReferenceByDistinctEdits ; } ) ;
2021-01-27 21:04:13 -05:00
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "__experimentalGetTemplateForLink" , function ( ) { return _ _experimentalGetTemplateForLink ; } ) ;
2020-06-29 07:50:29 -04:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/resolvers.js
2019-10-15 11:37:08 -04:00
var resolvers _namespaceObject = { } ;
_ _webpack _require _ _ . r ( resolvers _namespaceObject ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getAuthors" , function ( ) { return resolvers _getAuthors ; } ) ;
2020-12-01 07:19:43 -05:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "__unstableGetAuthor" , function ( ) { return resolvers _unstableGetAuthor ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getCurrentUser" , function ( ) { return resolvers _getCurrentUser ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getEntityRecord" , function ( ) { return resolvers _getEntityRecord ; } ) ;
2020-06-26 09:33:47 -04:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getRawEntityRecord" , function ( ) { return resolvers _getRawEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getEditedEntityRecord" , function ( ) { return resolvers _getEditedEntityRecord ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getEntityRecords" , function ( ) { return resolvers _getEntityRecords ; } ) ;
2020-06-26 09:33:47 -04:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getCurrentTheme" , function ( ) { return resolvers _getCurrentTheme ; } ) ;
2019-10-15 11:37:08 -04:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getThemeSupports" , function ( ) { return resolvers _getThemeSupports ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getEmbedPreview" , function ( ) { return resolvers _getEmbedPreview ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "hasUploadPermissions" , function ( ) { return resolvers _hasUploadPermissions ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "canUser" , function ( ) { return resolvers _canUser ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getAutosaves" , function ( ) { return resolvers _getAutosaves ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getAutosave" , function ( ) { return resolvers _getAutosave ; } ) ;
2021-01-27 21:04:13 -05:00
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "__experimentalGetTemplateForLink" , function ( ) { return resolvers _experimentalGetTemplateForLink ; } ) ;
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/locks/selectors.js
var locks _selectors _namespaceObject = { } ;
_ _webpack _require _ _ . r ( locks _selectors _namespaceObject ) ;
_ _webpack _require _ _ . d ( locks _selectors _namespaceObject , "__unstableGetPendingLockRequests" , function ( ) { return _ _unstableGetPendingLockRequests ; } ) ;
_ _webpack _require _ _ . d ( locks _selectors _namespaceObject , "__unstableIsLockAvailable" , function ( ) { return _ _unstableIsLockAvailable ; } ) ;
2019-09-19 11:19:18 -04:00
2020-02-06 16:03:31 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = _ _webpack _require _ _ ( 5 ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external ["wp","data"]
var external _wp _data _ = _ _webpack _require _ _ ( 4 ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external ["wp","dataControls"]
2021-02-02 00:17:13 -05:00
var external _wp _dataControls _ = _ _webpack _require _ _ ( 49 ) ;
2020-10-13 09:10:30 -04:00
2019-10-15 11:37:08 -04:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
2021-01-27 21:04:13 -05:00
var slicedToArray = _ _webpack _require _ _ ( 11 ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
2021-01-27 21:04:13 -05:00
var toConsumableArray = _ _webpack _require _ _ ( 15 ) ;
2018-12-14 06:02:53 -05:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external "lodash"
var external _lodash _ = _ _webpack _require _ _ ( 2 ) ;
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external ["wp","isShallowEqual"]
2021-02-02 00:17:13 -05:00
var external _wp _isShallowEqual _ = _ _webpack _require _ _ ( 63 ) ;
2021-01-27 21:04:13 -05:00
var external _wp _isShallowEqual _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _wp _isShallowEqual _ ) ;
2018-12-13 23:41:57 -05:00
2020-06-26 09:33:47 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/if-matching-action.js
/ * *
* A higher - order reducer creator which invokes the original reducer only if
* the dispatching action matches the given predicate , * * OR * * if state is
* initializing ( undefined ) .
*
* @ param { Function } isMatch Function predicate for allowing reducer call .
*
* @ return { Function } Higher - order reducer .
* /
var ifMatchingAction = function ifMatchingAction ( isMatch ) {
return function ( reducer ) {
return function ( state , action ) {
if ( state === undefined || isMatch ( action ) ) {
return reducer ( state , action ) ;
}
return state ;
} ;
} ;
} ;
/* harmony default export */ var if _matching _action = ( ifMatchingAction ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/replace-action.js
/ * *
* Higher - order reducer creator which substitutes the action object before
* passing to the original reducer .
*
* @ param { Function } replacer Function mapping original action to replacement .
*
* @ return { Function } Higher - order reducer .
* /
var replaceAction = function replaceAction ( replacer ) {
return function ( reducer ) {
return function ( state , action ) {
return reducer ( state , replacer ( action ) ) ;
} ;
} ;
} ;
/* harmony default export */ var replace _action = ( replaceAction ) ;
2019-10-15 11:37:08 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/conservative-map-item.js
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* External dependencies
2018-12-13 23:41:57 -05:00
* /
2018-12-14 06:02:53 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Given the current and next item entity , returns the minimally "modified"
* result of the next item , preferring value references from the original item
* if equal . If all values match , the original item is returned .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } item Original item .
* @ param { Object } nextItem Next item .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ return { Object } Minimally modified merged item .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function conservativeMapItem ( item , nextItem ) {
// Return next item in its entirety if there is no original item.
if ( ! item ) {
return nextItem ;
}
var hasChanges = false ;
var result = { } ;
for ( var key in nextItem ) {
2021-01-27 21:04:13 -05:00
if ( Object ( external _lodash _ [ "isEqual" ] ) ( item [ key ] , nextItem [ key ] ) ) {
2019-10-15 11:37:08 -04:00
result [ key ] = item [ key ] ;
} else {
hasChanges = true ;
result [ key ] = nextItem [ key ] ;
}
}
if ( ! hasChanges ) {
return item ;
2020-10-13 09:10:30 -04:00
} // Only at this point, backfill properties from the original item which
// weren't explicitly set into the result above. This is an optimization
// to allow `hasChanges` to return early.
for ( var _key in item ) {
if ( ! result . hasOwnProperty ( _key ) ) {
result [ _key ] = item [ _key ] ;
}
2019-10-15 11:37:08 -04:00
}
return result ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
2019-10-15 11:37:08 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/on-sub-key.js
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
2020-02-06 16:03:31 -05:00
function ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
2018-12-17 22:14:52 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Higher - order reducer creator which creates a combined reducer object , keyed
* by a property on the action object .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { string } actionProperty Action property by which to key object .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ return { Function } Higher - order reducer .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
var on _sub _key _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 ] ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
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.
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
var nextKeyState = reducer ( state [ key ] , action ) ;
if ( nextKeyState === state [ key ] ) {
return state ;
}
2020-10-13 09:10:30 -04:00
return _objectSpread ( _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , key , nextKeyState ) ) ;
2019-10-15 11:37:08 -04:00
} ;
} ;
} ;
2020-06-26 09:33:47 -04:00
/* harmony default export */ var on _sub _key = ( on _sub _key _onSubKey ) ;
2018-12-17 22:14:52 -05:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external "regeneratorRuntime"
2021-02-02 00:17:13 -05:00
var external _regeneratorRuntime _ = _ _webpack _require _ _ ( 16 ) ;
2021-01-27 21:04:13 -05:00
var external _regeneratorRuntime _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _regeneratorRuntime _ ) ;
2018-12-17 22:14:52 -05:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external ["wp","i18n"]
var external _wp _i18n _ = _ _webpack _require _ _ ( 1 ) ;
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toArray.js
var toArray = _ _webpack _require _ _ ( 147 ) ;
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: ./node_modules/uuid/dist/esm-browser/v4.js + 4 modules
2021-02-02 00:17:13 -05:00
var v4 = _ _webpack _require _ _ ( 204 ) ;
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external ["wp","url"]
2021-02-02 00:17:13 -05:00
var external _wp _url _ = _ _webpack _require _ _ ( 32 ) ;
2020-10-13 09:10:30 -04:00
2020-06-26 09:33:47 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/queried-data/actions.js
2018-12-17 22:14:52 -05:00
2020-06-26 09:33:47 -04:00
function actions _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
2018-12-17 22:14:52 -05:00
2020-06-26 09:33:47 -04:00
function actions _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { actions _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { actions _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
2019-09-19 11:19:18 -04:00
/ * *
2020-06-26 09:33:47 -04:00
* External dependencies
2019-09-19 11:19:18 -04:00
* /
/ * *
2020-06-26 09:33:47 -04:00
* Returns an action object used in signalling that items have been received .
2019-09-19 11:19:18 -04:00
*
2021-01-27 21:04:13 -05:00
* @ param { Array } items Items received .
* @ param { ? Object } edits Optional edits to reset .
2019-09-19 11:19:18 -04:00
*
2020-06-26 09:33:47 -04:00
* @ return { Object } Action object .
2019-09-19 11:19:18 -04:00
* /
2021-01-27 21:04:13 -05:00
function receiveItems ( items , edits ) {
2020-06-26 09:33:47 -04:00
return {
type : 'RECEIVE_ITEMS' ,
2021-01-27 21:04:13 -05:00
items : Object ( external _lodash _ [ "castArray" ] ) ( items ) ,
persistedEdits : edits
2020-06-26 09:33:47 -04:00
} ;
2019-09-19 11:19:18 -04:00
}
2020-10-13 09:10:30 -04:00
/ * *
* Returns an action object used in signalling that entity records have been
* deleted and they need to be removed from entities state .
*
* @ param { string } kind Kind of the removed entities .
* @ param { string } name Name of the removed entities .
* @ param { Array | number } records Record IDs of the removed entities .
* @ param { boolean } invalidateCache Controls whether we want to invalidate the cache .
* @ return { Object } Action object .
* /
function removeItems ( kind , name , records ) {
var invalidateCache = arguments . length > 3 && arguments [ 3 ] !== undefined ? arguments [ 3 ] : false ;
return {
type : 'REMOVE_ITEMS' ,
2021-01-27 21:04:13 -05:00
itemIds : Object ( external _lodash _ [ "castArray" ] ) ( records ) ,
2020-10-13 09:10:30 -04:00
kind : kind ,
name : name ,
invalidateCache : invalidateCache
} ;
}
2018-12-13 23:41:57 -05:00
/ * *
2020-06-26 09:33:47 -04:00
* Returns an action object used in signalling that queried data has been
* received .
2018-12-17 22:14:52 -05:00
*
2020-06-26 09:33:47 -04:00
* @ param { Array } items Queried items received .
* @ param { ? Object } query Optional query object .
2021-01-27 21:04:13 -05:00
* @ param { ? Object } edits Optional edits to reset .
2019-10-15 11:37:08 -04:00
*
2020-06-26 09:33:47 -04:00
* @ return { Object } Action object .
2018-12-13 23:41:57 -05:00
* /
2020-06-26 09:33:47 -04:00
function receiveQueriedItems ( items ) {
2019-10-15 11:37:08 -04:00
var query = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : { } ;
2021-01-27 21:04:13 -05:00
var edits = arguments . length > 2 ? arguments [ 2 ] : undefined ;
return actions _objectSpread ( actions _objectSpread ( { } , receiveItems ( items , edits ) ) , { } , {
2020-06-26 09:33:47 -04:00
query : query
} ) ;
}
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/locks/actions.js
function _createForOfIteratorHelper ( o , allowArrayLike ) { var it ; if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) { if ( Array . isArray ( o ) || ( it = _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = o [ Symbol . iterator ] ( ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it . return != null ) it . return ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
function _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return _arrayLikeToArray ( o , minLen ) ; }
function _arrayLikeToArray ( arr , len ) { if ( len == null || len > arr . length ) len = arr . length ; for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; }
var _marked = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( _ _unstableAcquireStoreLock ) ,
_marked2 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( _ _unstableEnqueueLockRequest ) ,
_marked3 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( _ _unstableReleaseStoreLock ) ,
_marked4 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( _ _unstableProcessPendingLockRequests ) ;
/ * *
* WordPress dependencies
* /
function _ _unstableAcquireStoreLock ( store , path , _ref ) {
var exclusive , promise ;
return external _regeneratorRuntime _default . a . wrap ( function _ _unstableAcquireStoreLock$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
exclusive = _ref . exclusive ;
return _context . delegateYield ( _ _unstableEnqueueLockRequest ( store , path , {
exclusive : exclusive
} ) , "t0" , 2 ) ;
case 2 :
promise = _context . t0 ;
return _context . delegateYield ( _ _unstableProcessPendingLockRequests ( ) , "t1" , 4 ) ;
case 4 :
_context . next = 6 ;
return Object ( external _wp _dataControls _ [ "__unstableAwaitPromise" ] ) ( promise ) ;
case 6 :
return _context . abrupt ( "return" , _context . sent ) ;
case 7 :
case "end" :
return _context . stop ( ) ;
}
}
} , _marked ) ;
}
function _ _unstableEnqueueLockRequest ( store , path , _ref2 ) {
var exclusive , notifyAcquired , promise ;
return external _regeneratorRuntime _default . a . wrap ( function _ _unstableEnqueueLockRequest$ ( _context2 ) {
while ( 1 ) {
switch ( _context2 . prev = _context2 . next ) {
case 0 :
exclusive = _ref2 . exclusive ;
promise = new Promise ( function ( resolve ) {
notifyAcquired = resolve ;
} ) ;
_context2 . next = 4 ;
return {
type : 'ENQUEUE_LOCK_REQUEST' ,
request : {
store : store ,
path : path ,
exclusive : exclusive ,
notifyAcquired : notifyAcquired
}
} ;
case 4 :
return _context2 . abrupt ( "return" , promise ) ;
case 5 :
case "end" :
return _context2 . stop ( ) ;
}
}
} , _marked2 ) ;
}
function _ _unstableReleaseStoreLock ( lock ) {
return external _regeneratorRuntime _default . a . wrap ( function _ _unstableReleaseStoreLock$ ( _context3 ) {
while ( 1 ) {
switch ( _context3 . prev = _context3 . next ) {
case 0 :
_context3 . next = 2 ;
return {
type : 'RELEASE_LOCK' ,
lock : lock
} ;
case 2 :
return _context3 . delegateYield ( _ _unstableProcessPendingLockRequests ( ) , "t0" , 3 ) ;
case 3 :
case "end" :
return _context3 . stop ( ) ;
}
}
} , _marked3 ) ;
}
function _ _unstableProcessPendingLockRequests ( ) {
var lockRequests , _iterator , _step , request , store , path , exclusive , notifyAcquired , isAvailable , lock ;
return external _regeneratorRuntime _default . a . wrap ( function _ _unstableProcessPendingLockRequests$ ( _context4 ) {
while ( 1 ) {
switch ( _context4 . prev = _context4 . next ) {
case 0 :
_context4 . next = 2 ;
return {
type : 'PROCESS_PENDING_LOCK_REQUESTS'
} ;
case 2 :
_context4 . next = 4 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , '__unstableGetPendingLockRequests' ) ;
case 4 :
lockRequests = _context4 . sent ;
_iterator = _createForOfIteratorHelper ( lockRequests ) ;
_context4 . prev = 6 ;
_iterator . s ( ) ;
case 8 :
if ( ( _step = _iterator . n ( ) ) . done ) {
_context4 . next = 21 ;
break ;
}
request = _step . value ;
store = request . store , path = request . path , exclusive = request . exclusive , notifyAcquired = request . notifyAcquired ;
_context4 . next = 13 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , '__unstableIsLockAvailable' , store , path , {
exclusive : exclusive
} ) ;
case 13 :
isAvailable = _context4 . sent ;
if ( ! isAvailable ) {
_context4 . next = 19 ;
break ;
}
lock = {
store : store ,
path : path ,
exclusive : exclusive
} ;
_context4 . next = 18 ;
return {
type : 'GRANT_LOCK_REQUEST' ,
lock : lock ,
request : request
} ;
case 18 :
notifyAcquired ( lock ) ;
case 19 :
_context4 . next = 8 ;
break ;
case 21 :
_context4 . next = 26 ;
break ;
case 23 :
_context4 . prev = 23 ;
_context4 . t0 = _context4 [ "catch" ] ( 6 ) ;
_iterator . e ( _context4 . t0 ) ;
case 26 :
_context4 . prev = 26 ;
_iterator . f ( ) ;
return _context4 . finish ( 26 ) ;
case 29 :
case "end" :
return _context4 . stop ( ) ;
}
}
} , _marked4 , null , [ [ 6 , 23 , 26 , 29 ] ] ) ;
}
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
var setPrototypeOf = _ _webpack _require _ _ ( 52 ) ;
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
function _isNativeReflectConstruct ( ) {
if ( typeof Reflect === "undefined" || ! Reflect . construct ) return false ;
if ( Reflect . construct . sham ) return false ;
if ( typeof Proxy === "function" ) return true ;
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
try {
Date . prototype . toString . call ( Reflect . construct ( Date , [ ] , function ( ) { } ) ) ;
return true ;
} catch ( e ) {
return false ;
}
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/construct.js
2019-09-19 11:19:18 -04:00
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
function construct _construct ( Parent , args , Class ) {
if ( _isNativeReflectConstruct ( ) ) {
construct _construct = Reflect . construct ;
} else {
construct _construct = function _construct ( Parent , args , Class ) {
var a = [ null ] ;
a . push . apply ( a , args ) ;
var Constructor = Function . bind . apply ( Parent , a ) ;
var instance = new Constructor ( ) ;
if ( Class ) Object ( setPrototypeOf [ "a" /* default */ ] ) ( instance , Class . prototype ) ;
return instance ;
} ;
}
2020-02-06 16:03:31 -05:00
2021-02-02 00:17:13 -05:00
return construct _construct . apply ( null , arguments ) ;
}
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = _ _webpack _require _ _ ( 25 ) ;
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = _ _webpack _require _ _ ( 26 ) ;
2020-02-06 16:03:31 -05:00
2021-02-02 00:17:13 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
var asyncToGenerator = _ _webpack _require _ _ ( 47 ) ;
// EXTERNAL MODULE: external ["wp","apiFetch"]
var external _wp _apiFetch _ = _ _webpack _require _ _ ( 50 ) ;
var external _wp _apiFetch _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _wp _apiFetch _ ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/batch/default-processor.js
2020-02-06 16:03:31 -05:00
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2020-10-13 09:10:30 -04:00
* WordPress dependencies
2019-10-15 11:37:08 -04:00
* /
2020-10-13 09:10:30 -04:00
/ * *
2021-02-02 00:17:13 -05:00
* Default batch processor . Sends its input requests to / v1 / batch .
*
* @ param { Array } requests List of API requests to perform at once .
*
* @ return { Promise } Promise that resolves to a list of objects containing
* either ` output ` ( if that request was succesful ) or ` error `
* ( if not ) .
* /
function defaultProcessor ( _x ) {
return _defaultProcessor . apply ( this , arguments ) ;
}
function _defaultProcessor ( ) {
_defaultProcessor = Object ( asyncToGenerator [ "a" /* default */ ] ) ( /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( function _callee ( requests ) {
var batchResponse ;
return external _regeneratorRuntime _default . a . wrap ( function _callee$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
_context . next = 2 ;
return external _wp _apiFetch _default ( ) ( {
path : '/v1/batch' ,
method : 'POST' ,
data : {
validation : 'require-all-validate' ,
requests : requests . map ( function ( request ) {
return {
path : request . path ,
body : request . data ,
// Rename 'data' to 'body'.
method : request . method ,
headers : request . headers
} ;
} )
}
} ) ;
case 2 :
batchResponse = _context . sent ;
if ( ! batchResponse . failed ) {
_context . next = 5 ;
break ;
}
return _context . abrupt ( "return" , batchResponse . responses . map ( function ( response ) {
return {
error : response === null || response === void 0 ? void 0 : response . body
} ;
} ) ) ;
case 5 :
return _context . abrupt ( "return" , batchResponse . responses . map ( function ( response ) {
var result = { } ;
if ( response . status >= 200 && response . status < 300 ) {
result . output = response . body ;
} else {
result . error = response . body ;
}
return result ;
} ) ) ;
case 6 :
case "end" :
return _context . stop ( ) ;
}
}
} , _callee ) ;
} ) ) ;
return _defaultProcessor . apply ( this , arguments ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/batch/create-batch.js
function create _batch _createForOfIteratorHelper ( o , allowArrayLike ) { var it ; if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) { if ( Array . isArray ( o ) || ( it = create _batch _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = o [ Symbol . iterator ] ( ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it . return != null ) it . return ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
function create _batch _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return create _batch _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return create _batch _arrayLikeToArray ( o , minLen ) ; }
function create _batch _arrayLikeToArray ( arr , len ) { if ( len == null || len > arr . length ) len = arr . length ; for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; }
/ * *
* External dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Creates a batch , which can be used to combine multiple API requests into one
* API request using the WordPress batch processing API ( / v 1 / b a t c h ) .
*
* ` ` `
* const batch = createBatch ( ) ;
* const dunePromise = batch . add ( {
* path : '/v1/books' ,
* method : 'POST' ,
* data : { title : 'Dune' }
* } ) ;
* const lotrPromise = batch . add ( {
* path : '/v1/books' ,
* method : 'POST' ,
* data : { title : 'Lord of the Rings' }
* } ) ;
* const isSuccess = await batch . run ( ) ; // Sends one POST to /v1/batch.
* if ( isSuccess ) {
* console . log (
* 'Saved two books:' ,
* await dunePromise ,
* await lotrPromise
* ) ;
* }
* ` ` `
*
* @ param { Function } [ processor ] Processor function . Can be used to replace the
* default functionality which is to send an API
* request to / v1 / batch . Is given an array of
* inputs and must return a promise that
* resolves to an array of objects containing
* either ` output ` or ` error ` .
* /
function createBatch ( ) {
var processor = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : defaultProcessor ;
var lastId = 0 ;
var queue = [ ] ;
var pending = new create _batch _ObservableSet ( ) ;
return {
/ * *
* Adds an input to the batch and returns a promise that is resolved or
* rejected when the input is processed by ` batch.run() ` .
*
* You may also pass a thunk which allows inputs to be added
* asychronously .
*
* ` ` `
* // Both are allowed:
* batch . add ( { path : '/v1/books' , ... } ) ;
* batch . add ( ( add ) => add ( { path : '/v1/books' , ... } ) ) ;
* ` ` `
*
* If a thunk is passed , ` batch.run() ` will pause until either :
*
* - The thunk calls its ` add ` argument , or ;
* - The thunk returns a promise and that promise resolves , or ;
* - The thunk returns a non - promise .
*
* @ param { any | Function } inputOrThunk Input to add or thunk to execute .
* @ return { Promise | any } If given an input , returns a promise that
* is resolved or rejected when the batch is
* processed . If given a thunk , returns the return
* value of that thunk .
* /
add : function add ( inputOrThunk ) {
var id = ++ lastId ;
pending . add ( id ) ;
var add = function add ( input ) {
return new Promise ( function ( resolve , reject ) {
queue . push ( {
input : input ,
resolve : resolve ,
reject : reject
} ) ;
pending . delete ( id ) ;
} ) ;
} ;
if ( Object ( external _lodash _ [ "isFunction" ] ) ( inputOrThunk ) ) {
return Promise . resolve ( inputOrThunk ( add ) ) . finally ( function ( ) {
pending . delete ( id ) ;
} ) ;
}
return add ( inputOrThunk ) ;
} ,
/ * *
* Runs the batch . This calls ` batchProcessor ` and resolves or rejects
* all promises returned by ` add() ` .
*
* @ return { Promise } A promise that resolves to a boolean that is true
* if the processor returned no errors .
* /
run : function run ( ) {
return Object ( asyncToGenerator [ "a" /* default */ ] ) ( /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( function _callee ( ) {
var results , _iterator , _step , reject , isSuccess , _iterator2 , _step2 , _step2$value , result , _step2$value$ , resolve , _reject , _result$output ;
return external _regeneratorRuntime _default . a . wrap ( function _callee$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
if ( ! pending . size ) {
_context . next = 3 ;
break ;
}
_context . next = 3 ;
return new Promise ( function ( resolve ) {
var unsubscribe = pending . subscribe ( function ( ) {
if ( ! pending . size ) {
unsubscribe ( ) ;
resolve ( ) ;
}
} ) ;
} ) ;
case 3 :
_context . prev = 3 ;
_context . next = 6 ;
return processor ( queue . map ( function ( _ref ) {
var input = _ref . input ;
return input ;
} ) ) ;
case 6 :
results = _context . sent ;
if ( ! ( results . length !== queue . length ) ) {
_context . next = 9 ;
break ;
}
throw new Error ( 'run: Array returned by processor must be same size as input array.' ) ;
case 9 :
_context . next = 16 ;
break ;
case 11 :
_context . prev = 11 ;
_context . t0 = _context [ "catch" ] ( 3 ) ;
_iterator = create _batch _createForOfIteratorHelper ( queue ) ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
reject = _step . value . reject ;
reject ( _context . t0 ) ;
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
throw _context . t0 ;
case 16 :
isSuccess = true ;
_iterator2 = create _batch _createForOfIteratorHelper ( Object ( external _lodash _ [ "zip" ] ) ( results , queue ) ) ;
try {
for ( _iterator2 . s ( ) ; ! ( _step2 = _iterator2 . n ( ) ) . done ; ) {
_step2$value = Object ( slicedToArray [ "a" /* default */ ] ) ( _step2 . value , 2 ) , result = _step2$value [ 0 ] , _step2$value$ = _step2$value [ 1 ] , resolve = _step2$value$ . resolve , _reject = _step2$value$ . reject ;
if ( result !== null && result !== void 0 && result . error ) {
_reject ( result . error ) ;
isSuccess = false ;
} else {
resolve ( ( _result$output = result === null || result === void 0 ? void 0 : result . output ) !== null && _result$output !== void 0 ? _result$output : result ) ;
}
}
} catch ( err ) {
_iterator2 . e ( err ) ;
} finally {
_iterator2 . f ( ) ;
}
queue = [ ] ;
return _context . abrupt ( "return" , isSuccess ) ;
case 21 :
case "end" :
return _context . stop ( ) ;
}
}
} , _callee , null , [ [ 3 , 11 ] ] ) ;
} ) ) ( ) ;
}
} ;
}
var create _batch _ObservableSet = /*#__PURE__*/ function ( ) {
function ObservableSet ( ) {
Object ( classCallCheck [ "a" /* default */ ] ) ( this , ObservableSet ) ;
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
this . set = construct _construct ( Set , args ) ;
this . subscribers = new Set ( ) ;
}
Object ( createClass [ "a" /* default */ ] ) ( ObservableSet , [ {
key : "add" ,
value : function add ( ) {
var _this$set ;
( _this$set = this . set ) . add . apply ( _this$set , arguments ) ;
this . subscribers . forEach ( function ( subscriber ) {
return subscriber ( ) ;
} ) ;
return this ;
}
} , {
key : "delete" ,
value : function _delete ( ) {
var _this$set2 ;
var isSuccess = ( _this$set2 = this . set ) . delete . apply ( _this$set2 , arguments ) ;
this . subscribers . forEach ( function ( subscriber ) {
return subscriber ( ) ;
} ) ;
return isSuccess ;
}
} , {
key : "subscribe" ,
value : function subscribe ( subscriber ) {
var _this = this ;
this . subscribers . add ( subscriber ) ;
return function ( ) {
_this . subscribers . delete ( subscriber ) ;
} ;
}
} , {
key : "size" ,
get : function get ( ) {
return this . set . size ;
}
} ] ) ;
return ObservableSet ;
} ( ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/controls.js
/ * *
* WordPress dependencies
* /
function regularFetch ( url ) {
return {
type : 'REGULAR_FETCH' ,
url : url
} ;
}
function getDispatch ( ) {
return {
type : 'GET_DISPATCH'
} ;
}
var controls = {
REGULAR _FETCH : function REGULAR _FETCH ( _ref ) {
return Object ( asyncToGenerator [ "a" /* default */ ] ) ( /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( function _callee ( ) {
var url , _yield$window$fetch$t , data ;
return external _regeneratorRuntime _default . a . wrap ( function _callee$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
url = _ref . url ;
_context . next = 3 ;
return window . fetch ( url ) . then ( function ( res ) {
return res . json ( ) ;
} ) ;
case 3 :
_yield$window$fetch$t = _context . sent ;
data = _yield$window$fetch$t . data ;
return _context . abrupt ( "return" , data ) ;
case 6 :
case "end" :
return _context . stop ( ) ;
}
}
} , _callee ) ;
} ) ) ( ) ;
} ,
GET _DISPATCH : Object ( external _wp _data _ [ "createRegistryControl" ] ) ( function ( _ref2 ) {
var dispatch = _ref2 . dispatch ;
return function ( ) {
return dispatch ;
} ;
} )
} ;
/* harmony default export */ var build _module _controls = ( controls ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/actions.js
var actions _marked = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( deleteEntityRecord ) ,
actions _marked2 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( actions _editEntityRecord ) ,
actions _marked3 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( undo ) ,
actions _marked4 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( redo ) ,
_marked5 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( saveEntityRecord ) ,
_marked6 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( _ _experimentalBatch ) ,
_marked7 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( saveEditedEntityRecord ) ;
function build _module _actions _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function build _module _actions _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { build _module _actions _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { build _module _actions _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
2020-10-13 09:10:30 -04:00
* /
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
/ * *
* Internal dependencies
* /
2019-10-15 11:37:08 -04:00
/ * *
* Returns an action object used in signalling that authors have been received .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { string } queryID Query ID .
* @ param { Array | Object } users Users received .
2018-12-13 23:41:57 -05:00
*
* @ return { Object } Action object .
* /
2019-10-15 11:37:08 -04:00
function receiveUserQuery ( queryID , users ) {
2018-12-13 23:41:57 -05:00
return {
2019-10-15 11:37:08 -04:00
type : 'RECEIVE_USER_QUERY' ,
2021-01-27 21:04:13 -05:00
users : Object ( external _lodash _ [ "castArray" ] ) ( users ) ,
2019-10-15 11:37:08 -04:00
queryID : queryID
2018-12-13 23:41:57 -05:00
} ;
}
/ * *
2019-10-15 11:37:08 -04:00
* Returns an action used in signalling that the current user has been received .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } currentUser Current user object .
2018-12-13 23:41:57 -05:00
*
* @ return { Object } Action object .
* /
2019-10-15 11:37:08 -04:00
function receiveCurrentUser ( currentUser ) {
return {
type : 'RECEIVE_CURRENT_USER' ,
currentUser : currentUser
} ;
2018-12-13 23:41:57 -05:00
}
/ * *
2019-10-15 11:37:08 -04:00
* Returns an action object used in adding new entities .
*
* @ param { Array } entities Entities received .
*
* @ return { Object } Action object .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function addEntities ( entities ) {
return {
type : 'ADD_ENTITIES' ,
entities : entities
} ;
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns an action object used in signalling that entity records have been received .
*
* @ param { string } kind Kind of the received entity .
* @ param { string } name Name of the received entity .
* @ param { Array | Object } records Records received .
* @ param { ? Object } query Query Object .
2021-01-27 21:04:13 -05:00
* @ param { ? boolean } invalidateCache Should invalidate query caches .
* @ param { ? Object } edits Edits to reset .
2019-10-15 11:37:08 -04:00
* @ return { Object } Action object .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function receiveEntityRecords ( kind , name , records , query ) {
var invalidateCache = arguments . length > 4 && arguments [ 4 ] !== undefined ? arguments [ 4 ] : false ;
2021-01-27 21:04:13 -05:00
var edits = arguments . length > 5 ? arguments [ 5 ] : undefined ;
2019-10-15 11:37:08 -04:00
// Auto drafts should not have titles, but some plugins rely on them so we can't filter this
// on the server.
if ( kind === 'postType' ) {
2021-01-27 21:04:13 -05:00
records = Object ( external _lodash _ [ "castArray" ] ) ( records ) . map ( function ( record ) {
2020-10-13 09:10:30 -04:00
return record . status === 'auto-draft' ? build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , record ) , { } , {
2019-10-15 11:37:08 -04:00
title : ''
} ) : record ;
} ) ;
}
var action ;
if ( query ) {
2021-01-27 21:04:13 -05:00
action = receiveQueriedItems ( records , query , edits ) ;
2019-10-15 11:37:08 -04:00
} else {
2021-01-27 21:04:13 -05:00
action = receiveItems ( records , edits ) ;
2019-10-15 11:37:08 -04:00
}
2018-12-13 23:41:57 -05:00
2020-10-13 09:10:30 -04:00
return build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , action ) , { } , {
2019-10-15 11:37:08 -04:00
kind : kind ,
name : name ,
invalidateCache : invalidateCache
} ) ;
}
2020-06-26 09:33:47 -04:00
/ * *
* Returns an action object used in signalling that the current theme has been received .
*
* @ param { Object } currentTheme The current theme .
*
* @ return { Object } Action object .
* /
function receiveCurrentTheme ( currentTheme ) {
return {
type : 'RECEIVE_CURRENT_THEME' ,
currentTheme : currentTheme
} ;
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns an action object used in signalling that the index has been received .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } themeSupports Theme support for the current theme .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ return { Object } Action object .
2018-12-17 22:14:52 -05:00
* /
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
function receiveThemeSupports ( themeSupports ) {
return {
type : 'RECEIVE_THEME_SUPPORTS' ,
themeSupports : themeSupports
} ;
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns an action object used in signalling that the preview data for
* a given URl has been received .
2018-12-13 23:41:57 -05:00
*
2020-01-08 06:57:23 -05:00
* @ param { string } url URL to preview the embed for .
* @ param { * } preview Preview data .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ return { Object } Action object .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function receiveEmbedPreview ( url , preview ) {
return {
type : 'RECEIVE_EMBED_PREVIEW' ,
url : url ,
preview : preview
} ;
}
2020-10-13 09:10:30 -04:00
/ * *
* Action triggered to delete an entity record .
*
2021-02-02 00:17:13 -05:00
* @ param { string } kind Kind of the deleted entity .
* @ param { string } name Name of the deleted entity .
* @ param { string } recordId Record ID of the deleted entity .
* @ param { ? Object } query Special query parameters for the
* DELETE API call .
* @ param { Object } [ options ] Delete options .
* @ param { Function } [ options . _ _unstableFetch ] Internal use only . Function to
* call instead of ` apiFetch() ` .
* Must return a control descriptor .
2020-10-13 09:10:30 -04:00
* /
function deleteEntityRecord ( kind , name , recordId , query ) {
2021-02-02 00:17:13 -05:00
var _ref ,
_ref$ _ _unstableFetch ,
_ _unstableFetch ,
entities ,
entity ,
error ,
deletedRecord ,
lock ,
path ,
options ,
_args = arguments ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function deleteEntityRecord$ ( _context ) {
2020-10-13 09:10:30 -04:00
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
2021-02-02 00:17:13 -05:00
_ref = _args . length > 4 && _args [ 4 ] !== undefined ? _args [ 4 ] : { } , _ref$ _ _unstableFetch = _ref . _ _unstableFetch , _ _unstableFetch = _ref$ _ _unstableFetch === void 0 ? null : _ref$ _ _unstableFetch ;
_context . next = 3 ;
2020-10-13 09:10:30 -04:00
return getKindEntities ( kind ) ;
2021-02-02 00:17:13 -05:00
case 3 :
2020-10-13 09:10:30 -04:00
entities = _context . sent ;
2021-01-27 21:04:13 -05:00
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
2020-10-13 09:10:30 -04:00
kind : kind ,
name : name
} ) ;
deletedRecord = false ;
if ( entity ) {
2021-02-02 00:17:13 -05:00
_context . next = 8 ;
2020-10-13 09:10:30 -04:00
break ;
}
return _context . abrupt ( "return" ) ;
2021-02-02 00:17:13 -05:00
case 8 :
2021-01-27 21:04:13 -05:00
return _context . delegateYield ( _ _unstableAcquireStoreLock ( 'core' , [ 'entities' , 'data' , kind , name , recordId ] , {
exclusive : true
2021-02-02 00:17:13 -05:00
} ) , "t0" , 9 ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
case 9 :
2021-01-27 21:04:13 -05:00
lock = _context . t0 ;
2021-02-02 00:17:13 -05:00
_context . prev = 10 ;
_context . next = 13 ;
2020-10-13 09:10:30 -04:00
return {
type : 'DELETE_ENTITY_RECORD_START' ,
kind : kind ,
name : name ,
recordId : recordId
} ;
2021-02-02 00:17:13 -05:00
case 13 :
_context . prev = 13 ;
2020-10-13 09:10:30 -04:00
path = "" . concat ( entity . baseURL , "/" ) . concat ( recordId ) ;
if ( query ) {
2021-01-27 21:04:13 -05:00
path = Object ( external _wp _url _ [ "addQueryArgs" ] ) ( path , query ) ;
2020-10-13 09:10:30 -04:00
}
2021-02-02 00:17:13 -05:00
options = {
2020-10-13 09:10:30 -04:00
path : path ,
method : 'DELETE'
2021-02-02 00:17:13 -05:00
} ;
if ( ! _ _unstableFetch ) {
_context . next = 23 ;
break ;
}
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
_context . next = 20 ;
2021-02-02 00:17:13 -05:00
return Object ( external _wp _dataControls _ [ "__unstableAwaitPromise" ] ) ( _ _unstableFetch ( options ) ) ;
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
case 20 :
2021-02-02 00:17:13 -05:00
deletedRecord = _context . sent ;
_context . next = 26 ;
break ;
case 23 :
2021-01-27 21:04:13 -05:00
_context . next = 25 ;
2021-02-02 00:17:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( options ) ;
case 25 :
deletedRecord = _context . sent ;
case 26 :
_context . next = 28 ;
return removeItems ( kind , name , recordId , true ) ;
case 28 :
_context . next = 33 ;
2020-10-13 09:10:30 -04:00
break ;
2021-02-02 00:17:13 -05:00
case 30 :
_context . prev = 30 ;
_context . t1 = _context [ "catch" ] ( 13 ) ;
2021-01-27 21:04:13 -05:00
error = _context . t1 ;
2021-02-02 00:17:13 -05:00
case 33 :
_context . next = 35 ;
2020-10-13 09:10:30 -04:00
return {
type : 'DELETE_ENTITY_RECORD_FINISH' ,
kind : kind ,
name : name ,
recordId : recordId ,
error : error
} ;
2021-02-02 00:17:13 -05:00
case 35 :
2020-10-13 09:10:30 -04:00
return _context . abrupt ( "return" , deletedRecord ) ;
2021-02-02 00:17:13 -05:00
case 36 :
_context . prev = 36 ;
return _context . delegateYield ( _ _unstableReleaseStoreLock ( lock ) , "t2" , 38 ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
case 38 :
return _context . finish ( 36 ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
case 39 :
2020-10-13 09:10:30 -04:00
case "end" :
return _context . stop ( ) ;
}
}
2021-02-02 00:17:13 -05:00
} , actions _marked , null , [ [ 10 , , 36 , 39 ] , [ 13 , 30 ] ] ) ;
2020-10-13 09:10:30 -04:00
}
2019-10-15 11:37:08 -04:00
/ * *
* Returns an action object that triggers an
* edit to an entity record .
*
* @ param { string } kind Kind of the edited entity record .
* @ param { string } name Name of the edited entity record .
* @ param { number } recordId Record ID of the edited entity record .
* @ param { Object } edits The edits .
* @ param { Object } options Options for the edit .
* @ param { boolean } options . undoIgnore Whether to ignore the edit in undo history or not .
*
* @ return { Object } Action object .
* /
2018-12-13 23:41:57 -05:00
2020-01-08 06:57:23 -05:00
function actions _editEntityRecord ( kind , name , recordId , edits ) {
2019-10-15 11:37:08 -04:00
var options ,
2019-12-09 12:37:10 -05:00
entity ,
_entity$transientEdit ,
2019-10-15 11:37:08 -04:00
transientEdits ,
2019-12-09 12:37:10 -05:00
_entity$mergedEdits ,
2019-10-15 11:37:08 -04:00
mergedEdits ,
record ,
editedRecord ,
edit ,
2020-10-13 09:10:30 -04:00
_args2 = arguments ;
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function editEntityRecord$ ( _context2 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-10-13 09:10:30 -04:00
switch ( _context2 . prev = _context2 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-10-13 09:10:30 -04:00
options = _args2 . length > 4 && _args2 [ 4 ] !== undefined ? _args2 [ 4 ] : { } ;
_context2 . next = 3 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getEntity' , kind , name ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 3 :
2020-10-13 09:10:30 -04:00
entity = _context2 . sent ;
2019-12-09 12:37:10 -05:00
if ( entity ) {
2020-10-13 09:10:30 -04:00
_context2 . next = 6 ;
2019-12-09 12:37:10 -05:00
break ;
}
throw new Error ( "The entity being edited (" . concat ( kind , ", " ) . concat ( name , ") does not have a loaded config." ) ) ;
case 6 :
_entity$transientEdit = entity . transientEdits , transientEdits = _entity$transientEdit === void 0 ? { } : _entity$transientEdit , _entity$mergedEdits = entity . mergedEdits , mergedEdits = _entity$mergedEdits === void 0 ? { } : _entity$mergedEdits ;
2020-10-13 09:10:30 -04:00
_context2 . next = 9 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getRawEntityRecord' , kind , name , recordId ) ;
2018-12-13 23:41:57 -05:00
2019-12-09 12:37:10 -05:00
case 9 :
2020-10-13 09:10:30 -04:00
record = _context2 . sent ;
_context2 . next = 12 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getEditedEntityRecord' , kind , name , recordId ) ;
2018-12-13 23:41:57 -05:00
2019-12-09 12:37:10 -05:00
case 12 :
2020-10-13 09:10:30 -04:00
editedRecord = _context2 . sent ;
2019-10-15 11:37:08 -04:00
edit = {
kind : kind ,
name : name ,
recordId : recordId ,
// Clear edits when they are equal to their persisted counterparts
// so that the property is not considered dirty.
edits : Object . keys ( edits ) . reduce ( function ( acc , key ) {
var recordValue = record [ key ] ;
var editedRecordValue = editedRecord [ key ] ;
2020-10-13 09:10:30 -04:00
var value = mergedEdits [ key ] ? build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , editedRecordValue ) , edits [ key ] ) : edits [ key ] ;
2021-01-27 21:04:13 -05:00
acc [ key ] = Object ( external _lodash _ [ "isEqual" ] ) ( recordValue , value ) ? undefined : value ;
2019-10-15 11:37:08 -04:00
return acc ;
} , { } ) ,
transientEdits : transientEdits
} ;
2020-10-13 09:10:30 -04:00
return _context2 . abrupt ( "return" , build _module _actions _objectSpread ( build _module _actions _objectSpread ( {
2019-10-15 11:37:08 -04:00
type : 'EDIT_ENTITY_RECORD'
2020-10-13 09:10:30 -04:00
} , edit ) , { } , {
2019-10-15 11:37:08 -04:00
meta : {
2020-10-13 09:10:30 -04:00
undo : ! options . undoIgnore && build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , edit ) , { } , {
2019-10-15 11:37:08 -04:00
// Send the current values for things like the first undo stack entry.
edits : Object . keys ( edits ) . reduce ( function ( acc , key ) {
acc [ key ] = editedRecord [ key ] ;
return acc ;
} , { } )
} )
}
} ) ) ;
2018-12-13 23:41:57 -05:00
2019-12-09 12:37:10 -05:00
case 15 :
2019-10-15 11:37:08 -04:00
case "end" :
2020-10-13 09:10:30 -04:00
return _context2 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2021-01-27 21:04:13 -05:00
} , actions _marked2 ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Action triggered to undo the last edit to
* an entity record , if any .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function undo ( ) {
var undoEdit ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function undo$ ( _context3 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-10-13 09:10:30 -04:00
switch ( _context3 . prev = _context3 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-10-13 09:10:30 -04:00
_context3 . next = 2 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getUndoEdit' ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 2 :
2020-10-13 09:10:30 -04:00
undoEdit = _context3 . sent ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
if ( undoEdit ) {
2020-10-13 09:10:30 -04:00
_context3 . next = 5 ;
2019-10-15 11:37:08 -04:00
break ;
}
2018-12-13 23:41:57 -05:00
2020-10-13 09:10:30 -04:00
return _context3 . abrupt ( "return" ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 5 :
2020-10-13 09:10:30 -04:00
_context3 . next = 7 ;
return build _module _actions _objectSpread ( build _module _actions _objectSpread ( {
2019-10-15 11:37:08 -04:00
type : 'EDIT_ENTITY_RECORD'
2020-10-13 09:10:30 -04:00
} , undoEdit ) , { } , {
2019-10-15 11:37:08 -04:00
meta : {
isUndo : true
}
} ) ;
case 7 :
case "end" :
2020-10-13 09:10:30 -04:00
return _context3 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2021-01-27 21:04:13 -05:00
} , actions _marked3 ) ;
2019-10-15 11:37:08 -04:00
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Action triggered to redo the last undoed
* edit to an entity record , if any .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function redo ( ) {
var redoEdit ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function redo$ ( _context4 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-10-13 09:10:30 -04:00
switch ( _context4 . prev = _context4 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-10-13 09:10:30 -04:00
_context4 . next = 2 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getRedoEdit' ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 2 :
2020-10-13 09:10:30 -04:00
redoEdit = _context4 . sent ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
if ( redoEdit ) {
2020-10-13 09:10:30 -04:00
_context4 . next = 5 ;
2019-10-15 11:37:08 -04:00
break ;
}
2018-12-13 23:41:57 -05:00
2020-10-13 09:10:30 -04:00
return _context4 . abrupt ( "return" ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 5 :
2020-10-13 09:10:30 -04:00
_context4 . next = 7 ;
return build _module _actions _objectSpread ( build _module _actions _objectSpread ( {
2019-10-15 11:37:08 -04:00
type : 'EDIT_ENTITY_RECORD'
2020-10-13 09:10:30 -04:00
} , redoEdit ) , { } , {
2019-10-15 11:37:08 -04:00
meta : {
isRedo : true
}
} ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 7 :
case "end" :
2020-10-13 09:10:30 -04:00
return _context4 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2021-01-27 21:04:13 -05:00
} , actions _marked4 ) ;
2018-12-13 23:41:57 -05:00
}
/ * *
2019-10-15 11:37:08 -04:00
* Forces the creation of a new undo level .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ return { Object } Action object .
2018-12-17 22:14:52 -05:00
* /
2021-01-27 21:04:13 -05:00
function actions _unstableCreateUndoLevel ( ) {
2019-10-15 11:37:08 -04:00
return {
type : 'CREATE_UNDO_LEVEL'
} ;
}
/ * *
* Action triggered to save an entity record .
*
2021-02-02 00:17:13 -05:00
* @ param { string } kind Kind of the received entity .
* @ param { string } name Name of the received entity .
* @ param { Object } record Record to be saved .
* @ param { Object } options Saving options .
* @ param { boolean } [ options . isAutosave = false ] Whether this is an autosave .
* @ param { Function } [ options . _ _unstableFetch ] Internal use only . Function to
* call instead of ` apiFetch() ` .
* Must return a control
* descriptor .
2019-10-15 11:37:08 -04:00
* /
2018-12-13 23:41:57 -05:00
2020-02-10 17:33:27 -05:00
function saveEntityRecord ( kind , name , record ) {
2021-02-02 00:17:13 -05:00
var _ref2 ,
_ref2$isAutosave ,
2019-09-19 11:19:18 -04:00
isAutosave ,
2021-02-02 00:17:13 -05:00
_ref2$ _ _unstableFetch ,
_ _unstableFetch ,
2019-09-19 11:19:18 -04:00
entities ,
entity ,
entityIdKey ,
recordId ,
2021-01-27 21:04:13 -05:00
lock ,
2020-02-06 16:03:31 -05:00
_i ,
_Object$entries ,
_Object$entries$ _i ,
key ,
value ,
evaluatedValue ,
2019-09-19 11:19:18 -04:00
updatedRecord ,
error ,
path ,
persistedRecord ,
currentUser ,
currentUserId ,
autosavePost ,
data ,
2021-02-02 00:17:13 -05:00
options ,
2019-09-19 11:19:18 -04:00
newRecord ,
2021-01-27 21:04:13 -05:00
edits ,
2021-02-02 00:17:13 -05:00
_options ,
2020-10-13 09:10:30 -04:00
_args5 = arguments ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function saveEntityRecord$ ( _context5 ) {
2019-09-19 11:19:18 -04:00
while ( 1 ) {
2020-10-13 09:10:30 -04:00
switch ( _context5 . prev = _context5 . next ) {
2019-09-19 11:19:18 -04:00
case 0 :
2021-02-02 00:17:13 -05:00
_ref2 = _args5 . length > 3 && _args5 [ 3 ] !== undefined ? _args5 [ 3 ] : { } , _ref2$isAutosave = _ref2 . isAutosave , isAutosave = _ref2$isAutosave === void 0 ? false : _ref2$isAutosave , _ref2$ _ _unstableFetch = _ref2 . _ _unstableFetch , _ _unstableFetch = _ref2$ _ _unstableFetch === void 0 ? null : _ref2$ _ _unstableFetch ;
2020-10-13 09:10:30 -04:00
_context5 . next = 3 ;
2019-09-19 11:19:18 -04:00
return getKindEntities ( kind ) ;
2018-12-13 23:41:57 -05:00
2019-09-19 11:19:18 -04:00
case 3 :
2020-10-13 09:10:30 -04:00
entities = _context5 . sent ;
2021-01-27 21:04:13 -05:00
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
2019-09-19 11:19:18 -04:00
kind : kind ,
name : name
} ) ;
2018-12-17 22:14:52 -05:00
2019-09-19 11:19:18 -04:00
if ( entity ) {
2020-10-13 09:10:30 -04:00
_context5 . next = 7 ;
2019-09-19 11:19:18 -04:00
break ;
}
2020-10-13 09:10:30 -04:00
return _context5 . abrupt ( "return" ) ;
2019-09-19 11:19:18 -04:00
case 7 :
entityIdKey = entity . key || DEFAULT _ENTITY _KEY ;
2021-01-27 21:04:13 -05:00
recordId = record [ entityIdKey ] ;
return _context5 . delegateYield ( _ _unstableAcquireStoreLock ( 'core' , [ 'entities' , 'data' , kind , name , recordId || Object ( v4 [ "a" /* default */ ] ) ( ) ] , {
exclusive : true
} ) , "t0" , 10 ) ;
2020-02-06 16:03:31 -05:00
2021-01-27 21:04:13 -05:00
case 10 :
lock = _context5 . t0 ;
_context5 . prev = 11 ;
2020-02-06 16:03:31 -05:00
_i = 0 , _Object$entries = Object . entries ( record ) ;
2021-01-27 21:04:13 -05:00
case 13 :
2020-02-06 16:03:31 -05:00
if ( ! ( _i < _Object$entries . length ) ) {
2021-01-27 21:04:13 -05:00
_context5 . next = 27 ;
2020-02-06 16:03:31 -05:00
break ;
}
_Object$entries$ _i = Object ( slicedToArray [ "a" /* default */ ] ) ( _Object$entries [ _i ] , 2 ) , key = _Object$entries$ _i [ 0 ] , value = _Object$entries$ _i [ 1 ] ;
if ( ! ( typeof value === 'function' ) ) {
2021-01-27 21:04:13 -05:00
_context5 . next = 24 ;
2020-02-06 16:03:31 -05:00
break ;
}
2021-01-27 21:04:13 -05:00
_context5 . t1 = value ;
_context5 . next = 19 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getEditedEntityRecord' , kind , name , recordId ) ;
2020-02-06 16:03:31 -05:00
2021-01-27 21:04:13 -05:00
case 19 :
_context5 . t2 = _context5 . sent ;
evaluatedValue = ( 0 , _context5 . t1 ) ( _context5 . t2 ) ;
_context5 . next = 23 ;
2020-02-06 16:03:31 -05:00
return actions _editEntityRecord ( kind , name , recordId , Object ( defineProperty [ "a" /* default */ ] ) ( { } , key , evaluatedValue ) , {
undoIgnore : true
} ) ;
2021-01-27 21:04:13 -05:00
case 23 :
2020-02-06 16:03:31 -05:00
record [ key ] = evaluatedValue ;
2021-01-27 21:04:13 -05:00
case 24 :
2020-02-06 16:03:31 -05:00
_i ++ ;
2021-01-27 21:04:13 -05:00
_context5 . next = 13 ;
2020-02-06 16:03:31 -05:00
break ;
2021-01-27 21:04:13 -05:00
case 27 :
_context5 . next = 29 ;
2019-09-19 11:19:18 -04:00
return {
type : 'SAVE_ENTITY_RECORD_START' ,
kind : kind ,
name : name ,
recordId : recordId ,
isAutosave : isAutosave
} ;
2021-01-27 21:04:13 -05:00
case 29 :
_context5 . prev = 29 ;
2019-09-19 11:19:18 -04:00
path = "" . concat ( entity . baseURL ) . concat ( recordId ? '/' + recordId : '' ) ;
2021-01-27 21:04:13 -05:00
_context5 . next = 33 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getRawEntityRecord' , kind , name , recordId ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
case 33 :
2020-10-13 09:10:30 -04:00
persistedRecord = _context5 . sent ;
2019-09-19 11:19:18 -04:00
if ( ! isAutosave ) {
2021-02-02 00:17:13 -05:00
_context5 . next = 65 ;
2019-09-19 11:19:18 -04:00
break ;
}
2021-01-27 21:04:13 -05:00
_context5 . next = 37 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getCurrentUser' ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
case 37 :
2020-10-13 09:10:30 -04:00
currentUser = _context5 . sent ;
2019-09-19 11:19:18 -04:00
currentUserId = currentUser ? currentUser . id : undefined ;
2021-01-27 21:04:13 -05:00
_context5 . next = 41 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getAutosave' , persistedRecord . type , persistedRecord . id , currentUserId ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
case 41 :
2020-10-13 09:10:30 -04:00
autosavePost = _context5 . sent ;
2019-09-19 11:19:18 -04:00
// Autosaves need all expected fields to be present.
// So we fallback to the previous autosave and then
// to the actual persisted entity if the edits don't
// have a value.
2020-10-13 09:10:30 -04:00
data = build _module _actions _objectSpread ( build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , persistedRecord ) , autosavePost ) , record ) ;
2019-09-19 11:19:18 -04:00
data = Object . keys ( data ) . reduce ( function ( acc , key ) {
if ( [ 'title' , 'excerpt' , 'content' ] . includes ( key ) ) {
// Edits should be the "raw" attribute values.
2021-01-27 21:04:13 -05:00
acc [ key ] = Object ( external _lodash _ [ "get" ] ) ( data [ key ] , 'raw' , data [ key ] ) ;
2019-09-19 11:19:18 -04:00
}
return acc ;
} , {
status : data . status === 'auto-draft' ? 'draft' : data . status
} ) ;
2021-02-02 00:17:13 -05:00
options = {
2019-09-19 11:19:18 -04:00
path : "" . concat ( path , "/autosaves" ) ,
method : 'POST' ,
data : data
2021-02-02 00:17:13 -05:00
} ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
if ( ! _ _unstableFetch ) {
_context5 . next = 51 ;
break ;
}
_context5 . next = 48 ;
return Object ( external _wp _dataControls _ [ "__unstableAwaitPromise" ] ) ( _ _unstableFetch ( options ) ) ;
case 48 :
updatedRecord = _context5 . sent ;
_context5 . next = 54 ;
break ;
case 51 :
_context5 . next = 53 ;
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( options ) ;
case 53 :
2020-10-13 09:10:30 -04:00
updatedRecord = _context5 . sent ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
case 54 :
2019-09-19 11:19:18 -04:00
if ( ! ( persistedRecord . id === updatedRecord . id ) ) {
2021-02-02 00:17:13 -05:00
_context5 . next = 61 ;
2019-09-19 11:19:18 -04:00
break ;
}
2020-10-13 09:10:30 -04:00
newRecord = build _module _actions _objectSpread ( build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , persistedRecord ) , data ) , updatedRecord ) ;
2019-09-19 11:19:18 -04:00
newRecord = Object . keys ( newRecord ) . reduce ( function ( acc , key ) {
// These properties are persisted in autosaves.
if ( [ 'title' , 'excerpt' , 'content' ] . includes ( key ) ) {
// Edits should be the "raw" attribute values.
2021-01-27 21:04:13 -05:00
acc [ key ] = Object ( external _lodash _ [ "get" ] ) ( newRecord [ key ] , 'raw' , newRecord [ key ] ) ;
2019-09-19 11:19:18 -04:00
} else if ( key === 'status' ) {
// Status is only persisted in autosaves when going from
// "auto-draft" to "draft".
acc [ key ] = persistedRecord . status === 'auto-draft' && newRecord . status === 'draft' ? newRecord . status : persistedRecord . status ;
} else {
// These properties are not persisted in autosaves.
2021-01-27 21:04:13 -05:00
acc [ key ] = Object ( external _lodash _ [ "get" ] ) ( persistedRecord [ key ] , 'raw' , persistedRecord [ key ] ) ;
2019-09-19 11:19:18 -04:00
}
return acc ;
} , { } ) ;
2021-02-02 00:17:13 -05:00
_context5 . next = 59 ;
2019-09-19 11:19:18 -04:00
return receiveEntityRecords ( kind , name , newRecord , undefined , true ) ;
2021-02-02 00:17:13 -05:00
case 59 :
_context5 . next = 63 ;
2019-09-19 11:19:18 -04:00
break ;
2021-02-02 00:17:13 -05:00
case 61 :
_context5 . next = 63 ;
2019-09-19 11:19:18 -04:00
return receiveAutosaves ( persistedRecord . id , updatedRecord ) ;
2021-02-02 00:17:13 -05:00
case 63 :
_context5 . next = 79 ;
2019-09-19 11:19:18 -04:00
break ;
2021-02-02 00:17:13 -05:00
case 65 :
2021-01-27 21:04:13 -05:00
edits = record ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
if ( entity . _ _unstablePrePersist ) {
edits = build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , edits ) , entity . _ _unstablePrePersist ( persistedRecord , edits ) ) ;
}
Block Editor: Update WordPress packages to include the latest bug fixes.
Updated packages:
@wordpress/annotations@1.7.1
@wordpress/api-fetch@3.6.1
@wordpress/babel-plugin-makepot@3.2.1
@wordpress/babel-preset-default@4.6.1
@wordpress/block-directory@1.0.1
@wordpress/block-editor@3.2.1
@wordpress/block-library@2.9.1
@wordpress/blocks@6.7.1
@wordpress/components@8.3.1
@wordpress/compose@3.7.1
@wordpress/core-data@2.7.1
@wordpress/data-controls@1.3.1
@wordpress/data@4.9.1
@wordpress/docgen@1.4.1
@wordpress/dom@2.5.1
@wordpress/e2e-test-utils@2.4.1
@wordpress/e2e-tests@1.7.1
@wordpress/edit-post@3.8.1
@wordpress/editor@9.7.1
@wordpress/element@2.8.1
@wordpress/format-library@1.9.1
@wordpress/i18n@3.6.1
@wordpress/jest-console@3.3.1
@wordpress/jest-preset-default@5.1.1
@wordpress/keycodes@2.6.1
@wordpress/library-export-default-webpack-plugin@1.4.1
@wordpress/list-reusable-blocks@1.8.1
@wordpress/media-utils@1.2.1
@wordpress/notices@1.8.1
@wordpress/nux@3.7.1
@wordpress/plugins@2.7.1
@wordpress/redux-routine@3.6.1
@wordpress/rich-text@3.7.1
@wordpress/scripts@5.0.1
@wordpress/server-side-render@1.3.1
@wordpress/shortcode@2.4.1
@wordpress/token-list@1.6.1
@wordpress/viewport@2.8.1
@wordpress/wordcount@2.6.1
Props epiqueras, youknowriad, donmhico, jorgefilipecosta, soean, mcsf, noisysocks, andraganescu, gziolo, talldanwp, iseulde, nrqsnchz, mapk, karmatosed, joen, afercia, kjellr, desrosj.
Fixes #48186.
Built from https://develop.svn.wordpress.org/trunk@46364
git-svn-id: http://core.svn.wordpress.org/trunk@46163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-30 16:07:06 -04:00
2021-02-02 00:17:13 -05:00
_options = {
2019-09-19 11:19:18 -04:00
path : path ,
method : recordId ? 'PUT' : 'POST' ,
2021-01-27 21:04:13 -05:00
data : edits
2021-02-02 00:17:13 -05:00
} ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
if ( ! _ _unstableFetch ) {
_context5 . next = 74 ;
break ;
}
_context5 . next = 71 ;
return Object ( external _wp _dataControls _ [ "__unstableAwaitPromise" ] ) ( _ _unstableFetch ( _options ) ) ;
case 71 :
2020-10-13 09:10:30 -04:00
updatedRecord = _context5 . sent ;
2021-02-02 00:17:13 -05:00
_context5 . next = 77 ;
break ;
case 74 :
_context5 . next = 76 ;
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( _options ) ;
case 76 :
updatedRecord = _context5 . sent ;
case 77 :
_context5 . next = 79 ;
2021-01-27 21:04:13 -05:00
return receiveEntityRecords ( kind , name , updatedRecord , undefined , true , edits ) ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
case 79 :
_context5 . next = 84 ;
2019-09-19 11:19:18 -04:00
break ;
2021-02-02 00:17:13 -05:00
case 81 :
_context5 . prev = 81 ;
2021-01-27 21:04:13 -05:00
_context5 . t3 = _context5 [ "catch" ] ( 29 ) ;
error = _context5 . t3 ;
Block Editor: Update WordPress packages to include the latest bug fixes.
Updated packages:
@wordpress/annotations@1.7.1
@wordpress/api-fetch@3.6.1
@wordpress/babel-plugin-makepot@3.2.1
@wordpress/babel-preset-default@4.6.1
@wordpress/block-directory@1.0.1
@wordpress/block-editor@3.2.1
@wordpress/block-library@2.9.1
@wordpress/blocks@6.7.1
@wordpress/components@8.3.1
@wordpress/compose@3.7.1
@wordpress/core-data@2.7.1
@wordpress/data-controls@1.3.1
@wordpress/data@4.9.1
@wordpress/docgen@1.4.1
@wordpress/dom@2.5.1
@wordpress/e2e-test-utils@2.4.1
@wordpress/e2e-tests@1.7.1
@wordpress/edit-post@3.8.1
@wordpress/editor@9.7.1
@wordpress/element@2.8.1
@wordpress/format-library@1.9.1
@wordpress/i18n@3.6.1
@wordpress/jest-console@3.3.1
@wordpress/jest-preset-default@5.1.1
@wordpress/keycodes@2.6.1
@wordpress/library-export-default-webpack-plugin@1.4.1
@wordpress/list-reusable-blocks@1.8.1
@wordpress/media-utils@1.2.1
@wordpress/notices@1.8.1
@wordpress/nux@3.7.1
@wordpress/plugins@2.7.1
@wordpress/redux-routine@3.6.1
@wordpress/rich-text@3.7.1
@wordpress/scripts@5.0.1
@wordpress/server-side-render@1.3.1
@wordpress/shortcode@2.4.1
@wordpress/token-list@1.6.1
@wordpress/viewport@2.8.1
@wordpress/wordcount@2.6.1
Props epiqueras, youknowriad, donmhico, jorgefilipecosta, soean, mcsf, noisysocks, andraganescu, gziolo, talldanwp, iseulde, nrqsnchz, mapk, karmatosed, joen, afercia, kjellr, desrosj.
Fixes #48186.
Built from https://develop.svn.wordpress.org/trunk@46364
git-svn-id: http://core.svn.wordpress.org/trunk@46163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-30 16:07:06 -04:00
2021-02-02 00:17:13 -05:00
case 84 :
_context5 . next = 86 ;
2019-09-19 11:19:18 -04:00
return {
type : 'SAVE_ENTITY_RECORD_FINISH' ,
kind : kind ,
name : name ,
recordId : recordId ,
error : error ,
isAutosave : isAutosave
} ;
2021-02-02 00:17:13 -05:00
case 86 :
2020-10-13 09:10:30 -04:00
return _context5 . abrupt ( "return" , updatedRecord ) ;
2019-09-19 11:19:18 -04:00
2021-02-02 00:17:13 -05:00
case 87 :
_context5 . prev = 87 ;
return _context5 . delegateYield ( _ _unstableReleaseStoreLock ( lock ) , "t4" , 89 ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
case 89 :
return _context5 . finish ( 87 ) ;
2021-01-27 21:04:13 -05:00
2021-02-02 00:17:13 -05:00
case 90 :
2019-09-19 11:19:18 -04:00
case "end" :
2020-10-13 09:10:30 -04:00
return _context5 . stop ( ) ;
2019-09-19 11:19:18 -04:00
}
}
2021-02-02 00:17:13 -05:00
} , _marked5 , null , [ [ 11 , , 87 , 90 ] , [ 29 , 81 ] ] ) ;
}
/ * *
* Runs multiple core - data actions at the same time using one API request .
*
* Example :
*
* ` ` `
* const [ savedRecord , updatedRecord , deletedRecord ] =
* await dispatch ( 'core' ) . _ _experimentalBatch ( [
* ( { saveEntityRecord } ) => saveEntityRecord ( 'root' , 'widget' , widget ) ,
* ( { saveEditedEntityRecord } ) => saveEntityRecord ( 'root' , 'widget' , 123 ) ,
* ( { deleteEntityRecord } ) => deleteEntityRecord ( 'root' , 'widget' , 123 , null ) ,
* ] ) ;
* ` ` `
*
* @ param { Array } requests Array of functions which are invoked simultaneously .
* Each function is passed an object containing
* ` saveEntityRecord ` , ` saveEditedEntityRecord ` , and
* ` deleteEntityRecord ` .
*
* @ return { Promise } A promise that resolves to an array containing the return
* values of each function given in ` requests ` .
* /
function _ _experimentalBatch ( requests ) {
var batch , dispatch , api , resultPromises , _yield$ _ _unstableAwai , _yield$ _ _unstableAwai2 , results ;
return external _regeneratorRuntime _default . a . wrap ( function _ _experimentalBatch$ ( _context6 ) {
while ( 1 ) {
switch ( _context6 . prev = _context6 . next ) {
case 0 :
batch = createBatch ( ) ;
_context6 . next = 3 ;
return getDispatch ( ) ;
case 3 :
dispatch = _context6 . sent ;
api = {
saveEntityRecord : function saveEntityRecord ( kind , name , record , options ) {
return batch . add ( function ( add ) {
return dispatch ( 'core' ) . saveEntityRecord ( kind , name , record , build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , options ) , { } , {
_ _unstableFetch : add
} ) ) ;
} ) ;
} ,
saveEditedEntityRecord : function saveEditedEntityRecord ( kind , name , recordId , options ) {
return batch . add ( function ( add ) {
return dispatch ( 'core' ) . saveEditedEntityRecord ( kind , name , recordId , build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , options ) , { } , {
_ _unstableFetch : add
} ) ) ;
} ) ;
} ,
deleteEntityRecord : function deleteEntityRecord ( kind , name , recordId , query , options ) {
return batch . add ( function ( add ) {
return dispatch ( 'core' ) . deleteEntityRecord ( kind , name , recordId , query , build _module _actions _objectSpread ( build _module _actions _objectSpread ( { } , options ) , { } , {
_ _unstableFetch : add
} ) ) ;
} ) ;
}
} ;
resultPromises = requests . map ( function ( request ) {
return request ( api ) ;
} ) ;
_context6 . next = 8 ;
return Object ( external _wp _dataControls _ [ "__unstableAwaitPromise" ] ) ( Promise . all ( [ batch . run ( ) ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( resultPromises ) ) ) ) ;
case 8 :
_yield$ _ _unstableAwai = _context6 . sent ;
_yield$ _ _unstableAwai2 = Object ( toArray [ "a" /* default */ ] ) ( _yield$ _ _unstableAwai ) ;
results = _yield$ _ _unstableAwai2 . slice ( 1 ) ;
return _context6 . abrupt ( "return" , results ) ;
case 12 :
case "end" :
return _context6 . stop ( ) ;
}
}
} , _marked6 ) ;
2019-09-19 11:19:18 -04:00
}
/ * *
* Action triggered to save an entity record ' s edits .
*
* @ param { string } kind Kind of the entity .
* @ param { string } name Name of the entity .
* @ param { Object } recordId ID of the record .
* @ param { Object } options Saving options .
* /
function saveEditedEntityRecord ( kind , name , recordId , options ) {
var edits , record ;
2021-02-02 00:17:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function saveEditedEntityRecord$ ( _context7 ) {
2019-09-19 11:19:18 -04:00
while ( 1 ) {
2021-02-02 00:17:13 -05:00
switch ( _context7 . prev = _context7 . next ) {
2019-09-19 11:19:18 -04:00
case 0 :
2021-02-02 00:17:13 -05:00
_context7 . next = 2 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'hasEditsForEntityRecord' , kind , name , recordId ) ;
2019-09-19 11:19:18 -04:00
case 2 :
2021-02-02 00:17:13 -05:00
if ( _context7 . sent ) {
_context7 . next = 4 ;
2019-09-19 11:19:18 -04:00
break ;
}
2021-02-02 00:17:13 -05:00
return _context7 . abrupt ( "return" ) ;
2019-09-19 11:19:18 -04:00
case 4 :
2021-02-02 00:17:13 -05:00
_context7 . next = 6 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getEntityRecordNonTransientEdits' , kind , name , recordId ) ;
2019-09-19 11:19:18 -04:00
case 6 :
2021-02-02 00:17:13 -05:00
edits = _context7 . sent ;
2020-02-06 16:03:31 -05:00
record = build _module _actions _objectSpread ( {
2019-09-19 11:19:18 -04:00
id : recordId
} , edits ) ;
2021-02-02 00:17:13 -05:00
return _context7 . delegateYield ( saveEntityRecord ( kind , name , record , options ) , "t0" , 9 ) ;
2019-09-19 11:19:18 -04:00
case 9 :
2021-02-02 00:17:13 -05:00
return _context7 . abrupt ( "return" , _context7 . t0 ) ;
case 10 :
2019-09-19 11:19:18 -04:00
case "end" :
2021-02-02 00:17:13 -05:00
return _context7 . stop ( ) ;
2019-09-19 11:19:18 -04:00
}
}
2021-02-02 00:17:13 -05:00
} , _marked7 ) ;
2019-09-19 11:19:18 -04:00
}
/ * *
* Returns an action object used in signalling that Upload permissions have been received .
*
* @ param { boolean } hasUploadPermissions Does the user have permission to upload files ?
*
* @ return { Object } Action object .
* /
function receiveUploadPermissions ( hasUploadPermissions ) {
return {
type : 'RECEIVE_USER_PERMISSION' ,
key : 'create/media' ,
isAllowed : hasUploadPermissions
} ;
}
/ * *
* Returns an action object used in signalling that the current user has
* permission to perform an action on a REST resource .
*
* @ param { string } key A key that represents the action and REST resource .
* @ param { boolean } isAllowed Whether or not the user can perform the action .
*
* @ return { Object } Action object .
* /
function receiveUserPermission ( key , isAllowed ) {
return {
type : 'RECEIVE_USER_PERMISSION' ,
key : key ,
isAllowed : isAllowed
} ;
}
/ * *
* Returns an action object used in signalling that the autosaves for a
* post have been received .
*
* @ param { number } postId The id of the post that is parent to the autosave .
* @ param { Array | Object } autosaves An array of autosaves or singular autosave object .
*
* @ return { Object } Action object .
* /
function receiveAutosaves ( postId , autosaves ) {
return {
type : 'RECEIVE_AUTOSAVES' ,
postId : postId ,
2021-01-27 21:04:13 -05:00
autosaves : Object ( external _lodash _ [ "castArray" ] ) ( autosaves )
2019-09-19 11:19:18 -04:00
} ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/entities.js
2021-01-27 21:04:13 -05:00
var entities _marked = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( loadPostTypeEntities ) ,
entities _marked2 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( loadTaxonomyEntities ) ,
entities _marked3 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( getKindEntities ) ;
2019-09-19 11:19:18 -04:00
/ * *
* External dependencies
* /
2020-06-26 09:33:47 -04:00
/ * *
* WordPress dependencies
* /
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
2019-09-19 11:19:18 -04:00
/ * *
* Internal dependencies
* /
var DEFAULT _ENTITY _KEY = 'id' ;
var defaultEntities = [ {
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Base' ) ,
2020-10-13 09:10:30 -04:00
name : '__unstableBase' ,
kind : 'root' ,
baseURL : ''
} , {
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Site' ) ,
2020-01-08 06:57:23 -05:00
name : 'site' ,
kind : 'root' ,
2020-06-26 09:33:47 -04:00
baseURL : '/wp/v2/settings' ,
getTitle : function getTitle ( record ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( record , [ 'title' ] , Object ( external _wp _i18n _ [ "__" ] ) ( 'Site Title' ) ) ;
2020-06-26 09:33:47 -04:00
}
2020-01-08 06:57:23 -05:00
} , {
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Post Type' ) ,
2019-09-19 11:19:18 -04:00
name : 'postType' ,
kind : 'root' ,
key : 'slug' ,
baseURL : '/wp/v2/types'
} , {
name : 'media' ,
kind : 'root' ,
baseURL : '/wp/v2/media' ,
2020-06-26 09:33:47 -04:00
plural : 'mediaItems' ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Media' )
2018-12-17 22:14:52 -05:00
} , {
name : 'taxonomy' ,
kind : 'root' ,
key : 'slug' ,
baseURL : '/wp/v2/taxonomies' ,
2020-06-26 09:33:47 -04:00
plural : 'taxonomies' ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Taxonomy' )
2019-09-19 11:19:18 -04:00
} , {
2020-10-13 09:10:30 -04:00
name : 'sidebar' ,
2019-09-19 11:19:18 -04:00
kind : 'root' ,
2020-10-20 09:36:16 -04:00
baseURL : '/wp/v2/sidebars' ,
2020-10-13 09:10:30 -04:00
plural : 'sidebars' ,
2020-01-08 06:57:23 -05:00
transientEdits : {
blocks : true
2020-06-26 09:33:47 -04:00
} ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Widget areas' )
2020-10-20 09:36:16 -04:00
} , {
name : 'widget' ,
kind : 'root' ,
baseURL : '/wp/v2/widgets' ,
plural : 'widgets' ,
transientEdits : {
blocks : true
} ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Widgets' )
2020-02-06 16:03:31 -05:00
} , {
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'User' ) ,
2020-02-06 16:03:31 -05:00
name : 'user' ,
kind : 'root' ,
baseURL : '/wp/v2/users' ,
plural : 'users'
2020-06-26 09:33:47 -04:00
} , {
name : 'comment' ,
kind : 'root' ,
baseURL : '/wp/v2/comments' ,
plural : 'comments' ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Comment' )
2020-06-26 09:33:47 -04:00
} , {
name : 'menu' ,
kind : 'root' ,
baseURL : '/__experimental/menus' ,
plural : 'menus' ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Menu' )
2020-06-26 09:33:47 -04:00
} , {
name : 'menuItem' ,
kind : 'root' ,
baseURL : '/__experimental/menu-items' ,
plural : 'menuItems' ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Menu Item' )
2020-06-26 09:33:47 -04:00
} , {
name : 'menuLocation' ,
kind : 'root' ,
baseURL : '/__experimental/menu-locations' ,
plural : 'menuLocations' ,
2021-01-27 21:04:13 -05:00
label : Object ( external _wp _i18n _ [ "__" ] ) ( 'Menu Location' ) ,
2020-06-26 09:33:47 -04:00
key : 'name'
2018-12-17 22:14:52 -05:00
} ] ;
var kinds = [ {
name : 'postType' ,
loadEntities : loadPostTypeEntities
} , {
name : 'taxonomy' ,
loadEntities : loadTaxonomyEntities
} ] ;
2018-12-13 23:41:57 -05:00
/ * *
2021-01-27 21:04:13 -05:00
* Returns a function to be used to retrieve extra edits to apply before persisting a post type .
2018-12-17 22:14:52 -05:00
*
2021-01-27 21:04:13 -05:00
* @ param { Object } persistedRecord Already persisted Post
* @ param { Object } edits Edits .
* @ return { Object } Updated edits .
2018-12-13 23:41:57 -05:00
* /
2021-01-27 21:04:13 -05:00
var prePersistPostType = function prePersistPostType ( persistedRecord , edits ) {
var newEdits = { } ;
if ( ( persistedRecord === null || persistedRecord === void 0 ? void 0 : persistedRecord . status ) === 'auto-draft' ) {
// Saving an auto-draft should create a draft by default.
if ( ! edits . status && ! newEdits . status ) {
newEdits . status = 'draft' ;
} // Fix the auto-draft default title.
if ( ( ! edits . title || edits . title === 'Auto Draft' ) && ! newEdits . title && ( ! ( persistedRecord !== null && persistedRecord !== void 0 && persistedRecord . title ) || ( persistedRecord === null || persistedRecord === void 0 ? void 0 : persistedRecord . title ) === 'Auto Draft' ) ) {
newEdits . title = '' ;
}
}
return newEdits ;
} ;
/ * *
* Returns the list of post type entities .
*
* @ return { Promise } Entities promise
* /
function loadPostTypeEntities ( ) {
var postTypes ;
return external _regeneratorRuntime _default . a . wrap ( function loadPostTypeEntities$ ( _context ) {
2018-12-17 22:14:52 -05:00
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
_context . next = 2 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2018-12-17 22:14:52 -05:00
path : '/wp/v2/types?context=edit'
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
postTypes = _context . sent ;
2021-01-27 21:04:13 -05:00
return _context . abrupt ( "return" , Object ( external _lodash _ [ "map" ] ) ( postTypes , function ( postType , name ) {
var isTemplate = [ 'wp_template' , 'wp_template_part' ] . includes ( name ) ;
2018-12-17 22:14:52 -05:00
return {
kind : 'postType' ,
baseURL : '/wp/v2/' + postType . rest _base ,
2019-09-19 11:19:18 -04:00
name : name ,
2020-06-26 09:33:47 -04:00
label : postType . labels . singular _name ,
2019-09-19 11:19:18 -04:00
transientEdits : {
2020-01-08 06:57:23 -05:00
blocks : true ,
selectionStart : true ,
selectionEnd : true
2019-09-19 11:19:18 -04:00
} ,
mergedEdits : {
meta : true
2020-06-26 09:33:47 -04:00
} ,
getTitle : function getTitle ( record ) {
2021-01-27 21:04:13 -05:00
var _record$title ;
2020-06-26 09:33:47 -04:00
2021-01-27 21:04:13 -05:00
return ( record === null || record === void 0 ? void 0 : ( _record$title = record . title ) === null || _record$title === void 0 ? void 0 : _record$title . rendered ) || ( record === null || record === void 0 ? void 0 : record . title ) || ( isTemplate ? Object ( external _lodash _ [ "startCase" ] ) ( record . slug ) : String ( record . id ) ) ;
} ,
_ _unstablePrePersist : isTemplate ? undefined : prePersistPostType
2018-12-17 22:14:52 -05:00
} ;
} ) ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 4 :
case "end" :
return _context . stop ( ) ;
}
}
2019-09-19 11:19:18 -04:00
} , entities _marked ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Returns the list of the taxonomies entities .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { Promise } Entities promise
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function loadTaxonomyEntities ( ) {
var taxonomies ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function loadTaxonomyEntities$ ( _context2 ) {
2018-12-17 22:14:52 -05:00
while ( 1 ) {
switch ( _context2 . prev = _context2 . next ) {
case 0 :
_context2 . next = 2 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2018-12-17 22:14:52 -05:00
path : '/wp/v2/taxonomies?context=edit'
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
taxonomies = _context2 . sent ;
2021-01-27 21:04:13 -05:00
return _context2 . abrupt ( "return" , Object ( external _lodash _ [ "map" ] ) ( taxonomies , function ( taxonomy , name ) {
2018-12-17 22:14:52 -05:00
return {
kind : 'taxonomy' ,
baseURL : '/wp/v2/' + taxonomy . rest _base ,
2020-06-26 09:33:47 -04:00
name : name ,
label : taxonomy . labels . singular _name
2018-12-17 22:14:52 -05:00
} ;
} ) ) ;
case 4 :
case "end" :
return _context2 . stop ( ) ;
}
}
2019-09-19 11:19:18 -04:00
} , entities _marked2 ) ;
2018-12-13 23:41:57 -05:00
}
/ * *
2018-12-17 22:14:52 -05:00
* Returns the entity ' s getter method name given its kind and name .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { string } prefix Function prefix .
* @ param { boolean } usePlural Whether to use the plural form or not .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { string } Method name
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
var entities _getMethodName = function getMethodName ( kind , name ) {
var prefix = arguments . length > 2 && arguments [ 2 ] !== undefined ? arguments [ 2 ] : 'get' ;
var usePlural = arguments . length > 3 && arguments [ 3 ] !== undefined ? arguments [ 3 ] : false ;
2021-01-27 21:04:13 -05:00
var entity = Object ( external _lodash _ [ "find" ] ) ( defaultEntities , {
2018-12-17 22:14:52 -05:00
kind : kind ,
name : name
} ) ;
2021-01-27 21:04:13 -05:00
var kindPrefix = kind === 'root' ? '' : Object ( external _lodash _ [ "upperFirst" ] ) ( Object ( external _lodash _ [ "camelCase" ] ) ( kind ) ) ;
var nameSuffix = Object ( external _lodash _ [ "upperFirst" ] ) ( Object ( external _lodash _ [ "camelCase" ] ) ( name ) ) + ( usePlural ? 's' : '' ) ;
var suffix = usePlural && entity . plural ? Object ( external _lodash _ [ "upperFirst" ] ) ( Object ( external _lodash _ [ "camelCase" ] ) ( entity . plural ) ) : nameSuffix ;
2018-12-17 22:14:52 -05:00
return "" . concat ( prefix ) . concat ( kindPrefix ) . concat ( suffix ) ;
} ;
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Loads the kind entities into the store .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { string } kind Kind
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { Array } Entities
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function getKindEntities ( kind ) {
var entities , kindConfig ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getKindEntities$ ( _context3 ) {
2018-12-17 22:14:52 -05:00
while ( 1 ) {
switch ( _context3 . prev = _context3 . next ) {
case 0 :
_context3 . next = 2 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getEntitiesByKind' , kind ) ;
2018-12-17 22:14:52 -05:00
case 2 :
entities = _context3 . sent ;
if ( ! ( entities && entities . length !== 0 ) ) {
_context3 . next = 5 ;
break ;
}
return _context3 . abrupt ( "return" , entities ) ;
case 5 :
2021-01-27 21:04:13 -05:00
kindConfig = Object ( external _lodash _ [ "find" ] ) ( kinds , {
2018-12-17 22:14:52 -05:00
name : kind
} ) ;
if ( kindConfig ) {
_context3 . next = 8 ;
break ;
}
return _context3 . abrupt ( "return" , [ ] ) ;
case 8 :
_context3 . next = 10 ;
return kindConfig . loadEntities ( ) ;
case 10 :
entities = _context3 . sent ;
_context3 . next = 13 ;
return addEntities ( entities ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 13 :
return _context3 . abrupt ( "return" , entities ) ;
2018-12-13 23:41:57 -05:00
2020-06-26 09:33:47 -04:00
case 14 :
case "end" :
return _context3 . stop ( ) ;
}
}
} , entities _marked3 ) ;
}
2020-10-13 09:10:30 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/get-normalized-comma-separable.js
/ * *
* Given a value which can be specified as one or the other of a comma - separated
* string or an array , returns a value normalized to an array of strings , or
* null if the value cannot be interpreted as either .
*
* @ param { string | string [ ] | * } value
*
* @ return { ? ( string [ ] ) } Normalized field value .
* /
function getNormalizedCommaSeparable ( value ) {
if ( typeof value === 'string' ) {
return value . split ( ',' ) ;
} else if ( Array . isArray ( value ) ) {
return value ;
}
return null ;
}
/* harmony default export */ var get _normalized _comma _separable = ( getNormalizedCommaSeparable ) ;
2020-06-26 09:33:47 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/with-weak-map-cache.js
/ * *
* External dependencies
* /
/ * *
* Given a function , returns an enhanced function which caches the result and
* tracks in WeakMap . The result is only cached if the original function is
* passed a valid object - like argument ( requirement for WeakMap key ) .
*
* @ param { Function } fn Original function .
*
* @ return { Function } Enhanced caching function .
* /
function withWeakMapCache ( fn ) {
var cache = new WeakMap ( ) ;
return function ( key ) {
var value ;
if ( cache . has ( key ) ) {
value = cache . get ( key ) ;
} else {
value = fn ( key ) ; // Can reach here if key is not valid for WeakMap, since `has`
// will return false for invalid key. Since `set` will throw,
// ensure that key is valid before setting into cache.
2021-01-27 21:04:13 -05:00
if ( Object ( external _lodash _ [ "isObjectLike" ] ) ( key ) ) {
2020-06-26 09:33:47 -04:00
cache . set ( key , value ) ;
}
}
return value ;
} ;
}
/* harmony default export */ var with _weak _map _cache = ( withWeakMapCache ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/queried-data/get-query-parts.js
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* An object of properties describing a specific query .
*
* @ typedef { Object } WPQueriedDataQueryParts
*
2020-10-13 09:10:30 -04:00
* @ property { number } page The query page ( 1 - based index , default 1 ) .
* @ property { number } perPage Items per page for query ( default 10 ) .
* @ property { string } stableKey An encoded stable string of all non -
* pagination , non - fields query parameters .
* @ property { ? ( string [ ] ) } fields Target subset of fields to derive from
* item objects .
* @ property { ? ( number [ ] ) } include Specific item IDs to include .
2020-06-26 09:33:47 -04:00
* /
/ * *
* Given a query object , returns an object of parts , including pagination
* details ( ` page ` and ` perPage ` , or default values ) . All other properties are
* encoded into a stable ( idempotent ) ` stableKey ` value .
*
* @ param { Object } query Optional query object .
*
* @ return { WPQueriedDataQueryParts } Query parts .
* /
function getQueryParts ( query ) {
/ * *
* @ type { WPQueriedDataQueryParts }
* /
var parts = {
stableKey : '' ,
page : 1 ,
2020-10-13 09:10:30 -04:00
perPage : 10 ,
fields : null ,
include : null
2020-06-26 09:33:47 -04:00
} ; // Ensure stable key by sorting keys. Also more efficient for iterating.
var keys = Object . keys ( query ) . sort ( ) ;
for ( var i = 0 ; i < keys . length ; i ++ ) {
var key = keys [ i ] ;
var value = query [ key ] ;
switch ( key ) {
case 'page' :
parts [ key ] = Number ( value ) ;
break ;
case 'per_page' :
parts . perPage = Number ( value ) ;
break ;
2020-10-13 09:10:30 -04:00
case 'include' :
parts . include = get _normalized _comma _separable ( value ) . map ( Number ) ;
break ;
2020-06-26 09:33:47 -04:00
default :
2020-10-20 09:36:16 -04:00
// While in theory, we could exclude "_fields" from the stableKey
// because two request with different fields have the same results
// We're not able to ensure that because the server can decide to omit
// fields from the response even if we explicitely asked for it.
// Example: Asking for titles in posts without title support.
if ( key === '_fields' ) {
2021-01-27 21:04:13 -05:00
parts . fields = get _normalized _comma _separable ( value ) ; // Make sure to normalize value for `stableKey`
value = parts . fields . join ( ) ;
2020-10-20 09:36:16 -04:00
} // While it could be any deterministic string, for simplicity's
2020-06-26 09:33:47 -04:00
// sake mimic querystring encoding for stable key.
//
// TODO: For consistency with PHP implementation, addQueryArgs
// should accept a key value pair, which may optimize its
// implementation for our use here, vs. iterating an object
// with only a single key.
2020-10-20 09:36:16 -04:00
2021-01-27 21:04:13 -05:00
parts . stableKey += ( parts . stableKey ? '&' : '' ) + Object ( external _wp _url _ [ "addQueryArgs" ] ) ( '' , Object ( defineProperty [ "a" /* default */ ] ) ( { } , key , value ) ) . slice ( 1 ) ;
2018-12-17 22:14:52 -05:00
}
2020-06-26 09:33:47 -04:00
}
return parts ;
2018-12-13 23:41:57 -05:00
}
2020-06-26 09:33:47 -04:00
/* harmony default export */ var get _query _parts = ( with _weak _map _cache ( getQueryParts ) ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/queried-data/reducer.js
2018-12-13 23:41:57 -05:00
2020-02-06 16:03:31 -05:00
function reducer _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function reducer _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { reducer _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { reducer _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* External dependencies
2018-12-13 23:41:57 -05:00
* /
2019-09-19 11:19:18 -04:00
/ * *
* WordPress dependencies
* /
2018-12-17 22:14:52 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Internal dependencies
2018-12-13 23:41:57 -05:00
* /
/ * *
2018-12-17 22:14:52 -05:00
* Returns a merged array of item IDs , given details of the received paginated
* items . The array is sparse - like with ` undefined ` entries where holes exist .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { ? Array < number > } itemIds Original item IDs ( default empty array ) .
* @ param { number [ ] } nextItemIds Item IDs to merge .
* @ param { number } page Page of items merged .
* @ param { number } perPage Number of items per page .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { number [ ] } Merged array of item IDs .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function getMergedItemIds ( itemIds , nextItemIds , page , perPage ) {
2020-06-26 09:33:47 -04:00
var receivedAllIds = page === 1 && perPage === - 1 ;
if ( receivedAllIds ) {
return nextItemIds ;
}
2018-12-17 22:14:52 -05:00
var nextItemIdsStartIndex = ( page - 1 ) * perPage ; // If later page has already been received, default to the larger known
// size of the existing array, else calculate as extending the existing.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var size = Math . max ( itemIds . length , nextItemIdsStartIndex + nextItemIds . length ) ; // Preallocate array since size is known.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var mergedItemIds = new Array ( size ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
for ( var i = 0 ; i < size ; i ++ ) {
// Preserve existing item ID except for subset of range of next items.
var isInNextItemsRange = i >= nextItemIdsStartIndex && i < nextItemIdsStartIndex + nextItemIds . length ;
mergedItemIds [ i ] = isInNextItemsRange ? nextItemIds [ i - nextItemIdsStartIndex ] : itemIds [ i ] ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
return mergedItemIds ;
}
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Reducer tracking items state , keyed by ID . Items are assumed to be normal ,
* where identifiers are common across all queries .
2018-12-13 23:41:57 -05:00
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
2018-12-17 22:14:52 -05:00
* @ return { Object } Next state .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function reducer _items ( ) {
2018-12-13 23:41:57 -05:00
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
2018-12-17 22:14:52 -05:00
case 'RECEIVE_ITEMS' :
2019-09-19 11:19:18 -04:00
var key = action . key || DEFAULT _ENTITY _KEY ;
2020-10-13 09:10:30 -04:00
return reducer _objectSpread ( reducer _objectSpread ( { } , state ) , action . items . reduce ( function ( accumulator , value ) {
2019-09-19 11:19:18 -04:00
var itemId = value [ key ] ;
2020-01-08 06:57:23 -05:00
accumulator [ itemId ] = conservativeMapItem ( state [ itemId ] , value ) ;
return accumulator ;
2019-09-19 11:19:18 -04:00
} , { } ) ) ;
2020-10-13 09:10:30 -04:00
case 'REMOVE_ITEMS' :
2021-01-27 21:04:13 -05:00
var newState = Object ( external _lodash _ [ "omit" ] ) ( state , action . itemIds ) ;
2020-10-13 09:10:30 -04:00
return newState ;
2018-12-13 23:41:57 -05:00
}
return state ;
}
2020-10-13 09:10:30 -04:00
/ * *
* Reducer tracking item completeness , keyed by ID . A complete item is one for
* which all fields are known . This is used in supporting ` _fields ` queries ,
* where not all properties associated with an entity are necessarily returned .
* In such cases , completeness is used as an indication of whether it would be
* safe to use queried data for a non - ` _fields ` - limited request .
*
* @ param { Object < string , boolean > } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object < string , boolean > } Next state .
* /
function itemIsComplete ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
var type = action . type ,
query = action . query ,
_action$key = action . key ,
key = _action$key === void 0 ? DEFAULT _ENTITY _KEY : _action$key ;
if ( type !== 'RECEIVE_ITEMS' ) {
return state ;
} // An item is considered complete if it is received without an associated
// fields query. Ideally, this would be implemented in such a way where the
// complete aggregate of all fields would satisfy completeness. Since the
// fields are not consistent across all entity types, this would require
// introspection on the REST schema for each entity to know which fields
// compose a complete item for that entity.
var isCompleteQuery = ! query || ! Array . isArray ( get _query _parts ( query ) . fields ) ;
return reducer _objectSpread ( reducer _objectSpread ( { } , state ) , action . items . reduce ( function ( result , item ) {
var itemId = item [ key ] ; // Defer to completeness if already assigned. Technically the
// data may be outdated if receiving items for a field subset.
result [ itemId ] = state [ itemId ] || isCompleteQuery ;
return result ;
} , { } ) ) ;
}
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Reducer tracking queries state , keyed by stable query key . Each reducer
* query object includes ` itemIds ` and ` requestingPageByPerPage ` .
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { Object } Next state .
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
* /
2021-01-27 21:04:13 -05:00
var receiveQueries = Object ( external _lodash _ [ "flowRight" ] ) ( [ // Limit to matching action type so we don't attempt to replace action on
2018-12-17 22:14:52 -05:00
// an unhandled action.
if _matching _action ( function ( action ) {
return 'query' in action ;
} ) , // Inject query parts into action for use both in `onSubKey` and reducer.
replace _action ( function ( action ) {
// `ifMatchingAction` still passes on initialization, where state is
// undefined and a query is not assigned. Avoid attempting to parse
// parts. `onSubKey` will omit by lack of `stableKey`.
if ( action . query ) {
2020-10-13 09:10:30 -04:00
return reducer _objectSpread ( reducer _objectSpread ( { } , action ) , get _query _parts ( action . query ) ) ;
2018-12-17 22:14:52 -05:00
}
return action ;
} ) , // Queries shape is shared, but keyed by query `stableKey` part. Original
// reducer tracks only a single query object.
on _sub _key ( 'stableKey' ) ] ) ( function ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : null ;
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-17 22:14:52 -05:00
var type = action . type ,
page = action . page ,
perPage = action . perPage ,
2020-10-13 09:10:30 -04:00
_action$key2 = action . key ,
key = _action$key2 === void 0 ? DEFAULT _ENTITY _KEY : _action$key2 ;
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
2018-12-17 22:14:52 -05:00
if ( type !== 'RECEIVE_ITEMS' ) {
return state ;
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
}
2021-01-27 21:04:13 -05:00
return getMergedItemIds ( state || [ ] , Object ( external _lodash _ [ "map" ] ) ( action . items , key ) , page , perPage ) ;
2018-12-17 22:14:52 -05:00
} ) ;
2020-10-13 09:10:30 -04:00
/ * *
* Reducer tracking queries state .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Next state .
* /
var reducer _queries = function queries ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'RECEIVE_ITEMS' :
return receiveQueries ( state , action ) ;
case 'REMOVE_ITEMS' :
var newState = reducer _objectSpread ( { } , state ) ;
var removedItems = action . itemIds . reduce ( function ( result , itemId ) {
result [ itemId ] = true ;
return result ;
} , { } ) ;
2021-01-27 21:04:13 -05:00
Object ( external _lodash _ [ "forEach" ] ) ( newState , function ( queryItems , key ) {
newState [ key ] = Object ( external _lodash _ [ "filter" ] ) ( queryItems , function ( queryId ) {
2020-10-13 09:10:30 -04:00
return ! removedItems [ queryId ] ;
} ) ;
} ) ;
return newState ;
default :
return state ;
}
} ;
2021-01-27 21:04:13 -05:00
/* harmony default export */ var queried _data _reducer = ( Object ( external _wp _data _ [ "combineReducers" ] ) ( {
2018-12-17 22:14:52 -05:00
items : reducer _items ,
2020-10-13 09:10:30 -04:00
itemIsComplete : itemIsComplete ,
queries : reducer _queries
2018-12-13 23:41:57 -05:00
} ) ) ;
2021-01-27 21:04:13 -05:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/locks/utils.js
var utils _marked = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( iteratePath ) ,
utils _marked2 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( iterateDescendants ) ;
function utils _createForOfIteratorHelper ( o , allowArrayLike ) { var it ; if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) { if ( Array . isArray ( o ) || ( it = utils _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = o [ Symbol . iterator ] ( ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it . return != null ) it . return ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
function utils _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return utils _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return utils _arrayLikeToArray ( o , minLen ) ; }
function utils _arrayLikeToArray ( arr , len ) { if ( len == null || len > arr . length ) len = arr . length ; for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; }
function utils _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function utils _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { utils _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { utils _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
function deepCopyLocksTreePath ( tree , path ) {
var newTree = utils _objectSpread ( { } , tree ) ;
var currentNode = newTree ;
var _iterator = utils _createForOfIteratorHelper ( path ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var branchName = _step . value ;
currentNode . children = utils _objectSpread ( utils _objectSpread ( { } , currentNode . children ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , branchName , utils _objectSpread ( {
locks : [ ] ,
children : { }
} , currentNode . children [ branchName ] ) ) ) ;
currentNode = currentNode . children [ branchName ] ;
}
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
return newTree ;
}
function getNode ( tree , path ) {
var currentNode = tree ;
var _iterator2 = utils _createForOfIteratorHelper ( path ) ,
_step2 ;
try {
for ( _iterator2 . s ( ) ; ! ( _step2 = _iterator2 . n ( ) ) . done ; ) {
var branchName = _step2 . value ;
var nextNode = currentNode . children [ branchName ] ;
if ( ! nextNode ) {
return null ;
}
currentNode = nextNode ;
}
} catch ( err ) {
_iterator2 . e ( err ) ;
} finally {
_iterator2 . f ( ) ;
}
return currentNode ;
}
function iteratePath ( tree , path ) {
var currentNode , _iterator3 , _step3 , branchName , nextNode ;
return external _regeneratorRuntime _default . a . wrap ( function iteratePath$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
currentNode = tree ;
_context . next = 3 ;
return currentNode ;
case 3 :
_iterator3 = utils _createForOfIteratorHelper ( path ) ;
_context . prev = 4 ;
_iterator3 . s ( ) ;
case 6 :
if ( ( _step3 = _iterator3 . n ( ) ) . done ) {
_context . next = 16 ;
break ;
}
branchName = _step3 . value ;
nextNode = currentNode . children [ branchName ] ;
if ( nextNode ) {
_context . next = 11 ;
break ;
}
return _context . abrupt ( "break" , 16 ) ;
case 11 :
_context . next = 13 ;
return nextNode ;
case 13 :
currentNode = nextNode ;
case 14 :
_context . next = 6 ;
break ;
case 16 :
_context . next = 21 ;
break ;
case 18 :
_context . prev = 18 ;
_context . t0 = _context [ "catch" ] ( 4 ) ;
_iterator3 . e ( _context . t0 ) ;
case 21 :
_context . prev = 21 ;
_iterator3 . f ( ) ;
return _context . finish ( 21 ) ;
case 24 :
case "end" :
return _context . stop ( ) ;
}
}
} , utils _marked , null , [ [ 4 , 18 , 21 , 24 ] ] ) ;
}
function iterateDescendants ( node ) {
var stack , childNode ;
return external _regeneratorRuntime _default . a . wrap ( function iterateDescendants$ ( _context2 ) {
while ( 1 ) {
switch ( _context2 . prev = _context2 . next ) {
case 0 :
stack = Object . values ( node . children ) ;
case 1 :
if ( ! stack . length ) {
_context2 . next = 8 ;
break ;
}
childNode = stack . pop ( ) ;
_context2 . next = 5 ;
return childNode ;
case 5 :
stack . push . apply ( stack , Object ( toConsumableArray [ "a" /* default */ ] ) ( Object . values ( childNode . children ) ) ) ;
_context2 . next = 1 ;
break ;
case 8 :
case "end" :
return _context2 . stop ( ) ;
}
}
} , utils _marked2 ) ;
}
function hasConflictingLock ( _ref , locks ) {
var exclusive = _ref . exclusive ;
if ( exclusive && locks . length ) {
return true ;
}
if ( ! exclusive && locks . filter ( function ( lock ) {
return lock . exclusive ;
} ) . length ) {
return true ;
}
return false ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/locks/reducer.js
function locks _reducer _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function locks _reducer _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { locks _reducer _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { locks _reducer _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
/ * *
* Internal dependencies
* /
var DEFAULT _STATE = {
requests : [ ] ,
tree : {
locks : [ ] ,
children : { }
}
} ;
/ * *
* Reducer returning locks .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
function reducer _locks ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : DEFAULT _STATE ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'ENQUEUE_LOCK_REQUEST' :
{
var request = action . request ;
return locks _reducer _objectSpread ( locks _reducer _objectSpread ( { } , state ) , { } , {
requests : [ request ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( state . requests ) )
} ) ;
}
case 'GRANT_LOCK_REQUEST' :
{
var lock = action . lock ,
_request = action . request ;
var store = _request . store ,
path = _request . path ;
var storePath = [ store ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( path ) ) ;
var newTree = deepCopyLocksTreePath ( state . tree , storePath ) ;
var node = getNode ( newTree , storePath ) ;
node . locks = [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( node . locks ) , [ lock ] ) ;
return locks _reducer _objectSpread ( locks _reducer _objectSpread ( { } , state ) , { } , {
requests : state . requests . filter ( function ( r ) {
return r !== _request ;
} ) ,
tree : newTree
} ) ;
}
case 'RELEASE_LOCK' :
{
var _lock = action . lock ;
var _storePath = [ _lock . store ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( _lock . path ) ) ;
var _newTree = deepCopyLocksTreePath ( state . tree , _storePath ) ;
var _node = getNode ( _newTree , _storePath ) ;
_node . locks = _node . locks . filter ( function ( l ) {
return l !== _lock ;
} ) ;
return locks _reducer _objectSpread ( locks _reducer _objectSpread ( { } , state ) , { } , {
tree : _newTree
} ) ;
}
}
return state ;
}
/* harmony default export */ var locks _reducer = ( reducer _locks ) ;
2020-06-26 09:33:47 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/reducer.js
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
2021-01-27 21:04:13 -05:00
function reducer _createForOfIteratorHelper ( o , allowArrayLike ) { var it ; if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) { if ( Array . isArray ( o ) || ( it = reducer _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = o [ Symbol . iterator ] ( ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it . return != null ) it . return ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
2018-12-17 22:14:52 -05:00
2021-01-27 21:04:13 -05:00
function reducer _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return reducer _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return reducer _arrayLikeToArray ( o , minLen ) ; }
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
function reducer _arrayLikeToArray ( arr , len ) { if ( len == null || len > arr . length ) len = arr . length ; for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; }
2018-12-13 23:41:57 -05:00
2020-02-06 16:03:31 -05:00
function build _module _reducer _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function build _module _reducer _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { build _module _reducer _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { build _module _reducer _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
2019-09-19 11:19:18 -04:00
2018-12-13 23:41:57 -05:00
/ * *
* Internal dependencies
* /
2021-01-27 21:04:13 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Reducer managing terms state . Keyed by taxonomy slug , the value is either
* undefined ( if no request has been made for given taxonomy ) , null ( if a
* request is in - flight for given taxonomy ) , or the array of terms for the
* taxonomy .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function terms ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
case 'RECEIVE_TERMS' :
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . taxonomy , action . terms ) ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
2018-12-13 23:41:57 -05:00
}
/ * *
2018-12-17 22:14:52 -05:00
* Reducer managing authors state . Keyed by id .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function reducer _users ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : {
byId : { } ,
queries : { }
} ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
case 'RECEIVE_USER_QUERY' :
return {
2021-01-27 21:04:13 -05:00
byId : build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state . byId ) , Object ( external _lodash _ [ "keyBy" ] ) ( action . users , 'id' ) ) ,
queries : build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state . queries ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . queryID , Object ( external _lodash _ [ "map" ] ) ( action . users , function ( user ) {
2018-12-17 22:14:52 -05:00
return user . id ;
} ) ) )
} ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
2018-12-13 23:41:57 -05:00
}
2019-09-19 11:19:18 -04:00
/ * *
* Reducer managing current user state .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
function reducer _currentUser ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'RECEIVE_CURRENT_USER' :
return action . currentUser ;
}
return state ;
}
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Reducer managing taxonomies .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function reducer _taxonomies ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : [ ] ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
case 'RECEIVE_TAXONOMIES' :
return action . taxonomies ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
}
2020-06-26 09:33:47 -04:00
/ * *
* Reducer managing the current theme .
*
* @ param { string } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { string } Updated state .
* /
function currentTheme ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : undefined ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'RECEIVE_CURRENT_THEME' :
return action . currentTheme . stylesheet ;
}
return state ;
}
/ * *
* Reducer managing installed themes .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
function themes ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'RECEIVE_CURRENT_THEME' :
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . currentTheme . stylesheet , action . currentTheme ) ) ;
2020-06-26 09:33:47 -04:00
}
return state ;
}
2018-12-17 22:14:52 -05:00
/ * *
* Reducer managing theme supports data .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function themeSupports ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
case 'RECEIVE_THEME_SUPPORTS' :
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , action . themeSupports ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
/ * *
* Higher Order Reducer for a given entity config . It supports :
*
2019-09-19 11:19:18 -04:00
* - Fetching
* - Editing
* - Saving
2018-12-17 22:14:52 -05:00
*
* @ param { Object } entityConfig Entity config .
*
* @ return { Function } Reducer .
* /
2018-12-14 06:02:53 -05:00
2018-12-17 22:14:52 -05:00
function reducer _entity ( entityConfig ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "flowRight" ] ) ( [ // Limit to matching action type so we don't attempt to replace action on
2018-12-17 22:14:52 -05:00
// an unhandled action.
if _matching _action ( function ( action ) {
return action . name && action . kind && action . name === entityConfig . name && action . kind === entityConfig . kind ;
} ) , // Inject the entity config into the action.
replace _action ( function ( action ) {
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , action ) , { } , {
2018-12-17 22:14:52 -05:00
key : entityConfig . key || DEFAULT _ENTITY _KEY
} ) ;
2021-01-27 21:04:13 -05:00
} ) ] ) ( Object ( external _wp _data _ [ "combineReducers" ] ) ( {
2019-09-19 11:19:18 -04:00
queriedData : queried _data _reducer ,
edits : function edits ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'RECEIVE_ITEMS' :
2020-02-06 16:03:31 -05:00
var nextState = build _module _reducer _objectSpread ( { } , state ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
var _iterator = reducer _createForOfIteratorHelper ( action . items ) ,
2020-06-26 09:33:47 -04:00
_step ;
2019-09-19 11:19:18 -04:00
try {
var _loop = function _loop ( ) {
var record = _step . value ;
var recordId = record [ action . key ] ;
var edits = nextState [ recordId ] ;
if ( ! edits ) {
return "continue" ;
}
var nextEdits = Object . keys ( edits ) . reduce ( function ( acc , key ) {
// If the edited value is still different to the persisted value,
// keep the edited value in edits.
if ( // Edits are the "raw" attribute values, but records may have
// objects with more properties, so we use `get` here for the
// comparison.
2021-01-27 21:04:13 -05:00
! Object ( external _lodash _ [ "isEqual" ] ) ( edits [ key ] , Object ( external _lodash _ [ "get" ] ) ( record [ key ] , 'raw' , record [ key ] ) ) && ( // Sometimes the server alters the sent value which means
// we need to also remove the edits before the api request.
! action . persistedEdits || ! Object ( external _lodash _ [ "isEqual" ] ) ( edits [ key ] , action . persistedEdits [ key ] ) ) ) {
2019-09-19 11:19:18 -04:00
acc [ key ] = edits [ key ] ;
}
return acc ;
} , { } ) ;
if ( Object . keys ( nextEdits ) . length ) {
nextState [ recordId ] = nextEdits ;
} else {
delete nextState [ recordId ] ;
}
} ;
2020-06-26 09:33:47 -04:00
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
2019-09-19 11:19:18 -04:00
var _ret = _loop ( ) ;
if ( _ret === "continue" ) continue ;
}
} catch ( err ) {
2020-06-26 09:33:47 -04:00
_iterator . e ( err ) ;
2019-09-19 11:19:18 -04:00
} finally {
2020-06-26 09:33:47 -04:00
_iterator . f ( ) ;
2019-09-19 11:19:18 -04:00
}
return nextState ;
case 'EDIT_ENTITY_RECORD' :
2020-10-13 09:10:30 -04:00
var nextEdits = build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state [ action . recordId ] ) , action . edits ) ;
2019-09-19 11:19:18 -04:00
Object . keys ( nextEdits ) . forEach ( function ( key ) {
// Delete cleared edits so that the properties
// are not considered dirty.
if ( nextEdits [ key ] === undefined ) {
delete nextEdits [ key ] ;
}
} ) ;
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . recordId , nextEdits ) ) ;
2019-09-19 11:19:18 -04:00
}
return state ;
} ,
saving : function saving ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'SAVE_ENTITY_RECORD_START' :
case 'SAVE_ENTITY_RECORD_FINISH' :
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . recordId , {
2019-09-19 11:19:18 -04:00
pending : action . type === 'SAVE_ENTITY_RECORD_START' ,
error : action . error ,
isAutosave : action . isAutosave
} ) ) ;
}
2020-10-13 09:10:30 -04:00
return state ;
} ,
deleting : function deleting ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'DELETE_ENTITY_RECORD_START' :
case 'DELETE_ENTITY_RECORD_FINISH' :
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . recordId , {
pending : action . type === 'DELETE_ENTITY_RECORD_START' ,
error : action . error
} ) ) ;
}
2019-09-19 11:19:18 -04:00
return state ;
}
} ) ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Reducer keeping track of the registered entities .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
2018-12-13 23:41:57 -05:00
* /
2018-12-14 06:02:53 -05:00
2018-12-17 22:14:52 -05:00
function entitiesConfig ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : defaultEntities ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
case 'ADD_ENTITIES' :
2019-03-07 04:09:59 -05:00
return [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( state ) , Object ( toConsumableArray [ "a" /* default */ ] ) ( action . entities ) ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
2018-12-13 23:41:57 -05:00
}
/ * *
2018-12-17 22:14:52 -05:00
* Reducer keeping track of the registered entities config and data .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
var reducer _entities = function entities ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
var newConfig = entitiesConfig ( state . config , action ) ; // Generates a dynamic reducer for the entities
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var entitiesDataReducer = state . reducer ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( ! entitiesDataReducer || newConfig !== state . config ) {
2021-01-27 21:04:13 -05:00
var entitiesByKind = Object ( external _lodash _ [ "groupBy" ] ) ( newConfig , 'kind' ) ;
entitiesDataReducer = Object ( external _wp _data _ [ "combineReducers" ] ) ( Object . entries ( entitiesByKind ) . reduce ( function ( memo , _ref ) {
2018-12-17 22:14:52 -05:00
var _ref2 = Object ( slicedToArray [ "a" /* default */ ] ) ( _ref , 2 ) ,
kind = _ref2 [ 0 ] ,
subEntities = _ref2 [ 1 ] ;
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
var kindReducer = Object ( external _wp _data _ [ "combineReducers" ] ) ( subEntities . reduce ( function ( kindMemo , entityConfig ) {
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , kindMemo ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , entityConfig . name , reducer _entity ( entityConfig ) ) ) ;
2018-12-17 22:14:52 -05:00
} , { } ) ) ;
memo [ kind ] = kindReducer ;
return memo ;
} , { } ) ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var newData = entitiesDataReducer ( state . data , action ) ;
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
2018-12-17 22:14:52 -05:00
if ( newData === state . data && newConfig === state . config && entitiesDataReducer === state . reducer ) {
return state ;
}
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
2018-12-17 22:14:52 -05:00
return {
reducer : entitiesDataReducer ,
data : newData ,
config : newConfig
} ;
} ;
2019-09-19 11:19:18 -04:00
/ * *
* Reducer keeping track of entity edit undo history .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
var UNDO _INITIAL _STATE = [ ] ;
UNDO _INITIAL _STATE . offset = 0 ;
Block Editor: Update WordPress packages to include the latest bug fixes.
Updated packages:
@wordpress/annotations@1.7.1
@wordpress/api-fetch@3.6.1
@wordpress/babel-plugin-makepot@3.2.1
@wordpress/babel-preset-default@4.6.1
@wordpress/block-directory@1.0.1
@wordpress/block-editor@3.2.1
@wordpress/block-library@2.9.1
@wordpress/blocks@6.7.1
@wordpress/components@8.3.1
@wordpress/compose@3.7.1
@wordpress/core-data@2.7.1
@wordpress/data-controls@1.3.1
@wordpress/data@4.9.1
@wordpress/docgen@1.4.1
@wordpress/dom@2.5.1
@wordpress/e2e-test-utils@2.4.1
@wordpress/e2e-tests@1.7.1
@wordpress/edit-post@3.8.1
@wordpress/editor@9.7.1
@wordpress/element@2.8.1
@wordpress/format-library@1.9.1
@wordpress/i18n@3.6.1
@wordpress/jest-console@3.3.1
@wordpress/jest-preset-default@5.1.1
@wordpress/keycodes@2.6.1
@wordpress/library-export-default-webpack-plugin@1.4.1
@wordpress/list-reusable-blocks@1.8.1
@wordpress/media-utils@1.2.1
@wordpress/notices@1.8.1
@wordpress/nux@3.7.1
@wordpress/plugins@2.7.1
@wordpress/redux-routine@3.6.1
@wordpress/rich-text@3.7.1
@wordpress/scripts@5.0.1
@wordpress/server-side-render@1.3.1
@wordpress/shortcode@2.4.1
@wordpress/token-list@1.6.1
@wordpress/viewport@2.8.1
@wordpress/wordcount@2.6.1
Props epiqueras, youknowriad, donmhico, jorgefilipecosta, soean, mcsf, noisysocks, andraganescu, gziolo, talldanwp, iseulde, nrqsnchz, mapk, karmatosed, joen, afercia, kjellr, desrosj.
Fixes #48186.
Built from https://develop.svn.wordpress.org/trunk@46364
git-svn-id: http://core.svn.wordpress.org/trunk@46163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-30 16:07:06 -04:00
var lastEditAction ;
2019-09-19 11:19:18 -04:00
function reducer _undo ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : UNDO _INITIAL _STATE ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'EDIT_ENTITY_RECORD' :
Block Editor: Update WordPress packages to include the latest bug fixes.
Updated packages:
@wordpress/annotations@1.7.1
@wordpress/api-fetch@3.6.1
@wordpress/babel-plugin-makepot@3.2.1
@wordpress/babel-preset-default@4.6.1
@wordpress/block-directory@1.0.1
@wordpress/block-editor@3.2.1
@wordpress/block-library@2.9.1
@wordpress/blocks@6.7.1
@wordpress/components@8.3.1
@wordpress/compose@3.7.1
@wordpress/core-data@2.7.1
@wordpress/data-controls@1.3.1
@wordpress/data@4.9.1
@wordpress/docgen@1.4.1
@wordpress/dom@2.5.1
@wordpress/e2e-test-utils@2.4.1
@wordpress/e2e-tests@1.7.1
@wordpress/edit-post@3.8.1
@wordpress/editor@9.7.1
@wordpress/element@2.8.1
@wordpress/format-library@1.9.1
@wordpress/i18n@3.6.1
@wordpress/jest-console@3.3.1
@wordpress/jest-preset-default@5.1.1
@wordpress/keycodes@2.6.1
@wordpress/library-export-default-webpack-plugin@1.4.1
@wordpress/list-reusable-blocks@1.8.1
@wordpress/media-utils@1.2.1
@wordpress/notices@1.8.1
@wordpress/nux@3.7.1
@wordpress/plugins@2.7.1
@wordpress/redux-routine@3.6.1
@wordpress/rich-text@3.7.1
@wordpress/scripts@5.0.1
@wordpress/server-side-render@1.3.1
@wordpress/shortcode@2.4.1
@wordpress/token-list@1.6.1
@wordpress/viewport@2.8.1
@wordpress/wordcount@2.6.1
Props epiqueras, youknowriad, donmhico, jorgefilipecosta, soean, mcsf, noisysocks, andraganescu, gziolo, talldanwp, iseulde, nrqsnchz, mapk, karmatosed, joen, afercia, kjellr, desrosj.
Fixes #48186.
Built from https://develop.svn.wordpress.org/trunk@46364
git-svn-id: http://core.svn.wordpress.org/trunk@46163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-30 16:07:06 -04:00
case 'CREATE_UNDO_LEVEL' :
2019-10-15 12:17:12 -04:00
var isCreateUndoLevel = action . type === 'CREATE_UNDO_LEVEL' ;
var isUndoOrRedo = ! isCreateUndoLevel && ( action . meta . isUndo || action . meta . isRedo ) ;
if ( isCreateUndoLevel ) {
Block Editor: Update WordPress packages to include the latest bug fixes.
Updated packages:
@wordpress/annotations@1.7.1
@wordpress/api-fetch@3.6.1
@wordpress/babel-plugin-makepot@3.2.1
@wordpress/babel-preset-default@4.6.1
@wordpress/block-directory@1.0.1
@wordpress/block-editor@3.2.1
@wordpress/block-library@2.9.1
@wordpress/blocks@6.7.1
@wordpress/components@8.3.1
@wordpress/compose@3.7.1
@wordpress/core-data@2.7.1
@wordpress/data-controls@1.3.1
@wordpress/data@4.9.1
@wordpress/docgen@1.4.1
@wordpress/dom@2.5.1
@wordpress/e2e-test-utils@2.4.1
@wordpress/e2e-tests@1.7.1
@wordpress/edit-post@3.8.1
@wordpress/editor@9.7.1
@wordpress/element@2.8.1
@wordpress/format-library@1.9.1
@wordpress/i18n@3.6.1
@wordpress/jest-console@3.3.1
@wordpress/jest-preset-default@5.1.1
@wordpress/keycodes@2.6.1
@wordpress/library-export-default-webpack-plugin@1.4.1
@wordpress/list-reusable-blocks@1.8.1
@wordpress/media-utils@1.2.1
@wordpress/notices@1.8.1
@wordpress/nux@3.7.1
@wordpress/plugins@2.7.1
@wordpress/redux-routine@3.6.1
@wordpress/rich-text@3.7.1
@wordpress/scripts@5.0.1
@wordpress/server-side-render@1.3.1
@wordpress/shortcode@2.4.1
@wordpress/token-list@1.6.1
@wordpress/viewport@2.8.1
@wordpress/wordcount@2.6.1
Props epiqueras, youknowriad, donmhico, jorgefilipecosta, soean, mcsf, noisysocks, andraganescu, gziolo, talldanwp, iseulde, nrqsnchz, mapk, karmatosed, joen, afercia, kjellr, desrosj.
Fixes #48186.
Built from https://develop.svn.wordpress.org/trunk@46364
git-svn-id: http://core.svn.wordpress.org/trunk@46163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-30 16:07:06 -04:00
action = lastEditAction ;
2019-10-15 12:17:12 -04:00
} else if ( ! isUndoOrRedo ) {
2020-01-08 06:57:23 -05:00
// Don't lose the last edit cache if the new one only has transient edits.
// Transient edits don't create new levels so updating the cache would make
// us skip an edit later when creating levels explicitly.
if ( Object . keys ( action . edits ) . some ( function ( key ) {
return ! action . transientEdits [ key ] ;
} ) ) {
lastEditAction = action ;
} else {
2020-10-13 09:10:30 -04:00
lastEditAction = build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , action ) , { } , {
edits : build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , lastEditAction && lastEditAction . edits ) , action . edits )
2020-01-08 06:57:23 -05:00
} ) ;
}
Block Editor: Update WordPress packages to include the latest bug fixes.
Updated packages:
@wordpress/annotations@1.7.1
@wordpress/api-fetch@3.6.1
@wordpress/babel-plugin-makepot@3.2.1
@wordpress/babel-preset-default@4.6.1
@wordpress/block-directory@1.0.1
@wordpress/block-editor@3.2.1
@wordpress/block-library@2.9.1
@wordpress/blocks@6.7.1
@wordpress/components@8.3.1
@wordpress/compose@3.7.1
@wordpress/core-data@2.7.1
@wordpress/data-controls@1.3.1
@wordpress/data@4.9.1
@wordpress/docgen@1.4.1
@wordpress/dom@2.5.1
@wordpress/e2e-test-utils@2.4.1
@wordpress/e2e-tests@1.7.1
@wordpress/edit-post@3.8.1
@wordpress/editor@9.7.1
@wordpress/element@2.8.1
@wordpress/format-library@1.9.1
@wordpress/i18n@3.6.1
@wordpress/jest-console@3.3.1
@wordpress/jest-preset-default@5.1.1
@wordpress/keycodes@2.6.1
@wordpress/library-export-default-webpack-plugin@1.4.1
@wordpress/list-reusable-blocks@1.8.1
@wordpress/media-utils@1.2.1
@wordpress/notices@1.8.1
@wordpress/nux@3.7.1
@wordpress/plugins@2.7.1
@wordpress/redux-routine@3.6.1
@wordpress/rich-text@3.7.1
@wordpress/scripts@5.0.1
@wordpress/server-side-render@1.3.1
@wordpress/shortcode@2.4.1
@wordpress/token-list@1.6.1
@wordpress/viewport@2.8.1
@wordpress/wordcount@2.6.1
Props epiqueras, youknowriad, donmhico, jorgefilipecosta, soean, mcsf, noisysocks, andraganescu, gziolo, talldanwp, iseulde, nrqsnchz, mapk, karmatosed, joen, afercia, kjellr, desrosj.
Fixes #48186.
Built from https://develop.svn.wordpress.org/trunk@46364
git-svn-id: http://core.svn.wordpress.org/trunk@46163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-30 16:07:06 -04:00
}
2019-10-15 12:17:12 -04:00
var nextState ;
if ( isUndoOrRedo ) {
nextState = Object ( toConsumableArray [ "a" /* default */ ] ) ( state ) ;
nextState . offset = state . offset + ( action . meta . isUndo ? - 1 : 1 ) ;
if ( state . flattenedUndo ) {
// The first undo in a sequence of undos might happen while we have
// flattened undos in state. If this is the case, we want execution
// to continue as if we were creating an explicit undo level. This
// will result in an extra undo level being appended with the flattened
// undo values.
isCreateUndoLevel = true ;
action = lastEditAction ;
} else {
return nextState ;
}
2019-09-19 11:19:18 -04:00
}
if ( ! action . meta . undo ) {
return state ;
} // Transient edits don't create an undo level, but are
// reachable in the next meaningful edit to which they
// are merged. They are defined in the entity's config.
2019-10-15 12:17:12 -04:00
if ( ! isCreateUndoLevel && ! Object . keys ( action . edits ) . some ( function ( key ) {
2019-09-19 11:19:18 -04:00
return ! action . transientEdits [ key ] ;
} ) ) {
2019-10-15 12:17:12 -04:00
nextState = Object ( toConsumableArray [ "a" /* default */ ] ) ( state ) ;
2020-10-13 09:10:30 -04:00
nextState . flattenedUndo = build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state . flattenedUndo ) , action . edits ) ;
2019-10-15 12:17:12 -04:00
nextState . offset = state . offset ;
return nextState ;
2019-09-19 11:19:18 -04:00
} // Clear potential redos, because this only supports linear history.
2019-10-15 12:17:12 -04:00
nextState = nextState || state . slice ( 0 , state . offset || undefined ) ;
nextState . offset = nextState . offset || 0 ;
2019-09-19 11:19:18 -04:00
nextState . pop ( ) ;
2019-10-15 12:17:12 -04:00
if ( ! isCreateUndoLevel ) {
nextState . push ( {
kind : action . meta . undo . kind ,
name : action . meta . undo . name ,
recordId : action . meta . undo . recordId ,
2020-10-13 09:10:30 -04:00
edits : build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state . flattenedUndo ) , action . meta . undo . edits )
2019-10-15 12:17:12 -04:00
} ) ;
} // When an edit is a function it's an optimization to avoid running some expensive operation.
2019-09-19 11:19:18 -04:00
// We can't rely on the function references being the same so we opt out of comparing them here.
2019-10-15 12:17:12 -04:00
2019-09-19 11:19:18 -04:00
var comparisonUndoEdits = Object . values ( action . meta . undo . edits ) . filter ( function ( edit ) {
return typeof edit !== 'function' ;
} ) ;
var comparisonEdits = Object . values ( action . edits ) . filter ( function ( edit ) {
return typeof edit !== 'function' ;
} ) ;
2021-01-27 21:04:13 -05:00
if ( ! external _wp _isShallowEqual _default ( ) ( comparisonUndoEdits , comparisonEdits ) ) {
2019-09-19 11:19:18 -04:00
nextState . push ( {
kind : action . kind ,
name : action . name ,
recordId : action . recordId ,
2020-10-13 09:10:30 -04:00
edits : isCreateUndoLevel ? build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state . flattenedUndo ) , action . edits ) : action . edits
2019-09-19 11:19:18 -04:00
} ) ;
}
return nextState ;
}
return state ;
}
2018-12-17 22:14:52 -05:00
/ * *
* Reducer managing embed preview data .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
2018-12-17 22:14:52 -05:00
function embedPreviews ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
case 'RECEIVE_EMBED_PREVIEW' :
var url = action . url ,
preview = action . preview ;
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , url , preview ) ) ;
2018-12-17 22:14:52 -05:00
}
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
2018-12-17 22:14:52 -05:00
return state ;
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
}
2018-12-17 22:14:52 -05:00
/ * *
2019-03-07 04:09:59 -05:00
* State which tracks whether the user can perform an action on a REST
* resource .
2018-12-17 22:14:52 -05:00
*
2019-03-07 04:09:59 -05:00
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
2018-12-17 22:14:52 -05:00
*
* @ return { Object } Updated state .
* /
2018-12-13 23:41:57 -05:00
2019-03-07 04:09:59 -05:00
function userPermissions ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
2018-12-17 22:14:52 -05:00
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( action . type ) {
2019-03-07 04:09:59 -05:00
case 'RECEIVE_USER_PERMISSION' :
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . key , action . isAllowed ) ) ;
2018-12-17 22:14:52 -05:00
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
}
2019-09-19 11:19:18 -04:00
/ * *
* Reducer returning autosaves keyed by their parent ' s post id .
*
* @ param { Object } state Current state .
* @ param { Object } action Dispatched action .
*
* @ return { Object } Updated state .
* /
function reducer _autosaves ( ) {
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ;
var action = arguments . length > 1 ? arguments [ 1 ] : undefined ;
switch ( action . type ) {
case 'RECEIVE_AUTOSAVES' :
var postId = action . postId ,
autosavesData = action . autosaves ;
2020-10-13 09:10:30 -04:00
return build _module _reducer _objectSpread ( build _module _reducer _objectSpread ( { } , state ) , { } , Object ( defineProperty [ "a" /* default */ ] ) ( { } , postId , autosavesData ) ) ;
2019-09-19 11:19:18 -04:00
}
return state ;
}
2021-01-27 21:04:13 -05:00
/* harmony default export */ var build _module _reducer = ( Object ( external _wp _data _ [ "combineReducers" ] ) ( {
2018-12-17 22:14:52 -05:00
terms : terms ,
users : reducer _users ,
2020-06-26 09:33:47 -04:00
currentTheme : currentTheme ,
2019-09-19 11:19:18 -04:00
currentUser : reducer _currentUser ,
2018-12-17 22:14:52 -05:00
taxonomies : reducer _taxonomies ,
2020-06-26 09:33:47 -04:00
themes : themes ,
2018-12-17 22:14:52 -05:00
themeSupports : themeSupports ,
entities : reducer _entities ,
2019-09-19 11:19:18 -04:00
undo : reducer _undo ,
2018-12-17 22:14:52 -05:00
embedPreviews : embedPreviews ,
2019-09-19 11:19:18 -04:00
userPermissions : userPermissions ,
2021-01-27 21:04:13 -05:00
autosaves : reducer _autosaves ,
locks : locks _reducer
2018-12-17 22:14:52 -05:00
} ) ) ;
2020-06-26 09:33:47 -04:00
// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js
2021-01-27 21:04:13 -05:00
var rememo = _ _webpack _require _ _ ( 41 ) ;
2020-06-26 09:33:47 -04:00
2021-01-27 21:04:13 -05:00
// EXTERNAL MODULE: external ["wp","deprecated"]
var external _wp _deprecated _ = _ _webpack _require _ _ ( 35 ) ;
var external _wp _deprecated _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _wp _deprecated _ ) ;
2019-03-07 04:09:59 -05:00
2018-12-17 22:14:52 -05:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/name.js
/ * *
* The reducer key used by core data in store registration .
* This is defined in a separate file to avoid cycle - dependency
*
* @ type { string }
* /
2021-01-27 21:04:13 -05:00
var STORE _NAME = 'core' ;
2018-12-13 23:41:57 -05:00
2020-06-26 09:33:47 -04:00
// EXTERNAL MODULE: ./node_modules/equivalent-key-map/equivalent-key-map.js
2021-02-02 00:17:13 -05:00
var equivalent _key _map = _ _webpack _require _ _ ( 104 ) ;
2020-06-26 09:33:47 -04:00
var equivalent _key _map _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( equivalent _key _map ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/queried-data/selectors.js
/ * *
* External dependencies
* /
2020-10-13 09:10:30 -04:00
2020-06-26 09:33:47 -04:00
/ * *
* Internal dependencies
* /
/ * *
* Cache of state keys to EquivalentKeyMap where the inner map tracks queries
* to their resulting items set . WeakMap allows garbage collection on expired
* state references .
*
* @ type { WeakMap < Object , EquivalentKeyMap > }
* /
var queriedItemsCacheByState = new WeakMap ( ) ;
/ * *
* Returns items for a given query , or null if the items are not known .
*
* @ param { Object } state State object .
* @ param { ? Object } query Optional query .
*
* @ return { ? Array } Query items .
* /
function getQueriedItemsUncached ( state , query ) {
var _getQueryParts = get _query _parts ( query ) ,
stableKey = _getQueryParts . stableKey ,
page = _getQueryParts . page ,
2020-10-13 09:10:30 -04:00
perPage = _getQueryParts . perPage ,
include = _getQueryParts . include ,
fields = _getQueryParts . fields ;
var itemIds ;
if ( Array . isArray ( include ) && ! stableKey ) {
// If the parsed query yields a set of IDs, but otherwise no filtering,
// it's safe to consider targeted item IDs as the include set. This
// doesn't guarantee that those objects have been queried, which is
// accounted for below in the loop `null` return.
itemIds = include ; // TODO: Avoid storing the empty stable string in reducer, since it
// can be computed dynamically here always.
} else if ( state . queries [ stableKey ] ) {
itemIds = state . queries [ stableKey ] ;
2020-06-26 09:33:47 -04:00
}
if ( ! itemIds ) {
return null ;
}
var startOffset = perPage === - 1 ? 0 : ( page - 1 ) * perPage ;
var endOffset = perPage === - 1 ? itemIds . length : Math . min ( startOffset + perPage , itemIds . length ) ;
var items = [ ] ;
for ( var i = startOffset ; i < endOffset ; i ++ ) {
var itemId = itemIds [ i ] ;
2020-10-13 09:10:30 -04:00
if ( Array . isArray ( include ) && ! include . includes ( itemId ) ) {
continue ;
}
if ( ! state . items . hasOwnProperty ( itemId ) ) {
return null ;
}
var item = state . items [ itemId ] ;
var filteredItem = void 0 ;
if ( Array . isArray ( fields ) ) {
filteredItem = { } ;
for ( var f = 0 ; f < fields . length ; f ++ ) {
var field = fields [ f ] . split ( '.' ) ;
2021-01-27 21:04:13 -05:00
var value = Object ( external _lodash _ [ "get" ] ) ( item , field ) ;
Object ( external _lodash _ [ "set" ] ) ( filteredItem , field , value ) ;
2020-10-13 09:10:30 -04:00
}
} else {
// If expecting a complete item, validate that completeness, or
// otherwise abort.
if ( ! state . itemIsComplete [ itemId ] ) {
return null ;
}
filteredItem = item ;
}
items . push ( filteredItem ) ;
2020-06-26 09:33:47 -04:00
}
return items ;
}
/ * *
* Returns items for a given query , or null if the items are not known . Caches
* result both per state ( by reference ) and per query ( by deep equality ) .
* The caching approach is intended to be durable to query objects which are
* deeply but not referentially equal , since otherwise :
*
* ` getQueriedItems( state, {} ) !== getQueriedItems( state, {} ) `
*
* @ param { Object } state State object .
* @ param { ? Object } query Optional query .
*
* @ return { ? Array } Query items .
* /
var getQueriedItems = Object ( rememo [ "a" /* default */ ] ) ( function ( state ) {
var query = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : { } ;
var queriedItemsCache = queriedItemsCacheByState . get ( state ) ;
if ( queriedItemsCache ) {
var queriedItems = queriedItemsCache . get ( query ) ;
if ( queriedItems !== undefined ) {
return queriedItems ;
}
} else {
queriedItemsCache = new equivalent _key _map _default . a ( ) ;
queriedItemsCacheByState . set ( state , queriedItemsCache ) ;
}
var items = getQueriedItemsUncached ( state , query ) ;
queriedItemsCache . set ( query , items ) ;
return items ;
} ) ;
2018-12-17 22:14:52 -05:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/selectors.js
2019-09-19 11:19:18 -04:00
2020-02-06 16:03:31 -05:00
function selectors _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function selectors _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { selectors _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { selectors _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
2019-03-07 04:09:59 -05:00
2020-12-01 07:19:43 -05:00
2018-12-13 23:41:57 -05:00
/ * *
* Internal dependencies
* /
2020-06-26 09:33:47 -04:00
2020-10-20 09:36:16 -04:00
2021-01-27 21:04:13 -05:00
/ * *
* Shared reference to an empty array for cases where it is important to avoid
* returning a new array reference on every invocation , as in a connected or
* other pure component which performs ` shouldComponentUpdate ` check on props .
* This should be used as a last resort , since the normalized data should be
* maintained by the reducer result in state .
*
* @ type { Array }
* /
var EMPTY _ARRAY = [ ] ;
2018-12-13 23:41:57 -05:00
/ * *
* Returns true if a request is in progress for embed preview data , or false
* otherwise .
*
* @ param { Object } state Data state .
* @ param { string } url URL the preview would be for .
*
* @ return { boolean } Whether a request is in progress for an embed preview .
* /
2021-01-27 21:04:13 -05:00
var isRequestingEmbedPreview = Object ( external _wp _data _ [ "createRegistrySelector" ] ) ( function ( select ) {
2019-03-07 04:09:59 -05:00
return function ( state , url ) {
2021-01-27 21:04:13 -05:00
return select ( 'core/data' ) . isResolving ( STORE _NAME , 'getEmbedPreview' , [ url ] ) ;
2019-03-07 04:09:59 -05:00
} ;
} ) ;
2020-12-01 07:19:43 -05:00
/ * *
* Returns all available authors .
*
* @ param { Object } state Data state .
* @ param { Object | undefined } query Optional object of query parameters to
* include with request .
* @ return { Array } Authors list .
* /
function getAuthors ( state , query ) {
2021-01-27 21:04:13 -05:00
var path = Object ( external _wp _url _ [ "addQueryArgs" ] ) ( '/wp/v2/users/?who=authors&per_page=100' , query ) ;
2020-12-01 07:19:43 -05:00
return getUserQueryResults ( state , path ) ;
}
2018-12-13 23:41:57 -05:00
/ * *
* Returns all available authors .
*
* @ param { Object } state Data state .
2020-12-01 07:19:43 -05:00
* @ param { number } id The author id .
2018-12-13 23:41:57 -05:00
*
* @ return { Array } Authors list .
* /
2020-12-01 07:19:43 -05:00
function _ _unstableGetAuthor ( state , id ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state , [ 'users' , 'byId' , id ] , null ) ;
2018-12-13 23:41:57 -05:00
}
2019-09-19 11:19:18 -04:00
/ * *
* Returns the current user .
*
* @ param { Object } state Data state .
*
* @ return { Object } Current user object .
* /
function getCurrentUser ( state ) {
return state . currentUser ;
}
2018-12-13 23:41:57 -05:00
/ * *
* Returns all the users returned by a query ID .
*
* @ param { Object } state Data state .
* @ param { string } queryID Query ID .
*
* @ return { Array } Users list .
* /
2018-12-17 22:14:52 -05:00
var getUserQueryResults = Object ( rememo [ "a" /* default */ ] ) ( function ( state , queryID ) {
2018-12-13 23:41:57 -05:00
var queryResults = state . users . queries [ queryID ] ;
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "map" ] ) ( queryResults , function ( id ) {
2018-12-13 23:41:57 -05:00
return state . users . byId [ id ] ;
} ) ;
} , function ( state , queryID ) {
return [ state . users . queries [ queryID ] , state . users . byId ] ;
} ) ;
/ * *
* Returns whether the entities for the give kind are loaded .
*
* @ param { Object } state Data state .
* @ param { string } kind Entity kind .
*
* @ return { boolean } Whether the entities are loaded
* /
function getEntitiesByKind ( state , kind ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "filter" ] ) ( state . entities . config , {
2018-12-13 23:41:57 -05:00
kind : kind
} ) ;
}
/ * *
* Returns the entity object given its kind and name .
*
* @ param { Object } state Data state .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
*
* @ return { Object } Entity
* /
2020-01-08 06:57:23 -05:00
function selectors _getEntity ( state , kind , name ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "find" ] ) ( state . entities . config , {
2018-12-13 23:41:57 -05:00
kind : kind ,
name : name
} ) ;
}
/ * *
2020-10-13 09:10:30 -04:00
* Returns the Entity ' s record object by key . Returns ` null ` if the value is not
* yet received , undefined if the value entity is known to not exist , or the
* entity object if it exists and is received .
2019-10-15 11:37:08 -04:00
*
2020-10-13 09:10:30 -04:00
* @ param { Object } state State tree
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } key Record ' s key
* @ param { ? Object } query Optional query .
2019-10-15 11:37:08 -04:00
*
* @ return { Object ? } Record .
* /
2020-10-13 09:10:30 -04:00
function getEntityRecord ( state , kind , name , key , query ) {
2021-01-27 21:04:13 -05:00
var queriedState = Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'queriedData' ] ) ;
2020-10-13 09:10:30 -04:00
if ( ! queriedState ) {
return undefined ;
}
if ( query === undefined ) {
// If expecting a complete item, validate that completeness.
if ( ! queriedState . itemIsComplete [ key ] ) {
return undefined ;
}
return queriedState . items [ key ] ;
}
2020-10-20 09:36:16 -04:00
var item = queriedState . items [ key ] ;
if ( item && query . _fields ) {
var filteredItem = { } ;
var fields = get _normalized _comma _separable ( query . _fields ) ;
for ( var f = 0 ; f < fields . length ; f ++ ) {
var field = fields [ f ] . split ( '.' ) ;
2021-01-27 21:04:13 -05:00
var value = Object ( external _lodash _ [ "get" ] ) ( item , field ) ;
Object ( external _lodash _ [ "set" ] ) ( filteredItem , field , value ) ;
2020-10-20 09:36:16 -04:00
}
return filteredItem ;
}
return item ;
2019-10-15 11:37:08 -04:00
}
2020-02-06 16:03:31 -05:00
/ * *
* Returns the Entity 's record object by key. Doesn' t trigger a resolver nor requests the entity from the API if the entity record isn ' t available in the local state .
*
* @ param { Object } state State tree
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } key Record ' s key
*
2020-10-13 09:10:30 -04:00
* @ return { Object | null } Record .
2020-02-06 16:03:31 -05:00
* /
2020-02-10 17:33:27 -05:00
function _ _experimentalGetEntityRecordNoResolver ( state , kind , name , key ) {
2020-02-06 16:03:31 -05:00
return getEntityRecord ( state , kind , name , key ) ;
}
2019-10-15 11:37:08 -04:00
/ * *
* Returns the entity ' s record object by key ,
* with its attributes mapped to their raw values .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } key Record ' s key .
*
* @ return { Object ? } Object with the entity ' s raw attributes .
* /
var getRawEntityRecord = Object ( rememo [ "a" /* default */ ] ) ( function ( state , kind , name , key ) {
var record = getEntityRecord ( state , kind , name , key ) ;
2020-01-08 06:57:23 -05:00
return record && Object . keys ( record ) . reduce ( function ( accumulator , _key ) {
2019-10-15 11:37:08 -04:00
// Because edits are the "raw" attribute values,
// we return those from record selectors to make rendering,
// comparisons, and joins with edits easier.
2021-01-27 21:04:13 -05:00
accumulator [ _key ] = Object ( external _lodash _ [ "get" ] ) ( record [ _key ] , 'raw' , record [ _key ] ) ;
2020-01-08 06:57:23 -05:00
return accumulator ;
2019-10-15 11:37:08 -04:00
} , { } ) ;
} , function ( state ) {
return [ state . entities . data ] ;
} ) ;
2020-10-13 09:10:30 -04:00
/ * *
* Returns true if records have been received for the given set of parameters ,
* or false otherwise .
*
* @ param { Object } state State tree
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { ? Object } query Optional terms query .
*
* @ return { boolean } Whether entity records have been received .
* /
function hasEntityRecords ( state , kind , name , query ) {
return Array . isArray ( getEntityRecords ( state , kind , name , query ) ) ;
}
2019-10-15 11:37:08 -04:00
/ * *
* Returns the Entity ' s records .
*
2020-10-13 09:10:30 -04:00
* @ param { Object } state State tree
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { ? Object } query Optional terms query .
2019-10-15 11:37:08 -04:00
*
2020-06-26 09:33:47 -04:00
* @ return { ? Array } Records .
2019-10-15 11:37:08 -04:00
* /
function getEntityRecords ( state , kind , name , query ) {
2020-10-13 09:10:30 -04:00
// Queried data state is prepopulated for all known entities. If this is not
// assigned for the given parameters, then it is known to not exist. Thus, a
// return value of an empty array is used instead of `null` (where `null` is
// otherwise used to represent an unknown state).
2021-01-27 21:04:13 -05:00
var queriedState = Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'queriedData' ] ) ;
2019-10-15 11:37:08 -04:00
if ( ! queriedState ) {
2021-01-27 21:04:13 -05:00
return EMPTY _ARRAY ;
2019-10-15 11:37:08 -04:00
}
return getQueriedItems ( queriedState , query ) ;
}
2020-01-22 17:06:21 -05:00
/ * *
2020-06-26 09:33:47 -04:00
* Returns the list of dirty entity records .
2020-01-22 17:06:21 -05:00
*
* @ param { Object } state State tree .
*
2020-06-26 09:33:47 -04:00
* @ return { [ { title : string , key : string , name : string , kind : string } ] } The list of updated records
2020-01-22 17:06:21 -05:00
* /
2020-06-26 09:33:47 -04:00
var _ _experimentalGetDirtyEntityRecords = Object ( rememo [ "a" /* default */ ] ) ( function ( state ) {
2020-01-22 17:06:21 -05:00
var data = state . entities . data ;
2020-06-26 09:33:47 -04:00
var dirtyRecords = [ ] ;
Object . keys ( data ) . forEach ( function ( kind ) {
2020-01-22 17:06:21 -05:00
Object . keys ( data [ kind ] ) . forEach ( function ( name ) {
2020-06-26 09:33:47 -04:00
var primaryKeys = Object . keys ( data [ kind ] [ name ] . edits ) . filter ( function ( primaryKey ) {
return hasEditsForEntityRecord ( state , kind , name , primaryKey ) ;
2020-01-22 17:06:21 -05:00
} ) ;
2020-06-26 09:33:47 -04:00
if ( primaryKeys . length ) {
var entity = selectors _getEntity ( state , kind , name ) ;
primaryKeys . forEach ( function ( primaryKey ) {
2021-01-27 21:04:13 -05:00
var _entity$getTitle ;
2020-10-13 09:10:30 -04:00
var entityRecord = getEditedEntityRecord ( state , kind , name , primaryKey ) ;
2020-06-26 09:33:47 -04:00
dirtyRecords . push ( {
// We avoid using primaryKey because it's transformed into a string
// when it's used as an object key.
key : entityRecord [ entity . key || DEFAULT _ENTITY _KEY ] ,
2021-01-27 21:04:13 -05:00
title : ( entity === null || entity === void 0 ? void 0 : ( _entity$getTitle = entity . getTitle ) === null || _entity$getTitle === void 0 ? void 0 : _entity$getTitle . call ( entity , entityRecord ) ) || '' ,
2020-06-26 09:33:47 -04:00
name : name ,
kind : kind
} ) ;
2020-01-22 17:06:21 -05:00
} ) ;
}
} ) ;
2020-06-26 09:33:47 -04:00
} ) ;
return dirtyRecords ;
2020-01-22 17:06:21 -05:00
} , function ( state ) {
return [ state . entities . data ] ;
} ) ;
2019-10-15 11:37:08 -04:00
/ * *
* Returns the specified entity record ' s edits .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { Object ? } The entity record ' s edits .
* /
function getEntityRecordEdits ( state , kind , name , recordId ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'edits' , recordId ] ) ;
2019-10-15 11:37:08 -04:00
}
/ * *
* Returns the specified entity record ' s non transient edits .
*
* Transient edits don ' t create an undo level , and
* are not considered for change detection .
* They are defined in the entity ' s config .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { Object ? } The entity record ' s non transient edits .
* /
var getEntityRecordNonTransientEdits = Object ( rememo [ "a" /* default */ ] ) ( function ( state , kind , name , recordId ) {
2020-01-08 06:57:23 -05:00
var _ref = selectors _getEntity ( state , kind , name ) || { } ,
2019-12-09 12:37:10 -05:00
transientEdits = _ref . transientEdits ;
var edits = getEntityRecordEdits ( state , kind , name , recordId ) || { } ;
if ( ! transientEdits ) {
return edits ;
}
2019-10-15 11:37:08 -04:00
return Object . keys ( edits ) . reduce ( function ( acc , key ) {
if ( ! transientEdits [ key ] ) {
acc [ key ] = edits [ key ] ;
}
return acc ;
} , { } ) ;
} , function ( state ) {
return [ state . entities . config , state . entities . data ] ;
} ) ;
/ * *
* Returns true if the specified entity record has edits ,
* and false otherwise .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { boolean } Whether the entity record has edits or not .
* /
function hasEditsForEntityRecord ( state , kind , name , recordId ) {
return isSavingEntityRecord ( state , kind , name , recordId ) || Object . keys ( getEntityRecordNonTransientEdits ( state , kind , name , recordId ) ) . length > 0 ;
}
/ * *
* Returns the specified entity record , merged with its edits .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { Object ? } The entity record , merged with its edits .
* /
var getEditedEntityRecord = Object ( rememo [ "a" /* default */ ] ) ( function ( state , kind , name , recordId ) {
2020-10-13 09:10:30 -04:00
return selectors _objectSpread ( selectors _objectSpread ( { } , getRawEntityRecord ( state , kind , name , recordId ) ) , getEntityRecordEdits ( state , kind , name , recordId ) ) ;
2019-10-15 11:37:08 -04:00
} , function ( state ) {
return [ state . entities . data ] ;
} ) ;
/ * *
* Returns true if the specified entity record is autosaving , and false otherwise .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { boolean } Whether the entity record is autosaving or not .
* /
function isAutosavingEntityRecord ( state , kind , name , recordId ) {
2021-01-27 21:04:13 -05:00
var _get = Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'saving' , recordId ] , { } ) ,
2019-10-15 11:37:08 -04:00
pending = _get . pending ,
isAutosave = _get . isAutosave ;
return Boolean ( pending && isAutosave ) ;
}
/ * *
* Returns true if the specified entity record is saving , and false otherwise .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { boolean } Whether the entity record is saving or not .
* /
function isSavingEntityRecord ( state , kind , name , recordId ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'saving' , recordId , 'pending' ] , false ) ;
2019-10-15 11:37:08 -04:00
}
2020-10-13 09:10:30 -04:00
/ * *
* Returns true if the specified entity record is deleting , and false otherwise .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { boolean } Whether the entity record is deleting or not .
* /
function isDeletingEntityRecord ( state , kind , name , recordId ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'deleting' , recordId , 'pending' ] , false ) ;
2020-10-13 09:10:30 -04:00
}
2019-10-15 11:37:08 -04:00
/ * *
* Returns the specified entity record ' s last save error .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { Object ? } The entity record ' s save error .
* /
function getLastEntitySaveError ( state , kind , name , recordId ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'saving' , recordId , 'error' ] ) ;
2019-10-15 11:37:08 -04:00
}
2020-10-13 09:10:30 -04:00
/ * *
* Returns the specified entity record ' s last delete error .
*
* @ param { Object } state State tree .
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } recordId Record ID .
*
* @ return { Object ? } The entity record ' s save error .
* /
function getLastEntityDeleteError ( state , kind , name , recordId ) {
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'deleting' , recordId , 'error' ] ) ;
2020-10-13 09:10:30 -04:00
}
2019-10-15 11:37:08 -04:00
/ * *
* Returns the current undo offset for the
* entity records edits history . The offset
* represents how many items from the end
* of the history stack we are at . 0 is the
* last edit , - 1 is the second last , and so on .
*
* @ param { Object } state State tree .
*
* @ return { number } The current undo offset .
* /
function getCurrentUndoOffset ( state ) {
return state . undo . offset ;
}
/ * *
* Returns the previous edit from the current undo offset
* for the entity records edits history , if any .
*
* @ param { Object } state State tree .
*
* @ return { Object ? } The edit .
* /
function getUndoEdit ( state ) {
return state . undo [ state . undo . length - 2 + getCurrentUndoOffset ( state ) ] ;
}
/ * *
* Returns the next edit from the current undo offset
* for the entity records edits history , if any .
*
* @ param { Object } state State tree .
*
* @ return { Object ? } The edit .
* /
function getRedoEdit ( state ) {
return state . undo [ state . undo . length + getCurrentUndoOffset ( state ) ] ;
}
/ * *
* Returns true if there is a previous edit from the current undo offset
* for the entity records edits history , and false otherwise .
*
* @ param { Object } state State tree .
*
* @ return { boolean } Whether there is a previous edit or not .
* /
function hasUndo ( state ) {
return Boolean ( getUndoEdit ( state ) ) ;
}
/ * *
* Returns true if there is a next edit from the current undo offset
* for the entity records edits history , and false otherwise .
*
* @ param { Object } state State tree .
*
* @ return { boolean } Whether there is a next edit or not .
* /
function hasRedo ( state ) {
return Boolean ( getRedoEdit ( state ) ) ;
}
2020-06-26 09:33:47 -04:00
/ * *
* Return the current theme .
*
* @ param { Object } state Data state .
*
* @ return { Object } The current theme .
* /
function getCurrentTheme ( state ) {
return state . themes [ state . currentTheme ] ;
}
2019-10-15 11:37:08 -04:00
/ * *
* Return theme supports data in the index .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } state Data state .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ return { * } Index data .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function getThemeSupports ( state ) {
return state . themeSupports ;
2018-12-13 23:41:57 -05:00
}
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns the embed preview for the given URL .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } state Data state .
* @ param { string } url Embedded URL .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ return { * } Undefined if the preview has not been fetched , otherwise , the preview fetched from the embed preview API .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
function getEmbedPreview ( state , url ) {
return state . embedPreviews [ url ] ;
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Determines if the returned preview is an oEmbed link fallback .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* WordPress can be configured to return a simple link to a URL if it is not embeddable .
* We need to be able to determine if a URL is embeddable or not , based on what we
* get back from the oEmbed preview API .
2018-12-13 23:41:57 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } state Data state .
* @ param { string } url Embedded URL .
*
* @ return { boolean } Is the preview for the URL an oEmbed link fallback .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function isPreviewEmbedFallback ( state , url ) {
var preview = state . embedPreviews [ url ] ;
var oEmbedLinkCheck = '<a href="' + url + '">' + url + '</a>' ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
if ( ! preview ) {
return false ;
2018-12-13 23:41:57 -05:00
}
2019-10-15 11:37:08 -04:00
return preview . html === oEmbedLinkCheck ;
2018-12-13 23:41:57 -05:00
}
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns whether the current user can upload media .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* Calling this may trigger an OPTIONS request to the REST API via the
* ` canUser() ` resolver .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* https : //developer.wordpress.org/rest-api/reference/
*
* @ deprecated since 5.0 . Callers should use the more generic ` canUser() ` selector instead of
* ` hasUploadPermissions() ` , e . g . ` canUser( 'create', 'media' ) ` .
*
* @ param { Object } state Data state .
*
* @ return { boolean } Whether or not the user can upload media . Defaults to ` true ` if the OPTIONS
* request is being made .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
function hasUploadPermissions ( state ) {
2021-01-27 21:04:13 -05:00
external _wp _deprecated _default ( ) ( "select( 'core' ).hasUploadPermissions()" , {
2019-10-15 11:37:08 -04:00
alternative : "select( 'core' ).canUser( 'create', 'media' )"
} ) ;
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "defaultTo" ] ) ( canUser ( state , 'create' , 'media' ) , true ) ;
2019-09-19 11:19:18 -04:00
}
/ * *
2019-10-15 11:37:08 -04:00
* Returns whether the current user can perform the given action on the given
* REST resource .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* Calling this may trigger an OPTIONS request to the REST API via the
* ` canUser() ` resolver .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* https : //developer.wordpress.org/rest-api/reference/
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } state Data state .
* @ param { string } action Action to check . One of : 'create' , 'read' , 'update' , 'delete' .
* @ param { string } resource REST resource to check , e . g . 'media' or 'posts' .
* @ param { string = } id Optional ID of the rest resource to check .
*
* @ return { boolean | undefined } Whether or not the user can perform the action ,
* or ` undefined ` if the OPTIONS request is still being made .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
function canUser ( state , action , resource , id ) {
2021-01-27 21:04:13 -05:00
var key = Object ( external _lodash _ [ "compact" ] ) ( [ action , resource , id ] ) . join ( '/' ) ;
return Object ( external _lodash _ [ "get" ] ) ( state , [ 'userPermissions' , key ] ) ;
2019-10-15 11:37:08 -04:00
}
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns the latest autosaves for the post .
*
* May return multiple autosaves since the backend stores one autosave per
* author for each post .
2019-09-19 11:19:18 -04:00
*
* @ param { Object } state State tree .
2019-10-15 11:37:08 -04:00
* @ param { string } postType The type of the parent post .
* @ param { number } postId The id of the parent post .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ return { ? Array } An array of autosaves for the post , or undefined if there is none .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
function getAutosaves ( state , postType , postId ) {
return state . autosaves [ postId ] ;
2019-09-19 11:19:18 -04:00
}
/ * *
2019-10-15 11:37:08 -04:00
* Returns the autosave for the post and author .
2019-09-19 11:19:18 -04:00
*
* @ param { Object } state State tree .
2019-10-15 11:37:08 -04:00
* @ param { string } postType The type of the parent post .
* @ param { number } postId The id of the parent post .
* @ param { number } authorId The id of the author .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ return { ? Object } The autosave for the post and author .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
function getAutosave ( state , postType , postId , authorId ) {
if ( authorId === undefined ) {
return ;
}
var autosaves = state . autosaves [ postId ] ;
2021-01-27 21:04:13 -05:00
return Object ( external _lodash _ [ "find" ] ) ( autosaves , {
2019-10-15 11:37:08 -04:00
author : authorId
} ) ;
}
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns true if the REST request for autosaves has completed .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ param { Object } state State tree .
* @ param { string } postType The type of the parent post .
* @ param { number } postId The id of the parent post .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ return { boolean } True if the REST request was completed . False otherwise .
2019-09-19 11:19:18 -04:00
* /
2021-01-27 21:04:13 -05:00
var hasFetchedAutosaves = Object ( external _wp _data _ [ "createRegistrySelector" ] ) ( function ( select ) {
2019-10-15 11:37:08 -04:00
return function ( state , postType , postId ) {
2021-01-27 21:04:13 -05:00
return select ( STORE _NAME ) . hasFinishedResolution ( 'getAutosaves' , [ postType , postId ] ) ;
2019-10-15 11:37:08 -04:00
} ;
} ) ;
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Returns a new reference when edited values have changed . This is useful in
* inferring where an edit has been made between states by comparison of the
* return values using strict equality .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ example
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* ` ` `
* const hasEditOccurred = (
* getReferenceByDistinctEdits ( beforeState ) !==
* getReferenceByDistinctEdits ( afterState )
* ) ;
* ` ` `
*
* @ param { Object } state Editor state .
*
* @ return { * } A value whose reference will change only when an edit occurs .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
var getReferenceByDistinctEdits = Object ( rememo [ "a" /* default */ ] ) ( function ( ) {
return [ ] ;
} , function ( state ) {
2020-10-13 09:10:30 -04:00
return [ state . undo . length , state . undo . offset , state . undo . flattenedUndo ] ;
2019-10-15 11:37:08 -04:00
} ) ;
2021-01-27 21:04:13 -05:00
/ * *
* Retrieve the frontend template used for a given link .
*
* @ param { Object } state Editor state .
* @ param { string } link Link .
*
* @ return { Object ? } The template record .
* /
function _ _experimentalGetTemplateForLink ( state , link ) {
var records = getEntityRecords ( state , 'postType' , 'wp_template' , {
'find-template' : link
} ) ;
return records !== null && records !== void 0 && records . length ? records [ 0 ] : null ;
}
2020-06-26 09:33:47 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/if-not-resolved.js
/ * *
* WordPress dependencies
* /
/ * *
* Higher - order function which invokes the given resolver only if it has not
* already been resolved with the arguments passed to the enhanced function .
*
* This only considers resolution state , and notably does not support resolver
* custom ` isFulfilled ` behavior .
*
* @ param { Function } resolver Original resolver .
* @ param { string } selectorName Selector name associated with resolver .
*
* @ return { Function } Enhanced resolver .
* /
var if _not _resolved _ifNotResolved = function ifNotResolved ( resolver , selectorName ) {
return (
/*#__PURE__*/
/ * *
* @ param { ... any } args Original resolver arguments .
* /
2021-01-27 21:04:13 -05:00
external _regeneratorRuntime _default . a . mark ( function resolveIfNotResolved ( ) {
2020-06-26 09:33:47 -04:00
var _len ,
args ,
_key ,
hasStartedResolution ,
_args = arguments ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function resolveIfNotResolved$ ( _context ) {
2020-06-26 09:33:47 -04:00
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
for ( _len = _args . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = _args [ _key ] ;
}
_context . next = 3 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . select ( 'core' , 'hasStartedResolution' , selectorName , args ) ;
2020-06-26 09:33:47 -04:00
case 3 :
hasStartedResolution = _context . sent ;
if ( hasStartedResolution ) {
_context . next = 6 ;
break ;
}
return _context . delegateYield ( resolver . apply ( void 0 , args ) , "t0" , 6 ) ;
case 6 :
case "end" :
return _context . stop ( ) ;
}
}
} , resolveIfNotResolved ) ;
} )
) ;
} ;
/* harmony default export */ var if _not _resolved = ( if _not _resolved _ifNotResolved ) ;
2019-10-15 11:37:08 -04:00
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/resolvers.js
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
function resolvers _createForOfIteratorHelper ( o , allowArrayLike ) { var it ; if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) { if ( Array . isArray ( o ) || ( it = resolvers _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = o [ Symbol . iterator ] ( ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it . return != null ) it . return ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
function resolvers _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return resolvers _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return resolvers _arrayLikeToArray ( o , minLen ) ; }
function resolvers _arrayLikeToArray ( arr , len ) { if ( len == null || len > arr . length ) len = arr . length ; for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; }
2020-02-06 16:03:31 -05:00
function resolvers _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function resolvers _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { resolvers _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { resolvers _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
2021-01-27 21:04:13 -05:00
var resolvers _marked = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getAuthors ) ,
resolvers _marked2 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _unstableGetAuthor ) ,
resolvers _marked3 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getCurrentUser ) ,
resolvers _marked4 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getEntityRecord ) ,
resolvers _marked5 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getEntityRecords ) ,
resolvers _marked6 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getCurrentTheme ) ,
2021-02-02 00:17:13 -05:00
resolvers _marked7 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getThemeSupports ) ,
2021-01-27 21:04:13 -05:00
_marked8 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getEmbedPreview ) ,
_marked9 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _hasUploadPermissions ) ,
_marked10 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _canUser ) ,
_marked11 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getAutosaves ) ,
_marked12 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _getAutosave ) ,
_marked13 = /*#__PURE__*/ external _regeneratorRuntime _default . a . mark ( resolvers _experimentalGetTemplateForLink ) ;
2019-10-15 11:37:08 -04:00
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* External dependencies
2019-09-19 11:19:18 -04:00
* /
/ * *
2019-10-15 11:37:08 -04:00
* WordPress dependencies
2019-09-19 11:19:18 -04:00
* /
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
/ * *
* Internal dependencies
* /
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Internal dependencies
2019-09-19 11:19:18 -04:00
* /
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Requests authors from the REST API .
2020-12-01 07:19:43 -05:00
*
* @ param { Object | undefined } query Optional object of query parameters to
* include with request .
2018-12-13 23:41:57 -05:00
* /
2020-12-01 07:19:43 -05:00
function resolvers _getAuthors ( query ) {
var path , users ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getAuthors$ ( _context ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
2021-01-27 21:04:13 -05:00
path = Object ( external _wp _url _ [ "addQueryArgs" ] ) ( '/wp/v2/users/?who=authors&per_page=100' , query ) ;
2020-12-01 07:19:43 -05:00
_context . next = 3 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2020-12-01 07:19:43 -05:00
path : path
2019-10-15 11:37:08 -04:00
} ) ;
2020-12-01 07:19:43 -05:00
case 3 :
2019-10-15 11:37:08 -04:00
users = _context . sent ;
2020-12-01 07:19:43 -05:00
_context . next = 6 ;
return receiveUserQuery ( path , users ) ;
2019-10-15 11:37:08 -04:00
2020-12-01 07:19:43 -05:00
case 6 :
2019-10-15 11:37:08 -04:00
case "end" :
return _context . stop ( ) ;
}
}
} , resolvers _marked ) ;
2018-12-13 23:41:57 -05:00
}
2020-12-01 07:19:43 -05:00
/ * *
* Temporary approach to resolving editor access to author queries .
*
* @ param { number } id The author id .
* /
function resolvers _unstableGetAuthor ( id ) {
var path , users ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function _ _unstableGetAuthor$ ( _context2 ) {
2020-12-01 07:19:43 -05:00
while ( 1 ) {
switch ( _context2 . prev = _context2 . next ) {
case 0 :
path = "/wp/v2/users?who=authors&include=" . concat ( id ) ;
_context2 . next = 3 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2020-12-01 07:19:43 -05:00
path : path
} ) ;
case 3 :
users = _context2 . sent ;
_context2 . next = 6 ;
return receiveUserQuery ( 'author' , users ) ;
case 6 :
case "end" :
return _context2 . stop ( ) ;
}
}
} , resolvers _marked2 ) ;
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Requests the current user from the REST API .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function resolvers _getCurrentUser ( ) {
var currentUser ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getCurrentUser$ ( _context3 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context3 . prev = _context3 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-12-01 07:19:43 -05:00
_context3 . next = 2 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2019-10-15 11:37:08 -04:00
path : '/wp/v2/users/me'
} ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 2 :
2020-12-01 07:19:43 -05:00
currentUser = _context3 . sent ;
_context3 . next = 5 ;
2019-10-15 11:37:08 -04:00
return receiveCurrentUser ( currentUser ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 5 :
case "end" :
2020-12-01 07:19:43 -05:00
return _context3 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2020-12-01 07:19:43 -05:00
} , resolvers _marked3 ) ;
2018-12-13 23:41:57 -05:00
}
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Requests an entity ' s record from the REST API .
2019-03-07 04:09:59 -05:00
*
2020-10-13 09:10:30 -04:00
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number | string } key Record ' s key
* @ param { Object | undefined } query Optional object of query parameters to
* include with request .
2019-03-07 04:09:59 -05:00
* /
2020-01-08 06:57:23 -05:00
function resolvers _getEntityRecord ( kind , name ) {
var key ,
2020-10-13 09:10:30 -04:00
query ,
2020-01-08 06:57:23 -05:00
entities ,
entity ,
2021-01-27 21:04:13 -05:00
lock ,
2020-10-13 09:10:30 -04:00
path ,
hasRecords ,
2020-01-08 06:57:23 -05:00
record ,
2020-12-01 07:19:43 -05:00
_args4 = arguments ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getEntityRecord$ ( _context4 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context4 . prev = _context4 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-12-01 07:19:43 -05:00
key = _args4 . length > 2 && _args4 [ 2 ] !== undefined ? _args4 [ 2 ] : '' ;
query = _args4 . length > 3 ? _args4 [ 3 ] : undefined ;
_context4 . next = 4 ;
2019-10-15 11:37:08 -04:00
return getKindEntities ( kind ) ;
2020-10-13 09:10:30 -04:00
case 4 :
2020-12-01 07:19:43 -05:00
entities = _context4 . sent ;
2021-01-27 21:04:13 -05:00
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
2019-10-15 11:37:08 -04:00
kind : kind ,
name : name
} ) ;
if ( entity ) {
2020-12-01 07:19:43 -05:00
_context4 . next = 8 ;
2019-10-15 11:37:08 -04:00
break ;
}
2020-12-01 07:19:43 -05:00
return _context4 . abrupt ( "return" ) ;
2019-10-15 11:37:08 -04:00
2020-10-13 09:10:30 -04:00
case 8 :
2021-01-27 21:04:13 -05:00
return _context4 . delegateYield ( _ _unstableAcquireStoreLock ( 'core' , [ 'entities' , 'data' , kind , name , key ] , {
exclusive : false
} ) , "t0" , 9 ) ;
case 9 :
lock = _context4 . t0 ;
_context4 . prev = 10 ;
2020-10-13 09:10:30 -04:00
if ( query !== undefined && query . _fields ) {
// If requesting specific fields, items and query assocation to said
// records are stored by ID reference. Thus, fields must always include
// the ID.
query = resolvers _objectSpread ( resolvers _objectSpread ( { } , query ) , { } , {
2021-01-27 21:04:13 -05:00
_fields : Object ( external _lodash _ [ "uniq" ] ) ( [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( get _normalized _comma _separable ( query . _fields ) || [ ] ) , [ entity . key || DEFAULT _ENTITY _KEY ] ) ) . join ( )
2020-10-13 09:10:30 -04:00
} ) ;
} // Disable reason: While true that an early return could leave `path`
// unused, it's important that path is derived using the query prior to
// additional query modifications in the condition below, since those
// modifications are relevant to how the data is tracked in state, and not
// for how the request is made to the REST API.
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
2021-01-27 21:04:13 -05:00
path = Object ( external _wp _url _ [ "addQueryArgs" ] ) ( entity . baseURL + '/' + key , resolvers _objectSpread ( resolvers _objectSpread ( { } , query ) , { } , {
2020-10-13 09:10:30 -04:00
context : 'edit'
} ) ) ;
if ( ! ( query !== undefined ) ) {
2021-01-27 21:04:13 -05:00
_context4 . next = 20 ;
2020-10-13 09:10:30 -04:00
break ;
}
query = resolvers _objectSpread ( resolvers _objectSpread ( { } , query ) , { } , {
include : [ key ]
} ) ; // The resolution cache won't consider query as reusable based on the
// fields, so it's tested here, prior to initiating the REST request,
// and without causing `getEntityRecords` resolution to occur.
2021-01-27 21:04:13 -05:00
_context4 . next = 17 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , 'hasEntityRecords' , kind , name , query ) ;
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
case 17 :
2020-12-01 07:19:43 -05:00
hasRecords = _context4 . sent ;
2020-10-13 09:10:30 -04:00
if ( ! hasRecords ) {
2021-01-27 21:04:13 -05:00
_context4 . next = 20 ;
2020-10-13 09:10:30 -04:00
break ;
}
2020-12-01 07:19:43 -05:00
return _context4 . abrupt ( "return" ) ;
2020-10-13 09:10:30 -04:00
2021-01-27 21:04:13 -05:00
case 20 :
_context4 . next = 22 ;
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2020-10-13 09:10:30 -04:00
path : path
2019-10-15 11:37:08 -04:00
} ) ;
2021-01-27 21:04:13 -05:00
case 22 :
2020-12-01 07:19:43 -05:00
record = _context4 . sent ;
2021-01-27 21:04:13 -05:00
_context4 . next = 25 ;
2020-10-13 09:10:30 -04:00
return receiveEntityRecords ( kind , name , record , query ) ;
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
case 25 :
_context4 . next = 29 ;
break ;
case 27 :
_context4 . prev = 27 ;
_context4 . t1 = _context4 [ "catch" ] ( 10 ) ;
case 29 :
_context4 . prev = 29 ;
return _context4 . delegateYield ( _ _unstableReleaseStoreLock ( lock ) , "t2" , 31 ) ;
case 31 :
return _context4 . finish ( 29 ) ;
case 32 :
2019-10-15 11:37:08 -04:00
case "end" :
2020-12-01 07:19:43 -05:00
return _context4 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2021-01-27 21:04:13 -05:00
} , resolvers _marked4 , null , [ [ 10 , 27 , 29 , 32 ] ] ) ;
2019-03-07 04:09:59 -05:00
}
2020-06-26 09:33:47 -04:00
/ * *
* Requests an entity ' s record from the REST API .
* /
var resolvers _getRawEntityRecord = if _not _resolved ( resolvers _getEntityRecord , 'getEntityRecord' ) ;
/ * *
* Requests an entity ' s record from the REST API .
* /
var resolvers _getEditedEntityRecord = if _not _resolved ( resolvers _getRawEntityRecord , 'getRawEntityRecord' ) ;
2019-03-07 04:09:59 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Requests the entity ' s records from the REST API .
2019-03-07 04:09:59 -05:00
*
2019-10-15 11:37:08 -04:00
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { Object ? } query Query Object .
Block Editor: Update `@wordpress` dependencies to match Gutenberg 4.5.1.
- Update the annotations, api-fetch, block-library, blocks, components, compose, core-data, data, date, dom, edit-post, editor, element, format-library, html-entities, i18n, jest-console, jest-preset-default, keycodes, list-reusable-blocks, notices, nux, plugins, rich-text, scripts, token-lists, url, viewport packages.
- Upgrades React from 16.5.2 to 16.6.3.
- Adds a missing `wp-date` dependency to the editor script.
- Updates changed dependencies in `script-loader.php`.
- Fixes undefined notices in some blocks.
- Removes incorrect `gutenberg` textdomain.
Merges [43891], [43903], and [43919] to trunk.
Props atimmer, aduth, youknowriad, danielbachhuber.
See #45145.
Built from https://develop.svn.wordpress.org/trunk@44262
git-svn-id: http://core.svn.wordpress.org/trunk@44092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-17 10:37:00 -05:00
* /
2019-10-15 11:37:08 -04:00
function resolvers _getEntityRecords ( kind , name ) {
var query ,
entities ,
entity ,
2021-01-27 21:04:13 -05:00
lock ,
_query ,
2019-10-15 11:37:08 -04:00
path ,
records ,
2021-01-27 21:04:13 -05:00
key ,
_iterator ,
_step ,
record ,
2020-12-01 07:19:43 -05:00
_args5 = arguments ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getEntityRecords$ ( _context5 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context5 . prev = _context5 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-12-01 07:19:43 -05:00
query = _args5 . length > 2 && _args5 [ 2 ] !== undefined ? _args5 [ 2 ] : { } ;
_context5 . next = 3 ;
2019-10-15 11:37:08 -04:00
return getKindEntities ( kind ) ;
case 3 :
2020-12-01 07:19:43 -05:00
entities = _context5 . sent ;
2021-01-27 21:04:13 -05:00
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
2019-10-15 11:37:08 -04:00
kind : kind ,
name : name
} ) ;
if ( entity ) {
2020-12-01 07:19:43 -05:00
_context5 . next = 7 ;
2019-10-15 11:37:08 -04:00
break ;
}
2020-12-01 07:19:43 -05:00
return _context5 . abrupt ( "return" ) ;
2019-09-19 11:19:18 -04:00
2019-10-15 11:37:08 -04:00
case 7 :
2021-01-27 21:04:13 -05:00
return _context5 . delegateYield ( _ _unstableAcquireStoreLock ( 'core' , [ 'entities' , 'data' , kind , name ] , {
exclusive : false
} ) , "t0" , 8 ) ;
case 8 :
lock = _context5 . t0 ;
_context5 . prev = 9 ;
2020-10-13 09:10:30 -04:00
if ( query . _fields ) {
// If requesting specific fields, items and query assocation to said
// records are stored by ID reference. Thus, fields must always include
// the ID.
query = resolvers _objectSpread ( resolvers _objectSpread ( { } , query ) , { } , {
2021-01-27 21:04:13 -05:00
_fields : Object ( external _lodash _ [ "uniq" ] ) ( [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( get _normalized _comma _separable ( query . _fields ) || [ ] ) , [ entity . key || DEFAULT _ENTITY _KEY ] ) ) . join ( )
2020-10-13 09:10:30 -04:00
} ) ;
}
2021-01-27 21:04:13 -05:00
path = Object ( external _wp _url _ [ "addQueryArgs" ] ) ( entity . baseURL , resolvers _objectSpread ( resolvers _objectSpread ( { } , query ) , { } , {
2019-10-15 11:37:08 -04:00
context : 'edit'
} ) ) ;
2021-01-27 21:04:13 -05:00
_context5 . t1 = Object ;
_context5 . next = 15 ;
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2019-10-15 11:37:08 -04:00
path : path
} ) ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
case 15 :
_context5 . t2 = _context5 . sent ;
records = _context5 . t1 . values . call ( _context5 . t1 , _context5 . t2 ) ;
2020-10-13 09:10:30 -04:00
// If we request fields but the result doesn't contain the fields,
// explicitely set these fields as "undefined"
// that way we consider the query "fullfilled".
if ( query . _fields ) {
records = records . map ( function ( record ) {
query . _fields . split ( ',' ) . forEach ( function ( field ) {
if ( ! record . hasOwnProperty ( field ) ) {
record [ field ] = undefined ;
}
} ) ;
2019-09-19 11:19:18 -04:00
2020-10-13 09:10:30 -04:00
return record ;
} ) ;
}
2021-01-27 21:04:13 -05:00
_context5 . next = 20 ;
2020-10-13 09:10:30 -04:00
return receiveEntityRecords ( kind , name , records , query ) ;
2021-01-27 21:04:13 -05:00
case 20 :
if ( ( _query = query ) !== null && _query !== void 0 && _query . _fields ) {
_context5 . next = 42 ;
break ;
}
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
key = entity . key || DEFAULT _ENTITY _KEY ;
_iterator = resolvers _createForOfIteratorHelper ( records ) ;
_context5 . prev = 23 ;
2019-09-19 11:19:18 -04:00
2021-01-27 21:04:13 -05:00
_iterator . s ( ) ;
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
case 25 :
if ( ( _step = _iterator . n ( ) ) . done ) {
_context5 . next = 34 ;
break ;
}
record = _step . value ;
if ( ! record [ key ] ) {
_context5 . next = 32 ;
break ;
}
_context5 . next = 30 ;
return {
type : 'START_RESOLUTION' ,
selectorName : 'getEntityRecord' ,
args : [ kind , name , record [ key ] ]
} ;
case 30 :
_context5 . next = 32 ;
return {
type : 'FINISH_RESOLUTION' ,
selectorName : 'getEntityRecord' ,
args : [ kind , name , record [ key ] ]
} ;
case 32 :
_context5 . next = 25 ;
break ;
case 34 :
_context5 . next = 39 ;
break ;
case 36 :
_context5 . prev = 36 ;
_context5 . t3 = _context5 [ "catch" ] ( 23 ) ;
_iterator . e ( _context5 . t3 ) ;
case 39 :
_context5 . prev = 39 ;
_iterator . f ( ) ;
return _context5 . finish ( 39 ) ;
case 42 :
_context5 . prev = 42 ;
return _context5 . delegateYield ( _ _unstableReleaseStoreLock ( lock ) , "t4" , 44 ) ;
case 44 :
return _context5 . finish ( 42 ) ;
case 45 :
case "end" :
return _context5 . stop ( ) ;
}
}
} , resolvers _marked5 , null , [ [ 9 , , 42 , 45 ] , [ 23 , 36 , 39 , 42 ] ] ) ;
}
resolvers _getEntityRecords . shouldInvalidate = function ( action , kind , name ) {
return ( action . type === 'RECEIVE_ITEMS' || action . type === 'REMOVE_ITEMS' ) && action . invalidateCache && kind === action . kind && name === action . name ;
} ;
/ * *
* Requests the current theme .
* /
function resolvers _getCurrentTheme ( ) {
var activeThemes ;
return external _regeneratorRuntime _default . a . wrap ( function getCurrentTheme$ ( _context6 ) {
while ( 1 ) {
switch ( _context6 . prev = _context6 . next ) {
case 0 :
_context6 . next = 2 ;
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
path : '/wp/v2/themes?status=active'
2019-10-15 11:37:08 -04:00
} ) ;
case 2 :
2020-12-01 07:19:43 -05:00
activeThemes = _context6 . sent ;
_context6 . next = 5 ;
2020-06-26 09:33:47 -04:00
return receiveCurrentTheme ( activeThemes [ 0 ] ) ;
2019-10-15 11:37:08 -04:00
case 5 :
case "end" :
2020-12-01 07:19:43 -05:00
return _context6 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2020-12-01 07:19:43 -05:00
} , resolvers _marked6 ) ;
2019-10-15 11:37:08 -04:00
}
2020-06-26 09:33:47 -04:00
/ * *
* Requests theme supports data from the index .
* /
function resolvers _getThemeSupports ( ) {
var activeThemes ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getThemeSupports$ ( _context7 ) {
2020-06-26 09:33:47 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context7 . prev = _context7 . next ) {
2020-06-26 09:33:47 -04:00
case 0 :
2020-12-01 07:19:43 -05:00
_context7 . next = 2 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2020-06-26 09:33:47 -04:00
path : '/wp/v2/themes?status=active'
} ) ;
case 2 :
2020-12-01 07:19:43 -05:00
activeThemes = _context7 . sent ;
_context7 . next = 5 ;
2020-06-26 09:33:47 -04:00
return receiveThemeSupports ( activeThemes [ 0 ] . theme _supports ) ;
case 5 :
case "end" :
2020-12-01 07:19:43 -05:00
return _context7 . stop ( ) ;
2020-06-26 09:33:47 -04:00
}
}
2021-02-02 00:17:13 -05:00
} , resolvers _marked7 ) ;
2020-06-26 09:33:47 -04:00
}
2019-09-19 11:19:18 -04:00
/ * *
2019-10-15 11:37:08 -04:00
* Requests a preview from the from the Embed API .
2019-09-19 11:19:18 -04:00
*
2019-10-15 11:37:08 -04:00
* @ param { string } url URL to get the preview for .
2019-09-19 11:19:18 -04:00
* /
2019-10-15 11:37:08 -04:00
function resolvers _getEmbedPreview ( url ) {
var embedProxyResponse ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getEmbedPreview$ ( _context8 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context8 . prev = _context8 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2020-12-01 07:19:43 -05:00
_context8 . prev = 0 ;
_context8 . next = 3 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
path : Object ( external _wp _url _ [ "addQueryArgs" ] ) ( '/oembed/1.0/proxy' , {
2019-10-15 11:37:08 -04:00
url : url
} )
} ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 3 :
2020-12-01 07:19:43 -05:00
embedProxyResponse = _context8 . sent ;
_context8 . next = 6 ;
2019-10-15 11:37:08 -04:00
return receiveEmbedPreview ( url , embedProxyResponse ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 6 :
2020-12-01 07:19:43 -05:00
_context8 . next = 12 ;
2019-10-15 11:37:08 -04:00
break ;
2019-03-21 08:48:00 -04:00
2019-10-15 11:37:08 -04:00
case 8 :
2020-12-01 07:19:43 -05:00
_context8 . prev = 8 ;
_context8 . t0 = _context8 [ "catch" ] ( 0 ) ;
_context8 . next = 12 ;
2019-10-15 11:37:08 -04:00
return receiveEmbedPreview ( url , false ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 12 :
case "end" :
2020-12-01 07:19:43 -05:00
return _context8 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2020-12-01 07:19:43 -05:00
} , _marked8 , null , [ [ 0 , 8 ] ] ) ;
2019-10-15 11:37:08 -04:00
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Requests Upload Permissions from the REST API .
*
* @ deprecated since 5.0 . Callers should use the more generic ` canUser() ` selector instead of
* ` hasUploadPermissions() ` , e . g . ` canUser( 'create', 'media' ) ` .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function resolvers _hasUploadPermissions ( ) {
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function hasUploadPermissions$ ( _context9 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context9 . prev = _context9 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
2021-01-27 21:04:13 -05:00
external _wp _deprecated _default ( ) ( "select( 'core' ).hasUploadPermissions()" , {
2019-10-15 11:37:08 -04:00
alternative : "select( 'core' ).canUser( 'create', 'media' )"
} ) ;
2020-12-01 07:19:43 -05:00
return _context9 . delegateYield ( resolvers _canUser ( 'create' , 'media' ) , "t0" , 2 ) ;
2019-10-15 11:37:08 -04:00
case 2 :
case "end" :
2020-12-01 07:19:43 -05:00
return _context9 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2020-12-01 07:19:43 -05:00
} , _marked9 ) ;
2019-10-15 11:37:08 -04:00
}
2018-12-17 22:14:52 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Checks whether the current user can perform the given action on the given
* REST resource .
*
* @ param { string } action Action to check . One of : 'create' , 'read' , 'update' ,
* 'delete' .
* @ param { string } resource REST resource to check , e . g . 'media' or 'posts' .
* @ param { ? string } id ID of the rest resource to check .
2018-12-17 22:14:52 -05:00
* /
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
function resolvers _canUser ( action , resource , id ) {
var methods , method , path , response , allowHeader , key , isAllowed ;
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function canUser$ ( _context10 ) {
2019-10-15 11:37:08 -04:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context10 . prev = _context10 . next ) {
2019-10-15 11:37:08 -04:00
case 0 :
methods = {
create : 'POST' ,
read : 'GET' ,
update : 'PUT' ,
delete : 'DELETE'
} ;
method = methods [ action ] ;
if ( method ) {
2020-12-01 07:19:43 -05:00
_context10 . next = 4 ;
2019-10-15 11:37:08 -04:00
break ;
}
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
throw new Error ( "'" . concat ( action , "' is not a valid action." ) ) ;
2019-03-07 04:09:59 -05:00
2019-10-15 11:37:08 -04:00
case 4 :
path = id ? "/wp/v2/" . concat ( resource , "/" ) . concat ( id ) : "/wp/v2/" . concat ( resource ) ;
2020-12-01 07:19:43 -05:00
_context10 . prev = 5 ;
_context10 . next = 8 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2019-10-15 11:37:08 -04:00
path : path ,
// Ideally this would always be an OPTIONS request, but unfortunately there's
// a bug in the REST API which causes the Allow header to not be sent on
// OPTIONS requests to /posts/:id routes.
// https://core.trac.wordpress.org/ticket/45753
method : id ? 'GET' : 'OPTIONS' ,
parse : false
} ) ;
case 8 :
2020-12-01 07:19:43 -05:00
response = _context10 . sent ;
_context10 . next = 14 ;
2019-10-15 11:37:08 -04:00
break ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 11 :
2020-12-01 07:19:43 -05:00
_context10 . prev = 11 ;
_context10 . t0 = _context10 [ "catch" ] ( 5 ) ;
return _context10 . abrupt ( "return" ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 14 :
2021-01-27 21:04:13 -05:00
if ( Object ( external _lodash _ [ "hasIn" ] ) ( response , [ 'headers' , 'get' ] ) ) {
2019-10-15 11:37:08 -04:00
// If the request is fetched using the fetch api, the header can be
// retrieved using the 'get' method.
allowHeader = response . headers . get ( 'allow' ) ;
} else {
// If the request was preloaded server-side and is returned by the
// preloading middleware, the header will be a simple property.
2021-01-27 21:04:13 -05:00
allowHeader = Object ( external _lodash _ [ "get" ] ) ( response , [ 'headers' , 'Allow' ] , '' ) ;
2019-10-15 11:37:08 -04:00
}
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
key = Object ( external _lodash _ [ "compact" ] ) ( [ action , resource , id ] ) . join ( '/' ) ;
isAllowed = Object ( external _lodash _ [ "includes" ] ) ( allowHeader , method ) ;
2020-12-01 07:19:43 -05:00
_context10 . next = 19 ;
2019-10-15 11:37:08 -04:00
return receiveUserPermission ( key , isAllowed ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 19 :
case "end" :
2020-12-01 07:19:43 -05:00
return _context10 . stop ( ) ;
2019-10-15 11:37:08 -04:00
}
}
2020-12-01 07:19:43 -05:00
} , _marked10 , null , [ [ 5 , 11 ] ] ) ;
2019-10-15 11:37:08 -04:00
}
2018-12-13 23:41:57 -05:00
/ * *
2019-10-15 11:37:08 -04:00
* Request autosave data from the REST API .
*
* @ param { string } postType The type of the parent post .
* @ param { number } postId The id of the parent post .
2018-12-13 23:41:57 -05:00
* /
2019-10-15 11:37:08 -04:00
function resolvers _getAutosaves ( postType , postId ) {
2021-01-27 21:04:13 -05:00
var _yield$controls$resol , restBase , autosaves ;
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
return external _regeneratorRuntime _default . a . wrap ( function getAutosaves$ ( _context11 ) {
2018-12-17 22:14:52 -05:00
while ( 1 ) {
2020-12-01 07:19:43 -05:00
switch ( _context11 . prev = _context11 . next ) {
2018-12-17 22:14:52 -05:00
case 0 :
2020-12-01 07:19:43 -05:00
_context11 . next = 2 ;
2021-01-27 21:04:13 -05:00
return external _wp _data _ [ "controls" ] . resolveSelect ( 'core' , 'getPostType' , postType ) ;
2019-10-15 11:37:08 -04:00
case 2 :
2021-01-27 21:04:13 -05:00
_yield$controls$resol = _context11 . sent ;
restBase = _yield$controls$resol . rest _base ;
2020-12-01 07:19:43 -05:00
_context11 . next = 6 ;
2021-01-27 21:04:13 -05:00
return Object ( external _wp _dataControls _ [ "apiFetch" ] ) ( {
2019-10-15 11:37:08 -04:00
path : "/wp/v2/" . concat ( restBase , "/" ) . concat ( postId , "/autosaves?context=edit" )
2018-12-17 22:14:52 -05:00
} ) ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
case 6 :
2020-12-01 07:19:43 -05:00
autosaves = _context11 . sent ;
2018-12-13 23:41:57 -05:00
2019-10-15 11:37:08 -04:00
if ( ! ( autosaves && autosaves . length ) ) {
2020-12-01 07:19:43 -05:00
_context11 . next = 10 ;
2019-10-15 11:37:08 -04:00
break ;
}
2020-12-01 07:19:43 -05:00
_context11 . next = 10 ;
2019-10-15 11:37:08 -04:00
return receiveAutosaves ( postId , autosaves ) ;
case 10 :
2018-12-17 22:14:52 -05:00
case "end" :
2020-12-01 07:19:43 -05:00
return _context11 . stop ( ) ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
}
2020-12-01 07:19:43 -05:00
} , _marked11 ) ;
2019-09-19 11:19:18 -04:00
}
/ * *
2021-01-27 21:04:13 -05:00
* Request autosave data from the REST API .
*
* This resolver exists to ensure the underlying autosaves are fetched via
* ` getAutosaves ` when a call to the ` getAutosave ` selector is made .
*
* @ param { string } postType The type of the parent post .
* @ param { number } postId The id of the parent post .
* /
function resolvers _getAutosave ( postType , postId ) {
return external _regeneratorRuntime _default . a . wrap ( function getAutosave$ ( _context12 ) {
while ( 1 ) {
switch ( _context12 . prev = _context12 . next ) {
case 0 :
_context12 . next = 2 ;
return external _wp _data _ [ "controls" ] . resolveSelect ( 'core' , 'getAutosaves' , postType , postId ) ;
case 2 :
case "end" :
return _context12 . stop ( ) ;
}
}
} , _marked12 ) ;
}
/ * *
* Retrieve the frontend template used for a given link .
*
* @ param { string } link Link .
* /
function resolvers _experimentalGetTemplateForLink ( link ) {
var template , record ;
return external _regeneratorRuntime _default . a . wrap ( function _ _experimentalGetTemplateForLink$ ( _context13 ) {
while ( 1 ) {
switch ( _context13 . prev = _context13 . next ) {
case 0 :
_context13 . next = 2 ;
return regularFetch ( Object ( external _wp _url _ [ "addQueryArgs" ] ) ( link , {
'_wp-find-template' : true
} ) ) ;
case 2 :
template = _context13 . sent ;
if ( ! ( template === null ) ) {
_context13 . next = 5 ;
break ;
}
return _context13 . abrupt ( "return" ) ;
case 5 :
_context13 . next = 7 ;
return resolvers _getEntityRecord ( 'postType' , 'wp_template' , template . id ) ;
case 7 :
_context13 . next = 9 ;
return external _wp _data _ [ "controls" ] . select ( 'core' , 'getEntityRecord' , 'postType' , 'wp_template' , template . id ) ;
case 9 :
record = _context13 . sent ;
if ( ! record ) {
_context13 . next = 13 ;
break ;
}
_context13 . next = 13 ;
return receiveEntityRecords ( 'postType' , 'wp_template' , [ record ] , {
'find-template' : link
} ) ;
case 13 :
case "end" :
return _context13 . stop ( ) ;
}
}
} , _marked13 ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/locks/selectors.js
function selectors _createForOfIteratorHelper ( o , allowArrayLike ) { var it ; if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) { if ( Array . isArray ( o ) || ( it = selectors _unsupportedIterableToArray ( o ) ) || allowArrayLike && o && typeof o . length === "number" ) { if ( it ) o = it ; var i = 0 ; var F = function F ( ) { } ; return { s : F , n : function n ( ) { if ( i >= o . length ) return { done : true } ; return { done : false , value : o [ i ++ ] } ; } , e : function e ( _e ) { throw _e ; } , f : F } ; } throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ; } var normalCompletion = true , didErr = false , err ; return { s : function s ( ) { it = o [ Symbol . iterator ] ( ) ; } , n : function n ( ) { var step = it . next ( ) ; normalCompletion = step . done ; return step ; } , e : function e ( _e2 ) { didErr = true ; err = _e2 ; } , f : function f ( ) { try { if ( ! normalCompletion && it . return != null ) it . return ( ) ; } finally { if ( didErr ) throw err ; } } } ; }
function selectors _unsupportedIterableToArray ( o , minLen ) { if ( ! o ) return ; if ( typeof o === "string" ) return selectors _arrayLikeToArray ( o , minLen ) ; var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ; if ( n === "Object" && o . constructor ) n = o . constructor . name ; if ( n === "Map" || n === "Set" ) return Array . from ( o ) ; if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return selectors _arrayLikeToArray ( o , minLen ) ; }
function selectors _arrayLikeToArray ( arr , len ) { if ( len == null || len > arr . length ) len = arr . length ; for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; }
/ * *
* Internal dependencies
* /
function _ _unstableGetPendingLockRequests ( state ) {
return state . locks . requests ;
}
function _ _unstableIsLockAvailable ( state , store , path , _ref ) {
var exclusive = _ref . exclusive ;
var storePath = [ store ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( path ) ) ;
var locks = state . locks . tree ; // Validate all parents and the node itself
var _iterator = selectors _createForOfIteratorHelper ( iteratePath ( locks , storePath ) ) ,
_step ;
try {
for ( _iterator . s ( ) ; ! ( _step = _iterator . n ( ) ) . done ; ) {
var _node = _step . value ;
if ( hasConflictingLock ( {
exclusive : exclusive
} , _node . locks ) ) {
return false ;
}
} // iteratePath terminates early if path is unreachable, let's
// re-fetch the node and check it exists in the tree.
} catch ( err ) {
_iterator . e ( err ) ;
} finally {
_iterator . f ( ) ;
}
var node = getNode ( locks , storePath ) ;
if ( ! node ) {
return true ;
} // Validate all nested nodes
var _iterator2 = selectors _createForOfIteratorHelper ( iterateDescendants ( node ) ) ,
_step2 ;
try {
for ( _iterator2 . s ( ) ; ! ( _step2 = _iterator2 . n ( ) ) . done ; ) {
var descendant = _step2 . value ;
if ( hasConflictingLock ( {
exclusive : exclusive
} , descendant . locks ) ) {
return false ;
}
}
} catch ( err ) {
_iterator2 . e ( err ) ;
} finally {
_iterator2 . f ( ) ;
}
return true ;
}
// EXTERNAL MODULE: external ["wp","element"]
var external _wp _element _ = _ _webpack _require _ _ ( 0 ) ;
// EXTERNAL MODULE: external ["wp","blocks"]
var external _wp _blocks _ = _ _webpack _require _ _ ( 9 ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/entity-provider.js
function entity _provider _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function entity _provider _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { entity _provider _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { entity _provider _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
/ * *
* WordPress dependencies
* /
var entity _provider _EMPTY _ARRAY = [ ] ;
/ * *
* Internal dependencies
* /
var entity _provider _entities = entity _provider _objectSpread ( entity _provider _objectSpread ( { } , defaultEntities . reduce ( function ( acc , entity ) {
if ( ! acc [ entity . kind ] ) {
acc [ entity . kind ] = { } ;
}
acc [ entity . kind ] [ entity . name ] = {
context : Object ( external _wp _element _ [ "createContext" ] ) ( )
} ;
return acc ;
} , { } ) ) , kinds . reduce ( function ( acc , kind ) {
acc [ kind . name ] = { } ;
return acc ;
} , { } ) ) ;
var entity _provider _getEntity = function getEntity ( kind , type ) {
if ( ! entity _provider _entities [ kind ] ) {
throw new Error ( "Missing entity config for kind: " . concat ( kind , "." ) ) ;
}
if ( ! entity _provider _entities [ kind ] [ type ] ) {
entity _provider _entities [ kind ] [ type ] = {
context : Object ( external _wp _element _ [ "createContext" ] ) ( )
} ;
}
return entity _provider _entities [ kind ] [ type ] ;
} ;
/ * *
* Context provider component for providing
* an entity for a specific entity type .
*
* @ param { Object } props The component ' s props .
* @ param { string } props . kind The entity kind .
* @ param { string } props . type The entity type .
* @ param { number } props . id The entity ID .
* @ param { * } props . children The children to wrap .
*
* @ return { Object } The provided children , wrapped with
* the entity ' s context provider .
* /
function EntityProvider ( _ref ) {
var kind = _ref . kind ,
type = _ref . type ,
id = _ref . id ,
children = _ref . children ;
var Provider = entity _provider _getEntity ( kind , type ) . context . Provider ;
return Object ( external _wp _element _ [ "createElement" ] ) ( Provider , {
value : id
} , children ) ;
}
/ * *
* Hook that returns the ID for the nearest
* provided entity of the specified type .
*
* @ param { string } kind The entity kind .
* @ param { string } type The entity type .
* /
function useEntityId ( kind , type ) {
return Object ( external _wp _element _ [ "useContext" ] ) ( entity _provider _getEntity ( kind , type ) . context ) ;
}
/ * *
* Hook that returns the value and a setter for the
* specified property of the nearest provided
* entity of the specified type .
*
* @ param { string } kind The entity kind .
* @ param { string } type The entity type .
* @ param { string } prop The property name .
* @ param { string } [ _id ] An entity ID to use instead of the context - provided one .
*
* @ return { [ * , Function ] } A tuple where the first item is the
* property value and the second is the
* setter .
* /
function useEntityProp ( kind , type , prop , _id ) {
var providerId = useEntityId ( kind , type ) ;
var id = _id !== null && _id !== void 0 ? _id : providerId ;
var _useSelect = Object ( external _wp _data _ [ "useSelect" ] ) ( function ( select ) {
var _select = select ( 'core' ) ,
getEntityRecord = _select . getEntityRecord ,
getEditedEntityRecord = _select . getEditedEntityRecord ;
var entity = getEntityRecord ( kind , type , id ) ; // Trigger resolver.
var editedEntity = getEditedEntityRecord ( kind , type , id ) ;
return entity && editedEntity ? {
value : editedEntity [ prop ] ,
fullValue : entity [ prop ]
} : { } ;
} , [ kind , type , id , prop ] ) ,
value = _useSelect . value ,
fullValue = _useSelect . fullValue ;
var _useDispatch = Object ( external _wp _data _ [ "useDispatch" ] ) ( 'core' ) ,
editEntityRecord = _useDispatch . editEntityRecord ;
var setValue = Object ( external _wp _element _ [ "useCallback" ] ) ( function ( newValue ) {
editEntityRecord ( kind , type , id , Object ( defineProperty [ "a" /* default */ ] ) ( { } , prop , newValue ) ) ;
} , [ kind , type , id , prop ] ) ;
return [ value , setValue , fullValue ] ;
}
/ * *
* Hook that returns block content getters and setters for
* the nearest provided entity of the specified type .
*
* The return value has the shape ` [ blocks, onInput, onChange ] ` .
* ` onInput ` is for block changes that don ' t create undo levels
* or dirty the post , non - persistent changes , and ` onChange ` is for
* peristent changes . They map directly to the props of a
* ` BlockEditorProvider ` and are intended to be used with it ,
* or similar components or hooks .
*
* @ param { string } kind The entity kind .
* @ param { string } type The entity type .
* @ param { Object } options
* @ param { string } [ options . id ] An entity ID to use instead of the context - provided one .
*
* @ return { [ WPBlock [ ] , Function , Function ] } The block array and setters .
* /
function useEntityBlockEditor ( kind , type ) {
var _ref2 = arguments . length > 2 && arguments [ 2 ] !== undefined ? arguments [ 2 ] : { } ,
_id = _ref2 . id ;
var providerId = useEntityId ( kind , type ) ;
var id = _id !== null && _id !== void 0 ? _id : providerId ;
var _useSelect2 = Object ( external _wp _data _ [ "useSelect" ] ) ( function ( select ) {
var _select2 = select ( 'core' ) ,
getEditedEntityRecord = _select2 . getEditedEntityRecord ;
var editedEntity = getEditedEntityRecord ( kind , type , id ) ;
return {
blocks : editedEntity . blocks ,
content : editedEntity . content
} ;
} , [ kind , type , id ] ) ,
content = _useSelect2 . content ,
blocks = _useSelect2 . blocks ;
var _useDispatch2 = Object ( external _wp _data _ [ "useDispatch" ] ) ( 'core' ) ,
_ _unstableCreateUndoLevel = _useDispatch2 . _ _unstableCreateUndoLevel ,
editEntityRecord = _useDispatch2 . editEntityRecord ;
Object ( external _wp _element _ [ "useEffect" ] ) ( function ( ) {
// Load the blocks from the content if not already in state
// Guard against other instances that might have
// set content to a function already or the blocks are already in state.
if ( content && typeof content !== 'function' && ! blocks ) {
var parsedContent = Object ( external _wp _blocks _ [ "parse" ] ) ( content ) ;
editEntityRecord ( kind , type , id , {
blocks : parsedContent
} , {
undoIgnore : true
} ) ;
}
} , [ content ] ) ;
var onChange = Object ( external _wp _element _ [ "useCallback" ] ) ( function ( newBlocks , options ) {
var selectionStart = options . selectionStart ,
selectionEnd = options . selectionEnd ;
var edits = {
blocks : newBlocks ,
selectionStart : selectionStart ,
selectionEnd : selectionEnd
} ;
var noChange = blocks === edits . blocks ;
if ( noChange ) {
return _ _unstableCreateUndoLevel ( kind , type , id ) ;
} // We create a new function here on every persistent edit
// to make sure the edit makes the post dirty and creates
// a new undo level.
edits . content = function ( _ref3 ) {
var _ref3$blocks = _ref3 . blocks ,
blocksForSerialization = _ref3$blocks === void 0 ? [ ] : _ref3$blocks ;
return Object ( external _wp _blocks _ [ "__unstableSerializeAndClean" ] ) ( blocksForSerialization ) ;
} ;
editEntityRecord ( kind , type , id , edits ) ;
} , [ kind , type , id , blocks ] ) ;
var onInput = Object ( external _wp _element _ [ "useCallback" ] ) ( function ( newBlocks , options ) {
var selectionStart = options . selectionStart ,
selectionEnd = options . selectionEnd ;
var edits = {
blocks : newBlocks ,
selectionStart : selectionStart ,
selectionEnd : selectionEnd
} ;
editEntityRecord ( kind , type , id , edits ) ;
} , [ kind , type , id ] ) ;
return [ blocks !== null && blocks !== void 0 ? blocks : entity _provider _EMPTY _ARRAY , onInput , onChange ] ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/index.js
function build _module _ownKeys ( object , enumerableOnly ) { var keys = Object . keys ( object ) ; if ( Object . getOwnPropertySymbols ) { var symbols = Object . getOwnPropertySymbols ( object ) ; if ( enumerableOnly ) symbols = symbols . filter ( function ( sym ) { return Object . getOwnPropertyDescriptor ( object , sym ) . enumerable ; } ) ; keys . push . apply ( keys , symbols ) ; } return keys ; }
function build _module _objectSpread ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] != null ? arguments [ i ] : { } ; if ( i % 2 ) { build _module _ownKeys ( Object ( source ) , true ) . forEach ( function ( key ) { Object ( defineProperty [ "a" /* default */ ] ) ( target , key , source [ key ] ) ; } ) ; } else if ( Object . getOwnPropertyDescriptors ) { Object . defineProperties ( target , Object . getOwnPropertyDescriptors ( source ) ) ; } else { build _module _ownKeys ( Object ( source ) ) . forEach ( function ( key ) { Object . defineProperty ( target , key , Object . getOwnPropertyDescriptor ( source , key ) ) ; } ) ; } } return target ; }
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
// The entity selectors/resolvers and actions are shortcuts to their generic equivalents
// (getEntityRecord, getEntityRecords, updateEntityRecord, updateEntityRecordss)
// Instead of getEntityRecord, the consumer could use more user-frieldly named selector: getPostType, getTaxonomy...
// The "kind" and the "name" of the entity are combined to generate these shortcuts.
var entitySelectors = defaultEntities . reduce ( function ( result , entity ) {
var kind = entity . kind ,
name = entity . name ;
result [ entities _getMethodName ( kind , name ) ] = function ( state , key ) {
return getEntityRecord ( state , kind , name , key ) ;
} ;
result [ entities _getMethodName ( kind , name , 'get' , true ) ] = function ( state ) {
for ( var _len = arguments . length , args = new Array ( _len > 1 ? _len - 1 : 0 ) , _key = 1 ; _key < _len ; _key ++ ) {
args [ _key - 1 ] = arguments [ _key ] ;
}
return getEntityRecords . apply ( build _module _selectors _namespaceObject , [ state , kind , name ] . concat ( args ) ) ;
} ;
return result ;
} , { } ) ;
var entityResolvers = defaultEntities . reduce ( function ( result , entity ) {
var kind = entity . kind ,
name = entity . name ;
result [ entities _getMethodName ( kind , name ) ] = function ( key ) {
return resolvers _getEntityRecord ( kind , name , key ) ;
} ;
var pluralMethodName = entities _getMethodName ( kind , name , 'get' , true ) ;
result [ pluralMethodName ] = function ( ) {
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
return resolvers _getEntityRecords . apply ( resolvers _namespaceObject , [ kind , name ] . concat ( args ) ) ;
} ;
result [ pluralMethodName ] . shouldInvalidate = function ( action ) {
var _resolvers$getEntityR ;
for ( var _len3 = arguments . length , args = new Array ( _len3 > 1 ? _len3 - 1 : 0 ) , _key3 = 1 ; _key3 < _len3 ; _key3 ++ ) {
args [ _key3 - 1 ] = arguments [ _key3 ] ;
}
return ( _resolvers$getEntityR = resolvers _getEntityRecords ) . shouldInvalidate . apply ( _resolvers$getEntityR , [ action , kind , name ] . concat ( args ) ) ;
} ;
return result ;
} , { } ) ;
var entityActions = defaultEntities . reduce ( function ( result , entity ) {
var kind = entity . kind ,
name = entity . name ;
result [ entities _getMethodName ( kind , name , 'save' ) ] = function ( key ) {
return saveEntityRecord ( kind , name , key ) ;
} ;
result [ entities _getMethodName ( kind , name , 'delete' ) ] = function ( key , query ) {
return deleteEntityRecord ( kind , name , key , query ) ;
} ;
return result ;
} , { } ) ;
var storeConfig = {
reducer : build _module _reducer ,
controls : build _module _objectSpread ( build _module _objectSpread ( { } , build _module _controls ) , external _wp _dataControls _ [ "controls" ] ) ,
actions : build _module _objectSpread ( build _module _objectSpread ( build _module _objectSpread ( { } , build _module _actions _namespaceObject ) , entityActions ) , locks _actions _namespaceObject ) ,
selectors : build _module _objectSpread ( build _module _objectSpread ( build _module _objectSpread ( { } , build _module _selectors _namespaceObject ) , entitySelectors ) , locks _selectors _namespaceObject ) ,
resolvers : build _module _objectSpread ( build _module _objectSpread ( { } , resolvers _namespaceObject ) , entityResolvers )
} ;
/ * *
* Store definition for the code data namespace .
2019-10-15 11:37:08 -04:00
*
2021-02-02 00:17:13 -05:00
* @ see https : //github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
2019-10-15 11:37:08 -04:00
*
2021-01-27 21:04:13 -05:00
* @ type { Object }
2019-09-19 11:19:18 -04:00
* /
2021-01-27 21:04:13 -05:00
var build _module _store = Object ( external _wp _data _ [ "createReduxStore" ] ) ( STORE _NAME , storeConfig ) ;
Object ( external _wp _data _ [ "register" ] ) ( build _module _store ) ;
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
/***/ 47 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , 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 ) ;
2020-01-22 17:06:21 -05:00
}
2021-01-27 21:04:13 -05:00
function _throw ( err ) {
asyncGeneratorStep ( gen , resolve , reject , _next , _throw , "throw" , err ) ;
}
_next ( undefined ) ;
} ) ;
} ;
2020-01-22 17:06:21 -05:00
}
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
2019-10-15 11:37:08 -04:00
2021-02-02 00:17:13 -05:00
/***/ 49 :
2021-01-27 21:04:13 -05:00
/***/ ( function ( module , exports ) {
2020-02-06 16:03:31 -05:00
2021-01-27 21:04:13 -05:00
( function ( ) { module . exports = window [ "wp" ] [ "dataControls" ] ; } ( ) ) ;
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
2019-10-15 11:37:08 -04:00
2021-01-27 21:04:13 -05:00
/***/ 5 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , 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 ;
}
2020-01-08 06:57:23 -05:00
2021-01-27 21:04:13 -05:00
return obj ;
}
2020-02-06 16:03:31 -05:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/***/ 50 :
2021-01-27 21:04:13 -05:00
/***/ ( function ( module , exports ) {
2020-01-08 06:57:23 -05:00
2021-02-02 00:17:13 -05:00
( function ( ) { module . exports = window [ "wp" ] [ "apiFetch" ] ; } ( ) ) ;
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/***/ 52 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2021-01-27 21:04:13 -05:00
"use strict" ;
2021-02-02 00:17:13 -05:00
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _setPrototypeOf ; } ) ;
function _setPrototypeOf ( o , p ) {
_setPrototypeOf = Object . setPrototypeOf || function _setPrototypeOf ( o , p ) {
o . _ _proto _ _ = p ;
return o ;
} ;
2018-12-17 22:14:52 -05:00
2021-02-02 00:17:13 -05:00
return _setPrototypeOf ( o , p ) ;
2020-01-22 17:06:21 -05:00
}
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/***/ 63 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
( function ( ) { module . exports = window [ "wp" ] [ "isShallowEqual" ] ; } ( ) ) ;
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
/***/ 9 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2021-02-02 00:17:13 -05:00
( function ( ) { module . exports = window [ "wp" ] [ "blocks" ] ; } ( ) ) ;
2018-12-13 23:41:57 -05:00
/***/ } )
2018-12-17 22:14:52 -05:00
/******/ } ) ;