@wordpress/data 9.9.0 → 9.10.1

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.
Files changed (148) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/components/async-mode-provider/context.js +2 -3
  3. package/build/components/async-mode-provider/context.js.map +1 -1
  4. package/build/components/async-mode-provider/index.js +0 -5
  5. package/build/components/async-mode-provider/index.js.map +1 -1
  6. package/build/components/async-mode-provider/use-async-mode.js +1 -3
  7. package/build/components/async-mode-provider/use-async-mode.js.map +1 -1
  8. package/build/components/registry-provider/context.js +3 -6
  9. package/build/components/registry-provider/context.js.map +1 -1
  10. package/build/components/registry-provider/index.js +0 -5
  11. package/build/components/registry-provider/index.js.map +1 -1
  12. package/build/components/registry-provider/use-registry.js +0 -3
  13. package/build/components/registry-provider/use-registry.js.map +1 -1
  14. package/build/components/use-dispatch/index.js +0 -3
  15. package/build/components/use-dispatch/index.js.map +1 -1
  16. package/build/components/use-dispatch/use-dispatch-with-map.js +0 -7
  17. package/build/components/use-dispatch/use-dispatch-with-map.js.map +1 -1
  18. package/build/components/use-dispatch/use-dispatch.js +0 -5
  19. package/build/components/use-dispatch/use-dispatch.js.map +1 -1
  20. package/build/components/use-select/index.js +35 -53
  21. package/build/components/use-select/index.js.map +1 -1
  22. package/build/components/with-dispatch/index.js +2 -7
  23. package/build/components/with-dispatch/index.js.map +1 -1
  24. package/build/components/with-registry/index.js +2 -5
  25. package/build/components/with-registry/index.js.map +1 -1
  26. package/build/components/with-select/index.js +2 -8
  27. package/build/components/with-select/index.js.map +1 -1
  28. package/build/controls.js +4 -10
  29. package/build/controls.js.map +1 -1
  30. package/build/default-registry.js +0 -3
  31. package/build/default-registry.js.map +1 -1
  32. package/build/dispatch.js +0 -3
  33. package/build/dispatch.js.map +1 -1
  34. package/build/factory.js +2 -5
  35. package/build/factory.js.map +1 -1
  36. package/build/index.js +7 -28
  37. package/build/index.js.map +1 -1
  38. package/build/lock-unlock.js +1 -2
  39. package/build/lock-unlock.js.map +1 -1
  40. package/build/plugins/index.js +0 -2
  41. package/build/plugins/index.js.map +1 -1
  42. package/build/plugins/persistence/index.js +13 -37
  43. package/build/plugins/persistence/index.js.map +1 -1
  44. package/build/plugins/persistence/storage/default.js +1 -5
  45. package/build/plugins/persistence/storage/default.js.map +1 -1
  46. package/build/plugins/persistence/storage/object.js +0 -5
  47. package/build/plugins/persistence/storage/object.js.map +1 -1
  48. package/build/promise-middleware.js +0 -5
  49. package/build/promise-middleware.js.map +1 -1
  50. package/build/redux-store/index.js +36 -117
  51. package/build/redux-store/index.js.map +1 -1
  52. package/build/redux-store/metadata/actions.js +8 -17
  53. package/build/redux-store/metadata/actions.js.map +1 -1
  54. package/build/redux-store/metadata/equivalent-key-map.d.js.map +1 -1
  55. package/build/redux-store/metadata/reducer.js +1 -23
  56. package/build/redux-store/metadata/reducer.js.map +1 -1
  57. package/build/redux-store/metadata/selectors.js +8 -22
  58. package/build/redux-store/metadata/selectors.js.map +1 -1
  59. package/build/redux-store/metadata/utils.js +6 -14
  60. package/build/redux-store/metadata/utils.js.map +1 -1
  61. package/build/redux-store/thunk-middleware.js +0 -2
  62. package/build/redux-store/thunk-middleware.js.map +1 -1
  63. package/build/registry.js +29 -73
  64. package/build/registry.js.map +1 -1
  65. package/build/resolvers-cache-middleware.js +2 -8
  66. package/build/resolvers-cache-middleware.js.map +1 -1
  67. package/build/select.js +0 -3
  68. package/build/select.js.map +1 -1
  69. package/build/store/index.js +0 -7
  70. package/build/store/index.js.map +1 -1
  71. package/build/types.js.map +1 -1
  72. package/build/utils/emitter.js +2 -11
  73. package/build/utils/emitter.js.map +1 -1
  74. package/build-module/components/async-mode-provider/context.js +1 -1
  75. package/build-module/components/async-mode-provider/context.js.map +1 -1
  76. package/build-module/components/async-mode-provider/index.js.map +1 -1
  77. package/build-module/components/async-mode-provider/use-async-mode.js +1 -1
  78. package/build-module/components/async-mode-provider/use-async-mode.js.map +1 -1
  79. package/build-module/components/registry-provider/context.js +3 -3
  80. package/build-module/components/registry-provider/context.js.map +1 -1
  81. package/build-module/components/registry-provider/index.js.map +1 -1
  82. package/build-module/components/registry-provider/use-registry.js +2 -2
  83. package/build-module/components/registry-provider/use-registry.js.map +1 -1
  84. package/build-module/components/use-dispatch/index.js.map +1 -1
  85. package/build-module/components/use-dispatch/use-dispatch-with-map.js +2 -4
  86. package/build-module/components/use-dispatch/use-dispatch-with-map.js.map +1 -1
  87. package/build-module/components/use-dispatch/use-dispatch.js +1 -3
  88. package/build-module/components/use-dispatch/use-dispatch.js.map +1 -1
  89. package/build-module/components/use-select/index.js +35 -46
  90. package/build-module/components/use-select/index.js.map +1 -1
  91. package/build-module/components/with-dispatch/index.js +4 -6
  92. package/build-module/components/with-dispatch/index.js.map +1 -1
  93. package/build-module/components/with-registry/index.js +4 -4
  94. package/build-module/components/with-registry/index.js.map +1 -1
  95. package/build-module/components/with-select/index.js +4 -6
  96. package/build-module/components/with-select/index.js.map +1 -1
  97. package/build-module/controls.js +4 -8
  98. package/build-module/controls.js.map +1 -1
  99. package/build-module/default-registry.js.map +1 -1
  100. package/build-module/dispatch.js +2 -1
  101. package/build-module/dispatch.js.map +1 -1
  102. package/build-module/factory.js +2 -3
  103. package/build-module/factory.js.map +1 -1
  104. package/build-module/index.js +11 -10
  105. package/build-module/index.js.map +1 -1
  106. package/build-module/lock-unlock.js.map +1 -1
  107. package/build-module/plugins/index.js.map +1 -1
  108. package/build-module/plugins/persistence/index.js +15 -30
  109. package/build-module/plugins/persistence/index.js.map +1 -1
  110. package/build-module/plugins/persistence/storage/default.js +0 -2
  111. package/build-module/plugins/persistence/storage/default.js.map +1 -1
  112. package/build-module/plugins/persistence/storage/object.js +0 -5
  113. package/build-module/plugins/persistence/storage/object.js.map +1 -1
  114. package/build-module/promise-middleware.js +1 -3
  115. package/build-module/promise-middleware.js.map +1 -1
  116. package/build-module/redux-store/index.js +38 -101
  117. package/build-module/redux-store/index.js.map +1 -1
  118. package/build-module/redux-store/metadata/actions.js +8 -8
  119. package/build-module/redux-store/metadata/actions.js.map +1 -1
  120. package/build-module/redux-store/metadata/equivalent-key-map.d.js.map +1 -1
  121. package/build-module/redux-store/metadata/reducer.js +1 -21
  122. package/build-module/redux-store/metadata/reducer.js.map +1 -1
  123. package/build-module/redux-store/metadata/selectors.js +9 -13
  124. package/build-module/redux-store/metadata/selectors.js.map +1 -1
  125. package/build-module/redux-store/metadata/utils.js +6 -11
  126. package/build-module/redux-store/metadata/utils.js.map +1 -1
  127. package/build-module/redux-store/thunk-middleware.js +0 -1
  128. package/build-module/redux-store/thunk-middleware.js.map +1 -1
  129. package/build-module/registry.js +30 -67
  130. package/build-module/registry.js.map +1 -1
  131. package/build-module/resolvers-cache-middleware.js +3 -6
  132. package/build-module/resolvers-cache-middleware.js.map +1 -1
  133. package/build-module/select.js +2 -1
  134. package/build-module/select.js.map +1 -1
  135. package/build-module/store/index.js +0 -7
  136. package/build-module/store/index.js.map +1 -1
  137. package/build-module/types.js.map +1 -1
  138. package/build-module/utils/emitter.js +2 -10
  139. package/build-module/utils/emitter.js.map +1 -1
  140. package/build-types/components/use-select/index.d.ts.map +1 -1
  141. package/build-types/index.d.ts +1 -1
  142. package/build-types/index.d.ts.map +1 -1
  143. package/build-types/plugins/persistence/index.d.ts.map +1 -1
  144. package/build-types/store/index.d.ts +1 -1
  145. package/package.json +9 -9
  146. package/src/components/use-select/index.js +14 -0
  147. package/src/plugins/persistence/index.js +0 -1
  148. package/tsconfig.tsbuildinfo +1 -1
@@ -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","itemName","boundItem","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","listeners","Set","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","add","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","hasResolvingSelectors","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/** @typedef {import('../types').ListenerFunction} ListenerFunction */\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\t/**\n\t\t\t * Stores listener functions registered with `subscribe()`.\n\t\t\t *\n\t\t\t * When functions register to listen to store changes with\n\t\t\t * `subscribe()` they get added here. Although Redux offers\n\t\t\t * its own `subscribe()` function directly, by wrapping the\n\t\t\t * subscription in this store instance it's possible to\n\t\t\t * optimize checking if the state has changed before calling\n\t\t\t * each listener.\n\t\t\t *\n\t\t\t * @type {Set<ListenerFunction>}\n\t\t\t */\n\t\t\tconst listeners = new Set();\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\tlisteners.add( listener );\n\n\t\t\t\t\treturn () => listeners.delete( listener );\n\t\t\t\t} );\n\n\t\t\tlet lastState = store.__unstableOriginalGetState();\n\t\t\tstore.subscribe( () => {\n\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\tconst hasChanged = state !== lastState;\n\t\t\t\tlastState = state;\n\n\t\t\t\tif ( hasChanged ) {\n\t\t\t\t\tfor ( const listener of listeners ) {\n\t\t\t\t\t\tlistener();\n\t\t\t\t\t}\n\t\t\t\t}\n\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\thasResolvingSelectors,\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
+ {"version":3,"names":["_redux","require","_turboCombineReducers","_interopRequireDefault","_equivalentKeyMap","_reduxRoutine","_compose","_controls","_lockUnlock","_promiseMiddleware","_resolversCacheMiddleware","_thunkMiddleware","_reducer","metadataSelectors","_interopRequireWildcard","metadataActions","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","trimUndefinedValues","array","result","i","length","undefined","splice","mapValues","callback","fromEntries","entries","map","value","mapToObject","state","Map","createResolversCache","isRunning","selectorName","args","clear","delete","markAsRunning","EquivalentKeyMap","createBindingCache","bind","item","itemName","boundItem","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","listeners","Set","reducer","thunkArgs","dispatch","thunkActions","select","thunkSelectors","resolveSelect","getResolveSelectors","store","instantiateReduxStore","lock","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","add","lastState","hasChanged","controls","builtinControls","normalizedControls","control","isRegistryControl","middlewares","createResolversCacheMiddleware","promise","createReduxRoutineMiddleware","createThunkMiddleware","enhancers","applyMiddleware","window","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","combineReducers","metadataReducer","createStore","compose","getIsResolving","hasStartedResolution","hasFinishedResolution","hasResolutionFailed","isResolving","getCachedResolvers","getResolutionState","getResolutionError","hasResolvingSelectors","storeSelectors","reject","hasFinished","finalize","hasFailed","error","getResult","unsubscribe","fulfill","fulfillSelector","isFulfilled","setTimeout","startResolution","finishResolution","failResolution","selectorResolver"],"sources":["@wordpress/data/src/redux-store/index.js"],"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/** @typedef {import('../types').ListenerFunction} ListenerFunction */\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\t/**\n\t\t\t * Stores listener functions registered with `subscribe()`.\n\t\t\t *\n\t\t\t * When functions register to listen to store changes with\n\t\t\t * `subscribe()` they get added here. Although Redux offers\n\t\t\t * its own `subscribe()` function directly, by wrapping the\n\t\t\t * subscription in this store instance it's possible to\n\t\t\t * optimize checking if the state has changed before calling\n\t\t\t * each listener.\n\t\t\t *\n\t\t\t * @type {Set<ListenerFunction>}\n\t\t\t */\n\t\t\tconst listeners = new Set();\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\tlisteners.add( listener );\n\n\t\t\t\t\treturn () => listeners.delete( listener );\n\t\t\t\t} );\n\n\t\t\tlet lastState = store.__unstableOriginalGetState();\n\t\t\tstore.subscribe( () => {\n\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\tconst hasChanged = state !== lastState;\n\t\t\t\tlastState = state;\n\n\t\t\t\tif ( hasChanged ) {\n\t\t\t\t\tfor ( const listener of listeners ) {\n\t\t\t\t\t\tlistener();\n\t\t\t\t\t}\n\t\t\t\t}\n\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\thasResolvingSelectors,\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"],"mappings":"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"}
@@ -12,7 +12,6 @@ exports.invalidateResolutionForStore = invalidateResolutionForStore;
12
12
  exports.invalidateResolutionForStoreSelector = invalidateResolutionForStoreSelector;
13
13
  exports.startResolution = startResolution;
14
14
  exports.startResolutions = startResolutions;
15
-
16
15
  /**
17
16
  * Returns an action object used in signalling that selector resolution has
18
17
  * started.
@@ -29,6 +28,7 @@ function startResolution(selectorName, args) {
29
28
  args
30
29
  };
31
30
  }
31
+
32
32
  /**
33
33
  * Returns an action object used in signalling that selector resolution has
34
34
  * completed.
@@ -38,8 +38,6 @@ function startResolution(selectorName, args) {
38
38
  *
39
39
  * @return {{ type: 'FINISH_RESOLUTION', selectorName: string, args: unknown[] }} Action object.
40
40
  */
41
-
42
-
43
41
  function finishResolution(selectorName, args) {
44
42
  return {
45
43
  type: 'FINISH_RESOLUTION',
@@ -47,6 +45,7 @@ function finishResolution(selectorName, args) {
47
45
  args
48
46
  };
49
47
  }
48
+
50
49
  /**
51
50
  * Returns an action object used in signalling that selector resolution has
52
51
  * failed.
@@ -57,8 +56,6 @@ function finishResolution(selectorName, args) {
57
56
  *
58
57
  * @return {{ type: 'FAIL_RESOLUTION', selectorName: string, args: unknown[], error: Error|unknown }} Action object.
59
58
  */
60
-
61
-
62
59
  function failResolution(selectorName, args, error) {
63
60
  return {
64
61
  type: 'FAIL_RESOLUTION',
@@ -67,6 +64,7 @@ function failResolution(selectorName, args, error) {
67
64
  error
68
65
  };
69
66
  }
67
+
70
68
  /**
71
69
  * Returns an action object used in signalling that a batch of selector resolutions has
72
70
  * started.
@@ -77,8 +75,6 @@ function failResolution(selectorName, args, error) {
77
75
  *
78
76
  * @return {{ type: 'START_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.
79
77
  */
80
-
81
-
82
78
  function startResolutions(selectorName, args) {
83
79
  return {
84
80
  type: 'START_RESOLUTIONS',
@@ -86,6 +82,7 @@ function startResolutions(selectorName, args) {
86
82
  args
87
83
  };
88
84
  }
85
+
89
86
  /**
90
87
  * Returns an action object used in signalling that a batch of selector resolutions has
91
88
  * completed.
@@ -96,8 +93,6 @@ function startResolutions(selectorName, args) {
96
93
  *
97
94
  * @return {{ type: 'FINISH_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.
98
95
  */
99
-
100
-
101
96
  function finishResolutions(selectorName, args) {
102
97
  return {
103
98
  type: 'FINISH_RESOLUTIONS',
@@ -105,6 +100,7 @@ function finishResolutions(selectorName, args) {
105
100
  args
106
101
  };
107
102
  }
103
+
108
104
  /**
109
105
  * Returns an action object used in signalling that a batch of selector resolutions has
110
106
  * completed and at least one of them has failed.
@@ -116,8 +112,6 @@ function finishResolutions(selectorName, args) {
116
112
  * is associated to a resolution.
117
113
  * @return {{ type: 'FAIL_RESOLUTIONS', selectorName: string, args: unknown[], errors: Array<Error|unknown> }} Action object.
118
114
  */
119
-
120
-
121
115
  function failResolutions(selectorName, args, errors) {
122
116
  return {
123
117
  type: 'FAIL_RESOLUTIONS',
@@ -126,6 +120,7 @@ function failResolutions(selectorName, args, errors) {
126
120
  errors
127
121
  };
128
122
  }
123
+
129
124
  /**
130
125
  * Returns an action object used in signalling that we should invalidate the resolution cache.
131
126
  *
@@ -134,8 +129,6 @@ function failResolutions(selectorName, args, errors) {
134
129
  *
135
130
  * @return {{ type: 'INVALIDATE_RESOLUTION', selectorName: string, args: any[] }} Action object.
136
131
  */
137
-
138
-
139
132
  function invalidateResolution(selectorName, args) {
140
133
  return {
141
134
  type: 'INVALIDATE_RESOLUTION',
@@ -143,19 +136,19 @@ function invalidateResolution(selectorName, args) {
143
136
  args
144
137
  };
145
138
  }
139
+
146
140
  /**
147
141
  * Returns an action object used in signalling that the resolution
148
142
  * should be invalidated.
149
143
  *
150
144
  * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE' }} Action object.
151
145
  */
152
-
153
-
154
146
  function invalidateResolutionForStore() {
155
147
  return {
156
148
  type: 'INVALIDATE_RESOLUTION_FOR_STORE'
157
149
  };
158
150
  }
151
+
159
152
  /**
160
153
  * Returns an action object used in signalling that the resolution cache for a
161
154
  * given selectorName should be invalidated.
@@ -165,8 +158,6 @@ function invalidateResolutionForStore() {
165
158
  *
166
159
  * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR', selectorName: string }} Action object.
167
160
  */
168
-
169
-
170
161
  function invalidateResolutionForStoreSelector(selectorName) {
171
162
  return {
172
163
  type: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/redux-store/metadata/actions.js"],"names":["startResolution","selectorName","args","type","finishResolution","failResolution","error","startResolutions","finishResolutions","failResolutions","errors","invalidateResolution","invalidateResolutionForStore","invalidateResolutionForStoreSelector"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAT,CAA0BC,YAA1B,EAAwCC,IAAxC,EAA+C;AACrD,SAAO;AACNC,IAAAA,IAAI,EAAE,kBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,gBAAT,CAA2BH,YAA3B,EAAyCC,IAAzC,EAAgD;AACtD,SAAO;AACNC,IAAAA,IAAI,EAAE,mBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,cAAT,CAAyBJ,YAAzB,EAAuCC,IAAvC,EAA6CI,KAA7C,EAAqD;AAC3D,SAAO;AACNH,IAAAA,IAAI,EAAE,iBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA,IAHM;AAINI,IAAAA;AAJM,GAAP;AAMA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,gBAAT,CAA2BN,YAA3B,EAAyCC,IAAzC,EAAgD;AACtD,SAAO;AACNC,IAAAA,IAAI,EAAE,mBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASM,iBAAT,CAA4BP,YAA5B,EAA0CC,IAA1C,EAAiD;AACvD,SAAO;AACNC,IAAAA,IAAI,EAAE,oBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASO,eAAT,CAA0BR,YAA1B,EAAwCC,IAAxC,EAA8CQ,MAA9C,EAAuD;AAC7D,SAAO;AACNP,IAAAA,IAAI,EAAE,kBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA,IAHM;AAINQ,IAAAA;AAJM,GAAP;AAMA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,oBAAT,CAA+BV,YAA/B,EAA6CC,IAA7C,EAAoD;AAC1D,SAAO;AACNC,IAAAA,IAAI,EAAE,uBADA;AAENF,IAAAA,YAFM;AAGNC,IAAAA;AAHM,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASU,4BAAT,GAAwC;AAC9C,SAAO;AACNT,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASU,oCAAT,CAA+CZ,YAA/C,EAA8D;AACpE,SAAO;AACNE,IAAAA,IAAI,EAAE,0CADA;AAENF,IAAAA;AAFM,GAAP;AAIA","sourcesContent":["/**\n * Returns an action object used in signalling that selector resolution has\n * started.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n *\n * @return {{ type: 'START_RESOLUTION', selectorName: string, args: unknown[] }} Action object.\n */\nexport function startResolution( selectorName, args ) {\n\treturn {\n\t\ttype: 'START_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that selector resolution has\n * completed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n *\n * @return {{ type: 'FINISH_RESOLUTION', selectorName: string, args: unknown[] }} Action object.\n */\nexport function finishResolution( selectorName, args ) {\n\treturn {\n\t\ttype: 'FINISH_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that selector resolution has\n * failed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n * @param {Error|unknown} error The error that caused the failure.\n *\n * @return {{ type: 'FAIL_RESOLUTION', selectorName: string, args: unknown[], error: Error|unknown }} Action object.\n */\nexport function failResolution( selectorName, args, error ) {\n\treturn {\n\t\ttype: 'FAIL_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t\terror,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a batch of selector resolutions has\n * started.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[][]} args Array of arguments to associate for uniqueness, each item\n * is associated to a resolution.\n *\n * @return {{ type: 'START_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.\n */\nexport function startResolutions( selectorName, args ) {\n\treturn {\n\t\ttype: 'START_RESOLUTIONS',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a batch of selector resolutions has\n * completed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[][]} args Array of arguments to associate for uniqueness, each item\n * is associated to a resolution.\n *\n * @return {{ type: 'FINISH_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.\n */\nexport function finishResolutions( selectorName, args ) {\n\treturn {\n\t\ttype: 'FINISH_RESOLUTIONS',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a batch of selector resolutions has\n * completed and at least one of them has failed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Array of arguments to associate for uniqueness, each item\n * is associated to a resolution.\n * @param {(Error|unknown)[]} errors Array of errors to associate for uniqueness, each item\n * is associated to a resolution.\n * @return {{ type: 'FAIL_RESOLUTIONS', selectorName: string, args: unknown[], errors: Array<Error|unknown> }} Action object.\n */\nexport function failResolutions( selectorName, args, errors ) {\n\treturn {\n\t\ttype: 'FAIL_RESOLUTIONS',\n\t\tselectorName,\n\t\targs,\n\t\terrors,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that we should invalidate the resolution cache.\n *\n * @param {string} selectorName Name of selector for which resolver should be invalidated.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n *\n * @return {{ type: 'INVALIDATE_RESOLUTION', selectorName: string, args: any[] }} Action object.\n */\nexport function invalidateResolution( selectorName, args ) {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the resolution\n * should be invalidated.\n *\n * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE' }} Action object.\n */\nexport function invalidateResolutionForStore() {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION_FOR_STORE',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the resolution cache for a\n * given selectorName should be invalidated.\n *\n * @param {string} selectorName Name of selector for which all resolvers should\n * be invalidated.\n *\n * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR', selectorName: string }} Action object.\n */\nexport function invalidateResolutionForStoreSelector( selectorName ) {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR',\n\t\tselectorName,\n\t};\n}\n"]}
1
+ {"version":3,"names":["startResolution","selectorName","args","type","finishResolution","failResolution","error","startResolutions","finishResolutions","failResolutions","errors","invalidateResolution","invalidateResolutionForStore","invalidateResolutionForStoreSelector"],"sources":["@wordpress/data/src/redux-store/metadata/actions.js"],"sourcesContent":["/**\n * Returns an action object used in signalling that selector resolution has\n * started.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n *\n * @return {{ type: 'START_RESOLUTION', selectorName: string, args: unknown[] }} Action object.\n */\nexport function startResolution( selectorName, args ) {\n\treturn {\n\t\ttype: 'START_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that selector resolution has\n * completed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n *\n * @return {{ type: 'FINISH_RESOLUTION', selectorName: string, args: unknown[] }} Action object.\n */\nexport function finishResolution( selectorName, args ) {\n\treturn {\n\t\ttype: 'FINISH_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that selector resolution has\n * failed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n * @param {Error|unknown} error The error that caused the failure.\n *\n * @return {{ type: 'FAIL_RESOLUTION', selectorName: string, args: unknown[], error: Error|unknown }} Action object.\n */\nexport function failResolution( selectorName, args, error ) {\n\treturn {\n\t\ttype: 'FAIL_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t\terror,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a batch of selector resolutions has\n * started.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[][]} args Array of arguments to associate for uniqueness, each item\n * is associated to a resolution.\n *\n * @return {{ type: 'START_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.\n */\nexport function startResolutions( selectorName, args ) {\n\treturn {\n\t\ttype: 'START_RESOLUTIONS',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a batch of selector resolutions has\n * completed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[][]} args Array of arguments to associate for uniqueness, each item\n * is associated to a resolution.\n *\n * @return {{ type: 'FINISH_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.\n */\nexport function finishResolutions( selectorName, args ) {\n\treturn {\n\t\ttype: 'FINISH_RESOLUTIONS',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a batch of selector resolutions has\n * completed and at least one of them has failed.\n *\n * @param {string} selectorName Name of selector for which resolver triggered.\n * @param {unknown[]} args Array of arguments to associate for uniqueness, each item\n * is associated to a resolution.\n * @param {(Error|unknown)[]} errors Array of errors to associate for uniqueness, each item\n * is associated to a resolution.\n * @return {{ type: 'FAIL_RESOLUTIONS', selectorName: string, args: unknown[], errors: Array<Error|unknown> }} Action object.\n */\nexport function failResolutions( selectorName, args, errors ) {\n\treturn {\n\t\ttype: 'FAIL_RESOLUTIONS',\n\t\tselectorName,\n\t\targs,\n\t\terrors,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that we should invalidate the resolution cache.\n *\n * @param {string} selectorName Name of selector for which resolver should be invalidated.\n * @param {unknown[]} args Arguments to associate for uniqueness.\n *\n * @return {{ type: 'INVALIDATE_RESOLUTION', selectorName: string, args: any[] }} Action object.\n */\nexport function invalidateResolution( selectorName, args ) {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION',\n\t\tselectorName,\n\t\targs,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the resolution\n * should be invalidated.\n *\n * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE' }} Action object.\n */\nexport function invalidateResolutionForStore() {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION_FOR_STORE',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the resolution cache for a\n * given selectorName should be invalidated.\n *\n * @param {string} selectorName Name of selector for which all resolvers should\n * be invalidated.\n *\n * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR', selectorName: string }} Action object.\n */\nexport function invalidateResolutionForStoreSelector( selectorName ) {\n\treturn {\n\t\ttype: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR',\n\t\tselectorName,\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAeA,CAAEC,YAAY,EAAEC,IAAI,EAAG;EACrD,OAAO;IACNC,IAAI,EAAE,kBAAkB;IACxBF,YAAY;IACZC;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAAEH,YAAY,EAAEC,IAAI,EAAG;EACtD,OAAO;IACNC,IAAI,EAAE,mBAAmB;IACzBF,YAAY;IACZC;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,cAAcA,CAAEJ,YAAY,EAAEC,IAAI,EAAEI,KAAK,EAAG;EAC3D,OAAO;IACNH,IAAI,EAAE,iBAAiB;IACvBF,YAAY;IACZC,IAAI;IACJI;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAEN,YAAY,EAAEC,IAAI,EAAG;EACtD,OAAO;IACNC,IAAI,EAAE,mBAAmB;IACzBF,YAAY;IACZC;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,iBAAiBA,CAAEP,YAAY,EAAEC,IAAI,EAAG;EACvD,OAAO;IACNC,IAAI,EAAE,oBAAoB;IAC1BF,YAAY;IACZC;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,eAAeA,CAAER,YAAY,EAAEC,IAAI,EAAEQ,MAAM,EAAG;EAC7D,OAAO;IACNP,IAAI,EAAE,kBAAkB;IACxBF,YAAY;IACZC,IAAI;IACJQ;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEV,YAAY,EAAEC,IAAI,EAAG;EAC1D,OAAO;IACNC,IAAI,EAAE,uBAAuB;IAC7BF,YAAY;IACZC;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,4BAA4BA,CAAA,EAAG;EAC9C,OAAO;IACNT,IAAI,EAAE;EACP,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,oCAAoCA,CAAEZ,YAAY,EAAG;EACpE,OAAO;IACNE,IAAI,EAAE,0CAA0C;IAChDF;EACD,CAAC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/data/src/redux-store/metadata/equivalent-key-map.d.ts"],"sourcesContent":["declare module 'equivalent-key-map' {\n\tclass EquivalentKeyMap< K, V > extends Map< K, V > {}\n\texport = EquivalentKeyMap;\n}\n"],"mappings":""}
@@ -1,16 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _equivalentKeyMap = _interopRequireDefault(require("equivalent-key-map"));
11
-
12
9
  var _utils = require("./utils");
13
-
14
10
  /**
15
11
  * External dependencies
16
12
  */
@@ -35,7 +31,6 @@ const subKeysIsResolved = (0, _utils.onSubKey)('selectorName')((state = new _equ
35
31
  });
36
32
  return nextState;
37
33
  }
38
-
39
34
  case 'FINISH_RESOLUTION':
40
35
  {
41
36
  const nextState = new _equivalentKeyMap.default(state);
@@ -44,7 +39,6 @@ const subKeysIsResolved = (0, _utils.onSubKey)('selectorName')((state = new _equ
44
39
  });
45
40
  return nextState;
46
41
  }
47
-
48
42
  case 'FAIL_RESOLUTION':
49
43
  {
50
44
  const nextState = new _equivalentKeyMap.default(state);
@@ -54,33 +48,26 @@ const subKeysIsResolved = (0, _utils.onSubKey)('selectorName')((state = new _equ
54
48
  });
55
49
  return nextState;
56
50
  }
57
-
58
51
  case 'START_RESOLUTIONS':
59
52
  {
60
53
  const nextState = new _equivalentKeyMap.default(state);
61
-
62
54
  for (const resolutionArgs of action.args) {
63
55
  nextState.set((0, _utils.selectorArgsToStateKey)(resolutionArgs), {
64
56
  status: 'resolving'
65
57
  });
66
58
  }
67
-
68
59
  return nextState;
69
60
  }
70
-
71
61
  case 'FINISH_RESOLUTIONS':
72
62
  {
73
63
  const nextState = new _equivalentKeyMap.default(state);
74
-
75
64
  for (const resolutionArgs of action.args) {
76
65
  nextState.set((0, _utils.selectorArgsToStateKey)(resolutionArgs), {
77
66
  status: 'finished'
78
67
  });
79
68
  }
80
-
81
69
  return nextState;
82
70
  }
83
-
84
71
  case 'FAIL_RESOLUTIONS':
85
72
  {
86
73
  const nextState = new _equivalentKeyMap.default(state);
@@ -90,16 +77,13 @@ const subKeysIsResolved = (0, _utils.onSubKey)('selectorName')((state = new _equ
90
77
  error: undefined
91
78
  };
92
79
  const error = action.errors[idx];
93
-
94
80
  if (error) {
95
81
  resolutionState.error = error;
96
82
  }
97
-
98
83
  nextState.set((0, _utils.selectorArgsToStateKey)(resolutionArgs), resolutionState);
99
84
  });
100
85
  return nextState;
101
86
  }
102
-
103
87
  case 'INVALIDATE_RESOLUTION':
104
88
  {
105
89
  const nextState = new _equivalentKeyMap.default(state);
@@ -107,9 +91,9 @@ const subKeysIsResolved = (0, _utils.onSubKey)('selectorName')((state = new _equ
107
91
  return nextState;
108
92
  }
109
93
  }
110
-
111
94
  return state;
112
95
  });
96
+
113
97
  /**
114
98
  * Reducer function returning next state for selector resolution, object form:
115
99
  *
@@ -120,12 +104,10 @@ const subKeysIsResolved = (0, _utils.onSubKey)('selectorName')((state = new _equ
120
104
  *
121
105
  * @return Next state.
122
106
  */
123
-
124
107
  const isResolved = (state = {}, action) => {
125
108
  switch (action.type) {
126
109
  case 'INVALIDATE_RESOLUTION_FOR_STORE':
127
110
  return {};
128
-
129
111
  case 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR':
130
112
  {
131
113
  if (action.selectorName in state) {
@@ -135,10 +117,8 @@ const isResolved = (state = {}, action) => {
135
117
  } = state;
136
118
  return restState;
137
119
  }
138
-
139
120
  return state;
140
121
  }
141
-
142
122
  case 'START_RESOLUTION':
143
123
  case 'FINISH_RESOLUTION':
144
124
  case 'FAIL_RESOLUTION':
@@ -148,10 +128,8 @@ const isResolved = (state = {}, action) => {
148
128
  case 'INVALIDATE_RESOLUTION':
149
129
  return subKeysIsResolved(state, action);
150
130
  }
151
-
152
131
  return state;
153
132
  };
154
-
155
133
  var _default = isResolved;
156
134
  exports.default = _default;
157
135
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/redux-store/metadata/reducer.ts"],"names":["subKeysIsResolved","state","EquivalentKeyMap","action","type","nextState","set","args","status","error","resolutionArgs","forEach","idx","resolutionState","undefined","errors","delete","isResolved","selectorName","removedSelector","restState"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport EquivalentKeyMap from 'equivalent-key-map';\nimport type { Reducer } from 'redux';\n\n/**\n * Internal dependencies\n */\nimport { selectorArgsToStateKey, onSubKey } from './utils';\n\ntype Action =\n\t| ReturnType< typeof import('./actions').startResolution >\n\t| ReturnType< typeof import('./actions').finishResolution >\n\t| ReturnType< typeof import('./actions').failResolution >\n\t| ReturnType< typeof import('./actions').startResolutions >\n\t| ReturnType< typeof import('./actions').finishResolutions >\n\t| ReturnType< typeof import('./actions').failResolutions >\n\t| ReturnType< typeof import('./actions').invalidateResolution >\n\t| ReturnType< typeof import('./actions').invalidateResolutionForStore >\n\t| ReturnType<\n\t\t\ttypeof import('./actions').invalidateResolutionForStoreSelector\n\t >;\n\ntype StateKey = unknown[] | unknown;\nexport type StateValue =\n\t| { status: 'resolving' | 'finished' }\n\t| { status: 'error'; error: Error | unknown };\n\nexport type Status = StateValue[ 'status' ];\nexport type State = EquivalentKeyMap< StateKey, StateValue >;\n\n/**\n * Reducer function returning next state for selector resolution of\n * subkeys, object form:\n *\n * selectorName -> EquivalentKeyMap<Array,boolean>\n */\nconst subKeysIsResolved: Reducer< Record< string, State >, Action > = onSubKey<\n\tState,\n\tAction\n>( 'selectorName' )( ( state = new EquivalentKeyMap(), action: Action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'START_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( selectorArgsToStateKey( action.args ), {\n\t\t\t\tstatus: 'resolving',\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FINISH_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( selectorArgsToStateKey( action.args ), {\n\t\t\t\tstatus: 'finished',\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FAIL_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( selectorArgsToStateKey( action.args ), {\n\t\t\t\tstatus: 'error',\n\t\t\t\terror: action.error,\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'START_RESOLUTIONS': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tfor ( const resolutionArgs of action.args ) {\n\t\t\t\tnextState.set( selectorArgsToStateKey( resolutionArgs ), {\n\t\t\t\t\tstatus: 'resolving',\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FINISH_RESOLUTIONS': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tfor ( const resolutionArgs of action.args ) {\n\t\t\t\tnextState.set( selectorArgsToStateKey( resolutionArgs ), {\n\t\t\t\t\tstatus: 'finished',\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FAIL_RESOLUTIONS': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\taction.args.forEach( ( resolutionArgs, idx ) => {\n\t\t\t\tconst resolutionState: StateValue = {\n\t\t\t\t\tstatus: 'error',\n\t\t\t\t\terror: undefined,\n\t\t\t\t};\n\n\t\t\t\tconst error = action.errors[ idx ];\n\t\t\t\tif ( error ) {\n\t\t\t\t\tresolutionState.error = error;\n\t\t\t\t}\n\n\t\t\t\tnextState.set(\n\t\t\t\t\tselectorArgsToStateKey( resolutionArgs as unknown[] ),\n\t\t\t\t\tresolutionState\n\t\t\t\t);\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'INVALIDATE_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.delete( selectorArgsToStateKey( action.args ) );\n\t\t\treturn nextState;\n\t\t}\n\t}\n\treturn state;\n} );\n\n/**\n * Reducer function returning next state for selector resolution, object form:\n *\n * selectorName -> EquivalentKeyMap<Array, boolean>\n *\n * @param state Current state.\n * @param action Dispatched action.\n *\n * @return Next state.\n */\nconst isResolved = ( state: Record< string, State > = {}, action: Action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'INVALIDATE_RESOLUTION_FOR_STORE':\n\t\t\treturn {};\n\t\tcase 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR': {\n\t\t\tif ( action.selectorName in state ) {\n\t\t\t\tconst {\n\t\t\t\t\t[ action.selectorName ]: removedSelector,\n\t\t\t\t\t...restState\n\t\t\t\t} = state;\n\t\t\t\treturn restState;\n\t\t\t}\n\t\t\treturn state;\n\t\t}\n\t\tcase 'START_RESOLUTION':\n\t\tcase 'FINISH_RESOLUTION':\n\t\tcase 'FAIL_RESOLUTION':\n\t\tcase 'START_RESOLUTIONS':\n\t\tcase 'FINISH_RESOLUTIONS':\n\t\tcase 'FAIL_RESOLUTIONS':\n\t\tcase 'INVALIDATE_RESOLUTION':\n\t\t\treturn subKeysIsResolved( state, action );\n\t}\n\treturn state;\n};\n\nexport default isResolved;\n"]}
1
+ {"version":3,"names":["_equivalentKeyMap","_interopRequireDefault","require","_utils","subKeysIsResolved","onSubKey","state","EquivalentKeyMap","action","type","nextState","set","selectorArgsToStateKey","args","status","error","resolutionArgs","forEach","idx","resolutionState","undefined","errors","delete","isResolved","selectorName","removedSelector","restState","_default","exports","default"],"sources":["@wordpress/data/src/redux-store/metadata/reducer.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport EquivalentKeyMap from 'equivalent-key-map';\nimport type { Reducer } from 'redux';\n\n/**\n * Internal dependencies\n */\nimport { selectorArgsToStateKey, onSubKey } from './utils';\n\ntype Action =\n\t| ReturnType< typeof import('./actions').startResolution >\n\t| ReturnType< typeof import('./actions').finishResolution >\n\t| ReturnType< typeof import('./actions').failResolution >\n\t| ReturnType< typeof import('./actions').startResolutions >\n\t| ReturnType< typeof import('./actions').finishResolutions >\n\t| ReturnType< typeof import('./actions').failResolutions >\n\t| ReturnType< typeof import('./actions').invalidateResolution >\n\t| ReturnType< typeof import('./actions').invalidateResolutionForStore >\n\t| ReturnType<\n\t\t\ttypeof import('./actions').invalidateResolutionForStoreSelector\n\t >;\n\ntype StateKey = unknown[] | unknown;\nexport type StateValue =\n\t| { status: 'resolving' | 'finished' }\n\t| { status: 'error'; error: Error | unknown };\n\nexport type Status = StateValue[ 'status' ];\nexport type State = EquivalentKeyMap< StateKey, StateValue >;\n\n/**\n * Reducer function returning next state for selector resolution of\n * subkeys, object form:\n *\n * selectorName -> EquivalentKeyMap<Array,boolean>\n */\nconst subKeysIsResolved: Reducer< Record< string, State >, Action > = onSubKey<\n\tState,\n\tAction\n>( 'selectorName' )( ( state = new EquivalentKeyMap(), action: Action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'START_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( selectorArgsToStateKey( action.args ), {\n\t\t\t\tstatus: 'resolving',\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FINISH_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( selectorArgsToStateKey( action.args ), {\n\t\t\t\tstatus: 'finished',\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FAIL_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.set( selectorArgsToStateKey( action.args ), {\n\t\t\t\tstatus: 'error',\n\t\t\t\terror: action.error,\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'START_RESOLUTIONS': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tfor ( const resolutionArgs of action.args ) {\n\t\t\t\tnextState.set( selectorArgsToStateKey( resolutionArgs ), {\n\t\t\t\t\tstatus: 'resolving',\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FINISH_RESOLUTIONS': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tfor ( const resolutionArgs of action.args ) {\n\t\t\t\tnextState.set( selectorArgsToStateKey( resolutionArgs ), {\n\t\t\t\t\tstatus: 'finished',\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'FAIL_RESOLUTIONS': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\taction.args.forEach( ( resolutionArgs, idx ) => {\n\t\t\t\tconst resolutionState: StateValue = {\n\t\t\t\t\tstatus: 'error',\n\t\t\t\t\terror: undefined,\n\t\t\t\t};\n\n\t\t\t\tconst error = action.errors[ idx ];\n\t\t\t\tif ( error ) {\n\t\t\t\t\tresolutionState.error = error;\n\t\t\t\t}\n\n\t\t\t\tnextState.set(\n\t\t\t\t\tselectorArgsToStateKey( resolutionArgs as unknown[] ),\n\t\t\t\t\tresolutionState\n\t\t\t\t);\n\t\t\t} );\n\t\t\treturn nextState;\n\t\t}\n\t\tcase 'INVALIDATE_RESOLUTION': {\n\t\t\tconst nextState = new EquivalentKeyMap( state );\n\t\t\tnextState.delete( selectorArgsToStateKey( action.args ) );\n\t\t\treturn nextState;\n\t\t}\n\t}\n\treturn state;\n} );\n\n/**\n * Reducer function returning next state for selector resolution, object form:\n *\n * selectorName -> EquivalentKeyMap<Array, boolean>\n *\n * @param state Current state.\n * @param action Dispatched action.\n *\n * @return Next state.\n */\nconst isResolved = ( state: Record< string, State > = {}, action: Action ) => {\n\tswitch ( action.type ) {\n\t\tcase 'INVALIDATE_RESOLUTION_FOR_STORE':\n\t\t\treturn {};\n\t\tcase 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR': {\n\t\t\tif ( action.selectorName in state ) {\n\t\t\t\tconst {\n\t\t\t\t\t[ action.selectorName ]: removedSelector,\n\t\t\t\t\t...restState\n\t\t\t\t} = state;\n\t\t\t\treturn restState;\n\t\t\t}\n\t\t\treturn state;\n\t\t}\n\t\tcase 'START_RESOLUTION':\n\t\tcase 'FINISH_RESOLUTION':\n\t\tcase 'FAIL_RESOLUTION':\n\t\tcase 'START_RESOLUTIONS':\n\t\tcase 'FINISH_RESOLUTIONS':\n\t\tcase 'FAIL_RESOLUTIONS':\n\t\tcase 'INVALIDATE_RESOLUTION':\n\t\t\treturn subKeysIsResolved( state, action );\n\t}\n\treturn state;\n};\n\nexport default isResolved;\n"],"mappings":";;;;;;;AAGA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,iBAA6D,GAAG,IAAAC,eAAQ,EAG3E,cAAe,CAAC,CAAE,CAAEC,KAAK,GAAG,IAAIC,yBAAgB,CAAC,CAAC,EAAEC,MAAc,KAAM;EAC1E,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,kBAAkB;MAAE;QACxB,MAAMC,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/CI,SAAS,CAACC,GAAG,CAAE,IAAAC,6BAAsB,EAAEJ,MAAM,CAACK,IAAK,CAAC,EAAE;UACrDC,MAAM,EAAE;QACT,CAAE,CAAC;QACH,OAAOJ,SAAS;MACjB;IACA,KAAK,mBAAmB;MAAE;QACzB,MAAMA,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/CI,SAAS,CAACC,GAAG,CAAE,IAAAC,6BAAsB,EAAEJ,MAAM,CAACK,IAAK,CAAC,EAAE;UACrDC,MAAM,EAAE;QACT,CAAE,CAAC;QACH,OAAOJ,SAAS;MACjB;IACA,KAAK,iBAAiB;MAAE;QACvB,MAAMA,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/CI,SAAS,CAACC,GAAG,CAAE,IAAAC,6BAAsB,EAAEJ,MAAM,CAACK,IAAK,CAAC,EAAE;UACrDC,MAAM,EAAE,OAAO;UACfC,KAAK,EAAEP,MAAM,CAACO;QACf,CAAE,CAAC;QACH,OAAOL,SAAS;MACjB;IACA,KAAK,mBAAmB;MAAE;QACzB,MAAMA,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/C,KAAM,MAAMU,cAAc,IAAIR,MAAM,CAACK,IAAI,EAAG;UAC3CH,SAAS,CAACC,GAAG,CAAE,IAAAC,6BAAsB,EAAEI,cAAe,CAAC,EAAE;YACxDF,MAAM,EAAE;UACT,CAAE,CAAC;QACJ;QACA,OAAOJ,SAAS;MACjB;IACA,KAAK,oBAAoB;MAAE;QAC1B,MAAMA,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/C,KAAM,MAAMU,cAAc,IAAIR,MAAM,CAACK,IAAI,EAAG;UAC3CH,SAAS,CAACC,GAAG,CAAE,IAAAC,6BAAsB,EAAEI,cAAe,CAAC,EAAE;YACxDF,MAAM,EAAE;UACT,CAAE,CAAC;QACJ;QACA,OAAOJ,SAAS;MACjB;IACA,KAAK,kBAAkB;MAAE;QACxB,MAAMA,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/CE,MAAM,CAACK,IAAI,CAACI,OAAO,CAAE,CAAED,cAAc,EAAEE,GAAG,KAAM;UAC/C,MAAMC,eAA2B,GAAG;YACnCL,MAAM,EAAE,OAAO;YACfC,KAAK,EAAEK;UACR,CAAC;UAED,MAAML,KAAK,GAAGP,MAAM,CAACa,MAAM,CAAEH,GAAG,CAAE;UAClC,IAAKH,KAAK,EAAG;YACZI,eAAe,CAACJ,KAAK,GAAGA,KAAK;UAC9B;UAEAL,SAAS,CAACC,GAAG,CACZ,IAAAC,6BAAsB,EAAEI,cAA4B,CAAC,EACrDG,eACD,CAAC;QACF,CAAE,CAAC;QACH,OAAOT,SAAS;MACjB;IACA,KAAK,uBAAuB;MAAE;QAC7B,MAAMA,SAAS,GAAG,IAAIH,yBAAgB,CAAED,KAAM,CAAC;QAC/CI,SAAS,CAACY,MAAM,CAAE,IAAAV,6BAAsB,EAAEJ,MAAM,CAACK,IAAK,CAAE,CAAC;QACzD,OAAOH,SAAS;MACjB;EACD;EACA,OAAOJ,KAAK;AACb,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMiB,UAAU,GAAGA,CAAEjB,KAA8B,GAAG,CAAC,CAAC,EAAEE,MAAc,KAAM;EAC7E,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,iCAAiC;MACrC,OAAO,CAAC,CAAC;IACV,KAAK,0CAA0C;MAAE;QAChD,IAAKD,MAAM,CAACgB,YAAY,IAAIlB,KAAK,EAAG;UACnC,MAAM;YACL,CAAEE,MAAM,CAACgB,YAAY,GAAIC,eAAe;YACxC,GAAGC;UACJ,CAAC,GAAGpB,KAAK;UACT,OAAOoB,SAAS;QACjB;QACA,OAAOpB,KAAK;MACb;IACA,KAAK,kBAAkB;IACvB,KAAK,mBAAmB;IACxB,KAAK,iBAAiB;IACtB,KAAK,mBAAmB;IACxB,KAAK,oBAAoB;IACzB,KAAK,kBAAkB;IACvB,KAAK,uBAAuB;MAC3B,OAAOF,iBAAiB,CAAEE,KAAK,EAAEE,MAAO,CAAC;EAC3C;EACA,OAAOF,KAAK;AACb,CAAC;AAAC,IAAAqB,QAAA,GAEaJ,UAAU;AAAAK,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -12,17 +12,13 @@ exports.hasResolutionFailed = hasResolutionFailed;
12
12
  exports.hasResolvingSelectors = hasResolvingSelectors;
13
13
  exports.hasStartedResolution = hasStartedResolution;
14
14
  exports.isResolving = isResolving;
15
-
16
15
  var _utils = require("./utils");
17
-
18
16
  /**
19
17
  * Internal dependencies
20
18
  */
21
19
 
22
20
  /** @typedef {Record<string, import('./reducer').State>} State */
23
-
24
21
  /** @typedef {import('./reducer').StateValue} StateValue */
25
-
26
22
  /** @typedef {import('./reducer').Status} Status */
27
23
 
28
24
  /**
@@ -39,13 +35,12 @@ var _utils = require("./utils");
39
35
  */
40
36
  function getResolutionState(state, selectorName, args) {
41
37
  const map = state[selectorName];
42
-
43
38
  if (!map) {
44
39
  return;
45
40
  }
46
-
47
41
  return map.get((0, _utils.selectorArgsToStateKey)(args));
48
42
  }
43
+
49
44
  /**
50
45
  * Returns the raw `isResolving` value for a given selector name,
51
46
  * and arguments set. May be undefined if the selector has never been resolved
@@ -58,12 +53,11 @@ function getResolutionState(state, selectorName, args) {
58
53
  *
59
54
  * @return {boolean | undefined} isResolving value.
60
55
  */
61
-
62
-
63
56
  function getIsResolving(state, selectorName, args) {
64
57
  const resolutionState = getResolutionState(state, selectorName, args);
65
58
  return resolutionState && resolutionState.status === 'resolving';
66
59
  }
60
+
67
61
  /**
68
62
  * Returns true if resolution has already been triggered for a given
69
63
  * selector name, and arguments set.
@@ -74,11 +68,10 @@ function getIsResolving(state, selectorName, args) {
74
68
  *
75
69
  * @return {boolean} Whether resolution has been triggered.
76
70
  */
77
-
78
-
79
71
  function hasStartedResolution(state, selectorName, args) {
80
72
  return getResolutionState(state, selectorName, args) !== undefined;
81
73
  }
74
+
82
75
  /**
83
76
  * Returns true if resolution has completed for a given selector
84
77
  * name, and arguments set.
@@ -89,12 +82,11 @@ function hasStartedResolution(state, selectorName, args) {
89
82
  *
90
83
  * @return {boolean} Whether resolution has completed.
91
84
  */
92
-
93
-
94
85
  function hasFinishedResolution(state, selectorName, args) {
95
86
  const status = getResolutionState(state, selectorName, args)?.status;
96
87
  return status === 'finished' || status === 'error';
97
88
  }
89
+
98
90
  /**
99
91
  * Returns true if resolution has failed for a given selector
100
92
  * name, and arguments set.
@@ -105,11 +97,10 @@ function hasFinishedResolution(state, selectorName, args) {
105
97
  *
106
98
  * @return {boolean} Has resolution failed
107
99
  */
108
-
109
-
110
100
  function hasResolutionFailed(state, selectorName, args) {
111
101
  return getResolutionState(state, selectorName, args)?.status === 'error';
112
102
  }
103
+
113
104
  /**
114
105
  * Returns the resolution error for a given selector name, and arguments set.
115
106
  * Note it may be of an Error type, but may also be null, undefined, or anything else
@@ -121,12 +112,11 @@ function hasResolutionFailed(state, selectorName, args) {
121
112
  *
122
113
  * @return {Error|unknown} Last resolution error
123
114
  */
124
-
125
-
126
115
  function getResolutionError(state, selectorName, args) {
127
116
  const resolutionState = getResolutionState(state, selectorName, args);
128
117
  return resolutionState?.status === 'error' ? resolutionState.error : null;
129
118
  }
119
+
130
120
  /**
131
121
  * Returns true if resolution has been triggered but has not yet completed for
132
122
  * a given selector name, and arguments set.
@@ -137,11 +127,10 @@ function getResolutionError(state, selectorName, args) {
137
127
  *
138
128
  * @return {boolean} Whether resolution is in progress.
139
129
  */
140
-
141
-
142
130
  function isResolving(state, selectorName, args) {
143
131
  return getResolutionState(state, selectorName, args)?.status === 'resolving';
144
132
  }
133
+
145
134
  /**
146
135
  * Returns the list of the cached resolvers.
147
136
  *
@@ -149,11 +138,10 @@ function isResolving(state, selectorName, args) {
149
138
  *
150
139
  * @return {State} Resolvers mapped by args and selectorName.
151
140
  */
152
-
153
-
154
141
  function getCachedResolvers(state) {
155
142
  return state;
156
143
  }
144
+
157
145
  /**
158
146
  * Whether the store has any currently resolving selectors.
159
147
  *
@@ -161,8 +149,6 @@ function getCachedResolvers(state) {
161
149
  *
162
150
  * @return {boolean} True if one or more selectors are resolving, false otherwise.
163
151
  */
164
-
165
-
166
152
  function hasResolvingSelectors(state) {
167
153
  return Object.values(state).some(selectorState =>
168
154
  /**