@wordpress/data 10.32.0 → 10.32.1-next.ff1cebbba.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/build/components/async-mode-provider/context.js +35 -54
  2. package/build/components/async-mode-provider/context.js.map +7 -1
  3. package/build/components/async-mode-provider/index.js +40 -25
  4. package/build/components/async-mode-provider/index.js.map +7 -1
  5. package/build/components/async-mode-provider/use-async-mode.js +25 -16
  6. package/build/components/async-mode-provider/use-async-mode.js.map +7 -1
  7. package/build/components/registry-provider/context.js +46 -64
  8. package/build/components/registry-provider/context.js.map +7 -1
  9. package/build/components/registry-provider/index.js +40 -25
  10. package/build/components/registry-provider/index.js.map +7 -1
  11. package/build/components/registry-provider/use-registry.js +25 -55
  12. package/build/components/registry-provider/use-registry.js.map +7 -1
  13. package/build/components/use-dispatch/index.js +38 -17
  14. package/build/components/use-dispatch/index.js.map +7 -1
  15. package/build/components/use-dispatch/use-dispatch-with-map.js +59 -44
  16. package/build/components/use-dispatch/use-dispatch-with-map.js.map +7 -1
  17. package/build/components/use-dispatch/use-dispatch.js +36 -71
  18. package/build/components/use-dispatch/use-dispatch.js.map +7 -1
  19. package/build/components/use-select/index.js +79 -208
  20. package/build/components/use-select/index.js.map +7 -1
  21. package/build/components/with-dispatch/index.js +34 -107
  22. package/build/components/with-dispatch/index.js.map +7 -1
  23. package/build/components/with-registry/index.js +30 -30
  24. package/build/components/with-registry/index.js.map +7 -1
  25. package/build/components/with-select/index.js +44 -67
  26. package/build/components/with-select/index.js.map +7 -1
  27. package/build/controls.js +49 -110
  28. package/build/controls.js.map +7 -1
  29. package/build/create-selector.js +36 -11
  30. package/build/create-selector.js.map +7 -1
  31. package/build/default-registry.js +24 -10
  32. package/build/default-registry.js.map +7 -1
  33. package/build/dispatch.js +38 -31
  34. package/build/dispatch.js.map +7 -1
  35. package/build/factory.js +29 -85
  36. package/build/factory.js.map +7 -1
  37. package/build/index.js +114 -301
  38. package/build/index.js.map +7 -1
  39. package/build/lock-unlock.js +31 -14
  40. package/build/lock-unlock.js.map +7 -1
  41. package/build/plugins/index.js +36 -11
  42. package/build/plugins/index.js.map +7 -1
  43. package/build/plugins/persistence/index.js +74 -139
  44. package/build/plugins/persistence/index.js.map +7 -1
  45. package/build/plugins/persistence/storage/default.js +37 -18
  46. package/build/plugins/persistence/storage/default.js.map +7 -1
  47. package/build/plugins/persistence/storage/object.js +24 -7
  48. package/build/plugins/persistence/storage/object.js.map +7 -1
  49. package/build/promise-middleware.js +37 -20
  50. package/build/promise-middleware.js.map +7 -1
  51. package/build/redux-store/combine-reducers.js +26 -5
  52. package/build/redux-store/combine-reducers.js.map +7 -1
  53. package/build/redux-store/index.js +221 -331
  54. package/build/redux-store/index.js.map +7 -1
  55. package/build/redux-store/metadata/actions.js +51 -112
  56. package/build/redux-store/metadata/actions.js.map +7 -1
  57. package/build/redux-store/metadata/equivalent-key-map.d.js +1 -1
  58. package/build/redux-store/metadata/equivalent-key-map.d.js.map +7 -1
  59. package/build/redux-store/metadata/reducer.js +111 -115
  60. package/build/redux-store/metadata/reducer.js.map +7 -1
  61. package/build/redux-store/metadata/selectors.js +109 -181
  62. package/build/redux-store/metadata/selectors.js.map +7 -1
  63. package/build/redux-store/metadata/utils.js +32 -35
  64. package/build/redux-store/metadata/utils.js.map +7 -1
  65. package/build/redux-store/thunk-middleware.js +24 -7
  66. package/build/redux-store/thunk-middleware.js.map +7 -1
  67. package/build/registry.js +94 -198
  68. package/build/registry.js.map +7 -1
  69. package/build/resolvers-cache-middleware.js +26 -27
  70. package/build/resolvers-cache-middleware.js.map +7 -1
  71. package/build/select.js +38 -31
  72. package/build/select.js.map +7 -1
  73. package/build/store/index.js +52 -16
  74. package/build/store/index.js.map +7 -1
  75. package/build/types.js +16 -5
  76. package/build/types.js.map +7 -1
  77. package/build/utils/emitter.js +33 -16
  78. package/build/utils/emitter.js.map +7 -1
  79. package/build-module/components/async-mode-provider/context.js +12 -49
  80. package/build-module/components/async-mode-provider/context.js.map +7 -1
  81. package/build-module/components/async-mode-provider/index.js +8 -3
  82. package/build-module/components/async-mode-provider/index.js.map +7 -1
  83. package/build-module/components/async-mode-provider/use-async-mode.js +7 -11
  84. package/build-module/components/async-mode-provider/use-async-mode.js.map +7 -1
  85. package/build-module/components/registry-provider/context.js +13 -58
  86. package/build-module/components/registry-provider/context.js.map +7 -1
  87. package/build-module/components/registry-provider/index.js +8 -3
  88. package/build-module/components/registry-provider/index.js.map +7 -1
  89. package/build-module/components/registry-provider/use-registry.js +7 -51
  90. package/build-module/components/registry-provider/use-registry.js.map +7 -1
  91. package/build-module/components/use-dispatch/index.js +7 -3
  92. package/build-module/components/use-dispatch/index.js.map +7 -1
  93. package/build-module/components/use-dispatch/use-dispatch-with-map.js +27 -35
  94. package/build-module/components/use-dispatch/use-dispatch-with-map.js.map +7 -1
  95. package/build-module/components/use-dispatch/use-dispatch.js +8 -66
  96. package/build-module/components/use-dispatch/use-dispatch.js.map +7 -1
  97. package/build-module/components/use-select/index.js +45 -193
  98. package/build-module/components/use-select/index.js.map +7 -1
  99. package/build-module/components/with-dispatch/index.js +16 -104
  100. package/build-module/components/with-dispatch/index.js.map +7 -1
  101. package/build-module/components/with-registry/index.js +12 -27
  102. package/build-module/components/with-registry/index.js.map +7 -1
  103. package/build-module/components/with-select/index.js +16 -63
  104. package/build-module/components/with-select/index.js.map +7 -1
  105. package/build-module/controls.js +25 -105
  106. package/build-module/controls.js.map +7 -1
  107. package/build-module/create-selector.js +5 -8
  108. package/build-module/create-selector.js.map +7 -1
  109. package/build-module/default-registry.js +6 -6
  110. package/build-module/default-registry.js.map +7 -1
  111. package/build-module/dispatch.js +6 -27
  112. package/build-module/dispatch.js.map +7 -1
  113. package/build-module/factory.js +8 -82
  114. package/build-module/factory.js.map +7 -1
  115. package/build-module/index.js +62 -185
  116. package/build-module/index.js.map +7 -1
  117. package/build-module/lock-unlock.js +8 -7
  118. package/build-module/lock-unlock.js.map +7 -1
  119. package/build-module/plugins/index.js +5 -2
  120. package/build-module/plugins/index.js.map +7 -1
  121. package/build-module/plugins/persistence/index.js +38 -129
  122. package/build-module/plugins/persistence/index.js.map +7 -1
  123. package/build-module/plugins/persistence/storage/default.js +8 -11
  124. package/build-module/plugins/persistence/storage/default.js.map +7 -1
  125. package/build-module/plugins/persistence/storage/object.js +6 -3
  126. package/build-module/plugins/persistence/storage/object.js.map +7 -1
  127. package/build-module/promise-middleware.js +8 -14
  128. package/build-module/promise-middleware.js.map +7 -1
  129. package/build-module/redux-store/combine-reducers.js +5 -2
  130. package/build-module/redux-store/combine-reducers.js.map +7 -1
  131. package/build-module/redux-store/index.js +180 -310
  132. package/build-module/redux-store/index.js.map +7 -1
  133. package/build-module/redux-store/metadata/actions.js +30 -109
  134. package/build-module/redux-store/metadata/actions.js.map +7 -1
  135. package/build-module/redux-store/metadata/equivalent-key-map.d.js +1 -2
  136. package/build-module/redux-store/metadata/equivalent-key-map.d.js.map +7 -1
  137. package/build-module/redux-store/metadata/reducer.js +83 -108
  138. package/build-module/redux-store/metadata/reducer.js.map +7 -1
  139. package/build-module/redux-store/metadata/selectors.js +76 -175
  140. package/build-module/redux-store/metadata/selectors.js.map +7 -1
  141. package/build-module/redux-store/metadata/utils.js +10 -30
  142. package/build-module/redux-store/metadata/utils.js.map +7 -1
  143. package/build-module/redux-store/thunk-middleware.js +7 -4
  144. package/build-module/redux-store/thunk-middleware.js.map +7 -1
  145. package/build-module/registry.js +56 -187
  146. package/build-module/registry.js.map +7 -1
  147. package/build-module/resolvers-cache-middleware.js +8 -23
  148. package/build-module/resolvers-cache-middleware.js.map +7 -1
  149. package/build-module/select.js +6 -27
  150. package/build-module/select.js.map +7 -1
  151. package/build-module/store/index.js +34 -12
  152. package/build-module/store/index.js.map +7 -1
  153. package/build-module/types.js +1 -2
  154. package/build-module/types.js.map +7 -1
  155. package/build-module/utils/emitter.js +12 -13
  156. package/build-module/utils/emitter.js.map +7 -1
  157. package/package.json +17 -10
