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
2018-12-17 22:14:52 -05:00
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 310 ) ;
2018-12-13 23:41:57 -05:00
/******/ } )
/************************************************************************/
/******/ ( {
2018-12-17 22:14:52 -05:00
/***/ 120 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
module . exports = function ( originalModule ) {
if ( ! originalModule . webpackPolyfill ) {
var module = Object . create ( originalModule ) ;
// module.parent = undefined by default
if ( ! module . children ) module . children = [ ] ;
Object . defineProperty ( module , "loaded" , {
enumerable : true ,
get : function ( ) {
return module . l ;
}
} ) ;
Object . defineProperty ( module , "id" , {
enumerable : true ,
get : function ( ) {
return module . i ;
}
} ) ;
Object . defineProperty ( module , "exports" , {
enumerable : true
} ) ;
module . webpackPolyfill = 1 ;
}
return module ;
} ;
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 15 :
2018-12-13 23:41:57 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2018-12-17 22:14:52 -05:00
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _defineProperty ; } ) ;
2018-12-13 23:41:57 -05:00
function _defineProperty ( obj , key , value ) {
if ( key in obj ) {
Object . defineProperty ( obj , key , {
value : value ,
enumerable : true ,
configurable : true ,
writable : true
} ) ;
} else {
obj [ key ] = value ;
}
return obj ;
}
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 19 :
2018-12-13 23:41:57 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2018-12-17 22:14:52 -05:00
Build/Test Tools: Support NodeJS 14.x in the 5.1 branch.
This updates the 5.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.
In addition to backporting the package updates that happened after branching 5.1, dependencies that were removed in future releases have also been updated to their latest versions.
Props desrosj, dd32, netweb, jorbin.
Merges [44233,44728,45321,45765,45826,46403-46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,49940,49983,49989,50017,50126,50176,50185] to the 5.1 branch.
See #52341.
Built from https://develop.svn.wordpress.org/branches/5.1@50199
git-svn-id: http://core.svn.wordpress.org/branches/5.1@49874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-04 22:55:07 -05:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return /* binding */ _toConsumableArray ; } ) ;
2018-12-17 22:14:52 -05:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
function _arrayWithoutHoles ( arr ) {
if ( Array . isArray ( arr ) ) {
for ( var i = 0 , arr2 = new Array ( arr . length ) ; i < arr . length ; i ++ ) {
arr2 [ i ] = arr [ i ] ;
}
return arr2 ;
}
}
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
2018-12-18 22:16:48 -05:00
var iterableToArray = _ _webpack _require _ _ ( 33 ) ;
2018-12-17 22:14:52 -05:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
function _nonIterableSpread ( ) {
throw new TypeError ( "Invalid attempt to spread non-iterable instance" ) ;
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
function _toConsumableArray ( arr ) {
return _arrayWithoutHoles ( arr ) || Object ( iterableToArray [ "a" /* default */ ] ) ( arr ) || _nonIterableSpread ( ) ;
2018-12-13 23:41:57 -05:00
}
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 2 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "lodash" ] ; } ( ) ) ;
/***/ } ) ,
/***/ 24 :
/***/ ( function ( module , exports ) {
( function ( ) { module . exports = this [ "wp" ] [ "url" ] ; } ( ) ) ;
/***/ } ) ,
/***/ 25 :
2018-12-13 23:41:57 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2018-12-17 22:14:52 -05:00
Build/Test Tools: Support NodeJS 14.x in the 5.1 branch.
This updates the 5.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.
In addition to backporting the package updates that happened after branching 5.1, dependencies that were removed in future releases have also been updated to their latest versions.
Props desrosj, dd32, netweb, jorbin.
Merges [44233,44728,45321,45765,45826,46403-46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,49940,49983,49989,50017,50126,50176,50185] to the 5.1 branch.
See #52341.
Built from https://develop.svn.wordpress.org/branches/5.1@50199
git-svn-id: http://core.svn.wordpress.org/branches/5.1@49874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-04 22:55:07 -05:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return /* binding */ _slicedToArray ; } ) ;
2018-12-17 22:14:52 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
var arrayWithHoles = _ _webpack _require _ _ ( 35 ) ;
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
2018-12-13 23:41:57 -05:00
function _iterableToArrayLimit ( arr , i ) {
var _arr = [ ] ;
var _n = true ;
var _d = false ;
var _e = undefined ;
try {
for ( var _i = arr [ Symbol . iterator ] ( ) , _s ; ! ( _n = ( _s = _i . next ( ) ) . done ) ; _n = true ) {
_arr . push ( _s . value ) ;
if ( i && _arr . length === i ) break ;
}
} catch ( err ) {
_d = true ;
_e = err ;
} finally {
try {
if ( ! _n && _i [ "return" ] != null ) _i [ "return" ] ( ) ;
} finally {
if ( _d ) throw _e ;
}
}
return _arr ;
}
2018-12-17 22:14:52 -05:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
var nonIterableRest = _ _webpack _require _ _ ( 36 ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
2018-12-13 23:41:57 -05:00
function _slicedToArray ( arr , i ) {
2018-12-17 22:14:52 -05:00
return Object ( arrayWithHoles [ "a" /* default */ ] ) ( arr ) || _iterableToArrayLimit ( arr , i ) || Object ( nonIterableRest [ "a" /* default */ ] ) ( ) ;
2018-12-13 23:41:57 -05:00
}
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 30 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
( function ( ) { module . exports = this [ "wp" ] [ "apiFetch" ] ; } ( ) ) ;
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 31 :
2018-12-13 23:41:57 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2018-12-17 22:14:52 -05:00
var LEAF _KEY , hasWeakMap ;
2018-12-14 06:02:53 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Arbitrary value used as key for referencing cache object in WeakMap tree .
*
* @ type { Object }
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
LEAF _KEY = { } ;
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Whether environment supports WeakMap .
*
* @ type { boolean }
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
hasWeakMap = typeof WeakMap !== 'undefined' ;
2018-12-14 06:02:53 -05:00
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Returns the first argument as the sole entry in an array .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { * } value Value to return .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { Array } Value returned as entry in array .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function arrayOf ( value ) {
return [ value ] ;
2018-12-13 23:41:57 -05:00
}
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 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 .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { * } value Value to test .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { boolean } Whether value is object - like .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function isObjectLike ( value ) {
return ! ! value && 'object' === typeof value ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/ * *
* Creates and returns a new cache object .
*
* @ return { Object } Cache object .
* /
function createCache ( ) {
var cache = {
clear : function ( ) {
cache . head = null ;
} ,
} ;
return cache ;
2018-12-13 23:41:57 -05:00
}
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 true if entries within the two arrays are strictly equal by
* reference from a starting index .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Array } a First array .
* @ param { Array } b Second array .
* @ param { number } fromIndex Index from which to start comparison .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { boolean } Whether arrays are shallowly equal .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function isShallowEqual ( a , b , fromIndex ) {
var i ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( a . length !== b . length ) {
return false ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
for ( i = fromIndex ; i < a . length ; i ++ ) {
if ( a [ i ] !== b [ i ] ) {
return false ;
}
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return true ;
2018-12-13 23:41:57 -05:00
}
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 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 .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Function } selector Selector function .
* @ param { Function } getDependants Dependant getter returning an immutable
* reference or array of reference used in
* cache bust consideration .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { Function } Memoized selector .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( function ( selector , getDependants ) {
var rootCache , getCache ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Use object source as dependant if getter not provided
if ( ! getDependants ) {
getDependants = arrayOf ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/ * *
* 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 ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/ * *
* 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 ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
for ( i = 0 ; i < dependants . length ; i ++ ) {
dependant = dependants [ i ] ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Can only compose WeakMap from object-like key.
if ( ! isObjectLike ( dependant ) ) {
isUniqueByDependants = false ;
break ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// 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 ;
}
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// 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 ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return caches . get ( LEAF _KEY ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Assign cache handler by availability of WeakMap
getCache = hasWeakMap ? getWeakMapCache : getRootCache ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/ * *
* Resets root memoization cache .
* /
function clear ( ) {
rootCache = hasWeakMap ? new WeakMap ( ) : createCache ( ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// 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 ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Create copy of arguments (avoid leaking deoptimization).
args = new Array ( len ) ;
for ( i = 0 ; i < len ; i ++ ) {
args [ i ] = arguments [ i ] ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
dependants = getDependants . apply ( null , args ) ;
cache = getCache ( dependants ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// 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 ( ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
cache . lastDependants = dependants ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
node = cache . head ;
while ( node ) {
// Check whether node arguments match arguments
if ( ! isShallowEqual ( node . args , args , 1 ) ) {
node = node . next ;
continue ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// At this point we can assume we've found a match
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// 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 ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
node . next = cache . head ;
node . prev = null ;
cache . head . prev = node ;
cache . head = node ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Return immediately
return node . val ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// No cached value found. Continue to insertion phase:
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
node = {
// Generate the result from original function
val : selector . apply ( null , args ) ,
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Avoid including the source object in the cache.
args [ 0 ] = null ;
node . args = args ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Don't need to check whether node is already head, since it would
// have been returned above already if it was
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// Shift existing head down list
if ( cache . head ) {
cache . head . prev = node ;
node . next = cache . head ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
cache . head = node ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return node . val ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
callSelector . getDependants = getDependants ;
callSelector . clear = clear ;
clear ( ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return callSelector ;
} ) ;
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 310 :
2018-12-13 23:41:57 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
Build/Test Tools: Support NodeJS 14.x in the 5.1 branch.
This updates the 5.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.
In addition to backporting the package updates that happened after branching 5.1, dependencies that were removed in future releases have also been updated to their latest versions.
Props desrosj, dd32, netweb, jorbin.
Merges [44233,44728,45321,45765,45826,46403-46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,49940,49983,49989,50017,50126,50176,50185] to the 5.1 branch.
See #52341.
Built from https://develop.svn.wordpress.org/branches/5.1@50199
git-svn-id: http://core.svn.wordpress.org/branches/5.1@49874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-04 22:55:07 -05:00
// ESM COMPAT FLAG
2018-12-13 23:41:57 -05:00
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
Build/Test Tools: Support NodeJS 14.x in the 5.1 branch.
This updates the 5.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.
In addition to backporting the package updates that happened after branching 5.1, dependencies that were removed in future releases have also been updated to their latest versions.
Props desrosj, dd32, netweb, jorbin.
Merges [44233,44728,45321,45765,45826,46403-46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,49940,49983,49989,50017,50126,50176,50185] to the 5.1 branch.
See #52341.
Built from https://develop.svn.wordpress.org/branches/5.1@50199
git-svn-id: http://core.svn.wordpress.org/branches/5.1@49874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-04 22:55:07 -05:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/actions.js
2018-12-17 22:14:52 -05: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 , "addEntities" , function ( ) { return addEntities ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveEntityRecords" , function ( ) { return receiveEntityRecords ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveThemeSupports" , function ( ) { return receiveThemeSupports ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveEmbedPreview" , function ( ) { return receiveEmbedPreview ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "saveEntityRecord" , function ( ) { return saveEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( build _module _actions _namespaceObject , "receiveUploadPermissions" , function ( ) { return receiveUploadPermissions ; } ) ;
Build/Test Tools: Support NodeJS 14.x in the 5.1 branch.
This updates the 5.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.
In addition to backporting the package updates that happened after branching 5.1, dependencies that were removed in future releases have also been updated to their latest versions.
Props desrosj, dd32, netweb, jorbin.
Merges [44233,44728,45321,45765,45826,46403-46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,49940,49983,49989,50017,50126,50176,50185] to the 5.1 branch.
See #52341.
Built from https://develop.svn.wordpress.org/branches/5.1@50199
git-svn-id: http://core.svn.wordpress.org/branches/5.1@49874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-04 22:55:07 -05:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/selectors.js
2018-12-17 22:14:52 -05: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 ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getUserQueryResults" , function ( ) { return getUserQueryResults ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntitiesByKind" , function ( ) { return getEntitiesByKind ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntity" , function ( ) { return getEntity ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntityRecord" , function ( ) { return getEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( build _module _selectors _namespaceObject , "getEntityRecords" , function ( ) { return getEntityRecords ; } ) ;
_ _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 selectors _hasUploadPermissions ; } ) ;
Build/Test Tools: Support NodeJS 14.x in the 5.1 branch.
This updates the 5.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.
In addition to backporting the package updates that happened after branching 5.1, dependencies that were removed in future releases have also been updated to their latest versions.
Props desrosj, dd32, netweb, jorbin.
Merges [44233,44728,45321,45765,45826,46403-46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,49940,49983,49989,50017,50126,50176,50185] to the 5.1 branch.
See #52341.
Built from https://develop.svn.wordpress.org/branches/5.1@50199
git-svn-id: http://core.svn.wordpress.org/branches/5.1@49874 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-02-04 22:55:07 -05:00
// NAMESPACE OBJECT: ./node_modules/@wordpress/core-data/build-module/resolvers.js
2018-12-17 22:14:52 -05:00
var resolvers _namespaceObject = { } ;
_ _webpack _require _ _ . r ( resolvers _namespaceObject ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getAuthors" , function ( ) { return resolvers _getAuthors ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getEntityRecord" , function ( ) { return resolvers _getEntityRecord ; } ) ;
_ _webpack _require _ _ . d ( resolvers _namespaceObject , "getEntityRecords" , function ( ) { return resolvers _getEntityRecords ; } ) ;
_ _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 ; } ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
var objectSpread = _ _webpack _require _ _ ( 8 ) ;
// EXTERNAL MODULE: external {"this":["wp","data"]}
var external _this _wp _data _ = _ _webpack _require _ _ ( 5 ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = _ _webpack _require _ _ ( 25 ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
var toConsumableArray = _ _webpack _require _ _ ( 19 ) ;
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = _ _webpack _require _ _ ( 15 ) ;
// EXTERNAL MODULE: external "lodash"
var external _lodash _ = _ _webpack _require _ _ ( 2 ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/utils/if-matching-action.js
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* 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 .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
var ifMatchingAction = function ifMatchingAction ( isMatch ) {
return function ( reducer ) {
return function ( state , action ) {
if ( state === undefined || isMatch ( action ) ) {
return reducer ( state , action ) ;
}
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
/* harmony default export */ var if _matching _action = ( ifMatchingAction ) ;
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/utils/on-sub-key.js
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/ * *
* Higher - order reducer creator which creates a combined reducer object , keyed
* by a property on the action object .
*
* @ param { string } actionProperty Action property by which to key object .
*
* @ return { Function } Higher - order reducer .
* /
var 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
2018-12-17 22:14:52 -05: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
2018-12-17 22:14:52 -05:00
var nextKeyState = reducer ( state [ key ] , action ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( nextKeyState === state [ key ] ) {
return state ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , state , Object ( defineProperty [ "a" /* default */ ] ) ( { } , key , nextKeyState ) ) ;
} ;
2018-12-14 06:02:53 -05:00
} ;
2018-12-17 22:14:52 -05:00
} ;
/* harmony default export */ var on _sub _key = ( on _sub _key _onSubKey ) ;
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/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 ) ) ;
} ;
2018-12-14 06:02:53 -05:00
} ;
2018-12-17 22:14:52 -05:00
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/* harmony default export */ var replace _action = ( replaceAction ) ;
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/utils/with-weak-map-cache.js
/ * *
* External dependencies
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/ * *
* 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 .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function withWeakMapCache ( fn ) {
var cache = new WeakMap ( ) ;
return function ( key ) {
var value ;
2018-12-14 06:02:53 -05:00
2018-12-17 22:14:52 -05:00
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.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( Object ( external _lodash _ [ "isObjectLike" ] ) ( key ) ) {
cache . set ( key , value ) ;
}
}
2018-12-14 06:02:53 -05:00
2018-12-17 22:14:52 -05:00
return value ;
2018-12-14 06:02:53 -05:00
} ;
2018-12-17 22:14:52 -05:00
}
2018-12-14 06:02:53 -05:00
2018-12-17 22:14:52 -05:00
/* harmony default export */ var with _weak _map _cache = ( withWeakMapCache ) ;
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/utils/index.js
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/actions.js
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
* Returns an action object used in signalling that items have been received .
*
* @ param { Array } items Items received .
*
* @ return { Object } Action object .
* /
function receiveItems ( items ) {
return {
type : 'RECEIVE_ITEMS' ,
2018-12-17 22:14:52 -05:00
items : Object ( external _lodash _ [ "castArray" ] ) ( items )
2018-12-13 23:41:57 -05:00
} ;
}
/ * *
* Returns an action object used in signalling that queried data has been
* received .
*
* @ param { Array } items Queried items received .
* @ param { ? Object } query Optional query object .
*
* @ return { Object } Action object .
* /
function receiveQueriedItems ( items ) {
var query = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : { } ;
2018-12-17 22:14:52 -05:00
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , receiveItems ( items ) , {
2018-12-13 23:41:57 -05:00
query : query
} ) ;
}
2018-12-17 22:14:52 -05:00
// EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js
var rememo = _ _webpack _require _ _ ( 31 ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// EXTERNAL MODULE: ./node_modules/equivalent-key-map/equivalent-key-map.js
var equivalent _key _map = _ _webpack _require _ _ ( 66 ) ;
var equivalent _key _map _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( equivalent _key _map ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
// EXTERNAL MODULE: external {"this":["wp","url"]}
var external _this _wp _url _ = _ _webpack _require _ _ ( 24 ) ;
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/get-query-parts.js
2018-12-13 23:41:57 -05:00
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* An object of properties describing a specific query .
*
* @ typedef { WPQueriedDataQueryParts }
*
* @ property { number } page The query page ( 1 - based index , default 1 ) .
* @ property { number } perPage Items per page for query ( default 10 ) .
2018-12-17 22:14:52 -05:00
* @ property { string } stableKey An encoded stable string of all non - pagination
* query parameters .
* /
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05: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 .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { Object } query Optional query object .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { WPQueriedDataQueryParts } Query parts .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function getQueryParts ( query ) {
/ * *
* @ type { WPQueriedDataQueryParts }
* /
var parts = {
stableKey : '' ,
page : 1 ,
perPage : 10
} ; // Ensure stable key by sorting keys. Also more efficient for iterating.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var keys = Object . keys ( query ) . sort ( ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
for ( var i = 0 ; i < keys . length ; i ++ ) {
var key = keys [ i ] ;
var value = query [ key ] ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
switch ( key ) {
case 'page' :
parts [ key ] = Number ( value ) ;
break ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 'per_page' :
parts . perPage = Number ( value ) ;
break ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
default :
// While it could be any deterministic string, for simplicity's
// 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.
parts . stableKey += ( parts . stableKey ? '&' : '' ) + Object ( external _this _wp _url _ [ "addQueryArgs" ] ) ( '' , Object ( defineProperty [ "a" /* default */ ] ) ( { } , key , value ) ) . slice ( 1 ) ;
}
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return parts ;
}
/* 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/selectors.js
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
* 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 ) {
2018-12-17 22:14:52 -05:00
var _getQueryParts = get _query _parts ( query ) ,
2018-12-13 23:41:57 -05:00
stableKey = _getQueryParts . stableKey ,
page = _getQueryParts . page ,
perPage = _getQueryParts . perPage ;
if ( ! state . queries [ stableKey ] ) {
return null ;
}
var itemIds = state . queries [ stableKey ] ;
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 ] ;
items . push ( state . items [ itemId ] ) ;
}
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 .
*
2018-12-17 22:14:52 -05:00
* @ 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 ;
} ) ;
// EXTERNAL MODULE: ./node_modules/redux/es/redux.js
2018-12-18 22:16:48 -05:00
var redux = _ _webpack _require _ _ ( 62 ) ;
2018-12-17 22:14:52 -05:00
// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
var external _this _wp _apiFetch _ = _ _webpack _require _ _ ( 30 ) ;
var external _this _wp _apiFetch _default = /*#__PURE__*/ _ _webpack _require _ _ . n ( external _this _wp _apiFetch _ ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/controls.js
/ * *
* WordPress dependencies
* /
/ * *
* Trigger an API Fetch request .
*
* @ param { Object } request API Fetch Request Object .
* @ return { Object } control descriptor .
* /
function apiFetch ( request ) {
return {
type : 'API_FETCH' ,
request : request
} ;
}
/ * *
* Calls a selector using the current state .
* @ param { string } selectorName Selector name .
* @ param { Array } args Selector arguments .
*
* @ return { Object } control descriptor .
* /
function controls _select ( selectorName ) {
for ( var _len = arguments . length , args = new Array ( _len > 1 ? _len - 1 : 0 ) , _key = 1 ; _key < _len ; _key ++ ) {
args [ _key - 1 ] = arguments [ _key ] ;
}
return {
type : 'SELECT' ,
selectorName : selectorName ,
args : args
} ;
}
var controls = {
API _FETCH : function API _FETCH ( _ref ) {
var request = _ref . request ;
return external _this _wp _apiFetch _default ( ) ( request ) ;
} ,
SELECT : function SELECT ( _ref2 ) {
var _selectData ;
var selectorName = _ref2 . selectorName ,
args = _ref2 . args ;
return ( _selectData = Object ( external _this _wp _data _ [ "select" ] ) ( 'core' ) ) [ selectorName ] . apply ( _selectData , Object ( toConsumableArray [ "a" /* default */ ] ) ( args ) ) ;
}
} ;
/* harmony default export */ var build _module _controls = ( controls ) ;
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/actions.js
var _marked =
/*#__PURE__*/
regeneratorRuntime . mark ( saveEntityRecord ) ;
/ * *
* External dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Returns an action object used in signalling that authors have been received .
*
* @ param { string } queryID Query ID .
* @ param { Array | Object } users Users received .
*
* @ return { Object } Action object .
* /
function receiveUserQuery ( queryID , users ) {
return {
type : 'RECEIVE_USER_QUERY' ,
users : Object ( external _lodash _ [ "castArray" ] ) ( users ) ,
queryID : queryID
} ;
}
/ * *
* Returns an action object used in adding new entities .
*
* @ param { Array } entities Entities received .
*
* @ return { Object } Action object .
* /
function addEntities ( entities ) {
return {
type : 'ADD_ENTITIES' ,
entities : entities
} ;
}
/ * *
* 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 .
* @ param { ? boolean } invalidateCache Should invalidate query caches
*
* @ return { Object } Action object .
* /
function receiveEntityRecords ( kind , name , records , query ) {
var invalidateCache = arguments . length > 4 && arguments [ 4 ] !== undefined ? arguments [ 4 ] : false ;
var action ;
if ( query ) {
action = receiveQueriedItems ( records , query ) ;
} else {
action = receiveItems ( records ) ;
}
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , action , {
kind : kind ,
name : name ,
invalidateCache : invalidateCache
} ) ;
}
/ * *
* Returns an action object used in signalling that the index has been received .
*
* @ param { Object } themeSupports Theme support for the current theme .
*
* @ return { Object } Action object .
* /
function receiveThemeSupports ( themeSupports ) {
return {
type : 'RECEIVE_THEME_SUPPORTS' ,
themeSupports : themeSupports
} ;
}
/ * *
* Returns an action object used in signalling that the preview data for
* a given URl has been received .
*
* @ param { string } url URL to preview the embed for .
* @ param { Mixed } preview Preview data .
*
* @ return { Object } Action object .
* /
function receiveEmbedPreview ( url , preview ) {
return {
type : 'RECEIVE_EMBED_PREVIEW' ,
url : url ,
preview : preview
} ;
}
/ * *
* Action triggered to save an entity record .
*
* @ param { string } kind Kind of the received entity .
* @ param { string } name Name of the received entity .
* @ param { Object } record Record to be saved .
*
* @ return { Object } Updated record .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function saveEntityRecord ( kind , name , record ) {
var entities , entity , key , recordId , updatedRecord ;
return regeneratorRuntime . wrap ( function saveEntityRecord$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
_context . next = 2 ;
return getKindEntities ( kind ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
entities = _context . sent ;
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
kind : kind ,
name : name
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( entity ) {
_context . next = 6 ;
break ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return _context . abrupt ( "return" ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 6 :
key = entity . key || DEFAULT _ENTITY _KEY ;
recordId = record [ key ] ;
_context . next = 10 ;
return apiFetch ( {
path : "" . concat ( entity . baseURL ) . concat ( recordId ? '/' + recordId : '' ) ,
method : recordId ? 'PUT' : 'POST' ,
data : record
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 10 :
updatedRecord = _context . sent ;
_context . next = 13 ;
return receiveEntityRecords ( kind , name , updatedRecord , undefined , true ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 13 :
return _context . abrupt ( "return" , updatedRecord ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 14 :
case "end" :
return _context . stop ( ) ;
}
}
} , _marked , this ) ;
}
/ * *
* 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 .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function receiveUploadPermissions ( hasUploadPermissions ) {
return {
type : 'RECEIVE_UPLOAD_PERMISSIONS' ,
hasUploadPermissions : hasUploadPermissions
} ;
}
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/entities.js
var entities _marked =
/*#__PURE__*/
regeneratorRuntime . mark ( loadPostTypeEntities ) ,
_marked2 =
/*#__PURE__*/
regeneratorRuntime . mark ( loadTaxonomyEntities ) ,
_marked3 =
/*#__PURE__*/
regeneratorRuntime . mark ( getKindEntities ) ;
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
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
var DEFAULT _ENTITY _KEY = 'id' ;
var defaultEntities = [ {
name : 'postType' ,
kind : 'root' ,
key : 'slug' ,
baseURL : '/wp/v2/types'
} , {
name : 'media' ,
kind : 'root' ,
baseURL : '/wp/v2/media' ,
plural : 'mediaItems'
} , {
name : 'taxonomy' ,
kind : 'root' ,
key : 'slug' ,
baseURL : '/wp/v2/taxonomies' ,
plural : 'taxonomies'
} ] ;
var kinds = [ {
name : 'postType' ,
loadEntities : loadPostTypeEntities
} , {
name : 'taxonomy' ,
loadEntities : loadTaxonomyEntities
} ] ;
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Returns the list of post type entities .
*
* @ return { Promise } Entities promise
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function loadPostTypeEntities ( ) {
var postTypes ;
return regeneratorRuntime . wrap ( function loadPostTypeEntities$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
_context . next = 2 ;
return apiFetch ( {
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 ;
return _context . abrupt ( "return" , Object ( external _lodash _ [ "map" ] ) ( postTypes , function ( postType , name ) {
return {
kind : 'postType' ,
baseURL : '/wp/v2/' + postType . rest _base ,
name : name
} ;
} ) ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 4 :
case "end" :
return _context . stop ( ) ;
}
}
} , entities _marked , this ) ;
}
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 ;
return regeneratorRuntime . wrap ( function loadTaxonomyEntities$ ( _context2 ) {
while ( 1 ) {
switch ( _context2 . prev = _context2 . next ) {
case 0 :
_context2 . next = 2 ;
return apiFetch ( {
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 ;
return _context2 . abrupt ( "return" , Object ( external _lodash _ [ "map" ] ) ( taxonomies , function ( taxonomy , name ) {
return {
kind : 'taxonomy' ,
baseURL : '/wp/v2/' + taxonomy . rest _base ,
name : name
} ;
} ) ) ;
case 4 :
case "end" :
return _context2 . stop ( ) ;
}
}
} , _marked2 , this ) ;
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 ;
var entity = Object ( external _lodash _ [ "find" ] ) ( defaultEntities , {
kind : kind ,
name : name
} ) ;
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 ;
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 ;
return regeneratorRuntime . wrap ( function getKindEntities$ ( _context3 ) {
while ( 1 ) {
switch ( _context3 . prev = _context3 . next ) {
case 0 :
_context3 . next = 2 ;
return controls _select ( 'getEntitiesByKind' , kind ) ;
case 2 :
entities = _context3 . sent ;
if ( ! ( entities && entities . length !== 0 ) ) {
_context3 . next = 5 ;
break ;
}
return _context3 . abrupt ( "return" , entities ) ;
case 5 :
kindConfig = Object ( external _lodash _ [ "find" ] ) ( kinds , {
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
2018-12-17 22:14:52 -05:00
case 14 :
case "end" :
return _context3 . stop ( ) ;
}
}
} , _marked3 , this ) ;
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
/ * *
2018-12-17 22:14:52 -05:00
* External dependencies
2018-12-13 23:41:57 -05:00
* /
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 ) {
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' :
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , state , Object ( external _lodash _ [ "keyBy" ] ) ( action . items , action . key || DEFAULT _ENTITY _KEY ) ) ;
2018-12-13 23:41:57 -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
* 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
* /
2018-12-17 22:14:52 -05:00
var queries = Object ( external _lodash _ [ "flowRight" ] ) ( [ // Limit to matching action type so we don't attempt to replace action on
// 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 ) {
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , action , get _query _parts ( action . query ) ) ;
}
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 ,
_action$key = action . key ,
key = _action$key === void 0 ? DEFAULT _ENTITY _KEY : _action$key ;
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
}
2018-12-17 22:14:52 -05:00
return getMergedItemIds ( state || [ ] , Object ( external _lodash _ [ "map" ] ) ( action . items , key ) , page , perPage ) ;
} ) ;
/* harmony default export */ var queried _data _reducer = ( Object ( redux [ "b" /* combineReducers */ ] ) ( {
items : reducer _items ,
queries : queries
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/index.js
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/reducer.js
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
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' :
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , state , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . taxonomy , action . terms ) ) ;
}
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 {
byId : Object ( objectSpread [ "a" /* default */ ] ) ( { } , state . byId , Object ( external _lodash _ [ "keyBy" ] ) ( action . users , 'id' ) ) ,
queries : Object ( objectSpread [ "a" /* default */ ] ) ( { } , state . queries , Object ( defineProperty [ "a" /* default */ ] ) ( { } , action . queryID , Object ( external _lodash _ [ "map" ] ) ( action . users , function ( user ) {
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
}
/ * *
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 ;
}
/ * *
* 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' :
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , state , action . themeSupports ) ;
}
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 :
*
* - Fetching a record by primary key
*
* @ 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 ) {
return Object ( external _lodash _ [ "flowRight" ] ) ( [ // Limit to matching action type so we don't attempt to replace action on
// 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 ) {
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , action , {
key : entityConfig . key || DEFAULT _ENTITY _KEY
} ) ;
} ) ] ) ( queried _data _reducer ) ;
}
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' :
return Object ( toConsumableArray [ "a" /* default */ ] ) ( state ) . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( action . entities ) ) ;
}
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 ) {
var entitiesByKind = Object ( external _lodash _ [ "groupBy" ] ) ( newConfig , 'kind' ) ;
entitiesDataReducer = Object ( external _this _wp _data _ [ "combineReducers" ] ) ( Object . entries ( entitiesByKind ) . reduce ( function ( memo , _ref ) {
var _ref2 = Object ( slicedToArray [ "a" /* default */ ] ) ( _ref , 2 ) ,
kind = _ref2 [ 0 ] ,
subEntities = _ref2 [ 1 ] ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var kindReducer = Object ( external _this _wp _data _ [ "combineReducers" ] ) ( subEntities . reduce ( function ( kindMemo , entityConfig ) {
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , kindMemo , Object ( defineProperty [ "a" /* default */ ] ) ( { } , entityConfig . name , reducer _entity ( entityConfig ) ) ) ;
} , { } ) ) ;
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
} ;
} ;
/ * *
* 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 ;
return Object ( objectSpread [ "a" /* default */ ] ) ( { } , state , Object ( defineProperty [ "a" /* default */ ] ) ( { } , url , preview ) ) ;
}
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
/ * *
* Reducer managing Upload permissions .
*
* @ 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 hasUploadPermissions ( ) {
2019-01-04 14:38:57 -05:00
var state = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : true ;
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 ) {
case 'RECEIVE_UPLOAD_PERMISSIONS' :
return action . hasUploadPermissions ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return state ;
}
/* harmony default export */ var build _module _reducer = ( Object ( external _this _wp _data _ [ "combineReducers" ] ) ( {
terms : terms ,
users : reducer _users ,
taxonomies : reducer _taxonomies ,
themeSupports : themeSupports ,
entities : reducer _entities ,
embedPreviews : embedPreviews ,
hasUploadPermissions : hasUploadPermissions
} ) ) ;
// 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 }
* /
var REDUCER _KEY = 'core' ;
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/selectors.js
2018-12-13 23:41:57 -05:00
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
/ * *
* Returns true if resolution is in progress for the core selector of the given
* name and arguments .
*
* @ param { string } selectorName Core data selector name .
* @ param { ... * } args Arguments passed to selector .
*
* @ return { boolean } Whether resolution is in progress .
* /
function isResolving ( selectorName ) {
for ( var _len = arguments . length , args = new Array ( _len > 1 ? _len - 1 : 0 ) , _key = 1 ; _key < _len ; _key ++ ) {
args [ _key - 1 ] = arguments [ _key ] ;
}
2018-12-17 22:14:52 -05:00
return Object ( external _this _wp _data _ [ "select" ] ) ( 'core/data' ) . isResolving ( REDUCER _KEY , selectorName , args ) ;
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 .
* /
function isRequestingEmbedPreview ( state , url ) {
return isResolving ( 'getEmbedPreview' , url ) ;
}
/ * *
* Returns all available authors .
*
* @ param { Object } state Data state .
*
* @ return { Array } Authors list .
* /
function getAuthors ( state ) {
return getUserQueryResults ( state , 'authors' ) ;
}
/ * *
* 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 ] ;
2018-12-17 22:14:52 -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 ) {
2018-12-17 22:14:52 -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
* /
function getEntity ( state , kind , name ) {
2018-12-17 22:14:52 -05:00
return Object ( external _lodash _ [ "find" ] ) ( state . entities . config , {
2018-12-13 23:41:57 -05:00
kind : kind ,
name : name
} ) ;
}
/ * *
* Returns the Entity ' s record object by key .
*
* @ param { Object } state State tree
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { number } key Record ' s key
*
* @ return { Object ? } Record .
* /
function getEntityRecord ( state , kind , name , key ) {
2018-12-17 22:14:52 -05:00
return Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name , 'items' , key ] ) ;
2018-12-13 23:41:57 -05:00
}
/ * *
* Returns the Entity ' s records .
*
* @ param { Object } state State tree
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { ? Object } query Optional terms query .
*
* @ return { Array } Records .
* /
function getEntityRecords ( state , kind , name , query ) {
2018-12-17 22:14:52 -05:00
var queriedState = Object ( external _lodash _ [ "get" ] ) ( state . entities . data , [ kind , name ] ) ;
2018-12-13 23:41:57 -05:00
if ( ! queriedState ) {
return [ ] ;
}
2018-12-17 22:14:52 -05:00
return getQueriedItems ( queriedState , query ) ;
2018-12-13 23:41:57 -05:00
}
/ * *
* Return theme supports data in the index .
*
* @ param { Object } state Data state .
*
* @ return { * } Index data .
* /
function getThemeSupports ( state ) {
return state . themeSupports ;
}
/ * *
* Returns the embed preview for the given URL .
*
* @ param { Object } state Data state .
* @ param { string } url Embedded URL .
*
* @ return { * } Undefined if the preview has not been fetched , otherwise , the preview fetched from the embed preview API .
* /
function getEmbedPreview ( state , url ) {
return state . embedPreviews [ url ] ;
}
/ * *
* Determines if the returned preview is an oEmbed link fallback .
*
* 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 .
*
* @ param { Object } state Data state .
* @ param { string } url Embedded URL .
*
* @ return { booleans } Is the preview for the URL an oEmbed link fallback .
* /
function isPreviewEmbedFallback ( state , url ) {
var preview = state . embedPreviews [ url ] ;
var oEmbedLinkCheck = '<a href="' + url + '">' + url + '</a>' ;
if ( ! preview ) {
return false ;
}
return preview . html === oEmbedLinkCheck ;
}
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
/ * *
* Return Upload Permissions .
*
* @ param { Object } state State tree .
*
* @ return { boolean } Upload Permissions .
* /
2018-12-17 22:14:52 -05:00
function selectors _hasUploadPermissions ( 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
return state . hasUploadPermissions ;
}
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/resolvers.js
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var resolvers _marked =
/*#__PURE__*/
regeneratorRuntime . mark ( resolvers _getAuthors ) ,
resolvers _marked2 =
/*#__PURE__*/
regeneratorRuntime . mark ( resolvers _getEntityRecord ) ,
resolvers _marked3 =
/*#__PURE__*/
regeneratorRuntime . mark ( resolvers _getEntityRecords ) ,
_marked4 =
/*#__PURE__*/
regeneratorRuntime . mark ( resolvers _getThemeSupports ) ,
_marked5 =
/*#__PURE__*/
regeneratorRuntime . mark ( resolvers _getEmbedPreview ) ,
_marked6 =
/*#__PURE__*/
regeneratorRuntime . mark ( resolvers _hasUploadPermissions ) ;
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
* /
2018-12-17 22:14:52 -05:00
/ * *
* WordPress dependencies
* /
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
* Requests authors from the REST API .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function resolvers _getAuthors ( ) {
var users ;
return regeneratorRuntime . wrap ( function getAuthors$ ( _context ) {
while ( 1 ) {
switch ( _context . prev = _context . next ) {
case 0 :
_context . next = 2 ;
return apiFetch ( {
path : '/wp/v2/users/?who=authors&per_page=-1'
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
users = _context . sent ;
_context . next = 5 ;
return receiveUserQuery ( 'authors' , users ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 5 :
case "end" :
return _context . stop ( ) ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
}
} , resolvers _marked , this ) ;
}
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Requests an entity ' s record from the REST API .
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 { number } key Record ' s key
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function resolvers _getEntityRecord ( kind , name , key ) {
var entities , entity , record ;
return regeneratorRuntime . wrap ( function getEntityRecord$ ( _context2 ) {
while ( 1 ) {
switch ( _context2 . prev = _context2 . next ) {
case 0 :
_context2 . next = 2 ;
return getKindEntities ( kind ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
entities = _context2 . sent ;
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
kind : kind ,
name : name
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( entity ) {
_context2 . next = 6 ;
break ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return _context2 . abrupt ( "return" ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 6 :
_context2 . next = 8 ;
return apiFetch ( {
path : "" . concat ( entity . baseURL , "/" ) . concat ( key , "?context=edit" )
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 8 :
record = _context2 . sent ;
_context2 . next = 11 ;
return receiveEntityRecords ( kind , name , record ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 11 :
case "end" :
return _context2 . stop ( ) ;
2018-12-13 23:41:57 -05:00
}
}
2018-12-17 22:14:52 -05:00
} , resolvers _marked2 , this ) ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
/ * *
* Requests the entity ' s records from the REST API .
*
* @ param { string } kind Entity kind .
* @ param { string } name Entity name .
* @ param { Object ? } query Query Object .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function resolvers _getEntityRecords ( kind , name ) {
var query ,
entities ,
entity ,
path ,
records ,
_args3 = arguments ;
return regeneratorRuntime . wrap ( function getEntityRecords$ ( _context3 ) {
while ( 1 ) {
switch ( _context3 . prev = _context3 . next ) {
case 0 :
query = _args3 . length > 2 && _args3 [ 2 ] !== undefined ? _args3 [ 2 ] : { } ;
_context3 . next = 3 ;
return getKindEntities ( kind ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 3 :
entities = _context3 . sent ;
entity = Object ( external _lodash _ [ "find" ] ) ( entities , {
kind : kind ,
name : name
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( entity ) {
_context3 . next = 7 ;
break ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return _context3 . abrupt ( "return" ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 7 :
path = Object ( external _this _wp _url _ [ "addQueryArgs" ] ) ( entity . baseURL , Object ( objectSpread [ "a" /* default */ ] ) ( { } , query , {
context : 'edit'
} ) ) ;
_context3 . next = 10 ;
return apiFetch ( {
path : path
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 10 :
records = _context3 . sent ;
_context3 . next = 13 ;
return receiveEntityRecords ( kind , name , Object . values ( records ) , query ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 13 :
case "end" :
return _context3 . stop ( ) ;
}
}
} , resolvers _marked3 , this ) ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
resolvers _getEntityRecords . shouldInvalidate = function ( action , kind , name ) {
return action . type === 'RECEIVE_ITEMS' && action . invalidateCache && kind === action . kind && name === action . name ;
} ;
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Requests theme supports data from the index .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
function resolvers _getThemeSupports ( ) {
var activeThemes ;
return regeneratorRuntime . wrap ( function getThemeSupports$ ( _context4 ) {
while ( 1 ) {
switch ( _context4 . prev = _context4 . next ) {
case 0 :
_context4 . next = 2 ;
return apiFetch ( {
path : '/wp/v2/themes?status=active'
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
activeThemes = _context4 . sent ;
_context4 . next = 5 ;
return receiveThemeSupports ( activeThemes [ 0 ] . theme _supports ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 5 :
case "end" :
return _context4 . stop ( ) ;
}
}
} , _marked4 , this ) ;
}
/ * *
* Requests a preview from the from the Embed API .
*
* @ param { string } url URL to get the preview for .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function resolvers _getEmbedPreview ( url ) {
var embedProxyResponse ;
return regeneratorRuntime . wrap ( function getEmbedPreview$ ( _context5 ) {
while ( 1 ) {
switch ( _context5 . prev = _context5 . next ) {
case 0 :
_context5 . prev = 0 ;
_context5 . next = 3 ;
return apiFetch ( {
path : Object ( external _this _wp _url _ [ "addQueryArgs" ] ) ( '/oembed/1.0/proxy' , {
url : url
} )
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 3 :
embedProxyResponse = _context5 . sent ;
_context5 . next = 6 ;
return receiveEmbedPreview ( url , embedProxyResponse ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 6 :
_context5 . next = 12 ;
break ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 8 :
_context5 . prev = 8 ;
_context5 . t0 = _context5 [ "catch" ] ( 0 ) ;
_context5 . next = 12 ;
return receiveEmbedPreview ( url , false ) ;
case 12 :
case "end" :
return _context5 . stop ( ) ;
}
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
} , _marked5 , this , [ [ 0 , 8 ] ] ) ;
}
/ * *
* Requests Upload Permissions from the REST API .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function resolvers _hasUploadPermissions ( ) {
var response , allowHeader ;
return regeneratorRuntime . wrap ( function hasUploadPermissions$ ( _context6 ) {
while ( 1 ) {
switch ( _context6 . prev = _context6 . next ) {
case 0 :
_context6 . next = 2 ;
return apiFetch ( {
path : '/wp/v2/media' ,
method : 'OPTIONS' ,
parse : false
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 2 :
response = _context6 . sent ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( Object ( external _lodash _ [ "hasIn" ] ) ( response , [ 'headers' , 'get' ] ) ) {
// 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.
allowHeader = Object ( external _lodash _ [ "get" ] ) ( response , [ 'headers' , 'Allow' ] , '' ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
_context6 . next = 6 ;
return receiveUploadPermissions ( Object ( external _lodash _ [ "includes" ] ) ( allowHeader , 'POST' ) ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
case 6 :
case "end" :
return _context6 . stop ( ) ;
}
}
} , _marked6 , this ) ;
}
// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/index.js
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* WordPress dependencies
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
// 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.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var entitySelectors = defaultEntities . reduce ( function ( result , entity ) {
var kind = entity . kind ,
name = entity . name ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
result [ entities _getMethodName ( kind , name ) ] = function ( state , key ) {
return getEntityRecord ( state , kind , name , key ) ;
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
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 ] ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return getEntityRecords . apply ( build _module _selectors _namespaceObject , [ state , kind , name ] . concat ( args ) ) ;
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return result ;
} , { } ) ;
var entityResolvers = defaultEntities . reduce ( function ( result , entity ) {
var kind = entity . kind ,
name = entity . name ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
result [ entities _getMethodName ( kind , name ) ] = function ( key ) {
return resolvers _getEntityRecord ( kind , name , key ) ;
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var pluralMethodName = entities _getMethodName ( kind , name , 'get' , true ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
result [ pluralMethodName ] = function ( ) {
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return resolvers _getEntityRecords . apply ( resolvers _namespaceObject , [ kind , name ] . concat ( args ) ) ;
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
result [ pluralMethodName ] . shouldInvalidate = function ( action ) {
var _resolvers$getEntityR ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
for ( var _len3 = arguments . length , args = new Array ( _len3 > 1 ? _len3 - 1 : 0 ) , _key3 = 1 ; _key3 < _len3 ; _key3 ++ ) {
args [ _key3 - 1 ] = arguments [ _key3 ] ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return ( _resolvers$getEntityR = resolvers _getEntityRecords ) . shouldInvalidate . apply ( _resolvers$getEntityR , [ action , kind , name ] . concat ( args ) ) ;
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return result ;
} , { } ) ;
var entityActions = defaultEntities . reduce ( function ( result , entity ) {
var kind = entity . kind ,
name = entity . name ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
result [ entities _getMethodName ( kind , name , 'save' ) ] = function ( key ) {
return saveEntityRecord ( kind , name , key ) ;
} ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return result ;
} , { } ) ;
Object ( external _this _wp _data _ [ "registerStore" ] ) ( REDUCER _KEY , {
reducer : build _module _reducer ,
controls : build _module _controls ,
actions : Object ( objectSpread [ "a" /* default */ ] ) ( { } , build _module _actions _namespaceObject , entityActions ) ,
selectors : Object ( objectSpread [ "a" /* default */ ] ) ( { } , build _module _selectors _namespaceObject , entitySelectors ) ,
resolvers : Object ( objectSpread [ "a" /* default */ ] ) ( { } , resolvers _namespaceObject , entityResolvers )
} ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2018-12-18 22:16:48 -05:00
/***/ 33 :
2018-12-17 22:14:52 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _iterableToArray ; } ) ;
function _iterableToArray ( iter ) {
if ( Symbol . iterator in Object ( iter ) || Object . prototype . toString . call ( iter ) === "[object Arguments]" ) return Array . from ( iter ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ 35 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _arrayWithHoles ; } ) ;
function _arrayWithHoles ( arr ) {
if ( Array . isArray ( arr ) ) return arr ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ 36 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
"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" ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ 5 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
( function ( ) { module . exports = this [ "wp" ] [ "data" ] ; } ( ) ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ } ) ,
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
/***/ 51 :
/***/ ( function ( module , exports ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var g ;
// This works in non-strict mode
g = ( function ( ) {
return this ;
} ) ( ) ;
try {
// This works if eval is allowed (see CSP)
g = g || new Function ( "return this" ) ( ) ;
} catch ( e ) {
// This works if the window reference is available
if ( typeof window === "object" ) g = window ;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module . exports = g ;
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-18 22:16:48 -05:00
/***/ 62 :
2018-12-13 23:41:57 -05:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2018-12-17 22:14:52 -05:00
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "c" , function ( ) { return createStore ; } ) ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "b" , function ( ) { return combineReducers ; } ) ;
/* unused harmony export bindActionCreators */
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return applyMiddleware ; } ) ;
/* unused harmony export compose */
/* unused harmony export __DO_NOT_USE__ActionTypes */
/* harmony import */ var symbol _observable _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 67 ) ;
2018-12-13 23:41:57 -05:00
/ * *
* These are private action types reserved by Redux .
* For any unknown actions , you must return the current state .
* If the current state is undefined , you must return the initial state .
* Do not reference these action types directly in your code .
* /
var randomString = function randomString ( ) {
return Math . random ( ) . toString ( 36 ) . substring ( 7 ) . split ( '' ) . join ( '.' ) ;
} ;
var ActionTypes = {
INIT : "@@redux/INIT" + randomString ( ) ,
REPLACE : "@@redux/REPLACE" + randomString ( ) ,
PROBE _UNKNOWN _ACTION : function PROBE _UNKNOWN _ACTION ( ) {
return "@@redux/PROBE_UNKNOWN_ACTION" + randomString ( ) ;
}
} ;
/ * *
* @ param { any } obj The object to inspect .
* @ returns { boolean } True if the argument appears to be a plain object .
* /
function isPlainObject ( obj ) {
if ( typeof obj !== 'object' || obj === null ) return false ;
var proto = obj ;
while ( Object . getPrototypeOf ( proto ) !== null ) {
proto = Object . getPrototypeOf ( proto ) ;
}
return Object . getPrototypeOf ( obj ) === proto ;
}
/ * *
* Creates a Redux store that holds the state tree .
* The only way to change the data in the store is to call ` dispatch() ` on it .
*
* There should only be a single store in your app . To specify how different
* parts of the state tree respond to actions , you may combine several reducers
* into a single reducer function by using ` combineReducers ` .
*
* @ param { Function } reducer A function that returns the next state tree , given
* the current state tree and the action to handle .
*
* @ param { any } [ preloadedState ] The initial state . You may optionally specify it
* to hydrate the state from the server in universal apps , or to restore a
* previously serialized user session .
* If you use ` combineReducers ` to produce the root reducer function , this must be
* an object with the same shape as ` combineReducers ` keys .
*
* @ param { Function } [ enhancer ] The store enhancer . You may optionally specify it
* to enhance the store with third - party capabilities such as middleware ,
* time travel , persistence , etc . The only store enhancer that ships with Redux
* is ` applyMiddleware() ` .
*
* @ returns { Store } A Redux store that lets you read the state , dispatch actions
* and subscribe to changes .
* /
function createStore ( reducer , preloadedState , enhancer ) {
var _ref2 ;
if ( typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments [ 3 ] === 'function' ) {
throw new Error ( 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function' ) ;
}
if ( typeof preloadedState === 'function' && typeof enhancer === 'undefined' ) {
enhancer = preloadedState ;
preloadedState = undefined ;
}
if ( typeof enhancer !== 'undefined' ) {
if ( typeof enhancer !== 'function' ) {
throw new Error ( 'Expected the enhancer to be a function.' ) ;
}
return enhancer ( createStore ) ( reducer , preloadedState ) ;
}
if ( typeof reducer !== 'function' ) {
throw new Error ( 'Expected the reducer to be a function.' ) ;
}
var currentReducer = reducer ;
var currentState = preloadedState ;
var currentListeners = [ ] ;
var nextListeners = currentListeners ;
var isDispatching = false ;
function ensureCanMutateNextListeners ( ) {
if ( nextListeners === currentListeners ) {
nextListeners = currentListeners . slice ( ) ;
}
}
/ * *
* Reads the state tree managed by the store .
*
* @ returns { any } The current state tree of your application .
* /
function getState ( ) {
if ( isDispatching ) {
throw new Error ( 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.' ) ;
}
return currentState ;
}
/ * *
* Adds a change listener . It will be called any time an action is dispatched ,
* and some part of the state tree may potentially have changed . You may then
* call ` getState() ` to read the current state tree inside the callback .
*
* You may call ` dispatch() ` from a change listener , with the following
* caveats :
*
* 1. The subscriptions are snapshotted just before every ` dispatch() ` call .
* If you subscribe or unsubscribe while the listeners are being invoked , this
* will not have any effect on the ` dispatch() ` that is currently in progress .
* However , the next ` dispatch() ` call , whether nested or not , will use a more
* recent snapshot of the subscription list .
*
* 2. The listener should not expect to see all state changes , as the state
* might have been updated multiple times during a nested ` dispatch() ` before
* the listener is called . It is , however , guaranteed that all subscribers
* registered before the ` dispatch() ` started will be called with the latest
* state by the time it exits .
*
* @ param { Function } listener A callback to be invoked on every dispatch .
* @ returns { Function } A function to remove this change listener .
* /
function subscribe ( listener ) {
if ( typeof listener !== 'function' ) {
throw new Error ( 'Expected the listener to be a function.' ) ;
}
if ( isDispatching ) {
throw new Error ( 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.' ) ;
}
var isSubscribed = true ;
ensureCanMutateNextListeners ( ) ;
nextListeners . push ( listener ) ;
return function unsubscribe ( ) {
if ( ! isSubscribed ) {
return ;
}
if ( isDispatching ) {
throw new Error ( 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.' ) ;
}
isSubscribed = false ;
ensureCanMutateNextListeners ( ) ;
var index = nextListeners . indexOf ( listener ) ;
nextListeners . splice ( index , 1 ) ;
} ;
}
/ * *
* Dispatches an action . It is the only way to trigger a state change .
*
* The ` reducer ` function , used to create the store , will be called with the
* current state tree and the given ` action ` . Its return value will
* be considered the * * next * * state of the tree , and the change listeners
* will be notified .
*
* The base implementation only supports plain object actions . If you want to
* dispatch a Promise , an Observable , a thunk , or something else , you need to
* wrap your store creating function into the corresponding middleware . For
* example , see the documentation for the ` redux-thunk ` package . Even the
* middleware will eventually dispatch plain object actions using this method .
*
* @ param { Object } action A plain object representing “ what changed ” . It is
* a good idea to keep actions serializable so you can record and replay user
* sessions , or use the time travelling ` redux-devtools ` . An action must have
* a ` type ` property which may not be ` undefined ` . It is a good idea to use
* string constants for action types .
*
* @ returns { Object } For convenience , the same action object you dispatched .
*
* Note that , if you use a custom middleware , it may wrap ` dispatch() ` to
* return something else ( for example , a Promise you can await ) .
* /
function dispatch ( action ) {
if ( ! isPlainObject ( action ) ) {
throw new Error ( 'Actions must be plain objects. ' + 'Use custom middleware for async actions.' ) ;
}
if ( typeof action . type === 'undefined' ) {
throw new Error ( 'Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?' ) ;
}
if ( isDispatching ) {
throw new Error ( 'Reducers may not dispatch actions.' ) ;
}
try {
isDispatching = true ;
currentState = currentReducer ( currentState , action ) ;
} finally {
isDispatching = false ;
}
var listeners = currentListeners = nextListeners ;
for ( var i = 0 ; i < listeners . length ; i ++ ) {
var listener = listeners [ i ] ;
listener ( ) ;
}
return action ;
}
/ * *
* Replaces the reducer currently used by the store to calculate the state .
*
* You might need this if your app implements code splitting and you want to
* load some of the reducers dynamically . You might also need this if you
* implement a hot reloading mechanism for Redux .
*
* @ param { Function } nextReducer The reducer for the store to use instead .
* @ returns { void }
* /
function replaceReducer ( nextReducer ) {
if ( typeof nextReducer !== 'function' ) {
throw new Error ( 'Expected the nextReducer to be a function.' ) ;
}
currentReducer = nextReducer ;
dispatch ( {
type : ActionTypes . REPLACE
} ) ;
}
/ * *
* Interoperability point for observable / reactive libraries .
* @ returns { observable } A minimal observable of state changes .
* For more information , see the observable proposal :
* https : //github.com/tc39/proposal-observable
* /
function observable ( ) {
var _ref ;
var outerSubscribe = subscribe ;
return _ref = {
/ * *
* The minimal observable subscription method .
* @ param { Object } observer Any object that can be used as an observer .
* The observer object should have a ` next ` method .
* @ returns { subscription } An object with an ` unsubscribe ` method that can
* be used to unsubscribe the observable from the store , and prevent further
* emission of values from the observable .
* /
subscribe : function subscribe ( observer ) {
if ( typeof observer !== 'object' || observer === null ) {
throw new TypeError ( 'Expected the observer to be an object.' ) ;
}
function observeState ( ) {
if ( observer . next ) {
observer . next ( getState ( ) ) ;
}
}
observeState ( ) ;
var unsubscribe = outerSubscribe ( observeState ) ;
return {
unsubscribe : unsubscribe
} ;
}
2018-12-17 22:14:52 -05:00
} , _ref [ symbol _observable _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ] = function ( ) {
2018-12-13 23:41:57 -05:00
return this ;
} , _ref ;
} // When a store is created, an "INIT" action is dispatched so that every
// reducer returns their initial state. This effectively populates
// the initial state tree.
dispatch ( {
type : ActionTypes . INIT
} ) ;
return _ref2 = {
dispatch : dispatch ,
subscribe : subscribe ,
getState : getState ,
replaceReducer : replaceReducer
2018-12-17 22:14:52 -05:00
} , _ref2 [ symbol _observable _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ] = observable , _ref2 ;
2018-12-13 23:41:57 -05:00
}
/ * *
* Prints a warning in the console if it exists .
*
* @ param { String } message The warning message .
* @ returns { void }
* /
function warning ( message ) {
/* eslint-disable no-console */
if ( typeof console !== 'undefined' && typeof console . error === 'function' ) {
console . error ( message ) ;
}
/* eslint-enable no-console */
try {
// This error was thrown as a convenience so that if you enable
// "break on all exceptions" in your console,
// it would pause the execution at this line.
throw new Error ( message ) ;
} catch ( e ) { } // eslint-disable-line no-empty
}
function getUndefinedStateErrorMessage ( key , action ) {
var actionType = action && action . type ;
var actionDescription = actionType && "action \"" + String ( actionType ) + "\"" || 'an action' ;
return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined." ;
}
function getUnexpectedStateShapeWarningMessage ( inputState , reducers , action , unexpectedKeyCache ) {
var reducerKeys = Object . keys ( reducers ) ;
var argumentName = action && action . type === ActionTypes . INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer' ;
if ( reducerKeys . length === 0 ) {
return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.' ;
}
if ( ! isPlainObject ( inputState ) ) {
return "The " + argumentName + " has unexpected type of \"" + { } . toString . call ( inputState ) . match ( /\s([a-z|A-Z]+)/ ) [ 1 ] + "\". Expected argument to be an object with the following " + ( "keys: \"" + reducerKeys . join ( '", "' ) + "\"" ) ;
}
var unexpectedKeys = Object . keys ( inputState ) . filter ( function ( key ) {
return ! reducers . hasOwnProperty ( key ) && ! unexpectedKeyCache [ key ] ;
} ) ;
unexpectedKeys . forEach ( function ( key ) {
unexpectedKeyCache [ key ] = true ;
} ) ;
if ( action && action . type === ActionTypes . REPLACE ) return ;
if ( unexpectedKeys . length > 0 ) {
return "Unexpected " + ( unexpectedKeys . length > 1 ? 'keys' : 'key' ) + " " + ( "\"" + unexpectedKeys . join ( '", "' ) + "\" found in " + argumentName + ". " ) + "Expected to find one of the known reducer keys instead: " + ( "\"" + reducerKeys . join ( '", "' ) + "\". Unexpected keys will be ignored." ) ;
}
}
function assertReducerShape ( reducers ) {
Object . keys ( reducers ) . forEach ( function ( key ) {
var reducer = reducers [ key ] ;
var initialState = reducer ( undefined , {
type : ActionTypes . INIT
} ) ;
if ( typeof initialState === 'undefined' ) {
throw new Error ( "Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined." ) ;
}
if ( typeof reducer ( undefined , {
type : ActionTypes . PROBE _UNKNOWN _ACTION ( )
} ) === 'undefined' ) {
throw new Error ( "Reducer \"" + key + "\" returned undefined when probed with a random type. " + ( "Don't try to handle " + ActionTypes . INIT + " or other actions in \"redux/*\" " ) + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null." ) ;
}
} ) ;
}
/ * *
* Turns an object whose values are different reducer functions , into a single
* reducer function . It will call every child reducer , and gather their results
* into a single state object , whose keys correspond to the keys of the passed
* reducer functions .
*
* @ param { Object } reducers An object whose values correspond to different
* reducer functions that need to be combined into one . One handy way to obtain
* it is to use ES6 ` import * as reducers ` syntax . The reducers may never return
* undefined for any action . Instead , they should return their initial state
* if the state passed to them was undefined , and the current state for any
* unrecognized action .
*
* @ returns { Function } A reducer function that invokes every reducer inside the
* passed object , and builds a state object with the same shape .
* /
function combineReducers ( reducers ) {
var reducerKeys = Object . keys ( reducers ) ;
var finalReducers = { } ;
for ( var i = 0 ; i < reducerKeys . length ; i ++ ) {
var key = reducerKeys [ i ] ;
2018-12-17 22:14:52 -05:00
if ( false ) { }
2018-12-13 23:41:57 -05:00
if ( typeof reducers [ key ] === 'function' ) {
finalReducers [ key ] = reducers [ key ] ;
}
}
var finalReducerKeys = Object . keys ( finalReducers ) ;
var unexpectedKeyCache ;
2018-12-17 22:14:52 -05:00
if ( false ) { }
2018-12-13 23:41:57 -05:00
var shapeAssertionError ;
try {
assertReducerShape ( finalReducers ) ;
} catch ( e ) {
shapeAssertionError = e ;
}
return function combination ( state , action ) {
if ( state === void 0 ) {
state = { } ;
}
if ( shapeAssertionError ) {
throw shapeAssertionError ;
}
2018-12-17 22:14:52 -05:00
if ( false ) { var warningMessage ; }
2018-12-13 23:41:57 -05:00
var hasChanged = false ;
var nextState = { } ;
for ( var _i = 0 ; _i < finalReducerKeys . length ; _i ++ ) {
var _key = finalReducerKeys [ _i ] ;
var reducer = finalReducers [ _key ] ;
var previousStateForKey = state [ _key ] ;
var nextStateForKey = reducer ( previousStateForKey , action ) ;
if ( typeof nextStateForKey === 'undefined' ) {
var errorMessage = getUndefinedStateErrorMessage ( _key , action ) ;
throw new Error ( errorMessage ) ;
}
nextState [ _key ] = nextStateForKey ;
hasChanged = hasChanged || nextStateForKey !== previousStateForKey ;
}
return hasChanged ? nextState : state ;
} ;
}
function bindActionCreator ( actionCreator , dispatch ) {
return function ( ) {
return dispatch ( actionCreator . apply ( this , arguments ) ) ;
} ;
}
/ * *
* Turns an object whose values are action creators , into an object with the
* same keys , but with every function wrapped into a ` dispatch ` call so they
* may be invoked directly . This is just a convenience method , as you can call
* ` store.dispatch(MyActionCreators.doSomething()) ` yourself just fine .
*
* For convenience , you can also pass a single function as the first argument ,
* and get a function in return .
*
* @ param { Function | Object } actionCreators An object whose values are action
* creator functions . One handy way to obtain it is to use ES6 ` import * as `
* syntax . You may also pass a single function .
*
* @ param { Function } dispatch The ` dispatch ` function available on your Redux
* store .
*
* @ returns { Function | Object } The object mimicking the original object , but with
* every action creator wrapped into the ` dispatch ` call . If you passed a
* function as ` actionCreators ` , the return value will also be a single
* function .
* /
function bindActionCreators ( actionCreators , dispatch ) {
if ( typeof actionCreators === 'function' ) {
return bindActionCreator ( actionCreators , dispatch ) ;
}
if ( typeof actionCreators !== 'object' || actionCreators === null ) {
throw new Error ( "bindActionCreators expected an object or a function, instead received " + ( actionCreators === null ? 'null' : typeof actionCreators ) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?" ) ;
}
var keys = Object . keys ( actionCreators ) ;
var boundActionCreators = { } ;
for ( var i = 0 ; i < keys . length ; i ++ ) {
var key = keys [ i ] ;
var actionCreator = actionCreators [ key ] ;
if ( typeof actionCreator === 'function' ) {
boundActionCreators [ key ] = bindActionCreator ( actionCreator , dispatch ) ;
}
}
return boundActionCreators ;
}
function _defineProperty ( obj , key , value ) {
if ( key in obj ) {
Object . defineProperty ( obj , key , {
value : value ,
enumerable : true ,
configurable : true ,
writable : true
} ) ;
} else {
obj [ key ] = value ;
}
return obj ;
}
function _objectSpread ( target ) {
for ( var i = 1 ; i < arguments . length ; i ++ ) {
var source = arguments [ i ] != null ? arguments [ i ] : { } ;
var ownKeys = Object . keys ( source ) ;
if ( typeof Object . getOwnPropertySymbols === 'function' ) {
ownKeys = ownKeys . concat ( Object . getOwnPropertySymbols ( source ) . filter ( function ( sym ) {
return Object . getOwnPropertyDescriptor ( source , sym ) . enumerable ;
} ) ) ;
}
ownKeys . forEach ( function ( key ) {
_defineProperty ( target , key , source [ key ] ) ;
} ) ;
}
return target ;
}
/ * *
* Composes single - argument functions from right to left . The rightmost
* function can take multiple arguments as it provides the signature for
* the resulting composite function .
*
* @ param { ... Function } funcs The functions to compose .
* @ returns { Function } A function obtained by composing the argument functions
* from right to left . For example , compose ( f , g , h ) is identical to doing
* ( ... args ) => f ( g ( h ( ... args ) ) ) .
* /
function compose ( ) {
for ( var _len = arguments . length , funcs = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
funcs [ _key ] = arguments [ _key ] ;
}
if ( funcs . length === 0 ) {
return function ( arg ) {
return arg ;
} ;
}
if ( funcs . length === 1 ) {
return funcs [ 0 ] ;
}
return funcs . reduce ( function ( a , b ) {
return function ( ) {
return a ( b . apply ( void 0 , arguments ) ) ;
} ;
} ) ;
}
/ * *
* Creates a store enhancer that applies middleware to the dispatch method
* of the Redux store . This is handy for a variety of tasks , such as expressing
* asynchronous actions in a concise manner , or logging every action payload .
*
* See ` redux-thunk ` package as an example of the Redux middleware .
*
* Because middleware is potentially asynchronous , this should be the first
* store enhancer in the composition chain .
*
* Note that each middleware will be given the ` dispatch ` and ` getState ` functions
* as named arguments .
*
* @ param { ... Function } middlewares The middleware chain to be applied .
* @ returns { Function } A store enhancer applying the middleware .
* /
function applyMiddleware ( ) {
for ( var _len = arguments . length , middlewares = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
middlewares [ _key ] = arguments [ _key ] ;
}
return function ( createStore ) {
return function ( ) {
var store = createStore . apply ( void 0 , arguments ) ;
var _dispatch = function dispatch ( ) {
throw new Error ( "Dispatching while constructing your middleware is not allowed. " + "Other middleware would not be applied to this dispatch." ) ;
} ;
var middlewareAPI = {
getState : store . getState ,
dispatch : function dispatch ( ) {
return _dispatch . apply ( void 0 , arguments ) ;
}
} ;
var chain = middlewares . map ( function ( middleware ) {
return middleware ( middlewareAPI ) ;
} ) ;
_dispatch = compose . apply ( void 0 , chain ) ( store . dispatch ) ;
return _objectSpread ( { } , store , {
dispatch : _dispatch
} ) ;
} ;
} ;
}
/ *
* This is a dummy function to check if the function name has been altered by minification .
* If the function has been minified and NODE _ENV !== 'production' , warn the user .
* /
function isCrushed ( ) { }
2018-12-17 22:14:52 -05:00
if ( false ) { }
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 66 :
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
"use strict" ;
2018-12-17 22:14:52 -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 ;
} ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return _typeof ( obj ) ;
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -05:00
function _classCallCheck ( instance , Constructor ) {
if ( ! ( instance instanceof Constructor ) ) {
throw new TypeError ( "Cannot call a class as a function" ) ;
}
2018-12-13 23:41:57 -05:00
}
2018-12-17 22:14:52 -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 ) ;
}
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function _createClass ( Constructor , protoProps , staticProps ) {
if ( protoProps ) _defineProperties ( Constructor . prototype , protoProps ) ;
if ( staticProps ) _defineProperties ( Constructor , staticProps ) ;
return Constructor ;
2018-12-13 23:41:57 -05:00
}
/ * *
2018-12-17 22:14:52 -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 .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ param { EquivalentKeyMap } instance EquivalentKeyMap instance .
* @ param { * } key The key for which to return value pair .
2018-12-13 23:41:57 -05:00
*
2018-12-17 22:14:52 -05:00
* @ return { ? Array } Value pair , if exists .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -05:00
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.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( _map . has ( key ) ) {
return _map . get ( key ) ;
} // Sort keys to ensure stable retrieval from tree.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var properties = Object . keys ( key ) . sort ( ) ; // Tree by type to avoid conflicts on numeric object keys, empty value.
var map = Array . isArray ( key ) ? _arrayTreeMap : _objectTreeMap ;
for ( var i = 0 ; i < properties . length ; i ++ ) {
var property = properties [ i ] ;
map = map . get ( property ) ;
if ( map === undefined ) {
return ;
}
var propertyValue = key [ property ] ;
map = map . get ( propertyValue ) ;
if ( map === undefined ) {
return ;
}
}
var valuePair = map . get ( '_ekm_value' ) ;
if ( ! valuePair ) {
return ;
} // If reached, it implies that an object-like key was set with another
// reference, so delete the reference and replace with the current.
_map . delete ( valuePair [ 0 ] ) ;
valuePair [ 0 ] = key ;
map . set ( '_ekm_value' , valuePair ) ;
_map . set ( key , valuePair ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return valuePair ;
}
2018-12-13 23:41:57 -05:00
/ * *
2018-12-17 22:14:52 -05:00
* Variant of a Map object which enables lookup by equivalent ( deeply equal )
* object and array keys .
2018-12-13 23:41:57 -05:00
* /
2018-12-17 22:14:52 -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 ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
this . clear ( ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -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 ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( iterable != null ) {
for ( var i = 0 ; i < iterable . length ; i ++ ) {
this . set ( iterable [ i ] [ 0 ] , iterable [ i ] [ 1 ] ) ;
}
}
}
/ * *
* Accessor property returning the number of elements .
*
* @ return { number } Number of elements .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
_createClass ( EquivalentKeyMap , [ {
key : "set" ,
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -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
2018-12-17 22:14:52 -05:00
return this ;
} // Sort keys to ensure stable assignment into tree.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var properties = Object . keys ( key ) . sort ( ) ;
var valuePair = [ key , value ] ; // Tree by type to avoid conflicts on numeric object keys, empty value.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var map = Array . isArray ( key ) ? this . _arrayTreeMap : this . _objectTreeMap ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
for ( var i = 0 ; i < properties . length ; i ++ ) {
var property = properties [ i ] ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( ! map . has ( property ) ) {
map . set ( property , new EquivalentKeyMap ( ) ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
map = map . get ( property ) ;
var propertyValue = key [ property ] ;
if ( ! map . has ( propertyValue ) ) {
map . set ( propertyValue , new EquivalentKeyMap ( ) ) ;
}
map = map . get ( propertyValue ) ;
} // If an _ekm_value exists, there was already an equivalent key. Before
// overriding, ensure that the old key reference is removed from map to
// avoid memory leak of accumulating equivalent keys. This is, in a
// sense, a poor man's WeakMap, while still enabling iterability.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var previousValuePair = map . get ( '_ekm_value' ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( previousValuePair ) {
this . _map . delete ( previousValuePair [ 0 ] ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
map . set ( '_ekm_value' , valuePair ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
this . _map . set ( key , valuePair ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return this ;
}
/ * *
* Returns a specified element .
*
* @ param { * } key The key of the element to return .
*
* @ return { ? * } The element associated with the specified key or undefined
* if the key can ' t be found .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -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 ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var valuePair = getValuePair ( this , key ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -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 .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -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.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -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 .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
} , {
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.
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
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 ` .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
} , {
key : "forEach" ,
value : function forEach ( callback ) {
var _this = this ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var thisArg = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : this ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
this . _map . forEach ( function ( value , key ) {
// Unwrap value from object-like value pair.
if ( key !== null && _typeof ( key ) === 'object' ) {
value = value [ 1 ] ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
callback . call ( thisArg , value , key , _this ) ;
} ) ;
}
/ * *
* Removes all elements .
* /
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
} , {
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 ;
}
} ] ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
return EquivalentKeyMap ;
} ( ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
module . exports = EquivalentKeyMap ;
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 67 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
"use strict" ;
/* WEBPACK VAR INJECTION */ ( function ( global , module ) { /* harmony import */ var _ponyfill _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 85 ) ;
/* global window */
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var root ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( typeof self !== 'undefined' ) {
root = self ;
} else if ( typeof window !== 'undefined' ) {
root = window ;
} else if ( typeof global !== 'undefined' ) {
root = global ;
} else if ( true ) {
root = module ;
} else { }
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
var result = Object ( _ponyfill _js _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( root ) ;
/* harmony default export */ _ _webpack _exports _ _ [ "a" ] = ( result ) ;
/* WEBPACK VAR INJECTION */ } . call ( this , _ _webpack _require _ _ ( 51 ) , _ _webpack _require _ _ ( 120 ) ( module ) ) )
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 8 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _objectSpread ; } ) ;
/* harmony import */ var _defineProperty _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 15 ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
function _objectSpread ( target ) {
for ( var i = 1 ; i < arguments . length ; i ++ ) {
var source = arguments [ i ] != null ? arguments [ i ] : { } ;
var ownKeys = Object . keys ( source ) ;
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
if ( typeof Object . getOwnPropertySymbols === 'function' ) {
ownKeys = ownKeys . concat ( Object . getOwnPropertySymbols ( source ) . filter ( function ( sym ) {
return Object . getOwnPropertyDescriptor ( source , sym ) . enumerable ;
} ) ) ;
}
2018-12-13 23:41:57 -05:00
2018-12-17 22:14:52 -05:00
ownKeys . forEach ( function ( key ) {
Object ( _defineProperty _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( target , key , source [ key ] ) ;
} ) ;
}
return target ;
}
2018-12-13 23:41:57 -05:00
/***/ } ) ,
2018-12-17 22:14:52 -05:00
/***/ 85 :
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return symbolObservablePonyfill ; } ) ;
function symbolObservablePonyfill ( root ) {
var result ;
var Symbol = root . Symbol ;
if ( typeof Symbol === 'function' ) {
if ( Symbol . observable ) {
result = Symbol . observable ;
} else {
result = Symbol ( 'observable' ) ;
Symbol . observable = result ;
}
} else {
result = '@@observable' ;
}
return result ;
} ;
2018-12-13 23:41:57 -05:00
/***/ } )
2018-12-17 22:14:52 -05:00
/******/ } ) ;