@wordpress/core-data
Version:
Access to and manipulation of core WordPress entities.
210 lines (206 loc) • 8.49 kB
JavaScript
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
;