@@ -1 +1,7 @@
1
- {"version":3,"names":["_redux","require","_equivalentKeyMap","_interopRequireDefault","_reduxRoutine","_compose","_combineReducers","_controls","_lockUnlock","_promiseMiddleware","_resolversCacheMiddleware","_thunkMiddleware","_reducer","metadataSelectors","_interopRequireWildcard","metadataActions","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","trimUndefinedValues","array","result","length","undefined","splice","mapValues","obj","callback","fromEntries","entries","map","key","value","devToolsReplacer","state","Map","window","HTMLElement","createResolversCache","cache","isRunning","selectorName","args","clear","delete","markAsRunning","EquivalentKeyMap","createBindingCache","getItem","bindItem","itemName","item","boundItem","createPrivateProxy","publicItems","privateItems","Proxy","target","Reflect","createReduxStore","options","privateActions","privateSelectors","privateRegistrationFunctions","registerPrivateActions","actions","assign","registerPrivateSelectors","selectors","storeDescriptor","name","instantiate","registry","listeners","Set","reducer","thunkArgs","dispatch","thunkDispatch","select","thunkSelect","resolveSelect","resolveSelectors","store","instantiateReduxStore","lock","resolversCache","bindAction","action","Promise","resolve","allActions","resolvers","mapResolver","bindSelector","selector","isRegistrySelector","boundSelector","normalize","__unstableOriginalGetState","root","__unstableNormalizeArgs","resolver","hasResolver","mapSelectorWithResolver","boundMetadataSelectors","bindMetadataSelector","metaDataSelector","selectorArgs","targetSelector","metadata","boundSelectors","boundPrivateSelectors","allSelectors","keys","bindResolveSelector","mapResolveSelector","allResolveSelectors","bindSuspendSelector","mapSuspendSelector","suspendSelectors","allSuspendSelectors","getSelectors","getActions","getResolveSelectors","getSuspendSelectors","getState","subscribe","listener","add","lastState","hasChanged","controls","builtinControls","normalizedControls","control","isRegistryControl","middlewares","createResolversCacheMiddleware","promise","createReduxRoutineMiddleware","createThunkMiddleware","enhancers","applyMiddleware","__REDUX_DEVTOOLS_EXTENSION__","push","instanceId","serialize","replacer","initialState","enhancedReducer","combineReducers","metadataReducer","createStore","compose","apply","reject","hasFinished","hasFinishedResolution","finalize","hasFailed","hasResolutionFailed","error","getResolutionError","getResult","unsubscribe","fulfill","fulfillSelector","isFulfilled","hasStartedResolution","setTimeout","startResolution","finishResolution","failResolution","selectorResolver"],"sources":["@wordpress/data/src/redux-store/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\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 { combineReducers } from './combine-reducers';\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\nexport { combineReducers };\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 non serializable types to plain objects\nconst devToolsReplacer = ( key, state ) => {\n\tif ( state instanceof Map ) {\n\t\treturn Object.fromEntries( state );\n\t}\n\n\tif ( state instanceof window.HTMLElement ) {\n\t\treturn null;\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( getItem, bindItem ) {\n\tconst cache = new WeakMap();\n\n\treturn {\n\t\tget( itemName ) {\n\t\t\tconst item = getItem( itemName );\n\t\t\tif ( ! item ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tlet boundItem = cache.get( item );\n\t\t\tif ( ! boundItem ) {\n\t\t\t\tboundItem = bindItem( 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\nfunction createPrivateProxy( publicItems, privateItems ) {\n\treturn new Proxy( publicItems, {\n\t\tget: ( target, itemName ) =>\n\t\t\tprivateItems.get( itemName ) || Reflect.get( target, itemName ),\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\n\t\t\t// Object that every thunk function receives as the first argument. It contains the\n\t\t\t// `registry`, `dispatch`, `select` and `resolveSelect` fields. Some of them are\n\t\t\t// constructed as getters to avoid circular dependencies.\n\t\t\tconst thunkArgs = {\n\t\t\t\tregistry,\n\t\t\t\tget dispatch() {\n\t\t\t\t\treturn thunkDispatch;\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn thunkSelect;\n\t\t\t\t},\n\t\t\t\tget resolveSelect() {\n\t\t\t\t\treturn resolveSelectors;\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\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\t// Binds an action creator (`action`) to the `store`, making it a callable function.\n\t\t\t// These are the functions that are returned by `useDispatch`, for example.\n\t\t\t// It always returns a `Promise`, although actions are not always async. That's an\n\t\t\t// unfortunate backward compatibility measure.\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\t/*\n\t\t\t * Object with all public actions, both metadata and store actions.\n\t\t\t */\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\t// Object with both public and private actions. Private actions are accessed through a proxy,\n\t\t\t// which looks them up in real time on the `privateActions` object. That's because private\n\t\t\t// actions can be registered at any time with `registerPrivateActions`. Also once a private\n\t\t\t// action creator is bound to the store, it is cached to give it a stable identity.\n\t\t\tconst allActions = createPrivateProxy(\n\t\t\t\tactions,\n\t\t\t\tcreateBindingCache(\n\t\t\t\t\t( name ) => privateActions[ name ],\n\t\t\t\t\tbindAction\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// An object that implements the `dispatch` object that is passed to thunk functions.\n\t\t\t// It is callable (`dispatch( action )`) and also has methods (`dispatch.foo()`) that\n\t\t\t// correspond to bound registered actions, both public and private. Implemented with the proxy\n\t\t\t// `get` method, delegating to `allActions`.\n\t\t\tconst thunkDispatch = new Proxy(\n\t\t\t\t( action ) => store.dispatch( action ),\n\t\t\t\t{ get: ( target, name ) => allActions[ name ] }\n\t\t\t);\n\n\t\t\t// To the public `actions` object, add the \"locked\" `allActions` object. When used,\n\t\t\t// `unlock( actions )` will return `allActions`, implementing a way how to get at the private actions.\n\t\t\tlock( actions, allActions );\n\n\t\t\t// If we have selector resolvers, convert them to a normalized form.\n\t\t\tconst resolvers = options.resolvers\n\t\t\t\t? mapValues( options.resolvers, mapResolver )\n\t\t\t\t: {};\n\n\t\t\t// Bind a selector to the store. Call the selector with the current state, correct registry,\n\t\t\t// and if there is a resolver, attach the resolver logic to the selector.\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\targs = normalize( selector, args );\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\t// Before calling the selector, switch to the correct registry.\n\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t}\n\t\t\t\t\treturn selector( state.root, ...args );\n\t\t\t\t};\n\n\t\t\t\t// Expose normalization method on the bound selector\n\t\t\t\t// in order that it can be called when fulfilling\n\t\t\t\t// the resolver.\n\t\t\t\tboundSelector.__unstableNormalizeArgs =\n\t\t\t\t\tselector.__unstableNormalizeArgs;\n\n\t\t\t\tconst resolver = resolvers[ selectorName ];\n\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\tboundMetadataSelectors\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Metadata selectors are bound differently: different state (`state.metadata`), no resolvers,\n\t\t\t// normalization depending on the target selector.\n\t\t\tfunction bindMetadataSelector( metaDataSelector ) {\n\t\t\t\tconst boundSelector = (\n\t\t\t\t\tselectorName,\n\t\t\t\t\tselectorArgs,\n\t\t\t\t\t...args\n\t\t\t\t) => {\n\t\t\t\t\t// Normalize the arguments passed to the target selector.\n\t\t\t\t\tif ( selectorName ) {\n\t\t\t\t\t\tconst targetSelector =\n\t\t\t\t\t\t\toptions.selectors?.[ selectorName ];\n\t\t\t\t\t\tif ( targetSelector ) {\n\t\t\t\t\t\t\tselectorArgs = normalize(\n\t\t\t\t\t\t\t\ttargetSelector,\n\t\t\t\t\t\t\t\tselectorArgs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\n\t\t\t\t\treturn metaDataSelector(\n\t\t\t\t\t\tstate.metadata,\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\tselectorArgs,\n\t\t\t\t\t\t...args\n\t\t\t\t\t);\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\t// Perform binding of both metadata and store selectors and combine them in one\n\t\t\t// `selectors` object. These are all public selectors of the store.\n\t\t\tconst boundMetadataSelectors = mapValues(\n\t\t\t\tmetadataSelectors,\n\t\t\t\tbindMetadataSelector\n\t\t\t);\n\n\t\t\tconst boundSelectors = mapValues( options.selectors, bindSelector );\n\n\t\t\tconst selectors = {\n\t\t\t\t...boundMetadataSelectors,\n\t\t\t\t...boundSelectors,\n\t\t\t};\n\n\t\t\t// Cache of bould private selectors. They are bound only when first accessed, because\n\t\t\t// new private selectors can be registered at any time (with `registerPrivateSelectors`).\n\t\t\t// Once bound, they are cached to give them a stable identity.\n\t\t\tconst boundPrivateSelectors = createBindingCache(\n\t\t\t\t( name ) => privateSelectors[ name ],\n\t\t\t\tbindSelector\n\t\t\t);\n\n\t\t\tconst allSelectors = createPrivateProxy(\n\t\t\t\tselectors,\n\t\t\t\tboundPrivateSelectors\n\t\t\t);\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 of Object.keys( privateSelectors ) ) {\n\t\t\t\tboundPrivateSelectors.get( selectorName );\n\t\t\t}\n\n\t\t\t// An object that implements the `select` object that is passed to thunk functions.\n\t\t\t// It is callable (`select( selector )`) and also has methods (`select.foo()`) that\n\t\t\t// correspond to bound registered selectors, both public and private. Implemented with the proxy\n\t\t\t// `get` method, delegating to `allSelectors`.\n\t\t\tconst thunkSelect = new Proxy(\n\t\t\t\t( selector ) => selector( store.__unstableOriginalGetState() ),\n\t\t\t\t{ get: ( target, name ) => allSelectors[ name ] }\n\t\t\t);\n\n\t\t\t// To the public `selectors` object, add the \"locked\" `allSelectors` object. When used,\n\t\t\t// `unlock( selectors )` will return `allSelectors`, implementing a way how to get at the private selectors.\n\t\t\tlock( selectors, allSelectors );\n\n\t\t\t// For each selector, create a function that calls the selector, waits for resolution and returns\n\t\t\t// a promise that resolves when the resolution is finished.\n\t\t\tconst bindResolveSelector = mapResolveSelector(\n\t\t\t\tstore,\n\t\t\t\tboundMetadataSelectors\n\t\t\t);\n\n\t\t\t// Now apply this function to all bound selectors, public and private. We are excluding\n\t\t\t// metadata selectors because they don't have resolvers.\n\t\t\tconst resolveSelectors = mapValues(\n\t\t\t\tboundSelectors,\n\t\t\t\tbindResolveSelector\n\t\t\t);\n\n\t\t\tconst allResolveSelectors = createPrivateProxy(\n\t\t\t\tresolveSelectors,\n\t\t\t\tcreateBindingCache(\n\t\t\t\t\t( name ) => boundPrivateSelectors.get( name ),\n\t\t\t\t\tbindResolveSelector\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Lock the selectors so that `unlock( resolveSelectors )` returns `allResolveSelectors`.\n\t\t\tlock( resolveSelectors, allResolveSelectors );\n\n\t\t\t// Now, in a way very similar to `bindResolveSelector`, we create a function that maps\n\t\t\t// selectors to functions that throw a suspense promise if not yet resolved.\n\t\t\tconst bindSuspendSelector = mapSuspendSelector(\n\t\t\t\tstore,\n\t\t\t\tboundMetadataSelectors\n\t\t\t);\n\n\t\t\tconst suspendSelectors = {\n\t\t\t\t...boundMetadataSelectors, // no special suspense behavior\n\t\t\t\t...mapValues( boundSelectors, bindSuspendSelector ),\n\t\t\t};\n\n\t\t\tconst allSuspendSelectors = createPrivateProxy(\n\t\t\t\tsuspendSelectors,\n\t\t\t\tcreateBindingCache(\n\t\t\t\t\t( name ) => boundPrivateSelectors.get( name ),\n\t\t\t\t\tbindSuspendSelector\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Lock the selectors so that `unlock( suspendSelectors )` returns 'allSuspendSelectors`.\n\t\t\tlock( suspendSelectors, allSuspendSelectors );\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: devToolsReplacer,\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} store The redux store the selectors are bound to.\n * @param {Object} boundMetadataSelectors The bound metadata selectors.\n *\n * @return {Function} Function that maps selectors to resolvers.\n */\nfunction mapResolveSelector( store, boundMetadataSelectors ) {\n\treturn ( 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\tnew Promise( ( resolve, reject ) => {\n\t\t\t\tconst hasFinished = () => {\n\t\t\t\t\treturn boundMetadataSelectors.hasFinishedResolution(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tconst finalize = ( result ) => {\n\t\t\t\t\tconst hasFailed =\n\t\t\t\t\t\tboundMetadataSelectors.hasResolutionFailed(\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\tif ( hasFailed ) {\n\t\t\t\t\t\tconst error = boundMetadataSelectors.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\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};\n}\n\n/**\n * Maps selectors to functions that throw a suspense promise if not yet resolved.\n *\n * @param {Object} store The redux store the selectors select from.\n * @param {Object} boundMetadataSelectors The bound metadata selectors.\n *\n * @return {Function} Function that maps selectors to their suspending versions.\n */\nfunction mapSuspendSelector( store, boundMetadataSelectors ) {\n\treturn ( 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 (\n\t\t\t\tboundMetadataSelectors.hasFinishedResolution(\n\t\t\t\t\tselectorName,\n\t\t\t\t\targs\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\tboundMetadataSelectors.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) {\n\t\t\t\t\tthrow boundMetadataSelectors.getResolutionError(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t}\n\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\tboundMetadataSelectors.hasFinishedResolution(\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) {\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 a resolver to a normalized form, an object with `fulfill` method and\n * optional methods like `isFulfilled`.\n *\n * @param {Function} resolver Resolver to convert\n */\nfunction mapResolver( resolver ) {\n\tif ( resolver.fulfill ) {\n\t\treturn resolver;\n\t}\n\n\treturn {\n\t\t...resolver, // Copy the enumerable properties of the resolver function.\n\t\tfulfill: resolver, // Add the fulfill method.\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 * @param {Object} boundMetadataSelectors The bound metadata selectors.\n */\nfunction mapSelectorWithResolver(\n\tselector,\n\tselectorName,\n\tresolver,\n\tstore,\n\tresolversCache,\n\tboundMetadataSelectors\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\tif (\n\t\t\tboundMetadataSelectors.hasStartedResolution( selectorName, args )\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\targs = normalize( selector, args );\n\t\tfulfillSelector( args );\n\t\treturn selector( ...args );\n\t};\n\tselectorResolver.hasResolver = true;\n\treturn selectorResolver;\n}\n\n/**\n * Applies selector's normalization function to the given arguments\n * if it exists.\n *\n * @param {Object} selector The selector potentially with a normalization method property.\n * @param {Array} args selector arguments to normalize.\n * @return {Array} Potentially normalized arguments.\n */\nfunction normalize( selector, args ) {\n\tif (\n\t\tselector.__unstableNormalizeArgs &&\n\t\ttypeof selector.__unstableNormalizeArgs === 'function' &&\n\t\targs?.length\n\t) {\n\t\treturn selector.__unstableNormalizeArgs( args );\n\t}\n\treturn args;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/redux-store/index.js"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport { createStore, applyMiddleware } from 'redux';\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 { combineReducers } from './combine-reducers';\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\nexport { combineReducers };\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 non serializable types to plain objects\nconst devToolsReplacer = ( key, state ) => {\n\tif ( state instanceof Map ) {\n\t\treturn Object.fromEntries( state );\n\t}\n\n\tif ( state instanceof window.HTMLElement ) {\n\t\treturn null;\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( getItem, bindItem ) {\n\tconst cache = new WeakMap();\n\n\treturn {\n\t\tget( itemName ) {\n\t\t\tconst item = getItem( itemName );\n\t\t\tif ( ! item ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tlet boundItem = cache.get( item );\n\t\t\tif ( ! boundItem ) {\n\t\t\t\tboundItem = bindItem( 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\nfunction createPrivateProxy( publicItems, privateItems ) {\n\treturn new Proxy( publicItems, {\n\t\tget: ( target, itemName ) =>\n\t\t\tprivateItems.get( itemName ) || Reflect.get( target, itemName ),\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\n\t\t\t// Object that every thunk function receives as the first argument. It contains the\n\t\t\t// `registry`, `dispatch`, `select` and `resolveSelect` fields. Some of them are\n\t\t\t// constructed as getters to avoid circular dependencies.\n\t\t\tconst thunkArgs = {\n\t\t\t\tregistry,\n\t\t\t\tget dispatch() {\n\t\t\t\t\treturn thunkDispatch;\n\t\t\t\t},\n\t\t\t\tget select() {\n\t\t\t\t\treturn thunkSelect;\n\t\t\t\t},\n\t\t\t\tget resolveSelect() {\n\t\t\t\t\treturn resolveSelectors;\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\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\t// Binds an action creator (`action`) to the `store`, making it a callable function.\n\t\t\t// These are the functions that are returned by `useDispatch`, for example.\n\t\t\t// It always returns a `Promise`, although actions are not always async. That's an\n\t\t\t// unfortunate backward compatibility measure.\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\t/*\n\t\t\t * Object with all public actions, both metadata and store actions.\n\t\t\t */\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\t// Object with both public and private actions. Private actions are accessed through a proxy,\n\t\t\t// which looks them up in real time on the `privateActions` object. That's because private\n\t\t\t// actions can be registered at any time with `registerPrivateActions`. Also once a private\n\t\t\t// action creator is bound to the store, it is cached to give it a stable identity.\n\t\t\tconst allActions = createPrivateProxy(\n\t\t\t\tactions,\n\t\t\t\tcreateBindingCache(\n\t\t\t\t\t( name ) => privateActions[ name ],\n\t\t\t\t\tbindAction\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// An object that implements the `dispatch` object that is passed to thunk functions.\n\t\t\t// It is callable (`dispatch( action )`) and also has methods (`dispatch.foo()`) that\n\t\t\t// correspond to bound registered actions, both public and private. Implemented with the proxy\n\t\t\t// `get` method, delegating to `allActions`.\n\t\t\tconst thunkDispatch = new Proxy(\n\t\t\t\t( action ) => store.dispatch( action ),\n\t\t\t\t{ get: ( target, name ) => allActions[ name ] }\n\t\t\t);\n\n\t\t\t// To the public `actions` object, add the \"locked\" `allActions` object. When used,\n\t\t\t// `unlock( actions )` will return `allActions`, implementing a way how to get at the private actions.\n\t\t\tlock( actions, allActions );\n\n\t\t\t// If we have selector resolvers, convert them to a normalized form.\n\t\t\tconst resolvers = options.resolvers\n\t\t\t\t? mapValues( options.resolvers, mapResolver )\n\t\t\t\t: {};\n\n\t\t\t// Bind a selector to the store. Call the selector with the current state, correct registry,\n\t\t\t// and if there is a resolver, attach the resolver logic to the selector.\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\targs = normalize( selector, args );\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\t\t\t\t\t// Before calling the selector, switch to the correct registry.\n\t\t\t\t\tif ( selector.isRegistrySelector ) {\n\t\t\t\t\t\tselector.registry = registry;\n\t\t\t\t\t}\n\t\t\t\t\treturn selector( state.root, ...args );\n\t\t\t\t};\n\n\t\t\t\t// Expose normalization method on the bound selector\n\t\t\t\t// in order that it can be called when fulfilling\n\t\t\t\t// the resolver.\n\t\t\t\tboundSelector.__unstableNormalizeArgs =\n\t\t\t\t\tselector.__unstableNormalizeArgs;\n\n\t\t\t\tconst resolver = resolvers[ selectorName ];\n\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\tboundMetadataSelectors\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Metadata selectors are bound differently: different state (`state.metadata`), no resolvers,\n\t\t\t// normalization depending on the target selector.\n\t\t\tfunction bindMetadataSelector( metaDataSelector ) {\n\t\t\t\tconst boundSelector = (\n\t\t\t\t\tselectorName,\n\t\t\t\t\tselectorArgs,\n\t\t\t\t\t...args\n\t\t\t\t) => {\n\t\t\t\t\t// Normalize the arguments passed to the target selector.\n\t\t\t\t\tif ( selectorName ) {\n\t\t\t\t\t\tconst targetSelector =\n\t\t\t\t\t\t\toptions.selectors?.[ selectorName ];\n\t\t\t\t\t\tif ( targetSelector ) {\n\t\t\t\t\t\t\tselectorArgs = normalize(\n\t\t\t\t\t\t\t\ttargetSelector,\n\t\t\t\t\t\t\t\tselectorArgs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst state = store.__unstableOriginalGetState();\n\n\t\t\t\t\treturn metaDataSelector(\n\t\t\t\t\t\tstate.metadata,\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\tselectorArgs,\n\t\t\t\t\t\t...args\n\t\t\t\t\t);\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\t// Perform binding of both metadata and store selectors and combine them in one\n\t\t\t// `selectors` object. These are all public selectors of the store.\n\t\t\tconst boundMetadataSelectors = mapValues(\n\t\t\t\tmetadataSelectors,\n\t\t\t\tbindMetadataSelector\n\t\t\t);\n\n\t\t\tconst boundSelectors = mapValues( options.selectors, bindSelector );\n\n\t\t\tconst selectors = {\n\t\t\t\t...boundMetadataSelectors,\n\t\t\t\t...boundSelectors,\n\t\t\t};\n\n\t\t\t// Cache of bould private selectors. They are bound only when first accessed, because\n\t\t\t// new private selectors can be registered at any time (with `registerPrivateSelectors`).\n\t\t\t// Once bound, they are cached to give them a stable identity.\n\t\t\tconst boundPrivateSelectors = createBindingCache(\n\t\t\t\t( name ) => privateSelectors[ name ],\n\t\t\t\tbindSelector\n\t\t\t);\n\n\t\t\tconst allSelectors = createPrivateProxy(\n\t\t\t\tselectors,\n\t\t\t\tboundPrivateSelectors\n\t\t\t);\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 of Object.keys( privateSelectors ) ) {\n\t\t\t\tboundPrivateSelectors.get( selectorName );\n\t\t\t}\n\n\t\t\t// An object that implements the `select` object that is passed to thunk functions.\n\t\t\t// It is callable (`select( selector )`) and also has methods (`select.foo()`) that\n\t\t\t// correspond to bound registered selectors, both public and private. Implemented with the proxy\n\t\t\t// `get` method, delegating to `allSelectors`.\n\t\t\tconst thunkSelect = new Proxy(\n\t\t\t\t( selector ) => selector( store.__unstableOriginalGetState() ),\n\t\t\t\t{ get: ( target, name ) => allSelectors[ name ] }\n\t\t\t);\n\n\t\t\t// To the public `selectors` object, add the \"locked\" `allSelectors` object. When used,\n\t\t\t// `unlock( selectors )` will return `allSelectors`, implementing a way how to get at the private selectors.\n\t\t\tlock( selectors, allSelectors );\n\n\t\t\t// For each selector, create a function that calls the selector, waits for resolution and returns\n\t\t\t// a promise that resolves when the resolution is finished.\n\t\t\tconst bindResolveSelector = mapResolveSelector(\n\t\t\t\tstore,\n\t\t\t\tboundMetadataSelectors\n\t\t\t);\n\n\t\t\t// Now apply this function to all bound selectors, public and private. We are excluding\n\t\t\t// metadata selectors because they don't have resolvers.\n\t\t\tconst resolveSelectors = mapValues(\n\t\t\t\tboundSelectors,\n\t\t\t\tbindResolveSelector\n\t\t\t);\n\n\t\t\tconst allResolveSelectors = createPrivateProxy(\n\t\t\t\tresolveSelectors,\n\t\t\t\tcreateBindingCache(\n\t\t\t\t\t( name ) => boundPrivateSelectors.get( name ),\n\t\t\t\t\tbindResolveSelector\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Lock the selectors so that `unlock( resolveSelectors )` returns `allResolveSelectors`.\n\t\t\tlock( resolveSelectors, allResolveSelectors );\n\n\t\t\t// Now, in a way very similar to `bindResolveSelector`, we create a function that maps\n\t\t\t// selectors to functions that throw a suspense promise if not yet resolved.\n\t\t\tconst bindSuspendSelector = mapSuspendSelector(\n\t\t\t\tstore,\n\t\t\t\tboundMetadataSelectors\n\t\t\t);\n\n\t\t\tconst suspendSelectors = {\n\t\t\t\t...boundMetadataSelectors, // no special suspense behavior\n\t\t\t\t...mapValues( boundSelectors, bindSuspendSelector ),\n\t\t\t};\n\n\t\t\tconst allSuspendSelectors = createPrivateProxy(\n\t\t\t\tsuspendSelectors,\n\t\t\t\tcreateBindingCache(\n\t\t\t\t\t( name ) => boundPrivateSelectors.get( name ),\n\t\t\t\t\tbindSuspendSelector\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Lock the selectors so that `unlock( suspendSelectors )` returns 'allSuspendSelectors`.\n\t\t\tlock( suspendSelectors, allSuspendSelectors );\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: devToolsReplacer,\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} store The redux store the selectors are bound to.\n * @param {Object} boundMetadataSelectors The bound metadata selectors.\n *\n * @return {Function} Function that maps selectors to resolvers.\n */\nfunction mapResolveSelector( store, boundMetadataSelectors ) {\n\treturn ( 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\tnew Promise( ( resolve, reject ) => {\n\t\t\t\tconst hasFinished = () => {\n\t\t\t\t\treturn boundMetadataSelectors.hasFinishedResolution(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tconst finalize = ( result ) => {\n\t\t\t\t\tconst hasFailed =\n\t\t\t\t\t\tboundMetadataSelectors.hasResolutionFailed(\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\tif ( hasFailed ) {\n\t\t\t\t\t\tconst error = boundMetadataSelectors.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\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};\n}\n\n/**\n * Maps selectors to functions that throw a suspense promise if not yet resolved.\n *\n * @param {Object} store The redux store the selectors select from.\n * @param {Object} boundMetadataSelectors The bound metadata selectors.\n *\n * @return {Function} Function that maps selectors to their suspending versions.\n */\nfunction mapSuspendSelector( store, boundMetadataSelectors ) {\n\treturn ( 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 (\n\t\t\t\tboundMetadataSelectors.hasFinishedResolution(\n\t\t\t\t\tselectorName,\n\t\t\t\t\targs\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\tboundMetadataSelectors.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) {\n\t\t\t\t\tthrow boundMetadataSelectors.getResolutionError(\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\targs\n\t\t\t\t\t);\n\t\t\t\t}\n\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\tboundMetadataSelectors.hasFinishedResolution(\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) {\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 a resolver to a normalized form, an object with `fulfill` method and\n * optional methods like `isFulfilled`.\n *\n * @param {Function} resolver Resolver to convert\n */\nfunction mapResolver( resolver ) {\n\tif ( resolver.fulfill ) {\n\t\treturn resolver;\n\t}\n\n\treturn {\n\t\t...resolver, // Copy the enumerable properties of the resolver function.\n\t\tfulfill: resolver, // Add the fulfill method.\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 * @param {Object} boundMetadataSelectors The bound metadata selectors.\n */\nfunction mapSelectorWithResolver(\n\tselector,\n\tselectorName,\n\tresolver,\n\tstore,\n\tresolversCache,\n\tboundMetadataSelectors\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\tif (\n\t\t\tboundMetadataSelectors.hasStartedResolution( selectorName, args )\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\targs = normalize( selector, args );\n\t\tfulfillSelector( args );\n\t\treturn selector( ...args );\n\t};\n\tselectorResolver.hasResolver = true;\n\treturn selectorResolver;\n}\n\n/**\n * Applies selector's normalization function to the given arguments\n * if it exists.\n *\n * @param {Object} selector The selector potentially with a normalization method property.\n * @param {Array} args selector arguments to normalize.\n * @return {Array} Potentially normalized arguments.\n */\nfunction normalize( selector, args ) {\n\tif (\n\t\tselector.__unstableNormalizeArgs &&\n\t\ttypeof selector.__unstableNormalizeArgs === 'function' &&\n\t\targs?.length\n\t) {\n\t\treturn selector.__unstableNormalizeArgs( args );\n\t}\n\treturn args;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["EquivalentKeyMap", "createResolversCacheMiddleware", "promise", "createReduxRoutineMiddleware", "createThunkMiddleware", "metadataReducer", "result"]
7
+ }
@@ -1,167 +1,106 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var actions_exports = {};
20
+ __export(actions_exports, {
21
+ failResolution: () => failResolution,
22
+ failResolutions: () => failResolutions,
23
+ finishResolution: () => finishResolution,
24
+ finishResolutions: () => finishResolutions,
25
+ invalidateResolution: () => invalidateResolution,
26
+ invalidateResolutionForStore: () => invalidateResolutionForStore,
27
+ invalidateResolutionForStoreSelector: () => invalidateResolutionForStoreSelector,
28
+ startResolution: () => startResolution,
29
+ startResolutions: () => startResolutions
5
30
  });
6
- exports.failResolution = failResolution;
7
- exports.failResolutions = failResolutions;
8
- exports.finishResolution = finishResolution;
9
- exports.finishResolutions = finishResolutions;
10
- exports.invalidateResolution = invalidateResolution;
11
- exports.invalidateResolutionForStore = invalidateResolutionForStore;
12
- exports.invalidateResolutionForStoreSelector = invalidateResolutionForStoreSelector;
13
- exports.startResolution = startResolution;
14
- exports.startResolutions = startResolutions;
15
- /**
16
- * Returns an action object used in signalling that selector resolution has
17
- * started.
18
- *
19
- * @param {string} selectorName Name of selector for which resolver triggered.
20
- * @param {unknown[]} args Arguments to associate for uniqueness.
21
- *
22
- * @return {{ type: 'START_RESOLUTION', selectorName: string, args: unknown[] }} Action object.
23
- */
31
+ module.exports = __toCommonJS(actions_exports);
24
32
  function startResolution(selectorName, args) {
25
33
  return {
26
- type: 'START_RESOLUTION',
34
+ type: "START_RESOLUTION",
27
35
  selectorName,
28
36
  args
29
37
  };
30
38
  }
31
-
32
- /**
33
- * Returns an action object used in signalling that selector resolution has
34
- * completed.
35
- *
36
- * @param {string} selectorName Name of selector for which resolver triggered.
37
- * @param {unknown[]} args Arguments to associate for uniqueness.
38
- *
39
- * @return {{ type: 'FINISH_RESOLUTION', selectorName: string, args: unknown[] }} Action object.
40
- */
41
39
  function finishResolution(selectorName, args) {
42
40
  return {
43
- type: 'FINISH_RESOLUTION',
41
+ type: "FINISH_RESOLUTION",
44
42
  selectorName,
45
43
  args
46
44
  };
47
45
  }
48
-
49
- /**
50
- * Returns an action object used in signalling that selector resolution has
51
- * failed.
52
- *
53
- * @param {string} selectorName Name of selector for which resolver triggered.
54
- * @param {unknown[]} args Arguments to associate for uniqueness.
55
- * @param {Error|unknown} error The error that caused the failure.
56
- *
57
- * @return {{ type: 'FAIL_RESOLUTION', selectorName: string, args: unknown[], error: Error|unknown }} Action object.
58
- */
59
46
  function failResolution(selectorName, args, error) {
60
47
  return {
61
- type: 'FAIL_RESOLUTION',
48
+ type: "FAIL_RESOLUTION",
62
49
  selectorName,
63
50
  args,
64
51
  error
65
52
  };
66
53
  }
67
-
68
- /**
69
- * Returns an action object used in signalling that a batch of selector resolutions has
70
- * started.
71
- *
72
- * @param {string} selectorName Name of selector for which resolver triggered.
73
- * @param {unknown[][]} args Array of arguments to associate for uniqueness, each item
74
- * is associated to a resolution.
75
- *
76
- * @return {{ type: 'START_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.
77
- */
78
54
  function startResolutions(selectorName, args) {
79
55
  return {
80
- type: 'START_RESOLUTIONS',
56
+ type: "START_RESOLUTIONS",
81
57
  selectorName,
82
58
  args
83
59
  };
84
60
  }
85
-
86
- /**
87
- * Returns an action object used in signalling that a batch of selector resolutions has
88
- * completed.
89
- *
90
- * @param {string} selectorName Name of selector for which resolver triggered.
91
- * @param {unknown[][]} args Array of arguments to associate for uniqueness, each item
92
- * is associated to a resolution.
93
- *
94
- * @return {{ type: 'FINISH_RESOLUTIONS', selectorName: string, args: unknown[][] }} Action object.
95
- */
96
61
  function finishResolutions(selectorName, args) {
97
62
  return {
98
- type: 'FINISH_RESOLUTIONS',
63
+ type: "FINISH_RESOLUTIONS",
99
64
  selectorName,
100
65
  args
101
66
  };
102
67
  }
103
-
104
- /**
105
- * Returns an action object used in signalling that a batch of selector resolutions has
106
- * completed and at least one of them has failed.
107
- *
108
- * @param {string} selectorName Name of selector for which resolver triggered.
109
- * @param {unknown[]} args Array of arguments to associate for uniqueness, each item
110
- * is associated to a resolution.
111
- * @param {(Error|unknown)[]} errors Array of errors to associate for uniqueness, each item
112
- * is associated to a resolution.
113
- * @return {{ type: 'FAIL_RESOLUTIONS', selectorName: string, args: unknown[], errors: Array<Error|unknown> }} Action object.
114
- */
115
68
  function failResolutions(selectorName, args, errors) {
116
69
  return {
117
- type: 'FAIL_RESOLUTIONS',
70
+ type: "FAIL_RESOLUTIONS",
118
71
  selectorName,
119
72
  args,
120
73
  errors
121
74
  };
122
75
  }
123
-
124
- /**
125
- * Returns an action object used in signalling that we should invalidate the resolution cache.
126
- *
127
- * @param {string} selectorName Name of selector for which resolver should be invalidated.
128
- * @param {unknown[]} args Arguments to associate for uniqueness.
129
- *
130
- * @return {{ type: 'INVALIDATE_RESOLUTION', selectorName: string, args: any[] }} Action object.
131
- */
132
76
  function invalidateResolution(selectorName, args) {
133
77
  return {
134
- type: 'INVALIDATE_RESOLUTION',
78
+ type: "INVALIDATE_RESOLUTION",
135
79
  selectorName,
136
80
  args
137
81
  };
138
82
  }
139
-
140
- /**
141
- * Returns an action object used in signalling that the resolution
142
- * should be invalidated.
143
- *
144
- * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE' }} Action object.
145
- */
146
83
  function invalidateResolutionForStore() {
147
84
  return {
148
- type: 'INVALIDATE_RESOLUTION_FOR_STORE'
85
+ type: "INVALIDATE_RESOLUTION_FOR_STORE"
149
86
  };
150
87
  }
151
-
152
- /**
153
- * Returns an action object used in signalling that the resolution cache for a
154
- * given selectorName should be invalidated.
155
- *
156
- * @param {string} selectorName Name of selector for which all resolvers should
157
- * be invalidated.
158
- *
159
- * @return {{ type: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR', selectorName: string }} Action object.
160
- */
161
88
  function invalidateResolutionForStoreSelector(selectorName) {
162
89
  return {
163
- type: 'INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR',
90
+ type: "INVALIDATE_RESOLUTION_FOR_STORE_SELECTOR",
164
91
  selectorName
165
92
  };
166
93
  }
167
- //# sourceMappingURL=actions.js.map
94
+ // Annotate the CommonJS export names for ESM import in node:
95
+ 0 && (module.exports = {
96
+ failResolution,
97
+ failResolutions,
98
+ finishResolution,
99
+ finishResolutions,
100
+ invalidateResolution,
101
+ invalidateResolutionForStore,
102
+ invalidateResolutionForStoreSelector,
103
+ startResolution,
104
+ startResolutions
105
+ });
106
+ //# sourceMappingURL=actions.js.map
@@ -1 +1,7 @@
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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/redux-store/metadata/actions.js"],
4
+ "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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,SAAS,gBAAiB,cAAc,MAAO;AACrD,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAWO,SAAS,iBAAkB,cAAc,MAAO;AACtD,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAYO,SAAS,eAAgB,cAAc,MAAM,OAAQ;AAC3D,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAYO,SAAS,iBAAkB,cAAc,MAAO;AACtD,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAYO,SAAS,kBAAmB,cAAc,MAAO;AACvD,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAaO,SAAS,gBAAiB,cAAc,MAAM,QAAS;AAC7D,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAUO,SAAS,qBAAsB,cAAc,MAAO;AAC1D,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACD;AACD;AAQO,SAAS,+BAA+B;AAC9C,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAWO,SAAS,qCAAsC,cAAe;AACpE,SAAO;AAAA,IACN,MAAM;AAAA,IACN;AAAA,EACD;AACD;",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- //# sourceMappingURL=equivalent-key-map.d.js.map
2
+ //# sourceMappingURL=equivalent-key-map.d.js.map
@@ -1 +1,7 @@
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":"","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }