UNPKG

@wordpress/core-data

Version:
210 lines (206 loc) 8.49 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { store: true, EntityProvider: true }; Object.defineProperty(exports, "EntityProvider", { enumerable: true, get: function () { return _entityProvider.default; } }); exports.store = void 0; var _data = require("@wordpress/data"); var _reducer = _interopRequireDefault(require("./reducer")); var selectors = _interopRequireWildcard(require("./selectors")); var privateSelectors = _interopRequireWildcard(require("./private-selectors")); var actions = _interopRequireWildcard(require("./actions")); var privateActions = _interopRequireWildcard(require("./private-actions")); var resolvers = _interopRequireWildcard(require("./resolvers")); var _actions2 = _interopRequireDefault(require("./locks/actions")); var _entities = require("./entities"); var _name = require("./name"); var _lockUnlock = require("./lock-unlock"); var _dynamicEntities = require("./dynamic-entities"); var _logEntityDeprecation = _interopRequireDefault(require("./utils/log-entity-deprecation")); var _entityProvider = _interopRequireWildcard(require("./entity-provider")); Object.keys(_entityProvider).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _entityProvider[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _entityProvider[key]; } }); }); var _entityTypes = require("./entity-types"); Object.keys(_entityTypes).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _entityTypes[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _entityTypes[key]; } }); }); var _fetch = require("./fetch"); Object.keys(_fetch).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _fetch[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _fetch[key]; } }); }); var _hooks = require("./hooks"); Object.keys(_hooks).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _hooks[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _hooks[key]; } }); }); var _privateApis = require("./private-apis"); Object.keys(_privateApis).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _privateApis[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _privateApis[key]; } }); }); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * WordPress dependencies */ /** * Internal dependencies */ // The entity selectors/resolvers and actions are shortcuts to their generic equivalents // (getEntityRecord, getEntityRecords, updateEntityRecord, updateEntityRecords) // Instead of getEntityRecord, the consumer could use more user-friendly named selector: getPostType, getTaxonomy... // The "kind" and the "name" of the entity are combined to generate these shortcuts. const entitiesConfig = [..._entities.rootEntitiesConfig, ..._entities.additionalEntityConfigLoaders.filter(config => !!config.name)]; const entitySelectors = entitiesConfig.reduce((result, entity) => { const { kind, name, plural } = entity; const getEntityRecordMethodName = (0, _entities.getMethodName)(kind, name); result[getEntityRecordMethodName] = (state, key, query) => { (0, _logEntityDeprecation.default)(kind, name, getEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: 'getEntityRecord' }); return selectors.getEntityRecord(state, kind, name, key, query); }; if (plural) { const getEntityRecordsMethodName = (0, _entities.getMethodName)(kind, plural, 'get'); result[getEntityRecordsMethodName] = (state, query) => { (0, _logEntityDeprecation.default)(kind, name, getEntityRecordsMethodName, { isShorthandSelector: true, alternativeFunctionName: 'getEntityRecords' }); return selectors.getEntityRecords(state, kind, name, query); }; } return result; }, {}); const entityResolvers = entitiesConfig.reduce((result, entity) => { const { kind, name, plural } = entity; const getEntityRecordMethodName = (0, _entities.getMethodName)(kind, name); result[getEntityRecordMethodName] = (key, query) => { (0, _logEntityDeprecation.default)(kind, name, getEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: 'getEntityRecord' }); return resolvers.getEntityRecord(kind, name, key, query); }; if (plural) { const getEntityRecordsMethodName = (0, _entities.getMethodName)(kind, plural, 'get'); result[getEntityRecordsMethodName] = (...args) => { (0, _logEntityDeprecation.default)(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; }, {}); const entityActions = entitiesConfig.reduce((result, entity) => { const { kind, name } = entity; const saveEntityRecordMethodName = (0, _entities.getMethodName)(kind, name, 'save'); result[saveEntityRecordMethodName] = (record, options) => { (0, _logEntityDeprecation.default)(kind, name, saveEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: 'saveEntityRecord' }); return actions.saveEntityRecord(kind, name, record, options); }; const deleteEntityRecordMethodName = (0, _entities.getMethodName)(kind, name, 'delete'); result[deleteEntityRecordMethodName] = (key, query, options) => { (0, _logEntityDeprecation.default)(kind, name, deleteEntityRecordMethodName, { isShorthandSelector: true, alternativeFunctionName: 'deleteEntityRecord' }); return actions.deleteEntityRecord(kind, name, key, query, options); }; return result; }, {}); const storeConfig = () => ({ reducer: _reducer.default, actions: { ..._dynamicEntities.dynamicActions, ...actions, ...entityActions, ...(0, _actions2.default)() }, selectors: { ..._dynamicEntities.dynamicSelectors, ...selectors, ...entitySelectors }, resolvers: { ...resolvers, ...entityResolvers } }); /** * Store definition for the code data namespace. * * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore */ const store = exports.store = (0, _data.createReduxStore)(_name.STORE_NAME, storeConfig()); (0, _lockUnlock.unlock)(store).registerPrivateSelectors(privateSelectors); (0, _lockUnlock.unlock)(store).registerPrivateActions(privateActions); (0, _data.register)(store); // Register store after unlocking private selectors to allow resolvers to use them. //# sourceMappingURL=index.js.map