@wordpress/data 6.1.3 → 6.2.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 (93) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +68 -68
  4. package/build/components/async-mode-provider/context.js +1 -1
  5. package/build/components/async-mode-provider/index.js +8 -6
  6. package/build/components/async-mode-provider/index.js.map +1 -1
  7. package/build/components/registry-provider/index.js +8 -6
  8. package/build/components/registry-provider/index.js.map +1 -1
  9. package/build/components/use-dispatch/use-dispatch-with-map.js +3 -1
  10. package/build/components/use-dispatch/use-dispatch-with-map.js.map +1 -1
  11. package/build/components/use-dispatch/use-dispatch.js +8 -8
  12. package/build/components/use-dispatch/use-dispatch.js.map +1 -1
  13. package/build/components/use-select/index.js +58 -43
  14. package/build/components/use-select/index.js.map +1 -1
  15. package/build/controls.js +51 -32
  16. package/build/controls.js.map +1 -1
  17. package/build/factory.js +4 -2
  18. package/build/factory.js.map +1 -1
  19. package/build/index.js +49 -47
  20. package/build/index.js.map +1 -1
  21. package/build/plugins/persistence/index.js +2 -1
  22. package/build/plugins/persistence/index.js.map +1 -1
  23. package/build/redux-store/index.js +62 -34
  24. package/build/redux-store/index.js.map +1 -1
  25. package/build/redux-store/metadata/actions.js +2 -2
  26. package/build/redux-store/metadata/reducer.js +8 -2
  27. package/build/redux-store/metadata/reducer.js.map +1 -1
  28. package/build/redux-store/metadata/selectors.js +8 -5
  29. package/build/redux-store/metadata/selectors.js.map +1 -1
  30. package/build/redux-store/metadata/utils.js +5 -5
  31. package/build/redux-store/metadata/utils.js.map +1 -1
  32. package/build/registry.js +81 -66
  33. package/build/registry.js.map +1 -1
  34. package/build/resolvers-cache-middleware.js +7 -4
  35. package/build/resolvers-cache-middleware.js.map +1 -1
  36. package/build/store/index.js +42 -35
  37. package/build/store/index.js.map +1 -1
  38. package/build/types.js +4 -0
  39. package/build/utils/emitter.js +1 -1
  40. package/build/utils/emitter.js.map +1 -1
  41. package/build-module/components/use-dispatch/use-dispatch-with-map.js +3 -1
  42. package/build-module/components/use-dispatch/use-dispatch-with-map.js.map +1 -1
  43. package/build-module/components/use-dispatch/use-dispatch.js +8 -8
  44. package/build-module/components/use-dispatch/use-dispatch.js.map +1 -1
  45. package/build-module/components/use-select/index.js +60 -44
  46. package/build-module/components/use-select/index.js.map +1 -1
  47. package/build-module/controls.js +50 -31
  48. package/build-module/controls.js.map +1 -1
  49. package/build-module/factory.js +3 -1
  50. package/build-module/factory.js.map +1 -1
  51. package/build-module/index.js +14 -14
  52. package/build-module/index.js.map +1 -1
  53. package/build-module/redux-store/index.js +58 -32
  54. package/build-module/redux-store/index.js.map +1 -1
  55. package/build-module/redux-store/metadata/reducer.js +8 -2
  56. package/build-module/redux-store/metadata/reducer.js.map +1 -1
  57. package/build-module/redux-store/metadata/selectors.js +6 -3
  58. package/build-module/redux-store/metadata/selectors.js.map +1 -1
  59. package/build-module/redux-store/metadata/utils.js +5 -5
  60. package/build-module/redux-store/metadata/utils.js.map +1 -1
  61. package/build-module/registry.js +81 -66
  62. package/build-module/registry.js.map +1 -1
  63. package/build-module/resolvers-cache-middleware.js +5 -4
  64. package/build-module/resolvers-cache-middleware.js.map +1 -1
  65. package/build-module/store/index.js +42 -34
  66. package/build-module/store/index.js.map +1 -1
  67. package/build-module/types.js +1 -1
  68. package/build-module/utils/emitter.js +1 -1
  69. package/build-module/utils/emitter.js.map +1 -1
  70. package/build-types/types.d.ts +29 -16
  71. package/build-types/types.d.ts.map +1 -1
  72. package/build-types/utils/emitter.d.ts +2 -2
  73. package/build-types/utils/emitter.d.ts.map +1 -1
  74. package/package.json +11 -10
  75. package/src/components/use-dispatch/test/use-dispatch.js +1 -1
  76. package/src/components/use-dispatch/use-dispatch.js +9 -9
  77. package/src/components/use-select/index.js +61 -46
  78. package/src/components/use-select/test/index.js +32 -32
  79. package/src/controls.js +22 -22
  80. package/src/index.js +14 -14
  81. package/src/redux-store/index.js +15 -15
  82. package/src/registry.js +84 -75
  83. package/src/resolvers-cache-middleware.js +3 -3
  84. package/src/store/index.js +49 -48
  85. package/src/test/registry.js +33 -47
  86. package/src/types.ts +44 -16
  87. package/src/utils/emitter.js +1 -1
  88. package/tsconfig.tsbuildinfo +1 -1
  89. package/build/store/name.js +0 -15
  90. package/build/store/name.js.map +0 -1
  91. package/build-module/store/name.js +0 -7
  92. package/build-module/store/name.js.map +0 -1
  93. package/src/store/name.js +0 -6
@@ -2,15 +2,19 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { mapValues, isObject, forEach } from 'lodash';
5
+ /**
6
+ * WordPress dependencies
7
+ */
8
+
9
+ import deprecated from '@wordpress/deprecated';
5
10
  /**
6
11
  * Internal dependencies
7
12
  */
8
13
 
9
14
  import createReduxStore from './redux-store';
10
- import createCoreDataStore from './store';
11
- import { STORE_NAME } from './store/name';
15
+ import coreDataStore from './store';
12
16
  import { createEmitter } from './utils/emitter';
13
- /** @typedef {import('./types').WPDataStore} WPDataStore */
17
+ /** @typedef {import('./types').StoreDescriptor} StoreDescriptor */
14
18
 
15
19
  /**
16
20
  * @typedef {Object} WPDataRegistry An isolated orchestrator of store registrations.
@@ -48,7 +52,9 @@ import { createEmitter } from './utils/emitter';
48
52
  * @return {WPDataRegistry} Data registry.
49
53
  */
50
54
 
51
- export function createRegistry(storeConfigs = {}, parent = null) {
55
+ export function createRegistry() {
56
+ let storeConfigs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
57
+ let parent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
52
58
  const stores = {};
53
59
  const emitter = createEmitter();
54
60
 
@@ -76,15 +82,15 @@ export function createRegistry(storeConfigs = {}, parent = null) {
76
82
  /**
77
83
  * Calls a selector given the current state and extra arguments.
78
84
  *
79
- * @param {string|WPDataStore} storeNameOrDefinition Unique namespace identifier for the store
80
- * or the store definition.
85
+ * @param {string|StoreDescriptor} storeNameOrDescriptor Unique namespace identifier for the store
86
+ * or the store descriptor.
81
87
  *
82
88
  * @return {*} The selector's returned value.
83
89
  */
84
90
 
85
91
 
86
- function select(storeNameOrDefinition) {
87
- const storeName = isObject(storeNameOrDefinition) ? storeNameOrDefinition.name : storeNameOrDefinition;
92
+ function select(storeNameOrDescriptor) {
93
+ const storeName = isObject(storeNameOrDescriptor) ? storeNameOrDescriptor.name : storeNameOrDescriptor;
88
94
 
89
95
  __experimentalListeningStores.add(storeName);
90
96
 
@@ -110,15 +116,15 @@ export function createRegistry(storeConfigs = {}, parent = null) {
110
116
  * and modified so that they return promises that resolve to their eventual values,
111
117
  * after any resolvers have ran.
112
118
  *
113
- * @param {string|WPDataStore} storeNameOrDefinition Unique namespace identifier for the store
114
- * or the store definition.
119
+ * @param {string|StoreDescriptor} storeNameOrDescriptor Unique namespace identifier for the store
120
+ * or the store descriptor.
115
121
  *
116
122
  * @return {Object} Each key of the object matches the name of a selector.
117
123
  */
118
124
 
119
125
 
120
- function resolveSelect(storeNameOrDefinition) {
121
- const storeName = isObject(storeNameOrDefinition) ? storeNameOrDefinition.name : storeNameOrDefinition;
126
+ function resolveSelect(storeNameOrDescriptor) {
127
+ const storeName = isObject(storeNameOrDescriptor) ? storeNameOrDescriptor.name : storeNameOrDescriptor;
122
128
 
123
129
  __experimentalListeningStores.add(storeName);
124
130
 
@@ -133,15 +139,15 @@ export function createRegistry(storeConfigs = {}, parent = null) {
133
139
  /**
134
140
  * Returns the available actions for a part of the state.
135
141
  *
136
- * @param {string|WPDataStore} storeNameOrDefinition Unique namespace identifier for the store
137
- * or the store definition.
142
+ * @param {string|StoreDescriptor} storeNameOrDescriptor Unique namespace identifier for the store
143
+ * or the store descriptor.
138
144
  *
139
145
  * @return {*} The action's returned value.
140
146
  */
141
147
 
142
148
 
143
- function dispatch(storeNameOrDefinition) {
144
- const storeName = isObject(storeNameOrDefinition) ? storeNameOrDefinition.name : storeNameOrDefinition;
149
+ function dispatch(storeNameOrDescriptor) {
150
+ const storeName = isObject(storeNameOrDescriptor) ? storeNameOrDescriptor.name : storeNameOrDescriptor;
145
151
  const store = stores[storeName];
146
152
 
147
153
  if (store) {
@@ -167,63 +173,87 @@ export function createRegistry(storeConfigs = {}, parent = null) {
167
173
  });
168
174
  }
169
175
  /**
170
- * Registers a generic store.
176
+ * Registers a store instance.
171
177
  *
172
- * @param {string} key Store registry key.
173
- * @param {Object} config Configuration (getSelectors, getActions, subscribe).
178
+ * @param {string} name Store registry name.
179
+ * @param {Object} store Store instance object (getSelectors, getActions, subscribe).
174
180
  */
175
181
 
176
182
 
177
- function registerGenericStore(key, config) {
178
- if (typeof config.getSelectors !== 'function') {
179
- throw new TypeError('config.getSelectors must be a function');
183
+ function registerStoreInstance(name, store) {
184
+ if (typeof store.getSelectors !== 'function') {
185
+ throw new TypeError('store.getSelectors must be a function');
180
186
  }
181
187
 
182
- if (typeof config.getActions !== 'function') {
183
- throw new TypeError('config.getActions must be a function');
188
+ if (typeof store.getActions !== 'function') {
189
+ throw new TypeError('store.getActions must be a function');
184
190
  }
185
191
 
186
- if (typeof config.subscribe !== 'function') {
187
- throw new TypeError('config.subscribe must be a function');
188
- } // Thi emitter is used to keep track of active listeners when the registry
192
+ if (typeof store.subscribe !== 'function') {
193
+ throw new TypeError('store.subscribe must be a function');
194
+ } // The emitter is used to keep track of active listeners when the registry
189
195
  // get paused, that way, when resumed we should be able to call all these
190
196
  // pending listeners.
191
197
 
192
198
 
193
- config.emitter = createEmitter();
194
- const currentSubscribe = config.subscribe;
199
+ store.emitter = createEmitter();
200
+ const currentSubscribe = store.subscribe;
195
201
 
196
- config.subscribe = listener => {
197
- const unsubscribeFromStoreEmitter = config.emitter.subscribe(listener);
198
- const unsubscribeFromRootStore = currentSubscribe(() => {
199
- if (config.emitter.isPaused) {
200
- config.emitter.emit();
202
+ store.subscribe = listener => {
203
+ const unsubscribeFromEmitter = store.emitter.subscribe(listener);
204
+ const unsubscribeFromStore = currentSubscribe(() => {
205
+ if (store.emitter.isPaused) {
206
+ store.emitter.emit();
201
207
  return;
202
208
  }
203
209
 
204
210
  listener();
205
211
  });
206
212
  return () => {
207
- if (unsubscribeFromRootStore) {
208
- unsubscribeFromRootStore();
209
- }
210
-
211
- unsubscribeFromStoreEmitter();
213
+ unsubscribeFromStore === null || unsubscribeFromStore === void 0 ? void 0 : unsubscribeFromStore();
214
+ unsubscribeFromEmitter === null || unsubscribeFromEmitter === void 0 ? void 0 : unsubscribeFromEmitter();
212
215
  };
213
216
  };
214
217
 
215
- stores[key] = config;
216
- config.subscribe(globalListener);
218
+ stores[name] = store;
219
+ store.subscribe(globalListener);
217
220
  }
218
221
  /**
219
- * Registers a new store definition.
222
+ * Registers a new store given a store descriptor.
220
223
  *
221
- * @param {WPDataStore} store Store definition.
224
+ * @param {StoreDescriptor} store Store descriptor.
222
225
  */
223
226
 
224
227
 
225
228
  function register(store) {
226
- registerGenericStore(store.name, store.instantiate(registry));
229
+ registerStoreInstance(store.name, store.instantiate(registry));
230
+ }
231
+
232
+ function registerGenericStore(name, store) {
233
+ deprecated('wp.data.registerGenericStore', {
234
+ since: '5.9',
235
+ alternative: 'wp.data.register( storeDescriptor )'
236
+ });
237
+ registerStoreInstance(name, store);
238
+ }
239
+ /**
240
+ * Registers a standard `@wordpress/data` store.
241
+ *
242
+ * @param {string} storeName Unique namespace identifier.
243
+ * @param {Object} options Store description (reducer, actions, selectors, resolvers).
244
+ *
245
+ * @return {Object} Registered store object.
246
+ */
247
+
248
+
249
+ function registerStore(storeName, options) {
250
+ if (!options.reducer) {
251
+ throw new TypeError('Must specify store reducer');
252
+ }
253
+
254
+ const store = createReduxStore(storeName, options).instantiate(registry);
255
+ registerStoreInstance(storeName, store);
256
+ return store.store;
227
257
  }
228
258
  /**
229
259
  * Subscribe handler to a store.
@@ -260,7 +290,6 @@ export function createRegistry(storeConfigs = {}, parent = null) {
260
290
 
261
291
  let registry = {
262
292
  batch,
263
- registerGenericStore,
264
293
  stores,
265
294
  namespaces: stores,
266
295
  // TODO: Deprecate/remove this.
@@ -270,32 +299,15 @@ export function createRegistry(storeConfigs = {}, parent = null) {
270
299
  dispatch,
271
300
  use,
272
301
  register,
302
+ registerGenericStore,
303
+ registerStore,
273
304
  __experimentalMarkListeningStores,
274
305
  __experimentalSubscribeStore
275
- };
276
- /**
277
- * Registers a standard `@wordpress/data` store.
278
- *
279
- * @param {string} storeName Unique namespace identifier.
280
- * @param {Object} options Store description (reducer, actions, selectors, resolvers).
281
- *
282
- * @return {Object} Registered store object.
283
- */
284
-
285
- registry.registerStore = (storeName, options) => {
286
- if (!options.reducer) {
287
- throw new TypeError('Must specify store reducer');
288
- }
289
-
290
- const store = createReduxStore(storeName, options).instantiate(registry);
291
- registerGenericStore(storeName, store);
292
- return store.store;
293
306
  }; //
294
307
  // TODO:
295
308
  // This function will be deprecated as soon as it is no longer internally referenced.
296
309
  //
297
310
 
298
-
299
311
  function use(plugin, options) {
300
312
  registry = { ...registry,
301
313
  ...plugin(registry, options)
@@ -303,8 +315,11 @@ export function createRegistry(storeConfigs = {}, parent = null) {
303
315
  return registry;
304
316
  }
305
317
 
306
- registerGenericStore(STORE_NAME, createCoreDataStore(registry));
307
- Object.entries(storeConfigs).forEach(([name, config]) => registry.registerStore(name, config));
318
+ registry.register(coreDataStore);
319
+
320
+ for (const [name, config] of Object.entries(storeConfigs)) {
321
+ registry.register(createReduxStore(name, config));
322
+ }
308
323
 
309
324
  if (parent) {
310
325
  parent.subscribe(globalListener);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/registry.js"],"names":["mapValues","isObject","forEach","createReduxStore","createCoreDataStore","STORE_NAME","createEmitter","createRegistry","storeConfigs","parent","stores","emitter","__experimentalListeningStores","Set","globalListener","emit","subscribe","listener","select","storeNameOrDefinition","storeName","name","add","store","getSelectors","__experimentalMarkListeningStores","callback","ref","clear","result","call","current","Array","from","resolveSelect","getResolveSelectors","dispatch","getActions","withPlugins","attributes","attribute","key","registry","apply","arguments","registerGenericStore","config","TypeError","currentSubscribe","unsubscribeFromStoreEmitter","unsubscribeFromRootStore","isPaused","register","instantiate","__experimentalSubscribeStore","handler","batch","pause","resume","namespaces","use","registerStore","options","reducer","plugin","Object","entries"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mapValues, isObject, forEach } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport createReduxStore from './redux-store';\nimport createCoreDataStore from './store';\nimport { STORE_NAME } from './store/name';\nimport { createEmitter } from './utils/emitter';\n\n/** @typedef {import('./types').WPDataStore} WPDataStore */\n\n/**\n * @typedef {Object} WPDataRegistry An isolated orchestrator of store registrations.\n *\n * @property {Function} registerGenericStore Given a namespace key and settings\n * object, registers a new generic\n * store.\n * @property {Function} registerStore Given a namespace key and settings\n * object, registers a new namespace\n * store.\n * @property {Function} subscribe Given a function callback, invokes\n * the callback on any change to state\n * within any registered store.\n * @property {Function} select Given a namespace key, returns an\n * object of the store's registered\n * selectors.\n * @property {Function} dispatch Given a namespace key, returns an\n * object of the store's registered\n * action dispatchers.\n */\n\n/**\n * @typedef {Object} WPDataPlugin An object of registry function overrides.\n *\n * @property {Function} registerStore registers store.\n */\n\n/**\n * Creates a new store registry, given an optional object of initial store\n * configurations.\n *\n * @param {Object} storeConfigs Initial store configurations.\n * @param {Object?} parent Parent registry.\n *\n * @return {WPDataRegistry} Data registry.\n */\nexport function createRegistry( storeConfigs = {}, parent = null ) {\n\tconst stores = {};\n\tconst emitter = createEmitter();\n\tconst __experimentalListeningStores = new Set();\n\n\t/**\n\t * Global listener called for each store's update.\n\t */\n\tfunction globalListener() {\n\t\temitter.emit();\n\t}\n\n\t/**\n\t * Subscribe to changes to any data.\n\t *\n\t * @param {Function} listener Listener function.\n\t *\n\t * @return {Function} Unsubscribe function.\n\t */\n\tconst subscribe = ( listener ) => {\n\t\treturn emitter.subscribe( listener );\n\t};\n\n\t/**\n\t * Calls a selector given the current state and extra arguments.\n\t *\n\t * @param {string|WPDataStore} storeNameOrDefinition Unique namespace identifier for the store\n\t * or the store definition.\n\t *\n\t * @return {*} The selector's returned value.\n\t */\n\tfunction select( storeNameOrDefinition ) {\n\t\tconst storeName = isObject( storeNameOrDefinition )\n\t\t\t? storeNameOrDefinition.name\n\t\t\t: storeNameOrDefinition;\n\t\t__experimentalListeningStores.add( storeName );\n\t\tconst store = stores[ storeName ];\n\t\tif ( store ) {\n\t\t\treturn store.getSelectors();\n\t\t}\n\n\t\treturn parent && parent.select( storeName );\n\t}\n\n\tfunction __experimentalMarkListeningStores( callback, ref ) {\n\t\t__experimentalListeningStores.clear();\n\t\tconst result = callback.call( this );\n\t\tref.current = Array.from( __experimentalListeningStores );\n\t\treturn result;\n\t}\n\n\t/**\n\t * Given the name of a registered store, returns an object containing the store's\n\t * selectors pre-bound to state so that you only need to supply additional arguments,\n\t * and modified so that they return promises that resolve to their eventual values,\n\t * after any resolvers have ran.\n\t *\n\t * @param {string|WPDataStore} storeNameOrDefinition Unique namespace identifier for the store\n\t * or the store definition.\n\t *\n\t * @return {Object} Each key of the object matches the name of a selector.\n\t */\n\tfunction resolveSelect( storeNameOrDefinition ) {\n\t\tconst storeName = isObject( storeNameOrDefinition )\n\t\t\t? storeNameOrDefinition.name\n\t\t\t: storeNameOrDefinition;\n\t\t__experimentalListeningStores.add( storeName );\n\t\tconst store = stores[ storeName ];\n\t\tif ( store ) {\n\t\t\treturn store.getResolveSelectors();\n\t\t}\n\n\t\treturn parent && parent.resolveSelect( storeName );\n\t}\n\n\t/**\n\t * Returns the available actions for a part of the state.\n\t *\n\t * @param {string|WPDataStore} storeNameOrDefinition Unique namespace identifier for the store\n\t * or the store definition.\n\t *\n\t * @return {*} The action's returned value.\n\t */\n\tfunction dispatch( storeNameOrDefinition ) {\n\t\tconst storeName = isObject( storeNameOrDefinition )\n\t\t\t? storeNameOrDefinition.name\n\t\t\t: storeNameOrDefinition;\n\t\tconst store = stores[ storeName ];\n\t\tif ( store ) {\n\t\t\treturn store.getActions();\n\t\t}\n\n\t\treturn parent && parent.dispatch( storeName );\n\t}\n\n\t//\n\t// Deprecated\n\t// TODO: Remove this after `use()` is removed.\n\t//\n\tfunction withPlugins( attributes ) {\n\t\treturn mapValues( attributes, ( attribute, key ) => {\n\t\t\tif ( typeof attribute !== 'function' ) {\n\t\t\t\treturn attribute;\n\t\t\t}\n\t\t\treturn function () {\n\t\t\t\treturn registry[ key ].apply( null, arguments );\n\t\t\t};\n\t\t} );\n\t}\n\n\t/**\n\t * Registers a generic store.\n\t *\n\t * @param {string} key Store registry key.\n\t * @param {Object} config Configuration (getSelectors, getActions, subscribe).\n\t */\n\tfunction registerGenericStore( key, config ) {\n\t\tif ( typeof config.getSelectors !== 'function' ) {\n\t\t\tthrow new TypeError( 'config.getSelectors must be a function' );\n\t\t}\n\t\tif ( typeof config.getActions !== 'function' ) {\n\t\t\tthrow new TypeError( 'config.getActions must be a function' );\n\t\t}\n\t\tif ( typeof config.subscribe !== 'function' ) {\n\t\t\tthrow new TypeError( 'config.subscribe must be a function' );\n\t\t}\n\t\t// Thi emitter is used to keep track of active listeners when the registry\n\t\t// get paused, that way, when resumed we should be able to call all these\n\t\t// pending listeners.\n\t\tconfig.emitter = createEmitter();\n\t\tconst currentSubscribe = config.subscribe;\n\t\tconfig.subscribe = ( listener ) => {\n\t\t\tconst unsubscribeFromStoreEmitter = config.emitter.subscribe(\n\t\t\t\tlistener\n\t\t\t);\n\t\t\tconst unsubscribeFromRootStore = currentSubscribe( () => {\n\t\t\t\tif ( config.emitter.isPaused ) {\n\t\t\t\t\tconfig.emitter.emit();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlistener();\n\t\t\t} );\n\n\t\t\treturn () => {\n\t\t\t\tif ( unsubscribeFromRootStore ) {\n\t\t\t\t\tunsubscribeFromRootStore();\n\t\t\t\t}\n\t\t\t\tunsubscribeFromStoreEmitter();\n\t\t\t};\n\t\t};\n\t\tstores[ key ] = config;\n\t\tconfig.subscribe( globalListener );\n\t}\n\n\t/**\n\t * Registers a new store definition.\n\t *\n\t * @param {WPDataStore} store Store definition.\n\t */\n\tfunction register( store ) {\n\t\tregisterGenericStore( store.name, store.instantiate( registry ) );\n\t}\n\n\t/**\n\t * Subscribe handler to a store.\n\t *\n\t * @param {string[]} storeName The store name.\n\t * @param {Function} handler The function subscribed to the store.\n\t * @return {Function} A function to unsubscribe the handler.\n\t */\n\tfunction __experimentalSubscribeStore( storeName, handler ) {\n\t\tif ( storeName in stores ) {\n\t\t\treturn stores[ storeName ].subscribe( handler );\n\t\t}\n\n\t\t// Trying to access a store that hasn't been registered,\n\t\t// this is a pattern rarely used but seen in some places.\n\t\t// We fallback to regular `subscribe` here for backward-compatibility for now.\n\t\t// See https://github.com/WordPress/gutenberg/pull/27466 for more info.\n\t\tif ( ! parent ) {\n\t\t\treturn subscribe( handler );\n\t\t}\n\n\t\treturn parent.__experimentalSubscribeStore( storeName, handler );\n\t}\n\n\tfunction batch( callback ) {\n\t\temitter.pause();\n\t\tforEach( stores, ( store ) => store.emitter.pause() );\n\t\tcallback();\n\t\temitter.resume();\n\t\tforEach( stores, ( store ) => store.emitter.resume() );\n\t}\n\n\tlet registry = {\n\t\tbatch,\n\t\tregisterGenericStore,\n\t\tstores,\n\t\tnamespaces: stores, // TODO: Deprecate/remove this.\n\t\tsubscribe,\n\t\tselect,\n\t\tresolveSelect,\n\t\tdispatch,\n\t\tuse,\n\t\tregister,\n\t\t__experimentalMarkListeningStores,\n\t\t__experimentalSubscribeStore,\n\t};\n\n\t/**\n\t * Registers a standard `@wordpress/data` store.\n\t *\n\t * @param {string} storeName Unique namespace identifier.\n\t * @param {Object} options Store description (reducer, actions, selectors, resolvers).\n\t *\n\t * @return {Object} Registered store object.\n\t */\n\tregistry.registerStore = ( storeName, options ) => {\n\t\tif ( ! options.reducer ) {\n\t\t\tthrow new TypeError( 'Must specify store reducer' );\n\t\t}\n\n\t\tconst store = createReduxStore( storeName, options ).instantiate(\n\t\t\tregistry\n\t\t);\n\t\tregisterGenericStore( storeName, store );\n\t\treturn store.store;\n\t};\n\n\t//\n\t// TODO:\n\t// This function will be deprecated as soon as it is no longer internally referenced.\n\t//\n\tfunction use( plugin, options ) {\n\t\tregistry = {\n\t\t\t...registry,\n\t\t\t...plugin( registry, options ),\n\t\t};\n\n\t\treturn registry;\n\t}\n\n\tregisterGenericStore( STORE_NAME, createCoreDataStore( registry ) );\n\n\tObject.entries( storeConfigs ).forEach( ( [ name, config ] ) =>\n\t\tregistry.registerStore( name, config )\n\t);\n\n\tif ( parent ) {\n\t\tparent.subscribe( globalListener );\n\t}\n\n\treturn withPlugins( registry );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/registry.js"],"names":["mapValues","isObject","forEach","deprecated","createReduxStore","coreDataStore","createEmitter","createRegistry","storeConfigs","parent","stores","emitter","__experimentalListeningStores","Set","globalListener","emit","subscribe","listener","select","storeNameOrDescriptor","storeName","name","add","store","getSelectors","__experimentalMarkListeningStores","callback","ref","clear","result","call","current","Array","from","resolveSelect","getResolveSelectors","dispatch","getActions","withPlugins","attributes","attribute","key","registry","apply","arguments","registerStoreInstance","TypeError","currentSubscribe","unsubscribeFromEmitter","unsubscribeFromStore","isPaused","register","instantiate","registerGenericStore","since","alternative","registerStore","options","reducer","__experimentalSubscribeStore","handler","batch","pause","resume","namespaces","use","plugin","config","Object","entries"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mapValues, isObject, forEach } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport createReduxStore from './redux-store';\nimport coreDataStore from './store';\nimport { createEmitter } from './utils/emitter';\n\n/** @typedef {import('./types').StoreDescriptor} StoreDescriptor */\n\n/**\n * @typedef {Object} WPDataRegistry An isolated orchestrator of store registrations.\n *\n * @property {Function} registerGenericStore Given a namespace key and settings\n * object, registers a new generic\n * store.\n * @property {Function} registerStore Given a namespace key and settings\n * object, registers a new namespace\n * store.\n * @property {Function} subscribe Given a function callback, invokes\n * the callback on any change to state\n * within any registered store.\n * @property {Function} select Given a namespace key, returns an\n * object of the store's registered\n * selectors.\n * @property {Function} dispatch Given a namespace key, returns an\n * object of the store's registered\n * action dispatchers.\n */\n\n/**\n * @typedef {Object} WPDataPlugin An object of registry function overrides.\n *\n * @property {Function} registerStore registers store.\n */\n\n/**\n * Creates a new store registry, given an optional object of initial store\n * configurations.\n *\n * @param {Object} storeConfigs Initial store configurations.\n * @param {Object?} parent Parent registry.\n *\n * @return {WPDataRegistry} Data registry.\n */\nexport function createRegistry( storeConfigs = {}, parent = null ) {\n\tconst stores = {};\n\tconst emitter = createEmitter();\n\tconst __experimentalListeningStores = new Set();\n\n\t/**\n\t * Global listener called for each store's update.\n\t */\n\tfunction globalListener() {\n\t\temitter.emit();\n\t}\n\n\t/**\n\t * Subscribe to changes to any data.\n\t *\n\t * @param {Function} listener Listener function.\n\t *\n\t * @return {Function} Unsubscribe function.\n\t */\n\tconst subscribe = ( listener ) => {\n\t\treturn emitter.subscribe( listener );\n\t};\n\n\t/**\n\t * Calls a selector given the current state and extra arguments.\n\t *\n\t * @param {string|StoreDescriptor} storeNameOrDescriptor Unique namespace identifier for the store\n\t * or the store descriptor.\n\t *\n\t * @return {*} The selector's returned value.\n\t */\n\tfunction select( storeNameOrDescriptor ) {\n\t\tconst storeName = isObject( storeNameOrDescriptor )\n\t\t\t? storeNameOrDescriptor.name\n\t\t\t: storeNameOrDescriptor;\n\t\t__experimentalListeningStores.add( storeName );\n\t\tconst store = stores[ storeName ];\n\t\tif ( store ) {\n\t\t\treturn store.getSelectors();\n\t\t}\n\n\t\treturn parent && parent.select( storeName );\n\t}\n\n\tfunction __experimentalMarkListeningStores( callback, ref ) {\n\t\t__experimentalListeningStores.clear();\n\t\tconst result = callback.call( this );\n\t\tref.current = Array.from( __experimentalListeningStores );\n\t\treturn result;\n\t}\n\n\t/**\n\t * Given the name of a registered store, returns an object containing the store's\n\t * selectors pre-bound to state so that you only need to supply additional arguments,\n\t * and modified so that they return promises that resolve to their eventual values,\n\t * after any resolvers have ran.\n\t *\n\t * @param {string|StoreDescriptor} storeNameOrDescriptor Unique namespace identifier for the store\n\t * or the store descriptor.\n\t *\n\t * @return {Object} Each key of the object matches the name of a selector.\n\t */\n\tfunction resolveSelect( storeNameOrDescriptor ) {\n\t\tconst storeName = isObject( storeNameOrDescriptor )\n\t\t\t? storeNameOrDescriptor.name\n\t\t\t: storeNameOrDescriptor;\n\t\t__experimentalListeningStores.add( storeName );\n\t\tconst store = stores[ storeName ];\n\t\tif ( store ) {\n\t\t\treturn store.getResolveSelectors();\n\t\t}\n\n\t\treturn parent && parent.resolveSelect( storeName );\n\t}\n\n\t/**\n\t * Returns the available actions for a part of the state.\n\t *\n\t * @param {string|StoreDescriptor} storeNameOrDescriptor Unique namespace identifier for the store\n\t * or the store descriptor.\n\t *\n\t * @return {*} The action's returned value.\n\t */\n\tfunction dispatch( storeNameOrDescriptor ) {\n\t\tconst storeName = isObject( storeNameOrDescriptor )\n\t\t\t? storeNameOrDescriptor.name\n\t\t\t: storeNameOrDescriptor;\n\t\tconst store = stores[ storeName ];\n\t\tif ( store ) {\n\t\t\treturn store.getActions();\n\t\t}\n\n\t\treturn parent && parent.dispatch( storeName );\n\t}\n\n\t//\n\t// Deprecated\n\t// TODO: Remove this after `use()` is removed.\n\t//\n\tfunction withPlugins( attributes ) {\n\t\treturn mapValues( attributes, ( attribute, key ) => {\n\t\t\tif ( typeof attribute !== 'function' ) {\n\t\t\t\treturn attribute;\n\t\t\t}\n\t\t\treturn function () {\n\t\t\t\treturn registry[ key ].apply( null, arguments );\n\t\t\t};\n\t\t} );\n\t}\n\n\t/**\n\t * Registers a store instance.\n\t *\n\t * @param {string} name Store registry name.\n\t * @param {Object} store Store instance object (getSelectors, getActions, subscribe).\n\t */\n\tfunction registerStoreInstance( name, store ) {\n\t\tif ( typeof store.getSelectors !== 'function' ) {\n\t\t\tthrow new TypeError( 'store.getSelectors must be a function' );\n\t\t}\n\t\tif ( typeof store.getActions !== 'function' ) {\n\t\t\tthrow new TypeError( 'store.getActions must be a function' );\n\t\t}\n\t\tif ( typeof store.subscribe !== 'function' ) {\n\t\t\tthrow new TypeError( 'store.subscribe must be a function' );\n\t\t}\n\t\t// The emitter is used to keep track of active listeners when the registry\n\t\t// get paused, that way, when resumed we should be able to call all these\n\t\t// pending listeners.\n\t\tstore.emitter = createEmitter();\n\t\tconst currentSubscribe = store.subscribe;\n\t\tstore.subscribe = ( listener ) => {\n\t\t\tconst unsubscribeFromEmitter = store.emitter.subscribe( listener );\n\t\t\tconst unsubscribeFromStore = currentSubscribe( () => {\n\t\t\t\tif ( store.emitter.isPaused ) {\n\t\t\t\t\tstore.emitter.emit();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlistener();\n\t\t\t} );\n\n\t\t\treturn () => {\n\t\t\t\tunsubscribeFromStore?.();\n\t\t\t\tunsubscribeFromEmitter?.();\n\t\t\t};\n\t\t};\n\t\tstores[ name ] = store;\n\t\tstore.subscribe( globalListener );\n\t}\n\n\t/**\n\t * Registers a new store given a store descriptor.\n\t *\n\t * @param {StoreDescriptor} store Store descriptor.\n\t */\n\tfunction register( store ) {\n\t\tregisterStoreInstance( store.name, store.instantiate( registry ) );\n\t}\n\n\tfunction registerGenericStore( name, store ) {\n\t\tdeprecated( 'wp.data.registerGenericStore', {\n\t\t\tsince: '5.9',\n\t\t\talternative: 'wp.data.register( storeDescriptor )',\n\t\t} );\n\t\tregisterStoreInstance( name, store );\n\t}\n\n\t/**\n\t * Registers a standard `@wordpress/data` store.\n\t *\n\t * @param {string} storeName Unique namespace identifier.\n\t * @param {Object} options Store description (reducer, actions, selectors, resolvers).\n\t *\n\t * @return {Object} Registered store object.\n\t */\n\tfunction registerStore( storeName, options ) {\n\t\tif ( ! options.reducer ) {\n\t\t\tthrow new TypeError( 'Must specify store reducer' );\n\t\t}\n\n\t\tconst store = createReduxStore( storeName, options ).instantiate(\n\t\t\tregistry\n\t\t);\n\t\tregisterStoreInstance( storeName, store );\n\t\treturn store.store;\n\t}\n\n\t/**\n\t * Subscribe handler to a store.\n\t *\n\t * @param {string[]} storeName The store name.\n\t * @param {Function} handler The function subscribed to the store.\n\t * @return {Function} A function to unsubscribe the handler.\n\t */\n\tfunction __experimentalSubscribeStore( storeName, handler ) {\n\t\tif ( storeName in stores ) {\n\t\t\treturn stores[ storeName ].subscribe( handler );\n\t\t}\n\n\t\t// Trying to access a store that hasn't been registered,\n\t\t// this is a pattern rarely used but seen in some places.\n\t\t// We fallback to regular `subscribe` here for backward-compatibility for now.\n\t\t// See https://github.com/WordPress/gutenberg/pull/27466 for more info.\n\t\tif ( ! parent ) {\n\t\t\treturn subscribe( handler );\n\t\t}\n\n\t\treturn parent.__experimentalSubscribeStore( storeName, handler );\n\t}\n\n\tfunction batch( callback ) {\n\t\temitter.pause();\n\t\tforEach( stores, ( store ) => store.emitter.pause() );\n\t\tcallback();\n\t\temitter.resume();\n\t\tforEach( stores, ( store ) => store.emitter.resume() );\n\t}\n\n\tlet registry = {\n\t\tbatch,\n\t\tstores,\n\t\tnamespaces: stores, // TODO: Deprecate/remove this.\n\t\tsubscribe,\n\t\tselect,\n\t\tresolveSelect,\n\t\tdispatch,\n\t\tuse,\n\t\tregister,\n\t\tregisterGenericStore,\n\t\tregisterStore,\n\t\t__experimentalMarkListeningStores,\n\t\t__experimentalSubscribeStore,\n\t};\n\n\t//\n\t// TODO:\n\t// This function will be deprecated as soon as it is no longer internally referenced.\n\t//\n\tfunction use( plugin, options ) {\n\t\tregistry = {\n\t\t\t...registry,\n\t\t\t...plugin( registry, options ),\n\t\t};\n\n\t\treturn registry;\n\t}\n\n\tregistry.register( coreDataStore );\n\n\tfor ( const [ name, config ] of Object.entries( storeConfigs ) ) {\n\t\tregistry.register( createReduxStore( name, config ) );\n\t}\n\n\tif ( parent ) {\n\t\tparent.subscribe( globalListener );\n\t}\n\n\treturn withPlugins( registry );\n}\n"]}
@@ -6,7 +6,7 @@ import { get } from 'lodash';
6
6
  * Internal dependencies
7
7
  */
8
8
 
9
- import { STORE_NAME } from './store/name';
9
+ import coreDataStore from './store';
10
10
  /** @typedef {import('./registry').WPDataRegistry} WPDataRegistry */
11
11
 
12
12
  /**
@@ -21,8 +21,9 @@ import { STORE_NAME } from './store/name';
21
21
  */
22
22
 
23
23
  const createResolversCacheMiddleware = (registry, reducerKey) => () => next => action => {
24
- const resolvers = registry.select(STORE_NAME).getCachedResolvers(reducerKey);
25
- Object.entries(resolvers).forEach(([selectorName, resolversByArgs]) => {
24
+ const resolvers = registry.select(coreDataStore).getCachedResolvers(reducerKey);
25
+ Object.entries(resolvers).forEach(_ref => {
26
+ let [selectorName, resolversByArgs] = _ref;
26
27
  const resolver = get(registry.stores, [reducerKey, 'resolvers', selectorName]);
27
28
 
28
29
  if (!resolver || !resolver.shouldInvalidate) {
@@ -38,7 +39,7 @@ const createResolversCacheMiddleware = (registry, reducerKey) => () => next => a
38
39
  } // Trigger cache invalidation
39
40
 
40
41
 
41
- registry.dispatch(STORE_NAME).invalidateResolution(reducerKey, selectorName, args);
42
+ registry.dispatch(coreDataStore).invalidateResolution(reducerKey, selectorName, args);
42
43
  });
43
44
  });
44
45
  return next(action);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/resolvers-cache-middleware.js"],"names":["get","STORE_NAME","createResolversCacheMiddleware","registry","reducerKey","next","action","resolvers","select","getCachedResolvers","Object","entries","forEach","selectorName","resolversByArgs","resolver","stores","shouldInvalidate","value","args","dispatch","invalidateResolution"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,cAA3B;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,8BAA8B,GAAG,CAAEC,QAAF,EAAYC,UAAZ,KAA4B,MAClEC,IADwE,IAElEC,MAAF,IAAc;AAClB,QAAMC,SAAS,GAAGJ,QAAQ,CACxBK,MADgB,CACRP,UADQ,EAEhBQ,kBAFgB,CAEIL,UAFJ,CAAlB;AAGAM,EAAAA,MAAM,CAACC,OAAP,CAAgBJ,SAAhB,EAA4BK,OAA5B,CACC,CAAE,CAAEC,YAAF,EAAgBC,eAAhB,CAAF,KAAyC;AACxC,UAAMC,QAAQ,GAAGf,GAAG,CAAEG,QAAQ,CAACa,MAAX,EAAmB,CACtCZ,UADsC,EAEtC,WAFsC,EAGtCS,YAHsC,CAAnB,CAApB;;AAKA,QAAK,CAAEE,QAAF,IAAc,CAAEA,QAAQ,CAACE,gBAA9B,EAAiD;AAChD;AACA;;AACDH,IAAAA,eAAe,CAACF,OAAhB,CAAyB,CAAEM,KAAF,EAASC,IAAT,KAAmB;AAC3C;AACA;AACA;AACA,UACCD,KAAK,KAAK,KAAV,IACA,CAAEH,QAAQ,CAACE,gBAAT,CAA2BX,MAA3B,EAAmC,GAAGa,IAAtC,CAFH,EAGE;AACD;AACA,OAT0C,CAW3C;;;AACAhB,MAAAA,QAAQ,CACNiB,QADF,CACYnB,UADZ,EAEEoB,oBAFF,CAEwBjB,UAFxB,EAEoCS,YAFpC,EAEkDM,IAFlD;AAGA,KAfD;AAgBA,GA1BF;AA4BA,SAAOd,IAAI,CAAEC,MAAF,CAAX;AACA,CAnCD;;AAqCA,eAAeJ,8BAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME } from './store/name';\n\n/** @typedef {import('./registry').WPDataRegistry} WPDataRegistry */\n\n/**\n * Creates a middleware handling resolvers cache invalidation.\n *\n * @param {WPDataRegistry} registry The registry reference for which to create\n * the middleware.\n * @param {string} reducerKey The namespace for which to create the\n * middleware.\n *\n * @return {Function} Middleware function.\n */\nconst createResolversCacheMiddleware = ( registry, reducerKey ) => () => (\n\tnext\n) => ( action ) => {\n\tconst resolvers = registry\n\t\t.select( STORE_NAME )\n\t\t.getCachedResolvers( reducerKey );\n\tObject.entries( resolvers ).forEach(\n\t\t( [ selectorName, resolversByArgs ] ) => {\n\t\t\tconst resolver = get( registry.stores, [\n\t\t\t\treducerKey,\n\t\t\t\t'resolvers',\n\t\t\t\tselectorName,\n\t\t\t] );\n\t\t\tif ( ! resolver || ! resolver.shouldInvalidate ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolversByArgs.forEach( ( value, args ) => {\n\t\t\t\t// resolversByArgs is the map Map([ args ] => boolean) storing the cache resolution status for a given selector.\n\t\t\t\t// If the value is false it means this resolver has finished its resolution which means we need to invalidate it,\n\t\t\t\t// if it's true it means it's inflight and the invalidation is not necessary.\n\t\t\t\tif (\n\t\t\t\t\tvalue !== false ||\n\t\t\t\t\t! resolver.shouldInvalidate( action, ...args )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Trigger cache invalidation\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( STORE_NAME )\n\t\t\t\t\t.invalidateResolution( reducerKey, selectorName, args );\n\t\t\t} );\n\t\t}\n\t);\n\treturn next( action );\n};\n\nexport default createResolversCacheMiddleware;\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/resolvers-cache-middleware.js"],"names":["get","coreDataStore","createResolversCacheMiddleware","registry","reducerKey","next","action","resolvers","select","getCachedResolvers","Object","entries","forEach","selectorName","resolversByArgs","resolver","stores","shouldInvalidate","value","args","dispatch","invalidateResolution"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,OAAOC,aAAP,MAA0B,SAA1B;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,8BAA8B,GAAG,CAAEC,QAAF,EAAYC,UAAZ,KAA4B,MAClEC,IADwE,IAElEC,MAAF,IAAc;AAClB,QAAMC,SAAS,GAAGJ,QAAQ,CACxBK,MADgB,CACRP,aADQ,EAEhBQ,kBAFgB,CAEIL,UAFJ,CAAlB;AAGAM,EAAAA,MAAM,CAACC,OAAP,CAAgBJ,SAAhB,EAA4BK,OAA5B,CACC,QAAyC;AAAA,QAAvC,CAAEC,YAAF,EAAgBC,eAAhB,CAAuC;AACxC,UAAMC,QAAQ,GAAGf,GAAG,CAAEG,QAAQ,CAACa,MAAX,EAAmB,CACtCZ,UADsC,EAEtC,WAFsC,EAGtCS,YAHsC,CAAnB,CAApB;;AAKA,QAAK,CAAEE,QAAF,IAAc,CAAEA,QAAQ,CAACE,gBAA9B,EAAiD;AAChD;AACA;;AACDH,IAAAA,eAAe,CAACF,OAAhB,CAAyB,CAAEM,KAAF,EAASC,IAAT,KAAmB;AAC3C;AACA;AACA;AACA,UACCD,KAAK,KAAK,KAAV,IACA,CAAEH,QAAQ,CAACE,gBAAT,CAA2BX,MAA3B,EAAmC,GAAGa,IAAtC,CAFH,EAGE;AACD;AACA,OAT0C,CAW3C;;;AACAhB,MAAAA,QAAQ,CACNiB,QADF,CACYnB,aADZ,EAEEoB,oBAFF,CAEwBjB,UAFxB,EAEoCS,YAFpC,EAEkDM,IAFlD;AAGA,KAfD;AAgBA,GA1BF;AA4BA,SAAOd,IAAI,CAAEC,MAAF,CAAX;AACA,CAnCD;;AAqCA,eAAeJ,8BAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport coreDataStore from './store';\n\n/** @typedef {import('./registry').WPDataRegistry} WPDataRegistry */\n\n/**\n * Creates a middleware handling resolvers cache invalidation.\n *\n * @param {WPDataRegistry} registry The registry reference for which to create\n * the middleware.\n * @param {string} reducerKey The namespace for which to create the\n * middleware.\n *\n * @return {Function} Middleware function.\n */\nconst createResolversCacheMiddleware = ( registry, reducerKey ) => () => (\n\tnext\n) => ( action ) => {\n\tconst resolvers = registry\n\t\t.select( coreDataStore )\n\t\t.getCachedResolvers( reducerKey );\n\tObject.entries( resolvers ).forEach(\n\t\t( [ selectorName, resolversByArgs ] ) => {\n\t\t\tconst resolver = get( registry.stores, [\n\t\t\t\treducerKey,\n\t\t\t\t'resolvers',\n\t\t\t\tselectorName,\n\t\t\t] );\n\t\t\tif ( ! resolver || ! resolver.shouldInvalidate ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolversByArgs.forEach( ( value, args ) => {\n\t\t\t\t// resolversByArgs is the map Map([ args ] => boolean) storing the cache resolution status for a given selector.\n\t\t\t\t// If the value is false it means this resolver has finished its resolution which means we need to invalidate it,\n\t\t\t\t// if it's true it means it's inflight and the invalidation is not necessary.\n\t\t\t\tif (\n\t\t\t\t\tvalue !== false ||\n\t\t\t\t\t! resolver.shouldInvalidate( action, ...args )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Trigger cache invalidation\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( coreDataStore )\n\t\t\t\t\t.invalidateResolution( reducerKey, selectorName, args );\n\t\t\t} );\n\t\t}\n\t);\n\treturn next( action );\n};\n\nexport default createResolversCacheMiddleware;\n"]}
@@ -1,35 +1,43 @@
1
- function createCoreDataStore(registry) {
2
- const getCoreDataSelector = selectorName => (key, ...args) => {
3
- return registry.select(key)[selectorName](...args);
4
- };
5
-
6
- const getCoreDataAction = actionName => (key, ...args) => {
7
- return registry.dispatch(key)[actionName](...args);
8
- };
9
-
10
- return {
11
- getSelectors() {
12
- return ['getIsResolving', 'hasStartedResolution', 'hasFinishedResolution', 'isResolving', 'getCachedResolvers'].reduce((memo, selectorName) => ({ ...memo,
13
- [selectorName]: getCoreDataSelector(selectorName)
14
- }), {});
15
- },
16
-
17
- getActions() {
18
- return ['startResolution', 'finishResolution', 'invalidateResolution', 'invalidateResolutionForStore', 'invalidateResolutionForStoreSelector'].reduce((memo, actionName) => ({ ...memo,
19
- [actionName]: getCoreDataAction(actionName)
20
- }), {});
21
- },
22
-
23
- subscribe() {
24
- // There's no reasons to trigger any listener when we subscribe to this store
25
- // because there's no state stored in this store that need to retrigger selectors
26
- // if a change happens, the corresponding store where the tracking stated live
27
- // would have already triggered a "subscribe" call.
28
- return () => {};
29
- }
30
-
31
- };
32
- }
33
-
34
- export default createCoreDataStore;
1
+ const coreDataStore = {
2
+ name: 'core/data',
3
+
4
+ instantiate(registry) {
5
+ const getCoreDataSelector = selectorName => function (key) {
6
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
7
+ args[_key - 1] = arguments[_key];
8
+ }
9
+
10
+ return registry.select(key)[selectorName](...args);
11
+ };
12
+
13
+ const getCoreDataAction = actionName => function (key) {
14
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
15
+ args[_key2 - 1] = arguments[_key2];
16
+ }
17
+
18
+ return registry.dispatch(key)[actionName](...args);
19
+ };
20
+
21
+ return {
22
+ getSelectors() {
23
+ return Object.fromEntries(['getIsResolving', 'hasStartedResolution', 'hasFinishedResolution', 'isResolving', 'getCachedResolvers'].map(selectorName => [selectorName, getCoreDataSelector(selectorName)]));
24
+ },
25
+
26
+ getActions() {
27
+ return Object.fromEntries(['startResolution', 'finishResolution', 'invalidateResolution', 'invalidateResolutionForStore', 'invalidateResolutionForStoreSelector'].map(actionName => [actionName, getCoreDataAction(actionName)]));
28
+ },
29
+
30
+ subscribe() {
31
+ // There's no reasons to trigger any listener when we subscribe to this store
32
+ // because there's no state stored in this store that need to retrigger selectors
33
+ // if a change happens, the corresponding store where the tracking stated live
34
+ // would have already triggered a "subscribe" call.
35
+ return () => () => {};
36
+ }
37
+
38
+ };
39
+ }
40
+
41
+ };
42
+ export default coreDataStore;
35
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/store/index.js"],"names":["createCoreDataStore","registry","getCoreDataSelector","selectorName","key","args","select","getCoreDataAction","actionName","dispatch","getSelectors","reduce","memo","getActions","subscribe"],"mappings":"AAAA,SAASA,mBAAT,CAA8BC,QAA9B,EAAyC;AACxC,QAAMC,mBAAmB,GAAKC,YAAF,IAAoB,CAAEC,GAAF,EAAO,GAAGC,IAAV,KAAoB;AACnE,WAAOJ,QAAQ,CAACK,MAAT,CAAiBF,GAAjB,EAAwBD,YAAxB,EAAwC,GAAGE,IAA3C,CAAP;AACA,GAFD;;AAIA,QAAME,iBAAiB,GAAKC,UAAF,IAAkB,CAAEJ,GAAF,EAAO,GAAGC,IAAV,KAAoB;AAC/D,WAAOJ,QAAQ,CAACQ,QAAT,CAAmBL,GAAnB,EAA0BI,UAA1B,EAAwC,GAAGH,IAA3C,CAAP;AACA,GAFD;;AAIA,SAAO;AACNK,IAAAA,YAAY,GAAG;AACd,aAAO,CACN,gBADM,EAEN,sBAFM,EAGN,uBAHM,EAIN,aAJM,EAKN,oBALM,EAMLC,MANK,CAON,CAAEC,IAAF,EAAQT,YAAR,MAA4B,EAC3B,GAAGS,IADwB;AAE3B,SAAET,YAAF,GAAkBD,mBAAmB,CAAEC,YAAF;AAFV,OAA5B,CAPM,EAWN,EAXM,CAAP;AAaA,KAfK;;AAiBNU,IAAAA,UAAU,GAAG;AACZ,aAAO,CACN,iBADM,EAEN,kBAFM,EAGN,sBAHM,EAIN,8BAJM,EAKN,sCALM,EAMLF,MANK,CAON,CAAEC,IAAF,EAAQJ,UAAR,MAA0B,EACzB,GAAGI,IADsB;AAEzB,SAAEJ,UAAF,GAAgBD,iBAAiB,CAAEC,UAAF;AAFR,OAA1B,CAPM,EAWN,EAXM,CAAP;AAaA,KA/BK;;AAiCNM,IAAAA,SAAS,GAAG;AACX;AACA;AACA;AACA;AACA,aAAO,MAAM,CAAE,CAAf;AACA;;AAvCK,GAAP;AAyCA;;AAED,eAAed,mBAAf","sourcesContent":["function createCoreDataStore( registry ) {\n\tconst getCoreDataSelector = ( selectorName ) => ( key, ...args ) => {\n\t\treturn registry.select( key )[ selectorName ]( ...args );\n\t};\n\n\tconst getCoreDataAction = ( actionName ) => ( key, ...args ) => {\n\t\treturn registry.dispatch( key )[ actionName ]( ...args );\n\t};\n\n\treturn {\n\t\tgetSelectors() {\n\t\t\treturn [\n\t\t\t\t'getIsResolving',\n\t\t\t\t'hasStartedResolution',\n\t\t\t\t'hasFinishedResolution',\n\t\t\t\t'isResolving',\n\t\t\t\t'getCachedResolvers',\n\t\t\t].reduce(\n\t\t\t\t( memo, selectorName ) => ( {\n\t\t\t\t\t...memo,\n\t\t\t\t\t[ selectorName ]: getCoreDataSelector( selectorName ),\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\n\t\tgetActions() {\n\t\t\treturn [\n\t\t\t\t'startResolution',\n\t\t\t\t'finishResolution',\n\t\t\t\t'invalidateResolution',\n\t\t\t\t'invalidateResolutionForStore',\n\t\t\t\t'invalidateResolutionForStoreSelector',\n\t\t\t].reduce(\n\t\t\t\t( memo, actionName ) => ( {\n\t\t\t\t\t...memo,\n\t\t\t\t\t[ actionName ]: getCoreDataAction( actionName ),\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\n\t\tsubscribe() {\n\t\t\t// There's no reasons to trigger any listener when we subscribe to this store\n\t\t\t// because there's no state stored in this store that need to retrigger selectors\n\t\t\t// if a change happens, the corresponding store where the tracking stated live\n\t\t\t// would have already triggered a \"subscribe\" call.\n\t\t\treturn () => {};\n\t\t},\n\t};\n}\n\nexport default createCoreDataStore;\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/store/index.js"],"names":["coreDataStore","name","instantiate","registry","getCoreDataSelector","selectorName","key","args","select","getCoreDataAction","actionName","dispatch","getSelectors","Object","fromEntries","map","getActions","subscribe"],"mappings":"AAAA,MAAMA,aAAa,GAAG;AACrBC,EAAAA,IAAI,EAAE,WADe;;AAErBC,EAAAA,WAAW,CAAEC,QAAF,EAAa;AACvB,UAAMC,mBAAmB,GAAKC,YAAF,IAAoB,UAAEC,GAAF,EAAoB;AAAA,wCAAVC,IAAU;AAAVA,QAAAA,IAAU;AAAA;;AACnE,aAAOJ,QAAQ,CAACK,MAAT,CAAiBF,GAAjB,EAAwBD,YAAxB,EAAwC,GAAGE,IAA3C,CAAP;AACA,KAFD;;AAIA,UAAME,iBAAiB,GAAKC,UAAF,IAAkB,UAAEJ,GAAF,EAAoB;AAAA,yCAAVC,IAAU;AAAVA,QAAAA,IAAU;AAAA;;AAC/D,aAAOJ,QAAQ,CAACQ,QAAT,CAAmBL,GAAnB,EAA0BI,UAA1B,EAAwC,GAAGH,IAA3C,CAAP;AACA,KAFD;;AAIA,WAAO;AACNK,MAAAA,YAAY,GAAG;AACd,eAAOC,MAAM,CAACC,WAAP,CACN,CACC,gBADD,EAEC,sBAFD,EAGC,uBAHD,EAIC,aAJD,EAKC,oBALD,EAMEC,GANF,CAMSV,YAAF,IAAoB,CAC1BA,YAD0B,EAE1BD,mBAAmB,CAAEC,YAAF,CAFO,CAN3B,CADM,CAAP;AAYA,OAdK;;AAgBNW,MAAAA,UAAU,GAAG;AACZ,eAAOH,MAAM,CAACC,WAAP,CACN,CACC,iBADD,EAEC,kBAFD,EAGC,sBAHD,EAIC,8BAJD,EAKC,sCALD,EAMEC,GANF,CAMSL,UAAF,IAAkB,CACxBA,UADwB,EAExBD,iBAAiB,CAAEC,UAAF,CAFO,CANzB,CADM,CAAP;AAYA,OA7BK;;AA+BNO,MAAAA,SAAS,GAAG;AACX;AACA;AACA;AACA;AACA,eAAO,MAAM,MAAM,CAAE,CAArB;AACA;;AArCK,KAAP;AAuCA;;AAlDoB,CAAtB;AAqDA,eAAejB,aAAf","sourcesContent":["const coreDataStore = {\n\tname: 'core/data',\n\tinstantiate( registry ) {\n\t\tconst getCoreDataSelector = ( selectorName ) => ( key, ...args ) => {\n\t\t\treturn registry.select( key )[ selectorName ]( ...args );\n\t\t};\n\n\t\tconst getCoreDataAction = ( actionName ) => ( key, ...args ) => {\n\t\t\treturn registry.dispatch( key )[ actionName ]( ...args );\n\t\t};\n\n\t\treturn {\n\t\t\tgetSelectors() {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\t[\n\t\t\t\t\t\t'getIsResolving',\n\t\t\t\t\t\t'hasStartedResolution',\n\t\t\t\t\t\t'hasFinishedResolution',\n\t\t\t\t\t\t'isResolving',\n\t\t\t\t\t\t'getCachedResolvers',\n\t\t\t\t\t].map( ( selectorName ) => [\n\t\t\t\t\t\tselectorName,\n\t\t\t\t\t\tgetCoreDataSelector( selectorName ),\n\t\t\t\t\t] )\n\t\t\t\t);\n\t\t\t},\n\n\t\t\tgetActions() {\n\t\t\t\treturn Object.fromEntries(\n\t\t\t\t\t[\n\t\t\t\t\t\t'startResolution',\n\t\t\t\t\t\t'finishResolution',\n\t\t\t\t\t\t'invalidateResolution',\n\t\t\t\t\t\t'invalidateResolutionForStore',\n\t\t\t\t\t\t'invalidateResolutionForStoreSelector',\n\t\t\t\t\t].map( ( actionName ) => [\n\t\t\t\t\t\tactionName,\n\t\t\t\t\t\tgetCoreDataAction( actionName ),\n\t\t\t\t\t] )\n\t\t\t\t);\n\t\t\t},\n\n\t\t\tsubscribe() {\n\t\t\t\t// There's no reasons to trigger any listener when we subscribe to this store\n\t\t\t\t// because there's no state stored in this store that need to retrigger selectors\n\t\t\t\t// if a change happens, the corresponding store where the tracking stated live\n\t\t\t\t// would have already triggered a \"subscribe\" call.\n\t\t\t\treturn () => () => {};\n\t\t\t},\n\t\t};\n\t},\n};\n\nexport default coreDataStore;\n"]}
@@ -1,2 +1,2 @@
1
-
1
+ export {};
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Create an event emitter.
3
3
  *
4
- * @return {import("../types").WPDataEmitter} Emitter.
4
+ * @return {import("../types").DataEmitter} Emitter.
5
5
  */
6
6
  export function createEmitter() {
7
7
  let isPaused = false;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/data/src/utils/emitter.js"],"names":["createEmitter","isPaused","isPending","listeners","Set","notifyListeners","Array","from","forEach","listener","subscribe","add","delete","pause","resume","emit"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,aAAT,GAAyB;AAC/B,MAAIC,QAAQ,GAAG,KAAf;AACA,MAAIC,SAAS,GAAG,KAAhB;AACA,QAAMC,SAAS,GAAG,IAAIC,GAAJ,EAAlB;;AACA,QAAMC,eAAe,GAAG,MACvB;AACA;AACA;AACAC,EAAAA,KAAK,CAACC,IAAN,CAAYJ,SAAZ,EAAwBK,OAAxB,CAAmCC,QAAF,IAAgBA,QAAQ,EAAzD,CAJD;;AAMA,SAAO;AACN,QAAIR,QAAJ,GAAe;AACd,aAAOA,QAAP;AACA,KAHK;;AAKNS,IAAAA,SAAS,CAAED,QAAF,EAAa;AACrBN,MAAAA,SAAS,CAACQ,GAAV,CAAeF,QAAf;AACA,aAAO,MAAMN,SAAS,CAACS,MAAV,CAAkBH,QAAlB,CAAb;AACA,KARK;;AAUNI,IAAAA,KAAK,GAAG;AACPZ,MAAAA,QAAQ,GAAG,IAAX;AACA,KAZK;;AAcNa,IAAAA,MAAM,GAAG;AACRb,MAAAA,QAAQ,GAAG,KAAX;;AACA,UAAKC,SAAL,EAAiB;AAChBA,QAAAA,SAAS,GAAG,KAAZ;AACAG,QAAAA,eAAe;AACf;AACD,KApBK;;AAsBNU,IAAAA,IAAI,GAAG;AACN,UAAKd,QAAL,EAAgB;AACfC,QAAAA,SAAS,GAAG,IAAZ;AACA;AACA;;AACDG,MAAAA,eAAe;AACf;;AA5BK,GAAP;AA8BA","sourcesContent":["/**\n * Create an event emitter.\n *\n * @return {import(\"../types\").WPDataEmitter} Emitter.\n */\nexport function createEmitter() {\n\tlet isPaused = false;\n\tlet isPending = false;\n\tconst listeners = new Set();\n\tconst notifyListeners = () =>\n\t\t// We use Array.from to clone the listeners Set\n\t\t// This ensures that we don't run a listener\n\t\t// that was added as a response to another listener.\n\t\tArray.from( listeners ).forEach( ( listener ) => listener() );\n\n\treturn {\n\t\tget isPaused() {\n\t\t\treturn isPaused;\n\t\t},\n\n\t\tsubscribe( listener ) {\n\t\t\tlisteners.add( listener );\n\t\t\treturn () => listeners.delete( listener );\n\t\t},\n\n\t\tpause() {\n\t\t\tisPaused = true;\n\t\t},\n\n\t\tresume() {\n\t\t\tisPaused = false;\n\t\t\tif ( isPending ) {\n\t\t\t\tisPending = false;\n\t\t\t\tnotifyListeners();\n\t\t\t}\n\t\t},\n\n\t\temit() {\n\t\t\tif ( isPaused ) {\n\t\t\t\tisPending = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tnotifyListeners();\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/data/src/utils/emitter.js"],"names":["createEmitter","isPaused","isPending","listeners","Set","notifyListeners","Array","from","forEach","listener","subscribe","add","delete","pause","resume","emit"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,aAAT,GAAyB;AAC/B,MAAIC,QAAQ,GAAG,KAAf;AACA,MAAIC,SAAS,GAAG,KAAhB;AACA,QAAMC,SAAS,GAAG,IAAIC,GAAJ,EAAlB;;AACA,QAAMC,eAAe,GAAG,MACvB;AACA;AACA;AACAC,EAAAA,KAAK,CAACC,IAAN,CAAYJ,SAAZ,EAAwBK,OAAxB,CAAmCC,QAAF,IAAgBA,QAAQ,EAAzD,CAJD;;AAMA,SAAO;AACN,QAAIR,QAAJ,GAAe;AACd,aAAOA,QAAP;AACA,KAHK;;AAKNS,IAAAA,SAAS,CAAED,QAAF,EAAa;AACrBN,MAAAA,SAAS,CAACQ,GAAV,CAAeF,QAAf;AACA,aAAO,MAAMN,SAAS,CAACS,MAAV,CAAkBH,QAAlB,CAAb;AACA,KARK;;AAUNI,IAAAA,KAAK,GAAG;AACPZ,MAAAA,QAAQ,GAAG,IAAX;AACA,KAZK;;AAcNa,IAAAA,MAAM,GAAG;AACRb,MAAAA,QAAQ,GAAG,KAAX;;AACA,UAAKC,SAAL,EAAiB;AAChBA,QAAAA,SAAS,GAAG,KAAZ;AACAG,QAAAA,eAAe;AACf;AACD,KApBK;;AAsBNU,IAAAA,IAAI,GAAG;AACN,UAAKd,QAAL,EAAgB;AACfC,QAAAA,SAAS,GAAG,IAAZ;AACA;AACA;;AACDG,MAAAA,eAAe;AACf;;AA5BK,GAAP;AA8BA","sourcesContent":["/**\n * Create an event emitter.\n *\n * @return {import(\"../types\").DataEmitter} Emitter.\n */\nexport function createEmitter() {\n\tlet isPaused = false;\n\tlet isPending = false;\n\tconst listeners = new Set();\n\tconst notifyListeners = () =>\n\t\t// We use Array.from to clone the listeners Set\n\t\t// This ensures that we don't run a listener\n\t\t// that was added as a response to another listener.\n\t\tArray.from( listeners ).forEach( ( listener ) => listener() );\n\n\treturn {\n\t\tget isPaused() {\n\t\t\treturn isPaused;\n\t\t},\n\n\t\tsubscribe( listener ) {\n\t\t\tlisteners.add( listener );\n\t\t\treturn () => listeners.delete( listener );\n\t\t},\n\n\t\tpause() {\n\t\t\tisPaused = true;\n\t\t},\n\n\t\tresume() {\n\t\t\tisPaused = false;\n\t\t\tif ( isPending ) {\n\t\t\t\tisPending = false;\n\t\t\t\tnotifyListeners();\n\t\t\t}\n\t\t},\n\n\t\temit() {\n\t\t\tif ( isPaused ) {\n\t\t\t\tisPending = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tnotifyListeners();\n\t\t},\n\t};\n}\n"]}
@@ -1,35 +1,48 @@
1
- export declare type WPDataFunctionOrGeneratorArray = Array<Function | Generator>;
2
- export declare type WPDataFunctionArray = Array<Function>;
3
- export interface WPDataAttachedStore {
4
- getSelectors: () => WPDataFunctionArray;
5
- getActions: () => WPDataFunctionArray;
1
+ declare type MapOf<T> = {
2
+ [name: string]: T;
3
+ };
4
+ export declare type ActionCreator = Function | Generator;
5
+ export declare type Resolver = Function | Generator;
6
+ export declare type Selector = Function;
7
+ export declare type AnyConfig = ReduxStoreConfig<any, any, any>;
8
+ export interface StoreInstance<Config extends AnyConfig> {
9
+ getSelectors: () => SelectorsOf<Config>;
10
+ getActions: () => ActionCreatorsOf<Config>;
6
11
  subscribe: (listener: () => void) => () => void;
7
12
  }
8
- export interface WPDataStore {
13
+ export interface StoreDescriptor<Config extends AnyConfig> {
9
14
  /**
10
15
  * Store Name
11
16
  */
12
17
  name: string;
13
18
  /**
14
- * Store configuration object.
19
+ * Creates a store instance
15
20
  */
16
- instantiate: (registry: WPDataRegistry) => WPDataAttachedStore;
21
+ instantiate: (registry: DataRegistry) => StoreInstance<Config>;
17
22
  }
18
- export interface WPDataReduxStoreConfig {
23
+ export interface ReduxStoreConfig<State, ActionCreators extends MapOf<ActionCreator>, Selectors extends MapOf<Selector>> {
24
+ initialState?: State;
19
25
  reducer: (state: any, action: any) => any;
20
- actions?: WPDataFunctionOrGeneratorArray;
21
- resolvers?: WPDataFunctionOrGeneratorArray;
22
- selectors?: WPDataFunctionArray;
23
- controls?: WPDataFunctionArray;
26
+ actions?: ActionCreators;
27
+ resolvers?: MapOf<Resolver>;
28
+ selectors?: Selectors;
29
+ controls?: MapOf<Function>;
24
30
  }
25
- export interface WPDataRegistry {
26
- register: (store: WPDataStore) => void;
31
+ export interface DataRegistry {
32
+ register: (store: StoreDescriptor<any>) => void;
27
33
  }
28
- export interface WPDataEmitter {
34
+ export interface DataEmitter {
29
35
  emit: () => void;
30
36
  subscribe: (listener: () => void) => () => void;
31
37
  pause: () => void;
32
38
  resume: () => void;
33
39
  isPaused: boolean;
34
40
  }
41
+ declare type ActionCreatorsOf<Config extends AnyConfig> = Config extends ReduxStoreConfig<any, infer ActionCreators, any> ? {
42
+ [name in keyof ActionCreators]: Function | Generator;
43
+ } : never;
44
+ declare type SelectorsOf<Config extends AnyConfig> = Config extends ReduxStoreConfig<any, any, infer Selectors> ? {
45
+ [name in keyof Selectors]: Function;
46
+ } : never;
47
+ export {};
35
48
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,8BAA8B,GAAG,KAAK,CAAE,QAAQ,GAAG,SAAS,CAAE,CAAC;AAC3E,oBAAY,mBAAmB,GAAG,KAAK,CAAE,QAAQ,CAAE,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IACnC,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,UAAU,EAAE,MAAM,mBAAmB,CAAC;IACtC,SAAS,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,MAAM,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,CAAE,QAAQ,EAAE,cAAc,KAAM,mBAAmB,CAAC;CACjE;AAED,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,CAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAM,GAAG,CAAC;IAC5C,OAAO,CAAC,EAAE,8BAA8B,CAAC;IACzC,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,CAAE,KAAK,EAAE,WAAW,KAAM,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,MAAM,IAAI,CAAC;IAClD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,aAAK,KAAK,CAAE,CAAC,IAAK;IAAE,CAAE,IAAI,EAAE,MAAM,GAAI,CAAC,CAAA;CAAE,CAAC;AAE1C,oBAAY,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AACjD,oBAAY,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5C,oBAAY,QAAQ,GAAG,QAAQ,CAAC;AAEhC,oBAAY,SAAS,GAAG,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE,CAAC;AAE1D,MAAM,WAAW,aAAa,CAAE,MAAM,SAAS,SAAS;IACvD,YAAY,EAAE,MAAM,WAAW,CAAE,MAAM,CAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,gBAAgB,CAAE,MAAM,CAAE,CAAC;IAC7C,SAAS,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,MAAM,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,eAAe,CAAE,MAAM,SAAS,SAAS;IACzD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,CAAE,QAAQ,EAAE,YAAY,KAAM,aAAa,CAAE,MAAM,CAAE,CAAC;CACnE;AAED,MAAM,WAAW,gBAAgB,CAChC,KAAK,EACL,cAAc,SAAS,KAAK,CAAE,aAAa,CAAE,EAC7C,SAAS,SAAS,KAAK,CAAE,QAAQ,CAAE;IAEnC,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,CAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAM,GAAG,CAAC;IAC5C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAE,QAAQ,CAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAE,QAAQ,CAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,CAAE,KAAK,EAAE,eAAe,CAAE,GAAG,CAAE,KAAM,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,MAAM,IAAI,CAAC;IAClD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAMD,aAAK,gBAAgB,CACpB,MAAM,SAAS,SAAS,IACrB,MAAM,SAAS,gBAAgB,CAAE,GAAG,EAAE,MAAM,cAAc,EAAE,GAAG,CAAE,GAClE;KAAI,IAAI,IAAI,MAAM,cAAc,GAAI,QAAQ,GAAG,SAAS;CAAE,GAC1D,KAAK,CAAC;AAET,aAAK,WAAW,CAAE,MAAM,SAAS,SAAS,IAAK,MAAM,SAAS,gBAAgB,CAC7E,GAAG,EACH,GAAG,EACH,MAAM,SAAS,CACf,GACE;KAAI,IAAI,IAAI,MAAM,SAAS,GAAI,QAAQ;CAAE,GACzC,KAAK,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Create an event emitter.
3
3
  *
4
- * @return {import("../types").WPDataEmitter} Emitter.
4
+ * @return {import("../types").DataEmitter} Emitter.
5
5
  */
6
- export function createEmitter(): import("../types").WPDataEmitter;
6
+ export function createEmitter(): import("../types").DataEmitter;
7
7
  //# sourceMappingURL=emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/utils/emitter.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,iCAFY,OAAO,UAAU,EAAE,aAAa,CA0C3C"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/utils/emitter.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,iCAFY,OAAO,UAAU,EAAE,WAAW,CA0CzC"}