@wordpress/data
Version:
Data module for WordPress.
34 lines (33 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
const coreDataStore = {
name: 'core/data',
instantiate(registry) {
const getCoreDataSelector = selectorName => (key, ...args) => {
return registry.select(key)[selectorName](...args);
};
const getCoreDataAction = actionName => (key, ...args) => {
return registry.dispatch(key)[actionName](...args);
};
return {
getSelectors() {
return Object.fromEntries(['getIsResolving', 'hasStartedResolution', 'hasFinishedResolution', 'isResolving', 'getCachedResolvers'].map(selectorName => [selectorName, getCoreDataSelector(selectorName)]));
},
getActions() {
return Object.fromEntries(['startResolution', 'finishResolution', 'invalidateResolution', 'invalidateResolutionForStore', 'invalidateResolutionForStoreSelector'].map(actionName => [actionName, getCoreDataAction(actionName)]));
},
subscribe() {
// There's no reasons to trigger any listener when we subscribe to this store
// because there's no state stored in this store that need to retrigger selectors
// if a change happens, the corresponding store where the tracking stated live
// would have already triggered a "subscribe" call.
return () => () => {};
}
};
}
};
var _default = exports.default = coreDataStore;
//# sourceMappingURL=index.js.map