@wordpress/data 9.5.1 → 9.5.2
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/build/redux-store/index.js +29 -36
- package/build/redux-store/index.js.map +1 -1
- package/build-module/redux-store/index.js +29 -36
- package/build-module/redux-store/index.js.map +1 -1
- package/build-types/redux-store/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/redux-store/index.js +43 -41
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -127,11 +127,11 @@ function createResolversCache() {
|
|
|
127
127
|
function createBindingCache(bind) {
|
|
128
128
|
const cache = new WeakMap();
|
|
129
129
|
return {
|
|
130
|
-
get(item) {
|
|
130
|
+
get(item, itemName) {
|
|
131
131
|
let boundItem = cache.get(item);
|
|
132
132
|
|
|
133
133
|
if (!boundItem) {
|
|
134
|
-
boundItem = bind(item);
|
|
134
|
+
boundItem = bind(item, itemName);
|
|
135
135
|
cache.set(item, boundItem);
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -218,15 +218,16 @@ function createReduxStore(key, options) {
|
|
|
218
218
|
const allActions = new Proxy(() => {}, {
|
|
219
219
|
get: (target, prop) => {
|
|
220
220
|
const privateAction = privateActions[prop];
|
|
221
|
-
return privateAction ? boundPrivateActions.get(privateAction) : actions[prop];
|
|
221
|
+
return privateAction ? boundPrivateActions.get(privateAction, prop) : actions[prop];
|
|
222
222
|
}
|
|
223
223
|
});
|
|
224
224
|
const thunkActions = new Proxy(allActions, {
|
|
225
225
|
apply: (target, thisArg, [action]) => store.dispatch(action)
|
|
226
226
|
});
|
|
227
227
|
(0, _lockUnlock.lock)(actions, allActions);
|
|
228
|
+
const resolvers = options.resolvers ? mapResolvers(options.resolvers) : {};
|
|
228
229
|
|
|
229
|
-
function bindSelector(selector) {
|
|
230
|
+
function bindSelector(selector, selectorName) {
|
|
230
231
|
if (selector.isRegistrySelector) {
|
|
231
232
|
selector.registry = registry;
|
|
232
233
|
}
|
|
@@ -237,8 +238,14 @@ function createReduxStore(key, options) {
|
|
|
237
238
|
return selector(state.root, ...args);
|
|
238
239
|
};
|
|
239
240
|
|
|
240
|
-
|
|
241
|
-
|
|
241
|
+
const resolver = resolvers[selectorName];
|
|
242
|
+
|
|
243
|
+
if (!resolver) {
|
|
244
|
+
boundSelector.hasResolver = false;
|
|
245
|
+
return boundSelector;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return mapSelectorWithResolver(boundSelector, selectorName, resolver, store, resolversCache);
|
|
242
249
|
}
|
|
243
250
|
|
|
244
251
|
function bindMetadataSelector(selector) {
|
|
@@ -252,27 +259,20 @@ function createReduxStore(key, options) {
|
|
|
252
259
|
return boundSelector;
|
|
253
260
|
}
|
|
254
261
|
|
|
255
|
-
|
|
262
|
+
const selectors = { ...mapValues(metadataSelectors, bindMetadataSelector),
|
|
256
263
|
...mapValues(options.selectors, bindSelector)
|
|
257
264
|
};
|
|
258
|
-
let resolvers;
|
|
259
|
-
|
|
260
|
-
if (options.resolvers) {
|
|
261
|
-
resolvers = mapResolvers(options.resolvers);
|
|
262
|
-
selectors = mapSelectorsWithResolvers(selectors, resolvers, store, resolversCache);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
265
|
const boundPrivateSelectors = createBindingCache(bindSelector); // Pre-bind the private selectors that have been registered by the time of
|
|
266
266
|
// instantiation, so that registry selectors are bound to the registry.
|
|
267
267
|
|
|
268
|
-
for (const
|
|
269
|
-
boundPrivateSelectors.get(
|
|
268
|
+
for (const [selectorName, selector] of Object.entries(privateSelectors)) {
|
|
269
|
+
boundPrivateSelectors.get(selector, selectorName);
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
const allSelectors = new Proxy(() => {}, {
|
|
273
273
|
get: (target, prop) => {
|
|
274
274
|
const privateSelector = privateSelectors[prop];
|
|
275
|
-
return privateSelector ? boundPrivateSelectors.get(privateSelector) : selectors[prop];
|
|
275
|
+
return privateSelector ? boundPrivateSelectors.get(privateSelector, prop) : selectors[prop];
|
|
276
276
|
}
|
|
277
277
|
});
|
|
278
278
|
const thunkSelectors = new Proxy(allSelectors, {
|
|
@@ -503,19 +503,20 @@ function mapResolvers(resolvers) {
|
|
|
503
503
|
});
|
|
504
504
|
}
|
|
505
505
|
/**
|
|
506
|
-
* Returns
|
|
506
|
+
* Returns a selector with a matched resolver.
|
|
507
507
|
* Resolvers are side effects invoked once per argument set of a given selector call,
|
|
508
508
|
* used in ensuring that the data needs for the selector are satisfied.
|
|
509
509
|
*
|
|
510
|
-
* @param {Object}
|
|
511
|
-
* @param {
|
|
510
|
+
* @param {Object} selector The selector function to be bound.
|
|
511
|
+
* @param {string} selectorName The selector name.
|
|
512
|
+
* @param {Object} resolver Resolver to call.
|
|
512
513
|
* @param {Object} store The redux store to which the resolvers should be mapped.
|
|
513
514
|
* @param {Object} resolversCache Resolvers Cache.
|
|
514
515
|
*/
|
|
515
516
|
|
|
516
517
|
|
|
517
|
-
function
|
|
518
|
-
function fulfillSelector(
|
|
518
|
+
function mapSelectorWithResolver(selector, selectorName, resolver, store, resolversCache) {
|
|
519
|
+
function fulfillSelector(args) {
|
|
519
520
|
const state = store.getState();
|
|
520
521
|
|
|
521
522
|
if (resolversCache.isRunning(selectorName, args) || typeof resolver.isFulfilled === 'function' && resolver.isFulfilled(state, ...args)) {
|
|
@@ -549,20 +550,12 @@ function mapSelectorsWithResolvers(selectors, resolvers, store, resolversCache)
|
|
|
549
550
|
}, 0);
|
|
550
551
|
}
|
|
551
552
|
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
return selector;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
const selectorResolver = (...args) => {
|
|
560
|
-
fulfillSelector(resolver, selectorName, args);
|
|
561
|
-
return selector(...args);
|
|
562
|
-
};
|
|
553
|
+
const selectorResolver = (...args) => {
|
|
554
|
+
fulfillSelector(args);
|
|
555
|
+
return selector(...args);
|
|
556
|
+
};
|
|
563
557
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
});
|
|
558
|
+
selectorResolver.hasResolver = true;
|
|
559
|
+
return selectorResolver;
|
|
567
560
|
}
|
|
568
561
|
//# sourceMappingURL=index.js.map
|
|
@@ -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","fromEntries","entries","map","key","value","mapToObject","state","Map","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","EquivalentKeyMap","set","createBindingCache","bind","WeakMap","item","boundItem","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","thunkActions","select","thunkSelectors","resolveSelect","getResolveSelectors","store","instantiateReduxStore","resolversCache","bindAction","action","Promise","resolve","metadataActions","boundPrivateActions","allActions","Proxy","target","prop","privateAction","apply","thisArg","bindSelector","selector","isRegistrySelector","boundSelector","__unstableOriginalGetState","root","hasResolver","bindMetadataSelector","metadata","metadataSelectors","resolvers","mapResolvers","mapSelectorsWithResolvers","boundPrivateSelectors","privateSelector","values","allSelectors","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSelectors","getActions","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","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","resolver","fulfill","fulfillSelector","isFulfilled","setTimeout","startResolution","finishResolution","failResolution","selectorResolver"],"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 '../lock-unlock';\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.fromEntries(\n\t\tObject.entries( obj ?? {} ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tcallback( value, key ),\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\nfunction createBindingCache( bind ) {\n\tconst cache = new WeakMap();\n\n\treturn {\n\t\tget( item ) {\n\t\t\tlet boundItem = cache.get( item );\n\t\t\tif ( ! boundItem ) {\n\t\t\t\tboundItem = bind( item );\n\t\t\t\tcache.set( item, boundItem );\n\t\t\t}\n\t\t\treturn boundItem;\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 thunkActions;\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn thunkSelectors;\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\tfunction bindAction( action ) {\n\t\t\t\treturn ( ...args ) =>\n\t\t\t\t\tPromise.resolve( store.dispatch( action( ...args ) ) );\n\t\t\t}\n\n\t\t\tconst actions = {\n\t\t\t\t...mapValues( metadataActions, bindAction ),\n\t\t\t\t...mapValues( options.actions, bindAction ),\n\t\t\t};\n\n\t\t\tconst boundPrivateActions = createBindingCache( bindAction );\n\t\t\tconst allActions = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateAction = privateActions[ prop ];\n\t\t\t\t\treturn privateAction\n\t\t\t\t\t\t? boundPrivateActions.get( privateAction )\n\t\t\t\t\t\t: actions[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkActions = new Proxy( allActions, {\n\t\t\t\tapply: ( target, thisArg, [ action ] ) =>\n\t\t\t\t\tstore.dispatch( action ),\n\t\t\t} );\n\n\t\t\tlock( actions, allActions );\n\n\t\t\tfunction bindSelector( selector ) {\n\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\tselector.registry = registry;\n\t\t\t\t}\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.root, ...args );\n\t\t\t\t};\n\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\treturn boundSelector;\n\t\t\t}\n\n\t\t\tfunction bindMetadataSelector( selector ) {\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.metadata, ...args );\n\t\t\t\t};\n\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\treturn boundSelector;\n\t\t\t}\n\n\t\t\tlet selectors = {\n\t\t\t\t...mapValues( metadataSelectors, bindMetadataSelector ),\n\t\t\t\t...mapValues( options.selectors, bindSelector ),\n\t\t\t};\n\n\t\t\tlet resolvers;\n\t\t\tif ( options.resolvers ) {\n\t\t\t\tresolvers = mapResolvers( options.resolvers );\n\t\t\t\tselectors = mapSelectorsWithResolvers(\n\t\t\t\t\tselectors,\n\t\t\t\t\tresolvers,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst boundPrivateSelectors = createBindingCache( bindSelector );\n\n\t\t\t// Pre-bind the private selectors that have been registered by the time of\n\t\t\t// instantiation, so that registry selectors are bound to the registry.\n\t\t\tfor ( const privateSelector of Object.values( privateSelectors ) ) {\n\t\t\t\tboundPrivateSelectors.get( privateSelector );\n\t\t\t}\n\n\t\t\tconst allSelectors = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateSelector = privateSelectors[ prop ];\n\t\t\t\t\treturn privateSelector\n\t\t\t\t\t\t? boundPrivateSelectors.get( privateSelector )\n\t\t\t\t\t\t: selectors[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkSelectors = new Proxy( allSelectors, {\n\t\t\t\tapply: ( target, thisArg, [ selector ] ) =>\n\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t} );\n\n\t\t\tlock( selectors, allSelectors );\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 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 * Convert resolvers to a normalized form, an object with `fulfill` method and\n * optional methods like `isFulfilled`.\n *\n * @param {Object} resolvers Resolver to convert\n */\nfunction mapResolvers( resolvers ) {\n\treturn 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\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} selectors The current selectors to be modified.\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapSelectorsWithResolvers(\n\tselectors,\n\tresolvers,\n\tstore,\n\tresolversCache\n) {\n\tfunction fulfillSelector( resolver, selectorName, args ) {\n\t\tconst state = store.getState();\n\n\t\tif (\n\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\tif (\n\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\tmetadata,\n\t\t\t\tselectorName,\n\t\t\t\targs\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\tsetTimeout( async () => {\n\t\t\tresolversCache.clear( selectorName, args );\n\t\t\tstore.dispatch(\n\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t);\n\t\t\ttry {\n\t\t\t\tconst action = resolver.fulfill( ...args );\n\t\t\t\tif ( action ) {\n\t\t\t\t\tawait store.dispatch( action );\n\t\t\t\t}\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.finishResolution( selectorName, args )\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.failResolution( selectorName, args, error )\n\t\t\t\t);\n\t\t\t}\n\t\t}, 0 );\n\t}\n\n\treturn mapValues( selectors, ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\tconst selectorResolver = ( ...args ) => {\n\t\t\tfulfillSelector( resolver, selectorName, args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t\tselectorResolver.hasResolver = true;\n\t\treturn selectorResolver;\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","fromEntries","entries","map","key","value","mapToObject","state","Map","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","EquivalentKeyMap","set","createBindingCache","bind","WeakMap","item","itemName","boundItem","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","thunkActions","select","thunkSelectors","resolveSelect","getResolveSelectors","store","instantiateReduxStore","resolversCache","bindAction","action","Promise","resolve","metadataActions","boundPrivateActions","allActions","Proxy","target","prop","privateAction","apply","thisArg","resolvers","mapResolvers","bindSelector","selector","isRegistrySelector","boundSelector","__unstableOriginalGetState","root","resolver","hasResolver","mapSelectorWithResolver","bindMetadataSelector","metadata","metadataSelectors","boundPrivateSelectors","allSelectors","privateSelector","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSelectors","getActions","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","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","fulfill","fulfillSelector","isFulfilled","setTimeout","startResolution","finishResolution","failResolution","selectorResolver"],"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 '../lock-unlock';\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.fromEntries(\n\t\tObject.entries( obj ?? {} ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tcallback( value, key ),\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\nfunction createBindingCache( bind ) {\n\tconst cache = new WeakMap();\n\n\treturn {\n\t\tget( item, itemName ) {\n\t\t\tlet boundItem = cache.get( item );\n\t\t\tif ( ! boundItem ) {\n\t\t\t\tboundItem = bind( item, itemName );\n\t\t\t\tcache.set( item, boundItem );\n\t\t\t}\n\t\t\treturn boundItem;\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 thunkActions;\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn thunkSelectors;\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\tfunction bindAction( action ) {\n\t\t\t\treturn ( ...args ) =>\n\t\t\t\t\tPromise.resolve( store.dispatch( action( ...args ) ) );\n\t\t\t}\n\n\t\t\tconst actions = {\n\t\t\t\t...mapValues( metadataActions, bindAction ),\n\t\t\t\t...mapValues( options.actions, bindAction ),\n\t\t\t};\n\n\t\t\tconst boundPrivateActions = createBindingCache( bindAction );\n\t\t\tconst allActions = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateAction = privateActions[ prop ];\n\t\t\t\t\treturn privateAction\n\t\t\t\t\t\t? boundPrivateActions.get( privateAction, prop )\n\t\t\t\t\t\t: actions[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkActions = new Proxy( allActions, {\n\t\t\t\tapply: ( target, thisArg, [ action ] ) =>\n\t\t\t\t\tstore.dispatch( action ),\n\t\t\t} );\n\n\t\t\tlock( actions, allActions );\n\n\t\t\tconst resolvers = options.resolvers\n\t\t\t\t? mapResolvers( options.resolvers )\n\t\t\t\t: {};\n\n\t\t\tfunction bindSelector( selector, selectorName ) {\n\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\tselector.registry = registry;\n\t\t\t\t}\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.root, ...args );\n\t\t\t\t};\n\n\t\t\t\tconst resolver = resolvers[ selectorName ];\n\t\t\t\tif ( ! resolver ) {\n\t\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\t\treturn boundSelector;\n\t\t\t\t}\n\n\t\t\t\treturn mapSelectorWithResolver(\n\t\t\t\t\tboundSelector,\n\t\t\t\t\tselectorName,\n\t\t\t\t\tresolver,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfunction bindMetadataSelector( selector ) {\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.metadata, ...args );\n\t\t\t\t};\n\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\treturn boundSelector;\n\t\t\t}\n\n\t\t\tconst selectors = {\n\t\t\t\t...mapValues( metadataSelectors, bindMetadataSelector ),\n\t\t\t\t...mapValues( options.selectors, bindSelector ),\n\t\t\t};\n\n\t\t\tconst boundPrivateSelectors = createBindingCache( bindSelector );\n\n\t\t\t// Pre-bind the private selectors that have been registered by the time of\n\t\t\t// instantiation, so that registry selectors are bound to the registry.\n\t\t\tfor ( const [ selectorName, selector ] of Object.entries(\n\t\t\t\tprivateSelectors\n\t\t\t) ) {\n\t\t\t\tboundPrivateSelectors.get( selector, selectorName );\n\t\t\t}\n\n\t\t\tconst allSelectors = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateSelector = privateSelectors[ prop ];\n\t\t\t\t\treturn privateSelector\n\t\t\t\t\t\t? boundPrivateSelectors.get( privateSelector, prop )\n\t\t\t\t\t\t: selectors[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkSelectors = new Proxy( allSelectors, {\n\t\t\t\tapply: ( target, thisArg, [ selector ] ) =>\n\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t} );\n\n\t\t\tlock( selectors, allSelectors );\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 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 * Convert resolvers to a normalized form, an object with `fulfill` method and\n * optional methods like `isFulfilled`.\n *\n * @param {Object} resolvers Resolver to convert\n */\nfunction mapResolvers( resolvers ) {\n\treturn 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\n/**\n * Returns a selector with a matched resolver.\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} selector The selector function to be bound.\n * @param {string} selectorName The selector name.\n * @param {Object} resolver Resolver to call.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapSelectorWithResolver(\n\tselector,\n\tselectorName,\n\tresolver,\n\tstore,\n\tresolversCache\n) {\n\tfunction fulfillSelector( args ) {\n\t\tconst state = store.getState();\n\n\t\tif (\n\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\tif (\n\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\tmetadata,\n\t\t\t\tselectorName,\n\t\t\t\targs\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\tsetTimeout( async () => {\n\t\t\tresolversCache.clear( selectorName, args );\n\t\t\tstore.dispatch(\n\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t);\n\t\t\ttry {\n\t\t\t\tconst action = resolver.fulfill( ...args );\n\t\t\t\tif ( action ) {\n\t\t\t\t\tawait store.dispatch( action );\n\t\t\t\t}\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.finishResolution( selectorName, args )\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.failResolution( selectorName, args, error )\n\t\t\t\t);\n\t\t\t}\n\t\t}, 0 );\n\t}\n\n\tconst selectorResolver = ( ...args ) => {\n\t\tfulfillSelector( args );\n\t\treturn selector( ...args );\n\t};\n\tselectorResolver.hasResolver = true;\n\treturn selectorResolver;\n}\n"]}
|
|
@@ -101,11 +101,11 @@ function createResolversCache() {
|
|
|
101
101
|
function createBindingCache(bind) {
|
|
102
102
|
const cache = new WeakMap();
|
|
103
103
|
return {
|
|
104
|
-
get(item) {
|
|
104
|
+
get(item, itemName) {
|
|
105
105
|
let boundItem = cache.get(item);
|
|
106
106
|
|
|
107
107
|
if (!boundItem) {
|
|
108
|
-
boundItem = bind(item);
|
|
108
|
+
boundItem = bind(item, itemName);
|
|
109
109
|
cache.set(item, boundItem);
|
|
110
110
|
}
|
|
111
111
|
|
|
@@ -192,15 +192,16 @@ export default function createReduxStore(key, options) {
|
|
|
192
192
|
const allActions = new Proxy(() => {}, {
|
|
193
193
|
get: (target, prop) => {
|
|
194
194
|
const privateAction = privateActions[prop];
|
|
195
|
-
return privateAction ? boundPrivateActions.get(privateAction) : actions[prop];
|
|
195
|
+
return privateAction ? boundPrivateActions.get(privateAction, prop) : actions[prop];
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
198
|
const thunkActions = new Proxy(allActions, {
|
|
199
199
|
apply: (target, thisArg, [action]) => store.dispatch(action)
|
|
200
200
|
});
|
|
201
201
|
lock(actions, allActions);
|
|
202
|
+
const resolvers = options.resolvers ? mapResolvers(options.resolvers) : {};
|
|
202
203
|
|
|
203
|
-
function bindSelector(selector) {
|
|
204
|
+
function bindSelector(selector, selectorName) {
|
|
204
205
|
if (selector.isRegistrySelector) {
|
|
205
206
|
selector.registry = registry;
|
|
206
207
|
}
|
|
@@ -211,8 +212,14 @@ export default function createReduxStore(key, options) {
|
|
|
211
212
|
return selector(state.root, ...args);
|
|
212
213
|
};
|
|
213
214
|
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
const resolver = resolvers[selectorName];
|
|
216
|
+
|
|
217
|
+
if (!resolver) {
|
|
218
|
+
boundSelector.hasResolver = false;
|
|
219
|
+
return boundSelector;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return mapSelectorWithResolver(boundSelector, selectorName, resolver, store, resolversCache);
|
|
216
223
|
}
|
|
217
224
|
|
|
218
225
|
function bindMetadataSelector(selector) {
|
|
@@ -226,27 +233,20 @@ export default function createReduxStore(key, options) {
|
|
|
226
233
|
return boundSelector;
|
|
227
234
|
}
|
|
228
235
|
|
|
229
|
-
|
|
236
|
+
const selectors = { ...mapValues(metadataSelectors, bindMetadataSelector),
|
|
230
237
|
...mapValues(options.selectors, bindSelector)
|
|
231
238
|
};
|
|
232
|
-
let resolvers;
|
|
233
|
-
|
|
234
|
-
if (options.resolvers) {
|
|
235
|
-
resolvers = mapResolvers(options.resolvers);
|
|
236
|
-
selectors = mapSelectorsWithResolvers(selectors, resolvers, store, resolversCache);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
239
|
const boundPrivateSelectors = createBindingCache(bindSelector); // Pre-bind the private selectors that have been registered by the time of
|
|
240
240
|
// instantiation, so that registry selectors are bound to the registry.
|
|
241
241
|
|
|
242
|
-
for (const
|
|
243
|
-
boundPrivateSelectors.get(
|
|
242
|
+
for (const [selectorName, selector] of Object.entries(privateSelectors)) {
|
|
243
|
+
boundPrivateSelectors.get(selector, selectorName);
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
const allSelectors = new Proxy(() => {}, {
|
|
247
247
|
get: (target, prop) => {
|
|
248
248
|
const privateSelector = privateSelectors[prop];
|
|
249
|
-
return privateSelector ? boundPrivateSelectors.get(privateSelector) : selectors[prop];
|
|
249
|
+
return privateSelector ? boundPrivateSelectors.get(privateSelector, prop) : selectors[prop];
|
|
250
250
|
}
|
|
251
251
|
});
|
|
252
252
|
const thunkSelectors = new Proxy(allSelectors, {
|
|
@@ -476,19 +476,20 @@ function mapResolvers(resolvers) {
|
|
|
476
476
|
});
|
|
477
477
|
}
|
|
478
478
|
/**
|
|
479
|
-
* Returns
|
|
479
|
+
* Returns a selector with a matched resolver.
|
|
480
480
|
* Resolvers are side effects invoked once per argument set of a given selector call,
|
|
481
481
|
* used in ensuring that the data needs for the selector are satisfied.
|
|
482
482
|
*
|
|
483
|
-
* @param {Object}
|
|
484
|
-
* @param {
|
|
483
|
+
* @param {Object} selector The selector function to be bound.
|
|
484
|
+
* @param {string} selectorName The selector name.
|
|
485
|
+
* @param {Object} resolver Resolver to call.
|
|
485
486
|
* @param {Object} store The redux store to which the resolvers should be mapped.
|
|
486
487
|
* @param {Object} resolversCache Resolvers Cache.
|
|
487
488
|
*/
|
|
488
489
|
|
|
489
490
|
|
|
490
|
-
function
|
|
491
|
-
function fulfillSelector(
|
|
491
|
+
function mapSelectorWithResolver(selector, selectorName, resolver, store, resolversCache) {
|
|
492
|
+
function fulfillSelector(args) {
|
|
492
493
|
const state = store.getState();
|
|
493
494
|
|
|
494
495
|
if (resolversCache.isRunning(selectorName, args) || typeof resolver.isFulfilled === 'function' && resolver.isFulfilled(state, ...args)) {
|
|
@@ -522,20 +523,12 @@ function mapSelectorsWithResolvers(selectors, resolvers, store, resolversCache)
|
|
|
522
523
|
}, 0);
|
|
523
524
|
}
|
|
524
525
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
return selector;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
const selectorResolver = (...args) => {
|
|
533
|
-
fulfillSelector(resolver, selectorName, args);
|
|
534
|
-
return selector(...args);
|
|
535
|
-
};
|
|
526
|
+
const selectorResolver = (...args) => {
|
|
527
|
+
fulfillSelector(args);
|
|
528
|
+
return selector(...args);
|
|
529
|
+
};
|
|
536
530
|
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
});
|
|
531
|
+
selectorResolver.hasResolver = true;
|
|
532
|
+
return selectorResolver;
|
|
540
533
|
}
|
|
541
534
|
//# sourceMappingURL=index.js.map
|
|
@@ -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","fromEntries","entries","map","key","value","mapToObject","state","Map","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","set","createBindingCache","bind","WeakMap","item","boundItem","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","thunkActions","select","thunkSelectors","resolveSelect","getResolveSelectors","store","instantiateReduxStore","resolversCache","bindAction","action","Promise","resolve","boundPrivateActions","allActions","Proxy","target","prop","privateAction","apply","thisArg","bindSelector","selector","isRegistrySelector","boundSelector","__unstableOriginalGetState","root","hasResolver","bindMetadataSelector","metadata","resolvers","mapResolvers","mapSelectorsWithResolvers","boundPrivateSelectors","privateSelector","values","allSelectors","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSelectors","getActions","getSuspendSelectors","getState","subscribe","listener","lastState","hasChanged","controls","normalizedControls","control","isRegistryControl","middlewares","enhancers","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","resolver","fulfill","fulfillSelector","isFulfilled","setTimeout","startResolution","finishResolution","failResolution","selectorResolver"],"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 '../lock-unlock';\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.fromEntries(\n\t\tObject.entries( obj ?? {} ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tcallback( value, key ),\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\nfunction createBindingCache( bind ) {\n\tconst cache = new WeakMap();\n\n\treturn {\n\t\tget( item ) {\n\t\t\tlet boundItem = cache.get( item );\n\t\t\tif ( ! boundItem ) {\n\t\t\t\tboundItem = bind( item );\n\t\t\t\tcache.set( item, boundItem );\n\t\t\t}\n\t\t\treturn boundItem;\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 thunkActions;\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn thunkSelectors;\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\tfunction bindAction( action ) {\n\t\t\t\treturn ( ...args ) =>\n\t\t\t\t\tPromise.resolve( store.dispatch( action( ...args ) ) );\n\t\t\t}\n\n\t\t\tconst actions = {\n\t\t\t\t...mapValues( metadataActions, bindAction ),\n\t\t\t\t...mapValues( options.actions, bindAction ),\n\t\t\t};\n\n\t\t\tconst boundPrivateActions = createBindingCache( bindAction );\n\t\t\tconst allActions = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateAction = privateActions[ prop ];\n\t\t\t\t\treturn privateAction\n\t\t\t\t\t\t? boundPrivateActions.get( privateAction )\n\t\t\t\t\t\t: actions[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkActions = new Proxy( allActions, {\n\t\t\t\tapply: ( target, thisArg, [ action ] ) =>\n\t\t\t\t\tstore.dispatch( action ),\n\t\t\t} );\n\n\t\t\tlock( actions, allActions );\n\n\t\t\tfunction bindSelector( selector ) {\n\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\tselector.registry = registry;\n\t\t\t\t}\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.root, ...args );\n\t\t\t\t};\n\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\treturn boundSelector;\n\t\t\t}\n\n\t\t\tfunction bindMetadataSelector( selector ) {\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.metadata, ...args );\n\t\t\t\t};\n\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\treturn boundSelector;\n\t\t\t}\n\n\t\t\tlet selectors = {\n\t\t\t\t...mapValues( metadataSelectors, bindMetadataSelector ),\n\t\t\t\t...mapValues( options.selectors, bindSelector ),\n\t\t\t};\n\n\t\t\tlet resolvers;\n\t\t\tif ( options.resolvers ) {\n\t\t\t\tresolvers = mapResolvers( options.resolvers );\n\t\t\t\tselectors = mapSelectorsWithResolvers(\n\t\t\t\t\tselectors,\n\t\t\t\t\tresolvers,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst boundPrivateSelectors = createBindingCache( bindSelector );\n\n\t\t\t// Pre-bind the private selectors that have been registered by the time of\n\t\t\t// instantiation, so that registry selectors are bound to the registry.\n\t\t\tfor ( const privateSelector of Object.values( privateSelectors ) ) {\n\t\t\t\tboundPrivateSelectors.get( privateSelector );\n\t\t\t}\n\n\t\t\tconst allSelectors = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateSelector = privateSelectors[ prop ];\n\t\t\t\t\treturn privateSelector\n\t\t\t\t\t\t? boundPrivateSelectors.get( privateSelector )\n\t\t\t\t\t\t: selectors[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkSelectors = new Proxy( allSelectors, {\n\t\t\t\tapply: ( target, thisArg, [ selector ] ) =>\n\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t} );\n\n\t\t\tlock( selectors, allSelectors );\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 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 * Convert resolvers to a normalized form, an object with `fulfill` method and\n * optional methods like `isFulfilled`.\n *\n * @param {Object} resolvers Resolver to convert\n */\nfunction mapResolvers( resolvers ) {\n\treturn 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\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} selectors The current selectors to be modified.\n * @param {Object} resolvers Resolvers to register.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapSelectorsWithResolvers(\n\tselectors,\n\tresolvers,\n\tstore,\n\tresolversCache\n) {\n\tfunction fulfillSelector( resolver, selectorName, args ) {\n\t\tconst state = store.getState();\n\n\t\tif (\n\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\tif (\n\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\tmetadata,\n\t\t\t\tselectorName,\n\t\t\t\targs\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\tsetTimeout( async () => {\n\t\t\tresolversCache.clear( selectorName, args );\n\t\t\tstore.dispatch(\n\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t);\n\t\t\ttry {\n\t\t\t\tconst action = resolver.fulfill( ...args );\n\t\t\t\tif ( action ) {\n\t\t\t\t\tawait store.dispatch( action );\n\t\t\t\t}\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.finishResolution( selectorName, args )\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.failResolution( selectorName, args, error )\n\t\t\t\t);\n\t\t\t}\n\t\t}, 0 );\n\t}\n\n\treturn mapValues( selectors, ( selector, selectorName ) => {\n\t\tconst resolver = resolvers[ selectorName ];\n\t\tif ( ! resolver ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\tconst selectorResolver = ( ...args ) => {\n\t\t\tfulfillSelector( resolver, selectorName, args );\n\t\t\treturn selector( ...args );\n\t\t};\n\t\tselectorResolver.hasResolver = true;\n\t\treturn selectorResolver;\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","fromEntries","entries","map","key","value","mapToObject","state","Map","createResolversCache","cache","isRunning","selectorName","args","get","clear","delete","markAsRunning","set","createBindingCache","bind","WeakMap","item","itemName","boundItem","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","reducer","thunkArgs","dispatch","thunkActions","select","thunkSelectors","resolveSelect","getResolveSelectors","store","instantiateReduxStore","resolversCache","bindAction","action","Promise","resolve","boundPrivateActions","allActions","Proxy","target","prop","privateAction","apply","thisArg","resolvers","mapResolvers","bindSelector","selector","isRegistrySelector","boundSelector","__unstableOriginalGetState","root","resolver","hasResolver","mapSelectorWithResolver","bindMetadataSelector","metadata","boundPrivateSelectors","allSelectors","privateSelector","resolveSelectors","mapResolveSelectors","suspendSelectors","mapSuspendSelectors","getSelectors","getActions","getSuspendSelectors","getState","subscribe","listener","lastState","hasChanged","controls","normalizedControls","control","isRegistryControl","middlewares","enhancers","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","storeSelectors","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","fulfill","fulfillSelector","isFulfilled","setTimeout","startResolution","finishResolution","failResolution","selectorResolver"],"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 '../lock-unlock';\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.fromEntries(\n\t\tObject.entries( obj ?? {} ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tcallback( value, key ),\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\nfunction createBindingCache( bind ) {\n\tconst cache = new WeakMap();\n\n\treturn {\n\t\tget( item, itemName ) {\n\t\t\tlet boundItem = cache.get( item );\n\t\t\tif ( ! boundItem ) {\n\t\t\t\tboundItem = bind( item, itemName );\n\t\t\t\tcache.set( item, boundItem );\n\t\t\t}\n\t\t\treturn boundItem;\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 thunkActions;\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn thunkSelectors;\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\tfunction bindAction( action ) {\n\t\t\t\treturn ( ...args ) =>\n\t\t\t\t\tPromise.resolve( store.dispatch( action( ...args ) ) );\n\t\t\t}\n\n\t\t\tconst actions = {\n\t\t\t\t...mapValues( metadataActions, bindAction ),\n\t\t\t\t...mapValues( options.actions, bindAction ),\n\t\t\t};\n\n\t\t\tconst boundPrivateActions = createBindingCache( bindAction );\n\t\t\tconst allActions = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateAction = privateActions[ prop ];\n\t\t\t\t\treturn privateAction\n\t\t\t\t\t\t? boundPrivateActions.get( privateAction, prop )\n\t\t\t\t\t\t: actions[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkActions = new Proxy( allActions, {\n\t\t\t\tapply: ( target, thisArg, [ action ] ) =>\n\t\t\t\t\tstore.dispatch( action ),\n\t\t\t} );\n\n\t\t\tlock( actions, allActions );\n\n\t\t\tconst resolvers = options.resolvers\n\t\t\t\t? mapResolvers( options.resolvers )\n\t\t\t\t: {};\n\n\t\t\tfunction bindSelector( selector, selectorName ) {\n\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\tselector.registry = registry;\n\t\t\t\t}\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.root, ...args );\n\t\t\t\t};\n\n\t\t\t\tconst resolver = resolvers[ selectorName ];\n\t\t\t\tif ( ! resolver ) {\n\t\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\t\treturn boundSelector;\n\t\t\t\t}\n\n\t\t\t\treturn mapSelectorWithResolver(\n\t\t\t\t\tboundSelector,\n\t\t\t\t\tselectorName,\n\t\t\t\t\tresolver,\n\t\t\t\t\tstore,\n\t\t\t\t\tresolversCache\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tfunction bindMetadataSelector( selector ) {\n\t\t\t\tconst boundSelector = ( ...args ) => {\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\treturn selector( state.metadata, ...args );\n\t\t\t\t};\n\t\t\t\tboundSelector.hasResolver = false;\n\t\t\t\treturn boundSelector;\n\t\t\t}\n\n\t\t\tconst selectors = {\n\t\t\t\t...mapValues( metadataSelectors, bindMetadataSelector ),\n\t\t\t\t...mapValues( options.selectors, bindSelector ),\n\t\t\t};\n\n\t\t\tconst boundPrivateSelectors = createBindingCache( bindSelector );\n\n\t\t\t// Pre-bind the private selectors that have been registered by the time of\n\t\t\t// instantiation, so that registry selectors are bound to the registry.\n\t\t\tfor ( const [ selectorName, selector ] of Object.entries(\n\t\t\t\tprivateSelectors\n\t\t\t) ) {\n\t\t\t\tboundPrivateSelectors.get( selector, selectorName );\n\t\t\t}\n\n\t\t\tconst allSelectors = new Proxy( () => {}, {\n\t\t\t\tget: ( target, prop ) => {\n\t\t\t\t\tconst privateSelector = privateSelectors[ prop ];\n\t\t\t\t\treturn privateSelector\n\t\t\t\t\t\t? boundPrivateSelectors.get( privateSelector, prop )\n\t\t\t\t\t\t: selectors[ prop ];\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tconst thunkSelectors = new Proxy( allSelectors, {\n\t\t\t\tapply: ( target, thisArg, [ selector ] ) =>\n\t\t\t\t\tselector( store.__unstableOriginalGetState() ),\n\t\t\t} );\n\n\t\t\tlock( selectors, allSelectors );\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 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 * Convert resolvers to a normalized form, an object with `fulfill` method and\n * optional methods like `isFulfilled`.\n *\n * @param {Object} resolvers Resolver to convert\n */\nfunction mapResolvers( resolvers ) {\n\treturn 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\n/**\n * Returns a selector with a matched resolver.\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} selector The selector function to be bound.\n * @param {string} selectorName The selector name.\n * @param {Object} resolver Resolver to call.\n * @param {Object} store The redux store to which the resolvers should be mapped.\n * @param {Object} resolversCache Resolvers Cache.\n */\nfunction mapSelectorWithResolver(\n\tselector,\n\tselectorName,\n\tresolver,\n\tstore,\n\tresolversCache\n) {\n\tfunction fulfillSelector( args ) {\n\t\tconst state = store.getState();\n\n\t\tif (\n\t\t\tresolversCache.isRunning( selectorName, args ) ||\n\t\t\t( typeof resolver.isFulfilled === 'function' &&\n\t\t\t\tresolver.isFulfilled( state, ...args ) )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { metadata } = store.__unstableOriginalGetState();\n\n\t\tif (\n\t\t\tmetadataSelectors.hasStartedResolution(\n\t\t\t\tmetadata,\n\t\t\t\tselectorName,\n\t\t\t\targs\n\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tresolversCache.markAsRunning( selectorName, args );\n\n\t\tsetTimeout( async () => {\n\t\t\tresolversCache.clear( selectorName, args );\n\t\t\tstore.dispatch(\n\t\t\t\tmetadataActions.startResolution( selectorName, args )\n\t\t\t);\n\t\t\ttry {\n\t\t\t\tconst action = resolver.fulfill( ...args );\n\t\t\t\tif ( action ) {\n\t\t\t\t\tawait store.dispatch( action );\n\t\t\t\t}\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.finishResolution( selectorName, args )\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tstore.dispatch(\n\t\t\t\t\tmetadataActions.failResolution( selectorName, args, error )\n\t\t\t\t);\n\t\t\t}\n\t\t}, 0 );\n\t}\n\n\tconst selectorResolver = ( ...args ) => {\n\t\tfulfillSelector( args );\n\t\treturn selector( ...args );\n\t};\n\tselectorResolver.hasResolver = true;\n\treturn selectorResolver;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redux-store/index.js"],"names":[],"mappings":"AAsHA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qGAPW,MAAM,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redux-store/index.js"],"names":[],"mappings":"AAsHA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qGAPW,MAAM,+KAqMhB;2BArTa,OAAO,UAAU,EAAE,YAAY;sEAEhC,OAAO,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;sFAIrC,OAAO,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAC,OAAO,EAAC,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/data",
|
|
3
|
-
"version": "9.5.
|
|
3
|
+
"version": "9.5.2",
|
|
4
4
|
"description": "Data module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "65fb4cd5187a47ca274c24c04a220bcdb2ddfa67"
|
|
54
54
|
}
|
package/src/redux-store/index.js
CHANGED
|
@@ -105,10 +105,10 @@ function createBindingCache( bind ) {
|
|
|
105
105
|
const cache = new WeakMap();
|
|
106
106
|
|
|
107
107
|
return {
|
|
108
|
-
get( item ) {
|
|
108
|
+
get( item, itemName ) {
|
|
109
109
|
let boundItem = cache.get( item );
|
|
110
110
|
if ( ! boundItem ) {
|
|
111
|
-
boundItem = bind( item );
|
|
111
|
+
boundItem = bind( item, itemName );
|
|
112
112
|
cache.set( item, boundItem );
|
|
113
113
|
}
|
|
114
114
|
return boundItem;
|
|
@@ -198,7 +198,7 @@ export default function createReduxStore( key, options ) {
|
|
|
198
198
|
get: ( target, prop ) => {
|
|
199
199
|
const privateAction = privateActions[ prop ];
|
|
200
200
|
return privateAction
|
|
201
|
-
? boundPrivateActions.get( privateAction )
|
|
201
|
+
? boundPrivateActions.get( privateAction, prop )
|
|
202
202
|
: actions[ prop ];
|
|
203
203
|
},
|
|
204
204
|
} );
|
|
@@ -210,7 +210,11 @@ export default function createReduxStore( key, options ) {
|
|
|
210
210
|
|
|
211
211
|
lock( actions, allActions );
|
|
212
212
|
|
|
213
|
-
|
|
213
|
+
const resolvers = options.resolvers
|
|
214
|
+
? mapResolvers( options.resolvers )
|
|
215
|
+
: {};
|
|
216
|
+
|
|
217
|
+
function bindSelector( selector, selectorName ) {
|
|
214
218
|
if ( selector.isRegistrySelector ) {
|
|
215
219
|
selector.registry = registry;
|
|
216
220
|
}
|
|
@@ -218,8 +222,20 @@ export default function createReduxStore( key, options ) {
|
|
|
218
222
|
const state = store.__unstableOriginalGetState();
|
|
219
223
|
return selector( state.root, ...args );
|
|
220
224
|
};
|
|
221
|
-
|
|
222
|
-
|
|
225
|
+
|
|
226
|
+
const resolver = resolvers[ selectorName ];
|
|
227
|
+
if ( ! resolver ) {
|
|
228
|
+
boundSelector.hasResolver = false;
|
|
229
|
+
return boundSelector;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return mapSelectorWithResolver(
|
|
233
|
+
boundSelector,
|
|
234
|
+
selectorName,
|
|
235
|
+
resolver,
|
|
236
|
+
store,
|
|
237
|
+
resolversCache
|
|
238
|
+
);
|
|
223
239
|
}
|
|
224
240
|
|
|
225
241
|
function bindMetadataSelector( selector ) {
|
|
@@ -231,35 +247,26 @@ export default function createReduxStore( key, options ) {
|
|
|
231
247
|
return boundSelector;
|
|
232
248
|
}
|
|
233
249
|
|
|
234
|
-
|
|
250
|
+
const selectors = {
|
|
235
251
|
...mapValues( metadataSelectors, bindMetadataSelector ),
|
|
236
252
|
...mapValues( options.selectors, bindSelector ),
|
|
237
253
|
};
|
|
238
254
|
|
|
239
|
-
let resolvers;
|
|
240
|
-
if ( options.resolvers ) {
|
|
241
|
-
resolvers = mapResolvers( options.resolvers );
|
|
242
|
-
selectors = mapSelectorsWithResolvers(
|
|
243
|
-
selectors,
|
|
244
|
-
resolvers,
|
|
245
|
-
store,
|
|
246
|
-
resolversCache
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
255
|
const boundPrivateSelectors = createBindingCache( bindSelector );
|
|
251
256
|
|
|
252
257
|
// Pre-bind the private selectors that have been registered by the time of
|
|
253
258
|
// instantiation, so that registry selectors are bound to the registry.
|
|
254
|
-
for ( const
|
|
255
|
-
|
|
259
|
+
for ( const [ selectorName, selector ] of Object.entries(
|
|
260
|
+
privateSelectors
|
|
261
|
+
) ) {
|
|
262
|
+
boundPrivateSelectors.get( selector, selectorName );
|
|
256
263
|
}
|
|
257
264
|
|
|
258
265
|
const allSelectors = new Proxy( () => {}, {
|
|
259
266
|
get: ( target, prop ) => {
|
|
260
267
|
const privateSelector = privateSelectors[ prop ];
|
|
261
268
|
return privateSelector
|
|
262
|
-
? boundPrivateSelectors.get( privateSelector )
|
|
269
|
+
? boundPrivateSelectors.get( privateSelector, prop )
|
|
263
270
|
: selectors[ prop ];
|
|
264
271
|
},
|
|
265
272
|
} );
|
|
@@ -509,22 +516,24 @@ function mapResolvers( resolvers ) {
|
|
|
509
516
|
}
|
|
510
517
|
|
|
511
518
|
/**
|
|
512
|
-
* Returns
|
|
519
|
+
* Returns a selector with a matched resolver.
|
|
513
520
|
* Resolvers are side effects invoked once per argument set of a given selector call,
|
|
514
521
|
* used in ensuring that the data needs for the selector are satisfied.
|
|
515
522
|
*
|
|
516
|
-
* @param {Object}
|
|
517
|
-
* @param {
|
|
523
|
+
* @param {Object} selector The selector function to be bound.
|
|
524
|
+
* @param {string} selectorName The selector name.
|
|
525
|
+
* @param {Object} resolver Resolver to call.
|
|
518
526
|
* @param {Object} store The redux store to which the resolvers should be mapped.
|
|
519
527
|
* @param {Object} resolversCache Resolvers Cache.
|
|
520
528
|
*/
|
|
521
|
-
function
|
|
522
|
-
|
|
523
|
-
|
|
529
|
+
function mapSelectorWithResolver(
|
|
530
|
+
selector,
|
|
531
|
+
selectorName,
|
|
532
|
+
resolver,
|
|
524
533
|
store,
|
|
525
534
|
resolversCache
|
|
526
535
|
) {
|
|
527
|
-
function fulfillSelector(
|
|
536
|
+
function fulfillSelector( args ) {
|
|
528
537
|
const state = store.getState();
|
|
529
538
|
|
|
530
539
|
if (
|
|
@@ -570,17 +579,10 @@ function mapSelectorsWithResolvers(
|
|
|
570
579
|
}, 0 );
|
|
571
580
|
}
|
|
572
581
|
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
const selectorResolver = ( ...args ) => {
|
|
580
|
-
fulfillSelector( resolver, selectorName, args );
|
|
581
|
-
return selector( ...args );
|
|
582
|
-
};
|
|
583
|
-
selectorResolver.hasResolver = true;
|
|
584
|
-
return selectorResolver;
|
|
585
|
-
} );
|
|
582
|
+
const selectorResolver = ( ...args ) => {
|
|
583
|
+
fulfillSelector( args );
|
|
584
|
+
return selector( ...args );
|
|
585
|
+
};
|
|
586
|
+
selectorResolver.hasResolver = true;
|
|
587
|
+
return selectorResolver;
|
|
586
588
|
}
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.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/lock-unlock.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":"750b0952483dfc1a963abad82bffc11d16267e830ad9c02e2ac04ae4011d4743","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","bc0ee5816f40067bef4972b88c81564d50b9aac01833a818a0528667730d7729","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":"7704c8f8e3ed5c25295aa23884cd19aa6e828c829f1d718d1a01492e358300a6","signature":"8e5afde94322dc07661f4d296fc60ec416b5b69d4c2c72ef94f6add714e40bda"},{"version":"412e9398be155d644b609b06bb2d0b6f99d86bf3d7db81b27a357ad8df07e0c0","signature":"b453c1a2eac87cc7083566d798ca756e0256165b9e47d7e3db00426cea8fc626"},{"version":"d38e7e0abd719217fcb8b17de291bb73a7d842043fd8b93176dba2c25d83e26c","signature":"0c37cfbb515ee4df942133efa11132b16e9a3c8b2bf70f602337756d0783918b"},{"version":"c17118d21ac084068b77eb8e382d9f8988e26bded75c7f0f0b132fa67d4ca625","signature":"cc24820820bdd2761360a0d8f809cfa686294a0c4481c3a69a9c61336ec68b80"},{"version":"6968fdcec473f7b2ca486d7cfe38f716f95ffe7eb602ed01fc3701cc654f5bc5","signature":"26f9698c5251a9c7a9ecdf39a52fa9d93d3758495921f41d17f016783bea312a"},"9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35","146ba4b99c5feb82663e17a671bf9f53bb39c704cd76345d6c5a801c26372f44",{"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],[123],[143],[136,139,140,142,163],[141],[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],[124,31],[144,32],[143,33],[142,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,140,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,151,161,152,149,159,150,157,156,155,153,158,160,154,59,137,138,56,163,124,144,143,142,141,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/lock-unlock.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":"750b0952483dfc1a963abad82bffc11d16267e830ad9c02e2ac04ae4011d4743","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","bc0ee5816f40067bef4972b88c81564d50b9aac01833a818a0528667730d7729","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":"f97d7e93360e8ed2c5d867d9a3242435cfb7710b738b6edc61b3ac49f70e2386","signature":"8e5afde94322dc07661f4d296fc60ec416b5b69d4c2c72ef94f6add714e40bda"},{"version":"412e9398be155d644b609b06bb2d0b6f99d86bf3d7db81b27a357ad8df07e0c0","signature":"b453c1a2eac87cc7083566d798ca756e0256165b9e47d7e3db00426cea8fc626"},{"version":"d38e7e0abd719217fcb8b17de291bb73a7d842043fd8b93176dba2c25d83e26c","signature":"0c37cfbb515ee4df942133efa11132b16e9a3c8b2bf70f602337756d0783918b"},{"version":"c17118d21ac084068b77eb8e382d9f8988e26bded75c7f0f0b132fa67d4ca625","signature":"cc24820820bdd2761360a0d8f809cfa686294a0c4481c3a69a9c61336ec68b80"},{"version":"6968fdcec473f7b2ca486d7cfe38f716f95ffe7eb602ed01fc3701cc654f5bc5","signature":"26f9698c5251a9c7a9ecdf39a52fa9d93d3758495921f41d17f016783bea312a"},"9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35","146ba4b99c5feb82663e17a671bf9f53bb39c704cd76345d6c5a801c26372f44",{"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],[123],[143],[136,139,140,142,163],[141],[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],[124,31],[144,32],[143,33],[142,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,140,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,151,161,152,149,159,150,157,156,155,153,158,160,154,59,137,138,56,163,124,144,143,142,141,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"}
|