UNPKG

@wordpress/core-data

Version:
118 lines (117 loc) 4.36 kB
// packages/core-data/src/index.js import { createReduxStore, register } from "@wordpress/data"; import reducer from "./reducer"; import * as selectors from "./selectors"; import * as privateSelectors from "./private-selectors"; import * as actions from "./actions"; import * as privateActions from "./private-actions"; import * as resolvers from "./resolvers"; import createLocksActions from "./locks/actions"; import { rootEntitiesConfig, additionalEntityConfigLoaders, getMethodName } from "./entities"; import { STORE_NAME } from "./name"; import { unlock } from "./lock-unlock"; import { dynamicActions, dynamicSelectors } from "./dynamic-entities"; import logEntityDeprecation from "./utils/log-entity-deprecation"; import { default as default2 } from "./entity-provider"; export * from "./entity-provider"; export * from "./entity-types"; export * from "./fetch"; export * from "./hooks"; export * from "./private-apis"; var entitiesConfig = [ ...rootEntitiesConfig, ...additionalEntityConfigLoaders.filter((config) => !!config.name) ]; var entitySelectors = entitiesConfig.reduce((result, entity) => { const { kind, name, plural } = entity; const getEntityRecordMethodName = getMethodName(kind, name); result[getEntityRecordMethodName] = (state, key, query) => { logEntityDeprecation(kind, name, getEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: "getEntityRecord" }); return selectors.getEntityRecord(state, kind, name, key, query); }; if (plural) { const getEntityRecordsMethodName = getMethodName(kind, plural, "get"); result[getEntityRecordsMethodName] = (state, query) => { logEntityDeprecation(kind, name, getEntityRecordsMethodName, { isShorthandSelector: true, alternativeFunctionName: "getEntityRecords" }); return selectors.getEntityRecords(state, kind, name, query); }; } return result; }, {}); var entityResolvers = entitiesConfig.reduce((result, entity) => { const { kind, name, plural } = entity; const getEntityRecordMethodName = getMethodName(kind, name); result[getEntityRecordMethodName] = (key, query) => { logEntityDeprecation(kind, name, getEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: "getEntityRecord" }); return resolvers.getEntityRecord(kind, name, key, query); }; if (plural) { const getEntityRecordsMethodName = getMethodName(kind, plural, "get"); result[getEntityRecordsMethodName] = (...args) => { logEntityDeprecation(kind, plural, getEntityRecordsMethodName, { isShorthandSelector: true, alternativeFunctionName: "getEntityRecords" }); return resolvers.getEntityRecords(kind, name, ...args); }; result[getEntityRecordsMethodName].shouldInvalidate = (action) => resolvers.getEntityRecords.shouldInvalidate(action, kind, name); } return result; }, {}); var entityActions = entitiesConfig.reduce((result, entity) => { const { kind, name } = entity; const saveEntityRecordMethodName = getMethodName(kind, name, "save"); result[saveEntityRecordMethodName] = (record, options) => { logEntityDeprecation(kind, name, saveEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: "saveEntityRecord" }); return actions.saveEntityRecord(kind, name, record, options); }; const deleteEntityRecordMethodName = getMethodName(kind, name, "delete"); result[deleteEntityRecordMethodName] = (key, query, options) => { logEntityDeprecation(kind, name, deleteEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: "deleteEntityRecord" }); return actions.deleteEntityRecord(kind, name, key, query, options); }; return result; }, {}); var storeConfig = () => ({ reducer, actions: { ...dynamicActions, ...actions, ...entityActions, ...createLocksActions() }, selectors: { ...dynamicSelectors, ...selectors, ...entitySelectors }, resolvers: { ...resolvers, ...entityResolvers } }); var store = createReduxStore(STORE_NAME, storeConfig()); unlock(store).registerPrivateSelectors(privateSelectors); unlock(store).registerPrivateActions(privateActions); register(store); export { default2 as EntityProvider, store }; //# sourceMappingURL=index.js.map