@wordpress/data 10.37.0 → 10.37.1-next.06ee73755.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 (181) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -1
  4. package/build/components/async-mode-provider/{context.js → context.cjs} +1 -1
  5. package/build/components/async-mode-provider/{index.js → index.cjs} +3 -3
  6. package/build/components/async-mode-provider/{use-async-mode.js → use-async-mode.cjs} +2 -2
  7. package/build/components/registry-provider/{context.js → context.cjs} +2 -2
  8. package/build/components/registry-provider/{index.js → index.cjs} +3 -3
  9. package/build/components/registry-provider/{use-registry.js → use-registry.cjs} +2 -2
  10. package/build/components/use-dispatch/{index.js → index.cjs} +3 -3
  11. package/build/components/use-dispatch/{use-dispatch-with-map.js → use-dispatch-with-map.cjs} +2 -2
  12. package/build/components/use-dispatch/{use-dispatch.js → use-dispatch.cjs} +2 -2
  13. package/build/components/use-select/{index.js → index.cjs} +6 -6
  14. package/build/components/use-select/index.cjs.map +7 -0
  15. package/build/components/with-dispatch/{index.js → index.cjs} +2 -2
  16. package/build/components/with-registry/{index.js → index.cjs} +2 -2
  17. package/build/components/with-select/{index.js → index.cjs} +2 -2
  18. package/build/{controls.js → controls.cjs} +2 -2
  19. package/build/{create-selector.js → create-selector.cjs} +1 -1
  20. package/build/{default-registry.js → default-registry.cjs} +2 -2
  21. package/build/{dispatch.js → dispatch.cjs} +2 -2
  22. package/build/{factory.js → factory.cjs} +1 -1
  23. package/build/{index.js → index.cjs} +22 -23
  24. package/build/index.cjs.map +7 -0
  25. package/build/{lock-unlock.js → lock-unlock.cjs} +1 -1
  26. package/build/plugins/{index.js → index.cjs} +2 -2
  27. package/build/plugins/persistence/{index.js → index.cjs} +3 -3
  28. package/build/plugins/persistence/storage/{default.js → default.cjs} +2 -2
  29. package/build/plugins/persistence/storage/{object.js → object.cjs} +1 -1
  30. package/build/{promise-middleware.js → promise-middleware.cjs} +1 -1
  31. package/build/redux-store/{combine-reducers.js → combine-reducers.cjs} +1 -1
  32. package/build/redux-store/{index.js → index.cjs} +17 -18
  33. package/build/redux-store/{index.js.map → index.cjs.map} +2 -2
  34. package/build/redux-store/metadata/{actions.js → actions.cjs} +1 -1
  35. package/build/redux-store/metadata/equivalent-key-map.d.cjs +2 -0
  36. package/build/redux-store/metadata/{reducer.js → reducer.cjs} +2 -2
  37. package/build/redux-store/metadata/{selectors.js → selectors.cjs} +3 -3
  38. package/build/redux-store/metadata/{utils.js → utils.cjs} +1 -1
  39. package/build/redux-store/{thunk-middleware.js → thunk-middleware.cjs} +1 -1
  40. package/build/{registry.js → registry.cjs} +5 -5
  41. package/build/{resolvers-cache-middleware.js → resolvers-cache-middleware.cjs} +1 -1
  42. package/build/{select.js → select.cjs} +2 -2
  43. package/build/store/{index.js → index.cjs} +1 -1
  44. package/build/{types.js → types.cjs} +1 -1
  45. package/build/types.cjs.map +7 -0
  46. package/build/utils/{emitter.js → emitter.cjs} +1 -1
  47. package/build-module/components/async-mode-provider/{context.js → context.mjs} +1 -1
  48. package/build-module/components/async-mode-provider/{index.js → index.mjs} +3 -3
  49. package/build-module/components/async-mode-provider/{use-async-mode.js → use-async-mode.mjs} +2 -2
  50. package/build-module/components/registry-provider/{context.js → context.mjs} +2 -2
  51. package/build-module/components/registry-provider/{index.js → index.mjs} +3 -3
  52. package/build-module/components/registry-provider/{use-registry.js → use-registry.mjs} +2 -2
  53. package/build-module/components/use-dispatch/index.mjs +8 -0
  54. package/build-module/components/use-dispatch/{use-dispatch-with-map.js → use-dispatch-with-map.mjs} +2 -2
  55. package/build-module/components/use-dispatch/{use-dispatch.js → use-dispatch.mjs} +2 -2
  56. package/build-module/components/use-select/{index.js → index.mjs} +4 -4
  57. package/build-module/components/use-select/index.mjs.map +7 -0
  58. package/build-module/components/with-dispatch/{index.js → index.mjs} +2 -2
  59. package/build-module/components/with-registry/{index.js → index.mjs} +2 -2
  60. package/build-module/components/with-select/{index.js → index.mjs} +2 -2
  61. package/build-module/{controls.js → controls.mjs} +2 -2
  62. package/build-module/{create-selector.js → create-selector.mjs} +1 -1
  63. package/build-module/{default-registry.js → default-registry.mjs} +2 -2
  64. package/build-module/{dispatch.js → dispatch.mjs} +2 -2
  65. package/build-module/{factory.js → factory.mjs} +1 -1
  66. package/build-module/{index.js → index.mjs} +21 -20
  67. package/build-module/index.mjs.map +7 -0
  68. package/build-module/{lock-unlock.js → lock-unlock.mjs} +1 -1
  69. package/build-module/plugins/index.mjs +6 -0
  70. package/build-module/plugins/persistence/{index.js → index.mjs} +3 -3
  71. package/build-module/plugins/persistence/storage/{default.js → default.mjs} +2 -2
  72. package/build-module/plugins/persistence/storage/{object.js → object.mjs} +1 -1
  73. package/build-module/{promise-middleware.js → promise-middleware.mjs} +1 -1
  74. package/build-module/redux-store/{combine-reducers.js → combine-reducers.mjs} +1 -1
  75. package/build-module/redux-store/{index.js → index.mjs} +17 -18
  76. package/build-module/redux-store/{index.js.map → index.mjs.map} +2 -2
  77. package/build-module/redux-store/metadata/{actions.js → actions.mjs} +1 -1
  78. package/build-module/redux-store/metadata/equivalent-key-map.d.mjs +1 -0
  79. package/build-module/redux-store/metadata/{reducer.js → reducer.mjs} +2 -2
  80. package/build-module/redux-store/metadata/{selectors.js → selectors.mjs} +3 -3
  81. package/build-module/redux-store/metadata/{utils.js → utils.mjs} +1 -1
  82. package/build-module/redux-store/{thunk-middleware.js → thunk-middleware.mjs} +1 -1
  83. package/build-module/{registry.js → registry.mjs} +5 -5
  84. package/build-module/{resolvers-cache-middleware.js → resolvers-cache-middleware.mjs} +1 -1
  85. package/build-module/{select.js → select.mjs} +2 -2
  86. package/build-module/store/{index.js → index.mjs} +1 -1
  87. package/build-module/types.mjs +1 -0
  88. package/build-module/utils/{emitter.js → emitter.mjs} +1 -1
  89. package/build-types/index.d.ts +4 -4
  90. package/build-types/index.d.ts.map +1 -1
  91. package/build-types/types.d.ts +21 -0
  92. package/build-types/types.d.ts.map +1 -1
  93. package/package.json +23 -13
  94. package/src/components/use-select/index.js +1 -1
  95. package/src/index.ts +9 -7
  96. package/src/redux-store/index.js +8 -12
  97. package/src/redux-store/test/index.js +137 -0
  98. package/src/types.ts +36 -0
  99. package/build/components/use-select/index.js.map +0 -7
  100. package/build/index.js.map +0 -7
  101. package/build/redux-store/metadata/equivalent-key-map.d.js +0 -2
  102. package/build/types.js.map +0 -7
  103. package/build-module/components/use-dispatch/index.js +0 -8
  104. package/build-module/components/use-select/index.js.map +0 -7
  105. package/build-module/index.js.map +0 -7
  106. package/build-module/plugins/index.js +0 -6
  107. package/build-module/redux-store/metadata/equivalent-key-map.d.js +0 -1
  108. package/build-module/types.js +0 -1
  109. package/tsconfig.json +0 -16
  110. package/tsconfig.tsbuildinfo +0 -1
  111. /package/build/components/async-mode-provider/{context.js.map → context.cjs.map} +0 -0
  112. /package/build/components/async-mode-provider/{index.js.map → index.cjs.map} +0 -0
  113. /package/build/components/async-mode-provider/{use-async-mode.js.map → use-async-mode.cjs.map} +0 -0
  114. /package/build/components/registry-provider/{context.js.map → context.cjs.map} +0 -0
  115. /package/build/components/registry-provider/{index.js.map → index.cjs.map} +0 -0
  116. /package/build/components/registry-provider/{use-registry.js.map → use-registry.cjs.map} +0 -0
  117. /package/build/components/use-dispatch/{index.js.map → index.cjs.map} +0 -0
  118. /package/build/components/use-dispatch/{use-dispatch-with-map.js.map → use-dispatch-with-map.cjs.map} +0 -0
  119. /package/build/components/use-dispatch/{use-dispatch.js.map → use-dispatch.cjs.map} +0 -0
  120. /package/build/components/with-dispatch/{index.js.map → index.cjs.map} +0 -0
  121. /package/build/components/with-registry/{index.js.map → index.cjs.map} +0 -0
  122. /package/build/components/with-select/{index.js.map → index.cjs.map} +0 -0
  123. /package/build/{controls.js.map → controls.cjs.map} +0 -0
  124. /package/build/{create-selector.js.map → create-selector.cjs.map} +0 -0
  125. /package/build/{default-registry.js.map → default-registry.cjs.map} +0 -0
  126. /package/build/{dispatch.js.map → dispatch.cjs.map} +0 -0
  127. /package/build/{factory.js.map → factory.cjs.map} +0 -0
  128. /package/build/{lock-unlock.js.map → lock-unlock.cjs.map} +0 -0
  129. /package/build/plugins/{index.js.map → index.cjs.map} +0 -0
  130. /package/build/plugins/persistence/{index.js.map → index.cjs.map} +0 -0
  131. /package/build/plugins/persistence/storage/{default.js.map → default.cjs.map} +0 -0
  132. /package/build/plugins/persistence/storage/{object.js.map → object.cjs.map} +0 -0
  133. /package/build/{promise-middleware.js.map → promise-middleware.cjs.map} +0 -0
  134. /package/build/redux-store/{combine-reducers.js.map → combine-reducers.cjs.map} +0 -0
  135. /package/build/redux-store/metadata/{actions.js.map → actions.cjs.map} +0 -0
  136. /package/build/redux-store/metadata/{equivalent-key-map.d.js.map → equivalent-key-map.d.cjs.map} +0 -0
  137. /package/build/redux-store/metadata/{reducer.js.map → reducer.cjs.map} +0 -0
  138. /package/build/redux-store/metadata/{selectors.js.map → selectors.cjs.map} +0 -0
  139. /package/build/redux-store/metadata/{utils.js.map → utils.cjs.map} +0 -0
  140. /package/build/redux-store/{thunk-middleware.js.map → thunk-middleware.cjs.map} +0 -0
  141. /package/build/{registry.js.map → registry.cjs.map} +0 -0
  142. /package/build/{resolvers-cache-middleware.js.map → resolvers-cache-middleware.cjs.map} +0 -0
  143. /package/build/{select.js.map → select.cjs.map} +0 -0
  144. /package/build/store/{index.js.map → index.cjs.map} +0 -0
  145. /package/build/utils/{emitter.js.map → emitter.cjs.map} +0 -0
  146. /package/build-module/components/async-mode-provider/{context.js.map → context.mjs.map} +0 -0
  147. /package/build-module/components/async-mode-provider/{index.js.map → index.mjs.map} +0 -0
  148. /package/build-module/components/async-mode-provider/{use-async-mode.js.map → use-async-mode.mjs.map} +0 -0
  149. /package/build-module/components/registry-provider/{context.js.map → context.mjs.map} +0 -0
  150. /package/build-module/components/registry-provider/{index.js.map → index.mjs.map} +0 -0
  151. /package/build-module/components/registry-provider/{use-registry.js.map → use-registry.mjs.map} +0 -0
  152. /package/build-module/components/use-dispatch/{index.js.map → index.mjs.map} +0 -0
  153. /package/build-module/components/use-dispatch/{use-dispatch-with-map.js.map → use-dispatch-with-map.mjs.map} +0 -0
  154. /package/build-module/components/use-dispatch/{use-dispatch.js.map → use-dispatch.mjs.map} +0 -0
  155. /package/build-module/components/with-dispatch/{index.js.map → index.mjs.map} +0 -0
  156. /package/build-module/components/with-registry/{index.js.map → index.mjs.map} +0 -0
  157. /package/build-module/components/with-select/{index.js.map → index.mjs.map} +0 -0
  158. /package/build-module/{controls.js.map → controls.mjs.map} +0 -0
  159. /package/build-module/{create-selector.js.map → create-selector.mjs.map} +0 -0
  160. /package/build-module/{default-registry.js.map → default-registry.mjs.map} +0 -0
  161. /package/build-module/{dispatch.js.map → dispatch.mjs.map} +0 -0
  162. /package/build-module/{factory.js.map → factory.mjs.map} +0 -0
  163. /package/build-module/{lock-unlock.js.map → lock-unlock.mjs.map} +0 -0
  164. /package/build-module/plugins/{index.js.map → index.mjs.map} +0 -0
  165. /package/build-module/plugins/persistence/{index.js.map → index.mjs.map} +0 -0
  166. /package/build-module/plugins/persistence/storage/{default.js.map → default.mjs.map} +0 -0
  167. /package/build-module/plugins/persistence/storage/{object.js.map → object.mjs.map} +0 -0
  168. /package/build-module/{promise-middleware.js.map → promise-middleware.mjs.map} +0 -0
  169. /package/build-module/redux-store/{combine-reducers.js.map → combine-reducers.mjs.map} +0 -0
  170. /package/build-module/redux-store/metadata/{actions.js.map → actions.mjs.map} +0 -0
  171. /package/build-module/redux-store/metadata/{equivalent-key-map.d.js.map → equivalent-key-map.d.mjs.map} +0 -0
  172. /package/build-module/redux-store/metadata/{reducer.js.map → reducer.mjs.map} +0 -0
  173. /package/build-module/redux-store/metadata/{selectors.js.map → selectors.mjs.map} +0 -0
  174. /package/build-module/redux-store/metadata/{utils.js.map → utils.mjs.map} +0 -0
  175. /package/build-module/redux-store/{thunk-middleware.js.map → thunk-middleware.mjs.map} +0 -0
  176. /package/build-module/{registry.js.map → registry.mjs.map} +0 -0
  177. /package/build-module/{resolvers-cache-middleware.js.map → resolvers-cache-middleware.mjs.map} +0 -0
  178. /package/build-module/{select.js.map → select.mjs.map} +0 -0
  179. /package/build-module/store/{index.js.map → index.mjs.map} +0 -0
  180. /package/build-module/{types.js.map → types.mjs.map} +0 -0
  181. /package/build-module/utils/{emitter.js.map → emitter.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- ## 10.37.0 (2025-12-23)
6
-
7
5
  ## 10.36.0 (2025-11-26)
8
6
 
9
7
  ## 10.35.0 (2025-11-12)
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2025 by the contributors
3
+ Copyright 2016-2026 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
package/README.md CHANGED
@@ -620,7 +620,7 @@ _Parameters_
620
620
 
621
621
  _Returns_
622
622
 
623
- - `Object`: Object containing the store's promise-wrapped selectors.
623
+ - `CurriedSelectorsResolveOf< T >`: Object containing the store's promise-wrapped selectors.
624
624
 
625
625
  ### select
626
626
 
@@ -36,4 +36,4 @@ var context_default = Provider;
36
36
  AsyncModeConsumer,
37
37
  Context
38
38
  });
