@wordpress/data 9.3.0 → 9.4.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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.4.0 (2023-05-24)
6
+
5
7
  ## 9.3.0 (2023-05-10)
6
8
 
7
9
  ## 9.2.0 (2023-04-26)
@@ -226,12 +226,18 @@ function createReduxStore(key, options) {
226
226
  }, store);
227
227
  (0, _privateApis.lock)(selectors, new Proxy(privateSelectors, {
228
228
  get: (target, prop) => {
229
- return mapSelectors(mapValues(privateSelectors, selector => function (state) {
230
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
231
- args[_key3 - 1] = arguments[_key3];
229
+ return mapSelectors(mapValues(privateSelectors, selector => {
230
+ if (selector.isRegistrySelector) {
231
+ selector.registry = registry;
232
232
  }
233
233
 
234
- return selector(state.root, ...args);
234
+ return function (state) {
235
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
236
+ args[_key3 - 1] = arguments[_key3];
237
+ }
238
+
239
+ return selector(state.root, ...args);
240
+ };
235
241
  }), store)[prop] || selectors[prop];
236
242
  }
237
243
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/redux-store/index.js"],"names":["trimUndefinedValues","array","result","i","length","undefined","splice","mapValues","obj","callback","Object","entries","reduce","acc","key","value","mapToObject","state","Map","fromEntries","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","EquivalentKeyMap","set","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","action","store","getActions","select","selector","__unstableOriginalGetState","getSelectors","resolveSelect","getResolveSelectors","instantiateReduxStore","resolversCache","resolvers","mapActions","metadataActions","Proxy","target","prop","mapSelectors","metadataSelectors","metadata","isRegistrySelector","root","mapResolvers","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSuspendSelectors","getState","subscribe","listener","lastState","hasChanged","controls","builtinControls","normalizedControls","control","isRegistryControl","middlewares","promise","enhancers","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","metadataReducer","createStateSelector","registrySelector","runSelector","argsLength","arguments","Array","hasResolver","createBoundAction","Promise","resolve","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","apply","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","mappedResolvers","resolver","fulfill","mapSelector","selectorResolver","fulfillSelector","isFulfilled","setTimeout","startResolution","fulfillResolver","finishResolution","failResolution"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\nimport combineReducers from 'turbo-combine-reducers';\nimport EquivalentKeyMap from 'equivalent-key-map';\n\n/**\n * WordPress dependencies\n */\nimport createReduxRoutineMiddleware from '@wordpress/redux-routine';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { builtinControls } from '../controls';\nimport { lock } from '../private-apis';\nimport promise from '../promise-middleware';\nimport createResolversCacheMiddleware from '../resolvers-cache-middleware';\nimport createThunkMiddleware from './thunk-middleware';\nimport metadataReducer from './metadata/reducer';\nimport * as metadataSelectors from './metadata/selectors';\nimport * as metadataActions from './metadata/actions';\n\n/** @typedef {import('../types').DataRegistry} DataRegistry */\n/**\n * @typedef {import('../types').StoreDescriptor<C>} StoreDescriptor\n * @template {import('../types').AnyConfig} C\n */\n/**\n * @typedef {import('../types').ReduxStoreConfig<State,Actions,Selectors>} ReduxStoreConfig\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n */\n\nconst trimUndefinedValues = ( array ) => {\n\tconst result = [ ...array ];\n\tfor ( let i = result.length - 1; i >= 0; i-- ) {\n\t\tif ( result[ i ] === undefined ) {\n\t\t\tresult.splice( i, 1 );\n\t\t}\n\t}\n\treturn result;\n};\n\n/**\n * Creates a new object with the same keys, but with `callback()` called as\n * a transformer function on each of the values.\n *\n * @param {Object} obj The object to transform.\n * @param {Function} callback The function to transform each object value.\n * @return {Array} Transformed object.\n */\nconst mapValues = ( obj, callback ) =>\n\tObject.entries( obj ?? {} ).reduce(\n\t\t( acc, [ key, value ] ) => ( {\n\t\t\t...acc,\n\t\t\t[ key ]: callback( value, key ),\n\t\t} ),\n\t\t{}\n\t);\n\n// Convert Map objects to plain objects\nconst mapToObject = ( key, state ) => {\n\tif ( state instanceof Map ) {\n\t\treturn Object.fromEntries( state );\n\t}\n\n\treturn state;\n};\n\n/**\n * Create a cache to track whether resolvers started running or not.\n *\n * @return {Object} Resolvers Cache.\n */\nfunction createResolversCache() {\n\tconst cache = {};\n\treturn {\n\t\tisRunning( selectorName, args ) {\n\t\t\treturn (\n\t\t\t\tcache[ selectorName ] &&\n\t\t\t\tcache[ selectorName ].get( trimUndefinedValues( args ) )\n\t\t\t);\n\t\t},\n\n\t\tclear( selectorName, args ) {\n\t\t\tif ( cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ].delete( trimUndefinedValues( args ) );\n\t\t\t}\n\t\t},\n\n\t\tmarkAsRunning( selectorName, args ) {\n\t\t\tif ( ! cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ] = new EquivalentKeyMap();\n\t\t\t}\n\n\t\t\tcache[ selectorName ].set( trimUndefinedValues( args ), true );\n\t\t},\n\t};\n}\n\n/**\n * Creates a data store descriptor for the provided Redux store configuration containing\n * properties describing reducer, actions, selectors, controls and resolvers.\n *\n * @example\n * ```js\n * import { createReduxStore } from '@wordpress/data';\n *\n * const store = createReduxStore( 'demo', {\n * reducer: ( state = 'OK' ) => state,\n * selectors: {\n * getValue: ( state ) => state,\n * },\n * } );\n * ```\n *\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n * @param {string} key Unique namespace identifier.\n * @param {ReduxStoreConfig<State,Actions,Selectors>} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n *\n * @return {StoreDescriptor<ReduxStoreConfig<State,Actions,Selectors>>} Store Object.\n */\nexport default function createReduxStore( key, options ) {\n\tconst privateActions = {};\n\tconst privateSelectors = {};\n\tconst privateRegistrationFunctions = {\n\t\tprivateActions,\n\t\tregisterPrivateActions: ( actions ) => {\n\t\t\tObject.assign( privateActions, actions );\n\t\t},\n\t\tprivateSelectors,\n\t\tregisterPrivateSelectors: ( selectors ) => {\n\t\t\tObject.assign( privateSelectors, selectors );\n\t\t},\n\t};\n\tconst storeDescriptor = {\n\t\tname: key,\n\t\tinstantiate: ( registry ) => {\n\t\t\tconst reducer = options.reducer;\n\t\t\tconst thunkArgs = {\n\t\t\t\tregistry,\n\t\t\t\tget dispatch() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( action ) => store.dispatch( action ),\n\t\t\t\t\t\tgetActions()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t\t\t\tgetSelectors()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget resolveSelect() {\n\t\t\t\t\treturn getResolveSelectors();\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst store = instantiateReduxStore(\n\t\t\t\tkey,\n\t\t\t\toptions,\n\t\t\t\tregistry,\n\t\t\t\tthunkArgs\n\t\t\t);\n\t\t\t// Expose the private registration functions on the store\n\t\t\t// so they can be copied to a sub registry in registry.js.\n\t\t\tlock( store, privateRegistrationFunctions );\n\t\t\tconst resolversCache = createResolversCache();\n\n\t\t\tlet resolvers;\n\t\t\tconst actions = mapActions(\n\t\t\t\t{\n\t\t\t\t\t...metadataActions,\n\t\t\t\t\t...options.actions,\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tactions,\n\t\t\t\tnew Proxy( privateActions, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapActions( privateActions, store )[ prop ] ||\n\t\t\t\t\t\t\tactions[ prop ]\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\tlet selectors = mapSelectors(\n\t\t\t\t{\n\t\t\t\t\t...mapValues(\n\t\t\t\t\t\tmetadataSelectors,\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t( state, ...args ) =>\n\t\t\t\t\t\t\t\tselector( state.metadata, ...args )\n\t\t\t\t\t),\n\t\t\t\t\t...mapValues( options.selectors, ( selector ) => {\n\t\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ( state, ...args ) =>\n\t\t\t\t\t\t\tselector( state.root, ...args );\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tselectors,\n\t\t\t\tnew Proxy( privateSelectors, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapSelectors(\n\t\t\t\t\t\t\t\tmapValues(\n\t\t\t\t\t\t\t\t\tprivateSelectors,\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t( state, ...args ) =>\n\t\t\t\t\t\t\t\t\t\t\tselector( state.root, ...args )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstore\n\t\t\t\t\t\t\t)[ prop ] || selectors[ prop ]\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\tif ( options.resolvers ) {\n\t\t\t\tconst result = mapResolvers(\n\t\t\t\t\toptions.resolvers,\n\t\t\t\t\tselectors,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t\tresolvers = result.resolvers;\n\t\t\t\tselectors = result.selectors;\n\t\t\t}\n\n\t\t\tconst resolveSelectors = mapResolveSelectors( selectors, store );\n\t\t\tconst suspendSelectors = mapSuspendSelectors( selectors, store );\n\n\t\t\tconst getSelectors = () => selectors;\n\t\t\tconst getActions = () => actions;\n\t\t\tconst getResolveSelectors = () => resolveSelectors;\n\t\t\tconst getSuspendSelectors = () => suspendSelectors;\n\n\t\t\t// We have some modules monkey-patching the store object\n\t\t\t// It's wrong to do so but until we refactor all of our effects to controls\n\t\t\t// We need to keep the same \"store\" instance here.\n\t\t\tstore.__unstableOriginalGetState = store.getState;\n\t\t\tstore.getState = () => store.__unstableOriginalGetState().root;\n\n\t\t\t// Customize subscribe behavior to call listeners only on effective change,\n\t\t\t// not on every dispatch.\n\t\t\tconst subscribe =\n\t\t\t\tstore &&\n\t\t\t\t( ( listener ) => {\n\t\t\t\t\tlet lastState = store.__unstableOriginalGetState();\n\t\t\t\t\treturn store.subscribe( () => {\n\t\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\t\tconst hasChanged = state !== lastState;\n\t\t\t\t\t\tlastState = state;\n\n\t\t\t\t\t\tif ( hasChanged ) {\n\t\t\t\t\t\t\tlistener();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// This can be simplified to just { subscribe, getSelectors, getActions }\n\t\t\t// Once we remove the use function.\n\t\t\treturn {\n\t\t\t\treducer,\n\t\t\t\tstore,\n\t\t\t\tactions,\n\t\t\t\tselectors,\n\t\t\t\tresolvers,\n\t\t\t\tgetSelectors,\n\t\t\t\tgetResolveSelectors,\n\t\t\t\tgetSuspendSelectors,\n\t\t\t\tgetActions,\n\t\t\t\tsubscribe,\n\t\t\t};\n\t\t},\n\t};\n\n\t// Expose the private registration functions on the store\n\t// descriptor. That's a natural choice since that's where the\n\t// public actions and selectors are stored .\n\tlock( storeDescriptor, privateRegistrationFunctions );\n\n\treturn storeDescriptor;\n}\n\n/**\n * Creates a redux store for a namespace.\n *\n * @param {string} key Unique namespace identifier.\n * @param {Object} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n * @param {DataRegistry} registry Registry reference.\n * @param {Object} thunkArgs Argument object for the thunk middleware.\n * @return {Object} Newly created redux store.\n */\nfunction instantiateReduxStore( key, options, registry, thunkArgs ) {\n\tconst controls = {\n\t\t...options.controls,\n\t\t...builtinControls,\n\t};\n\n\tconst normalizedControls = mapValues( controls, ( control ) =>\n\t\tcontrol.isRegistryControl ? control( registry ) : control\n\t);\n\n\tconst middlewares = [\n\t\tcreateResolversCacheMiddleware( registry, key ),\n\t\tpromise,\n\t\tcreateReduxRoutineMiddleware( normalizedControls ),\n\t\tcreateThunkMiddleware( thunkArgs ),\n\t];\n\n\tconst enhancers = [ applyMiddleware( ...middlewares ) ];\n\tif (\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.__REDUX_DEVTOOLS_EXTENSION__\n\t) {\n\t\tenhancers.push(\n\t\t\twindow.__REDUX_DEVTOOLS_EXTENSION__( {\n\t\t\t\tname: key,\n\t\t\t\tinstanceId: key,\n\t\t\t\tserialize: {\n\t\t\t\t\treplacer: mapToObject,\n\t\t\t\t},\n\t\t\t} )\n\t\t);\n\t}\n\n\tconst { reducer, initialState } = options;\n\tconst enhancedReducer = combineReducers( {\n\t\tmetadata: metadataReducer,\n\t\troot: reducer,\n\t} );\n\n\treturn createStore(\n\t\tenhancedReducer,\n\t\t{ root: initialState },\n\t\tcompose( enhancers )\n\t);\n}\n\n/**\n * Maps selectors to a store.\n *\n * @param {Object} selectors Selectors to register. Keys will be used as the\n * public facing API. Selectors will get passed the\n * state as first argument.\n * @param {Object} store The store to which the selectors should be mapped.\n * @return {Object} Selectors mapped to the provided store.\n */\nfunction mapSelectors( selectors, store ) {\n\tconst createStateSelector = ( registrySelector ) => {\n\t\tconst selector = function runSelector() {\n\t\t\t// This function is an optimized implementation of:\n\t\t\t//\n\t\t\t// selector( store.getState(), ...arguments )\n\t\t\t//\n\t\t\t// Where the above would incur an `Array#concat` in its application,\n\t\t\t// the logic here instead efficiently constructs an arguments array via\n\t\t\t// direct assignment.\n\t\t\tconst argsLength = arguments.length;\n\t\t\tconst args = new Array( argsLength + 1 );\n\t\t\targs[ 0 ] = store.__unstableOriginalGetState();\n\t\t\tfor ( let i = 0; i < argsLength; i++ ) {\n\t\t\t\targs[ i + 1 ] = arguments[ i ];\n\t\t\t}\n\n\t\t\treturn registrySelector( ...args );\n\t\t};\n\t\tselector.hasResolver = false;\n\t\treturn selector;\n\t};\n\n\treturn mapValues( selectors, createStateSelector );\n}\n\n/**\n * Maps actions to dispatch from a given store.\n *\n * @param {Object} actions Actions to register.\n * @param {Object} store The redux store to which the actions should be mapped.\n *\n * @return {Object} Actions mapped to the redux store provided.\n */\nfunction mapActions( actions, store ) {\n\tconst createBoundAction =\n\t\t( action ) =>\n\t\t( ...args ) => {\n\t\t\treturn Promise.resolve( store.dispatch( action( ...args ) ) );\n\t\t};\n\n\treturn mapValues( actions, createBoundAction );\n}\n\n/**\n * Maps selectors to functions that return a resolution promise for them\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their resolution functions.\n */\nfunction mapResolveSelectors( selectors, store ) {\n\tconst {\n\t\tgetIsResolving,\n\t\thasStartedResolution,\n\t\thasFinishedResolution,\n\t\thasResolutionFailed,\n\t\tisResolving,\n\t\tgetCachedResolvers,\n\t\tgetResolutionState,\n\t\tgetResolutionError,\n\t\t...storeSelectors\n\t} = selectors;\n\n\treturn mapValues( storeSelectors, ( selector, selectorName ) => {\n\t\t// If the selector doesn't have a resolver, just convert the return value\n\t\t// (including exceptions) to a Promise, no additional extra behavior is needed.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn async ( ...args ) => selector.apply( null, args );\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\tconst hasFinished = () =>\n\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args );\n\t\t\t\tconst finalize = ( result ) => {\n\t\t\t\t\tconst hasFailed = selectors.hasResolutionFailed(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t\tif ( hasFailed ) {\n\t\t\t\t\t\tconst error = selectors.getResolutionError(\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject( error );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve( result );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst getResult = () => selector.apply( null, args );\n\t\t\t\t// Trigger the selector (to trigger the resolver)\n\t\t\t\tconst result = getResult();\n\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\treturn finalize( result );\n\t\t\t\t}\n\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t\tfinalize( getResult() );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Maps selectors to functions that throw a suspense promise if not yet resolved.\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their suspense functions.\n */\nfunction mapSuspendSelectors( selectors, store ) {\n\treturn mapValues( selectors, ( selector, selectorName ) => {\n\t\t// Selector without a resolver doesn't have any extra suspense behavior.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\tconst result = selector.apply( null, args );\n\n\t\t\tif ( selectors.hasFinishedResolution( selectorName, args ) ) {\n\t\t\t\tif ( selectors.hasResolutionFailed( selectorName, args ) ) {\n\t\t\t\t\tthrow selectors.getResolutionError( selectorName, args );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tthrow new Promise( ( resolve ) => {\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Returns resolvers with matched selectors for a given namespace.\n * Resolvers are side effects invoked once per argument set of a given selector call,\n * used in ensuring that the data needs for the selector are satisfied.\n *\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} selectors The current selectors to be modified.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapResolvers( resolvers, selectors, store, resolversCache ) {\n\t// The `resolver` can be either a function that does the resolution, or, in more advanced\n\t// cases, an object with a `fullfill` method and other optional methods like `isFulfilled`.\n\t// Here we normalize the `resolver` function to an object with `fulfill` method.\n\tconst mappedResolvers = mapValues( resolvers, ( resolver ) => {\n\t\tif ( resolver.fulfill ) {\n\t\t\treturn resolver;\n\t\t}\n\n\t\treturn {\n\t\t\t...resolver, // Copy the enumerable properties of the resolver function.\n\t\t\tfulfill: resolver, // Add the fulfill method.\n\t\t};\n\t} );\n\n\tconst mapSelector = ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\tselector.hasResolver = false;\n\t\t\treturn selector;\n\t\t}\n\n\t\tconst selectorResolver = ( ...args ) => {\n\t\t\tasync function fulfillSelector() {\n\t\t\t\tconst state = store.getState();\n\n\t\t\t\tif (\n\t\t\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\t\t\tif (\n\t\t\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\t\t\tsetTimeout( async () => {\n\t\t\t\t\tresolversCache.clear( selectorName, args );\n\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t\t\t);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fulfillResolver(\n\t\t\t\t\t\t\tstore,\n\t\t\t\t\t\t\tmappedResolvers,\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.finishResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( error ) {\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.failResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\t\terror\n\t\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}\n\n\t\t\tfulfillSelector( ...args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t\tselectorResolver.hasResolver = true;\n\t\treturn selectorResolver;\n\t};\n\n\treturn {\n\t\tresolvers: mappedResolvers,\n\t\tselectors: mapValues( selectors, mapSelector ),\n\t};\n}\n\n/**\n * Calls a resolver given arguments\n *\n * @param {Object} store Store reference, for fulfilling via resolvers\n * @param {Object} resolvers Store Resolvers\n * @param {string} selectorName Selector name to fulfill.\n * @param {Array} args Selector Arguments.\n */\nasync function fulfillResolver( store, resolvers, selectorName, ...args ) {\n\tconst resolver = resolvers[ selectorName ];\n\tif ( ! resolver ) {\n\t\treturn;\n\t}\n\n\tconst action = resolver.fulfill( ...args );\n\tif ( action ) {\n\t\tawait store.dispatch( action );\n\t}\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/redux-store/index.js"],"names":["trimUndefinedValues","array","result","i","length","undefined","splice","mapValues","obj","callback","Object","entries","reduce","acc","key","value","mapToObject","state","Map","fromEntries","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","EquivalentKeyMap","set","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","action","store","getActions","select","selector","__unstableOriginalGetState","getSelectors","resolveSelect","getResolveSelectors","instantiateReduxStore","resolversCache","resolvers","mapActions","metadataActions","Proxy","target","prop","mapSelectors","metadataSelectors","metadata","isRegistrySelector","root","mapResolvers","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSuspendSelectors","getState","subscribe","listener","lastState","hasChanged","controls","builtinControls","normalizedControls","control","isRegistryControl","middlewares","promise","enhancers","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","metadataReducer","createStateSelector","registrySelector","runSelector","argsLength","arguments","Array","hasResolver","createBoundAction","Promise","resolve","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","apply","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","mappedResolvers","resolver","fulfill","mapSelector","selectorResolver","fulfillSelector","isFulfilled","setTimeout","startResolution","fulfillResolver","finishResolution","failResolution"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\nimport combineReducers from 'turbo-combine-reducers';\nimport EquivalentKeyMap from 'equivalent-key-map';\n\n/**\n * WordPress dependencies\n */\nimport createReduxRoutineMiddleware from '@wordpress/redux-routine';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { builtinControls } from '../controls';\nimport { lock } from '../private-apis';\nimport promise from '../promise-middleware';\nimport createResolversCacheMiddleware from '../resolvers-cache-middleware';\nimport createThunkMiddleware from './thunk-middleware';\nimport metadataReducer from './metadata/reducer';\nimport * as metadataSelectors from './metadata/selectors';\nimport * as metadataActions from './metadata/actions';\n\n/** @typedef {import('../types').DataRegistry} DataRegistry */\n/**\n * @typedef {import('../types').StoreDescriptor<C>} StoreDescriptor\n * @template {import('../types').AnyConfig} C\n */\n/**\n * @typedef {import('../types').ReduxStoreConfig<State,Actions,Selectors>} ReduxStoreConfig\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n */\n\nconst trimUndefinedValues = ( array ) => {\n\tconst result = [ ...array ];\n\tfor ( let i = result.length - 1; i >= 0; i-- ) {\n\t\tif ( result[ i ] === undefined ) {\n\t\t\tresult.splice( i, 1 );\n\t\t}\n\t}\n\treturn result;\n};\n\n/**\n * Creates a new object with the same keys, but with `callback()` called as\n * a transformer function on each of the values.\n *\n * @param {Object} obj The object to transform.\n * @param {Function} callback The function to transform each object value.\n * @return {Array} Transformed object.\n */\nconst mapValues = ( obj, callback ) =>\n\tObject.entries( obj ?? {} ).reduce(\n\t\t( acc, [ key, value ] ) => ( {\n\t\t\t...acc,\n\t\t\t[ key ]: callback( value, key ),\n\t\t} ),\n\t\t{}\n\t);\n\n// Convert Map objects to plain objects\nconst mapToObject = ( key, state ) => {\n\tif ( state instanceof Map ) {\n\t\treturn Object.fromEntries( state );\n\t}\n\n\treturn state;\n};\n\n/**\n * Create a cache to track whether resolvers started running or not.\n *\n * @return {Object} Resolvers Cache.\n */\nfunction createResolversCache() {\n\tconst cache = {};\n\treturn {\n\t\tisRunning( selectorName, args ) {\n\t\t\treturn (\n\t\t\t\tcache[ selectorName ] &&\n\t\t\t\tcache[ selectorName ].get( trimUndefinedValues( args ) )\n\t\t\t);\n\t\t},\n\n\t\tclear( selectorName, args ) {\n\t\t\tif ( cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ].delete( trimUndefinedValues( args ) );\n\t\t\t}\n\t\t},\n\n\t\tmarkAsRunning( selectorName, args ) {\n\t\t\tif ( ! cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ] = new EquivalentKeyMap();\n\t\t\t}\n\n\t\t\tcache[ selectorName ].set( trimUndefinedValues( args ), true );\n\t\t},\n\t};\n}\n\n/**\n * Creates a data store descriptor for the provided Redux store configuration containing\n * properties describing reducer, actions, selectors, controls and resolvers.\n *\n * @example\n * ```js\n * import { createReduxStore } from '@wordpress/data';\n *\n * const store = createReduxStore( 'demo', {\n * reducer: ( state = 'OK' ) => state,\n * selectors: {\n * getValue: ( state ) => state,\n * },\n * } );\n * ```\n *\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n * @param {string} key Unique namespace identifier.\n * @param {ReduxStoreConfig<State,Actions,Selectors>} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n *\n * @return {StoreDescriptor<ReduxStoreConfig<State,Actions,Selectors>>} Store Object.\n */\nexport default function createReduxStore( key, options ) {\n\tconst privateActions = {};\n\tconst privateSelectors = {};\n\tconst privateRegistrationFunctions = {\n\t\tprivateActions,\n\t\tregisterPrivateActions: ( actions ) => {\n\t\t\tObject.assign( privateActions, actions );\n\t\t},\n\t\tprivateSelectors,\n\t\tregisterPrivateSelectors: ( selectors ) => {\n\t\t\tObject.assign( privateSelectors, selectors );\n\t\t},\n\t};\n\tconst storeDescriptor = {\n\t\tname: key,\n\t\tinstantiate: ( registry ) => {\n\t\t\tconst reducer = options.reducer;\n\t\t\tconst thunkArgs = {\n\t\t\t\tregistry,\n\t\t\t\tget dispatch() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( action ) => store.dispatch( action ),\n\t\t\t\t\t\tgetActions()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t\t\t\tgetSelectors()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget resolveSelect() {\n\t\t\t\t\treturn getResolveSelectors();\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst store = instantiateReduxStore(\n\t\t\t\tkey,\n\t\t\t\toptions,\n\t\t\t\tregistry,\n\t\t\t\tthunkArgs\n\t\t\t);\n\t\t\t// Expose the private registration functions on the store\n\t\t\t// so they can be copied to a sub registry in registry.js.\n\t\t\tlock( store, privateRegistrationFunctions );\n\t\t\tconst resolversCache = createResolversCache();\n\n\t\t\tlet resolvers;\n\t\t\tconst actions = mapActions(\n\t\t\t\t{\n\t\t\t\t\t...metadataActions,\n\t\t\t\t\t...options.actions,\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tactions,\n\t\t\t\tnew Proxy( privateActions, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapActions( privateActions, store )[ prop ] ||\n\t\t\t\t\t\t\tactions[ prop ]\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\tlet selectors = mapSelectors(\n\t\t\t\t{\n\t\t\t\t\t...mapValues(\n\t\t\t\t\t\tmetadataSelectors,\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t( state, ...args ) =>\n\t\t\t\t\t\t\t\tselector( state.metadata, ...args )\n\t\t\t\t\t),\n\t\t\t\t\t...mapValues( options.selectors, ( selector ) => {\n\t\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ( state, ...args ) =>\n\t\t\t\t\t\t\tselector( state.root, ...args );\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tselectors,\n\t\t\t\tnew Proxy( privateSelectors, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapSelectors(\n\t\t\t\t\t\t\t\tmapValues( privateSelectors, ( selector ) => {\n\t\t\t\t\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn ( state, ...args ) =>\n\t\t\t\t\t\t\t\t\t\tselector( state.root, ...args );\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t\tstore\n\t\t\t\t\t\t\t)[ prop ] || selectors[ prop ]\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\tif ( options.resolvers ) {\n\t\t\t\tconst result = mapResolvers(\n\t\t\t\t\toptions.resolvers,\n\t\t\t\t\tselectors,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t\tresolvers = result.resolvers;\n\t\t\t\tselectors = result.selectors;\n\t\t\t}\n\n\t\t\tconst resolveSelectors = mapResolveSelectors( selectors, store );\n\t\t\tconst suspendSelectors = mapSuspendSelectors( selectors, store );\n\n\t\t\tconst getSelectors = () => selectors;\n\t\t\tconst getActions = () => actions;\n\t\t\tconst getResolveSelectors = () => resolveSelectors;\n\t\t\tconst getSuspendSelectors = () => suspendSelectors;\n\n\t\t\t// We have some modules monkey-patching the store object\n\t\t\t// It's wrong to do so but until we refactor all of our effects to controls\n\t\t\t// We need to keep the same \"store\" instance here.\n\t\t\tstore.__unstableOriginalGetState = store.getState;\n\t\t\tstore.getState = () => store.__unstableOriginalGetState().root;\n\n\t\t\t// Customize subscribe behavior to call listeners only on effective change,\n\t\t\t// not on every dispatch.\n\t\t\tconst subscribe =\n\t\t\t\tstore &&\n\t\t\t\t( ( listener ) => {\n\t\t\t\t\tlet lastState = store.__unstableOriginalGetState();\n\t\t\t\t\treturn store.subscribe( () => {\n\t\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\t\tconst hasChanged = state !== lastState;\n\t\t\t\t\t\tlastState = state;\n\n\t\t\t\t\t\tif ( hasChanged ) {\n\t\t\t\t\t\t\tlistener();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// This can be simplified to just { subscribe, getSelectors, getActions }\n\t\t\t// Once we remove the use function.\n\t\t\treturn {\n\t\t\t\treducer,\n\t\t\t\tstore,\n\t\t\t\tactions,\n\t\t\t\tselectors,\n\t\t\t\tresolvers,\n\t\t\t\tgetSelectors,\n\t\t\t\tgetResolveSelectors,\n\t\t\t\tgetSuspendSelectors,\n\t\t\t\tgetActions,\n\t\t\t\tsubscribe,\n\t\t\t};\n\t\t},\n\t};\n\n\t// Expose the private registration functions on the store\n\t// descriptor. That's a natural choice since that's where the\n\t// public actions and selectors are stored .\n\tlock( storeDescriptor, privateRegistrationFunctions );\n\n\treturn storeDescriptor;\n}\n\n/**\n * Creates a redux store for a namespace.\n *\n * @param {string} key Unique namespace identifier.\n * @param {Object} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n * @param {DataRegistry} registry Registry reference.\n * @param {Object} thunkArgs Argument object for the thunk middleware.\n * @return {Object} Newly created redux store.\n */\nfunction instantiateReduxStore( key, options, registry, thunkArgs ) {\n\tconst controls = {\n\t\t...options.controls,\n\t\t...builtinControls,\n\t};\n\n\tconst normalizedControls = mapValues( controls, ( control ) =>\n\t\tcontrol.isRegistryControl ? control( registry ) : control\n\t);\n\n\tconst middlewares = [\n\t\tcreateResolversCacheMiddleware( registry, key ),\n\t\tpromise,\n\t\tcreateReduxRoutineMiddleware( normalizedControls ),\n\t\tcreateThunkMiddleware( thunkArgs ),\n\t];\n\n\tconst enhancers = [ applyMiddleware( ...middlewares ) ];\n\tif (\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.__REDUX_DEVTOOLS_EXTENSION__\n\t) {\n\t\tenhancers.push(\n\t\t\twindow.__REDUX_DEVTOOLS_EXTENSION__( {\n\t\t\t\tname: key,\n\t\t\t\tinstanceId: key,\n\t\t\t\tserialize: {\n\t\t\t\t\treplacer: mapToObject,\n\t\t\t\t},\n\t\t\t} )\n\t\t);\n\t}\n\n\tconst { reducer, initialState } = options;\n\tconst enhancedReducer = combineReducers( {\n\t\tmetadata: metadataReducer,\n\t\troot: reducer,\n\t} );\n\n\treturn createStore(\n\t\tenhancedReducer,\n\t\t{ root: initialState },\n\t\tcompose( enhancers )\n\t);\n}\n\n/**\n * Maps selectors to a store.\n *\n * @param {Object} selectors Selectors to register. Keys will be used as the\n * public facing API. Selectors will get passed the\n * state as first argument.\n * @param {Object} store The store to which the selectors should be mapped.\n * @return {Object} Selectors mapped to the provided store.\n */\nfunction mapSelectors( selectors, store ) {\n\tconst createStateSelector = ( registrySelector ) => {\n\t\tconst selector = function runSelector() {\n\t\t\t// This function is an optimized implementation of:\n\t\t\t//\n\t\t\t// selector( store.getState(), ...arguments )\n\t\t\t//\n\t\t\t// Where the above would incur an `Array#concat` in its application,\n\t\t\t// the logic here instead efficiently constructs an arguments array via\n\t\t\t// direct assignment.\n\t\t\tconst argsLength = arguments.length;\n\t\t\tconst args = new Array( argsLength + 1 );\n\t\t\targs[ 0 ] = store.__unstableOriginalGetState();\n\t\t\tfor ( let i = 0; i < argsLength; i++ ) {\n\t\t\t\targs[ i + 1 ] = arguments[ i ];\n\t\t\t}\n\n\t\t\treturn registrySelector( ...args );\n\t\t};\n\t\tselector.hasResolver = false;\n\t\treturn selector;\n\t};\n\n\treturn mapValues( selectors, createStateSelector );\n}\n\n/**\n * Maps actions to dispatch from a given store.\n *\n * @param {Object} actions Actions to register.\n * @param {Object} store The redux store to which the actions should be mapped.\n *\n * @return {Object} Actions mapped to the redux store provided.\n */\nfunction mapActions( actions, store ) {\n\tconst createBoundAction =\n\t\t( action ) =>\n\t\t( ...args ) => {\n\t\t\treturn Promise.resolve( store.dispatch( action( ...args ) ) );\n\t\t};\n\n\treturn mapValues( actions, createBoundAction );\n}\n\n/**\n * Maps selectors to functions that return a resolution promise for them\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their resolution functions.\n */\nfunction mapResolveSelectors( selectors, store ) {\n\tconst {\n\t\tgetIsResolving,\n\t\thasStartedResolution,\n\t\thasFinishedResolution,\n\t\thasResolutionFailed,\n\t\tisResolving,\n\t\tgetCachedResolvers,\n\t\tgetResolutionState,\n\t\tgetResolutionError,\n\t\t...storeSelectors\n\t} = selectors;\n\n\treturn mapValues( storeSelectors, ( selector, selectorName ) => {\n\t\t// If the selector doesn't have a resolver, just convert the return value\n\t\t// (including exceptions) to a Promise, no additional extra behavior is needed.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn async ( ...args ) => selector.apply( null, args );\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\tconst hasFinished = () =>\n\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args );\n\t\t\t\tconst finalize = ( result ) => {\n\t\t\t\t\tconst hasFailed = selectors.hasResolutionFailed(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t\tif ( hasFailed ) {\n\t\t\t\t\t\tconst error = selectors.getResolutionError(\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject( error );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve( result );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst getResult = () => selector.apply( null, args );\n\t\t\t\t// Trigger the selector (to trigger the resolver)\n\t\t\t\tconst result = getResult();\n\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\treturn finalize( result );\n\t\t\t\t}\n\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t\tfinalize( getResult() );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Maps selectors to functions that throw a suspense promise if not yet resolved.\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their suspense functions.\n */\nfunction mapSuspendSelectors( selectors, store ) {\n\treturn mapValues( selectors, ( selector, selectorName ) => {\n\t\t// Selector without a resolver doesn't have any extra suspense behavior.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\tconst result = selector.apply( null, args );\n\n\t\t\tif ( selectors.hasFinishedResolution( selectorName, args ) ) {\n\t\t\t\tif ( selectors.hasResolutionFailed( selectorName, args ) ) {\n\t\t\t\t\tthrow selectors.getResolutionError( selectorName, args );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tthrow new Promise( ( resolve ) => {\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Returns resolvers with matched selectors for a given namespace.\n * Resolvers are side effects invoked once per argument set of a given selector call,\n * used in ensuring that the data needs for the selector are satisfied.\n *\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} selectors The current selectors to be modified.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapResolvers( resolvers, selectors, store, resolversCache ) {\n\t// The `resolver` can be either a function that does the resolution, or, in more advanced\n\t// cases, an object with a `fullfill` method and other optional methods like `isFulfilled`.\n\t// Here we normalize the `resolver` function to an object with `fulfill` method.\n\tconst mappedResolvers = mapValues( resolvers, ( resolver ) => {\n\t\tif ( resolver.fulfill ) {\n\t\t\treturn resolver;\n\t\t}\n\n\t\treturn {\n\t\t\t...resolver, // Copy the enumerable properties of the resolver function.\n\t\t\tfulfill: resolver, // Add the fulfill method.\n\t\t};\n\t} );\n\n\tconst mapSelector = ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\tselector.hasResolver = false;\n\t\t\treturn selector;\n\t\t}\n\n\t\tconst selectorResolver = ( ...args ) => {\n\t\t\tasync function fulfillSelector() {\n\t\t\t\tconst state = store.getState();\n\n\t\t\t\tif (\n\t\t\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\t\t\tif (\n\t\t\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\t\t\tsetTimeout( async () => {\n\t\t\t\t\tresolversCache.clear( selectorName, args );\n\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t\t\t);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fulfillResolver(\n\t\t\t\t\t\t\tstore,\n\t\t\t\t\t\t\tmappedResolvers,\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.finishResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( error ) {\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.failResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\t\terror\n\t\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}\n\n\t\t\tfulfillSelector( ...args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t\tselectorResolver.hasResolver = true;\n\t\treturn selectorResolver;\n\t};\n\n\treturn {\n\t\tresolvers: mappedResolvers,\n\t\tselectors: mapValues( selectors, mapSelector ),\n\t};\n}\n\n/**\n * Calls a resolver given arguments\n *\n * @param {Object} store Store reference, for fulfilling via resolvers\n * @param {Object} resolvers Store Resolvers\n * @param {string} selectorName Selector name to fulfill.\n * @param {Array} args Selector Arguments.\n */\nasync function fulfillResolver( store, resolvers, selectorName, ...args ) {\n\tconst resolver = resolvers[ selectorName ];\n\tif ( ! resolver ) {\n\t\treturn;\n\t}\n\n\tconst action = resolver.fulfill( ...args );\n\tif ( action ) {\n\t\tawait store.dispatch( action );\n\t}\n}\n"]}
@@ -170,7 +170,15 @@ function getCachedResolvers(state) {
170
170
 
171
171
 
172
172
  function hasResolvingSelectors(state) {
173
- return [...Object.values(state)].some(selectorState => [...selectorState._map.values()].some(resolution => {
173
+ return Object.values(state).some(selectorState =>
174
+ /**
175
+ * This uses the internal `_map` property of `EquivalentKeyMap` for
176
+ * optimization purposes, since the `EquivalentKeyMap` implementation
177
+ * does not support a `.values()` implementation.
178
+ *
179
+ * @see https://github.com/aduth/equivalent-key-map
180
+ */
181
+ Array.from(selectorState._map.values()).some(resolution => {
174
182
  var _resolution$;
175
183
 
176
184
  return ((_resolution$ = resolution[1]) === null || _resolution$ === void 0 ? void 0 : _resolution$.status) === 'resolving';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/redux-store/metadata/selectors.js"],"names":["getResolutionState","state","selectorName","args","map","get","getIsResolving","resolutionState","status","hasStartedResolution","undefined","hasFinishedResolution","hasResolutionFailed","getResolutionError","error","isResolving","getCachedResolvers","hasResolvingSelectors","Object","values","some","selectorState","_map","resolution"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAT,CAA6BC,KAA7B,EAAoCC,YAApC,EAAkDC,IAAlD,EAAyD;AAC/D,QAAMC,GAAG,GAAGH,KAAK,CAAEC,YAAF,CAAjB;;AACA,MAAK,CAAEE,GAAP,EAAa;AACZ;AACA;;AAED,SAAOA,GAAG,CAACC,GAAJ,CAAS,mCAAwBF,IAAxB,CAAT,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,cAAT,CAAyBL,KAAzB,EAAgCC,YAAhC,EAA8CC,IAA9C,EAAqD;AAC3D,QAAMI,eAAe,GAAGP,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAA1C;AAEA,SAAOI,eAAe,IAAIA,eAAe,CAACC,MAAhB,KAA2B,WAArD;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,oBAAT,CAA+BR,KAA/B,EAAsCC,YAAtC,EAAoDC,IAApD,EAA2D;AACjE,SAAOH,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAAlB,KAAoDO,SAA3D;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,qBAAT,CAAgCV,KAAhC,EAAuCC,YAAvC,EAAqDC,IAArD,EAA4D;AAAA;;AAClE,QAAMK,MAAM,0BAAGR,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAArB,wDAAG,oBAAiDK,MAAhE;AACA,SAAOA,MAAM,KAAK,UAAX,IAAyBA,MAAM,KAAK,OAA3C;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASI,mBAAT,CAA8BX,KAA9B,EAAqCC,YAArC,EAAmDC,IAAnD,EAA0D;AAAA;;AAChE,SAAO,yBAAAH,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAAlB,8EAAiDK,MAAjD,MAA4D,OAAnE;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASK,kBAAT,CAA6BZ,KAA7B,EAAoCC,YAApC,EAAkDC,IAAlD,EAAyD;AAC/D,QAAMI,eAAe,GAAGP,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAA1C;AACA,SAAO,CAAAI,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEC,MAAjB,MAA4B,OAA5B,GAAsCD,eAAe,CAACO,KAAtD,GAA8D,IAArE;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,WAAT,CAAsBd,KAAtB,EAA6BC,YAA7B,EAA2CC,IAA3C,EAAkD;AAAA;;AACxD,SACC,yBAAAH,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAAlB,8EAAiDK,MAAjD,MAA4D,WAD7D;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASQ,kBAAT,CAA6Bf,KAA7B,EAAqC;AAC3C,SAAOA,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASgB,qBAAT,CAAgChB,KAAhC,EAAwC;AAC9C,SAAO,CAAE,GAAGiB,MAAM,CAACC,MAAP,CAAelB,KAAf,CAAL,EAA8BmB,IAA9B,CAAsCC,aAAF,IAC1C,CAAE,GAAGA,aAAa,CAACC,IAAd,CAAmBH,MAAnB,EAAL,EAAmCC,IAAnC,CACGG,UAAF;AAAA;;AAAA,WAAkB,iBAAAA,UAAU,CAAE,CAAF,CAAV,8DAAiBf,MAAjB,MAA4B,WAA9C;AAAA,GADD,CADM,CAAP;AAKA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { selectorArgsToStateKey } from './utils';\n\n/** @typedef {Record<string, import('./reducer').State>} State */\n/** @typedef {import('./reducer').StateValue} StateValue */\n/** @typedef {import('./reducer').Status} Status */\n\n/**\n * Returns the raw resolution state value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {StateValue|undefined} isResolving value.\n */\nexport function getResolutionState( state, selectorName, args ) {\n\tconst map = state[ selectorName ];\n\tif ( ! map ) {\n\t\treturn;\n\t}\n\n\treturn map.get( selectorArgsToStateKey( args ) );\n}\n\n/**\n * Returns the raw `isResolving` value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean | undefined} isResolving value.\n */\nexport function getIsResolving( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\n\treturn resolutionState && resolutionState.status === 'resolving';\n}\n\n/**\n * Returns true if resolution has already been triggered for a given\n * selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has been triggered.\n */\nexport function hasStartedResolution( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args ) !== undefined;\n}\n\n/**\n * Returns true if resolution has completed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has completed.\n */\nexport function hasFinishedResolution( state, selectorName, args ) {\n\tconst status = getResolutionState( state, selectorName, args )?.status;\n\treturn status === 'finished' || status === 'error';\n}\n\n/**\n * Returns true if resolution has failed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Has resolution failed\n */\nexport function hasResolutionFailed( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args )?.status === 'error';\n}\n\n/**\n * Returns the resolution error for a given selector name, and arguments set.\n * Note it may be of an Error type, but may also be null, undefined, or anything else\n * that can be `throw`-n.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {Error|unknown} Last resolution error\n */\nexport function getResolutionError( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\treturn resolutionState?.status === 'error' ? resolutionState.error : null;\n}\n\n/**\n * Returns true if resolution has been triggered but has not yet completed for\n * a given selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution is in progress.\n */\nexport function isResolving( state, selectorName, args ) {\n\treturn (\n\t\tgetResolutionState( state, selectorName, args )?.status === 'resolving'\n\t);\n}\n\n/**\n * Returns the list of the cached resolvers.\n *\n * @param {State} state Data state.\n *\n * @return {State} Resolvers mapped by args and selectorName.\n */\nexport function getCachedResolvers( state ) {\n\treturn state;\n}\n\n/**\n * Whether the store has any currently resolving selectors.\n *\n * @param {State} state Data state.\n *\n * @return {boolean} True if one or more selectors are resolving, false otherwise.\n */\nexport function hasResolvingSelectors( state ) {\n\treturn [ ...Object.values( state ) ].some( ( selectorState ) =>\n\t\t[ ...selectorState._map.values() ].some(\n\t\t\t( resolution ) => resolution[ 1 ]?.status === 'resolving'\n\t\t)\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/redux-store/metadata/selectors.js"],"names":["getResolutionState","state","selectorName","args","map","get","getIsResolving","resolutionState","status","hasStartedResolution","undefined","hasFinishedResolution","hasResolutionFailed","getResolutionError","error","isResolving","getCachedResolvers","hasResolvingSelectors","Object","values","some","selectorState","Array","from","_map","resolution"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { selectorArgsToStateKey } from './utils';\n\n/** @typedef {Record<string, import('./reducer').State>} State */\n/** @typedef {import('./reducer').StateValue} StateValue */\n/** @typedef {import('./reducer').Status} Status */\n\n/**\n * Returns the raw resolution state value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {StateValue|undefined} isResolving value.\n */\nexport function getResolutionState( state, selectorName, args ) {\n\tconst map = state[ selectorName ];\n\tif ( ! map ) {\n\t\treturn;\n\t}\n\n\treturn map.get( selectorArgsToStateKey( args ) );\n}\n\n/**\n * Returns the raw `isResolving` value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean | undefined} isResolving value.\n */\nexport function getIsResolving( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\n\treturn resolutionState && resolutionState.status === 'resolving';\n}\n\n/**\n * Returns true if resolution has already been triggered for a given\n * selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has been triggered.\n */\nexport function hasStartedResolution( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args ) !== undefined;\n}\n\n/**\n * Returns true if resolution has completed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has completed.\n */\nexport function hasFinishedResolution( state, selectorName, args ) {\n\tconst status = getResolutionState( state, selectorName, args )?.status;\n\treturn status === 'finished' || status === 'error';\n}\n\n/**\n * Returns true if resolution has failed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Has resolution failed\n */\nexport function hasResolutionFailed( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args )?.status === 'error';\n}\n\n/**\n * Returns the resolution error for a given selector name, and arguments set.\n * Note it may be of an Error type, but may also be null, undefined, or anything else\n * that can be `throw`-n.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {Error|unknown} Last resolution error\n */\nexport function getResolutionError( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\treturn resolutionState?.status === 'error' ? resolutionState.error : null;\n}\n\n/**\n * Returns true if resolution has been triggered but has not yet completed for\n * a given selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution is in progress.\n */\nexport function isResolving( state, selectorName, args ) {\n\treturn (\n\t\tgetResolutionState( state, selectorName, args )?.status === 'resolving'\n\t);\n}\n\n/**\n * Returns the list of the cached resolvers.\n *\n * @param {State} state Data state.\n *\n * @return {State} Resolvers mapped by args and selectorName.\n */\nexport function getCachedResolvers( state ) {\n\treturn state;\n}\n\n/**\n * Whether the store has any currently resolving selectors.\n *\n * @param {State} state Data state.\n *\n * @return {boolean} True if one or more selectors are resolving, false otherwise.\n */\nexport function hasResolvingSelectors( state ) {\n\treturn Object.values( state ).some( ( selectorState ) =>\n\t\t/**\n\t\t * This uses the internal `_map` property of `EquivalentKeyMap` for\n\t\t * optimization purposes, since the `EquivalentKeyMap` implementation\n\t\t * does not support a `.values()` implementation.\n\t\t *\n\t\t * @see https://github.com/aduth/equivalent-key-map\n\t\t */\n\t\tArray.from( selectorState._map.values() ).some(\n\t\t\t( resolution ) => resolution[ 1 ]?.status === 'resolving'\n\t\t)\n\t);\n}\n"]}
@@ -200,12 +200,18 @@ export default function createReduxStore(key, options) {
200
200
  }, store);
201
201
  lock(selectors, new Proxy(privateSelectors, {
202
202
  get: (target, prop) => {
203
- return mapSelectors(mapValues(privateSelectors, selector => function (state) {
204
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
205
- args[_key3 - 1] = arguments[_key3];
203
+ return mapSelectors(mapValues(privateSelectors, selector => {
204
+ if (selector.isRegistrySelector) {
205
+ selector.registry = registry;
206
206
  }
207
207
 
208
- return selector(state.root, ...args);
208
+ return function (state) {
209
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
210
+ args[_key3 - 1] = arguments[_key3];
211
+ }
212
+
213
+ return selector(state.root, ...args);
214
+ };
209
215
  }), store)[prop] || selectors[prop];
210
216
  }
211
217
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/redux-store/index.js"],"names":["createStore","applyMiddleware","combineReducers","EquivalentKeyMap","createReduxRoutineMiddleware","compose","builtinControls","lock","promise","createResolversCacheMiddleware","createThunkMiddleware","metadataReducer","metadataSelectors","metadataActions","trimUndefinedValues","array","result","i","length","undefined","splice","mapValues","obj","callback","Object","entries","reduce","acc","key","value","mapToObject","state","Map","fromEntries","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","set","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","action","store","getActions","select","selector","__unstableOriginalGetState","getSelectors","resolveSelect","getResolveSelectors","instantiateReduxStore","resolversCache","resolvers","mapActions","Proxy","target","prop","mapSelectors","metadata","isRegistrySelector","root","mapResolvers","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSuspendSelectors","getState","subscribe","listener","lastState","hasChanged","controls","normalizedControls","control","isRegistryControl","middlewares","enhancers","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","createStateSelector","registrySelector","runSelector","argsLength","arguments","Array","hasResolver","createBoundAction","Promise","resolve","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","apply","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","mappedResolvers","resolver","fulfill","mapSelector","selectorResolver","fulfillSelector","isFulfilled","setTimeout","startResolution","fulfillResolver","finishResolution","failResolution"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\nimport combineReducers from 'turbo-combine-reducers';\nimport EquivalentKeyMap from 'equivalent-key-map';\n\n/**\n * WordPress dependencies\n */\nimport createReduxRoutineMiddleware from '@wordpress/redux-routine';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { builtinControls } from '../controls';\nimport { lock } from '../private-apis';\nimport promise from '../promise-middleware';\nimport createResolversCacheMiddleware from '../resolvers-cache-middleware';\nimport createThunkMiddleware from './thunk-middleware';\nimport metadataReducer from './metadata/reducer';\nimport * as metadataSelectors from './metadata/selectors';\nimport * as metadataActions from './metadata/actions';\n\n/** @typedef {import('../types').DataRegistry} DataRegistry */\n/**\n * @typedef {import('../types').StoreDescriptor<C>} StoreDescriptor\n * @template {import('../types').AnyConfig} C\n */\n/**\n * @typedef {import('../types').ReduxStoreConfig<State,Actions,Selectors>} ReduxStoreConfig\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n */\n\nconst trimUndefinedValues = ( array ) => {\n\tconst result = [ ...array ];\n\tfor ( let i = result.length - 1; i >= 0; i-- ) {\n\t\tif ( result[ i ] === undefined ) {\n\t\t\tresult.splice( i, 1 );\n\t\t}\n\t}\n\treturn result;\n};\n\n/**\n * Creates a new object with the same keys, but with `callback()` called as\n * a transformer function on each of the values.\n *\n * @param {Object} obj The object to transform.\n * @param {Function} callback The function to transform each object value.\n * @return {Array} Transformed object.\n */\nconst mapValues = ( obj, callback ) =>\n\tObject.entries( obj ?? {} ).reduce(\n\t\t( acc, [ key, value ] ) => ( {\n\t\t\t...acc,\n\t\t\t[ key ]: callback( value, key ),\n\t\t} ),\n\t\t{}\n\t);\n\n// Convert Map objects to plain objects\nconst mapToObject = ( key, state ) => {\n\tif ( state instanceof Map ) {\n\t\treturn Object.fromEntries( state );\n\t}\n\n\treturn state;\n};\n\n/**\n * Create a cache to track whether resolvers started running or not.\n *\n * @return {Object} Resolvers Cache.\n */\nfunction createResolversCache() {\n\tconst cache = {};\n\treturn {\n\t\tisRunning( selectorName, args ) {\n\t\t\treturn (\n\t\t\t\tcache[ selectorName ] &&\n\t\t\t\tcache[ selectorName ].get( trimUndefinedValues( args ) )\n\t\t\t);\n\t\t},\n\n\t\tclear( selectorName, args ) {\n\t\t\tif ( cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ].delete( trimUndefinedValues( args ) );\n\t\t\t}\n\t\t},\n\n\t\tmarkAsRunning( selectorName, args ) {\n\t\t\tif ( ! cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ] = new EquivalentKeyMap();\n\t\t\t}\n\n\t\t\tcache[ selectorName ].set( trimUndefinedValues( args ), true );\n\t\t},\n\t};\n}\n\n/**\n * Creates a data store descriptor for the provided Redux store configuration containing\n * properties describing reducer, actions, selectors, controls and resolvers.\n *\n * @example\n * ```js\n * import { createReduxStore } from '@wordpress/data';\n *\n * const store = createReduxStore( 'demo', {\n * reducer: ( state = 'OK' ) => state,\n * selectors: {\n * getValue: ( state ) => state,\n * },\n * } );\n * ```\n *\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n * @param {string} key Unique namespace identifier.\n * @param {ReduxStoreConfig<State,Actions,Selectors>} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n *\n * @return {StoreDescriptor<ReduxStoreConfig<State,Actions,Selectors>>} Store Object.\n */\nexport default function createReduxStore( key, options ) {\n\tconst privateActions = {};\n\tconst privateSelectors = {};\n\tconst privateRegistrationFunctions = {\n\t\tprivateActions,\n\t\tregisterPrivateActions: ( actions ) => {\n\t\t\tObject.assign( privateActions, actions );\n\t\t},\n\t\tprivateSelectors,\n\t\tregisterPrivateSelectors: ( selectors ) => {\n\t\t\tObject.assign( privateSelectors, selectors );\n\t\t},\n\t};\n\tconst storeDescriptor = {\n\t\tname: key,\n\t\tinstantiate: ( registry ) => {\n\t\t\tconst reducer = options.reducer;\n\t\t\tconst thunkArgs = {\n\t\t\t\tregistry,\n\t\t\t\tget dispatch() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( action ) => store.dispatch( action ),\n\t\t\t\t\t\tgetActions()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t\t\t\tgetSelectors()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget resolveSelect() {\n\t\t\t\t\treturn getResolveSelectors();\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst store = instantiateReduxStore(\n\t\t\t\tkey,\n\t\t\t\toptions,\n\t\t\t\tregistry,\n\t\t\t\tthunkArgs\n\t\t\t);\n\t\t\t// Expose the private registration functions on the store\n\t\t\t// so they can be copied to a sub registry in registry.js.\n\t\t\tlock( store, privateRegistrationFunctions );\n\t\t\tconst resolversCache = createResolversCache();\n\n\t\t\tlet resolvers;\n\t\t\tconst actions = mapActions(\n\t\t\t\t{\n\t\t\t\t\t...metadataActions,\n\t\t\t\t\t...options.actions,\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tactions,\n\t\t\t\tnew Proxy( privateActions, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapActions( privateActions, store )[ prop ] ||\n\t\t\t\t\t\t\tactions[ prop ]\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\tlet selectors = mapSelectors(\n\t\t\t\t{\n\t\t\t\t\t...mapValues(\n\t\t\t\t\t\tmetadataSelectors,\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t( state, ...args ) =>\n\t\t\t\t\t\t\t\tselector( state.metadata, ...args )\n\t\t\t\t\t),\n\t\t\t\t\t...mapValues( options.selectors, ( selector ) => {\n\t\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ( state, ...args ) =>\n\t\t\t\t\t\t\tselector( state.root, ...args );\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tselectors,\n\t\t\t\tnew Proxy( privateSelectors, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapSelectors(\n\t\t\t\t\t\t\t\tmapValues(\n\t\t\t\t\t\t\t\t\tprivateSelectors,\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t( state, ...args ) =>\n\t\t\t\t\t\t\t\t\t\t\tselector( state.root, ...args )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstore\n\t\t\t\t\t\t\t)[ prop ] || selectors[ prop ]\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\tif ( options.resolvers ) {\n\t\t\t\tconst result = mapResolvers(\n\t\t\t\t\toptions.resolvers,\n\t\t\t\t\tselectors,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t\tresolvers = result.resolvers;\n\t\t\t\tselectors = result.selectors;\n\t\t\t}\n\n\t\t\tconst resolveSelectors = mapResolveSelectors( selectors, store );\n\t\t\tconst suspendSelectors = mapSuspendSelectors( selectors, store );\n\n\t\t\tconst getSelectors = () => selectors;\n\t\t\tconst getActions = () => actions;\n\t\t\tconst getResolveSelectors = () => resolveSelectors;\n\t\t\tconst getSuspendSelectors = () => suspendSelectors;\n\n\t\t\t// We have some modules monkey-patching the store object\n\t\t\t// It's wrong to do so but until we refactor all of our effects to controls\n\t\t\t// We need to keep the same \"store\" instance here.\n\t\t\tstore.__unstableOriginalGetState = store.getState;\n\t\t\tstore.getState = () => store.__unstableOriginalGetState().root;\n\n\t\t\t// Customize subscribe behavior to call listeners only on effective change,\n\t\t\t// not on every dispatch.\n\t\t\tconst subscribe =\n\t\t\t\tstore &&\n\t\t\t\t( ( listener ) => {\n\t\t\t\t\tlet lastState = store.__unstableOriginalGetState();\n\t\t\t\t\treturn store.subscribe( () => {\n\t\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\t\tconst hasChanged = state !== lastState;\n\t\t\t\t\t\tlastState = state;\n\n\t\t\t\t\t\tif ( hasChanged ) {\n\t\t\t\t\t\t\tlistener();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// This can be simplified to just { subscribe, getSelectors, getActions }\n\t\t\t// Once we remove the use function.\n\t\t\treturn {\n\t\t\t\treducer,\n\t\t\t\tstore,\n\t\t\t\tactions,\n\t\t\t\tselectors,\n\t\t\t\tresolvers,\n\t\t\t\tgetSelectors,\n\t\t\t\tgetResolveSelectors,\n\t\t\t\tgetSuspendSelectors,\n\t\t\t\tgetActions,\n\t\t\t\tsubscribe,\n\t\t\t};\n\t\t},\n\t};\n\n\t// Expose the private registration functions on the store\n\t// descriptor. That's a natural choice since that's where the\n\t// public actions and selectors are stored .\n\tlock( storeDescriptor, privateRegistrationFunctions );\n\n\treturn storeDescriptor;\n}\n\n/**\n * Creates a redux store for a namespace.\n *\n * @param {string} key Unique namespace identifier.\n * @param {Object} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n * @param {DataRegistry} registry Registry reference.\n * @param {Object} thunkArgs Argument object for the thunk middleware.\n * @return {Object} Newly created redux store.\n */\nfunction instantiateReduxStore( key, options, registry, thunkArgs ) {\n\tconst controls = {\n\t\t...options.controls,\n\t\t...builtinControls,\n\t};\n\n\tconst normalizedControls = mapValues( controls, ( control ) =>\n\t\tcontrol.isRegistryControl ? control( registry ) : control\n\t);\n\n\tconst middlewares = [\n\t\tcreateResolversCacheMiddleware( registry, key ),\n\t\tpromise,\n\t\tcreateReduxRoutineMiddleware( normalizedControls ),\n\t\tcreateThunkMiddleware( thunkArgs ),\n\t];\n\n\tconst enhancers = [ applyMiddleware( ...middlewares ) ];\n\tif (\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.__REDUX_DEVTOOLS_EXTENSION__\n\t) {\n\t\tenhancers.push(\n\t\t\twindow.__REDUX_DEVTOOLS_EXTENSION__( {\n\t\t\t\tname: key,\n\t\t\t\tinstanceId: key,\n\t\t\t\tserialize: {\n\t\t\t\t\treplacer: mapToObject,\n\t\t\t\t},\n\t\t\t} )\n\t\t);\n\t}\n\n\tconst { reducer, initialState } = options;\n\tconst enhancedReducer = combineReducers( {\n\t\tmetadata: metadataReducer,\n\t\troot: reducer,\n\t} );\n\n\treturn createStore(\n\t\tenhancedReducer,\n\t\t{ root: initialState },\n\t\tcompose( enhancers )\n\t);\n}\n\n/**\n * Maps selectors to a store.\n *\n * @param {Object} selectors Selectors to register. Keys will be used as the\n * public facing API. Selectors will get passed the\n * state as first argument.\n * @param {Object} store The store to which the selectors should be mapped.\n * @return {Object} Selectors mapped to the provided store.\n */\nfunction mapSelectors( selectors, store ) {\n\tconst createStateSelector = ( registrySelector ) => {\n\t\tconst selector = function runSelector() {\n\t\t\t// This function is an optimized implementation of:\n\t\t\t//\n\t\t\t// selector( store.getState(), ...arguments )\n\t\t\t//\n\t\t\t// Where the above would incur an `Array#concat` in its application,\n\t\t\t// the logic here instead efficiently constructs an arguments array via\n\t\t\t// direct assignment.\n\t\t\tconst argsLength = arguments.length;\n\t\t\tconst args = new Array( argsLength + 1 );\n\t\t\targs[ 0 ] = store.__unstableOriginalGetState();\n\t\t\tfor ( let i = 0; i < argsLength; i++ ) {\n\t\t\t\targs[ i + 1 ] = arguments[ i ];\n\t\t\t}\n\n\t\t\treturn registrySelector( ...args );\n\t\t};\n\t\tselector.hasResolver = false;\n\t\treturn selector;\n\t};\n\n\treturn mapValues( selectors, createStateSelector );\n}\n\n/**\n * Maps actions to dispatch from a given store.\n *\n * @param {Object} actions Actions to register.\n * @param {Object} store The redux store to which the actions should be mapped.\n *\n * @return {Object} Actions mapped to the redux store provided.\n */\nfunction mapActions( actions, store ) {\n\tconst createBoundAction =\n\t\t( action ) =>\n\t\t( ...args ) => {\n\t\t\treturn Promise.resolve( store.dispatch( action( ...args ) ) );\n\t\t};\n\n\treturn mapValues( actions, createBoundAction );\n}\n\n/**\n * Maps selectors to functions that return a resolution promise for them\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their resolution functions.\n */\nfunction mapResolveSelectors( selectors, store ) {\n\tconst {\n\t\tgetIsResolving,\n\t\thasStartedResolution,\n\t\thasFinishedResolution,\n\t\thasResolutionFailed,\n\t\tisResolving,\n\t\tgetCachedResolvers,\n\t\tgetResolutionState,\n\t\tgetResolutionError,\n\t\t...storeSelectors\n\t} = selectors;\n\n\treturn mapValues( storeSelectors, ( selector, selectorName ) => {\n\t\t// If the selector doesn't have a resolver, just convert the return value\n\t\t// (including exceptions) to a Promise, no additional extra behavior is needed.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn async ( ...args ) => selector.apply( null, args );\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\tconst hasFinished = () =>\n\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args );\n\t\t\t\tconst finalize = ( result ) => {\n\t\t\t\t\tconst hasFailed = selectors.hasResolutionFailed(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t\tif ( hasFailed ) {\n\t\t\t\t\t\tconst error = selectors.getResolutionError(\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject( error );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve( result );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst getResult = () => selector.apply( null, args );\n\t\t\t\t// Trigger the selector (to trigger the resolver)\n\t\t\t\tconst result = getResult();\n\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\treturn finalize( result );\n\t\t\t\t}\n\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t\tfinalize( getResult() );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Maps selectors to functions that throw a suspense promise if not yet resolved.\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their suspense functions.\n */\nfunction mapSuspendSelectors( selectors, store ) {\n\treturn mapValues( selectors, ( selector, selectorName ) => {\n\t\t// Selector without a resolver doesn't have any extra suspense behavior.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\tconst result = selector.apply( null, args );\n\n\t\t\tif ( selectors.hasFinishedResolution( selectorName, args ) ) {\n\t\t\t\tif ( selectors.hasResolutionFailed( selectorName, args ) ) {\n\t\t\t\t\tthrow selectors.getResolutionError( selectorName, args );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tthrow new Promise( ( resolve ) => {\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Returns resolvers with matched selectors for a given namespace.\n * Resolvers are side effects invoked once per argument set of a given selector call,\n * used in ensuring that the data needs for the selector are satisfied.\n *\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} selectors The current selectors to be modified.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapResolvers( resolvers, selectors, store, resolversCache ) {\n\t// The `resolver` can be either a function that does the resolution, or, in more advanced\n\t// cases, an object with a `fullfill` method and other optional methods like `isFulfilled`.\n\t// Here we normalize the `resolver` function to an object with `fulfill` method.\n\tconst mappedResolvers = mapValues( resolvers, ( resolver ) => {\n\t\tif ( resolver.fulfill ) {\n\t\t\treturn resolver;\n\t\t}\n\n\t\treturn {\n\t\t\t...resolver, // Copy the enumerable properties of the resolver function.\n\t\t\tfulfill: resolver, // Add the fulfill method.\n\t\t};\n\t} );\n\n\tconst mapSelector = ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\tselector.hasResolver = false;\n\t\t\treturn selector;\n\t\t}\n\n\t\tconst selectorResolver = ( ...args ) => {\n\t\t\tasync function fulfillSelector() {\n\t\t\t\tconst state = store.getState();\n\n\t\t\t\tif (\n\t\t\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\t\t\tif (\n\t\t\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\t\t\tsetTimeout( async () => {\n\t\t\t\t\tresolversCache.clear( selectorName, args );\n\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t\t\t);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fulfillResolver(\n\t\t\t\t\t\t\tstore,\n\t\t\t\t\t\t\tmappedResolvers,\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.finishResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( error ) {\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.failResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\t\terror\n\t\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}\n\n\t\t\tfulfillSelector( ...args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t\tselectorResolver.hasResolver = true;\n\t\treturn selectorResolver;\n\t};\n\n\treturn {\n\t\tresolvers: mappedResolvers,\n\t\tselectors: mapValues( selectors, mapSelector ),\n\t};\n}\n\n/**\n * Calls a resolver given arguments\n *\n * @param {Object} store Store reference, for fulfilling via resolvers\n * @param {Object} resolvers Store Resolvers\n * @param {string} selectorName Selector name to fulfill.\n * @param {Array} args Selector Arguments.\n */\nasync function fulfillResolver( store, resolvers, selectorName, ...args ) {\n\tconst resolver = resolvers[ selectorName ];\n\tif ( ! resolver ) {\n\t\treturn;\n\t}\n\n\tconst action = resolver.fulfill( ...args );\n\tif ( action ) {\n\t\tawait store.dispatch( action );\n\t}\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/redux-store/index.js"],"names":["createStore","applyMiddleware","combineReducers","EquivalentKeyMap","createReduxRoutineMiddleware","compose","builtinControls","lock","promise","createResolversCacheMiddleware","createThunkMiddleware","metadataReducer","metadataSelectors","metadataActions","trimUndefinedValues","array","result","i","length","undefined","splice","mapValues","obj","callback","Object","entries","reduce","acc","key","value","mapToObject","state","Map","fromEntries","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","set","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","action","store","getActions","select","selector","__unstableOriginalGetState","getSelectors","resolveSelect","getResolveSelectors","instantiateReduxStore","resolversCache","resolvers","mapActions","Proxy","target","prop","mapSelectors","metadata","isRegistrySelector","root","mapResolvers","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSuspendSelectors","getState","subscribe","listener","lastState","hasChanged","controls","normalizedControls","control","isRegistryControl","middlewares","enhancers","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","createStateSelector","registrySelector","runSelector","argsLength","arguments","Array","hasResolver","createBoundAction","Promise","resolve","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","apply","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","mappedResolvers","resolver","fulfill","mapSelector","selectorResolver","fulfillSelector","isFulfilled","setTimeout","startResolution","fulfillResolver","finishResolution","failResolution"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\nimport combineReducers from 'turbo-combine-reducers';\nimport EquivalentKeyMap from 'equivalent-key-map';\n\n/**\n * WordPress dependencies\n */\nimport createReduxRoutineMiddleware from '@wordpress/redux-routine';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { builtinControls } from '../controls';\nimport { lock } from '../private-apis';\nimport promise from '../promise-middleware';\nimport createResolversCacheMiddleware from '../resolvers-cache-middleware';\nimport createThunkMiddleware from './thunk-middleware';\nimport metadataReducer from './metadata/reducer';\nimport * as metadataSelectors from './metadata/selectors';\nimport * as metadataActions from './metadata/actions';\n\n/** @typedef {import('../types').DataRegistry} DataRegistry */\n/**\n * @typedef {import('../types').StoreDescriptor<C>} StoreDescriptor\n * @template {import('../types').AnyConfig} C\n */\n/**\n * @typedef {import('../types').ReduxStoreConfig<State,Actions,Selectors>} ReduxStoreConfig\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n */\n\nconst trimUndefinedValues = ( array ) => {\n\tconst result = [ ...array ];\n\tfor ( let i = result.length - 1; i >= 0; i-- ) {\n\t\tif ( result[ i ] === undefined ) {\n\t\t\tresult.splice( i, 1 );\n\t\t}\n\t}\n\treturn result;\n};\n\n/**\n * Creates a new object with the same keys, but with `callback()` called as\n * a transformer function on each of the values.\n *\n * @param {Object} obj The object to transform.\n * @param {Function} callback The function to transform each object value.\n * @return {Array} Transformed object.\n */\nconst mapValues = ( obj, callback ) =>\n\tObject.entries( obj ?? {} ).reduce(\n\t\t( acc, [ key, value ] ) => ( {\n\t\t\t...acc,\n\t\t\t[ key ]: callback( value, key ),\n\t\t} ),\n\t\t{}\n\t);\n\n// Convert Map objects to plain objects\nconst mapToObject = ( key, state ) => {\n\tif ( state instanceof Map ) {\n\t\treturn Object.fromEntries( state );\n\t}\n\n\treturn state;\n};\n\n/**\n * Create a cache to track whether resolvers started running or not.\n *\n * @return {Object} Resolvers Cache.\n */\nfunction createResolversCache() {\n\tconst cache = {};\n\treturn {\n\t\tisRunning( selectorName, args ) {\n\t\t\treturn (\n\t\t\t\tcache[ selectorName ] &&\n\t\t\t\tcache[ selectorName ].get( trimUndefinedValues( args ) )\n\t\t\t);\n\t\t},\n\n\t\tclear( selectorName, args ) {\n\t\t\tif ( cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ].delete( trimUndefinedValues( args ) );\n\t\t\t}\n\t\t},\n\n\t\tmarkAsRunning( selectorName, args ) {\n\t\t\tif ( ! cache[ selectorName ] ) {\n\t\t\t\tcache[ selectorName ] = new EquivalentKeyMap();\n\t\t\t}\n\n\t\t\tcache[ selectorName ].set( trimUndefinedValues( args ), true );\n\t\t},\n\t};\n}\n\n/**\n * Creates a data store descriptor for the provided Redux store configuration containing\n * properties describing reducer, actions, selectors, controls and resolvers.\n *\n * @example\n * ```js\n * import { createReduxStore } from '@wordpress/data';\n *\n * const store = createReduxStore( 'demo', {\n * reducer: ( state = 'OK' ) => state,\n * selectors: {\n * getValue: ( state ) => state,\n * },\n * } );\n * ```\n *\n * @template State\n * @template {Record<string,import('../../types').ActionCreator>} Actions\n * @template Selectors\n * @param {string} key Unique namespace identifier.\n * @param {ReduxStoreConfig<State,Actions,Selectors>} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n *\n * @return {StoreDescriptor<ReduxStoreConfig<State,Actions,Selectors>>} Store Object.\n */\nexport default function createReduxStore( key, options ) {\n\tconst privateActions = {};\n\tconst privateSelectors = {};\n\tconst privateRegistrationFunctions = {\n\t\tprivateActions,\n\t\tregisterPrivateActions: ( actions ) => {\n\t\t\tObject.assign( privateActions, actions );\n\t\t},\n\t\tprivateSelectors,\n\t\tregisterPrivateSelectors: ( selectors ) => {\n\t\t\tObject.assign( privateSelectors, selectors );\n\t\t},\n\t};\n\tconst storeDescriptor = {\n\t\tname: key,\n\t\tinstantiate: ( registry ) => {\n\t\t\tconst reducer = options.reducer;\n\t\t\tconst thunkArgs = {\n\t\t\t\tregistry,\n\t\t\t\tget dispatch() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( action ) => store.dispatch( action ),\n\t\t\t\t\t\tgetActions()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn Object.assign(\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t\t\t\tgetSelectors()\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tget resolveSelect() {\n\t\t\t\t\treturn getResolveSelectors();\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst store = instantiateReduxStore(\n\t\t\t\tkey,\n\t\t\t\toptions,\n\t\t\t\tregistry,\n\t\t\t\tthunkArgs\n\t\t\t);\n\t\t\t// Expose the private registration functions on the store\n\t\t\t// so they can be copied to a sub registry in registry.js.\n\t\t\tlock( store, privateRegistrationFunctions );\n\t\t\tconst resolversCache = createResolversCache();\n\n\t\t\tlet resolvers;\n\t\t\tconst actions = mapActions(\n\t\t\t\t{\n\t\t\t\t\t...metadataActions,\n\t\t\t\t\t...options.actions,\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tactions,\n\t\t\t\tnew Proxy( privateActions, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapActions( privateActions, store )[ prop ] ||\n\t\t\t\t\t\t\tactions[ prop ]\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\tlet selectors = mapSelectors(\n\t\t\t\t{\n\t\t\t\t\t...mapValues(\n\t\t\t\t\t\tmetadataSelectors,\n\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t( state, ...args ) =>\n\t\t\t\t\t\t\t\tselector( state.metadata, ...args )\n\t\t\t\t\t),\n\t\t\t\t\t...mapValues( options.selectors, ( selector ) => {\n\t\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ( state, ...args ) =>\n\t\t\t\t\t\t\tselector( state.root, ...args );\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\tstore\n\t\t\t);\n\t\t\tlock(\n\t\t\t\tselectors,\n\t\t\t\tnew Proxy( privateSelectors, {\n\t\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tmapSelectors(\n\t\t\t\t\t\t\t\tmapValues( privateSelectors, ( selector ) => {\n\t\t\t\t\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn ( state, ...args ) =>\n\t\t\t\t\t\t\t\t\t\tselector( state.root, ...args );\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t\tstore\n\t\t\t\t\t\t\t)[ prop ] || selectors[ prop ]\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\tif ( options.resolvers ) {\n\t\t\t\tconst result = mapResolvers(\n\t\t\t\t\toptions.resolvers,\n\t\t\t\t\tselectors,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t\tresolvers = result.resolvers;\n\t\t\t\tselectors = result.selectors;\n\t\t\t}\n\n\t\t\tconst resolveSelectors = mapResolveSelectors( selectors, store );\n\t\t\tconst suspendSelectors = mapSuspendSelectors( selectors, store );\n\n\t\t\tconst getSelectors = () => selectors;\n\t\t\tconst getActions = () => actions;\n\t\t\tconst getResolveSelectors = () => resolveSelectors;\n\t\t\tconst getSuspendSelectors = () => suspendSelectors;\n\n\t\t\t// We have some modules monkey-patching the store object\n\t\t\t// It's wrong to do so but until we refactor all of our effects to controls\n\t\t\t// We need to keep the same \"store\" instance here.\n\t\t\tstore.__unstableOriginalGetState = store.getState;\n\t\t\tstore.getState = () => store.__unstableOriginalGetState().root;\n\n\t\t\t// Customize subscribe behavior to call listeners only on effective change,\n\t\t\t// not on every dispatch.\n\t\t\tconst subscribe =\n\t\t\t\tstore &&\n\t\t\t\t( ( listener ) => {\n\t\t\t\t\tlet lastState = store.__unstableOriginalGetState();\n\t\t\t\t\treturn store.subscribe( () => {\n\t\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\t\tconst hasChanged = state !== lastState;\n\t\t\t\t\t\tlastState = state;\n\n\t\t\t\t\t\tif ( hasChanged ) {\n\t\t\t\t\t\t\tlistener();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// This can be simplified to just { subscribe, getSelectors, getActions }\n\t\t\t// Once we remove the use function.\n\t\t\treturn {\n\t\t\t\treducer,\n\t\t\t\tstore,\n\t\t\t\tactions,\n\t\t\t\tselectors,\n\t\t\t\tresolvers,\n\t\t\t\tgetSelectors,\n\t\t\t\tgetResolveSelectors,\n\t\t\t\tgetSuspendSelectors,\n\t\t\t\tgetActions,\n\t\t\t\tsubscribe,\n\t\t\t};\n\t\t},\n\t};\n\n\t// Expose the private registration functions on the store\n\t// descriptor. That's a natural choice since that's where the\n\t// public actions and selectors are stored .\n\tlock( storeDescriptor, privateRegistrationFunctions );\n\n\treturn storeDescriptor;\n}\n\n/**\n * Creates a redux store for a namespace.\n *\n * @param {string} key Unique namespace identifier.\n * @param {Object} options Registered store options, with properties\n * describing reducer, actions, selectors,\n * and resolvers.\n * @param {DataRegistry} registry Registry reference.\n * @param {Object} thunkArgs Argument object for the thunk middleware.\n * @return {Object} Newly created redux store.\n */\nfunction instantiateReduxStore( key, options, registry, thunkArgs ) {\n\tconst controls = {\n\t\t...options.controls,\n\t\t...builtinControls,\n\t};\n\n\tconst normalizedControls = mapValues( controls, ( control ) =>\n\t\tcontrol.isRegistryControl ? control( registry ) : control\n\t);\n\n\tconst middlewares = [\n\t\tcreateResolversCacheMiddleware( registry, key ),\n\t\tpromise,\n\t\tcreateReduxRoutineMiddleware( normalizedControls ),\n\t\tcreateThunkMiddleware( thunkArgs ),\n\t];\n\n\tconst enhancers = [ applyMiddleware( ...middlewares ) ];\n\tif (\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.__REDUX_DEVTOOLS_EXTENSION__\n\t) {\n\t\tenhancers.push(\n\t\t\twindow.__REDUX_DEVTOOLS_EXTENSION__( {\n\t\t\t\tname: key,\n\t\t\t\tinstanceId: key,\n\t\t\t\tserialize: {\n\t\t\t\t\treplacer: mapToObject,\n\t\t\t\t},\n\t\t\t} )\n\t\t);\n\t}\n\n\tconst { reducer, initialState } = options;\n\tconst enhancedReducer = combineReducers( {\n\t\tmetadata: metadataReducer,\n\t\troot: reducer,\n\t} );\n\n\treturn createStore(\n\t\tenhancedReducer,\n\t\t{ root: initialState },\n\t\tcompose( enhancers )\n\t);\n}\n\n/**\n * Maps selectors to a store.\n *\n * @param {Object} selectors Selectors to register. Keys will be used as the\n * public facing API. Selectors will get passed the\n * state as first argument.\n * @param {Object} store The store to which the selectors should be mapped.\n * @return {Object} Selectors mapped to the provided store.\n */\nfunction mapSelectors( selectors, store ) {\n\tconst createStateSelector = ( registrySelector ) => {\n\t\tconst selector = function runSelector() {\n\t\t\t// This function is an optimized implementation of:\n\t\t\t//\n\t\t\t// selector( store.getState(), ...arguments )\n\t\t\t//\n\t\t\t// Where the above would incur an `Array#concat` in its application,\n\t\t\t// the logic here instead efficiently constructs an arguments array via\n\t\t\t// direct assignment.\n\t\t\tconst argsLength = arguments.length;\n\t\t\tconst args = new Array( argsLength + 1 );\n\t\t\targs[ 0 ] = store.__unstableOriginalGetState();\n\t\t\tfor ( let i = 0; i < argsLength; i++ ) {\n\t\t\t\targs[ i + 1 ] = arguments[ i ];\n\t\t\t}\n\n\t\t\treturn registrySelector( ...args );\n\t\t};\n\t\tselector.hasResolver = false;\n\t\treturn selector;\n\t};\n\n\treturn mapValues( selectors, createStateSelector );\n}\n\n/**\n * Maps actions to dispatch from a given store.\n *\n * @param {Object} actions Actions to register.\n * @param {Object} store The redux store to which the actions should be mapped.\n *\n * @return {Object} Actions mapped to the redux store provided.\n */\nfunction mapActions( actions, store ) {\n\tconst createBoundAction =\n\t\t( action ) =>\n\t\t( ...args ) => {\n\t\t\treturn Promise.resolve( store.dispatch( action( ...args ) ) );\n\t\t};\n\n\treturn mapValues( actions, createBoundAction );\n}\n\n/**\n * Maps selectors to functions that return a resolution promise for them\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their resolution functions.\n */\nfunction mapResolveSelectors( selectors, store ) {\n\tconst {\n\t\tgetIsResolving,\n\t\thasStartedResolution,\n\t\thasFinishedResolution,\n\t\thasResolutionFailed,\n\t\tisResolving,\n\t\tgetCachedResolvers,\n\t\tgetResolutionState,\n\t\tgetResolutionError,\n\t\t...storeSelectors\n\t} = selectors;\n\n\treturn mapValues( storeSelectors, ( selector, selectorName ) => {\n\t\t// If the selector doesn't have a resolver, just convert the return value\n\t\t// (including exceptions) to a Promise, no additional extra behavior is needed.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn async ( ...args ) => selector.apply( null, args );\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\tconst hasFinished = () =>\n\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args );\n\t\t\t\tconst finalize = ( result ) => {\n\t\t\t\t\tconst hasFailed = selectors.hasResolutionFailed(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t\tif ( hasFailed ) {\n\t\t\t\t\t\tconst error = selectors.getResolutionError(\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject( error );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve( result );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst getResult = () => selector.apply( null, args );\n\t\t\t\t// Trigger the selector (to trigger the resolver)\n\t\t\t\tconst result = getResult();\n\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\treturn finalize( result );\n\t\t\t\t}\n\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif ( hasFinished() ) {\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t\tfinalize( getResult() );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Maps selectors to functions that throw a suspense promise if not yet resolved.\n *\n * @param {Object} selectors Selectors to map.\n * @param {Object} store The redux store the selectors select from.\n *\n * @return {Object} Selectors mapped to their suspense functions.\n */\nfunction mapSuspendSelectors( selectors, store ) {\n\treturn mapValues( selectors, ( selector, selectorName ) => {\n\t\t// Selector without a resolver doesn't have any extra suspense behavior.\n\t\tif ( ! selector.hasResolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\treturn ( ...args ) => {\n\t\t\tconst result = selector.apply( null, args );\n\n\t\t\tif ( selectors.hasFinishedResolution( selectorName, args ) ) {\n\t\t\t\tif ( selectors.hasResolutionFailed( selectorName, args ) ) {\n\t\t\t\t\tthrow selectors.getResolutionError( selectorName, args );\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tthrow new Promise( ( resolve ) => {\n\t\t\t\tconst unsubscribe = store.subscribe( () => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectors.hasFinishedResolution( selectorName, args )\n\t\t\t\t\t) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\tunsubscribe();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} );\n\t\t};\n\t} );\n}\n\n/**\n * Returns resolvers with matched selectors for a given namespace.\n * Resolvers are side effects invoked once per argument set of a given selector call,\n * used in ensuring that the data needs for the selector are satisfied.\n *\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} selectors The current selectors to be modified.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapResolvers( resolvers, selectors, store, resolversCache ) {\n\t// The `resolver` can be either a function that does the resolution, or, in more advanced\n\t// cases, an object with a `fullfill` method and other optional methods like `isFulfilled`.\n\t// Here we normalize the `resolver` function to an object with `fulfill` method.\n\tconst mappedResolvers = mapValues( resolvers, ( resolver ) => {\n\t\tif ( resolver.fulfill ) {\n\t\t\treturn resolver;\n\t\t}\n\n\t\treturn {\n\t\t\t...resolver, // Copy the enumerable properties of the resolver function.\n\t\t\tfulfill: resolver, // Add the fulfill method.\n\t\t};\n\t} );\n\n\tconst mapSelector = ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\tselector.hasResolver = false;\n\t\t\treturn selector;\n\t\t}\n\n\t\tconst selectorResolver = ( ...args ) => {\n\t\t\tasync function fulfillSelector() {\n\t\t\t\tconst state = store.getState();\n\n\t\t\t\tif (\n\t\t\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\t\t\tif (\n\t\t\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\t\t\tmetadata,\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\t\t\tsetTimeout( async () => {\n\t\t\t\t\tresolversCache.clear( selectorName, args );\n\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t\t\t);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fulfillResolver(\n\t\t\t\t\t\t\tstore,\n\t\t\t\t\t\t\tmappedResolvers,\n\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.finishResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( error ) {\n\t\t\t\t\t\tstore.dispatch(\n\t\t\t\t\t\t\tmetadataActions.failResolution(\n\t\t\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\t\t\targs,\n\t\t\t\t\t\t\t\terror\n\t\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}\n\n\t\t\tfulfillSelector( ...args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t\tselectorResolver.hasResolver = true;\n\t\treturn selectorResolver;\n\t};\n\n\treturn {\n\t\tresolvers: mappedResolvers,\n\t\tselectors: mapValues( selectors, mapSelector ),\n\t};\n}\n\n/**\n * Calls a resolver given arguments\n *\n * @param {Object} store Store reference, for fulfilling via resolvers\n * @param {Object} resolvers Store Resolvers\n * @param {string} selectorName Selector name to fulfill.\n * @param {Array} args Selector Arguments.\n */\nasync function fulfillResolver( store, resolvers, selectorName, ...args ) {\n\tconst resolver = resolvers[ selectorName ];\n\tif ( ! resolver ) {\n\t\treturn;\n\t}\n\n\tconst action = resolver.fulfill( ...args );\n\tif ( action ) {\n\t\tawait store.dispatch( action );\n\t}\n}\n"]}
@@ -146,7 +146,15 @@ export function getCachedResolvers(state) {
146
146
  */
147
147
 
148
148
  export function hasResolvingSelectors(state) {
149
- return [...Object.values(state)].some(selectorState => [...selectorState._map.values()].some(resolution => {
149
+ return Object.values(state).some(selectorState =>
150
+ /**
151
+ * This uses the internal `_map` property of `EquivalentKeyMap` for
152
+ * optimization purposes, since the `EquivalentKeyMap` implementation
153
+ * does not support a `.values()` implementation.
154
+ *
155
+ * @see https://github.com/aduth/equivalent-key-map
156
+ */
157
+ Array.from(selectorState._map.values()).some(resolution => {
150
158
  var _resolution$;
151
159
 
152
160
  return ((_resolution$ = resolution[1]) === null || _resolution$ === void 0 ? void 0 : _resolution$.status) === 'resolving';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/redux-store/metadata/selectors.js"],"names":["selectorArgsToStateKey","getResolutionState","state","selectorName","args","map","get","getIsResolving","resolutionState","status","hasStartedResolution","undefined","hasFinishedResolution","hasResolutionFailed","getResolutionError","error","isResolving","getCachedResolvers","hasResolvingSelectors","Object","values","some","selectorState","_map","resolution"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { selectorArgsToStateKey } from './utils';\n\n/** @typedef {Record<string, import('./reducer').State>} State */\n/** @typedef {import('./reducer').StateValue} StateValue */\n/** @typedef {import('./reducer').Status} Status */\n\n/**\n * Returns the raw resolution state value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {StateValue|undefined} isResolving value.\n */\nexport function getResolutionState( state, selectorName, args ) {\n\tconst map = state[ selectorName ];\n\tif ( ! map ) {\n\t\treturn;\n\t}\n\n\treturn map.get( selectorArgsToStateKey( args ) );\n}\n\n/**\n * Returns the raw `isResolving` value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean | undefined} isResolving value.\n */\nexport function getIsResolving( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\n\treturn resolutionState && resolutionState.status === 'resolving';\n}\n\n/**\n * Returns true if resolution has already been triggered for a given\n * selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has been triggered.\n */\nexport function hasStartedResolution( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args ) !== undefined;\n}\n\n/**\n * Returns true if resolution has completed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has completed.\n */\nexport function hasFinishedResolution( state, selectorName, args ) {\n\tconst status = getResolutionState( state, selectorName, args )?.status;\n\treturn status === 'finished' || status === 'error';\n}\n\n/**\n * Returns true if resolution has failed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Has resolution failed\n */\nexport function hasResolutionFailed( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args )?.status === 'error';\n}\n\n/**\n * Returns the resolution error for a given selector name, and arguments set.\n * Note it may be of an Error type, but may also be null, undefined, or anything else\n * that can be `throw`-n.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {Error|unknown} Last resolution error\n */\nexport function getResolutionError( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\treturn resolutionState?.status === 'error' ? resolutionState.error : null;\n}\n\n/**\n * Returns true if resolution has been triggered but has not yet completed for\n * a given selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution is in progress.\n */\nexport function isResolving( state, selectorName, args ) {\n\treturn (\n\t\tgetResolutionState( state, selectorName, args )?.status === 'resolving'\n\t);\n}\n\n/**\n * Returns the list of the cached resolvers.\n *\n * @param {State} state Data state.\n *\n * @return {State} Resolvers mapped by args and selectorName.\n */\nexport function getCachedResolvers( state ) {\n\treturn state;\n}\n\n/**\n * Whether the store has any currently resolving selectors.\n *\n * @param {State} state Data state.\n *\n * @return {boolean} True if one or more selectors are resolving, false otherwise.\n */\nexport function hasResolvingSelectors( state ) {\n\treturn [ ...Object.values( state ) ].some( ( selectorState ) =>\n\t\t[ ...selectorState._map.values() ].some(\n\t\t\t( resolution ) => resolution[ 1 ]?.status === 'resolving'\n\t\t)\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/redux-store/metadata/selectors.js"],"names":["selectorArgsToStateKey","getResolutionState","state","selectorName","args","map","get","getIsResolving","resolutionState","status","hasStartedResolution","undefined","hasFinishedResolution","hasResolutionFailed","getResolutionError","error","isResolving","getCachedResolvers","hasResolvingSelectors","Object","values","some","selectorState","Array","from","_map","resolution"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,sBAAT,QAAuC,SAAvC;AAEA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,kBAAT,CAA6BC,KAA7B,EAAoCC,YAApC,EAAkDC,IAAlD,EAAyD;AAC/D,QAAMC,GAAG,GAAGH,KAAK,CAAEC,YAAF,CAAjB;;AACA,MAAK,CAAEE,GAAP,EAAa;AACZ;AACA;;AAED,SAAOA,GAAG,CAACC,GAAJ,CAASN,sBAAsB,CAAEI,IAAF,CAA/B,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASG,cAAT,CAAyBL,KAAzB,EAAgCC,YAAhC,EAA8CC,IAA9C,EAAqD;AAC3D,QAAMI,eAAe,GAAGP,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAA1C;AAEA,SAAOI,eAAe,IAAIA,eAAe,CAACC,MAAhB,KAA2B,WAArD;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,oBAAT,CAA+BR,KAA/B,EAAsCC,YAAtC,EAAoDC,IAApD,EAA2D;AACjE,SAAOH,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAAlB,KAAoDO,SAA3D;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,qBAAT,CAAgCV,KAAhC,EAAuCC,YAAvC,EAAqDC,IAArD,EAA4D;AAAA;;AAClE,QAAMK,MAAM,0BAAGR,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAArB,wDAAG,oBAAiDK,MAAhE;AACA,SAAOA,MAAM,KAAK,UAAX,IAAyBA,MAAM,KAAK,OAA3C;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASI,mBAAT,CAA8BX,KAA9B,EAAqCC,YAArC,EAAmDC,IAAnD,EAA0D;AAAA;;AAChE,SAAO,yBAAAH,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAAlB,8EAAiDK,MAAjD,MAA4D,OAAnE;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASK,kBAAT,CAA6BZ,KAA7B,EAAoCC,YAApC,EAAkDC,IAAlD,EAAyD;AAC/D,QAAMI,eAAe,GAAGP,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAA1C;AACA,SAAO,CAAAI,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEC,MAAjB,MAA4B,OAA5B,GAAsCD,eAAe,CAACO,KAAtD,GAA8D,IAArE;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CAAsBd,KAAtB,EAA6BC,YAA7B,EAA2CC,IAA3C,EAAkD;AAAA;;AACxD,SACC,yBAAAH,kBAAkB,CAAEC,KAAF,EAASC,YAAT,EAAuBC,IAAvB,CAAlB,8EAAiDK,MAAjD,MAA4D,WAD7D;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASQ,kBAAT,CAA6Bf,KAA7B,EAAqC;AAC3C,SAAOA,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASgB,qBAAT,CAAgChB,KAAhC,EAAwC;AAC9C,SAAOiB,MAAM,CAACC,MAAP,CAAelB,KAAf,EAAuBmB,IAAvB,CAA+BC,aAAF;AACnC;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,CAACC,IAAN,CAAYF,aAAa,CAACG,IAAd,CAAmBL,MAAnB,EAAZ,EAA0CC,IAA1C,CACGK,UAAF;AAAA;;AAAA,WAAkB,iBAAAA,UAAU,CAAE,CAAF,CAAV,8DAAiBjB,MAAjB,MAA4B,WAA9C;AAAA,GADD,CARM,CAAP;AAYA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { selectorArgsToStateKey } from './utils';\n\n/** @typedef {Record<string, import('./reducer').State>} State */\n/** @typedef {import('./reducer').StateValue} StateValue */\n/** @typedef {import('./reducer').Status} Status */\n\n/**\n * Returns the raw resolution state value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {StateValue|undefined} isResolving value.\n */\nexport function getResolutionState( state, selectorName, args ) {\n\tconst map = state[ selectorName ];\n\tif ( ! map ) {\n\t\treturn;\n\t}\n\n\treturn map.get( selectorArgsToStateKey( args ) );\n}\n\n/**\n * Returns the raw `isResolving` value for a given selector name,\n * and arguments set. May be undefined if the selector has never been resolved\n * or not resolved for the given set of arguments, otherwise true or false for\n * resolution started and completed respectively.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean | undefined} isResolving value.\n */\nexport function getIsResolving( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\n\treturn resolutionState && resolutionState.status === 'resolving';\n}\n\n/**\n * Returns true if resolution has already been triggered for a given\n * selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has been triggered.\n */\nexport function hasStartedResolution( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args ) !== undefined;\n}\n\n/**\n * Returns true if resolution has completed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution has completed.\n */\nexport function hasFinishedResolution( state, selectorName, args ) {\n\tconst status = getResolutionState( state, selectorName, args )?.status;\n\treturn status === 'finished' || status === 'error';\n}\n\n/**\n * Returns true if resolution has failed for a given selector\n * name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Has resolution failed\n */\nexport function hasResolutionFailed( state, selectorName, args ) {\n\treturn getResolutionState( state, selectorName, args )?.status === 'error';\n}\n\n/**\n * Returns the resolution error for a given selector name, and arguments set.\n * Note it may be of an Error type, but may also be null, undefined, or anything else\n * that can be `throw`-n.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {Error|unknown} Last resolution error\n */\nexport function getResolutionError( state, selectorName, args ) {\n\tconst resolutionState = getResolutionState( state, selectorName, args );\n\treturn resolutionState?.status === 'error' ? resolutionState.error : null;\n}\n\n/**\n * Returns true if resolution has been triggered but has not yet completed for\n * a given selector name, and arguments set.\n *\n * @param {State} state Data state.\n * @param {string} selectorName Selector name.\n * @param {unknown[]?} args Arguments passed to selector.\n *\n * @return {boolean} Whether resolution is in progress.\n */\nexport function isResolving( state, selectorName, args ) {\n\treturn (\n\t\tgetResolutionState( state, selectorName, args )?.status === 'resolving'\n\t);\n}\n\n/**\n * Returns the list of the cached resolvers.\n *\n * @param {State} state Data state.\n *\n * @return {State} Resolvers mapped by args and selectorName.\n */\nexport function getCachedResolvers( state ) {\n\treturn state;\n}\n\n/**\n * Whether the store has any currently resolving selectors.\n *\n * @param {State} state Data state.\n *\n * @return {boolean} True if one or more selectors are resolving, false otherwise.\n */\nexport function hasResolvingSelectors( state ) {\n\treturn Object.values( state ).some( ( selectorState ) =>\n\t\t/**\n\t\t * This uses the internal `_map` property of `EquivalentKeyMap` for\n\t\t * optimization purposes, since the `EquivalentKeyMap` implementation\n\t\t * does not support a `.values()` implementation.\n\t\t *\n\t\t * @see https://github.com/aduth/equivalent-key-map\n\t\t */\n\t\tArray.from( selectorState._map.values() ).some(\n\t\t\t( resolution ) => resolution[ 1 ]?.status === 'resolving'\n\t\t)\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redux-store/index.js"],"names":[],"mappings":"AAwGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qGAPW,MAAM,+KAkLhB;2BApRa,OAAO,UAAU,EAAE,YAAY;sEAEhC,OAAO,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;sFAIrC,OAAO,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAC,OAAO,EAAC,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redux-store/index.js"],"names":[],"mappings":"AAwGA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qGAPW,MAAM,+KAoLhB;2BAtRa,OAAO,UAAU,EAAE,YAAY;sEAEhC,OAAO,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;sFAIrC,OAAO,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAC,OAAO,EAAC,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/redux-store/metadata/selectors.js"],"names":[],"mappings":"AAKA,iEAAiE;AACjE,2DAA2D;AAC3D,mDAAmD;AAEnD;;;;;;;;;;;GAWG;AACH,0CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,UAAU,GAAC,SAAS,CAS/B;AAED;;;;;;;;;;;GAWG;AACH,sCANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,GAAG,SAAS,CAM9B;AAED;;;;;;;;;GASG;AACH,4CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAIlB;AAED;;;;;;;;;GASG;AACH,6CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAKlB;AAED;;;;;;;;;GASG;AACH,2CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAIlB;AAED;;;;;;;;;;GAUG;AACH,0CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,KAAK,GAAC,OAAO,CAKxB;AAED;;;;;;;;;GASG;AACH,mCANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAMlB;AAED;;;;;;GAMG;AACH,0CAJW,KAAK,GAEJ,KAAK,CAIhB;AAED;;;;;;GAMG;AACH,6CAJW,KAAK,GAEJ,OAAO,CAQlB;oBA9Ia,OAAO,MAAM,EAAE,OAAO,WAAW,EAAE,KAAK,CAAC;yBACzC,OAAO,WAAW,EAAE,UAAU;qBAC9B,OAAO,WAAW,EAAE,MAAM"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/redux-store/metadata/selectors.js"],"names":[],"mappings":"AAKA,iEAAiE;AACjE,2DAA2D;AAC3D,mDAAmD;AAEnD;;;;;;;;;;;GAWG;AACH,0CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,UAAU,GAAC,SAAS,CAS/B;AAED;;;;;;;;;;;GAWG;AACH,sCANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,GAAG,SAAS,CAM9B;AAED;;;;;;;;;GASG;AACH,4CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAIlB;AAED;;;;;;;;;GASG;AACH,6CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAKlB;AAED;;;;;;;;;GASG;AACH,2CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAIlB;AAED;;;;;;;;;;GAUG;AACH,0CANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,KAAK,GAAC,OAAO,CAKxB;AAED;;;;;;;;;GASG;AACH,mCANW,KAAK,gBACL,MAAM,QACN,OAAO,EAAE,UAER,OAAO,CAMlB;AAED;;;;;;GAMG;AACH,0CAJW,KAAK,GAEJ,KAAK,CAIhB;AAED;;;;;;GAMG;AACH,6CAJW,KAAK,GAEJ,OAAO,CAelB;oBArJa,OAAO,MAAM,EAAE,OAAO,WAAW,EAAE,KAAK,CAAC;yBACzC,OAAO,WAAW,EAAE,UAAU;qBAC9B,OAAO,WAAW,EAAE,MAAM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/data",
3
- "version": "9.3.0",
3
+ "version": "9.4.0",
4
4
  "description": "Data module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,13 +29,13 @@
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
31
  "@babel/runtime": "^7.16.0",
32
- "@wordpress/compose": "^6.10.0",
33
- "@wordpress/deprecated": "^3.33.0",
34
- "@wordpress/element": "^5.10.0",
35
- "@wordpress/is-shallow-equal": "^4.33.0",
36
- "@wordpress/priority-queue": "^2.33.0",
37
- "@wordpress/private-apis": "^0.15.0",
38
- "@wordpress/redux-routine": "^4.33.0",
32
+ "@wordpress/compose": "^6.11.0",
33
+ "@wordpress/deprecated": "^3.34.0",
34
+ "@wordpress/element": "^5.11.0",
35
+ "@wordpress/is-shallow-equal": "^4.34.0",
36
+ "@wordpress/priority-queue": "^2.34.0",
37
+ "@wordpress/private-apis": "^0.16.0",
38
+ "@wordpress/redux-routine": "^4.34.0",
39
39
  "deepmerge": "^4.3.0",
40
40
  "equivalent-key-map": "^0.2.2",
41
41
  "is-plain-object": "^5.0.0",
@@ -50,5 +50,5 @@
50
50
  "publishConfig": {
51
51
  "access": "public"
52
52
  },
53
- "gitHead": "e936127e1e13881f1a940b7bd1593a9e500147f3"
53
+ "gitHead": "c7c79cb11b677adcbf06cf5f8cfb6c5ec1699f19"
54
54
  }
@@ -221,12 +221,14 @@ export default function createReduxStore( key, options ) {
221
221
  get: ( target, prop ) => {
222
222
  return (
223
223
  mapSelectors(
224
- mapValues(
225
- privateSelectors,
226
- ( selector ) =>
227
- ( state, ...args ) =>
228
- selector( state.root, ...args )
229
- ),
224
+ mapValues( privateSelectors, ( selector ) => {
225
+ if ( selector.isRegistrySelector ) {
226
+ selector.registry = registry;
227
+ }
228
+
229
+ return ( state, ...args ) =>
230
+ selector( state.root, ...args );
231
+ } ),
230
232
  store
231
233
  )[ prop ] || selectors[ prop ]
232
234
  );
@@ -140,8 +140,15 @@ export function getCachedResolvers( state ) {
140
140
  * @return {boolean} True if one or more selectors are resolving, false otherwise.
141
141
  */
142
142
  export function hasResolvingSelectors( state ) {
143
- return [ ...Object.values( state ) ].some( ( selectorState ) =>
144
- [ ...selectorState._map.values() ].some(
143
+ return Object.values( state ).some( ( selectorState ) =>
144
+ /**
145
+ * This uses the internal `_map` property of `EquivalentKeyMap` for
146
+ * optimization purposes, since the `EquivalentKeyMap` implementation
147
+ * does not support a `.values()` implementation.
148
+ *
149
+ * @see https://github.com/aduth/equivalent-key-map
150
+ */
151
+ Array.from( selectorState._map.values() ).some(
145
152
  ( resolution ) => resolution[ 1 ]?.status === 'resolving'
146
153
  )
147
154
  );
@@ -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.es2022.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.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.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.es2020.number.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.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","./src/factory.js","../../node_modules/redux/index.d.ts","./src/types.ts","./src/controls.js","../../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","../redux-routine/build-types/index.d.ts","../../node_modules/@types/react/global.d.ts","../../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","../compose/build-types/utils/create-higher-order-component/index.d.ts","../compose/build-types/utils/debounce/index.d.ts","../compose/build-types/utils/throttle/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/node_modules/@types/react/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","../../node_modules/@types/react-dom/client.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","../private-apis/build-types/implementation.d.ts","../private-apis/build-types/index.d.ts","./src/private-apis.js","../../node_modules/is-promise/index.d.ts","./src/promise-middleware.js","./src/store/index.js","./src/resolvers-cache-middleware.js","./src/redux-store/thunk-middleware.js","./src/redux-store/metadata/utils.ts","./src/redux-store/metadata/actions.js","./src/redux-store/metadata/reducer.ts","./src/redux-store/metadata/selectors.js","./src/redux-store/index.js","./src/utils/emitter.js","./src/registry.js","./src/default-registry.js","./src/dispatch.ts","../../node_modules/is-plain-object/is-plain-object.d.ts","./node_modules/deepmerge/index.d.ts","./src/plugins/persistence/storage/object.js","./src/plugins/persistence/storage/default.js","./src/plugins/persistence/index.js","./src/plugins/index.js","../priority-queue/build-types/index.d.ts","../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/components/registry-provider/context.js","./src/components/registry-provider/use-registry.js","./src/components/async-mode-provider/context.js","./src/components/async-mode-provider/use-async-mode.js","./src/components/use-select/index.js","./src/components/with-select/index.js","./src/components/use-dispatch/use-dispatch.js","./src/components/use-dispatch/use-dispatch-with-map.js","./src/components/use-dispatch/index.js","./src/components/with-dispatch/index.js","./src/components/registry-provider/index.js","./src/components/with-registry/index.js","./src/components/async-mode-provider/index.js","./src/select.ts","./src/index.js","./src/redux-store/metadata/equivalent-key-map.d.ts","../element/node_modules/@types/react/global.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"ce6e5b88acf57d96365aa4d49fd43480c803ecb7868830749df564789774a54c","signature":"9481c72104c81bcf6384d66fec925883e1cfc251ec79911b224c020402fcca43"},{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},{"version":"261c2575b44e049726cf1fbd6cf43b309581aee3e2c6dfff2c696cba50b083b5","signature":"65d9981adf6ac0934994f793be90f140fa4cc68a87d8772c1ecc920faa3a5027"},{"version":"e382a7658f76f31d91f33c404b9526eeee7938eb4aee831feb51a3ba0e40a321","signature":"8c2a4bbd3555d93ed90e0c99548acc2b32c260cddafecec4b4cd454c1424ad1e"},"bd0d80db12ef1aceefc4f9d3eb88517b9634fa747ae8475981da8655292feab8","55e68fb1618e3f55f7866b8c8415152159309a14b716370081ab0b7af96d876e","bf0491af2455f92282b61807be2be6e7ad7d532e47fac7b698019d3617c28ff7","5d874fb879ab8601c02549817dceb2d0a30729cb7e161625dd6f819bbff1ec0b","ee551a880882770c4f56a0964a9767c9feafe497a5be52652527d098c88d85cb","b192606574769a5566620f9bf19358a3994bc2726ecdeaad9c66f3333b2687c8","29041ec2b56677a9adf3bcfa21bf513d29faacfea6964a0734a5e0a12982ac8c",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"5917af4ff931b050dba49a1dedd9c00f15f7b3dc4345ad8491bfacd2ec68ed32","affectsGlobalScope":true},"773979fb94d64450b1567975ee28a630cae6f2c01c2c18e06563c744bb6fe0c4","8e3d399a59744e651362087da32211ed34c6e8dccee4002abb82ed2f9e4c7301","9a726679595a1e729708d633c114be758c8b4172029916456e3feab6f76e6e43","a0cf70217b68c414db6c4863831250c8a2d96469c8044b75edd3a460793c9887","8d7c0f64cebcc3690112c28a4861bd9385836b47e9d1c171e6362100b3cc32a8","17ba9202cb2a0e0deec28398f2ef6c95c7193cbe46b8b6eaf8f54f48aedd7139","2758842856646f2bebbeb5150707ca4b5ab8fa1d46d95b3386493e6d6b4221fc","f9523fca1617fd31e048afd09f08cca592a7bbaeca4d5ff1e1781ab0cd2ffe9b","881a6580fb531a8331bf04acd77bf935d81d92af0dc6b91996e4548cd6227429","997b40fb1aeb304b6d3bc9021361bd6c5a1ed3b1e1a1459533a9c854db4ac715","23d7a8b5d3297675007160f5cc75777e6eccf63ff6650bd3ed01eb0b3cdf2a38","8db59d5540f8bc033f35eb1a4a7903d202fbace0874b456e463af2675da2398b","c5a28d3d50c8edecc8cc87ae3a5dcfa34e630f970626bf30c552e681c7055fd0","5f8402dfce577684c2de40394f60628ffe6e44e6bc308dbeb1b643c527d758bf","daa0b5b58eab0c3dfc200cde4cc933084b908ede3aacdda1d2797f98c172142b","404cd1151ad5c08da06987950824a77194fc5e2c905e2b90252ad066d922614b","1d9af36f24bba0f0d3b80358e0b7fcccf8ea361d799adf0407e48b949fb3b82e","4807581687ad8a41a480f2f55a93eed33881d2c3a4bbcba14cd77fddd6c32f8c","32336f8d3f635d379eb6438dbbd2ead8deebda788e12062855815c0834a50720","f08d251cb25341aedf5edbfa1317f59f93ddb133de124a31962f656ab4f6ebd9","592aa170bf0e1e4a71f473747252bf79d56e7d821d33b2e3cce16a7fd168bd9f",{"version":"5917af4ff931b050dba49a1dedd9c00f15f7b3dc4345ad8491bfacd2ec68ed32","affectsGlobalScope":true},"14ed49cb68f29e36dfb562b7c382ce70d467b7310e8e27cc587772d029f372b7","2cc143754ed238f214e763525cd4c11613409a643fdd602f4e0a2b19f1f2d397","96520a873073a2f39f922d0a422498cdcc28be9066a769000cdd07ecaba7b645","c7284023c5462180e492357aeb94551a20aa41eac8ac517606f3766359d08bb9","ed4ec3d435678a5703a016a801afc2cd7b543c53ab4615b3e214cac9c30f560a","e345f2ee8dd216e738840035224950764086f16e6ef75de310747b839a3dc14e","501be290436f06ae2182915329b01cfd0850961814802237b5c24749fd2afa0c","cc34c3c1590513cdb6374890f421c06ad969cfd99b28efb6003a6afc845c49f8","ab6f9c23c44e0b20c2be80af46ffc9d0e6681efa05ee1704bb4c9fcef8e61497","e4dd91dd4789a109aab51d8a0569a282369fcda9ba6f2b2297bc61bacfb1a042","83e27bbd7304ea67f9afa1535f1d4fdb15866089f0d893c784cbb5b1c6fb3386","c4b39848e2fb237507a7acae0b83a34271c9d72714faae6a6b9075527205111b","d2d9e98a2b167079474768593e1e7125fc3db055add8fbdb5977e3d05a8a3696","6462da67490105ba7d98cf312c2faf8794c425781128b161ea8394d66502eec8","62359da52b6c8d00c50c2e50738fac82e902f916fdf458d8159e7edb1c60c3a8","1e0ac21bc775686383ea8c8e48bd98b385e6195b25c85525a7affd08a2cd38b9","0449615e1ed03c7d54fc435a63b7ef0cb4e5cea5ac40c9a63280a46f7eeae0ff",{"version":"b5b080e499df18235bac525ce43da935d1a068c5770f58b245d24b6ae8baa166","affectsGlobalScope":true},"7be4c510922d20d3946d7916b8a4c075429b179a3b143e3541bbbd4191e5988e","f295ab6b1bfd2b6b5b19ba621cca18c1b94b25c430c67fcb66c9594e89e3ff39","ea6c58f9711f6dc2f5609e085a1751d1284f1097b568852863bc24becf970831","f59327cd1c98362028d2d2b034b9bada17481ef7f12f13b046bc047ab4fc343c","d759d5a895085d1cfc89d1d1791c188c8170d933092db93e2b48676c49ee7310","23cdc008b29455b89f900f5667bbbb95df280deb7740e7a1d118f894118d8eb8","0b1d7ac8c1abd81feb21f2bc5d9539610dfa03c2874652cb9c6f4859731edd00","2c8e1d8fe99738fe377049c1baa8b074ac11bdbfad103881c6f012a09383e361","5fac858cb922fe34b898ddc12db441c878ec72bf6a1e3bcbe297f4da4bb6672a","7f119c8c5d4d145e6fcf668055a76f37ed273c24584d5bb90ff9f5520648b47d","eda83eb5ad3e0dab986107adbe50ebc6a2a832e20331770341263d82446369a4","7aad58c3b214bfb7e53ea867e8c34181c0458780b999e448fe953919b4401780",{"version":"fbe4a5b75dc59bc1b82010c79a7420e1613accb5925fb6511b00653c8de208b5","signature":"64fa5d796f6f8071c5e5282d751646e1863a20756814c232f3ac7656c39070a6"},"5ac6404ddc5d622905e131dbc5da0362a82e89d1cb97cc8256bf06ca9fad4b24",{"version":"9fcfbc2dd0c0614b3a25d41e4425dd86cdfa574a9e7d2febffc85badcee1a0b8","signature":"895ef4cd86d49605f187c52ac4b77f8139f69df7e2f539c27196d72c75df7d31"},{"version":"48674187365141743eaadc4ffa47b457bfa63d36e945b8e4f43d60b0fe6b1907","signature":"ee5f9536bf6f19945a671e027422956b23b812a5cdbef077cb8bce06512987d7"},{"version":"ffb67d1f7f5d12096a626f3fd43f4e3b6c3b3bc27a781b4f18d57c5017a39950","signature":"9992bfe40cad650194a736cdf7f0cc54035dbdb73388191edf46b85c7ddc986b"},{"version":"975eb852881942b64b42f35251bb55a75b6521e47c3eefe95d61f986265a5225","signature":"ebcf727b4ea8f6266308020bcf5a6f592bddc7ce27d49e88f0e04545305b5a8e"},{"version":"b86196ae20b726e4a42e00bbfc38361e5f751d3d738c952e659a1fbd60964d27","signature":"bfa6b4eb44114b5261a7dcf7d1e69f54af8bc4ab9a39fbe6063013f33ba8b641"},{"version":"c67951274199df6c887191adafac1c605901c3f6ce123351225e2e93c4282de4","signature":"8db3c1fe705300424e16eccb289f38f0f1fa48c0ba2f7ec73342b678c4582f5d"},{"version":"4fc2fcab4e27cceba55c653a6a35f9d9486ce732debfddfa946d0b7bab9229bb","signature":"00da318428374edba6adde61bea395981d1b13728c4dcc5b855f754b5112642e"},{"version":"8515ea2cc38ced2408692b91b3ef6a47344ffaebca316320ca9a0cf7a20e4832","signature":"58d8a243809620e7d2a164f62d4f57256e66775137cd276d5c4cfff1fd9e7ccd"},{"version":"7fd422e1850475d5ed71c99ced4e8e95252335a2f1b6d12fc2bcf914778228cf","signature":"8e5afde94322dc07661f4d296fc60ec416b5b69d4c2c72ef94f6add714e40bda"},{"version":"412e9398be155d644b609b06bb2d0b6f99d86bf3d7db81b27a357ad8df07e0c0","signature":"b453c1a2eac87cc7083566d798ca756e0256165b9e47d7e3db00426cea8fc626"},{"version":"02ca8028225be40b9da51010eb973ad03224bf8e0b27f2a7f3ff9fe82c16585e","signature":"0c37cfbb515ee4df942133efa11132b16e9a3c8b2bf70f602337756d0783918b"},{"version":"c17118d21ac084068b77eb8e382d9f8988e26bded75c7f0f0b132fa67d4ca625","signature":"cc24820820bdd2761360a0d8f809cfa686294a0c4481c3a69a9c61336ec68b80"},{"version":"6968fdcec473f7b2ca486d7cfe38f716f95ffe7eb602ed01fc3701cc654f5bc5","signature":"26f9698c5251a9c7a9ecdf39a52fa9d93d3758495921f41d17f016783bea312a"},"9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35","f163b1edf76fbde01836f8522fbe646fe2f55e313bb7fdd363891748f9b57c60",{"version":"dc8a746041b9afc357038c00dc7bb204e7c758e5796e2b965782b10c010ea5da","signature":"3118e3f67853a4d11cd0225bdc00b683855c9fefa5a42bde70b5394b3b57551c"},{"version":"3c2eecbb08d00f262c3266a5729d8dc7033b12c10ad11085239d942330a66be4","signature":"0fadba7aa026b174f612f3ff924b5a2e9a6b53a70568d489f45afc375ad7cfcc"},{"version":"5beba082191ffa3874df0a9a7803c8d933b0da320a1b64862f57c3792584cfc1","signature":"829868d6ec1927e4700983dba2e0835327ecdd4d7f99072a3de19fda116551b4"},{"version":"50ed6e45c39d15e21c206f167abb7c33067931c37c8c660f1928e504a3ba6fda","signature":"0daf72d81e292312f185c81a2ad0648b226433a00d7d139addc06d39d078b2f1"},"abb6d9adcc79c591f712e79c55f769b48690ec66a55b6f6189569a0d357c7e58","5190f1a110a789c2f8ed8dcf2da6ce122dcb74249d0c01d19d1ed0b1c6bb02a1","3650bbe137c9c44bc6b8f44a56353b00eba9654e41a9355e6228f7f0f464c648","eb467c4dcea39773409e7cf23dce1c65991ce3d31c86a0a7e1dfd73b880fc986",{"version":"02fdc48e90772a67702e098b722a5772fddf789fb8aa961fc1e292655581df34","signature":"90b78b57b0842bd1fd5ec099a97cfb33146e6d2d52dd68d8a89ae834105ab366"},{"version":"e08f7f2e161bf3631ced28081d5b567ebce6f58dedc9930ec299b14f7dc52ae2","signature":"4a9216f87f9b92167b0b18cd90016000e71dd7ea61a95385b2b97be6585e9cb3"},{"version":"56a1d5d8e0d9fc4e3e39936097c3064338df9031872c8e21a9648e3390aae30c","signature":"496a712363ee622ead98319bdf81471e550993b83529174068fce0f0e2db1615"},{"version":"c12fb0c4b324c65600609051919b1de0da4630c66bdbd4dc268efe7780ff4ed8","signature":"92deca0757666c0db63066e8307e28452fed66d809d5c1ef0554b0475e3b098b"},{"version":"ea28e24296ad23e752a833c57ba347af21000e51a3d04d99e1c6d6ddc7e2cf24","signature":"887dc6c82444f5c7f3da9c1914b74a13bb46ca0f218deda5ea25d9fda2bef1b6"},{"version":"94dab901493475872f90a4e2d58eb6f2cf6265e95fecba1723436c15cd9b29e5","signature":"d628659c9f4df17c9f47205600cd27ca34327b6f49c03c3a92ba35194ba5358d"},{"version":"e1d7d13bf67f07f3efbed72a4ee999083be13ef8c9968e99f38586545b28b399","signature":"a895daacc14309d96555463210644d8e2aceef5d57346ce1bb513f8cdfabd393"},{"version":"6469e0325b8d62347b79baf42ba957cc2401ce05378bfd521737c049554028ae","signature":"7f1be7e4a47f9abe89d28793e59d0d7a935c7f14a597f1e2b6651d1e54f23957"},{"version":"e6afc6c377cdc0b881c15db7be06fe57fbdbb4074753bb36abdc26000de853ee","signature":"39f82ec23c92368df0de1449bb26e14280862e092ab8e3eaacf80570ac35a7f2"},{"version":"b4e83151bd067378d7fcce251d866b13f6789843a66d18f7c4ca58c3e70035e4","signature":"6f82e9d16b584ec9127bcccd8ce9311e587652acb36657458f9174ccaec7b354"},{"version":"6419036e9ec25b03fed142edef64280f5d7dbcc158170cb27899ecb9cb2dae8b","signature":"9798502506a30b631a4841a0c5e4dd369c8662c2ab08bf069fb464262cd9d9f8"},{"version":"205b5a62e15144e9bd6a49846df7d30399a5738a3ab439f35eb25e19aab66299","signature":"e3fa7ffb42258b9fc94b57a2547b30cd2abc69ce64a9031c6e27197a62c9c333"},{"version":"8d09f7a29021a69909eca56a60012bb043c703b82fbb1dede51186fedcce88f9","signature":"1a4f84d939445c350647adf2f5001ecc6fcef110b6daa79c11b3aa7c9984d0e1"},{"version":"593405def651364d973e4f004babc84c36d0975d0a51565bd15ba9e13cd17837","signature":"e7b7ca1fbfddbe67a3736393a170a4fe8d2929cdde754c08e4db38a03869ec94"},{"version":"d4d33a78e8cd5bca6bd5706fbbaa207f6d7983b180c274dc91ebba52e3ab90dc","signature":"7a536fc359a698b1cc477a7b5bb083262f0546e896611e2ca47c5a4d0cabbe3d"},"8eed414bd2305e20163d35205b450204002bf20e14c7241d7fec46bb18f174d2"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":false,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[71],[67,68,69,70],[60,61,62,63],[60],[61],[72],[71,72],[73],[71,86,87],[94],[71,96],[110],[73,74],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,95,97,98,99,100,101,111,112,113,114,115,116,117,118,119,120],[151,152],[110,151],[110,137],[149,150],[110,149],[155,156],[110,121,150],[58,150],[58,110,145,148,150,152],[110,121,157],[121,159],[110,121,153],[56,58],[136],[58,137],[56,58,59,134,136,137,138,144,153,154,157,158,159,160,161,162],[143],[136,139,140,142,163],[141],[123],[57,125],[57,58,59,66,121,124,126,128,129,131,132,133,164],[57,130,131,164],[130,132],[57],[58,65,124,127,134,135],[127,136],[58],[64],[94,102,105,106,107,108,109],[103,104],[71,94],[68,69,70,165],[146,147],[148],[122],[71,136],[131,164],[132]],"referencedMap":[[104,1],[103,1],[71,2],[64,3],[61,4],[62,5],[77,1],[78,1],[80,6],[81,7],[83,1],[84,1],[85,1],[114,8],[88,9],[90,1],[118,1],[120,1],[86,1],[87,1],[91,1],[119,1],[95,10],[97,11],[116,1],[117,1],[111,12],[115,13],[101,1],[121,14],[72,1],[151,12],[161,15],[152,16],[149,17],[159,18],[150,19],[157,20],[156,21],[155,22],[153,23],[158,24],[160,25],[154,26],[59,27],[137,28],[138,29],[163,30],[144,31],[143,32],[142,33],[124,34],[126,35],[134,36],[132,37],[133,38],[130,39],[136,40],[128,41],[162,29],[58,39],[135,42],[65,43],[102,10],[110,44],[109,1],[105,45],[94,1],[108,46],[93,47],[148,48],[146,49],[123,50],[66,39]],"exportedModulesMap":[[104,1],[103,1],[71,2],[64,3],[61,4],[62,5],[77,1],[78,1],[80,6],[81,7],[83,1],[84,1],[85,1],[114,8],[88,9],[90,1],[118,1],[120,1],[86,1],[87,1],[91,1],[119,1],[95,10],[97,11],[116,1],[117,1],[111,12],[115,13],[101,1],[121,14],[72,1],[151,1],[149,51],[155,42],[153,42],[158,12],[160,1],[154,12],[59,42],[137,28],[138,42],[163,42],[143,28],[126,39],[134,42],[132,52],[133,53],[130,39],[136,42],[128,28],[162,42],[58,39],[135,42],[65,43],[102,10],[110,44],[109,1],[105,45],[94,1],[108,46],[93,47],[148,48],[146,49],[123,50],[66,39]],"semanticDiagnosticsPerFile":[96,69,104,103,67,71,70,68,139,125,57,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,60,63,64,61,62,75,77,76,78,79,80,81,82,112,83,84,85,114,88,89,90,118,120,86,87,91,119,92,95,97,98,116,99,100,117,111,115,101,113,121,72,73,74,140,151,161,152,149,159,150,157,156,155,153,158,160,154,59,137,138,56,163,144,143,142,141,124,126,134,131,164,132,133,130,129,136,128,162,127,58,135,65,102,110,107,109,105,94,108,106,93,147,148,146,145,122,123,66],"latestChangedDtsFile":"./build-types/index.d.ts"},"version":"4.9.5"}
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.es2022.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.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.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.es2020.number.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.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","./src/factory.js","../../node_modules/redux/index.d.ts","./src/types.ts","./src/controls.js","../../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","../redux-routine/build-types/index.d.ts","../../node_modules/@types/react/global.d.ts","../../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","../compose/build-types/utils/create-higher-order-component/index.d.ts","../compose/build-types/utils/debounce/index.d.ts","../compose/build-types/utils/throttle/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/node_modules/@types/react/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","../../node_modules/@types/react-dom/client.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","../private-apis/build-types/implementation.d.ts","../private-apis/build-types/index.d.ts","./src/private-apis.js","../../node_modules/is-promise/index.d.ts","./src/promise-middleware.js","./src/store/index.js","./src/resolvers-cache-middleware.js","./src/redux-store/thunk-middleware.js","./src/redux-store/metadata/utils.ts","./src/redux-store/metadata/actions.js","./src/redux-store/metadata/reducer.ts","./src/redux-store/metadata/selectors.js","./src/redux-store/index.js","./src/utils/emitter.js","./src/registry.js","./src/default-registry.js","./src/dispatch.ts","../../node_modules/is-plain-object/is-plain-object.d.ts","./node_modules/deepmerge/index.d.ts","./src/plugins/persistence/storage/object.js","./src/plugins/persistence/storage/default.js","./src/plugins/persistence/index.js","./src/plugins/index.js","../priority-queue/build-types/index.d.ts","../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/components/registry-provider/context.js","./src/components/registry-provider/use-registry.js","./src/components/async-mode-provider/context.js","./src/components/async-mode-provider/use-async-mode.js","./src/components/use-select/index.js","./src/components/with-select/index.js","./src/components/use-dispatch/use-dispatch.js","./src/components/use-dispatch/use-dispatch-with-map.js","./src/components/use-dispatch/index.js","./src/components/with-dispatch/index.js","./src/components/registry-provider/index.js","./src/components/with-registry/index.js","./src/components/async-mode-provider/index.js","./src/select.ts","./src/index.js","./src/redux-store/metadata/equivalent-key-map.d.ts","../element/node_modules/@types/react/global.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"ce6e5b88acf57d96365aa4d49fd43480c803ecb7868830749df564789774a54c","signature":"9481c72104c81bcf6384d66fec925883e1cfc251ec79911b224c020402fcca43"},{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},{"version":"261c2575b44e049726cf1fbd6cf43b309581aee3e2c6dfff2c696cba50b083b5","signature":"65d9981adf6ac0934994f793be90f140fa4cc68a87d8772c1ecc920faa3a5027"},{"version":"e382a7658f76f31d91f33c404b9526eeee7938eb4aee831feb51a3ba0e40a321","signature":"8c2a4bbd3555d93ed90e0c99548acc2b32c260cddafecec4b4cd454c1424ad1e"},"bd0d80db12ef1aceefc4f9d3eb88517b9634fa747ae8475981da8655292feab8","55e68fb1618e3f55f7866b8c8415152159309a14b716370081ab0b7af96d876e","bf0491af2455f92282b61807be2be6e7ad7d532e47fac7b698019d3617c28ff7","5d874fb879ab8601c02549817dceb2d0a30729cb7e161625dd6f819bbff1ec0b","ee551a880882770c4f56a0964a9767c9feafe497a5be52652527d098c88d85cb","b192606574769a5566620f9bf19358a3994bc2726ecdeaad9c66f3333b2687c8","29041ec2b56677a9adf3bcfa21bf513d29faacfea6964a0734a5e0a12982ac8c",{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"5917af4ff931b050dba49a1dedd9c00f15f7b3dc4345ad8491bfacd2ec68ed32","affectsGlobalScope":true},"773979fb94d64450b1567975ee28a630cae6f2c01c2c18e06563c744bb6fe0c4","8e3d399a59744e651362087da32211ed34c6e8dccee4002abb82ed2f9e4c7301","9a726679595a1e729708d633c114be758c8b4172029916456e3feab6f76e6e43","a0cf70217b68c414db6c4863831250c8a2d96469c8044b75edd3a460793c9887","8d7c0f64cebcc3690112c28a4861bd9385836b47e9d1c171e6362100b3cc32a8","17ba9202cb2a0e0deec28398f2ef6c95c7193cbe46b8b6eaf8f54f48aedd7139","2758842856646f2bebbeb5150707ca4b5ab8fa1d46d95b3386493e6d6b4221fc","f9523fca1617fd31e048afd09f08cca592a7bbaeca4d5ff1e1781ab0cd2ffe9b","881a6580fb531a8331bf04acd77bf935d81d92af0dc6b91996e4548cd6227429","997b40fb1aeb304b6d3bc9021361bd6c5a1ed3b1e1a1459533a9c854db4ac715","23d7a8b5d3297675007160f5cc75777e6eccf63ff6650bd3ed01eb0b3cdf2a38","8db59d5540f8bc033f35eb1a4a7903d202fbace0874b456e463af2675da2398b","c5a28d3d50c8edecc8cc87ae3a5dcfa34e630f970626bf30c552e681c7055fd0","5f8402dfce577684c2de40394f60628ffe6e44e6bc308dbeb1b643c527d758bf","daa0b5b58eab0c3dfc200cde4cc933084b908ede3aacdda1d2797f98c172142b","404cd1151ad5c08da06987950824a77194fc5e2c905e2b90252ad066d922614b","1d9af36f24bba0f0d3b80358e0b7fcccf8ea361d799adf0407e48b949fb3b82e","4807581687ad8a41a480f2f55a93eed33881d2c3a4bbcba14cd77fddd6c32f8c","32336f8d3f635d379eb6438dbbd2ead8deebda788e12062855815c0834a50720","f08d251cb25341aedf5edbfa1317f59f93ddb133de124a31962f656ab4f6ebd9","592aa170bf0e1e4a71f473747252bf79d56e7d821d33b2e3cce16a7fd168bd9f",{"version":"5917af4ff931b050dba49a1dedd9c00f15f7b3dc4345ad8491bfacd2ec68ed32","affectsGlobalScope":true},"14ed49cb68f29e36dfb562b7c382ce70d467b7310e8e27cc587772d029f372b7","2cc143754ed238f214e763525cd4c11613409a643fdd602f4e0a2b19f1f2d397","96520a873073a2f39f922d0a422498cdcc28be9066a769000cdd07ecaba7b645","c7284023c5462180e492357aeb94551a20aa41eac8ac517606f3766359d08bb9","ed4ec3d435678a5703a016a801afc2cd7b543c53ab4615b3e214cac9c30f560a","e345f2ee8dd216e738840035224950764086f16e6ef75de310747b839a3dc14e","501be290436f06ae2182915329b01cfd0850961814802237b5c24749fd2afa0c","cc34c3c1590513cdb6374890f421c06ad969cfd99b28efb6003a6afc845c49f8","ab6f9c23c44e0b20c2be80af46ffc9d0e6681efa05ee1704bb4c9fcef8e61497","e4dd91dd4789a109aab51d8a0569a282369fcda9ba6f2b2297bc61bacfb1a042","83e27bbd7304ea67f9afa1535f1d4fdb15866089f0d893c784cbb5b1c6fb3386","c4b39848e2fb237507a7acae0b83a34271c9d72714faae6a6b9075527205111b","d2d9e98a2b167079474768593e1e7125fc3db055add8fbdb5977e3d05a8a3696","6462da67490105ba7d98cf312c2faf8794c425781128b161ea8394d66502eec8","62359da52b6c8d00c50c2e50738fac82e902f916fdf458d8159e7edb1c60c3a8","1e0ac21bc775686383ea8c8e48bd98b385e6195b25c85525a7affd08a2cd38b9","0449615e1ed03c7d54fc435a63b7ef0cb4e5cea5ac40c9a63280a46f7eeae0ff",{"version":"b5b080e499df18235bac525ce43da935d1a068c5770f58b245d24b6ae8baa166","affectsGlobalScope":true},"7be4c510922d20d3946d7916b8a4c075429b179a3b143e3541bbbd4191e5988e","f295ab6b1bfd2b6b5b19ba621cca18c1b94b25c430c67fcb66c9594e89e3ff39","ea6c58f9711f6dc2f5609e085a1751d1284f1097b568852863bc24becf970831","f59327cd1c98362028d2d2b034b9bada17481ef7f12f13b046bc047ab4fc343c","d759d5a895085d1cfc89d1d1791c188c8170d933092db93e2b48676c49ee7310","23cdc008b29455b89f900f5667bbbb95df280deb7740e7a1d118f894118d8eb8","0b1d7ac8c1abd81feb21f2bc5d9539610dfa03c2874652cb9c6f4859731edd00","2c8e1d8fe99738fe377049c1baa8b074ac11bdbfad103881c6f012a09383e361","5fac858cb922fe34b898ddc12db441c878ec72bf6a1e3bcbe297f4da4bb6672a","7f119c8c5d4d145e6fcf668055a76f37ed273c24584d5bb90ff9f5520648b47d","eda83eb5ad3e0dab986107adbe50ebc6a2a832e20331770341263d82446369a4","7aad58c3b214bfb7e53ea867e8c34181c0458780b999e448fe953919b4401780",{"version":"fbe4a5b75dc59bc1b82010c79a7420e1613accb5925fb6511b00653c8de208b5","signature":"64fa5d796f6f8071c5e5282d751646e1863a20756814c232f3ac7656c39070a6"},"5ac6404ddc5d622905e131dbc5da0362a82e89d1cb97cc8256bf06ca9fad4b24",{"version":"9fcfbc2dd0c0614b3a25d41e4425dd86cdfa574a9e7d2febffc85badcee1a0b8","signature":"895ef4cd86d49605f187c52ac4b77f8139f69df7e2f539c27196d72c75df7d31"},{"version":"48674187365141743eaadc4ffa47b457bfa63d36e945b8e4f43d60b0fe6b1907","signature":"ee5f9536bf6f19945a671e027422956b23b812a5cdbef077cb8bce06512987d7"},{"version":"ffb67d1f7f5d12096a626f3fd43f4e3b6c3b3bc27a781b4f18d57c5017a39950","signature":"9992bfe40cad650194a736cdf7f0cc54035dbdb73388191edf46b85c7ddc986b"},{"version":"975eb852881942b64b42f35251bb55a75b6521e47c3eefe95d61f986265a5225","signature":"ebcf727b4ea8f6266308020bcf5a6f592bddc7ce27d49e88f0e04545305b5a8e"},{"version":"b86196ae20b726e4a42e00bbfc38361e5f751d3d738c952e659a1fbd60964d27","signature":"bfa6b4eb44114b5261a7dcf7d1e69f54af8bc4ab9a39fbe6063013f33ba8b641"},{"version":"c67951274199df6c887191adafac1c605901c3f6ce123351225e2e93c4282de4","signature":"8db3c1fe705300424e16eccb289f38f0f1fa48c0ba2f7ec73342b678c4582f5d"},{"version":"4fc2fcab4e27cceba55c653a6a35f9d9486ce732debfddfa946d0b7bab9229bb","signature":"00da318428374edba6adde61bea395981d1b13728c4dcc5b855f754b5112642e"},{"version":"9fe3ad22699e09cd90816d13110f6d87af62e2e0720c1afe8b2de94676b91571","signature":"58d8a243809620e7d2a164f62d4f57256e66775137cd276d5c4cfff1fd9e7ccd"},{"version":"c5eb1e4f876ceab990a81a7fa431d559988b70bcfbacf6b2ac88d878c6b92301","signature":"8e5afde94322dc07661f4d296fc60ec416b5b69d4c2c72ef94f6add714e40bda"},{"version":"412e9398be155d644b609b06bb2d0b6f99d86bf3d7db81b27a357ad8df07e0c0","signature":"b453c1a2eac87cc7083566d798ca756e0256165b9e47d7e3db00426cea8fc626"},{"version":"02ca8028225be40b9da51010eb973ad03224bf8e0b27f2a7f3ff9fe82c16585e","signature":"0c37cfbb515ee4df942133efa11132b16e9a3c8b2bf70f602337756d0783918b"},{"version":"c17118d21ac084068b77eb8e382d9f8988e26bded75c7f0f0b132fa67d4ca625","signature":"cc24820820bdd2761360a0d8f809cfa686294a0c4481c3a69a9c61336ec68b80"},{"version":"6968fdcec473f7b2ca486d7cfe38f716f95ffe7eb602ed01fc3701cc654f5bc5","signature":"26f9698c5251a9c7a9ecdf39a52fa9d93d3758495921f41d17f016783bea312a"},"9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35","f163b1edf76fbde01836f8522fbe646fe2f55e313bb7fdd363891748f9b57c60",{"version":"dc8a746041b9afc357038c00dc7bb204e7c758e5796e2b965782b10c010ea5da","signature":"3118e3f67853a4d11cd0225bdc00b683855c9fefa5a42bde70b5394b3b57551c"},{"version":"3c2eecbb08d00f262c3266a5729d8dc7033b12c10ad11085239d942330a66be4","signature":"0fadba7aa026b174f612f3ff924b5a2e9a6b53a70568d489f45afc375ad7cfcc"},{"version":"5beba082191ffa3874df0a9a7803c8d933b0da320a1b64862f57c3792584cfc1","signature":"829868d6ec1927e4700983dba2e0835327ecdd4d7f99072a3de19fda116551b4"},{"version":"50ed6e45c39d15e21c206f167abb7c33067931c37c8c660f1928e504a3ba6fda","signature":"0daf72d81e292312f185c81a2ad0648b226433a00d7d139addc06d39d078b2f1"},"abb6d9adcc79c591f712e79c55f769b48690ec66a55b6f6189569a0d357c7e58","5190f1a110a789c2f8ed8dcf2da6ce122dcb74249d0c01d19d1ed0b1c6bb02a1","3650bbe137c9c44bc6b8f44a56353b00eba9654e41a9355e6228f7f0f464c648","eb467c4dcea39773409e7cf23dce1c65991ce3d31c86a0a7e1dfd73b880fc986",{"version":"02fdc48e90772a67702e098b722a5772fddf789fb8aa961fc1e292655581df34","signature":"90b78b57b0842bd1fd5ec099a97cfb33146e6d2d52dd68d8a89ae834105ab366"},{"version":"e08f7f2e161bf3631ced28081d5b567ebce6f58dedc9930ec299b14f7dc52ae2","signature":"4a9216f87f9b92167b0b18cd90016000e71dd7ea61a95385b2b97be6585e9cb3"},{"version":"56a1d5d8e0d9fc4e3e39936097c3064338df9031872c8e21a9648e3390aae30c","signature":"496a712363ee622ead98319bdf81471e550993b83529174068fce0f0e2db1615"},{"version":"c12fb0c4b324c65600609051919b1de0da4630c66bdbd4dc268efe7780ff4ed8","signature":"92deca0757666c0db63066e8307e28452fed66d809d5c1ef0554b0475e3b098b"},{"version":"ea28e24296ad23e752a833c57ba347af21000e51a3d04d99e1c6d6ddc7e2cf24","signature":"887dc6c82444f5c7f3da9c1914b74a13bb46ca0f218deda5ea25d9fda2bef1b6"},{"version":"94dab901493475872f90a4e2d58eb6f2cf6265e95fecba1723436c15cd9b29e5","signature":"d628659c9f4df17c9f47205600cd27ca34327b6f49c03c3a92ba35194ba5358d"},{"version":"e1d7d13bf67f07f3efbed72a4ee999083be13ef8c9968e99f38586545b28b399","signature":"a895daacc14309d96555463210644d8e2aceef5d57346ce1bb513f8cdfabd393"},{"version":"6469e0325b8d62347b79baf42ba957cc2401ce05378bfd521737c049554028ae","signature":"7f1be7e4a47f9abe89d28793e59d0d7a935c7f14a597f1e2b6651d1e54f23957"},{"version":"e6afc6c377cdc0b881c15db7be06fe57fbdbb4074753bb36abdc26000de853ee","signature":"39f82ec23c92368df0de1449bb26e14280862e092ab8e3eaacf80570ac35a7f2"},{"version":"b4e83151bd067378d7fcce251d866b13f6789843a66d18f7c4ca58c3e70035e4","signature":"6f82e9d16b584ec9127bcccd8ce9311e587652acb36657458f9174ccaec7b354"},{"version":"6419036e9ec25b03fed142edef64280f5d7dbcc158170cb27899ecb9cb2dae8b","signature":"9798502506a30b631a4841a0c5e4dd369c8662c2ab08bf069fb464262cd9d9f8"},{"version":"205b5a62e15144e9bd6a49846df7d30399a5738a3ab439f35eb25e19aab66299","signature":"e3fa7ffb42258b9fc94b57a2547b30cd2abc69ce64a9031c6e27197a62c9c333"},{"version":"8d09f7a29021a69909eca56a60012bb043c703b82fbb1dede51186fedcce88f9","signature":"1a4f84d939445c350647adf2f5001ecc6fcef110b6daa79c11b3aa7c9984d0e1"},{"version":"593405def651364d973e4f004babc84c36d0975d0a51565bd15ba9e13cd17837","signature":"e7b7ca1fbfddbe67a3736393a170a4fe8d2929cdde754c08e4db38a03869ec94"},{"version":"d4d33a78e8cd5bca6bd5706fbbaa207f6d7983b180c274dc91ebba52e3ab90dc","signature":"7a536fc359a698b1cc477a7b5bb083262f0546e896611e2ca47c5a4d0cabbe3d"},"8eed414bd2305e20163d35205b450204002bf20e14c7241d7fec46bb18f174d2"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":false,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[71],[67,68,69,70],[60,61,62,63],[60],[61],[72],[71,72],[73],[71,86,87],[94],[71,96],[110],[73,74],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,95,97,98,99,100,101,111,112,113,114,115,116,117,118,119,120],[151,152],[110,151],[110,137],[149,150],[110,149],[155,156],[110,121,150],[58,150],[58,110,145,148,150,152],[110,121,157],[121,159],[110,121,153],[56,58],[136],[58,137],[56,58,59,134,136,137,138,144,153,154,157,158,159,160,161,162],[143],[136,139,140,142,163],[141],[123],[57,125],[57,58,59,66,121,124,126,128,129,131,132,133,164],[57,130,131,164],[130,132],[57],[58,65,124,127,134,135],[127,136],[58],[64],[94,102,105,106,107,108,109],[103,104],[71,94],[68,69,70,165],[146,147],[148],[122],[71,136],[131,164],[132]],"referencedMap":[[104,1],[103,1],[71,2],[64,3],[61,4],[62,5],[77,1],[78,1],[80,6],[81,7],[83,1],[84,1],[85,1],[114,8],[88,9],[90,1],[118,1],[120,1],[86,1],[87,1],[91,1],[119,1],[95,10],[97,11],[116,1],[117,1],[111,12],[115,13],[101,1],[121,14],[72,1],[151,12],[161,15],[152,16],[149,17],[159,18],[150,19],[157,20],[156,21],[155,22],[153,23],[158,24],[160,25],[154,26],[59,27],[137,28],[138,29],[163,30],[144,31],[143,32],[142,33],[124,34],[126,35],[134,36],[132,37],[133,38],[130,39],[136,40],[128,41],[162,29],[58,39],[135,42],[65,43],[102,10],[110,44],[109,1],[105,45],[94,1],[108,46],[93,47],[148,48],[146,49],[123,50],[66,39]],"exportedModulesMap":[[104,1],[103,1],[71,2],[64,3],[61,4],[62,5],[77,1],[78,1],[80,6],[81,7],[83,1],[84,1],[85,1],[114,8],[88,9],[90,1],[118,1],[120,1],[86,1],[87,1],[91,1],[119,1],[95,10],[97,11],[116,1],[117,1],[111,12],[115,13],[101,1],[121,14],[72,1],[151,1],[149,51],[155,42],[153,42],[158,12],[160,1],[154,12],[59,42],[137,28],[138,42],[163,42],[143,28],[126,39],[134,42],[132,52],[133,53],[130,39],[136,42],[128,28],[162,42],[58,39],[135,42],[65,43],[102,10],[110,44],[109,1],[105,45],[94,1],[108,46],[93,47],[148,48],[146,49],[123,50],[66,39]],"semanticDiagnosticsPerFile":[96,69,104,103,67,71,70,68,139,125,57,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,60,63,64,61,62,75,77,76,78,79,80,81,82,112,83,84,85,114,88,89,90,118,120,86,87,91,119,92,95,97,98,116,99,100,117,111,115,101,113,121,72,73,74,140,151,161,152,149,159,150,157,156,155,153,158,160,154,59,137,138,56,163,144,143,142,141,124,126,134,131,164,132,133,130,129,136,128,162,127,58,135,65,102,110,107,109,105,94,108,106,93,147,148,146,145,122,123,66],"latestChangedDtsFile":"./build-types/index.d.ts"},"version":"4.9.5"}