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
// 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
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _toConsumableArray ; } ) ;
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
// 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
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _slicedToArray ; } ) ;
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" ;
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
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 ; } ) ;
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 ; } ) ;
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
/******/ } ) ;