39
- //# sourceMappingURL=context.js.map
39
+ //# sourceMappingURL=context.cjs.map
@@ -35,12 +35,12 @@ __export(async_mode_provider_exports, {
35
35
  useAsyncMode: () => import_use_async_mode.default
36
36
  });
37
37
  module.exports = __toCommonJS(async_mode_provider_exports);
38
- var import_use_async_mode = __toESM(require("./use-async-mode"));
39
- var import_context = __toESM(require("./context"));
38
+ var import_use_async_mode = __toESM(require("./use-async-mode.cjs"));
39
+ var import_context = __toESM(require("./context.cjs"));
40
40
  // Annotate the CommonJS export names for ESM import in node:
41
41
  0 && (module.exports = {
42
42
  AsyncModeConsumer,
43
43
  AsyncModeProvider,
44
44
  useAsyncMode
45
45
  });
46
- //# sourceMappingURL=index.js.map
46
+ //# sourceMappingURL=index.cjs.map
@@ -24,8 +24,8 @@ __export(use_async_mode_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(use_async_mode_exports);
26
26
  var import_element = require("@wordpress/element");
27
- var import_context = require("./context");
27
+ var import_context = require("./context.cjs");
28
28
  function useAsyncMode() {
29
29
  return (0, import_element.useContext)(import_context.Context);
30
30
  }
31
- //# sourceMappingURL=use-async-mode.js.map
31
+ //# sourceMappingURL=use-async-mode.cjs.map
@@ -36,7 +36,7 @@ __export(context_exports, {
36
36
  });
37
37
  module.exports = __toCommonJS(context_exports);
38
38
  var import_element = require("@wordpress/element");
39
- var import_default_registry = __toESM(require("../../default-registry"));
39
+ var import_default_registry = __toESM(require("../../default-registry.cjs"));
40
40
  var Context = (0, import_element.createContext)(import_default_registry.default);
41
41
  Context.displayName = "RegistryProviderContext";
42
42
  var { Consumer, Provider } = Context;
@@ -47,4 +47,4 @@ var context_default = Provider;
47
47
  Context,
48
48
  RegistryConsumer
49
49
  });
