ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
24 lines • 919 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchRelatedRecords = void 0;
const getRelatedIds_1 = require("./getRelatedIds.cjs");
/**
* Helper function for calling the dataProvider.getMany() method,
* and getting a Promise for the records indexed by id in return.
*
* @example
* fetchRelatedRecords(dataProvider)(records, 'post_id', 'posts').then(posts =>
* posts.map(record => ({
* ...record,
* post_title: posts[record.post_id].title,
* }))
* );
*/
const fetchRelatedRecords = (dataProvider) => (data, field, resource) => dataProvider
.getMany(resource, { ids: (0, getRelatedIds_1.getRelatedIds)(data, field) })
.then(({ data }) => data.reduce((acc, post) => {
acc[post.id] = post;
return acc;
}, {}));
exports.fetchRelatedRecords = fetchRelatedRecords;
//# sourceMappingURL=fetchRelatedRecords.js.map