@wordpress/core-data 5.0.2 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/queried-data/reducer.js +3 -1
- package/build/queried-data/reducer.js.map +1 -1
- package/build/reducer.js +3 -1
- package/build/reducer.js.map +1 -1
- package/build-module/queried-data/reducer.js +3 -2
- package/build-module/queried-data/reducer.js.map +1 -1
- package/build-module/reducer.js +3 -2
- package/build-module/reducer.js.map +1 -1
- package/build-types/queried-data/reducer.d.ts.map +1 -1
- package/build-types/reducer.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/queried-data/reducer.js +3 -2
- package/src/reducer.js +3 -2
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,8 @@ var _lodash = require("lodash");
|
|
|
14
14
|
|
|
15
15
|
var _data = require("@wordpress/data");
|
|
16
16
|
|
|
17
|
+
var _compose = require("@wordpress/compose");
|
|
18
|
+
|
|
17
19
|
var _utils = require("../utils");
|
|
18
20
|
|
|
19
21
|
var _entities = require("../entities");
|
|
@@ -185,7 +187,7 @@ function itemIsComplete() {
|
|
|
185
187
|
*/
|
|
186
188
|
|
|
187
189
|
|
|
188
|
-
const receiveQueries = (0,
|
|
190
|
+
const receiveQueries = (0, _compose.compose)([// Limit to matching action type so we don't attempt to replace action on
|
|
189
191
|
// an unhandled action.
|
|
190
192
|
(0, _utils.ifMatchingAction)(action => 'query' in action), // Inject query parts into action for use both in `onSubKey` and reducer.
|
|
191
193
|
(0, _utils.replaceAction)(action => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/core-data/src/queried-data/reducer.js"],"names":["getContextFromAction","action","query","queryParts","context","getMergedItemIds","itemIds","nextItemIds","page","perPage","receivedAllIds","nextItemIdsStartIndex","size","Math","max","length","mergedItemIds","Array","i","isInNextItemsRange","items","state","type","key","DEFAULT_ENTITY_KEY","reduce","accumulator","value","itemId","contextState","itemIsComplete","isCompleteQuery","isArray","fields","result","item","receiveQueries","queries","removedItems","contextQueries","queryItems","queryId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, flowRight, omit, filter, mapValues } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tconservativeMapItem,\n\tifMatchingAction,\n\treplaceAction,\n\tonSubKey,\n} from '../utils';\nimport { DEFAULT_ENTITY_KEY } from '../entities';\nimport getQueryParts from './get-query-parts';\n\nfunction getContextFromAction( action ) {\n\tconst { query } = action;\n\tif ( ! query ) {\n\t\treturn 'default';\n\t}\n\n\tconst queryParts = getQueryParts( query );\n\treturn queryParts.context;\n}\n\n/**\n * Returns a merged array of item IDs, given details of the received paginated\n * items. The array is sparse-like with `undefined` entries where holes exist.\n *\n * @param {?Array<number>} itemIds Original item IDs (default empty array).\n * @param {number[]} nextItemIds Item IDs to merge.\n * @param {number} page Page of items merged.\n * @param {number} perPage Number of items per page.\n *\n * @return {number[]} Merged array of item IDs.\n */\nexport function getMergedItemIds( itemIds, nextItemIds, page, perPage ) {\n\tconst receivedAllIds = page === 1 && perPage === -1;\n\tif ( receivedAllIds ) {\n\t\treturn nextItemIds;\n\t}\n\tconst nextItemIdsStartIndex = ( page - 1 ) * perPage;\n\n\t// If later page has already been received, default to the larger known\n\t// size of the existing array, else calculate as extending the existing.\n\tconst size = Math.max(\n\t\titemIds?.length ?? 0,\n\t\tnextItemIdsStartIndex + nextItemIds.length\n\t);\n\n\t// Preallocate array since size is known.\n\tconst mergedItemIds = new Array( size );\n\n\tfor ( let i = 0; i < size; i++ ) {\n\t\t// Preserve existing item ID except for subset of range of next items.\n\t\tconst isInNextItemsRange =\n\t\t\ti >= nextItemIdsStartIndex &&\n\t\t\ti < nextItemIdsStartIndex + nextItemIds.length;\n\n\t\tmergedItemIds[ i ] = isInNextItemsRange\n\t\t\t? nextItemIds[ i - nextItemIdsStartIndex ]\n\t\t\t: itemIds?.[ i ];\n\t}\n\n\treturn mergedItemIds;\n}\n\n/**\n * Reducer tracking items state, keyed by ID. Items are assumed to be normal,\n * where identifiers are common across all queries.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nexport function items( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst key = action.key || DEFAULT_ENTITY_KEY;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( accumulator, value ) => {\n\t\t\t\t\t\tconst itemId = value[ key ];\n\t\t\t\t\t\taccumulator[ itemId ] = conservativeMapItem(\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ],\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking item completeness, keyed by ID. A complete item is one for\n * which all fields are known. This is used in supporting `_fields` queries,\n * where not all properties associated with an entity are necessarily returned.\n * In such cases, completeness is used as an indication of whether it would be\n * safe to use queried data for a non-`_fields`-limited request.\n *\n * @param {Object<string,Object<string,boolean>>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object<string,Object<string,boolean>>} Next state.\n */\nexport function itemIsComplete( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst { query, key = DEFAULT_ENTITY_KEY } = action;\n\n\t\t\t// An item is considered complete if it is received without an associated\n\t\t\t// fields query. Ideally, this would be implemented in such a way where the\n\t\t\t// complete aggregate of all fields would satisfy completeness. Since the\n\t\t\t// fields are not consistent across all entities, this would require\n\t\t\t// introspection on the REST schema for each entity to know which fields\n\t\t\t// compose a complete item for that entity.\n\t\t\tconst queryParts = query ? getQueryParts( query ) : {};\n\t\t\tconst isCompleteQuery =\n\t\t\t\t! query || ! Array.isArray( queryParts.fields );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( result, item ) => {\n\t\t\t\t\t\tconst itemId = item[ key ];\n\n\t\t\t\t\t\t// Defer to completeness if already assigned. Technically the\n\t\t\t\t\t\t// data may be outdated if receiving items for a field subset.\n\t\t\t\t\t\tresult[ itemId ] =\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ] || isCompleteQuery;\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer tracking queries state, keyed by stable query key. Each reducer\n * query object includes `itemIds` and `requestingPageByPerPage`.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst receiveQueries = flowRight( [\n\t// Limit to matching action type so we don't attempt to replace action on\n\t// an unhandled action.\n\tifMatchingAction( ( action ) => 'query' in action ),\n\n\t// Inject query parts into action for use both in `onSubKey` and reducer.\n\treplaceAction( ( action ) => {\n\t\t// `ifMatchingAction` still passes on initialization, where state is\n\t\t// undefined and a query is not assigned. Avoid attempting to parse\n\t\t// parts. `onSubKey` will omit by lack of `stableKey`.\n\t\tif ( action.query ) {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\t...getQueryParts( action.query ),\n\t\t\t};\n\t\t}\n\n\t\treturn action;\n\t} ),\n\n\tonSubKey( 'context' ),\n\n\t// Queries shape is shared, but keyed by query `stableKey` part. Original\n\t// reducer tracks only a single query object.\n\tonSubKey( 'stableKey' ),\n] )( ( state = null, action ) => {\n\tconst { type, page, perPage, key = DEFAULT_ENTITY_KEY } = action;\n\n\tif ( type !== 'RECEIVE_ITEMS' ) {\n\t\treturn state;\n\t}\n\n\treturn getMergedItemIds(\n\t\tstate || [],\n\t\tmap( action.items, key ),\n\t\tpage,\n\t\tperPage\n\t);\n} );\n\n/**\n * Reducer tracking queries state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst queries = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS':\n\t\t\treturn receiveQueries( state, action );\n\t\tcase 'REMOVE_ITEMS':\n\t\t\tconst removedItems = action.itemIds.reduce( ( result, itemId ) => {\n\t\t\t\tresult[ itemId ] = true;\n\t\t\t\treturn result;\n\t\t\t}, {} );\n\n\t\t\treturn mapValues( state, ( contextQueries ) => {\n\t\t\t\treturn mapValues( contextQueries, ( queryItems ) => {\n\t\t\t\t\treturn filter( queryItems, ( queryId ) => {\n\t\t\t\t\t\treturn ! removedItems[ queryId ];\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} );\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default combineReducers( {\n\titems,\n\titemIsComplete,\n\tqueries,\n} );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/core-data/src/queried-data/reducer.js"],"names":["getContextFromAction","action","query","queryParts","context","getMergedItemIds","itemIds","nextItemIds","page","perPage","receivedAllIds","nextItemIdsStartIndex","size","Math","max","length","mergedItemIds","Array","i","isInNextItemsRange","items","state","type","key","DEFAULT_ENTITY_KEY","reduce","accumulator","value","itemId","contextState","itemIsComplete","isCompleteQuery","isArray","fields","result","item","receiveQueries","queries","removedItems","contextQueries","queryItems","queryId"],"mappings":";;;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AAMA;;AACA;;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAUA,SAASA,oBAAT,CAA+BC,MAA/B,EAAwC;AACvC,QAAM;AAAEC,IAAAA;AAAF,MAAYD,MAAlB;;AACA,MAAK,CAAEC,KAAP,EAAe;AACd,WAAO,SAAP;AACA;;AAED,QAAMC,UAAU,GAAG,4BAAeD,KAAf,CAAnB;AACA,SAAOC,UAAU,CAACC,OAAlB;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,gBAAT,CAA2BC,OAA3B,EAAoCC,WAApC,EAAiDC,IAAjD,EAAuDC,OAAvD,EAAiE;AAAA;;AACvE,QAAMC,cAAc,GAAGF,IAAI,KAAK,CAAT,IAAcC,OAAO,KAAK,CAAC,CAAlD;;AACA,MAAKC,cAAL,EAAsB;AACrB,WAAOH,WAAP;AACA;;AACD,QAAMI,qBAAqB,GAAG,CAAEH,IAAI,GAAG,CAAT,IAAeC,OAA7C,CALuE,CAOvE;AACA;;AACA,QAAMG,IAAI,GAAGC,IAAI,CAACC,GAAL,oBACZR,OADY,aACZA,OADY,uBACZA,OAAO,CAAES,MADG,6DACO,CADP,EAEZJ,qBAAqB,GAAGJ,WAAW,CAACQ,MAFxB,CAAb,CATuE,CAcvE;;AACA,QAAMC,aAAa,GAAG,IAAIC,KAAJ,CAAWL,IAAX,CAAtB;;AAEA,OAAM,IAAIM,CAAC,GAAG,CAAd,EAAiBA,CAAC,GAAGN,IAArB,EAA2BM,CAAC,EAA5B,EAAiC;AAChC;AACA,UAAMC,kBAAkB,GACvBD,CAAC,IAAIP,qBAAL,IACAO,CAAC,GAAGP,qBAAqB,GAAGJ,WAAW,CAACQ,MAFzC;AAIAC,IAAAA,aAAa,CAAEE,CAAF,CAAb,GAAqBC,kBAAkB,GACpCZ,WAAW,CAAEW,CAAC,GAAGP,qBAAN,CADyB,GAEpCL,OAFoC,aAEpCA,OAFoC,uBAEpCA,OAAO,CAAIY,CAAJ,CAFV;AAGA;;AAED,SAAOF,aAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASI,KAAT,GAAqC;AAAA,MAArBC,KAAqB,uEAAb,EAAa;AAAA,MAATpB,MAAS;;AAC3C,UAASA,MAAM,CAACqB,IAAhB;AACC,SAAK,eAAL;AAAsB;AACrB,cAAMlB,OAAO,GAAGJ,oBAAoB,CAAEC,MAAF,CAApC;AACA,cAAMsB,GAAG,GAAGtB,MAAM,CAACsB,GAAP,IAAcC,4BAA1B;AACA,eAAO,EACN,GAAGH,KADG;AAEN,WAAEjB,OAAF,GAAa,EACZ,GAAGiB,KAAK,CAAEjB,OAAF,CADI;AAEZ,eAAGH,MAAM,CAACmB,KAAP,CAAaK,MAAb,CAAqB,CAAEC,WAAF,EAAeC,KAAf,KAA0B;AAAA;;AACjD,oBAAMC,MAAM,GAAGD,KAAK,CAAEJ,GAAF,CAApB;AACAG,cAAAA,WAAW,CAAEE,MAAF,CAAX,GAAwB,gCACvBP,KADuB,aACvBA,KADuB,yCACvBA,KAAK,CAAIjB,OAAJ,CADkB,mDACvB,eAAsBwB,MAAtB,CADuB,EAEvBD,KAFuB,CAAxB;AAIA,qBAAOD,WAAP;AACA,aAPE,EAOA,EAPA;AAFS;AAFP,SAAP;AAcA;;AACD,SAAK,cAAL;AACC,aAAO,uBAAWL,KAAX,EAAoBQ,YAAF,IACxB,kBAAMA,YAAN,EAAoB5B,MAAM,CAACK,OAA3B,CADM,CAAP;AApBF;;AAwBA,SAAOe,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASS,cAAT,GAA8C;AAAA,MAArBT,KAAqB,uEAAb,EAAa;AAAA,MAATpB,MAAS;;AACpD,UAASA,MAAM,CAACqB,IAAhB;AACC,SAAK,eAAL;AAAsB;AACrB,cAAMlB,OAAO,GAAGJ,oBAAoB,CAAEC,MAAF,CAApC;AACA,cAAM;AAAEC,UAAAA,KAAF;AAASqB,UAAAA,GAAG,GAAGC;AAAf,YAAsCvB,MAA5C,CAFqB,CAIrB;AACA;AACA;AACA;AACA;AACA;;AACA,cAAME,UAAU,GAAGD,KAAK,GAAG,4BAAeA,KAAf,CAAH,GAA4B,EAApD;AACA,cAAM6B,eAAe,GACpB,CAAE7B,KAAF,IAAW,CAAEe,KAAK,CAACe,OAAN,CAAe7B,UAAU,CAAC8B,MAA1B,CADd;AAGA,eAAO,EACN,GAAGZ,KADG;AAEN,WAAEjB,OAAF,GAAa,EACZ,GAAGiB,KAAK,CAAEjB,OAAF,CADI;AAEZ,eAAGH,MAAM,CAACmB,KAAP,CAAaK,MAAb,CAAqB,CAAES,MAAF,EAAUC,IAAV,KAAoB;AAAA;;AAC3C,oBAAMP,MAAM,GAAGO,IAAI,CAAEZ,GAAF,CAAnB,CAD2C,CAG3C;AACA;;AACAW,cAAAA,MAAM,CAAEN,MAAF,CAAN,GACC,CAAAP,KAAK,SAAL,IAAAA,KAAK,WAAL,+BAAAA,KAAK,CAAIjB,OAAJ,CAAL,oEAAsBwB,MAAtB,MAAkCG,eADnC;AAGA,qBAAOG,MAAP;AACA,aATE,EASA,EATA;AAFS;AAFP,SAAP;AAgBA;;AACD,SAAK,cAAL;AACC,aAAO,uBAAWb,KAAX,EAAoBQ,YAAF,IACxB,kBAAMA,YAAN,EAAoB5B,MAAM,CAACK,OAA3B,CADM,CAAP;AAjCF;;AAsCA,SAAOe,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMe,cAAc,GAAG,sBAAS,CAC/B;AACA;AACA,6BAAoBnC,MAAF,IAAc,WAAWA,MAA3C,CAH+B,EAK/B;AACA,0BAAiBA,MAAF,IAAc;AAC5B;AACA;AACA;AACA,MAAKA,MAAM,CAACC,KAAZ,EAAoB;AACnB,WAAO,EACN,GAAGD,MADG;AAEN,SAAG,4BAAeA,MAAM,CAACC,KAAtB;AAFG,KAAP;AAIA;;AAED,SAAOD,MAAP;AACA,CAZD,CAN+B,EAoB/B,qBAAU,SAAV,CApB+B,EAsB/B;AACA;AACA,qBAAU,WAAV,CAxB+B,CAAT,EAyBlB,YAA4B;AAAA,MAA1BoB,KAA0B,uEAAlB,IAAkB;AAAA,MAAZpB,MAAY;AAChC,QAAM;AAAEqB,IAAAA,IAAF;AAAQd,IAAAA,IAAR;AAAcC,IAAAA,OAAd;AAAuBc,IAAAA,GAAG,GAAGC;AAA7B,MAAoDvB,MAA1D;;AAEA,MAAKqB,IAAI,KAAK,eAAd,EAAgC;AAC/B,WAAOD,KAAP;AACA;;AAED,SAAOhB,gBAAgB,CACtBgB,KAAK,IAAI,EADa,EAEtB,iBAAKpB,MAAM,CAACmB,KAAZ,EAAmBG,GAAnB,CAFsB,EAGtBf,IAHsB,EAItBC,OAJsB,CAAvB;AAMA,CAtCsB,CAAvB;AAwCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4B,OAAO,GAAG,YAA0B;AAAA,MAAxBhB,KAAwB,uEAAhB,EAAgB;AAAA,MAAZpB,MAAY;;AACzC,UAASA,MAAM,CAACqB,IAAhB;AACC,SAAK,eAAL;AACC,aAAOc,cAAc,CAAEf,KAAF,EAASpB,MAAT,CAArB;;AACD,SAAK,cAAL;AACC,YAAMqC,YAAY,GAAGrC,MAAM,CAACK,OAAP,CAAemB,MAAf,CAAuB,CAAES,MAAF,EAAUN,MAAV,KAAsB;AACjEM,QAAAA,MAAM,CAAEN,MAAF,CAAN,GAAmB,IAAnB;AACA,eAAOM,MAAP;AACA,OAHoB,EAGlB,EAHkB,CAArB;AAKA,aAAO,uBAAWb,KAAX,EAAoBkB,cAAF,IAAsB;AAC9C,eAAO,uBAAWA,cAAX,EAA6BC,UAAF,IAAkB;AACnD,iBAAO,oBAAQA,UAAR,EAAsBC,OAAF,IAAe;AACzC,mBAAO,CAAEH,YAAY,CAAEG,OAAF,CAArB;AACA,WAFM,CAAP;AAGA,SAJM,CAAP;AAKA,OANM,CAAP;;AAOD;AACC,aAAOpB,KAAP;AAjBF;AAmBA,CApBD;;eAsBe,2BAAiB;AAC/BD,EAAAA,KAD+B;AAE/BU,EAAAA,cAF+B;AAG/BO,EAAAA;AAH+B,CAAjB,C","sourcesContent":["/**\n * External dependencies\n */\nimport { map, omit, filter, mapValues } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tconservativeMapItem,\n\tifMatchingAction,\n\treplaceAction,\n\tonSubKey,\n} from '../utils';\nimport { DEFAULT_ENTITY_KEY } from '../entities';\nimport getQueryParts from './get-query-parts';\n\nfunction getContextFromAction( action ) {\n\tconst { query } = action;\n\tif ( ! query ) {\n\t\treturn 'default';\n\t}\n\n\tconst queryParts = getQueryParts( query );\n\treturn queryParts.context;\n}\n\n/**\n * Returns a merged array of item IDs, given details of the received paginated\n * items. The array is sparse-like with `undefined` entries where holes exist.\n *\n * @param {?Array<number>} itemIds Original item IDs (default empty array).\n * @param {number[]} nextItemIds Item IDs to merge.\n * @param {number} page Page of items merged.\n * @param {number} perPage Number of items per page.\n *\n * @return {number[]} Merged array of item IDs.\n */\nexport function getMergedItemIds( itemIds, nextItemIds, page, perPage ) {\n\tconst receivedAllIds = page === 1 && perPage === -1;\n\tif ( receivedAllIds ) {\n\t\treturn nextItemIds;\n\t}\n\tconst nextItemIdsStartIndex = ( page - 1 ) * perPage;\n\n\t// If later page has already been received, default to the larger known\n\t// size of the existing array, else calculate as extending the existing.\n\tconst size = Math.max(\n\t\titemIds?.length ?? 0,\n\t\tnextItemIdsStartIndex + nextItemIds.length\n\t);\n\n\t// Preallocate array since size is known.\n\tconst mergedItemIds = new Array( size );\n\n\tfor ( let i = 0; i < size; i++ ) {\n\t\t// Preserve existing item ID except for subset of range of next items.\n\t\tconst isInNextItemsRange =\n\t\t\ti >= nextItemIdsStartIndex &&\n\t\t\ti < nextItemIdsStartIndex + nextItemIds.length;\n\n\t\tmergedItemIds[ i ] = isInNextItemsRange\n\t\t\t? nextItemIds[ i - nextItemIdsStartIndex ]\n\t\t\t: itemIds?.[ i ];\n\t}\n\n\treturn mergedItemIds;\n}\n\n/**\n * Reducer tracking items state, keyed by ID. Items are assumed to be normal,\n * where identifiers are common across all queries.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nexport function items( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst key = action.key || DEFAULT_ENTITY_KEY;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( accumulator, value ) => {\n\t\t\t\t\t\tconst itemId = value[ key ];\n\t\t\t\t\t\taccumulator[ itemId ] = conservativeMapItem(\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ],\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking item completeness, keyed by ID. A complete item is one for\n * which all fields are known. This is used in supporting `_fields` queries,\n * where not all properties associated with an entity are necessarily returned.\n * In such cases, completeness is used as an indication of whether it would be\n * safe to use queried data for a non-`_fields`-limited request.\n *\n * @param {Object<string,Object<string,boolean>>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object<string,Object<string,boolean>>} Next state.\n */\nexport function itemIsComplete( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst { query, key = DEFAULT_ENTITY_KEY } = action;\n\n\t\t\t// An item is considered complete if it is received without an associated\n\t\t\t// fields query. Ideally, this would be implemented in such a way where the\n\t\t\t// complete aggregate of all fields would satisfy completeness. Since the\n\t\t\t// fields are not consistent across all entities, this would require\n\t\t\t// introspection on the REST schema for each entity to know which fields\n\t\t\t// compose a complete item for that entity.\n\t\t\tconst queryParts = query ? getQueryParts( query ) : {};\n\t\t\tconst isCompleteQuery =\n\t\t\t\t! query || ! Array.isArray( queryParts.fields );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( result, item ) => {\n\t\t\t\t\t\tconst itemId = item[ key ];\n\n\t\t\t\t\t\t// Defer to completeness if already assigned. Technically the\n\t\t\t\t\t\t// data may be outdated if receiving items for a field subset.\n\t\t\t\t\t\tresult[ itemId ] =\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ] || isCompleteQuery;\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer tracking queries state, keyed by stable query key. Each reducer\n * query object includes `itemIds` and `requestingPageByPerPage`.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst receiveQueries = compose( [\n\t// Limit to matching action type so we don't attempt to replace action on\n\t// an unhandled action.\n\tifMatchingAction( ( action ) => 'query' in action ),\n\n\t// Inject query parts into action for use both in `onSubKey` and reducer.\n\treplaceAction( ( action ) => {\n\t\t// `ifMatchingAction` still passes on initialization, where state is\n\t\t// undefined and a query is not assigned. Avoid attempting to parse\n\t\t// parts. `onSubKey` will omit by lack of `stableKey`.\n\t\tif ( action.query ) {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\t...getQueryParts( action.query ),\n\t\t\t};\n\t\t}\n\n\t\treturn action;\n\t} ),\n\n\tonSubKey( 'context' ),\n\n\t// Queries shape is shared, but keyed by query `stableKey` part. Original\n\t// reducer tracks only a single query object.\n\tonSubKey( 'stableKey' ),\n] )( ( state = null, action ) => {\n\tconst { type, page, perPage, key = DEFAULT_ENTITY_KEY } = action;\n\n\tif ( type !== 'RECEIVE_ITEMS' ) {\n\t\treturn state;\n\t}\n\n\treturn getMergedItemIds(\n\t\tstate || [],\n\t\tmap( action.items, key ),\n\t\tpage,\n\t\tperPage\n\t);\n} );\n\n/**\n * Reducer tracking queries state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst queries = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS':\n\t\t\treturn receiveQueries( state, action );\n\t\tcase 'REMOVE_ITEMS':\n\t\t\tconst removedItems = action.itemIds.reduce( ( result, itemId ) => {\n\t\t\t\tresult[ itemId ] = true;\n\t\t\t\treturn result;\n\t\t\t}, {} );\n\n\t\t\treturn mapValues( state, ( contextQueries ) => {\n\t\t\t\treturn mapValues( contextQueries, ( queryItems ) => {\n\t\t\t\t\treturn filter( queryItems, ( queryId ) => {\n\t\t\t\t\t\treturn ! removedItems[ queryId ];\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} );\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default combineReducers( {\n\titems,\n\titemIsComplete,\n\tqueries,\n} );\n"]}
|
package/build/reducer.js
CHANGED
|
@@ -25,6 +25,8 @@ exports.users = users;
|
|
|
25
25
|
|
|
26
26
|
var _lodash = require("lodash");
|
|
27
27
|
|
|
28
|
+
var _compose = require("@wordpress/compose");
|
|
29
|
+
|
|
28
30
|
var _data = require("@wordpress/data");
|
|
29
31
|
|
|
30
32
|
var _isShallowEqual = _interopRequireDefault(require("@wordpress/is-shallow-equal"));
|
|
@@ -251,7 +253,7 @@ function themeGlobalStyleVariations() {
|
|
|
251
253
|
|
|
252
254
|
|
|
253
255
|
function entity(entityConfig) {
|
|
254
|
-
return (0,
|
|
256
|
+
return (0, _compose.compose)([// Limit to matching action type so we don't attempt to replace action on
|
|
255
257
|
// an unhandled action.
|
|
256
258
|
(0, _utils.ifMatchingAction)(action => action.name && action.kind && action.name === entityConfig.name && action.kind === entityConfig.kind), // Inject the entity config into the action.
|
|
257
259
|
(0, _utils.replaceAction)(action => {
|
package/build/reducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/core-data/src/reducer.js"],"names":["terms","state","action","type","taxonomy","users","byId","queries","reduce","newUsers","user","id","queryID","currentUser","taxonomies","currentTheme","undefined","stylesheet","currentGlobalStylesId","themeBaseGlobalStyles","globalStyles","themeGlobalStyleVariations","variations","entity","entityConfig","name","kind","key","DEFAULT_ENTITY_KEY","queriedData","queriedDataReducer","edits","context","query","nextState","record","items","recordId","nextEdits","Object","keys","acc","persistedEdits","length","forEach","saving","pending","error","isAutosave","deleting","entitiesConfig","rootEntitiesConfig","entities","newConfig","config","entitiesDataReducer","reducer","entitiesByKind","entries","memo","subEntities","kindReducer","kindMemo","newData","records","UNDO_INITIAL_STATE","assign","offset","lastEditAction","undo","isCreateUndoLevel","isUndoOrRedo","meta","isUndo","isRedo","some","transientEdits","flattenedUndo","slice","pop","push","comparisonUndoEdits","values","filter","edit","comparisonEdits","embedPreviews","url","preview","userPermissions","isAllowed","autosaves","postId","autosavesData","blockPatterns","patterns","blockPatternCategories","categories"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, groupBy, flowRight, isEqual, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { ifMatchingAction, replaceAction } from './utils';\nimport { reducer as queriedDataReducer } from './queried-data';\nimport { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';\n\n/** @typedef {import('./types').AnyFunction} AnyFunction */\n\n/**\n * Reducer managing terms state. Keyed by taxonomy slug, the value is either\n * undefined (if no request has been made for given taxonomy), null (if a\n * request is in-flight for given taxonomy), or the array of terms for the\n * taxonomy.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function terms( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TERMS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.taxonomy ]: action.terms,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing authors state. Keyed by id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function users( state = { byId: {}, queries: {} }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_QUERY':\n\t\t\treturn {\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t// Key users by their ID.\n\t\t\t\t\t...action.users.reduce(\n\t\t\t\t\t\t( newUsers, user ) => ( {\n\t\t\t\t\t\t\t...newUsers,\n\t\t\t\t\t\t\t[ user.id ]: user,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tqueries: {\n\t\t\t\t\t...state.queries,\n\t\t\t\t\t[ action.queryID ]: map(\n\t\t\t\t\t\taction.users,\n\t\t\t\t\t\t( user ) => user.id\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing current user state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function currentUser( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_USER':\n\t\t\treturn action.currentUser;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing taxonomies.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function taxonomies( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TAXONOMIES':\n\t\t\treturn action.taxonomies;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current theme.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentTheme( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_THEME':\n\t\t\treturn action.currentTheme.stylesheet;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current global styles id.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentGlobalStylesId( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_GLOBAL_STYLES_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme base global styles.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeBaseGlobalStyles( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLES':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.globalStyles,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles variations.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleVariations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_VARIATIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.variations,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Higher Order Reducer for a given entity config. It supports:\n *\n * - Fetching\n * - Editing\n * - Saving\n *\n * @param {Object} entityConfig Entity config.\n *\n * @return {AnyFunction} Reducer.\n */\nfunction entity( entityConfig ) {\n\treturn flowRight( [\n\t\t// Limit to matching action type so we don't attempt to replace action on\n\t\t// an unhandled action.\n\t\tifMatchingAction(\n\t\t\t( action ) =>\n\t\t\t\taction.name &&\n\t\t\t\taction.kind &&\n\t\t\t\taction.name === entityConfig.name &&\n\t\t\t\taction.kind === entityConfig.kind\n\t\t),\n\n\t\t// Inject the entity config into the action.\n\t\treplaceAction( ( action ) => {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\tkey: entityConfig.key || DEFAULT_ENTITY_KEY,\n\t\t\t};\n\t\t} ),\n\t] )(\n\t\tcombineReducers( {\n\t\t\tqueriedData: queriedDataReducer,\n\n\t\t\tedits: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'RECEIVE_ITEMS':\n\t\t\t\t\t\tconst context = action?.query?.context ?? 'default';\n\t\t\t\t\t\tif ( context !== 'default' ) {\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst nextState = { ...state };\n\n\t\t\t\t\t\tfor ( const record of action.items ) {\n\t\t\t\t\t\t\tconst recordId = record[ action.key ];\n\t\t\t\t\t\t\tconst edits = nextState[ recordId ];\n\t\t\t\t\t\t\tif ( ! edits ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst nextEdits = Object.keys( edits ).reduce(\n\t\t\t\t\t\t\t\t( acc, key ) => {\n\t\t\t\t\t\t\t\t\t// If the edited value is still different to the persisted value,\n\t\t\t\t\t\t\t\t\t// keep the edited value in edits.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t// Edits are the \"raw\" attribute values, but records may have\n\t\t\t\t\t\t\t\t\t\t// objects with more properties, so we use `get` here for the\n\t\t\t\t\t\t\t\t\t\t// comparison.\n\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\t'raw',\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ]\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t// Sometimes the server alters the sent value which means\n\t\t\t\t\t\t\t\t\t\t// we need to also remove the edits before the api request.\n\t\t\t\t\t\t\t\t\t\t( ! action.persistedEdits ||\n\t\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\taction.persistedEdits[ key ]\n\t\t\t\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tacc[ key ] = edits[ key ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( Object.keys( nextEdits ).length ) {\n\t\t\t\t\t\t\t\tnextState[ recordId ] = nextEdits;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete nextState[ recordId ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn nextState;\n\n\t\t\t\t\tcase 'EDIT_ENTITY_RECORD':\n\t\t\t\t\t\tconst nextEdits = {\n\t\t\t\t\t\t\t...state[ action.recordId ],\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.keys( nextEdits ).forEach( ( key ) => {\n\t\t\t\t\t\t\t// Delete cleared edits so that the properties\n\t\t\t\t\t\t\t// are not considered dirty.\n\t\t\t\t\t\t\tif ( nextEdits[ key ] === undefined ) {\n\t\t\t\t\t\t\t\tdelete nextEdits[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: nextEdits,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tsaving: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type === 'SAVE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t\tisAutosave: action.isAutosave,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tdeleting: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type ===\n\t\t\t\t\t\t\t\t\t'DELETE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Reducer keeping track of the registered entities.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function entitiesConfig( state = rootEntitiesConfig, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_ENTITIES':\n\t\t\treturn [ ...state, ...action.entities ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the registered entities config and data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const entities = ( state = {}, action ) => {\n\tconst newConfig = entitiesConfig( state.config, action );\n\n\t// Generates a dynamic reducer for the entities.\n\tlet entitiesDataReducer = state.reducer;\n\tif ( ! entitiesDataReducer || newConfig !== state.config ) {\n\t\tconst entitiesByKind = groupBy( newConfig, 'kind' );\n\t\tentitiesDataReducer = combineReducers(\n\t\t\tObject.entries( entitiesByKind ).reduce(\n\t\t\t\t( memo, [ kind, subEntities ] ) => {\n\t\t\t\t\tconst kindReducer = combineReducers(\n\t\t\t\t\t\tsubEntities.reduce(\n\t\t\t\t\t\t\t( kindMemo, entityConfig ) => ( {\n\t\t\t\t\t\t\t\t...kindMemo,\n\t\t\t\t\t\t\t\t[ entityConfig.name ]: entity( entityConfig ),\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tmemo[ kind ] = kindReducer;\n\t\t\t\t\treturn memo;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t)\n\t\t);\n\t}\n\n\tconst newData = entitiesDataReducer( state.records, action );\n\n\tif (\n\t\tnewData === state.records &&\n\t\tnewConfig === state.config &&\n\t\tentitiesDataReducer === state.reducer\n\t) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\treducer: entitiesDataReducer,\n\t\trecords: newData,\n\t\tconfig: newConfig,\n\t};\n};\n\n/**\n * @typedef {Object} UndoStateMeta\n *\n * @property {number} offset Where in the undo stack we are.\n * @property {Object} [flattenedUndo] Flattened form of undo stack.\n */\n\n/** @typedef {Array<Object> & UndoStateMeta} UndoState */\n\n/**\n * @type {UndoState}\n *\n * @todo Given how we use this we might want to make a custom class for it.\n */\nconst UNDO_INITIAL_STATE = Object.assign( [], { offset: 0 } );\n\n/** @type {Object} */\nlet lastEditAction;\n\n/**\n * Reducer keeping track of entity edit undo history.\n *\n * @param {UndoState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {UndoState} Updated state.\n */\nexport function undo( state = UNDO_INITIAL_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'EDIT_ENTITY_RECORD':\n\t\tcase 'CREATE_UNDO_LEVEL':\n\t\t\tlet isCreateUndoLevel = action.type === 'CREATE_UNDO_LEVEL';\n\t\t\tconst isUndoOrRedo =\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t( action.meta.isUndo || action.meta.isRedo );\n\t\t\tif ( isCreateUndoLevel ) {\n\t\t\t\taction = lastEditAction;\n\t\t\t} else if ( ! isUndoOrRedo ) {\n\t\t\t\t// Don't lose the last edit cache if the new one only has transient edits.\n\t\t\t\t// Transient edits don't create new levels so updating the cache would make\n\t\t\t\t// us skip an edit later when creating levels explicitly.\n\t\t\t\tif (\n\t\t\t\t\tObject.keys( action.edits ).some(\n\t\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlastEditAction = action;\n\t\t\t\t} else {\n\t\t\t\t\tlastEditAction = {\n\t\t\t\t\t\t...action,\n\t\t\t\t\t\tedits: {\n\t\t\t\t\t\t\t...( lastEditAction && lastEditAction.edits ),\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @type {UndoState} */\n\t\t\tlet nextState;\n\n\t\t\tif ( isUndoOrRedo ) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.offset =\n\t\t\t\t\tstate.offset + ( action.meta.isUndo ? -1 : 1 );\n\n\t\t\t\tif ( state.flattenedUndo ) {\n\t\t\t\t\t// The first undo in a sequence of undos might happen while we have\n\t\t\t\t\t// flattened undos in state. If this is the case, we want execution\n\t\t\t\t\t// to continue as if we were creating an explicit undo level. This\n\t\t\t\t\t// will result in an extra undo level being appended with the flattened\n\t\t\t\t\t// undo values.\n\t\t\t\t\t// We also have to take into account if the `lastEditAction` had opted out\n\t\t\t\t\t// of being tracked in undo history, like the action that persists the latest\n\t\t\t\t\t// content right before saving. In that case we have to update the `lastEditAction`\n\t\t\t\t\t// to avoid returning early before applying the existing flattened undos.\n\t\t\t\t\tisCreateUndoLevel = true;\n\t\t\t\t\tif ( ! lastEditAction.meta.undo ) {\n\t\t\t\t\t\tlastEditAction.meta.undo = {\n\t\t\t\t\t\t\tedits: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\taction = lastEditAction;\n\t\t\t\t} else {\n\t\t\t\t\treturn nextState;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! action.meta.undo ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// Transient edits don't create an undo level, but are\n\t\t\t// reachable in the next meaningful edit to which they\n\t\t\t// are merged. They are defined in the entity's config.\n\t\t\tif (\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t! Object.keys( action.edits ).some(\n\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.flattenedUndo = {\n\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t...action.edits,\n\t\t\t\t};\n\t\t\t\tnextState.offset = state.offset;\n\t\t\t\treturn nextState;\n\t\t\t}\n\n\t\t\t// Clear potential redos, because this only supports linear history.\n\t\t\tnextState =\n\t\t\t\t// @ts-ignore this needs additional cleanup, probably involving code-level changes\n\t\t\t\tnextState || state.slice( 0, state.offset || undefined );\n\t\t\tnextState.offset = nextState.offset || 0;\n\t\t\tnextState.pop();\n\t\t\tif ( ! isCreateUndoLevel ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.meta.undo.kind,\n\t\t\t\t\tname: action.meta.undo.name,\n\t\t\t\t\trecordId: action.meta.undo.recordId,\n\t\t\t\t\tedits: {\n\t\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t\t...action.meta.undo.edits,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\t// When an edit is a function it's an optimization to avoid running some expensive operation.\n\t\t\t// We can't rely on the function references being the same so we opt out of comparing them here.\n\t\t\tconst comparisonUndoEdits = Object.values(\n\t\t\t\taction.meta.undo.edits\n\t\t\t).filter( ( edit ) => typeof edit !== 'function' );\n\t\t\tconst comparisonEdits = Object.values( action.edits ).filter(\n\t\t\t\t( edit ) => typeof edit !== 'function'\n\t\t\t);\n\t\t\tif ( ! isShallowEqual( comparisonUndoEdits, comparisonEdits ) ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.kind,\n\t\t\t\t\tname: action.name,\n\t\t\t\t\trecordId: action.recordId,\n\t\t\t\t\tedits: isCreateUndoLevel\n\t\t\t\t\t\t? { ...state.flattenedUndo, ...action.edits }\n\t\t\t\t\t\t: action.edits,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing embed preview data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function embedPreviews( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_EMBED_PREVIEW':\n\t\t\tconst { url, preview } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ url ]: preview,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * State which tracks whether the user can perform an action on a REST\n * resource.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function userPermissions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PERMISSION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.key ]: action.isAllowed,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning autosaves keyed by their parent's post id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function autosaves( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_AUTOSAVES':\n\t\t\tconst { postId, autosaves: autosavesData } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ postId ]: autosavesData,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function blockPatterns( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERNS':\n\t\t\treturn action.patterns;\n\t}\n\n\treturn state;\n}\n\nexport function blockPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERN_CATEGORIES':\n\t\t\treturn action.categories;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tterms,\n\tusers,\n\tcurrentTheme,\n\tcurrentGlobalStylesId,\n\tcurrentUser,\n\tthemeGlobalStyleVariations,\n\tthemeBaseGlobalStyles,\n\ttaxonomies,\n\tentities,\n\tundo,\n\tembedPreviews,\n\tuserPermissions,\n\tautosaves,\n\tblockPatterns,\n\tblockPatternCategories,\n} );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/core-data/src/reducer.js"],"names":["terms","state","action","type","taxonomy","users","byId","queries","reduce","newUsers","user","id","queryID","currentUser","taxonomies","currentTheme","undefined","stylesheet","currentGlobalStylesId","themeBaseGlobalStyles","globalStyles","themeGlobalStyleVariations","variations","entity","entityConfig","name","kind","key","DEFAULT_ENTITY_KEY","queriedData","queriedDataReducer","edits","context","query","nextState","record","items","recordId","nextEdits","Object","keys","acc","persistedEdits","length","forEach","saving","pending","error","isAutosave","deleting","entitiesConfig","rootEntitiesConfig","entities","newConfig","config","entitiesDataReducer","reducer","entitiesByKind","entries","memo","subEntities","kindReducer","kindMemo","newData","records","UNDO_INITIAL_STATE","assign","offset","lastEditAction","undo","isCreateUndoLevel","isUndoOrRedo","meta","isUndo","isRedo","some","transientEdits","flattenedUndo","slice","pop","push","comparisonUndoEdits","values","filter","edit","comparisonEdits","embedPreviews","url","preview","userPermissions","isAllowed","autosaves","postId","autosavesData","blockPatterns","patterns","blockPatternCategories","categories"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, groupBy, isEqual, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { combineReducers } from '@wordpress/data';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { ifMatchingAction, replaceAction } from './utils';\nimport { reducer as queriedDataReducer } from './queried-data';\nimport { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';\n\n/** @typedef {import('./types').AnyFunction} AnyFunction */\n\n/**\n * Reducer managing terms state. Keyed by taxonomy slug, the value is either\n * undefined (if no request has been made for given taxonomy), null (if a\n * request is in-flight for given taxonomy), or the array of terms for the\n * taxonomy.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function terms( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TERMS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.taxonomy ]: action.terms,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing authors state. Keyed by id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function users( state = { byId: {}, queries: {} }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_QUERY':\n\t\t\treturn {\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t// Key users by their ID.\n\t\t\t\t\t...action.users.reduce(\n\t\t\t\t\t\t( newUsers, user ) => ( {\n\t\t\t\t\t\t\t...newUsers,\n\t\t\t\t\t\t\t[ user.id ]: user,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tqueries: {\n\t\t\t\t\t...state.queries,\n\t\t\t\t\t[ action.queryID ]: map(\n\t\t\t\t\t\taction.users,\n\t\t\t\t\t\t( user ) => user.id\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing current user state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function currentUser( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_USER':\n\t\t\treturn action.currentUser;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing taxonomies.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function taxonomies( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TAXONOMIES':\n\t\t\treturn action.taxonomies;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current theme.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentTheme( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_THEME':\n\t\t\treturn action.currentTheme.stylesheet;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current global styles id.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentGlobalStylesId( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_GLOBAL_STYLES_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme base global styles.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeBaseGlobalStyles( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLES':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.globalStyles,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles variations.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleVariations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_VARIATIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.variations,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Higher Order Reducer for a given entity config. It supports:\n *\n * - Fetching\n * - Editing\n * - Saving\n *\n * @param {Object} entityConfig Entity config.\n *\n * @return {AnyFunction} Reducer.\n */\nfunction entity( entityConfig ) {\n\treturn compose( [\n\t\t// Limit to matching action type so we don't attempt to replace action on\n\t\t// an unhandled action.\n\t\tifMatchingAction(\n\t\t\t( action ) =>\n\t\t\t\taction.name &&\n\t\t\t\taction.kind &&\n\t\t\t\taction.name === entityConfig.name &&\n\t\t\t\taction.kind === entityConfig.kind\n\t\t),\n\n\t\t// Inject the entity config into the action.\n\t\treplaceAction( ( action ) => {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\tkey: entityConfig.key || DEFAULT_ENTITY_KEY,\n\t\t\t};\n\t\t} ),\n\t] )(\n\t\tcombineReducers( {\n\t\t\tqueriedData: queriedDataReducer,\n\n\t\t\tedits: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'RECEIVE_ITEMS':\n\t\t\t\t\t\tconst context = action?.query?.context ?? 'default';\n\t\t\t\t\t\tif ( context !== 'default' ) {\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst nextState = { ...state };\n\n\t\t\t\t\t\tfor ( const record of action.items ) {\n\t\t\t\t\t\t\tconst recordId = record[ action.key ];\n\t\t\t\t\t\t\tconst edits = nextState[ recordId ];\n\t\t\t\t\t\t\tif ( ! edits ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst nextEdits = Object.keys( edits ).reduce(\n\t\t\t\t\t\t\t\t( acc, key ) => {\n\t\t\t\t\t\t\t\t\t// If the edited value is still different to the persisted value,\n\t\t\t\t\t\t\t\t\t// keep the edited value in edits.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t// Edits are the \"raw\" attribute values, but records may have\n\t\t\t\t\t\t\t\t\t\t// objects with more properties, so we use `get` here for the\n\t\t\t\t\t\t\t\t\t\t// comparison.\n\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\t'raw',\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ]\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t// Sometimes the server alters the sent value which means\n\t\t\t\t\t\t\t\t\t\t// we need to also remove the edits before the api request.\n\t\t\t\t\t\t\t\t\t\t( ! action.persistedEdits ||\n\t\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\taction.persistedEdits[ key ]\n\t\t\t\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tacc[ key ] = edits[ key ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( Object.keys( nextEdits ).length ) {\n\t\t\t\t\t\t\t\tnextState[ recordId ] = nextEdits;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete nextState[ recordId ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn nextState;\n\n\t\t\t\t\tcase 'EDIT_ENTITY_RECORD':\n\t\t\t\t\t\tconst nextEdits = {\n\t\t\t\t\t\t\t...state[ action.recordId ],\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.keys( nextEdits ).forEach( ( key ) => {\n\t\t\t\t\t\t\t// Delete cleared edits so that the properties\n\t\t\t\t\t\t\t// are not considered dirty.\n\t\t\t\t\t\t\tif ( nextEdits[ key ] === undefined ) {\n\t\t\t\t\t\t\t\tdelete nextEdits[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: nextEdits,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tsaving: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type === 'SAVE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t\tisAutosave: action.isAutosave,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tdeleting: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type ===\n\t\t\t\t\t\t\t\t\t'DELETE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Reducer keeping track of the registered entities.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function entitiesConfig( state = rootEntitiesConfig, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_ENTITIES':\n\t\t\treturn [ ...state, ...action.entities ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the registered entities config and data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const entities = ( state = {}, action ) => {\n\tconst newConfig = entitiesConfig( state.config, action );\n\n\t// Generates a dynamic reducer for the entities.\n\tlet entitiesDataReducer = state.reducer;\n\tif ( ! entitiesDataReducer || newConfig !== state.config ) {\n\t\tconst entitiesByKind = groupBy( newConfig, 'kind' );\n\t\tentitiesDataReducer = combineReducers(\n\t\t\tObject.entries( entitiesByKind ).reduce(\n\t\t\t\t( memo, [ kind, subEntities ] ) => {\n\t\t\t\t\tconst kindReducer = combineReducers(\n\t\t\t\t\t\tsubEntities.reduce(\n\t\t\t\t\t\t\t( kindMemo, entityConfig ) => ( {\n\t\t\t\t\t\t\t\t...kindMemo,\n\t\t\t\t\t\t\t\t[ entityConfig.name ]: entity( entityConfig ),\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tmemo[ kind ] = kindReducer;\n\t\t\t\t\treturn memo;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t)\n\t\t);\n\t}\n\n\tconst newData = entitiesDataReducer( state.records, action );\n\n\tif (\n\t\tnewData === state.records &&\n\t\tnewConfig === state.config &&\n\t\tentitiesDataReducer === state.reducer\n\t) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\treducer: entitiesDataReducer,\n\t\trecords: newData,\n\t\tconfig: newConfig,\n\t};\n};\n\n/**\n * @typedef {Object} UndoStateMeta\n *\n * @property {number} offset Where in the undo stack we are.\n * @property {Object} [flattenedUndo] Flattened form of undo stack.\n */\n\n/** @typedef {Array<Object> & UndoStateMeta} UndoState */\n\n/**\n * @type {UndoState}\n *\n * @todo Given how we use this we might want to make a custom class for it.\n */\nconst UNDO_INITIAL_STATE = Object.assign( [], { offset: 0 } );\n\n/** @type {Object} */\nlet lastEditAction;\n\n/**\n * Reducer keeping track of entity edit undo history.\n *\n * @param {UndoState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {UndoState} Updated state.\n */\nexport function undo( state = UNDO_INITIAL_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'EDIT_ENTITY_RECORD':\n\t\tcase 'CREATE_UNDO_LEVEL':\n\t\t\tlet isCreateUndoLevel = action.type === 'CREATE_UNDO_LEVEL';\n\t\t\tconst isUndoOrRedo =\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t( action.meta.isUndo || action.meta.isRedo );\n\t\t\tif ( isCreateUndoLevel ) {\n\t\t\t\taction = lastEditAction;\n\t\t\t} else if ( ! isUndoOrRedo ) {\n\t\t\t\t// Don't lose the last edit cache if the new one only has transient edits.\n\t\t\t\t// Transient edits don't create new levels so updating the cache would make\n\t\t\t\t// us skip an edit later when creating levels explicitly.\n\t\t\t\tif (\n\t\t\t\t\tObject.keys( action.edits ).some(\n\t\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlastEditAction = action;\n\t\t\t\t} else {\n\t\t\t\t\tlastEditAction = {\n\t\t\t\t\t\t...action,\n\t\t\t\t\t\tedits: {\n\t\t\t\t\t\t\t...( lastEditAction && lastEditAction.edits ),\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @type {UndoState} */\n\t\t\tlet nextState;\n\n\t\t\tif ( isUndoOrRedo ) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.offset =\n\t\t\t\t\tstate.offset + ( action.meta.isUndo ? -1 : 1 );\n\n\t\t\t\tif ( state.flattenedUndo ) {\n\t\t\t\t\t// The first undo in a sequence of undos might happen while we have\n\t\t\t\t\t// flattened undos in state. If this is the case, we want execution\n\t\t\t\t\t// to continue as if we were creating an explicit undo level. This\n\t\t\t\t\t// will result in an extra undo level being appended with the flattened\n\t\t\t\t\t// undo values.\n\t\t\t\t\t// We also have to take into account if the `lastEditAction` had opted out\n\t\t\t\t\t// of being tracked in undo history, like the action that persists the latest\n\t\t\t\t\t// content right before saving. In that case we have to update the `lastEditAction`\n\t\t\t\t\t// to avoid returning early before applying the existing flattened undos.\n\t\t\t\t\tisCreateUndoLevel = true;\n\t\t\t\t\tif ( ! lastEditAction.meta.undo ) {\n\t\t\t\t\t\tlastEditAction.meta.undo = {\n\t\t\t\t\t\t\tedits: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\taction = lastEditAction;\n\t\t\t\t} else {\n\t\t\t\t\treturn nextState;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! action.meta.undo ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// Transient edits don't create an undo level, but are\n\t\t\t// reachable in the next meaningful edit to which they\n\t\t\t// are merged. They are defined in the entity's config.\n\t\t\tif (\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t! Object.keys( action.edits ).some(\n\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.flattenedUndo = {\n\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t...action.edits,\n\t\t\t\t};\n\t\t\t\tnextState.offset = state.offset;\n\t\t\t\treturn nextState;\n\t\t\t}\n\n\t\t\t// Clear potential redos, because this only supports linear history.\n\t\t\tnextState =\n\t\t\t\t// @ts-ignore this needs additional cleanup, probably involving code-level changes\n\t\t\t\tnextState || state.slice( 0, state.offset || undefined );\n\t\t\tnextState.offset = nextState.offset || 0;\n\t\t\tnextState.pop();\n\t\t\tif ( ! isCreateUndoLevel ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.meta.undo.kind,\n\t\t\t\t\tname: action.meta.undo.name,\n\t\t\t\t\trecordId: action.meta.undo.recordId,\n\t\t\t\t\tedits: {\n\t\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t\t...action.meta.undo.edits,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\t// When an edit is a function it's an optimization to avoid running some expensive operation.\n\t\t\t// We can't rely on the function references being the same so we opt out of comparing them here.\n\t\t\tconst comparisonUndoEdits = Object.values(\n\t\t\t\taction.meta.undo.edits\n\t\t\t).filter( ( edit ) => typeof edit !== 'function' );\n\t\t\tconst comparisonEdits = Object.values( action.edits ).filter(\n\t\t\t\t( edit ) => typeof edit !== 'function'\n\t\t\t);\n\t\t\tif ( ! isShallowEqual( comparisonUndoEdits, comparisonEdits ) ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.kind,\n\t\t\t\t\tname: action.name,\n\t\t\t\t\trecordId: action.recordId,\n\t\t\t\t\tedits: isCreateUndoLevel\n\t\t\t\t\t\t? { ...state.flattenedUndo, ...action.edits }\n\t\t\t\t\t\t: action.edits,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing embed preview data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function embedPreviews( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_EMBED_PREVIEW':\n\t\t\tconst { url, preview } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ url ]: preview,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * State which tracks whether the user can perform an action on a REST\n * resource.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function userPermissions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PERMISSION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.key ]: action.isAllowed,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning autosaves keyed by their parent's post id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function autosaves( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_AUTOSAVES':\n\t\t\tconst { postId, autosaves: autosavesData } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ postId ]: autosavesData,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function blockPatterns( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERNS':\n\t\t\treturn action.patterns;\n\t}\n\n\treturn state;\n}\n\nexport function blockPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERN_CATEGORIES':\n\t\t\treturn action.categories;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tterms,\n\tusers,\n\tcurrentTheme,\n\tcurrentGlobalStylesId,\n\tcurrentUser,\n\tthemeGlobalStyleVariations,\n\tthemeBaseGlobalStyles,\n\ttaxonomies,\n\tentities,\n\tundo,\n\tembedPreviews,\n\tuserPermissions,\n\tautosaves,\n\tblockPatterns,\n\tblockPatternCategories,\n} );\n"]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map,
|
|
4
|
+
import { map, omit, filter, mapValues } from 'lodash';
|
|
5
5
|
/**
|
|
6
6
|
* WordPress dependencies
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { combineReducers } from '@wordpress/data';
|
|
10
|
+
import { compose } from '@wordpress/compose';
|
|
10
11
|
/**
|
|
11
12
|
* Internal dependencies
|
|
12
13
|
*/
|
|
@@ -166,7 +167,7 @@ export function itemIsComplete() {
|
|
|
166
167
|
* @return {Object} Next state.
|
|
167
168
|
*/
|
|
168
169
|
|
|
169
|
-
const receiveQueries =
|
|
170
|
+
const receiveQueries = compose([// Limit to matching action type so we don't attempt to replace action on
|
|
170
171
|
// an unhandled action.
|
|
171
172
|
ifMatchingAction(action => 'query' in action), // Inject query parts into action for use both in `onSubKey` and reducer.
|
|
172
173
|
replaceAction(action => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/core-data/src/queried-data/reducer.js"],"names":["map","flowRight","omit","filter","mapValues","combineReducers","conservativeMapItem","ifMatchingAction","replaceAction","onSubKey","DEFAULT_ENTITY_KEY","getQueryParts","getContextFromAction","action","query","queryParts","context","getMergedItemIds","itemIds","nextItemIds","page","perPage","receivedAllIds","nextItemIdsStartIndex","size","Math","max","length","mergedItemIds","Array","i","isInNextItemsRange","items","state","type","key","reduce","accumulator","value","itemId","contextState","itemIsComplete","isCompleteQuery","isArray","fields","result","item","receiveQueries","queries","removedItems","contextQueries","queryItems","queryId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, flowRight, omit, filter, mapValues } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tconservativeMapItem,\n\tifMatchingAction,\n\treplaceAction,\n\tonSubKey,\n} from '../utils';\nimport { DEFAULT_ENTITY_KEY } from '../entities';\nimport getQueryParts from './get-query-parts';\n\nfunction getContextFromAction( action ) {\n\tconst { query } = action;\n\tif ( ! query ) {\n\t\treturn 'default';\n\t}\n\n\tconst queryParts = getQueryParts( query );\n\treturn queryParts.context;\n}\n\n/**\n * Returns a merged array of item IDs, given details of the received paginated\n * items. The array is sparse-like with `undefined` entries where holes exist.\n *\n * @param {?Array<number>} itemIds Original item IDs (default empty array).\n * @param {number[]} nextItemIds Item IDs to merge.\n * @param {number} page Page of items merged.\n * @param {number} perPage Number of items per page.\n *\n * @return {number[]} Merged array of item IDs.\n */\nexport function getMergedItemIds( itemIds, nextItemIds, page, perPage ) {\n\tconst receivedAllIds = page === 1 && perPage === -1;\n\tif ( receivedAllIds ) {\n\t\treturn nextItemIds;\n\t}\n\tconst nextItemIdsStartIndex = ( page - 1 ) * perPage;\n\n\t// If later page has already been received, default to the larger known\n\t// size of the existing array, else calculate as extending the existing.\n\tconst size = Math.max(\n\t\titemIds?.length ?? 0,\n\t\tnextItemIdsStartIndex + nextItemIds.length\n\t);\n\n\t// Preallocate array since size is known.\n\tconst mergedItemIds = new Array( size );\n\n\tfor ( let i = 0; i < size; i++ ) {\n\t\t// Preserve existing item ID except for subset of range of next items.\n\t\tconst isInNextItemsRange =\n\t\t\ti >= nextItemIdsStartIndex &&\n\t\t\ti < nextItemIdsStartIndex + nextItemIds.length;\n\n\t\tmergedItemIds[ i ] = isInNextItemsRange\n\t\t\t? nextItemIds[ i - nextItemIdsStartIndex ]\n\t\t\t: itemIds?.[ i ];\n\t}\n\n\treturn mergedItemIds;\n}\n\n/**\n * Reducer tracking items state, keyed by ID. Items are assumed to be normal,\n * where identifiers are common across all queries.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nexport function items( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst key = action.key || DEFAULT_ENTITY_KEY;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( accumulator, value ) => {\n\t\t\t\t\t\tconst itemId = value[ key ];\n\t\t\t\t\t\taccumulator[ itemId ] = conservativeMapItem(\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ],\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking item completeness, keyed by ID. A complete item is one for\n * which all fields are known. This is used in supporting `_fields` queries,\n * where not all properties associated with an entity are necessarily returned.\n * In such cases, completeness is used as an indication of whether it would be\n * safe to use queried data for a non-`_fields`-limited request.\n *\n * @param {Object<string,Object<string,boolean>>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object<string,Object<string,boolean>>} Next state.\n */\nexport function itemIsComplete( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst { query, key = DEFAULT_ENTITY_KEY } = action;\n\n\t\t\t// An item is considered complete if it is received without an associated\n\t\t\t// fields query. Ideally, this would be implemented in such a way where the\n\t\t\t// complete aggregate of all fields would satisfy completeness. Since the\n\t\t\t// fields are not consistent across all entities, this would require\n\t\t\t// introspection on the REST schema for each entity to know which fields\n\t\t\t// compose a complete item for that entity.\n\t\t\tconst queryParts = query ? getQueryParts( query ) : {};\n\t\t\tconst isCompleteQuery =\n\t\t\t\t! query || ! Array.isArray( queryParts.fields );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( result, item ) => {\n\t\t\t\t\t\tconst itemId = item[ key ];\n\n\t\t\t\t\t\t// Defer to completeness if already assigned. Technically the\n\t\t\t\t\t\t// data may be outdated if receiving items for a field subset.\n\t\t\t\t\t\tresult[ itemId ] =\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ] || isCompleteQuery;\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer tracking queries state, keyed by stable query key. Each reducer\n * query object includes `itemIds` and `requestingPageByPerPage`.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst receiveQueries = flowRight( [\n\t// Limit to matching action type so we don't attempt to replace action on\n\t// an unhandled action.\n\tifMatchingAction( ( action ) => 'query' in action ),\n\n\t// Inject query parts into action for use both in `onSubKey` and reducer.\n\treplaceAction( ( action ) => {\n\t\t// `ifMatchingAction` still passes on initialization, where state is\n\t\t// undefined and a query is not assigned. Avoid attempting to parse\n\t\t// parts. `onSubKey` will omit by lack of `stableKey`.\n\t\tif ( action.query ) {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\t...getQueryParts( action.query ),\n\t\t\t};\n\t\t}\n\n\t\treturn action;\n\t} ),\n\n\tonSubKey( 'context' ),\n\n\t// Queries shape is shared, but keyed by query `stableKey` part. Original\n\t// reducer tracks only a single query object.\n\tonSubKey( 'stableKey' ),\n] )( ( state = null, action ) => {\n\tconst { type, page, perPage, key = DEFAULT_ENTITY_KEY } = action;\n\n\tif ( type !== 'RECEIVE_ITEMS' ) {\n\t\treturn state;\n\t}\n\n\treturn getMergedItemIds(\n\t\tstate || [],\n\t\tmap( action.items, key ),\n\t\tpage,\n\t\tperPage\n\t);\n} );\n\n/**\n * Reducer tracking queries state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst queries = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS':\n\t\t\treturn receiveQueries( state, action );\n\t\tcase 'REMOVE_ITEMS':\n\t\t\tconst removedItems = action.itemIds.reduce( ( result, itemId ) => {\n\t\t\t\tresult[ itemId ] = true;\n\t\t\t\treturn result;\n\t\t\t}, {} );\n\n\t\t\treturn mapValues( state, ( contextQueries ) => {\n\t\t\t\treturn mapValues( contextQueries, ( queryItems ) => {\n\t\t\t\t\treturn filter( queryItems, ( queryId ) => {\n\t\t\t\t\t\treturn ! removedItems[ queryId ];\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} );\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default combineReducers( {\n\titems,\n\titemIsComplete,\n\tqueries,\n} );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/core-data/src/queried-data/reducer.js"],"names":["map","omit","filter","mapValues","combineReducers","compose","conservativeMapItem","ifMatchingAction","replaceAction","onSubKey","DEFAULT_ENTITY_KEY","getQueryParts","getContextFromAction","action","query","queryParts","context","getMergedItemIds","itemIds","nextItemIds","page","perPage","receivedAllIds","nextItemIdsStartIndex","size","Math","max","length","mergedItemIds","Array","i","isInNextItemsRange","items","state","type","key","reduce","accumulator","value","itemId","contextState","itemIsComplete","isCompleteQuery","isArray","fields","result","item","receiveQueries","queries","removedItems","contextQueries","queryItems","queryId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, omit, filter, mapValues } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tconservativeMapItem,\n\tifMatchingAction,\n\treplaceAction,\n\tonSubKey,\n} from '../utils';\nimport { DEFAULT_ENTITY_KEY } from '../entities';\nimport getQueryParts from './get-query-parts';\n\nfunction getContextFromAction( action ) {\n\tconst { query } = action;\n\tif ( ! query ) {\n\t\treturn 'default';\n\t}\n\n\tconst queryParts = getQueryParts( query );\n\treturn queryParts.context;\n}\n\n/**\n * Returns a merged array of item IDs, given details of the received paginated\n * items. The array is sparse-like with `undefined` entries where holes exist.\n *\n * @param {?Array<number>} itemIds Original item IDs (default empty array).\n * @param {number[]} nextItemIds Item IDs to merge.\n * @param {number} page Page of items merged.\n * @param {number} perPage Number of items per page.\n *\n * @return {number[]} Merged array of item IDs.\n */\nexport function getMergedItemIds( itemIds, nextItemIds, page, perPage ) {\n\tconst receivedAllIds = page === 1 && perPage === -1;\n\tif ( receivedAllIds ) {\n\t\treturn nextItemIds;\n\t}\n\tconst nextItemIdsStartIndex = ( page - 1 ) * perPage;\n\n\t// If later page has already been received, default to the larger known\n\t// size of the existing array, else calculate as extending the existing.\n\tconst size = Math.max(\n\t\titemIds?.length ?? 0,\n\t\tnextItemIdsStartIndex + nextItemIds.length\n\t);\n\n\t// Preallocate array since size is known.\n\tconst mergedItemIds = new Array( size );\n\n\tfor ( let i = 0; i < size; i++ ) {\n\t\t// Preserve existing item ID except for subset of range of next items.\n\t\tconst isInNextItemsRange =\n\t\t\ti >= nextItemIdsStartIndex &&\n\t\t\ti < nextItemIdsStartIndex + nextItemIds.length;\n\n\t\tmergedItemIds[ i ] = isInNextItemsRange\n\t\t\t? nextItemIds[ i - nextItemIdsStartIndex ]\n\t\t\t: itemIds?.[ i ];\n\t}\n\n\treturn mergedItemIds;\n}\n\n/**\n * Reducer tracking items state, keyed by ID. Items are assumed to be normal,\n * where identifiers are common across all queries.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nexport function items( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst key = action.key || DEFAULT_ENTITY_KEY;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( accumulator, value ) => {\n\t\t\t\t\t\tconst itemId = value[ key ];\n\t\t\t\t\t\taccumulator[ itemId ] = conservativeMapItem(\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ],\n\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\treturn state;\n}\n\n/**\n * Reducer tracking item completeness, keyed by ID. A complete item is one for\n * which all fields are known. This is used in supporting `_fields` queries,\n * where not all properties associated with an entity are necessarily returned.\n * In such cases, completeness is used as an indication of whether it would be\n * safe to use queried data for a non-`_fields`-limited request.\n *\n * @param {Object<string,Object<string,boolean>>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object<string,Object<string,boolean>>} Next state.\n */\nexport function itemIsComplete( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS': {\n\t\t\tconst context = getContextFromAction( action );\n\t\t\tconst { query, key = DEFAULT_ENTITY_KEY } = action;\n\n\t\t\t// An item is considered complete if it is received without an associated\n\t\t\t// fields query. Ideally, this would be implemented in such a way where the\n\t\t\t// complete aggregate of all fields would satisfy completeness. Since the\n\t\t\t// fields are not consistent across all entities, this would require\n\t\t\t// introspection on the REST schema for each entity to know which fields\n\t\t\t// compose a complete item for that entity.\n\t\t\tconst queryParts = query ? getQueryParts( query ) : {};\n\t\t\tconst isCompleteQuery =\n\t\t\t\t! query || ! Array.isArray( queryParts.fields );\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ context ]: {\n\t\t\t\t\t...state[ context ],\n\t\t\t\t\t...action.items.reduce( ( result, item ) => {\n\t\t\t\t\t\tconst itemId = item[ key ];\n\n\t\t\t\t\t\t// Defer to completeness if already assigned. Technically the\n\t\t\t\t\t\t// data may be outdated if receiving items for a field subset.\n\t\t\t\t\t\tresult[ itemId ] =\n\t\t\t\t\t\t\tstate?.[ context ]?.[ itemId ] || isCompleteQuery;\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}, {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_ITEMS':\n\t\t\treturn mapValues( state, ( contextState ) =>\n\t\t\t\tomit( contextState, action.itemIds )\n\t\t\t);\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer tracking queries state, keyed by stable query key. Each reducer\n * query object includes `itemIds` and `requestingPageByPerPage`.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst receiveQueries = compose( [\n\t// Limit to matching action type so we don't attempt to replace action on\n\t// an unhandled action.\n\tifMatchingAction( ( action ) => 'query' in action ),\n\n\t// Inject query parts into action for use both in `onSubKey` and reducer.\n\treplaceAction( ( action ) => {\n\t\t// `ifMatchingAction` still passes on initialization, where state is\n\t\t// undefined and a query is not assigned. Avoid attempting to parse\n\t\t// parts. `onSubKey` will omit by lack of `stableKey`.\n\t\tif ( action.query ) {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\t...getQueryParts( action.query ),\n\t\t\t};\n\t\t}\n\n\t\treturn action;\n\t} ),\n\n\tonSubKey( 'context' ),\n\n\t// Queries shape is shared, but keyed by query `stableKey` part. Original\n\t// reducer tracks only a single query object.\n\tonSubKey( 'stableKey' ),\n] )( ( state = null, action ) => {\n\tconst { type, page, perPage, key = DEFAULT_ENTITY_KEY } = action;\n\n\tif ( type !== 'RECEIVE_ITEMS' ) {\n\t\treturn state;\n\t}\n\n\treturn getMergedItemIds(\n\t\tstate || [],\n\t\tmap( action.items, key ),\n\t\tpage,\n\t\tperPage\n\t);\n} );\n\n/**\n * Reducer tracking queries state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Next state.\n */\nconst queries = ( state = {}, action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_ITEMS':\n\t\t\treturn receiveQueries( state, action );\n\t\tcase 'REMOVE_ITEMS':\n\t\t\tconst removedItems = action.itemIds.reduce( ( result, itemId ) => {\n\t\t\t\tresult[ itemId ] = true;\n\t\t\t\treturn result;\n\t\t\t}, {} );\n\n\t\t\treturn mapValues( state, ( contextQueries ) => {\n\t\t\t\treturn mapValues( contextQueries, ( queryItems ) => {\n\t\t\t\t\treturn filter( queryItems, ( queryId ) => {\n\t\t\t\t\t\treturn ! removedItems[ queryId ];\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t} );\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default combineReducers( {\n\titems,\n\titemIsComplete,\n\tqueries,\n} );\n"]}
|
package/build-module/reducer.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map, groupBy,
|
|
4
|
+
import { map, groupBy, isEqual, get } from 'lodash';
|
|
5
5
|
/**
|
|
6
6
|
* WordPress dependencies
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { compose } from '@wordpress/compose';
|
|
9
10
|
import { combineReducers } from '@wordpress/data';
|
|
10
11
|
import isShallowEqual from '@wordpress/is-shallow-equal';
|
|
11
12
|
/**
|
|
@@ -212,7 +213,7 @@ export function themeGlobalStyleVariations() {
|
|
|
212
213
|
*/
|
|
213
214
|
|
|
214
215
|
function entity(entityConfig) {
|
|
215
|
-
return
|
|
216
|
+
return compose([// Limit to matching action type so we don't attempt to replace action on
|
|
216
217
|
// an unhandled action.
|
|
217
218
|
ifMatchingAction(action => action.name && action.kind && action.name === entityConfig.name && action.kind === entityConfig.kind), // Inject the entity config into the action.
|
|
218
219
|
replaceAction(action => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/core-data/src/reducer.js"],"names":["map","groupBy","flowRight","isEqual","get","combineReducers","isShallowEqual","ifMatchingAction","replaceAction","reducer","queriedDataReducer","rootEntitiesConfig","DEFAULT_ENTITY_KEY","terms","state","action","type","taxonomy","users","byId","queries","reduce","newUsers","user","id","queryID","currentUser","taxonomies","currentTheme","undefined","stylesheet","currentGlobalStylesId","themeBaseGlobalStyles","globalStyles","themeGlobalStyleVariations","variations","entity","entityConfig","name","kind","key","queriedData","edits","context","query","nextState","record","items","recordId","nextEdits","Object","keys","acc","persistedEdits","length","forEach","saving","pending","error","isAutosave","deleting","entitiesConfig","entities","newConfig","config","entitiesDataReducer","entitiesByKind","entries","memo","subEntities","kindReducer","kindMemo","newData","records","UNDO_INITIAL_STATE","assign","offset","lastEditAction","undo","isCreateUndoLevel","isUndoOrRedo","meta","isUndo","isRedo","some","transientEdits","flattenedUndo","slice","pop","push","comparisonUndoEdits","values","filter","edit","comparisonEdits","embedPreviews","url","preview","userPermissions","isAllowed","autosaves","postId","autosavesData","blockPatterns","patterns","blockPatternCategories","categories"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, groupBy, flowRight, isEqual, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { ifMatchingAction, replaceAction } from './utils';\nimport { reducer as queriedDataReducer } from './queried-data';\nimport { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';\n\n/** @typedef {import('./types').AnyFunction} AnyFunction */\n\n/**\n * Reducer managing terms state. Keyed by taxonomy slug, the value is either\n * undefined (if no request has been made for given taxonomy), null (if a\n * request is in-flight for given taxonomy), or the array of terms for the\n * taxonomy.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function terms( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TERMS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.taxonomy ]: action.terms,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing authors state. Keyed by id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function users( state = { byId: {}, queries: {} }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_QUERY':\n\t\t\treturn {\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t// Key users by their ID.\n\t\t\t\t\t...action.users.reduce(\n\t\t\t\t\t\t( newUsers, user ) => ( {\n\t\t\t\t\t\t\t...newUsers,\n\t\t\t\t\t\t\t[ user.id ]: user,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tqueries: {\n\t\t\t\t\t...state.queries,\n\t\t\t\t\t[ action.queryID ]: map(\n\t\t\t\t\t\taction.users,\n\t\t\t\t\t\t( user ) => user.id\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing current user state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function currentUser( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_USER':\n\t\t\treturn action.currentUser;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing taxonomies.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function taxonomies( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TAXONOMIES':\n\t\t\treturn action.taxonomies;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current theme.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentTheme( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_THEME':\n\t\t\treturn action.currentTheme.stylesheet;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current global styles id.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentGlobalStylesId( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_GLOBAL_STYLES_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme base global styles.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeBaseGlobalStyles( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLES':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.globalStyles,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles variations.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleVariations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_VARIATIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.variations,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Higher Order Reducer for a given entity config. It supports:\n *\n * - Fetching\n * - Editing\n * - Saving\n *\n * @param {Object} entityConfig Entity config.\n *\n * @return {AnyFunction} Reducer.\n */\nfunction entity( entityConfig ) {\n\treturn flowRight( [\n\t\t// Limit to matching action type so we don't attempt to replace action on\n\t\t// an unhandled action.\n\t\tifMatchingAction(\n\t\t\t( action ) =>\n\t\t\t\taction.name &&\n\t\t\t\taction.kind &&\n\t\t\t\taction.name === entityConfig.name &&\n\t\t\t\taction.kind === entityConfig.kind\n\t\t),\n\n\t\t// Inject the entity config into the action.\n\t\treplaceAction( ( action ) => {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\tkey: entityConfig.key || DEFAULT_ENTITY_KEY,\n\t\t\t};\n\t\t} ),\n\t] )(\n\t\tcombineReducers( {\n\t\t\tqueriedData: queriedDataReducer,\n\n\t\t\tedits: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'RECEIVE_ITEMS':\n\t\t\t\t\t\tconst context = action?.query?.context ?? 'default';\n\t\t\t\t\t\tif ( context !== 'default' ) {\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst nextState = { ...state };\n\n\t\t\t\t\t\tfor ( const record of action.items ) {\n\t\t\t\t\t\t\tconst recordId = record[ action.key ];\n\t\t\t\t\t\t\tconst edits = nextState[ recordId ];\n\t\t\t\t\t\t\tif ( ! edits ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst nextEdits = Object.keys( edits ).reduce(\n\t\t\t\t\t\t\t\t( acc, key ) => {\n\t\t\t\t\t\t\t\t\t// If the edited value is still different to the persisted value,\n\t\t\t\t\t\t\t\t\t// keep the edited value in edits.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t// Edits are the \"raw\" attribute values, but records may have\n\t\t\t\t\t\t\t\t\t\t// objects with more properties, so we use `get` here for the\n\t\t\t\t\t\t\t\t\t\t// comparison.\n\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\t'raw',\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ]\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t// Sometimes the server alters the sent value which means\n\t\t\t\t\t\t\t\t\t\t// we need to also remove the edits before the api request.\n\t\t\t\t\t\t\t\t\t\t( ! action.persistedEdits ||\n\t\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\taction.persistedEdits[ key ]\n\t\t\t\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tacc[ key ] = edits[ key ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( Object.keys( nextEdits ).length ) {\n\t\t\t\t\t\t\t\tnextState[ recordId ] = nextEdits;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete nextState[ recordId ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn nextState;\n\n\t\t\t\t\tcase 'EDIT_ENTITY_RECORD':\n\t\t\t\t\t\tconst nextEdits = {\n\t\t\t\t\t\t\t...state[ action.recordId ],\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.keys( nextEdits ).forEach( ( key ) => {\n\t\t\t\t\t\t\t// Delete cleared edits so that the properties\n\t\t\t\t\t\t\t// are not considered dirty.\n\t\t\t\t\t\t\tif ( nextEdits[ key ] === undefined ) {\n\t\t\t\t\t\t\t\tdelete nextEdits[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: nextEdits,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tsaving: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type === 'SAVE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t\tisAutosave: action.isAutosave,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tdeleting: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type ===\n\t\t\t\t\t\t\t\t\t'DELETE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Reducer keeping track of the registered entities.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function entitiesConfig( state = rootEntitiesConfig, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_ENTITIES':\n\t\t\treturn [ ...state, ...action.entities ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the registered entities config and data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const entities = ( state = {}, action ) => {\n\tconst newConfig = entitiesConfig( state.config, action );\n\n\t// Generates a dynamic reducer for the entities.\n\tlet entitiesDataReducer = state.reducer;\n\tif ( ! entitiesDataReducer || newConfig !== state.config ) {\n\t\tconst entitiesByKind = groupBy( newConfig, 'kind' );\n\t\tentitiesDataReducer = combineReducers(\n\t\t\tObject.entries( entitiesByKind ).reduce(\n\t\t\t\t( memo, [ kind, subEntities ] ) => {\n\t\t\t\t\tconst kindReducer = combineReducers(\n\t\t\t\t\t\tsubEntities.reduce(\n\t\t\t\t\t\t\t( kindMemo, entityConfig ) => ( {\n\t\t\t\t\t\t\t\t...kindMemo,\n\t\t\t\t\t\t\t\t[ entityConfig.name ]: entity( entityConfig ),\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tmemo[ kind ] = kindReducer;\n\t\t\t\t\treturn memo;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t)\n\t\t);\n\t}\n\n\tconst newData = entitiesDataReducer( state.records, action );\n\n\tif (\n\t\tnewData === state.records &&\n\t\tnewConfig === state.config &&\n\t\tentitiesDataReducer === state.reducer\n\t) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\treducer: entitiesDataReducer,\n\t\trecords: newData,\n\t\tconfig: newConfig,\n\t};\n};\n\n/**\n * @typedef {Object} UndoStateMeta\n *\n * @property {number} offset Where in the undo stack we are.\n * @property {Object} [flattenedUndo] Flattened form of undo stack.\n */\n\n/** @typedef {Array<Object> & UndoStateMeta} UndoState */\n\n/**\n * @type {UndoState}\n *\n * @todo Given how we use this we might want to make a custom class for it.\n */\nconst UNDO_INITIAL_STATE = Object.assign( [], { offset: 0 } );\n\n/** @type {Object} */\nlet lastEditAction;\n\n/**\n * Reducer keeping track of entity edit undo history.\n *\n * @param {UndoState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {UndoState} Updated state.\n */\nexport function undo( state = UNDO_INITIAL_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'EDIT_ENTITY_RECORD':\n\t\tcase 'CREATE_UNDO_LEVEL':\n\t\t\tlet isCreateUndoLevel = action.type === 'CREATE_UNDO_LEVEL';\n\t\t\tconst isUndoOrRedo =\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t( action.meta.isUndo || action.meta.isRedo );\n\t\t\tif ( isCreateUndoLevel ) {\n\t\t\t\taction = lastEditAction;\n\t\t\t} else if ( ! isUndoOrRedo ) {\n\t\t\t\t// Don't lose the last edit cache if the new one only has transient edits.\n\t\t\t\t// Transient edits don't create new levels so updating the cache would make\n\t\t\t\t// us skip an edit later when creating levels explicitly.\n\t\t\t\tif (\n\t\t\t\t\tObject.keys( action.edits ).some(\n\t\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlastEditAction = action;\n\t\t\t\t} else {\n\t\t\t\t\tlastEditAction = {\n\t\t\t\t\t\t...action,\n\t\t\t\t\t\tedits: {\n\t\t\t\t\t\t\t...( lastEditAction && lastEditAction.edits ),\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @type {UndoState} */\n\t\t\tlet nextState;\n\n\t\t\tif ( isUndoOrRedo ) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.offset =\n\t\t\t\t\tstate.offset + ( action.meta.isUndo ? -1 : 1 );\n\n\t\t\t\tif ( state.flattenedUndo ) {\n\t\t\t\t\t// The first undo in a sequence of undos might happen while we have\n\t\t\t\t\t// flattened undos in state. If this is the case, we want execution\n\t\t\t\t\t// to continue as if we were creating an explicit undo level. This\n\t\t\t\t\t// will result in an extra undo level being appended with the flattened\n\t\t\t\t\t// undo values.\n\t\t\t\t\t// We also have to take into account if the `lastEditAction` had opted out\n\t\t\t\t\t// of being tracked in undo history, like the action that persists the latest\n\t\t\t\t\t// content right before saving. In that case we have to update the `lastEditAction`\n\t\t\t\t\t// to avoid returning early before applying the existing flattened undos.\n\t\t\t\t\tisCreateUndoLevel = true;\n\t\t\t\t\tif ( ! lastEditAction.meta.undo ) {\n\t\t\t\t\t\tlastEditAction.meta.undo = {\n\t\t\t\t\t\t\tedits: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\taction = lastEditAction;\n\t\t\t\t} else {\n\t\t\t\t\treturn nextState;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! action.meta.undo ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// Transient edits don't create an undo level, but are\n\t\t\t// reachable in the next meaningful edit to which they\n\t\t\t// are merged. They are defined in the entity's config.\n\t\t\tif (\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t! Object.keys( action.edits ).some(\n\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.flattenedUndo = {\n\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t...action.edits,\n\t\t\t\t};\n\t\t\t\tnextState.offset = state.offset;\n\t\t\t\treturn nextState;\n\t\t\t}\n\n\t\t\t// Clear potential redos, because this only supports linear history.\n\t\t\tnextState =\n\t\t\t\t// @ts-ignore this needs additional cleanup, probably involving code-level changes\n\t\t\t\tnextState || state.slice( 0, state.offset || undefined );\n\t\t\tnextState.offset = nextState.offset || 0;\n\t\t\tnextState.pop();\n\t\t\tif ( ! isCreateUndoLevel ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.meta.undo.kind,\n\t\t\t\t\tname: action.meta.undo.name,\n\t\t\t\t\trecordId: action.meta.undo.recordId,\n\t\t\t\t\tedits: {\n\t\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t\t...action.meta.undo.edits,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\t// When an edit is a function it's an optimization to avoid running some expensive operation.\n\t\t\t// We can't rely on the function references being the same so we opt out of comparing them here.\n\t\t\tconst comparisonUndoEdits = Object.values(\n\t\t\t\taction.meta.undo.edits\n\t\t\t).filter( ( edit ) => typeof edit !== 'function' );\n\t\t\tconst comparisonEdits = Object.values( action.edits ).filter(\n\t\t\t\t( edit ) => typeof edit !== 'function'\n\t\t\t);\n\t\t\tif ( ! isShallowEqual( comparisonUndoEdits, comparisonEdits ) ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.kind,\n\t\t\t\t\tname: action.name,\n\t\t\t\t\trecordId: action.recordId,\n\t\t\t\t\tedits: isCreateUndoLevel\n\t\t\t\t\t\t? { ...state.flattenedUndo, ...action.edits }\n\t\t\t\t\t\t: action.edits,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing embed preview data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function embedPreviews( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_EMBED_PREVIEW':\n\t\t\tconst { url, preview } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ url ]: preview,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * State which tracks whether the user can perform an action on a REST\n * resource.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function userPermissions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PERMISSION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.key ]: action.isAllowed,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning autosaves keyed by their parent's post id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function autosaves( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_AUTOSAVES':\n\t\t\tconst { postId, autosaves: autosavesData } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ postId ]: autosavesData,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function blockPatterns( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERNS':\n\t\t\treturn action.patterns;\n\t}\n\n\treturn state;\n}\n\nexport function blockPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERN_CATEGORIES':\n\t\t\treturn action.categories;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tterms,\n\tusers,\n\tcurrentTheme,\n\tcurrentGlobalStylesId,\n\tcurrentUser,\n\tthemeGlobalStyleVariations,\n\tthemeBaseGlobalStyles,\n\ttaxonomies,\n\tentities,\n\tundo,\n\tembedPreviews,\n\tuserPermissions,\n\tautosaves,\n\tblockPatterns,\n\tblockPatternCategories,\n} );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/core-data/src/reducer.js"],"names":["map","groupBy","isEqual","get","compose","combineReducers","isShallowEqual","ifMatchingAction","replaceAction","reducer","queriedDataReducer","rootEntitiesConfig","DEFAULT_ENTITY_KEY","terms","state","action","type","taxonomy","users","byId","queries","reduce","newUsers","user","id","queryID","currentUser","taxonomies","currentTheme","undefined","stylesheet","currentGlobalStylesId","themeBaseGlobalStyles","globalStyles","themeGlobalStyleVariations","variations","entity","entityConfig","name","kind","key","queriedData","edits","context","query","nextState","record","items","recordId","nextEdits","Object","keys","acc","persistedEdits","length","forEach","saving","pending","error","isAutosave","deleting","entitiesConfig","entities","newConfig","config","entitiesDataReducer","entitiesByKind","entries","memo","subEntities","kindReducer","kindMemo","newData","records","UNDO_INITIAL_STATE","assign","offset","lastEditAction","undo","isCreateUndoLevel","isUndoOrRedo","meta","isUndo","isRedo","some","transientEdits","flattenedUndo","slice","pop","push","comparisonUndoEdits","values","filter","edit","comparisonEdits","embedPreviews","url","preview","userPermissions","isAllowed","autosaves","postId","autosavesData","blockPatterns","patterns","blockPatternCategories","categories"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, groupBy, isEqual, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { combineReducers } from '@wordpress/data';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { ifMatchingAction, replaceAction } from './utils';\nimport { reducer as queriedDataReducer } from './queried-data';\nimport { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';\n\n/** @typedef {import('./types').AnyFunction} AnyFunction */\n\n/**\n * Reducer managing terms state. Keyed by taxonomy slug, the value is either\n * undefined (if no request has been made for given taxonomy), null (if a\n * request is in-flight for given taxonomy), or the array of terms for the\n * taxonomy.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function terms( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TERMS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.taxonomy ]: action.terms,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing authors state. Keyed by id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function users( state = { byId: {}, queries: {} }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_QUERY':\n\t\t\treturn {\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t// Key users by their ID.\n\t\t\t\t\t...action.users.reduce(\n\t\t\t\t\t\t( newUsers, user ) => ( {\n\t\t\t\t\t\t\t...newUsers,\n\t\t\t\t\t\t\t[ user.id ]: user,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tqueries: {\n\t\t\t\t\t...state.queries,\n\t\t\t\t\t[ action.queryID ]: map(\n\t\t\t\t\t\taction.users,\n\t\t\t\t\t\t( user ) => user.id\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing current user state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function currentUser( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_USER':\n\t\t\treturn action.currentUser;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing taxonomies.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function taxonomies( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TAXONOMIES':\n\t\t\treturn action.taxonomies;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current theme.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentTheme( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_THEME':\n\t\t\treturn action.currentTheme.stylesheet;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current global styles id.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentGlobalStylesId( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_GLOBAL_STYLES_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme base global styles.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeBaseGlobalStyles( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLES':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.globalStyles,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles variations.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleVariations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_VARIATIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.variations,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Higher Order Reducer for a given entity config. It supports:\n *\n * - Fetching\n * - Editing\n * - Saving\n *\n * @param {Object} entityConfig Entity config.\n *\n * @return {AnyFunction} Reducer.\n */\nfunction entity( entityConfig ) {\n\treturn compose( [\n\t\t// Limit to matching action type so we don't attempt to replace action on\n\t\t// an unhandled action.\n\t\tifMatchingAction(\n\t\t\t( action ) =>\n\t\t\t\taction.name &&\n\t\t\t\taction.kind &&\n\t\t\t\taction.name === entityConfig.name &&\n\t\t\t\taction.kind === entityConfig.kind\n\t\t),\n\n\t\t// Inject the entity config into the action.\n\t\treplaceAction( ( action ) => {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\tkey: entityConfig.key || DEFAULT_ENTITY_KEY,\n\t\t\t};\n\t\t} ),\n\t] )(\n\t\tcombineReducers( {\n\t\t\tqueriedData: queriedDataReducer,\n\n\t\t\tedits: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'RECEIVE_ITEMS':\n\t\t\t\t\t\tconst context = action?.query?.context ?? 'default';\n\t\t\t\t\t\tif ( context !== 'default' ) {\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst nextState = { ...state };\n\n\t\t\t\t\t\tfor ( const record of action.items ) {\n\t\t\t\t\t\t\tconst recordId = record[ action.key ];\n\t\t\t\t\t\t\tconst edits = nextState[ recordId ];\n\t\t\t\t\t\t\tif ( ! edits ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst nextEdits = Object.keys( edits ).reduce(\n\t\t\t\t\t\t\t\t( acc, key ) => {\n\t\t\t\t\t\t\t\t\t// If the edited value is still different to the persisted value,\n\t\t\t\t\t\t\t\t\t// keep the edited value in edits.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t// Edits are the \"raw\" attribute values, but records may have\n\t\t\t\t\t\t\t\t\t\t// objects with more properties, so we use `get` here for the\n\t\t\t\t\t\t\t\t\t\t// comparison.\n\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\t'raw',\n\t\t\t\t\t\t\t\t\t\t\t\trecord[ key ]\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t// Sometimes the server alters the sent value which means\n\t\t\t\t\t\t\t\t\t\t// we need to also remove the edits before the api request.\n\t\t\t\t\t\t\t\t\t\t( ! action.persistedEdits ||\n\t\t\t\t\t\t\t\t\t\t\t! isEqual(\n\t\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\taction.persistedEdits[ key ]\n\t\t\t\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tacc[ key ] = edits[ key ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( Object.keys( nextEdits ).length ) {\n\t\t\t\t\t\t\t\tnextState[ recordId ] = nextEdits;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete nextState[ recordId ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn nextState;\n\n\t\t\t\t\tcase 'EDIT_ENTITY_RECORD':\n\t\t\t\t\t\tconst nextEdits = {\n\t\t\t\t\t\t\t...state[ action.recordId ],\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.keys( nextEdits ).forEach( ( key ) => {\n\t\t\t\t\t\t\t// Delete cleared edits so that the properties\n\t\t\t\t\t\t\t// are not considered dirty.\n\t\t\t\t\t\t\tif ( nextEdits[ key ] === undefined ) {\n\t\t\t\t\t\t\t\tdelete nextEdits[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: nextEdits,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tsaving: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type === 'SAVE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t\tisAutosave: action.isAutosave,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tdeleting: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type ===\n\t\t\t\t\t\t\t\t\t'DELETE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Reducer keeping track of the registered entities.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function entitiesConfig( state = rootEntitiesConfig, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_ENTITIES':\n\t\t\treturn [ ...state, ...action.entities ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the registered entities config and data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const entities = ( state = {}, action ) => {\n\tconst newConfig = entitiesConfig( state.config, action );\n\n\t// Generates a dynamic reducer for the entities.\n\tlet entitiesDataReducer = state.reducer;\n\tif ( ! entitiesDataReducer || newConfig !== state.config ) {\n\t\tconst entitiesByKind = groupBy( newConfig, 'kind' );\n\t\tentitiesDataReducer = combineReducers(\n\t\t\tObject.entries( entitiesByKind ).reduce(\n\t\t\t\t( memo, [ kind, subEntities ] ) => {\n\t\t\t\t\tconst kindReducer = combineReducers(\n\t\t\t\t\t\tsubEntities.reduce(\n\t\t\t\t\t\t\t( kindMemo, entityConfig ) => ( {\n\t\t\t\t\t\t\t\t...kindMemo,\n\t\t\t\t\t\t\t\t[ entityConfig.name ]: entity( entityConfig ),\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tmemo[ kind ] = kindReducer;\n\t\t\t\t\treturn memo;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t)\n\t\t);\n\t}\n\n\tconst newData = entitiesDataReducer( state.records, action );\n\n\tif (\n\t\tnewData === state.records &&\n\t\tnewConfig === state.config &&\n\t\tentitiesDataReducer === state.reducer\n\t) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\treducer: entitiesDataReducer,\n\t\trecords: newData,\n\t\tconfig: newConfig,\n\t};\n};\n\n/**\n * @typedef {Object} UndoStateMeta\n *\n * @property {number} offset Where in the undo stack we are.\n * @property {Object} [flattenedUndo] Flattened form of undo stack.\n */\n\n/** @typedef {Array<Object> & UndoStateMeta} UndoState */\n\n/**\n * @type {UndoState}\n *\n * @todo Given how we use this we might want to make a custom class for it.\n */\nconst UNDO_INITIAL_STATE = Object.assign( [], { offset: 0 } );\n\n/** @type {Object} */\nlet lastEditAction;\n\n/**\n * Reducer keeping track of entity edit undo history.\n *\n * @param {UndoState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {UndoState} Updated state.\n */\nexport function undo( state = UNDO_INITIAL_STATE, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'EDIT_ENTITY_RECORD':\n\t\tcase 'CREATE_UNDO_LEVEL':\n\t\t\tlet isCreateUndoLevel = action.type === 'CREATE_UNDO_LEVEL';\n\t\t\tconst isUndoOrRedo =\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t( action.meta.isUndo || action.meta.isRedo );\n\t\t\tif ( isCreateUndoLevel ) {\n\t\t\t\taction = lastEditAction;\n\t\t\t} else if ( ! isUndoOrRedo ) {\n\t\t\t\t// Don't lose the last edit cache if the new one only has transient edits.\n\t\t\t\t// Transient edits don't create new levels so updating the cache would make\n\t\t\t\t// us skip an edit later when creating levels explicitly.\n\t\t\t\tif (\n\t\t\t\t\tObject.keys( action.edits ).some(\n\t\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlastEditAction = action;\n\t\t\t\t} else {\n\t\t\t\t\tlastEditAction = {\n\t\t\t\t\t\t...action,\n\t\t\t\t\t\tedits: {\n\t\t\t\t\t\t\t...( lastEditAction && lastEditAction.edits ),\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @type {UndoState} */\n\t\t\tlet nextState;\n\n\t\t\tif ( isUndoOrRedo ) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.offset =\n\t\t\t\t\tstate.offset + ( action.meta.isUndo ? -1 : 1 );\n\n\t\t\t\tif ( state.flattenedUndo ) {\n\t\t\t\t\t// The first undo in a sequence of undos might happen while we have\n\t\t\t\t\t// flattened undos in state. If this is the case, we want execution\n\t\t\t\t\t// to continue as if we were creating an explicit undo level. This\n\t\t\t\t\t// will result in an extra undo level being appended with the flattened\n\t\t\t\t\t// undo values.\n\t\t\t\t\t// We also have to take into account if the `lastEditAction` had opted out\n\t\t\t\t\t// of being tracked in undo history, like the action that persists the latest\n\t\t\t\t\t// content right before saving. In that case we have to update the `lastEditAction`\n\t\t\t\t\t// to avoid returning early before applying the existing flattened undos.\n\t\t\t\t\tisCreateUndoLevel = true;\n\t\t\t\t\tif ( ! lastEditAction.meta.undo ) {\n\t\t\t\t\t\tlastEditAction.meta.undo = {\n\t\t\t\t\t\t\tedits: {},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\taction = lastEditAction;\n\t\t\t\t} else {\n\t\t\t\t\treturn nextState;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! action.meta.undo ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\t// Transient edits don't create an undo level, but are\n\t\t\t// reachable in the next meaningful edit to which they\n\t\t\t// are merged. They are defined in the entity's config.\n\t\t\tif (\n\t\t\t\t! isCreateUndoLevel &&\n\t\t\t\t! Object.keys( action.edits ).some(\n\t\t\t\t\t( key ) => ! action.transientEdits[ key ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// @ts-ignore we might consider using Object.assign({}, state)\n\t\t\t\tnextState = [ ...state ];\n\t\t\t\tnextState.flattenedUndo = {\n\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t...action.edits,\n\t\t\t\t};\n\t\t\t\tnextState.offset = state.offset;\n\t\t\t\treturn nextState;\n\t\t\t}\n\n\t\t\t// Clear potential redos, because this only supports linear history.\n\t\t\tnextState =\n\t\t\t\t// @ts-ignore this needs additional cleanup, probably involving code-level changes\n\t\t\t\tnextState || state.slice( 0, state.offset || undefined );\n\t\t\tnextState.offset = nextState.offset || 0;\n\t\t\tnextState.pop();\n\t\t\tif ( ! isCreateUndoLevel ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.meta.undo.kind,\n\t\t\t\t\tname: action.meta.undo.name,\n\t\t\t\t\trecordId: action.meta.undo.recordId,\n\t\t\t\t\tedits: {\n\t\t\t\t\t\t...state.flattenedUndo,\n\t\t\t\t\t\t...action.meta.undo.edits,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\t// When an edit is a function it's an optimization to avoid running some expensive operation.\n\t\t\t// We can't rely on the function references being the same so we opt out of comparing them here.\n\t\t\tconst comparisonUndoEdits = Object.values(\n\t\t\t\taction.meta.undo.edits\n\t\t\t).filter( ( edit ) => typeof edit !== 'function' );\n\t\t\tconst comparisonEdits = Object.values( action.edits ).filter(\n\t\t\t\t( edit ) => typeof edit !== 'function'\n\t\t\t);\n\t\t\tif ( ! isShallowEqual( comparisonUndoEdits, comparisonEdits ) ) {\n\t\t\t\tnextState.push( {\n\t\t\t\t\tkind: action.kind,\n\t\t\t\t\tname: action.name,\n\t\t\t\t\trecordId: action.recordId,\n\t\t\t\t\tedits: isCreateUndoLevel\n\t\t\t\t\t\t? { ...state.flattenedUndo, ...action.edits }\n\t\t\t\t\t\t: action.edits,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing embed preview data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function embedPreviews( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_EMBED_PREVIEW':\n\t\t\tconst { url, preview } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ url ]: preview,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * State which tracks whether the user can perform an action on a REST\n * resource.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function userPermissions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PERMISSION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.key ]: action.isAllowed,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning autosaves keyed by their parent's post id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function autosaves( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_AUTOSAVES':\n\t\t\tconst { postId, autosaves: autosavesData } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ postId ]: autosavesData,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function blockPatterns( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERNS':\n\t\t\treturn action.patterns;\n\t}\n\n\treturn state;\n}\n\nexport function blockPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERN_CATEGORIES':\n\t\t\treturn action.categories;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tterms,\n\tusers,\n\tcurrentTheme,\n\tcurrentGlobalStylesId,\n\tcurrentUser,\n\tthemeGlobalStyleVariations,\n\tthemeBaseGlobalStyles,\n\ttaxonomies,\n\tentities,\n\tundo,\n\tembedPreviews,\n\tuserPermissions,\n\tautosaves,\n\tblockPatterns,\n\tblockPatternCategories,\n} );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/queried-data/reducer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/queried-data/reducer.js"],"names":[],"mappings":"AAiCA;;;;;;;;;;GAUG;AACH,0CAPY,MAAM,MAAM,CAAC,sBACd,MAAM,EAAE,QACR,MAAM,WACN,MAAM,GAEL,MAAM,EAAE,CA+BnB;AAED;;;;;;;;GAQG;AACH,oDA0BC;AAED;;;;;;;;;;;GAWG;AACH;;;;;QAFmB,MAAM;YAAQ,MAAM,GAAC,OAAO;;EA0C9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.js"],"names":[],"mappings":"AAmBA,2DAA2D;AAE3D;;;;;;;;;;GAUG;AACH,oDAUC;AAED;;;;;;;GAOG;AACH,oDA0BC;AAED;;;;;;;GAOG;AACH,0DAOC;AAED;;;;;;;GAOG;AACH,yDAOC;AAED;;;;;;;GAOG;AACH,oCALW,MAAM,GAAC,SAAS,gBAGf,MAAM,GAAC,SAAS,CAS3B;AAED;;;;;;;GAOG;AACH,6CALW,MAAM,GAAC,SAAS,gBAGf,MAAM,GAAC,SAAS,CAS3B;AAED;;;;;;;GAOG;AACH,4FAFY,OAAO,MAAM,EAAE,MAAM,CAAC,CAYjC;AAED;;;;;;;GAOG;AACH,iGAFY,OAAO,MAAM,EAAE,MAAM,CAAC,CAYjC;AAyJD;;;;;;;GAOG;AACH,6DAOC;AA0ED;;;;;;;GAOG;AACH,iEAFY,SAAS,CA8HpB;AAED;;;;;;;GAOG;AACH,4DAUC;AAED;;;;;;;;GAQG;AACH,8DAUC;AAED;;;;;;;GAOG;AACH,wDAYC;AAED,0EAOC;AAED,mFAOC;AArRM,uDA2CN;;;;;;;;;;;;;;;;;;;0BApYa,OAAO,SAAS,EAAE,WAAW;;;;;YAyY7B,MAAM;;;;;;wBAIN,UAAa,GAAG,aAAa"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/core-data",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "Access to and manipulation of core WordPress entities.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -31,15 +31,16 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.16.0",
|
|
34
|
-
"@wordpress/api-fetch": "^6.
|
|
35
|
-
"@wordpress/blocks": "^11.
|
|
36
|
-
"@wordpress/
|
|
37
|
-
"@wordpress/
|
|
38
|
-
"@wordpress/
|
|
39
|
-
"@wordpress/
|
|
40
|
-
"@wordpress/
|
|
41
|
-
"@wordpress/
|
|
42
|
-
"@wordpress/
|
|
34
|
+
"@wordpress/api-fetch": "^6.15.0",
|
|
35
|
+
"@wordpress/blocks": "^11.17.0",
|
|
36
|
+
"@wordpress/compose": "^5.16.0",
|
|
37
|
+
"@wordpress/data": "^7.2.0",
|
|
38
|
+
"@wordpress/deprecated": "^3.18.0",
|
|
39
|
+
"@wordpress/element": "^4.16.0",
|
|
40
|
+
"@wordpress/html-entities": "^3.18.0",
|
|
41
|
+
"@wordpress/i18n": "^4.18.0",
|
|
42
|
+
"@wordpress/is-shallow-equal": "^4.18.0",
|
|
43
|
+
"@wordpress/url": "^3.19.0",
|
|
43
44
|
"change-case": "^4.1.2",
|
|
44
45
|
"equivalent-key-map": "^0.2.2",
|
|
45
46
|
"lodash": "^4.17.21",
|
|
@@ -53,5 +54,5 @@
|
|
|
53
54
|
"publishConfig": {
|
|
54
55
|
"access": "public"
|
|
55
56
|
},
|
|
56
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "23e136283fa1d3b8d9d8b33869f871ad5eb77726"
|
|
57
58
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map,
|
|
4
|
+
import { map, omit, filter, mapValues } from 'lodash';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { combineReducers } from '@wordpress/data';
|
|
10
|
+
import { compose } from '@wordpress/compose';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Internal dependencies
|
|
@@ -172,7 +173,7 @@ export function itemIsComplete( state = {}, action ) {
|
|
|
172
173
|
*
|
|
173
174
|
* @return {Object} Next state.
|
|
174
175
|
*/
|
|
175
|
-
const receiveQueries =
|
|
176
|
+
const receiveQueries = compose( [
|
|
176
177
|
// Limit to matching action type so we don't attempt to replace action on
|
|
177
178
|
// an unhandled action.
|
|
178
179
|
ifMatchingAction( ( action ) => 'query' in action ),
|
package/src/reducer.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map, groupBy,
|
|
4
|
+
import { map, groupBy, isEqual, get } from 'lodash';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
+
import { compose } from '@wordpress/compose';
|
|
9
10
|
import { combineReducers } from '@wordpress/data';
|
|
10
11
|
import isShallowEqual from '@wordpress/is-shallow-equal';
|
|
11
12
|
|
|
@@ -197,7 +198,7 @@ export function themeGlobalStyleVariations( state = {}, action ) {
|
|
|
197
198
|
* @return {AnyFunction} Reducer.
|
|
198
199
|
*/
|
|
199
200
|
function entity( entityConfig ) {
|
|
200
|
-
return
|
|
201
|
+
return compose( [
|
|
201
202
|
// Limit to matching action type so we don't attempt to replace action on
|
|
202
203
|
// an unhandled action.
|
|
203
204
|
ifMatchingAction(
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../api-fetch/build-types/types.d.ts","../api-fetch/build-types/middlewares/nonce.d.ts","../api-fetch/build-types/middlewares/preloading.d.ts","../api-fetch/build-types/middlewares/root-url.d.ts","../api-fetch/build-types/middlewares/fetch-all-middleware.d.ts","../api-fetch/build-types/middlewares/media-upload.d.ts","../api-fetch/build-types/index.d.ts","../url/build-types/is-url.d.ts","../url/build-types/is-email.d.ts","../url/build-types/get-protocol.d.ts","../url/build-types/is-valid-protocol.d.ts","../url/build-types/get-authority.d.ts","../url/build-types/is-valid-authority.d.ts","../url/build-types/get-path.d.ts","../url/build-types/is-valid-path.d.ts","../url/build-types/get-query-string.d.ts","../url/build-types/build-query-string.d.ts","../url/build-types/is-valid-query-string.d.ts","../url/build-types/get-path-and-query-string.d.ts","../url/build-types/get-fragment.d.ts","../url/build-types/is-valid-fragment.d.ts","../url/build-types/add-query-args.d.ts","../url/build-types/get-query-arg.d.ts","../url/build-types/get-query-args.d.ts","../url/build-types/has-query-arg.d.ts","../url/build-types/remove-query-args.d.ts","../url/build-types/prepend-http.d.ts","../url/build-types/safe-decode-uri.d.ts","../url/build-types/safe-decode-uri-component.d.ts","../url/build-types/filter-url-for-display.d.ts","../url/build-types/clean-for-slug.d.ts","../url/build-types/get-filename.d.ts","../url/build-types/normalize-path.d.ts","../url/build-types/index.d.ts","../../node_modules/utility-types/dist/aliases-and-guards.d.ts","../../node_modules/utility-types/dist/mapped-types.d.ts","../../node_modules/utility-types/dist/utility-types.d.ts","../../node_modules/utility-types/dist/functional-helpers.d.ts","../../node_modules/utility-types/dist/index.d.ts","../deprecated/build-types/index.d.ts","./src/queried-data/actions.js","../../node_modules/rememo/rememo.d.ts","./src/utils/conservative-map-item.js","./src/utils/get-normalized-comma-separable.js","./src/types.ts","./src/utils/if-matching-action.js","./src/utils/forward-resolver.js","./src/utils/on-sub-key.js","./src/utils/replace-action.js","./src/utils/with-weak-map-cache.js","./src/utils/is-raw-attribute.js","./src/utils/index.js","./src/queried-data/get-query-parts.js","./src/queried-data/selectors.js","../data/build-types/components/with-select/index.d.ts","../data/build-types/components/with-dispatch/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../data/build-types/components/with-registry/index.d.ts","../../node_modules/redux/index.d.ts","../data/build-types/types.d.ts","../data/build-types/components/use-dispatch/use-dispatch.d.ts","../data/build-types/components/use-dispatch/use-dispatch-with-map.d.ts","../data/build-types/components/use-dispatch/index.d.ts","../data/build-types/components/async-mode-provider/use-async-mode.d.ts","../data/build-types/components/async-mode-provider/context.d.ts","../data/build-types/components/async-mode-provider/index.d.ts","../data/build-types/registry.d.ts","../data/build-types/controls.d.ts","../data/build-types/redux-store/index.d.ts","../data/build-types/plugins/persistence/index.d.ts","../data/build-types/plugins/index.d.ts","../data/build-types/components/registry-provider/use-registry.d.ts","../data/build-types/components/registry-provider/context.d.ts","../data/build-types/components/registry-provider/index.d.ts","../data/build-types/components/use-select/index.d.ts","../data/build-types/factory.d.ts","../data/build-types/index.d.ts","../../node_modules/no-case/dist/index.d.ts","../../node_modules/pascal-case/dist/index.d.ts","../../node_modules/camel-case/dist/index.d.ts","../../node_modules/capital-case/dist/index.d.ts","../../node_modules/constant-case/dist/index.d.ts","../../node_modules/dot-case/dist/index.d.ts","../../node_modules/header-case/dist/index.d.ts","../../node_modules/param-case/dist/index.d.ts","../../node_modules/path-case/dist/index.d.ts","../../node_modules/sentence-case/dist/index.d.ts","../../node_modules/snake-case/dist/index.d.ts","../../node_modules/change-case/dist/index.d.ts","../i18n/build-types/sprintf.d.ts","../hooks/build-types/createaddhook.d.ts","../hooks/build-types/createremovehook.d.ts","../hooks/build-types/createhashook.d.ts","../hooks/build-types/createdoinghook.d.ts","../hooks/build-types/createdidhook.d.ts","../hooks/build-types/index.d.ts","../hooks/build-types/createhooks.d.ts","../i18n/build-types/create-i18n.d.ts","../i18n/build-types/default-i18n.d.ts","../i18n/build-types/index.d.ts","./src/entities.js","./src/queried-data/reducer.js","./src/queried-data/index.js","./src/batch/default-processor.js","./src/batch/create-batch.js","./src/batch/index.js","./src/name.js","./src/actions.js","../element/build-types/react.d.ts","../element/build-types/create-interpolate-element.d.ts","../../node_modules/@types/react-dom/index.d.ts","../element/build-types/react-platform.d.ts","../element/build-types/utils.d.ts","../element/build-types/platform.d.ts","../element/build-types/serialize.d.ts","../element/build-types/raw-html.d.ts","../element/build-types/index.d.ts","./src/entity-provider.js","../is-shallow-equal/build-types/objects.d.ts","../is-shallow-equal/build-types/arrays.d.ts","../is-shallow-equal/build-types/index.d.ts","./src/reducer.js","./src/entity-types/helpers.ts","./src/entity-types/base-entity-records.ts","./src/entity-types/attachment.ts","./src/entity-types/comment.ts","./src/entity-types/menu-location.ts","./src/entity-types/nav-menu.ts","./src/entity-types/nav-menu-item.ts","./src/entity-types/page.ts","./src/entity-types/plugin.ts","./src/entity-types/post.ts","./src/entity-types/settings.ts","./src/entity-types/sidebar.ts","./src/entity-types/taxonomy.ts","./src/entity-types/theme.ts","./src/entity-types/user.ts","./src/entity-types/type.ts","./src/entity-types/widget.ts","./src/entity-types/widget-type.ts","./src/entity-types/wp-template.ts","./src/entity-types/wp-template-part.ts","./src/entity-types/index.ts","./src/selectors.ts","./src/resolvers.js","./src/locks/utils.js","./src/locks/reducer.js","./src/locks/selectors.js","./src/locks/engine.js","./src/locks/actions.js","../html-entities/build-types/index.d.ts","./src/fetch/__experimental-fetch-link-suggestions.js","./src/fetch/__experimental-fetch-url-data.js","./src/fetch/index.js","../../node_modules/memize/index.d.ts","./src/hooks/memoize.js","./src/hooks/constants.ts","./src/hooks/use-query-select.ts","./src/hooks/use-entity-record.ts","./src/hooks/use-entity-records.ts","./src/hooks/use-resource-permissions.ts","./src/hooks/index.ts","./src/index.js"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","6aae23700d45e8ac7ca7e269047aed3eecc64ce87c8fa5e52f2d98e280bd04ef","6b3d3ecbf6958624910af080a873cd84b5b99d513eb52147f18fe04a51cb19ce","ea9b95f45cd90b16200134d1f79e36380d57b866300b479b3e5b62a6dbeb92bb","14bc80bd2cb4c72aaaf27cfcdb62377cf3e3366f9e9045fa8ca232629457aca9","ff164c4671955c882140da80d0a6a69552ba5c2ddce3969f74c5c9d63683744b","dca26c859f7b4b8cf118dc9b5e99d295a3031bbd980e488819ed830ba769b890","1152220b82b14ecd456908cf61b6089b49596278eace0d10030384f8e31ba5ee","91265e9c2705df9edc7d912afe177cb9dbe4bd4fe254cc43466885544c065013","81e7db9916d6ce0323656530cb9aba444450454e5a8f3d0108f04931abb36258","7858aa21ac91fef2c9cdf96b3ae00e025efed2920ffca40a75df452d4f5a9576","eb80dedcd92c17d93f403e736e1c3e2aef39379841070221a353a7c13b57369f","029f3a1e2534e85a7cd00f3e79781003e0bcf5147d96db93594ace839803c6cf","2eea9984a7ea08e576d2970ba65a65ebba02699bccdbd0d3a08bb141e15972a1","308246446616acc5397747f35fa8788de7e6ba6cd5dc0ec2752bd75eafefcdb9","9677ef56e52539a73f1d9b89c692cf866d05017b05d9d2fe8cd35a30b42c2d47","6048b5c50d6486b1084b036a7f7d6c76c032d90cc2186f79b344a12ceb488511","26885abe66e07fd38da599d5fc9b4fa8b2df803c56e9bba99a2505e0b982c042","507dc7647a71c90e8cce85259c624b355c22e0dee1833aa4ba20c15a4f5bd21a","c30aaf3d189be8c29b2d3a7761e94b5b532fec6ba0caa74d07a4c1056469acf0","454217fe7beba4cb5497d4bc7fd3116437ce85e5217eb66f3b367fbcbfd45861","65e1ffb7b2343a1814c5cb85164f7d26bce1477b2cf04e6736f37732bc4801d6","3f810d7cac3e3729241d52d667538dc4ca27687f5d40d91f4cb5bce955df5f94","a2bedf5636ce572e507823229c9b7d4e87d97830497822d76e95a971fee78c92","17ab13eba7cde42ca7c95110c7eda405ba6aba7471437d912078d67dfada98eb","f7e734ca25cb0e8c52247b9a7d98f81ffd6ac52485bf9d8938fdbd4d828f469c","5261283f0b521fc1f255a060dcd86986985bd516822b69bb5504392462962899","44e20ca481bcc2abec1f4fcf54139caa4389f1bc16e3ee9d19a10e522903e9ab","a31eda6fcbf86596f69f7c18e6d13af58191fdc9c9620bcc67595fd9e49043ab","c93085fa9e5e568c0a45f64caa05e713fd5438e93d32f5970753e44910bdd540","1e442333978b5864818023d54d4f2e2aa0cbdfb2b486a0d43c900a7a87d61d1d","f215ce6766668f37f5e4652d0facdf55816f24aa5fc6f68c5e33754dbe5219fb","e900ec60297a15c4de70ddaade026ea4fe635e27c286fedd82dd5e963daa1930","e4e975c7339a9579209f12246e95f95216aa3558b8e7719fea2fbadaf28c574b","178efee8d4335cb61ec45c10e6de6d7afe48028963c5633f5937f25eaffa2387","bd0d80db12ef1aceefc4f9d3eb88517b9634fa747ae8475981da8655292feab8","55e68fb1618e3f55f7866b8c8415152159309a14b716370081ab0b7af96d876e","bf0491af2455f92282b61807be2be6e7ad7d532e47fac7b698019d3617c28ff7","5d874fb879ab8601c02549817dceb2d0a30729cb7e161625dd6f819bbff1ec0b","ee551a880882770c4f56a0964a9767c9feafe497a5be52652527d098c88d85cb","b192606574769a5566620f9bf19358a3994bc2726ecdeaad9c66f3333b2687c8","acc22baecb7e578a5639f47b09e19de1d81ec91cf762d6f91d68297b10c63177","d83d6ec306241a9a59716eadf007d405cbc9d77b688871089a02159087100d5c","bcfac9632a790e732341b5009a60e86d72da1d2cc383c1796a66d233c5942c6f","0292552bfdda78ed1910905ea046a336186ce82d9fab516ea21616f47147ccdc","78673ec3910aff07d76d2a24b460523c69d50afadfcd836cd9a022ad1a3ebfc2","ff41da7aeac53e419a3a7eb792ea03c77cf05e44d379dfa2190920bfe6dde09b","849507adfc66cfedda67c3384a1ec078c542263589413c5b31c195aee25dc1f2","c30b952d25562463882bbbaac6242e2cb47cd342c27388f46e4b7b0c98a4b659","c32e26a53123519e9bcf0aa960cc0a5dfb3ecebcc27fe0ccc649702b45da1e2a","59688ffdb24f7f057e35f54280e90bda1e57efee745479a1bb98321b263870e8","95d027d78b9577e00f9d4e0eba816fd21f1b2927c801f89a1db8369b837471c3","9f1a1489db159ad8956dfa60d68a51f7a740f644385220af1ccfde5d5fba79c6","91faeb8163ec860e5b5c02eda51cd16e64de95baaadfec34e0fbd9d39176ed8a","b94c955213263a318d4ab2f33479464e1ee5551b9b29859b9084f4b741dc7ed6","a355bc3ad1c78a74de3dd67cc484ea4667a3f28f7d5384bcc10d0f1a2a506901","cb1063fcd20e601b70c6ce424597018ef658b4aa5ff4bf6514a351a9222238da",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"1bc82f5b3bb93df76d19730c84467b0b346187198537135d63a672956f323720","affectsGlobalScope":true},"a958d081d81c1194d1878b28f081d0144d95f4e36c6b375e357cb982e8b40705",{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},"125f94cba85ffdcd5c682bfda4739c07d994e50715b7cd8a0217c1cf50695cfe","6fca127aadf9a3a6ec914442d3995cdca17a9d1b337138da166d65663921dcac","d23aeb9ad9955d3b6df7a972355dd465aaa0f7b8c223834f9499585b75f2ab04","cf000108177216c2ffd9962c785dfe0eb36306b14817894115be2d8f470552d6","61937532d01a86bc9f9847e016305cec9b5a716db5a630a0c37049a477d18f60","c792ecb733fc79337b7b497d3298dc31217f0f2b944ade255037dea871915353","61e8a34952f23c48deff3e85e982b1b3a600d15fb4d3b7c07a9096505ad2c35c","4fe57f4d9ea10f6069813ca18818838ce21258f42e79f898b4fb7860ce0c58ca","1e525db7ea2d7369211b74756f1034e4219134c3c99c0e147998caf43b10e017","4d3af9c3e4d7e0b2eeed3f0eb0190aaaaa6655a63275fbc2f5d6a7cde8aa70ec","d2c8976d6e6874ce159fc31c8511fffde72dcdf230394750ea4ef3c02a32e52e","fb6fa5434ecf7670f3dba36bced663afe875282d1231fb3ae95eeedae85ce4cf","e4cb6f9e4d40f538e26c72cc81ebd8ebae3317f940f39696e30d1381f36e5a0a","30289252a73fce7ff4b88369c829ed1f8533ccc028c55b264fc96fb576ffdd6a","3f473bb1c974b627227610013561332ea2f8e6eed0e86e87eaef96b6146d28c8","c841bf19529e2909275a743e54d43dadc52671909fa27db84f965c4fa5ec3b6f","c8bd10b6cdcb527ce859b9c5b4b6168f270cec11cb051cc77eb4dead206b5e0f","19179e07983759a8dd6adeb0c6e5c6a9525564aa986123d426171bd586791d21","b4e123af1af6049685c93073a15868b50aebdad666d422edc72fa2b585fa8a37","f86c04a744ebcede96bac376f9a2c90f2bd3c422740d91dda4ca6233199d4977","6ae1bddee5c790439bd992abd063b9b46e0cadd676c2a8562268d1869213ff60","606244fc97a6a74b877f2e924ba7e55b233bc6acb57d7bf40ba84a5be2d9adb0","4a1cabac71036b8a14f5db1b753b579f0c901c7d7b9227e6872dadf6efb104e8","062959a1d825b96639d87be35fe497cbd3f89544bf06fdad577bbfb85fcf604c","4c3672dc8f4e4fdd3d18525b22b31f1b5481f5a415db96550d3ac5163a6c3dd3","f9a69ca445010b91fe08f08c06e0f86d79c0d776905f9bdb828477cb2a1eb7fc","ad7fd0e7ee457d4884b3aaecbcbd2a80b6803407c4ce2540c296170d4c7918ef","a50ef21605f41c6acad6c3ef0307e5311b94963c846ca093c764b80cdb5318d6","74b4035dd26d09a417c44ca23ab5ee69b173f8c2f6b2e47350ab0795cf2d4a17","918f86ee2b19cc38cb8b1a4cf8f223eb228aaa39df3604c42f700fac2f0b3ea1","762bc52248d3fab9873c7af564caf622358312cb35de42a4393b71cc36e14621","d02ec79cefaf292fae64b3be5a4416e64b4e420a6429fd458fac6e1bb4c7950e","27abed653f600ea0d5c86e94181beb42824e0f3f16337e2f9e7e9e9c2c392edf","d7871e0e653aa7197fee88886db5678bee6d42164c1f36e4bce9421ddfa7ca49","11ed10bdb3bcc99893570507eac8fece4840add97ee1d4f5a7fbf41cbfdea0d4","429fb571d3db07d3eaa2e74d43eb4190ece3e0de832ed564aeeaf08873e598eb","406d52bf33d618d846aa0d831ee004290567e328edcd4517bbff2937cc977abf","d3060e0810fc0d0dc009e6f086ef413d3c8aeaaf07da25c8d25fd4e181646acf","c0306658efb85764bb6d8d55097007c68a70539b24d0e18fb6edd6eb1778f632","08f7e6ffa66c66a636aecc5acbeb998215d9d09ccba0c558afb7df7e218edeaf","f829eb39aea4487f0ff94a42c56a1a73bc5202bbdeb03f7a638e4ab3e290d017","549d265a212fb5157c8919a4115e83529d0efadb9ab3bd674bc75e5df0fdf403","822d9ef74bb29e9b0362f9008b3bd1eec6d755ae3370839234282547aab95016","87f792436b033580a1dcc908d15851e4a5d3d7aa68b1d1c6a142706ef8b154a3","647dd8fd86e81524dc5915ec4997b8fc66d4a86ac2e37cde40e903ba1b349cb9","56a3aef852aa146f9fe362a1d09e13dae20f3794d33f66b371829348a8ee0e62","07c14b3359e3ed5607c690b9f421f84dd93887e06416d52f60889b4082030464","063f439998b87e20f46fa82cb793c5aae5c2d714a26bb8221e07f5d4c82c989d","573c9d08965a7fff6d8c08b20e525b10fdc5ba44c2feeda5b16edd6e4fd64dd0","e59d00012fb20e6746def2f4bc94650526aa6c574c49ad6a50a992f61a3ee675","e47b8ec56eb49bc1c53c9012daa9874de14ad0c5da442485aec333571c74b526","45a63e17814c570ea59407f231ef9c561510bd6edb36f17479b09b44619496c6","5d7018910750d9cb4a912577ad2951fc3fad83c30d637689b69ffc6bbb0c9f5a","d2d9e98a2b167079474768593e1e7125fc3db055add8fbdb5977e3d05a8a3696","6462da67490105ba7d98cf312c2faf8794c425781128b161ea8394d66502eec8","62359da52b6c8d00c50c2e50738fac82e902f916fdf458d8159e7edb1c60c3a8","1e0ac21bc775686383ea8c8e48bd98b385e6195b25c85525a7affd08a2cd38b9","0449615e1ed03c7d54fc435a63b7ef0cb4e5cea5ac40c9a63280a46f7eeae0ff","cbe4710c187acaa5f02b08715c1563fdad82764462654043eb68232ecb626b8d","5190f1a110a789c2f8ed8dcf2da6ce122dcb74249d0c01d19d1ed0b1c6bb02a1","3650bbe137c9c44bc6b8f44a56353b00eba9654e41a9355e6228f7f0f464c648","9c4f32d2fa2b6efeed4f9fbd98254121b17982110b48edcede96e2dc2af0894d","17dde5686b18dc71dbfd971a083498509a4bd1434f1f3b0566b1eb679441f167","a3dcfa473fb451f89860a5dc83f1994fccd151af55a87683cb6dffc0abba782b","40b369b61fd0bede44a39611baae531e6d46a718b705b9b45c5add4711f19744","225a94e9b80d9ed325a5996ddf6e8e8ec1e35d0cc78ce63b4f7bc3109c41fcfd","220b6ba3c2274aada1b2a9ad69f6966c8d36de546e708fe2b42425a265a48e2a","29733740a84bde4ceebd6415c3a47d36c9a956fdddeacec49a664665a54018b0","6e603a0983306db957764528f138c4897f0391799f876c4c1b46226c0dd8cef2","36d8781b9aa56efc6c8e0c6366ecdebf7327a2ac5b1e1490de1ad5a911457bb1","e8184f498bb78351e6d6f9fe654279d9882d58dd822a9a1178a96e7570262502","ff0a6ed7e754b2cfb1a907578f1c335b4c5ace714a5adb956f94d6192b17f078","bd3086a825d96259e7a1c79ad1bb13749d41cb79ba4336ba813cc65cbd51fd74","46adb1b5ccc5123a4592a20c1c56c8c7ef34d9b2ea43b16a271587ac2076728f","a32f1f8649b0e898d4a54e1860effc7f48dd285bc99f83dc35ccf85203736b3b","beacf8337f15a959b6e4d95d7b55432af842b0484da0f0d342a0dd75beab8fe3","8800447dd5175024126c56daa37ee888e507a5b4cb010790ccc86530a46424fb","cd04b594271be8b8eca1453116f1591ba60ce64d80183b07765a4b5e811966ea","c2c2c6c7ab6fd08050cc906a2230657bd7ae25365a38db7a4c2f84980133d0cf","8199ff7448213d4633834954dad4e5a5e7ed2e14fcfd3f5a1b53d156a1cd9972","327bc1d7e826f1be1b18c51b3444a2dfc66d3f810b43ff5f32b26587db3ea1d2","8818dcc765cb9236f6a01aaa837a3612271777a26ffbd29282a3c282f8704649","d461fc73e0721ae92652f11a61cd1014a0698fb7ddb81beac1aa7d09aa139abb","83ff1f6f71ab0ea7a2a725a864d70672acadada85bba149552c8d815684d90ea","3b5f3c05c1a13e8eaa38abc36a6452a68140cce157a0d7ee88e0695770696300","b0d35fd661c6d3a53bc9568b079ebc3363561d6e42b773ab40f2217310b3d1a1","b5f5bbc6d622c252fc13b512ed42cafd65019768e3f0430637e517d9be69547f","71fce7a0dc64feb145e0f58842f43984a2e9ecd79861d8ad7315c0d272575275","066db40ccd6c90d1e57e9f163458713463d4e2771c156acf9ffb7f258646946e","2366b3f634513f748f1cc92ba9a5b015b39cf0195e25c942e3d844721f0e233d","667a5fe656b9e0bf163b829ad74d679c56e82c83456a7c5387ffca0d1f901e5e","d93931264950da279434192bb043f8e379b4a0959bcd294ca89c8b89e1a6772b","3a1cab834f4a3ceedd0dfe8c00b9ca84431454cad8730eef0d0a18d1c0f7a7aa","8d8b84756b85d1dd9d3a60d54f4410b892f931d46560f60ddc44a4decb8f9ee4","902abf1b6aeb2908452ad206db72b0d39029e000a28dff529751585a4e7e5f07","68e39d827a3bd5054e54a433fc90c118941096eb3e9f432b28ea5f88b0fe77b1","691a13dbde331d5bcce65e1463f924b78ad046c0c05ec57bca010e6435de8905","0f112494322a7ecb5dda1823f0f84255451a51d2ad862a0ae1014d361f0257de","bca410625e15b9622626f7ae8aa445153232e0d45e46f0e8dbcd632d735c8e47","e1802d98bc1c1b96b44ea5bb57126dc9757c9b99d87ee997af0ffe1d33afbdb0","4e6521886023150c01f961b93a382645704a6e42739c8277f3abd1a61806243c","e6295247cd02955c7385b55efa603d19c4d9330b1343937a9b1c023e346f1ab5","a1473225afc48a471cde6656263736febf2dc83543ad10ef66936f7ed71b2fe3","fadb19eb44c06b59275ad6f620324ea297cbaa20f744ca09d9d83ae122bee14c"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":false,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[45,47,48,49,50,51,52,53,54,55,56,57],[45,46,48,49,50,51,52,53,54,55,56,57],[46,47,48,49,50,51,52,53,54,55,56,57],[45,46,47,49,50,51,52,53,54,55,56,57],[45,46,47,48,50,51,52,53,54,55,56,57],[45,46,47,48,49,51,52,53,54,55,56,57],[45,46,47,48,49,50,52,53,54,55,56,57],[45,46,47,48,49,50,51,53,54,55,56,57],[45,46,47,48,49,50,51,52,54,55,56,57],[45,46,47,48,49,50,51,52,53,55,56,57],[45,46,47,48,49,50,51,52,53,54,56,57],[45,46,47,48,49,50,51,52,53,54,55,57],[45,46,47,48,49,50,51,52,53,54,55,56],[119],[115,116,117,118],[141],[140],[140,141,142,143,144,145,146,147,148,149,150],[143],[145],[93,94,95,96],[93],[94],[59,60,61,62,63,64],[59],[57,58,65,92,98,163,165,168,169],[166],[65],[166,167],[57,65,151,162,170],[139,163,169,179],[185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],[205],[65,92,162,213],[65,92],[214,215],[221,222,223],[217],[98,139,179,219,220,225],[92,98,220,221,225],[139,218,219],[98,219,220,225],[139,163,169,170,180,184,205,206,207,212,216,224],[211],[209,210],[208],[57],[92,110],[99,112,164],[57,110,111,139,163],[57,100,111],[57,103,110,139,163,165,183],[65,92,110,151,163,169],[57,92,98,100,110,139,163,165,169,205],[103],[101,102,104,105,106,107,108,109],[126,127],[119,129],[134,135],[123,124],[122],[113,114,120,122,125,128,129,130,131,133,136,137,138],[132],[129],[121],[97],[171],[171,172,174,175,176,177,178],[173],[119,171],[158],[153,154,155,156,157,158],[153,154,155,156,157,159],[158,159],[160],[152,160,161],[181,182],[183],[81],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91]],"referencedMap":[[46,1],[47,2],[45,3],[48,4],[49,5],[50,6],[51,7],[52,8],[53,9],[54,10],[55,11],[56,12],[57,13],[173,14],[119,15],[142,16],[143,17],[151,18],[144,17],[145,17],[146,19],[147,20],[141,17],[148,20],[149,17],[150,20],[97,21],[94,22],[95,23],[65,24],[63,25],[64,25],[60,25],[61,25],[62,25],[170,26],[167,27],[166,28],[168,29],[163,30],[180,31],[187,32],[188,32],[185,33],[205,32],[189,32],[191,32],[190,32],[192,32],[193,32],[194,32],[195,32],[196,32],[197,32],[198,32],[200,32],[199,32],[202,32],[201,32],[204,32],[203,32],[214,34],[215,35],[216,36],[224,37],[218,38],[221,39],[222,40],[220,41],[223,42],[225,43],[212,44],[211,45],[209,46],[210,46],[99,47],[111,48],[165,49],[164,50],[112,51],[184,52],[207,53],[206,54],[101,47],[104,55],[110,56],[106,55],[107,55],[127,14],[128,57],[135,58],[136,59],[125,60],[123,61],[137,61],[120,14],[130,61],[139,62],[133,63],[132,64],[131,61],[129,61],[122,65],[98,66],[172,67],[179,68],[178,14],[174,69],[171,14],[177,70],[153,71],[157,71],[156,71],[155,71],[159,72],[154,71],[158,73],[160,74],[161,75],[162,76],[183,77],[181,78],[82,79],[92,80]],"exportedModulesMap":[[46,1],[47,2],[45,3],[48,4],[49,5],[50,6],[51,7],[52,8],[53,9],[54,10],[55,11],[56,12],[57,13],[173,14],[119,15],[142,16],[143,17],[151,18],[144,17],[145,17],[146,19],[147,20],[141,17],[148,20],[149,17],[150,20],[97,21],[94,22],[95,23],[65,24],[63,25],[64,25],[60,25],[61,25],[62,25],[170,26],[167,27],[166,28],[168,29],[163,30],[180,31],[187,32],[188,32],[185,33],[205,32],[189,32],[191,32],[190,32],[192,32],[193,32],[194,32],[195,32],[196,32],[197,32],[198,32],[200,32],[199,32],[202,32],[201,32],[204,32],[203,32],[214,34],[215,35],[216,36],[224,37],[218,38],[221,39],[222,40],[220,41],[223,42],[225,43],[212,44],[211,45],[209,46],[210,46],[99,47],[111,48],[165,49],[164,50],[112,51],[184,52],[207,53],[206,54],[101,47],[104,55],[110,56],[106,55],[107,55],[127,14],[128,57],[135,58],[136,59],[125,60],[123,61],[137,61],[120,14],[130,61],[139,62],[133,63],[132,64],[131,61],[129,61],[122,65],[98,66],[172,67],[179,68],[178,14],[174,69],[171,14],[177,70],[153,71],[157,71],[156,71],[155,71],[159,72],[154,71],[158,73],[160,74],[161,75],[162,76],[183,77],[181,78],[82,79],[92,80]],"semanticDiagnosticsPerFile":[46,47,45,48,49,50,51,52,53,54,55,56,57,117,173,115,119,116,118,58,142,143,151,144,145,146,217,140,147,141,148,121,100,149,150,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,93,96,97,94,95,65,63,64,60,61,62,59,170,167,166,168,163,180,187,186,188,185,205,189,191,190,192,193,194,195,196,197,198,200,199,202,201,204,203,214,215,216,219,224,218,221,222,220,223,225,212,211,209,210,208,169,99,111,165,164,112,184,207,206,103,101,105,102,104,110,109,106,107,108,127,128,126,135,136,134,125,124,123,137,114,120,113,130,138,139,133,132,131,129,122,98,172,179,176,178,174,171,177,175,153,157,156,155,159,154,158,213,160,161,162,152,182,183,181,80,75,89,88,70,90,78,77,72,68,81,82,74,83,92,67,66,71,79,73,69,76,91,85,84,87,86]},"version":"4.4.2"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../api-fetch/build-types/types.d.ts","../api-fetch/build-types/middlewares/nonce.d.ts","../api-fetch/build-types/middlewares/preloading.d.ts","../api-fetch/build-types/middlewares/root-url.d.ts","../api-fetch/build-types/middlewares/fetch-all-middleware.d.ts","../api-fetch/build-types/middlewares/media-upload.d.ts","../api-fetch/build-types/index.d.ts","../url/build-types/is-url.d.ts","../url/build-types/is-email.d.ts","../url/build-types/get-protocol.d.ts","../url/build-types/is-valid-protocol.d.ts","../url/build-types/get-authority.d.ts","../url/build-types/is-valid-authority.d.ts","../url/build-types/get-path.d.ts","../url/build-types/is-valid-path.d.ts","../url/build-types/get-query-string.d.ts","../url/build-types/build-query-string.d.ts","../url/build-types/is-valid-query-string.d.ts","../url/build-types/get-path-and-query-string.d.ts","../url/build-types/get-fragment.d.ts","../url/build-types/is-valid-fragment.d.ts","../url/build-types/add-query-args.d.ts","../url/build-types/get-query-arg.d.ts","../url/build-types/get-query-args.d.ts","../url/build-types/has-query-arg.d.ts","../url/build-types/remove-query-args.d.ts","../url/build-types/prepend-http.d.ts","../url/build-types/safe-decode-uri.d.ts","../url/build-types/safe-decode-uri-component.d.ts","../url/build-types/filter-url-for-display.d.ts","../url/build-types/clean-for-slug.d.ts","../url/build-types/get-filename.d.ts","../url/build-types/normalize-path.d.ts","../url/build-types/index.d.ts","../../node_modules/utility-types/dist/aliases-and-guards.d.ts","../../node_modules/utility-types/dist/mapped-types.d.ts","../../node_modules/utility-types/dist/utility-types.d.ts","../../node_modules/utility-types/dist/functional-helpers.d.ts","../../node_modules/utility-types/dist/index.d.ts","../deprecated/build-types/index.d.ts","./src/queried-data/actions.js","../../node_modules/rememo/rememo.d.ts","./src/utils/conservative-map-item.js","./src/utils/get-normalized-comma-separable.js","./src/types.ts","./src/utils/if-matching-action.js","./src/utils/forward-resolver.js","./src/utils/on-sub-key.js","./src/utils/replace-action.js","./src/utils/with-weak-map-cache.js","./src/utils/is-raw-attribute.js","./src/utils/index.js","./src/queried-data/get-query-parts.js","./src/queried-data/selectors.js","../data/build-types/components/with-select/index.d.ts","../data/build-types/components/with-dispatch/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../data/build-types/components/with-registry/index.d.ts","../../node_modules/redux/index.d.ts","../data/build-types/types.d.ts","../data/build-types/components/use-dispatch/use-dispatch.d.ts","../data/build-types/components/use-dispatch/use-dispatch-with-map.d.ts","../data/build-types/components/use-dispatch/index.d.ts","../data/build-types/components/async-mode-provider/use-async-mode.d.ts","../data/build-types/components/async-mode-provider/context.d.ts","../data/build-types/components/async-mode-provider/index.d.ts","../data/build-types/registry.d.ts","../data/build-types/controls.d.ts","../data/build-types/redux-store/index.d.ts","../data/build-types/plugins/persistence/index.d.ts","../data/build-types/plugins/index.d.ts","../data/build-types/components/registry-provider/use-registry.d.ts","../data/build-types/components/registry-provider/context.d.ts","../data/build-types/components/registry-provider/index.d.ts","../data/build-types/components/use-select/index.d.ts","../data/build-types/factory.d.ts","../data/build-types/index.d.ts","../compose/build-types/utils/create-higher-order-component/index.d.ts","../compose/build-types/utils/debounce/index.d.ts","../compose/build-types/higher-order/compose.d.ts","../compose/build-types/higher-order/pipe.d.ts","../compose/build-types/higher-order/if-condition/index.d.ts","../compose/build-types/higher-order/pure/index.d.ts","../compose/build-types/higher-order/with-global-events/index.d.ts","../compose/build-types/higher-order/with-instance-id/index.d.ts","../compose/build-types/higher-order/with-safe-timeout/index.d.ts","../compose/build-types/higher-order/with-state/index.d.ts","../compose/build-types/hooks/use-constrained-tabbing/index.d.ts","../compose/build-types/hooks/use-copy-on-click/index.d.ts","../compose/build-types/hooks/use-copy-to-clipboard/index.d.ts","../compose/build-types/hooks/use-focus-on-mount/index.d.ts","../compose/build-types/hooks/use-focus-outside/index.d.ts","../compose/build-types/hooks/use-dialog/index.d.ts","../compose/build-types/hooks/use-disabled/index.d.ts","../compose/build-types/hooks/use-dragging/index.d.ts","../compose/build-types/hooks/use-focus-return/index.d.ts","../compose/build-types/hooks/use-instance-id/index.d.ts","../element/build-types/react.d.ts","../compose/build-types/hooks/use-isomorphic-layout-effect/index.d.ts","../../node_modules/@types/mousetrap/index.d.ts","../compose/build-types/hooks/use-keyboard-shortcut/index.d.ts","../compose/build-types/hooks/use-media-query/index.d.ts","../compose/build-types/hooks/use-previous/index.d.ts","../compose/build-types/hooks/use-reduced-motion/index.d.ts","../compose/build-types/hooks/use-viewport-match/index.d.ts","../element/build-types/create-interpolate-element.d.ts","../../node_modules/@types/react-dom/index.d.ts","../element/build-types/react-platform.d.ts","../element/build-types/utils.d.ts","../element/build-types/platform.d.ts","../element/build-types/serialize.d.ts","../element/build-types/raw-html.d.ts","../element/build-types/index.d.ts","../compose/build-types/hooks/use-resize-observer/index.d.ts","../compose/build-types/hooks/use-async-list/index.d.ts","../compose/build-types/hooks/use-warn-on-change/index.d.ts","../compose/build-types/hooks/use-debounce/index.d.ts","../compose/build-types/hooks/use-throttle/index.d.ts","../compose/build-types/hooks/use-merge-refs/index.d.ts","../compose/build-types/hooks/use-ref-effect/index.d.ts","../compose/build-types/hooks/use-drop-zone/index.d.ts","../compose/build-types/hooks/use-focusable-iframe/index.d.ts","../compose/build-types/hooks/use-fixed-window-list/index.d.ts","../compose/build-types/index.d.ts","../../node_modules/no-case/dist/index.d.ts","../../node_modules/pascal-case/dist/index.d.ts","../../node_modules/camel-case/dist/index.d.ts","../../node_modules/capital-case/dist/index.d.ts","../../node_modules/constant-case/dist/index.d.ts","../../node_modules/dot-case/dist/index.d.ts","../../node_modules/header-case/dist/index.d.ts","../../node_modules/param-case/dist/index.d.ts","../../node_modules/path-case/dist/index.d.ts","../../node_modules/sentence-case/dist/index.d.ts","../../node_modules/snake-case/dist/index.d.ts","../../node_modules/change-case/dist/index.d.ts","../i18n/build-types/sprintf.d.ts","../hooks/build-types/createAddHook.d.ts","../hooks/build-types/createRemoveHook.d.ts","../hooks/build-types/createHasHook.d.ts","../hooks/build-types/createDoingHook.d.ts","../hooks/build-types/createDidHook.d.ts","../hooks/build-types/index.d.ts","../hooks/build-types/createHooks.d.ts","../i18n/build-types/create-i18n.d.ts","../i18n/build-types/default-i18n.d.ts","../i18n/build-types/index.d.ts","./src/entities.js","./src/queried-data/reducer.js","./src/queried-data/index.js","./src/batch/default-processor.js","./src/batch/create-batch.js","./src/batch/index.js","./src/name.js","./src/actions.js","./src/entity-provider.js","../is-shallow-equal/build-types/objects.d.ts","../is-shallow-equal/build-types/arrays.d.ts","../is-shallow-equal/build-types/index.d.ts","./src/reducer.js","./src/entity-types/helpers.ts","./src/entity-types/base-entity-records.ts","./src/entity-types/attachment.ts","./src/entity-types/comment.ts","./src/entity-types/menu-location.ts","./src/entity-types/nav-menu.ts","./src/entity-types/nav-menu-item.ts","./src/entity-types/page.ts","./src/entity-types/plugin.ts","./src/entity-types/post.ts","./src/entity-types/settings.ts","./src/entity-types/sidebar.ts","./src/entity-types/taxonomy.ts","./src/entity-types/theme.ts","./src/entity-types/user.ts","./src/entity-types/type.ts","./src/entity-types/widget.ts","./src/entity-types/widget-type.ts","./src/entity-types/wp-template.ts","./src/entity-types/wp-template-part.ts","./src/entity-types/index.ts","./src/selectors.ts","./src/resolvers.js","./src/locks/utils.js","./src/locks/reducer.js","./src/locks/selectors.js","./src/locks/engine.js","./src/locks/actions.js","../html-entities/build-types/index.d.ts","./src/fetch/__experimental-fetch-link-suggestions.js","./src/fetch/__experimental-fetch-url-data.js","./src/fetch/index.js","../../node_modules/memize/index.d.ts","./src/hooks/memoize.js","./src/hooks/constants.ts","./src/hooks/use-query-select.ts","./src/hooks/use-entity-record.ts","./src/hooks/use-entity-records.ts","./src/hooks/use-resource-permissions.ts","./src/hooks/index.ts","./src/index.js"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","6aae23700d45e8ac7ca7e269047aed3eecc64ce87c8fa5e52f2d98e280bd04ef","6b3d3ecbf6958624910af080a873cd84b5b99d513eb52147f18fe04a51cb19ce","ea9b95f45cd90b16200134d1f79e36380d57b866300b479b3e5b62a6dbeb92bb","14bc80bd2cb4c72aaaf27cfcdb62377cf3e3366f9e9045fa8ca232629457aca9","ff164c4671955c882140da80d0a6a69552ba5c2ddce3969f74c5c9d63683744b","dca26c859f7b4b8cf118dc9b5e99d295a3031bbd980e488819ed830ba769b890","1152220b82b14ecd456908cf61b6089b49596278eace0d10030384f8e31ba5ee","91265e9c2705df9edc7d912afe177cb9dbe4bd4fe254cc43466885544c065013","81e7db9916d6ce0323656530cb9aba444450454e5a8f3d0108f04931abb36258","7858aa21ac91fef2c9cdf96b3ae00e025efed2920ffca40a75df452d4f5a9576","eb80dedcd92c17d93f403e736e1c3e2aef39379841070221a353a7c13b57369f","029f3a1e2534e85a7cd00f3e79781003e0bcf5147d96db93594ace839803c6cf","2eea9984a7ea08e576d2970ba65a65ebba02699bccdbd0d3a08bb141e15972a1","308246446616acc5397747f35fa8788de7e6ba6cd5dc0ec2752bd75eafefcdb9","9677ef56e52539a73f1d9b89c692cf866d05017b05d9d2fe8cd35a30b42c2d47","6048b5c50d6486b1084b036a7f7d6c76c032d90cc2186f79b344a12ceb488511","26885abe66e07fd38da599d5fc9b4fa8b2df803c56e9bba99a2505e0b982c042","507dc7647a71c90e8cce85259c624b355c22e0dee1833aa4ba20c15a4f5bd21a","c30aaf3d189be8c29b2d3a7761e94b5b532fec6ba0caa74d07a4c1056469acf0","454217fe7beba4cb5497d4bc7fd3116437ce85e5217eb66f3b367fbcbfd45861","65e1ffb7b2343a1814c5cb85164f7d26bce1477b2cf04e6736f37732bc4801d6","3f810d7cac3e3729241d52d667538dc4ca27687f5d40d91f4cb5bce955df5f94","a2bedf5636ce572e507823229c9b7d4e87d97830497822d76e95a971fee78c92","17ab13eba7cde42ca7c95110c7eda405ba6aba7471437d912078d67dfada98eb","f7e734ca25cb0e8c52247b9a7d98f81ffd6ac52485bf9d8938fdbd4d828f469c","5261283f0b521fc1f255a060dcd86986985bd516822b69bb5504392462962899","44e20ca481bcc2abec1f4fcf54139caa4389f1bc16e3ee9d19a10e522903e9ab","a31eda6fcbf86596f69f7c18e6d13af58191fdc9c9620bcc67595fd9e49043ab","c93085fa9e5e568c0a45f64caa05e713fd5438e93d32f5970753e44910bdd540","1e442333978b5864818023d54d4f2e2aa0cbdfb2b486a0d43c900a7a87d61d1d","f215ce6766668f37f5e4652d0facdf55816f24aa5fc6f68c5e33754dbe5219fb","e900ec60297a15c4de70ddaade026ea4fe635e27c286fedd82dd5e963daa1930","e4e975c7339a9579209f12246e95f95216aa3558b8e7719fea2fbadaf28c574b","178efee8d4335cb61ec45c10e6de6d7afe48028963c5633f5937f25eaffa2387","bd0d80db12ef1aceefc4f9d3eb88517b9634fa747ae8475981da8655292feab8","55e68fb1618e3f55f7866b8c8415152159309a14b716370081ab0b7af96d876e","bf0491af2455f92282b61807be2be6e7ad7d532e47fac7b698019d3617c28ff7","5d874fb879ab8601c02549817dceb2d0a30729cb7e161625dd6f819bbff1ec0b","ee551a880882770c4f56a0964a9767c9feafe497a5be52652527d098c88d85cb","b192606574769a5566620f9bf19358a3994bc2726ecdeaad9c66f3333b2687c8","acc22baecb7e578a5639f47b09e19de1d81ec91cf762d6f91d68297b10c63177","d83d6ec306241a9a59716eadf007d405cbc9d77b688871089a02159087100d5c","bcfac9632a790e732341b5009a60e86d72da1d2cc383c1796a66d233c5942c6f","0292552bfdda78ed1910905ea046a336186ce82d9fab516ea21616f47147ccdc","78673ec3910aff07d76d2a24b460523c69d50afadfcd836cd9a022ad1a3ebfc2","ff41da7aeac53e419a3a7eb792ea03c77cf05e44d379dfa2190920bfe6dde09b","849507adfc66cfedda67c3384a1ec078c542263589413c5b31c195aee25dc1f2","c30b952d25562463882bbbaac6242e2cb47cd342c27388f46e4b7b0c98a4b659","c32e26a53123519e9bcf0aa960cc0a5dfb3ecebcc27fe0ccc649702b45da1e2a","59688ffdb24f7f057e35f54280e90bda1e57efee745479a1bb98321b263870e8","95d027d78b9577e00f9d4e0eba816fd21f1b2927c801f89a1db8369b837471c3","9f1a1489db159ad8956dfa60d68a51f7a740f644385220af1ccfde5d5fba79c6","91faeb8163ec860e5b5c02eda51cd16e64de95baaadfec34e0fbd9d39176ed8a","b94c955213263a318d4ab2f33479464e1ee5551b9b29859b9084f4b741dc7ed6","a355bc3ad1c78a74de3dd67cc484ea4667a3f28f7d5384bcc10d0f1a2a506901","cb1063fcd20e601b70c6ce424597018ef658b4aa5ff4bf6514a351a9222238da",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"1bc82f5b3bb93df76d19730c84467b0b346187198537135d63a672956f323720","affectsGlobalScope":true},"a958d081d81c1194d1878b28f081d0144d95f4e36c6b375e357cb982e8b40705",{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},"125f94cba85ffdcd5c682bfda4739c07d994e50715b7cd8a0217c1cf50695cfe","6fca127aadf9a3a6ec914442d3995cdca17a9d1b337138da166d65663921dcac","d23aeb9ad9955d3b6df7a972355dd465aaa0f7b8c223834f9499585b75f2ab04","cf000108177216c2ffd9962c785dfe0eb36306b14817894115be2d8f470552d6","61937532d01a86bc9f9847e016305cec9b5a716db5a630a0c37049a477d18f60","c792ecb733fc79337b7b497d3298dc31217f0f2b944ade255037dea871915353","61e8a34952f23c48deff3e85e982b1b3a600d15fb4d3b7c07a9096505ad2c35c","4fe57f4d9ea10f6069813ca18818838ce21258f42e79f898b4fb7860ce0c58ca","1e525db7ea2d7369211b74756f1034e4219134c3c99c0e147998caf43b10e017","4d3af9c3e4d7e0b2eeed3f0eb0190aaaaa6655a63275fbc2f5d6a7cde8aa70ec","d2c8976d6e6874ce159fc31c8511fffde72dcdf230394750ea4ef3c02a32e52e","fb6fa5434ecf7670f3dba36bced663afe875282d1231fb3ae95eeedae85ce4cf","e4cb6f9e4d40f538e26c72cc81ebd8ebae3317f940f39696e30d1381f36e5a0a","30289252a73fce7ff4b88369c829ed1f8533ccc028c55b264fc96fb576ffdd6a","3f473bb1c974b627227610013561332ea2f8e6eed0e86e87eaef96b6146d28c8","c841bf19529e2909275a743e54d43dadc52671909fa27db84f965c4fa5ec3b6f","c8bd10b6cdcb527ce859b9c5b4b6168f270cec11cb051cc77eb4dead206b5e0f","19179e07983759a8dd6adeb0c6e5c6a9525564aa986123d426171bd586791d21","c8b8656890f0c3cbcbfa35247885999be08c3e6391d04c6970e6edbd113c0359","bf1c5b444373d2d9eb03cedc6a9b6eca7c3667585596a5af3a44092c190dec0f","a0cf70217b68c414db6c4863831250c8a2d96469c8044b75edd3a460793c9887","8d7c0f64cebcc3690112c28a4861bd9385836b47e9d1c171e6362100b3cc32a8","04ada34f81611d5344e26d98a6817bb0fc34c7bf7370b5c8ec9b562c56161ae9","8b495154f6d961654e7d0f4ba35bd115160d6d6bfce3dc9c3d122f0948402e9f","f9523fca1617fd31e048afd09f08cca592a7bbaeca4d5ff1e1781ab0cd2ffe9b","471a29292fd062298595f697fedc5e8c7ab42539770da59a3c76592330cf3c14","a2f3cab1b4ff63fa311519603bec5420b6c65b3c0cf6e29aec508bcdd68ea3a7","23d7a8b5d3297675007160f5cc75777e6eccf63ff6650bd3ed01eb0b3cdf2a38","8db59d5540f8bc033f35eb1a4a7903d202fbace0874b456e463af2675da2398b","c5a28d3d50c8edecc8cc87ae3a5dcfa34e630f970626bf30c552e681c7055fd0","5f8402dfce577684c2de40394f60628ffe6e44e6bc308dbeb1b643c527d758bf","daa0b5b58eab0c3dfc200cde4cc933084b908ede3aacdda1d2797f98c172142b","62517d6229922cb446b02a0a8df424b8def7ce40570e2a3c67df93c321bc4ba7","ef94bb34934085e6f95d8a8023775c29991a7f1db2e426edcabe06bc39469b15","1d36eb5c40d9f368065a1175ff754f333966affd48a6c84e3eb5de1820da3635","afa8dec86e0e11ff50a234b685b18674af64cda1e3671908559949301080bff0","f08d251cb25341aedf5edbfa1317f59f93ddb133de124a31962f656ab4f6ebd9","c0ac0d5a66d62f30b200514957ad91050a4f13b38f1c023422d76c2ea20d3813","e59d00012fb20e6746def2f4bc94650526aa6c574c49ad6a50a992f61a3ee675","2cc143754ed238f214e763525cd4c11613409a643fdd602f4e0a2b19f1f2d397","96520a873073a2f39f922d0a422498cdcc28be9066a769000cdd07ecaba7b645","c7284023c5462180e492357aeb94551a20aa41eac8ac517606f3766359d08bb9","ed4ec3d435678a5703a016a801afc2cd7b543c53ab4615b3e214cac9c30f560a","e1e870a8a409e1eb530b841c9fa03165041518270de8eb37d8cf00c64a53b864","501be290436f06ae2182915329b01cfd0850961814802237b5c24749fd2afa0c","cc34c3c1590513cdb6374890f421c06ad969cfd99b28efb6003a6afc845c49f8","e47b8ec56eb49bc1c53c9012daa9874de14ad0c5da442485aec333571c74b526","45a63e17814c570ea59407f231ef9c561510bd6edb36f17479b09b44619496c6","5d7018910750d9cb4a912577ad2951fc3fad83c30d637689b69ffc6bbb0c9f5a","d2d9e98a2b167079474768593e1e7125fc3db055add8fbdb5977e3d05a8a3696","6462da67490105ba7d98cf312c2faf8794c425781128b161ea8394d66502eec8","62359da52b6c8d00c50c2e50738fac82e902f916fdf458d8159e7edb1c60c3a8","1e0ac21bc775686383ea8c8e48bd98b385e6195b25c85525a7affd08a2cd38b9","0449615e1ed03c7d54fc435a63b7ef0cb4e5cea5ac40c9a63280a46f7eeae0ff",{"version":"b5b080e499df18235bac525ce43da935d1a068c5770f58b245d24b6ae8baa166","affectsGlobalScope":true},"b935d4ca97dc9aa05c92aaa51ab5cf2ada5b9722e84ea3af8dc5f93fea3cd361","f295ab6b1bfd2b6b5b19ba621cca18c1b94b25c430c67fcb66c9594e89e3ff39","ea6c58f9711f6dc2f5609e085a1751d1284f1097b568852863bc24becf970831","4a618c63120a5bf4f0654b0feb16ad600461526f562edca8cc0f3a56c96ec2ca","d759d5a895085d1cfc89d1d1791c188c8170d933092db93e2b48676c49ee7310","2d1b4aec91b432ab2fe2b22f376a34dbc9d9b4b34acbd552f9cd0d3d98bcfca2","0b1d7ac8c1abd81feb21f2bc5d9539610dfa03c2874652cb9c6f4859731edd00","ee316055baf21ac2fdc96c90f19fb4a2e4b5ef225df0698e3bcb20f90b16b689","5fac858cb922fe34b898ddc12db441c878ec72bf6a1e3bcbe297f4da4bb6672a","4818aee1e096f8c060a935747e35c90b6588940094fcfbcc34840c1eebb7b966","b4e123af1af6049685c93073a15868b50aebdad666d422edc72fa2b585fa8a37","f86c04a744ebcede96bac376f9a2c90f2bd3c422740d91dda4ca6233199d4977","6ae1bddee5c790439bd992abd063b9b46e0cadd676c2a8562268d1869213ff60","606244fc97a6a74b877f2e924ba7e55b233bc6acb57d7bf40ba84a5be2d9adb0","4a1cabac71036b8a14f5db1b753b579f0c901c7d7b9227e6872dadf6efb104e8","062959a1d825b96639d87be35fe497cbd3f89544bf06fdad577bbfb85fcf604c","4c3672dc8f4e4fdd3d18525b22b31f1b5481f5a415db96550d3ac5163a6c3dd3","f9a69ca445010b91fe08f08c06e0f86d79c0d776905f9bdb828477cb2a1eb7fc","ad7fd0e7ee457d4884b3aaecbcbd2a80b6803407c4ce2540c296170d4c7918ef","a50ef21605f41c6acad6c3ef0307e5311b94963c846ca093c764b80cdb5318d6","74b4035dd26d09a417c44ca23ab5ee69b173f8c2f6b2e47350ab0795cf2d4a17","918f86ee2b19cc38cb8b1a4cf8f223eb228aaa39df3604c42f700fac2f0b3ea1","762bc52248d3fab9873c7af564caf622358312cb35de42a4393b71cc36e14621","d02ec79cefaf292fae64b3be5a4416e64b4e420a6429fd458fac6e1bb4c7950e","27abed653f600ea0d5c86e94181beb42824e0f3f16337e2f9e7e9e9c2c392edf","d7871e0e653aa7197fee88886db5678bee6d42164c1f36e4bce9421ddfa7ca49","11ed10bdb3bcc99893570507eac8fece4840add97ee1d4f5a7fbf41cbfdea0d4","429fb571d3db07d3eaa2e74d43eb4190ece3e0de832ed564aeeaf08873e598eb","406d52bf33d618d846aa0d831ee004290567e328edcd4517bbff2937cc977abf","d3060e0810fc0d0dc009e6f086ef413d3c8aeaaf07da25c8d25fd4e181646acf","c0306658efb85764bb6d8d55097007c68a70539b24d0e18fb6edd6eb1778f632","08f7e6ffa66c66a636aecc5acbeb998215d9d09ccba0c558afb7df7e218edeaf","f829eb39aea4487f0ff94a42c56a1a73bc5202bbdeb03f7a638e4ab3e290d017","549d265a212fb5157c8919a4115e83529d0efadb9ab3bd674bc75e5df0fdf403","36f13e842356a220f1763f867133154a1ea6ff8f7bc39f7ac26090baf6f0e761","87f792436b033580a1dcc908d15851e4a5d3d7aa68b1d1c6a142706ef8b154a3","647dd8fd86e81524dc5915ec4997b8fc66d4a86ac2e37cde40e903ba1b349cb9","56a3aef852aa146f9fe362a1d09e13dae20f3794d33f66b371829348a8ee0e62","07c14b3359e3ed5607c690b9f421f84dd93887e06416d52f60889b4082030464","063f439998b87e20f46fa82cb793c5aae5c2d714a26bb8221e07f5d4c82c989d","573c9d08965a7fff6d8c08b20e525b10fdc5ba44c2feeda5b16edd6e4fd64dd0","cbe4710c187acaa5f02b08715c1563fdad82764462654043eb68232ecb626b8d","5190f1a110a789c2f8ed8dcf2da6ce122dcb74249d0c01d19d1ed0b1c6bb02a1","3650bbe137c9c44bc6b8f44a56353b00eba9654e41a9355e6228f7f0f464c648","9c4f32d2fa2b6efeed4f9fbd98254121b17982110b48edcede96e2dc2af0894d","8ed8a955d25000784e5f66b3afbe37c23f363f7671d077c6a15285ef13809dd4","a3dcfa473fb451f89860a5dc83f1994fccd151af55a87683cb6dffc0abba782b","40b369b61fd0bede44a39611baae531e6d46a718b705b9b45c5add4711f19744","225a94e9b80d9ed325a5996ddf6e8e8ec1e35d0cc78ce63b4f7bc3109c41fcfd","220b6ba3c2274aada1b2a9ad69f6966c8d36de546e708fe2b42425a265a48e2a","29733740a84bde4ceebd6415c3a47d36c9a956fdddeacec49a664665a54018b0","6e603a0983306db957764528f138c4897f0391799f876c4c1b46226c0dd8cef2","36d8781b9aa56efc6c8e0c6366ecdebf7327a2ac5b1e1490de1ad5a911457bb1","e8184f498bb78351e6d6f9fe654279d9882d58dd822a9a1178a96e7570262502","ff0a6ed7e754b2cfb1a907578f1c335b4c5ace714a5adb956f94d6192b17f078","bd3086a825d96259e7a1c79ad1bb13749d41cb79ba4336ba813cc65cbd51fd74","46adb1b5ccc5123a4592a20c1c56c8c7ef34d9b2ea43b16a271587ac2076728f","a32f1f8649b0e898d4a54e1860effc7f48dd285bc99f83dc35ccf85203736b3b","beacf8337f15a959b6e4d95d7b55432af842b0484da0f0d342a0dd75beab8fe3","8800447dd5175024126c56daa37ee888e507a5b4cb010790ccc86530a46424fb","cd04b594271be8b8eca1453116f1591ba60ce64d80183b07765a4b5e811966ea","c2c2c6c7ab6fd08050cc906a2230657bd7ae25365a38db7a4c2f84980133d0cf","8199ff7448213d4633834954dad4e5a5e7ed2e14fcfd3f5a1b53d156a1cd9972","327bc1d7e826f1be1b18c51b3444a2dfc66d3f810b43ff5f32b26587db3ea1d2","8818dcc765cb9236f6a01aaa837a3612271777a26ffbd29282a3c282f8704649","d461fc73e0721ae92652f11a61cd1014a0698fb7ddb81beac1aa7d09aa139abb","83ff1f6f71ab0ea7a2a725a864d70672acadada85bba149552c8d815684d90ea","3b5f3c05c1a13e8eaa38abc36a6452a68140cce157a0d7ee88e0695770696300","b0d35fd661c6d3a53bc9568b079ebc3363561d6e42b773ab40f2217310b3d1a1","b5f5bbc6d622c252fc13b512ed42cafd65019768e3f0430637e517d9be69547f","71fce7a0dc64feb145e0f58842f43984a2e9ecd79861d8ad7315c0d272575275","066db40ccd6c90d1e57e9f163458713463d4e2771c156acf9ffb7f258646946e","2366b3f634513f748f1cc92ba9a5b015b39cf0195e25c942e3d844721f0e233d","667a5fe656b9e0bf163b829ad74d679c56e82c83456a7c5387ffca0d1f901e5e","d93931264950da279434192bb043f8e379b4a0959bcd294ca89c8b89e1a6772b","3a1cab834f4a3ceedd0dfe8c00b9ca84431454cad8730eef0d0a18d1c0f7a7aa","8d8b84756b85d1dd9d3a60d54f4410b892f931d46560f60ddc44a4decb8f9ee4","902abf1b6aeb2908452ad206db72b0d39029e000a28dff529751585a4e7e5f07","68e39d827a3bd5054e54a433fc90c118941096eb3e9f432b28ea5f88b0fe77b1","691a13dbde331d5bcce65e1463f924b78ad046c0c05ec57bca010e6435de8905","0f112494322a7ecb5dda1823f0f84255451a51d2ad862a0ae1014d361f0257de","bca410625e15b9622626f7ae8aa445153232e0d45e46f0e8dbcd632d735c8e47","e1802d98bc1c1b96b44ea5bb57126dc9757c9b99d87ee997af0ffe1d33afbdb0","4e6521886023150c01f961b93a382645704a6e42739c8277f3abd1a61806243c","e6295247cd02955c7385b55efa603d19c4d9330b1343937a9b1c023e346f1ab5","a1473225afc48a471cde6656263736febf2dc83543ad10ef66936f7ed71b2fe3","fadb19eb44c06b59275ad6f620324ea297cbaa20f744ca09d9d83ae122bee14c"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":false,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[45,47,48,49,50,51,52,53,54,55,56,57],[45,46,48,49,50,51,52,53,54,55,56,57],[46,47,48,49,50,51,52,53,54,55,56,57],[45,46,47,49,50,51,52,53,54,55,56,57],[45,46,47,48,50,51,52,53,54,55,56,57],[45,46,47,48,49,51,52,53,54,55,56,57],[45,46,47,48,49,50,52,53,54,55,56,57],[45,46,47,48,49,50,51,53,54,55,56,57],[45,46,47,48,49,50,51,52,54,55,56,57],[45,46,47,48,49,50,51,52,53,55,56,57],[45,46,47,48,49,50,51,52,53,54,56,57],[45,46,47,48,49,50,51,52,53,54,55,57],[45,46,47,48,49,50,51,52,53,54,55,56],[119],[115,116,117,118],[188],[187],[187,188,189,190,191,192,193,194,195,196,197],[190],[192],[93,94,95,96],[93],[94],[59,60,61,62,63,64],[59],[140],[119,140],[141],[119,153,154],[160],[119,162],[175],[57],[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,161,163,164,165,166,167,176,177,178,179,180,181,182,183,184,185],[57,58,65,92,98,210,212,215,216],[213],[65],[213,214],[57,65,198,209,217],[139,175,210,216],[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242],[243],[65,92,209,251],[65,92],[252,253],[259,260,261],[255],[98,139,175,257,258,263],[92,98,258,259,263],[139,256,257],[98,257,258,263],[139,210,216,217,218,222,243,244,245,250,254,262],[249],[247,248],[246],[92,110],[99,112,211],[57,110,111,139,186,210],[57,100,111],[57,103,110,139,186,210,212,221],[65,92,110,198,210,216],[57,92,98,100,110,139,210,212,216,243],[103],[101,102,104,105,106,107,108,109],[126,127],[119,129],[134,135],[123,124],[122],[113,114,120,122,125,128,129,130,131,133,136,137,138],[132],[129],[121],[97],[160,168,170,171,172,173,174],[169],[119,160],[205],[200,201,202,203,204,205],[200,201,202,203,204,206],[205,206],[207],[199,207,208],[219,220],[221],[81],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91]],"referencedMap":[[46,1],[47,2],[45,3],[48,4],[49,5],[50,6],[51,7],[52,8],[53,9],[54,10],[55,11],[56,12],[57,13],[169,14],[119,15],[189,16],[190,17],[198,18],[191,17],[192,17],[193,19],[194,20],[188,17],[195,20],[196,17],[197,20],[97,21],[94,22],[95,23],[65,24],[63,25],[64,25],[60,25],[61,25],[62,25],[144,14],[145,14],[147,26],[148,27],[150,14],[151,14],[152,14],[179,28],[155,29],[156,14],[157,14],[183,14],[185,14],[153,14],[154,14],[158,14],[161,30],[163,31],[181,14],[182,14],[176,32],[180,33],[167,14],[186,34],[140,14],[217,35],[214,36],[213,37],[215,38],[210,39],[218,40],[225,41],[226,41],[223,42],[243,41],[227,41],[229,41],[228,41],[230,41],[231,41],[232,41],[233,41],[234,41],[235,41],[236,41],[238,41],[237,41],[240,41],[239,41],[242,41],[241,41],[252,43],[253,44],[254,45],[262,46],[256,47],[259,48],[260,49],[258,50],[261,51],[263,52],[250,53],[249,54],[247,55],[248,55],[99,33],[111,56],[212,57],[211,58],[112,59],[222,60],[245,61],[244,62],[101,33],[104,63],[110,64],[106,63],[107,63],[127,14],[128,65],[135,66],[136,67],[125,68],[123,69],[137,69],[120,14],[130,69],[139,70],[133,71],[132,72],[131,69],[129,69],[122,73],[98,74],[168,30],[175,75],[174,14],[170,76],[160,14],[173,77],[200,78],[204,78],[203,78],[202,78],[206,79],[201,78],[205,80],[207,81],[208,82],[209,83],[221,84],[219,85],[82,86],[92,87]],"exportedModulesMap":[[46,1],[47,2],[45,3],[48,4],[49,5],[50,6],[51,7],[52,8],[53,9],[54,10],[55,11],[56,12],[57,13],[169,14],[119,15],[189,16],[190,17],[198,18],[191,17],[192,17],[193,19],[194,20],[188,17],[195,20],[196,17],[197,20],[97,21],[94,22],[95,23],[65,24],[63,25],[64,25],[60,25],[61,25],[62,25],[144,14],[145,14],[147,26],[148,27],[150,14],[151,14],[152,14],[179,28],[155,29],[156,14],[157,14],[183,14],[185,14],[153,14],[154,14],[158,14],[161,30],[163,31],[181,14],[182,14],[176,32],[180,33],[167,14],[186,34],[140,14],[217,35],[214,36],[213,37],[215,38],[210,39],[218,40],[225,41],[226,41],[223,42],[243,41],[227,41],[229,41],[228,41],[230,41],[231,41],[232,41],[233,41],[234,41],[235,41],[236,41],[238,41],[237,41],[240,41],[239,41],[242,41],[241,41],[252,43],[253,44],[254,45],[262,46],[256,47],[259,48],[260,49],[258,50],[261,51],[263,52],[250,53],[249,54],[247,55],[248,55],[99,33],[111,56],[212,57],[211,58],[112,59],[222,60],[245,61],[244,62],[101,33],[104,63],[110,64],[106,63],[107,63],[127,14],[128,65],[135,66],[136,67],[125,68],[123,69],[137,69],[120,14],[130,69],[139,70],[133,71],[132,72],[131,69],[129,69],[122,73],[98,74],[168,30],[175,75],[174,14],[170,76],[160,14],[173,77],[200,78],[204,78],[203,78],[202,78],[206,79],[201,78],[205,80],[207,81],[208,82],[209,83],[221,84],[219,85],[82,86],[92,87]],"semanticDiagnosticsPerFile":[46,47,45,48,49,50,51,52,53,54,55,56,57,162,117,169,115,119,116,118,58,189,190,198,191,192,193,255,187,194,188,195,121,100,196,197,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,93,96,97,94,95,65,63,64,60,61,62,59,142,144,143,145,146,147,148,149,177,150,151,152,179,155,156,157,183,185,153,154,158,184,159,161,163,164,181,165,166,182,176,180,167,178,186,140,141,217,214,213,215,210,218,225,224,226,223,243,227,229,228,230,231,232,233,234,235,236,238,237,240,239,242,241,252,253,254,257,262,256,259,260,258,261,263,250,249,247,248,246,216,99,111,212,211,112,222,245,244,103,101,105,102,104,110,109,106,107,108,127,128,126,135,136,134,125,124,123,137,114,120,113,130,138,139,133,132,131,129,122,98,168,175,172,174,170,160,173,171,200,204,203,202,206,201,205,251,207,208,209,199,220,221,219,80,75,89,88,70,90,78,77,72,68,81,82,74,83,92,67,66,71,79,73,69,76,91,85,84,87,86]},"version":"4.4.2"}
|