50
- //# sourceMappingURL=context.js.map
50
+ //# sourceMappingURL=context.cjs.map
@@ -35,12 +35,12 @@ __export(registry_provider_exports, {
35
35
  useRegistry: () => import_use_registry.default
36
36
  });
37
37
  module.exports = __toCommonJS(registry_provider_exports);
38
- var import_context = __toESM(require("./context"));
39
- var import_use_registry = __toESM(require("./use-registry"));
38
+ var import_context = __toESM(require("./context.cjs"));
39
+ var import_use_registry = __toESM(require("./use-registry.cjs"));
40
40
  // Annotate the CommonJS export names for ESM import in node:
41
41
  0 && (module.exports = {
42
42
  RegistryConsumer,
43
43
  RegistryProvider,
44
44
  useRegistry
45
45
  });
46
- //# sourceMappingURL=index.js.map
46
+ //# sourceMappingURL=index.cjs.map
@@ -24,8 +24,8 @@ __export(use_registry_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(use_registry_exports);
26
26
  var import_element = require("@wordpress/element");
27
- var import_context = require("./context");
27
+ var import_context = require("./context.cjs");
28
28
  function useRegistry() {
29
29
  return (0, import_element.useContext)(import_context.Context);
30
30
  }
31
- //# sourceMappingURL=use-registry.js.map
31
+ //# sourceMappingURL=use-registry.cjs.map
@@ -34,11 +34,11 @@ __export(use_dispatch_exports, {
34
34
  useDispatchWithMap: () => import_use_dispatch_with_map.default
35
35
  });
36
36
  module.exports = __toCommonJS(use_dispatch_exports);
37
- var import_use_dispatch = __toESM(require("./use-dispatch"));
38
- var import_use_dispatch_with_map = __toESM(require("./use-dispatch-with-map"));
37
+ var import_use_dispatch = __toESM(require("./use-dispatch.cjs"));
38
+ var import_use_dispatch_with_map = __toESM(require("./use-dispatch-with-map.cjs"));
39
39
  // Annotate the CommonJS export names for ESM import in node:
40
40
  0 && (module.exports = {
41
41
  useDispatch,
42
42
  useDispatchWithMap
43
43
  });
44
- //# sourceMappingURL=index.js.map
44
+ //# sourceMappingURL=index.cjs.map
@@ -35,7 +35,7 @@ __export(use_dispatch_with_map_exports, {
35
35
  module.exports = __toCommonJS(use_dispatch_with_map_exports);
36
36
  var import_element = require("@wordpress/element");
37
37
  var import_compose = require("@wordpress/compose");
38
- var import_use_registry = __toESM(require("../registry-provider/use-registry"));
38
+ var import_use_registry = __toESM(require("../registry-provider/use-registry.cjs"));
39
39
  var useDispatchWithMap = (dispatchMap, deps) => {
40
40
  const registry = (0, import_use_registry.default)();
41
41
  const currentDispatchMapRef = (0, import_element.useRef)(dispatchMap);
@@ -65,4 +65,4 @@ var useDispatchWithMap = (dispatchMap, deps) => {
65
65
  }, [registry, ...deps]);
66
66
  };
67
67
  var use_dispatch_with_map_default = useDispatchWithMap;
68
- //# sourceMappingURL=use-dispatch-with-map.js.map
68
+ //# sourceMappingURL=use-dispatch-with-map.cjs.map
@@ -33,10 +33,10 @@ __export(use_dispatch_exports, {
33
33
  default: () => use_dispatch_default
34
34
  });
35
35
  module.exports = __toCommonJS(use_dispatch_exports);
36
- var import_use_registry = __toESM(require("../registry-provider/use-registry"));
36
+ var import_use_registry = __toESM(require("../registry-provider/use-registry.cjs"));
37
37
  var useDispatch = (storeNameOrDescriptor) => {
38
38
  const { dispatch } = (0, import_use_registry.default)();
39
39
  return storeNameOrDescriptor === void 0 ? dispatch : dispatch(storeNameOrDescriptor);
40
40
  };
41
41
  var use_dispatch_default = useDispatch;
42
- //# sourceMappingURL=use-dispatch.js.map
42
+ //# sourceMappingURL=use-dispatch.cjs.map
@@ -36,9 +36,9 @@ __export(use_select_exports, {
36
36
  module.exports = __toCommonJS(use_select_exports);
37
37
  var import_priority_queue = require("@wordpress/priority-queue");
38
38
  var import_element = require("@wordpress/element");
39
- var import_is_shallow_equal = __toESM(require("@wordpress/is-shallow-equal"));
40
- var import_use_registry = __toESM(require("../registry-provider/use-registry"));
41
- var import_use_async_mode = __toESM(require("../async-mode-provider/use-async-mode"));
39
+ var import_is_shallow_equal = require("@wordpress/is-shallow-equal");
40
+ var import_use_registry = __toESM(require("../registry-provider/use-registry.cjs"));
41
+ var import_use_async_mode = __toESM(require("../async-mode-provider/use-async-mode.cjs"));
42
42
  var renderQueue = (0, import_priority_queue.createQueue)();
43
43
  function warnOnUnstableReference(a, b) {
44
44
  if (!a || !b) {
@@ -128,7 +128,7 @@ function Store(registry, suspense) {
128
128
  if (globalThis.SCRIPT_DEBUG) {
129
129
  if (!didWarnUnstableReference) {
130
130
  const secondMapResult = mapSelect(select, registry);
131
- if (!(0, import_is_shallow_equal.default)(mapResult, secondMapResult)) {
131
+ if (!(0, import_is_shallow_equal.isShallowEqual)(mapResult, secondMapResult)) {
132
132
  warnOnUnstableReference(mapResult, secondMapResult);
133
133
  didWarnUnstableReference = true;
134
134
  }
@@ -142,7 +142,7 @@ function Store(registry, suspense) {
142
142
  } else {
143
143
  subscriber.updateStores(listeningStores.current);
144
144
  }
145
- if (!(0, import_is_shallow_equal.default)(lastMapResult, mapResult)) {
145
+ if (!(0, import_is_shallow_equal.isShallowEqual)(lastMapResult, mapResult)) {
146
146
  lastMapResult = mapResult;
147
147
  }
148
148
  lastMapSelect = mapSelect;
@@ -196,4 +196,4 @@ function useSuspenseSelect(mapSelect, deps) {
196
196
  0 && (module.exports = {
197
197
  useSuspenseSelect
198
198
  });
199
- //# sourceMappingURL=index.js.map
199
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/use-select/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createQueue } from '@wordpress/priority-queue';\nimport {\n\tuseRef,\n\tuseCallback,\n\tuseMemo,\n\tuseSyncExternalStore,\n\tuseDebugValue,\n} from '@wordpress/element';\nimport { isShallowEqual } from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport useRegistry from '../registry-provider/use-registry';\nimport useAsyncMode from '../async-mode-provider/use-async-mode';\n\nconst renderQueue = createQueue();\n\nfunction warnOnUnstableReference( a, b ) {\n\tif ( ! a || ! b ) {\n\t\treturn;\n\t}\n\n\tconst keys =\n\t\ttypeof a === 'object' && typeof b === 'object'\n\t\t\t? Object.keys( a ).filter( ( k ) => a[ k ] !== b[ k ] )\n\t\t\t: [];\n\n\t// eslint-disable-next-line no-console\n\tconsole.warn(\n\t\t'The `useSelect` hook returns different values when called with the same state and parameters.\\n' +\n\t\t\t'This can lead to unnecessary re-renders and performance issues if not fixed.\\n\\n' +\n\t\t\t'Non-equal value keys: %s\\n\\n',\n\t\tkeys.join( ', ' )\n\t);\n}\n\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/** @typedef {import('../../types').MapSelect} MapSelect */\n/**\n * @typedef {import('../../types').UseSelectReturn<T>} UseSelectReturn\n * @template {MapSelect|StoreDescriptor<any>} T\n */\n\nfunction Store( registry, suspense ) {\n\tconst select = suspense ? registry.suspendSelect : registry.select;\n\tconst queueContext = {};\n\tlet lastMapSelect;\n\tlet lastMapResult;\n\tlet lastMapResultValid = false;\n\tlet lastIsAsync;\n\tlet subscriber;\n\tlet didWarnUnstableReference;\n\tconst storeStatesOnMount = new Map();\n\n\tfunction getStoreState( name ) {\n\t\t// If there's no store property (custom generic store), return an empty\n\t\t// object. When comparing the state, the empty objects will cause the\n\t\t// equality check to fail, setting `lastMapResultValid` to false.\n\t\treturn registry.stores[ name ]?.store?.getState?.() ?? {};\n\t}\n\n\tconst createSubscriber = ( stores ) => {\n\t\t// The set of stores the `subscribe` function is supposed to subscribe to. Here it is\n\t\t// initialized, and then the `updateStores` function can add new stores to it.\n\t\tconst activeStores = [ ...stores ];\n\n\t\t// The `subscribe` function, which is passed to the `useSyncExternalStore` hook, could\n\t\t// be called multiple times to establish multiple subscriptions. That's why we need to\n\t\t// keep a set of active subscriptions;\n\t\tconst activeSubscriptions = new Set();\n\n\t\tfunction subscribe( listener ) {\n\t\t\t// Maybe invalidate the value right after subscription was created.\n\t\t\t// React will call `getValue` after subscribing, to detect store\n\t\t\t// updates that happened in the interval between the `getValue` call\n\t\t\t// during render and creating the subscription, which is slightly\n\t\t\t// delayed. We need to ensure that this second `getValue` call will\n\t\t\t// compute a fresh value only if any of the store states have\n\t\t\t// changed in the meantime.\n\t\t\tif ( lastMapResultValid ) {\n\t\t\t\tfor ( const name of activeStores ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tstoreStatesOnMount.get( name ) !== getStoreState( name )\n\t\t\t\t\t) {\n\t\t\t\t\t\tlastMapResultValid = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstoreStatesOnMount.clear();\n\n\t\t\tconst onStoreChange = () => {\n\t\t\t\t// Invalidate the value on store update, so that a fresh value is computed.\n\t\t\t\tlastMapResultValid = false;\n\t\t\t\tlistener();\n\t\t\t};\n\n\t\t\tconst onChange = () => {\n\t\t\t\tif ( lastIsAsync ) {\n\t\t\t\t\trenderQueue.add( queueContext, onStoreChange );\n\t\t\t\t} else {\n\t\t\t\t\tonStoreChange();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst unsubs = [];\n\t\t\tfunction subscribeStore( storeName ) {\n\t\t\t\tunsubs.push( registry.subscribe( onChange, storeName ) );\n\t\t\t}\n\n\t\t\tfor ( const storeName of activeStores ) {\n\t\t\t\tsubscribeStore( storeName );\n\t\t\t}\n\n\t\t\tactiveSubscriptions.add( subscribeStore );\n\n\t\t\treturn () => {\n\t\t\t\tactiveSubscriptions.delete( subscribeStore );\n\n\t\t\t\tfor ( const unsub of unsubs.values() ) {\n\t\t\t\t\t// The return value of the subscribe function could be undefined if the store is a custom generic store.\n\t\t\t\t\tunsub?.();\n\t\t\t\t}\n\t\t\t\t// Cancel existing store updates that were already scheduled.\n\t\t\t\trenderQueue.cancel( queueContext );\n\t\t\t};\n\t\t}\n\n\t\t// Check if `newStores` contains some stores we're not subscribed to yet, and add them.\n\t\tfunction updateStores( newStores ) {\n\t\t\tfor ( const newStore of newStores ) {\n\t\t\t\tif ( activeStores.includes( newStore ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// New `subscribe` calls will subscribe to `newStore`, too.\n\t\t\t\tactiveStores.push( newStore );\n\n\t\t\t\t// Add `newStore` to existing subscriptions.\n\t\t\t\tfor ( const subscription of activeSubscriptions ) {\n\t\t\t\t\tsubscription( newStore );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn { subscribe, updateStores };\n\t};\n\n\treturn ( mapSelect, isAsync ) => {\n\t\tfunction updateValue() {\n\t\t\t// If the last value is valid, and the `mapSelect` callback hasn't changed,\n\t\t\t// then we can safely return the cached value. The value can change only on\n\t\t\t// store update, and in that case value will be invalidated by the listener.\n\t\t\tif ( lastMapResultValid && mapSelect === lastMapSelect ) {\n\t\t\t\treturn lastMapResult;\n\t\t\t}\n\n\t\t\tconst listeningStores = { current: null };\n\t\t\tconst mapResult = registry.__unstableMarkListeningStores(\n\t\t\t\t() => mapSelect( select, registry ),\n\t\t\t\tlisteningStores\n\t\t\t);\n\n\t\t\tif ( globalThis.SCRIPT_DEBUG ) {\n\t\t\t\tif ( ! didWarnUnstableReference ) {\n\t\t\t\t\tconst secondMapResult = mapSelect( select, registry );\n\t\t\t\t\tif ( ! isShallowEqual( mapResult, secondMapResult ) ) {\n\t\t\t\t\t\twarnOnUnstableReference( mapResult, secondMapResult );\n\t\t\t\t\t\tdidWarnUnstableReference = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! subscriber ) {\n\t\t\t\tfor ( const name of listeningStores.current ) {\n\t\t\t\t\tstoreStatesOnMount.set( name, getStoreState( name ) );\n\t\t\t\t}\n\t\t\t\tsubscriber = createSubscriber( listeningStores.current );\n\t\t\t} else {\n\t\t\t\tsubscriber.updateStores( listeningStores.current );\n\t\t\t}\n\n\t\t\t// If the new value is shallow-equal to the old one, keep the old one so\n\t\t\t// that we don't trigger unwanted updates that do a `===` check.\n\t\t\tif ( ! isShallowEqual( lastMapResult, mapResult ) ) {\n\t\t\t\tlastMapResult = mapResult;\n\t\t\t}\n\t\t\tlastMapSelect = mapSelect;\n\t\t\tlastMapResultValid = true;\n\t\t}\n\n\t\tfunction getValue() {\n\t\t\t// Update the value in case it's been invalidated or `mapSelect` has changed.\n\t\t\tupdateValue();\n\t\t\treturn lastMapResult;\n\t\t}\n\n\t\t// When transitioning from async to sync mode, cancel existing store updates\n\t\t// that have been scheduled, and invalidate the value so that it's freshly\n\t\t// computed. It might have been changed by the update we just cancelled.\n\t\tif ( lastIsAsync && ! isAsync ) {\n\t\t\tlastMapResultValid = false;\n\t\t\trenderQueue.cancel( queueContext );\n\t\t}\n\n\t\tupdateValue();\n\n\t\tlastIsAsync = isAsync;\n\n\t\t// Return a pair of functions that can be passed to `useSyncExternalStore`.\n\t\treturn { subscribe: subscriber.subscribe, getValue };\n\t};\n}\n\nfunction _useStaticSelect( storeName ) {\n\treturn useRegistry().select( storeName );\n}\n\nfunction _useMappingSelect( suspense, mapSelect, deps ) {\n\tconst registry = useRegistry();\n\tconst isAsync = useAsyncMode();\n\tconst store = useMemo(\n\t\t() => Store( registry, suspense ),\n\t\t[ registry, suspense ]\n\t);\n\n\t// These are \"pass-through\" dependencies from the parent hook,\n\t// and the parent should catch any hook rule violations.\n\tconst selector = useCallback( mapSelect, deps );\n\tconst { subscribe, getValue } = store( selector, isAsync );\n\tconst result = useSyncExternalStore( subscribe, getValue, getValue );\n\tuseDebugValue( result );\n\treturn result;\n}\n\n/**\n * Custom react hook for retrieving props from registered selectors.\n *\n * In general, this custom React hook follows the\n * [rules of hooks](https://react.dev/reference/rules/rules-of-hooks).\n *\n * @template {MapSelect | StoreDescriptor<any>} T\n * @param {T} mapSelect Function called on every state change. The returned value is\n * exposed to the component implementing this hook. The function\n * receives the `registry.select` method on the first argument\n * and the `registry` on the second argument.\n * When a store key is passed, all selectors for the store will be\n * returned. This is only meant for usage of these selectors in event\n * callbacks, not for data needed to create the element tree.\n * @param {unknown[]=} deps If provided, this memoizes the mapSelect so the same `mapSelect` is\n * invoked on every state change unless the dependencies change.\n *\n * @example\n * ```js\n * import { useSelect } from '@wordpress/data';\n * import { store as myCustomStore } from 'my-custom-store';\n *\n * function HammerPriceDisplay( { currency } ) {\n * const price = useSelect( ( select ) => {\n * return select( myCustomStore ).getPrice( 'hammer', currency );\n * }, [ currency ] );\n * return new Intl.NumberFormat( 'en-US', {\n * style: 'currency',\n * currency,\n * } ).format( price );\n * }\n *\n * // Rendered in the application:\n * // <HammerPriceDisplay currency=\"USD\" />\n * ```\n *\n * In the above example, when `HammerPriceDisplay` is rendered into an\n * application, the price will be retrieved from the store state using the\n * `mapSelect` callback on `useSelect`. If the currency prop changes then\n * any price in the state for that currency is retrieved. If the currency prop\n * doesn't change and other props are passed in that do change, the price will\n * not change because the dependency is just the currency.\n *\n * When data is only used in an event callback, the data should not be retrieved\n * on render, so it may be useful to get the selectors function instead.\n *\n * **Don't use `useSelect` this way when calling the selectors in the render\n * function because your component won't re-render on a data change.**\n *\n * ```js\n * import { useSelect } from '@wordpress/data';\n * import { store as myCustomStore } from 'my-custom-store';\n *\n * function Paste( { children } ) {\n * const { getSettings } = useSelect( myCustomStore );\n * function onPaste() {\n * // Do something with the settings.\n * const settings = getSettings();\n * }\n * return <div onPaste={ onPaste }>{ children }</div>;\n * }\n * ```\n * @return {UseSelectReturn<T>} A custom react hook.\n */\nexport default function useSelect( mapSelect, deps ) {\n\t// On initial call, on mount, determine the mode of this `useSelect` call\n\t// and then never allow it to change on subsequent updates.\n\tconst staticSelectMode = typeof mapSelect !== 'function';\n\tconst staticSelectModeRef = useRef( staticSelectMode );\n\n\tif ( staticSelectMode !== staticSelectModeRef.current ) {\n\t\tconst prevMode = staticSelectModeRef.current ? 'static' : 'mapping';\n\t\tconst nextMode = staticSelectMode ? 'static' : 'mapping';\n\t\tthrow new Error(\n\t\t\t`Switching useSelect from ${ prevMode } to ${ nextMode } is not allowed`\n\t\t);\n\t}\n\n\t// `staticSelectMode` is not allowed to change during the hook instance's,\n\t// lifetime, so the rules of hooks are not really violated.\n\treturn staticSelectMode\n\t\t? _useStaticSelect( mapSelect )\n\t\t: _useMappingSelect( false, mapSelect, deps );\n}\n\n/**\n * A variant of the `useSelect` hook that has the same API, but is a compatible\n * Suspense-enabled data source.\n *\n * @template {MapSelect} T\n * @param {T} mapSelect Function called on every state change. The\n * returned value is exposed to the component\n * using this hook. The function receives the\n * `registry.suspendSelect` method as the first\n * argument and the `registry` as the second one.\n * @param {Array} deps A dependency array used to memoize the `mapSelect`\n * so that the same `mapSelect` is invoked on every\n * state change unless the dependencies change.\n *\n * @throws {Promise} A suspense Promise that is thrown if any of the called\n * selectors is in an unresolved state.\n *\n * @return {ReturnType<T>} Data object returned by the `mapSelect` function.\n */\nexport function useSuspenseSelect( mapSelect, deps ) {\n\treturn _useMappingSelect( true, mapSelect, deps );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,4BAA4B;AAC5B,qBAMO;AACP,8BAA+B;AAK/B,0BAAwB;AACxB,4BAAyB;AAEzB,IAAM,kBAAc,mCAAY;AAEhC,SAAS,wBAAyB,GAAG,GAAI;AACxC,MAAK,CAAE,KAAK,CAAE,GAAI;AACjB;AAAA,EACD;AAEA,QAAM,OACL,OAAO,MAAM,YAAY,OAAO,MAAM,WACnC,OAAO,KAAM,CAAE,EAAE,OAAQ,CAAE,MAAO,EAAG,CAAE,MAAM,EAAG,CAAE,CAAE,IACpD,CAAC;AAGL,UAAQ;AAAA,IACP;AAAA,IAGA,KAAK,KAAM,IAAK;AAAA,EACjB;AACD;AAkBA,SAAS,MAAO,UAAU,UAAW;AACpC,QAAM,SAAS,WAAW,SAAS,gBAAgB,SAAS;AAC5D,QAAM,eAAe,CAAC;AACtB,MAAI;AACJ,MAAI;AACJ,MAAI,qBAAqB;AACzB,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,QAAM,qBAAqB,oBAAI,IAAI;AAEnC,WAAS,cAAe,MAAO;AAI9B,WAAO,SAAS,OAAQ,IAAK,GAAG,OAAO,WAAW,KAAK,CAAC;AAAA,EACzD;AAEA,QAAM,mBAAmB,CAAE,WAAY;AAGtC,UAAM,eAAe,CAAE,GAAG,MAAO;AAKjC,UAAM,sBAAsB,oBAAI,IAAI;AAEpC,aAAS,UAAW,UAAW;AAQ9B,UAAK,oBAAqB;AACzB,mBAAY,QAAQ,cAAe;AAClC,cACC,mBAAmB,IAAK,IAAK,MAAM,cAAe,IAAK,GACtD;AACD,iCAAqB;AAAA,UACtB;AAAA,QACD;AAAA,MACD;AAEA,yBAAmB,MAAM;AAEzB,YAAM,gBAAgB,MAAM;AAE3B,6BAAqB;AACrB,iBAAS;AAAA,MACV;AAEA,YAAM,WAAW,MAAM;AACtB,YAAK,aAAc;AAClB,sBAAY,IAAK,cAAc,aAAc;AAAA,QAC9C,OAAO;AACN,wBAAc;AAAA,QACf;AAAA,MACD;AAEA,YAAM,SAAS,CAAC;AAChB,eAAS,eAAgB,WAAY;AACpC,eAAO,KAAM,SAAS,UAAW,UAAU,SAAU,CAAE;AAAA,MACxD;AAEA,iBAAY,aAAa,cAAe;AACvC,uBAAgB,SAAU;AAAA,MAC3B;AAEA,0BAAoB,IAAK,cAAe;AAExC,aAAO,MAAM;AACZ,4BAAoB,OAAQ,cAAe;AAE3C,mBAAY,SAAS,OAAO,OAAO,GAAI;AAEtC,kBAAQ;AAAA,QACT;AAEA,oBAAY,OAAQ,YAAa;AAAA,MAClC;AAAA,IACD;AAGA,aAAS,aAAc,WAAY;AAClC,iBAAY,YAAY,WAAY;AACnC,YAAK,aAAa,SAAU,QAAS,GAAI;AACxC;AAAA,QACD;AAGA,qBAAa,KAAM,QAAS;AAG5B,mBAAY,gBAAgB,qBAAsB;AACjD,uBAAc,QAAS;AAAA,QACxB;AAAA,MACD;AAAA,IACD;AAEA,WAAO,EAAE,WAAW,aAAa;AAAA,EAClC;AAEA,SAAO,CAAE,WAAW,YAAa;AAChC,aAAS,cAAc;AAItB,UAAK,sBAAsB,cAAc,eAAgB;AACxD,eAAO;AAAA,MACR;AAEA,YAAM,kBAAkB,EAAE,SAAS,KAAK;AACxC,YAAM,YAAY,SAAS;AAAA,QAC1B,MAAM,UAAW,QAAQ,QAAS;AAAA,QAClC;AAAA,MACD;AAEA,UAAK,WAAW,cAAe;AAC9B,YAAK,CAAE,0BAA2B;AACjC,gBAAM,kBAAkB,UAAW,QAAQ,QAAS;AACpD,cAAK,KAAE,wCAAgB,WAAW,eAAgB,GAAI;AACrD,oCAAyB,WAAW,eAAgB;AACpD,uCAA2B;AAAA,UAC5B;AAAA,QACD;AAAA,MACD;AAEA,UAAK,CAAE,YAAa;AACnB,mBAAY,QAAQ,gBAAgB,SAAU;AAC7C,6BAAmB,IAAK,MAAM,cAAe,IAAK,CAAE;AAAA,QACrD;AACA,qBAAa,iBAAkB,gBAAgB,OAAQ;AAAA,MACxD,OAAO;AACN,mBAAW,aAAc,gBAAgB,OAAQ;AAAA,MAClD;AAIA,UAAK,KAAE,wCAAgB,eAAe,SAAU,GAAI;AACnD,wBAAgB;AAAA,MACjB;AACA,sBAAgB;AAChB,2BAAqB;AAAA,IACtB;AAEA,aAAS,WAAW;AAEnB,kBAAY;AACZ,aAAO;AAAA,IACR;AAKA,QAAK,eAAe,CAAE,SAAU;AAC/B,2BAAqB;AACrB,kBAAY,OAAQ,YAAa;AAAA,IAClC;AAEA,gBAAY;AAEZ,kBAAc;AAGd,WAAO,EAAE,WAAW,WAAW,WAAW,SAAS;AAAA,EACpD;AACD;AAEA,SAAS,iBAAkB,WAAY;AACtC,aAAO,oBAAAA,SAAY,EAAE,OAAQ,SAAU;AACxC;AAEA,SAAS,kBAAmB,UAAU,WAAW,MAAO;AACvD,QAAM,eAAW,oBAAAA,SAAY;AAC7B,QAAM,cAAU,sBAAAC,SAAa;AAC7B,QAAM,YAAQ;AAAA,IACb,MAAM,MAAO,UAAU,QAAS;AAAA,IAChC,CAAE,UAAU,QAAS;AAAA,EACtB;AAIA,QAAM,eAAW,4BAAa,WAAW,IAAK;AAC9C,QAAM,EAAE,WAAW,SAAS,IAAI,MAAO,UAAU,OAAQ;AACzD,QAAM,aAAS,qCAAsB,WAAW,UAAU,QAAS;AACnE,oCAAe,MAAO;AACtB,SAAO;AACR;AAkEe,SAAR,UAA4B,WAAW,MAAO;AAGpD,QAAM,mBAAmB,OAAO,cAAc;AAC9C,QAAM,0BAAsB,uBAAQ,gBAAiB;AAErD,MAAK,qBAAqB,oBAAoB,SAAU;AACvD,UAAM,WAAW,oBAAoB,UAAU,WAAW;AAC1D,UAAM,WAAW,mBAAmB,WAAW;AAC/C,UAAM,IAAI;AAAA,MACT,4BAA6B,QAAS,OAAQ,QAAS;AAAA,IACxD;AAAA,EACD;AAIA,SAAO,mBACJ,iBAAkB,SAAU,IAC5B,kBAAmB,OAAO,WAAW,IAAK;AAC9C;AAqBO,SAAS,kBAAmB,WAAW,MAAO;AACpD,SAAO,kBAAmB,MAAM,WAAW,IAAK;AACjD;",
6
+ "names": ["useRegistry", "useAsyncMode"]
7
+ }
@@ -24,7 +24,7 @@ __export(with_dispatch_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(with_dispatch_exports);
26
26
  var import_compose = require("@wordpress/compose");
27
- var import_use_dispatch = require("../use-dispatch");
27
+ var import_use_dispatch = require("../use-dispatch/index.cjs");
28
28
  var import_jsx_runtime = require("react/jsx-runtime");
29
29
  var withDispatch = (mapDispatchToProps) => (0, import_compose.createHigherOrderComponent)(
30
30
  (WrappedComponent) => (ownProps) => {
@@ -35,4 +35,4 @@ var withDispatch = (mapDispatchToProps) => (0, import_compose.createHigherOrderC
35
35
  "withDispatch"
36
36
  );
37
37
  var with_dispatch_default = withDispatch;
38
- //# sourceMappingURL=index.js.map
38
+ //# sourceMappingURL=index.cjs.map
@@ -24,11 +24,11 @@ __export(with_registry_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(with_registry_exports);
26
26
  var import_compose = require("@wordpress/compose");
27
- var import_registry_provider = require("../registry-provider");
27
+ var import_registry_provider = require("../registry-provider/index.cjs");
28
28
  var import_jsx_runtime = require("react/jsx-runtime");
29
29
  var withRegistry = (0, import_compose.createHigherOrderComponent)(
30
30
  (OriginalComponent) => (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_registry_provider.RegistryConsumer, { children: (registry) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OriginalComponent, { ...props, registry }) }),
31
31
  "withRegistry"
32
32
  );
33
33
  var with_registry_default = withRegistry;
34
- //# sourceMappingURL=index.js.map
34
+ //# sourceMappingURL=index.cjs.map
@@ -34,7 +34,7 @@ __export(with_select_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(with_select_exports);
36
36
  var import_compose = require("@wordpress/compose");
37
- var import_use_select = __toESM(require("../use-select"));
37
+ var import_use_select = __toESM(require("../use-select/index.cjs"));
38
38
  var import_jsx_runtime = require("react/jsx-runtime");
39
39
  var withSelect = (mapSelectToProps) => (0, import_compose.createHigherOrderComponent)(
40
40
  (WrappedComponent) => (0, import_compose.pure)((ownProps) => {
@@ -45,4 +45,4 @@ var withSelect = (mapSelectToProps) => (0, import_compose.createHigherOrderCompo
45
45
  "withSelect"
46
46
  );
47
47
  var with_select_default = withSelect;
48
- //# sourceMappingURL=index.js.map
48
+ //# sourceMappingURL=index.cjs.map
@@ -24,7 +24,7 @@ __export(controls_exports, {
24
24
  controls: () => controls
25
25
  });
26
26
  module.exports = __toCommonJS(controls_exports);
27
- var import_factory = require("./factory");
27
+ var import_factory = require("./factory.cjs");
28
28
  var SELECT = "@@data/SELECT";
29
29
  var RESOLVE_SELECT = "@@data/RESOLVE_SELECT";
30
30
  var DISPATCH = "@@data/DISPATCH";
@@ -77,4 +77,4 @@ var builtinControls = {
77
77
  builtinControls,
78
78
  controls
79
79
  });
80
- //# sourceMappingURL=controls.js.map
80
+ //# sourceMappingURL=controls.cjs.map
@@ -38,4 +38,4 @@ var import_rememo = __toESM(require("rememo"));
38
38
  0 && (module.exports = {
39
39
  createSelector
40
40
  });
41
- //# sourceMappingURL=create-selector.js.map
41
+ //# sourceMappingURL=create-selector.cjs.map
@@ -23,6 +23,6 @@ __export(default_registry_exports, {
23
23
  default: () => default_registry_default
24
24
  });
25
25
  module.exports = __toCommonJS(default_registry_exports);
26
- var import_registry = require("./registry");
26
+ var import_registry = require("./registry.cjs");
27
27
  var default_registry_default = (0, import_registry.createRegistry)();
28
- //# sourceMappingURL=default-registry.js.map
28
+ //# sourceMappingURL=default-registry.cjs.map
@@ -33,7 +33,7 @@ __export(dispatch_exports, {
33
33
  dispatch: () => dispatch
34
34
  });
35
35
  module.exports = __toCommonJS(dispatch_exports);
36
- var import_default_registry = __toESM(require("./default-registry"));
36
+ var import_default_registry = __toESM(require("./default-registry.cjs"));
37
37
  function dispatch(storeNameOrDescriptor) {
38
38
  return import_default_registry.default.dispatch(storeNameOrDescriptor);
39
39
  }
@@ -41,4 +41,4 @@ function dispatch(storeNameOrDescriptor) {
41
41
  0 && (module.exports = {
42
42
  dispatch
43
43
  });
44
- //# sourceMappingURL=dispatch.js.map
44
+ //# sourceMappingURL=dispatch.cjs.map
@@ -46,4 +46,4 @@ function createRegistryControl(registryControl) {
46
46
  createRegistryControl,
47
47
  createRegistrySelector
48
48
  });
49
- //# sourceMappingURL=factory.js.map
49
+ //# sourceMappingURL=factory.cjs.map
@@ -17,7 +17,6 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
21
  // If the importer is in node compatibility mode or this is not an ESM
23
22
  // file that has been converted to a CommonJS file using a Babel-
@@ -60,27 +59,28 @@ __export(index_exports, {
60
59
  withSelect: () => import_with_select.default
61
60
  });
62
61
  module.exports = __toCommonJS(index_exports);
63
- var import_default_registry = __toESM(require("./default-registry"));
64
- var plugins = __toESM(require("./plugins"));
65
- var import_redux_store = require("./redux-store");
66
- var import_with_select = __toESM(require("./components/with-select"));
67
- var import_with_dispatch = __toESM(require("./components/with-dispatch"));
68
- var import_with_registry = __toESM(require("./components/with-registry"));
69
- var import_registry_provider = require("./components/registry-provider");
70
- var import_use_select = __toESM(require("./components/use-select"));
71
- var import_use_dispatch = require("./components/use-dispatch");
72
- var import_async_mode_provider = require("./components/async-mode-provider");
73
- var import_registry = require("./registry");
74
- var import_factory = require("./factory");
75
- var import_create_selector = require("./create-selector");
76
- var import_controls = require("./controls");
77
- var import_redux_store2 = __toESM(require("./redux-store"));
78
- var import_dispatch = require("./dispatch");
79
- var import_select = require("./select");
80
- __reExport(index_exports, require("./types"), module.exports);
62
+ var import_default_registry = __toESM(require("./default-registry.cjs"));
63
+ var plugins = __toESM(require("./plugins/index.cjs"));
64
+ var import_redux_store = require("./redux-store/index.cjs");
65
+ var import_with_select = __toESM(require("./components/with-select/index.cjs"));
66
+ var import_with_dispatch = __toESM(require("./components/with-dispatch/index.cjs"));
67
+ var import_with_registry = __toESM(require("./components/with-registry/index.cjs"));
68
+ var import_registry_provider = require("./components/registry-provider/index.cjs");
69
+ var import_use_select = __toESM(require("./components/use-select/index.cjs"));
70
+ var import_use_dispatch = require("./components/use-dispatch/index.cjs");
71
+ var import_async_mode_provider = require("./components/async-mode-provider/index.cjs");
72
+ var import_registry = require("./registry.cjs");
73
+ var import_factory = require("./factory.cjs");
74
+ var import_create_selector = require("./create-selector.cjs");
75
+ var import_controls = require("./controls.cjs");
76
+ var import_redux_store2 = __toESM(require("./redux-store/index.cjs"));
77
+ var import_dispatch = require("./dispatch.cjs");
78
+ var import_select = require("./select.cjs");
81
79
  var defaultRegistry = import_default_registry.default;
82
80
  var combineReducers = import_redux_store.combineReducers;
83
- var resolveSelect = (storeNameOrDescriptor) => defaultRegistry.resolveSelect(storeNameOrDescriptor);
81
+ function resolveSelect(storeNameOrDescriptor) {
82
+ return defaultRegistry.resolveSelect(storeNameOrDescriptor);
83
+ }
84
84
  var suspendSelect = (storeNameOrDescriptor) => defaultRegistry.suspendSelect(storeNameOrDescriptor);
85
85
  var subscribe = (listener, storeNameOrDescriptor) => defaultRegistry.subscribe(listener, storeNameOrDescriptor);
86
86
  var registerGenericStore = defaultRegistry.registerGenericStore;
@@ -115,7 +115,6 @@ var register = (store) => defaultRegistry.register(store);
115
115
  useSuspenseSelect,
116
116
  withDispatch,
117
117
  withRegistry,
118
- withSelect,
119
- ...require("./types")
118
+ withSelect
120
119
  });
121
- //# sourceMappingURL=index.js.map
120
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport defaultRegistryUntyped from './default-registry';\nimport * as plugins from './plugins';\nimport { combineReducers as combineReducersModule } from './redux-store';\n\nimport type {\n\tStoreDescriptor,\n\tReduxStoreConfig,\n\tcombineReducers as CombineReducers,\n\tAnyConfig,\n\tCurriedSelectorsResolveOf,\n} from './types';\n\n// The runtime registry is created from the JavaScript implementation in `registry.js`.\n// Its JSDoc type (`WPDataRegistry`) doesn't include some newer methods like\n// `resolveSelect` or `suspendSelect`, so we widen the type here for the typed\n// exports in this module.\nconst defaultRegistry: any = defaultRegistryUntyped;\n\nexport { default as withSelect } from './components/with-select';\nexport { default as withDispatch } from './components/with-dispatch';\nexport { default as withRegistry } from './components/with-registry';\nexport {\n\tRegistryProvider,\n\tRegistryConsumer,\n\tuseRegistry,\n} from './components/registry-provider';\nexport {\n\tdefault as useSelect,\n\tuseSuspenseSelect,\n} from './components/use-select';\nexport { useDispatch } from './components/use-dispatch';\nexport { AsyncModeProvider } from './components/async-mode-provider';\nexport { createRegistry } from './registry';\nexport { createRegistrySelector, createRegistryControl } from './factory';\nexport { createSelector } from './create-selector';\nexport { controls } from './controls';\nexport { default as createReduxStore } from './redux-store';\nexport { dispatch } from './dispatch';\nexport { select } from './select';\n\nexport type * from './types';\n\n/**\n * Object of available plugins to use with a registry.\n *\n * @see [use](#use)\n */\nexport { plugins };\n\n/**\n * The combineReducers helper function turns an object whose values are different\n * reducing functions into a single reducing function you can pass to registerReducer.\n *\n * @type {import('./types').combineReducers}\n * @param {Object} reducers An object whose values correspond to different reducing\n * functions that need to be combined into one.\n *\n * @example\n * ```js\n * import { combineReducers, createReduxStore, register } from '@wordpress/data';\n *\n * const prices = ( state = {}, action ) => {\n * \treturn action.type === 'SET_PRICE' ?\n * \t\t{\n * \t\t\t...state,\n * \t\t\t[ action.item ]: action.price,\n * \t\t} :\n * \t\tstate;\n * };\n *\n * const discountPercent = ( state = 0, action ) => {\n * \treturn action.type === 'START_SALE' ?\n * \t\taction.discountPercent :\n * \t\tstate;\n * };\n *\n * const store = createReduxStore( 'my-shop', {\n * \treducer: combineReducers( {\n * \t\tprices,\n * \t\tdiscountPercent,\n * \t} ),\n * } );\n * register( store );\n * ```\n *\n * @return {Function} A reducer that invokes every reducer inside the reducers\n * object, and constructs a state object with the same shape.\n */\nexport const combineReducers =\n\tcombineReducersModule as unknown as CombineReducers;\n\n/**\n * Given a store descriptor, returns an object containing the store's selectors\n * pre-bound to state so that you only need to supply additional arguments, and\n * modified so that they return promises that resolve to their eventual values,\n * after any resolvers have ran.\n *\n * @param {StoreDescriptor|string} storeNameOrDescriptor The store descriptor. The legacy calling\n * convention of passing the store name is\n * also supported.\n *\n * @example\n * ```js\n * import { resolveSelect } from '@wordpress/data';\n * import { store as myCustomStore } from 'my-custom-store';\n *\n * resolveSelect( myCustomStore ).getPrice( 'hammer' ).then(console.log)\n * ```\n *\n * @return Object containing the store's promise-wrapped selectors.\n */\nexport function resolveSelect< T extends StoreDescriptor< AnyConfig > >(\n\tstoreNameOrDescriptor: T | string\n): CurriedSelectorsResolveOf< T > {\n\treturn defaultRegistry.resolveSelect( storeNameOrDescriptor );\n}\n\n/**\n * Given a store descriptor, returns an object containing the store's selectors pre-bound to state\n * so that you only need to supply additional arguments, and modified so that they throw promises\n * in case the selector is not resolved yet.\n *\n * @param {StoreDescriptor|string} storeNameOrDescriptor The store descriptor. The legacy calling\n * convention of passing the store name is\n * also supported.\n *\n * @return {Object} Object containing the store's suspense-wrapped selectors.\n */\nexport const suspendSelect = (\n\tstoreNameOrDescriptor:\n\t\t| string\n\t\t| StoreDescriptor< ReduxStoreConfig< any, any, any > >\n): any => defaultRegistry.suspendSelect( storeNameOrDescriptor );\n\n/**\n * Given a listener function, the function will be called any time the state value\n * of one of the registered stores has changed. If you specify the optional\n * `storeNameOrDescriptor` parameter, the listener function will be called only\n * on updates on that one specific registered store.\n *\n * This function returns an `unsubscribe` function used to stop the subscription.\n *\n * @param {Function} listener Callback function.\n * @param {string|StoreDescriptor?} storeNameOrDescriptor Optional store name.\n *\n * @example\n * ```js\n * import { subscribe } from '@wordpress/data';\n *\n * const unsubscribe = subscribe( () => {\n * \t// You could use this opportunity to test whether the derived result of a\n * \t// selector has subsequently changed as the result of a state update.\n * } );\n *\n * // Later, if necessary...\n * unsubscribe();\n * ```\n */\nexport const subscribe = (\n\tlistener: () => void,\n\tstoreNameOrDescriptor?:\n\t\t| string\n\t\t| StoreDescriptor< ReduxStoreConfig< any, any, any > >\n): ( () => void ) =>\n\tdefaultRegistry.subscribe( listener, storeNameOrDescriptor );\n\n/**\n * Registers a generic store instance.\n *\n * @deprecated Use `register( storeDescriptor )` instead.\n *\n * @param {string} name Store registry name.\n * @param {Object} store Store instance (`{ getSelectors, getActions, subscribe }`).\n */\nexport const registerGenericStore: Function =\n\tdefaultRegistry.registerGenericStore;\n\n/**\n * Registers a standard `@wordpress/data` store.\n *\n * @deprecated Use `register` instead.\n *\n * @param {string} storeName Unique namespace identifier for the store.\n * @param {Object} options Store description (reducer, actions, selectors, resolvers).\n *\n * @return {Object} Registered store object.\n */\nexport const registerStore: Function = defaultRegistry.registerStore;\n\n/**\n * Extends a registry to inherit functionality provided by a given plugin. A\n * plugin is an object with properties aligning to that of a registry, merged\n * to extend the default registry behavior.\n *\n * @param {Object} plugin Plugin object.\n */\nexport const use: any = defaultRegistry.use;\n\n/**\n * Registers a standard `@wordpress/data` store descriptor.\n *\n * @example\n * ```js\n * import { createReduxStore, register } from '@wordpress/data';\n *\n * const store = createReduxStore( 'demo', {\n * reducer: ( state = 'OK' ) => state,\n * selectors: {\n * getValue: ( state ) => state,\n * },\n * } );\n * register( store );\n * ```\n *\n * @param {StoreDescriptor} store Store descriptor.\n */\nexport const register = (\n\tstore: StoreDescriptor< ReduxStoreConfig< any, any, any > >\n): void => defaultRegistry.register( store );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,8BAAmC;AACnC,cAAyB;AACzB,yBAAyD;AAgBzD,yBAAsC;AACtC,2BAAwC;AACxC,2BAAwC;AACxC,+BAIO;AACP,wBAGO;AACP,0BAA4B;AAC5B,iCAAkC;AAClC,sBAA+B;AAC/B,qBAA8D;AAC9D,6BAA+B;AAC/B,sBAAyB;AACzB,IAAAA,sBAA4C;AAC5C,sBAAyB;AACzB,oBAAuB;AAtBvB,IAAM,kBAAuB,wBAAAC;AAwEtB,IAAM,kBACZ,mBAAAC;AAsBM,SAAS,cACf,uBACiC;AACjC,SAAO,gBAAgB,cAAe,qBAAsB;AAC7D;AAaO,IAAM,gBAAgB,CAC5B,0BAGS,gBAAgB,cAAe,qBAAsB;AA0BxD,IAAM,YAAY,CACxB,UACA,0BAIA,gBAAgB,UAAW,UAAU,qBAAsB;AAUrD,IAAM,uBACZ,gBAAgB;AAYV,IAAM,gBAA0B,gBAAgB;AAShD,IAAM,MAAW,gBAAgB;AAoBjC,IAAM,WAAW,CACvB,UACU,gBAAgB,SAAU,KAAM;",
6
+ "names": ["import_redux_store", "defaultRegistryUntyped", "combineReducersModule"]
7
+ }
@@ -34,4 +34,4 @@ var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnl
34
34
  lock,
35
35
  unlock
36
36
  });
37
- //# sourceMappingURL=lock-unlock.js.map
37
+ //# sourceMappingURL=lock-unlock.cjs.map
@@ -33,9 +33,9 @@ __export(plugins_exports, {
33
33
  persistence: () => import_persistence.default
34
34
  });
35
35
  module.exports = __toCommonJS(plugins_exports);
36
- var import_persistence = __toESM(require("./persistence"));
36
+ var import_persistence = __toESM(require("./persistence/index.cjs"));
37
37
  // Annotate the CommonJS export names for ESM import in node:
38
38
  0 && (module.exports = {
39
39
  persistence
40
40
  });
41
- //# sourceMappingURL=index.js.map
41
+ //# sourceMappingURL=index.cjs.map
@@ -37,8 +37,8 @@ __export(persistence_exports, {
37
37
  module.exports = __toCommonJS(persistence_exports);
38
38
  var import_is_plain_object = require("is-plain-object");
39
39
  var import_deepmerge = __toESM(require("deepmerge"));
40
- var import_default = __toESM(require("./storage/default"));
41
- var import__ = require("../../");
40
+ var import_default = __toESM(require("./storage/default.cjs"));
41
+ var import__ = require("../../index.cjs");
42
42
  var DEFAULT_STORAGE = import_default.default;
43
43
  var DEFAULT_STORAGE_KEY = "WP_DATA";
44
44
  var withLazySameState = (reducer) => (state, action) => {
@@ -146,4 +146,4 @@ var persistence_default = persistencePlugin;
146
146
  createPersistenceInterface,
147
147
  withLazySameState
148
148
  });
149
- //# sourceMappingURL=index.js.map
149
+ //# sourceMappingURL=index.cjs.map
@@ -33,7 +33,7 @@ __export(default_exports, {
33
33
  default: () => default_default
34
34
  });
35
35
  module.exports = __toCommonJS(default_exports);
36
- var import_object = __toESM(require("./object"));
36
+ var import_object = __toESM(require("./object.cjs"));
37
37
  var storage;
38
38
  try {
39
39
  storage = window.localStorage;
@@ -43,4 +43,4 @@ try {
43
43
  storage = import_object.default;
44
44
  }
45
45
  var default_default = storage;
46
- //# sourceMappingURL=default.js.map
46
+ //# sourceMappingURL=default.cjs.map
@@ -42,4 +42,4 @@ var storage = {
42
42
  }
43
43
  };
44
44
  var object_default = storage;
45
- //# sourceMappingURL=object.js.map
45
+ //# sourceMappingURL=object.cjs.map
@@ -45,4 +45,4 @@ var promiseMiddleware = () => (next) => (action) => {
45
45
  return next(action);
46
46
  };
47
47
  var promise_middleware_default = promiseMiddleware;
48
- //# sourceMappingURL=promise-middleware.js.map
48
+ //# sourceMappingURL=promise-middleware.cjs.map
@@ -42,4 +42,4 @@ function combineReducers(reducers) {
42
42
  0 && (module.exports = {
43
43
  combineReducers
44
44
  });
45
- //# sourceMappingURL=combine-reducers.js.map
45
+ //# sourceMappingURL=combine-reducers.cjs.map
@@ -38,15 +38,15 @@ var import_redux = require("redux");
38
38
  var import_equivalent_key_map = __toESM(require("equivalent-key-map"));
39
39
  var import_redux_routine = __toESM(require("@wordpress/redux-routine"));
40
40
  var import_compose = require("@wordpress/compose");
41
- var import_combine_reducers = require("./combine-reducers");
42
- var import_controls = require("../controls");
43
- var import_lock_unlock = require("../lock-unlock");
44
- var import_promise_middleware = __toESM(require("../promise-middleware"));
45
- var import_resolvers_cache_middleware = __toESM(require("../resolvers-cache-middleware"));
46
- var import_thunk_middleware = __toESM(require("./thunk-middleware"));
47
- var import_reducer = __toESM(require("./metadata/reducer"));
48
- var metadataSelectors = __toESM(require("./metadata/selectors"));
49
- var metadataActions = __toESM(require("./metadata/actions"));
41
+ var import_combine_reducers = require("./combine-reducers.cjs");
42
+ var import_controls = require("../controls.cjs");
43
+ var import_lock_unlock = require("../lock-unlock.cjs");
44
+ var import_promise_middleware = __toESM(require("../promise-middleware.cjs"));
45
+ var import_resolvers_cache_middleware = __toESM(require("../resolvers-cache-middleware.cjs"));
46
+ var import_thunk_middleware = __toESM(require("./thunk-middleware.cjs"));
47
+ var import_reducer = __toESM(require("./metadata/reducer.cjs"));
48
+ var metadataSelectors = __toESM(require("./metadata/selectors.cjs"));
49
+ var metadataActions = __toESM(require("./metadata/actions.cjs"));
50
50
  var trimUndefinedValues = (array) => {
51
51
  const result = [...array];
52
52
  for (let i = result.length - 1; i >= 0; i--) {
@@ -443,11 +443,7 @@ function mapResolver(resolver) {
443
443
  }
444
444
  function mapSelectorWithResolver(selector, selectorName, resolver, store, resolversCache, boundMetadataSelectors) {
445
445
  function fulfillSelector(args) {
446
- const state = store.getState();
447
- if (resolversCache.isRunning(selectorName, args) || typeof resolver.isFulfilled === "function" && resolver.isFulfilled(state, ...args)) {
448
- return;
449
- }
450
- if (boundMetadataSelectors.hasStartedResolution(selectorName, args)) {
446
+ if (resolversCache.isRunning(selectorName, args) || boundMetadataSelectors.hasStartedResolution(selectorName, args)) {
451
447
  return;
452
448
  }
453
449
  resolversCache.markAsRunning(selectorName, args);
@@ -457,9 +453,12 @@ function mapSelectorWithResolver(selector, selectorName, resolver, store, resolv
457
453
  metadataActions.startResolution(selectorName, args)
458
454
  );
459
455
  try {
460
- const action = resolver.fulfill(...args);
461
- if (action) {
462
- await store.dispatch(action);
456
+ const isFulfilled = typeof resolver.isFulfilled === "function" && resolver.isFulfilled(store.getState(), ...args);
457
+ if (!isFulfilled) {
458
+ const action = resolver.fulfill(...args);
459
+ if (action) {
460
+ await store.dispatch(action);
461
+ }
463
462
  }
464
463
  store.dispatch(
465
464
  metadataActions.finishResolution(selectorName, args)
@@ -489,4 +488,4 @@ function normalize(selector, args) {
489
488
  0 && (module.exports = {
490
489
  combineReducers
491
490
  });
492
- //# sourceMappingURL=index.js.map
491
+ //# sourceMappingURL=index.cjs.map