@mason-api/javascript-sdk
Version:
Mason component rendering library
18 lines (16 loc) • 528 B
JavaScript
import _ from 'lodash';
import update from 'immutability-helper';
export default getContext => (node) => {
if (node.tag === 'mason-canvas') {
const { components, transformations } = getContext();
const componentId = node.p['data-id'] || node.p.id;
const component = _.get(components, componentId);
if (component) {
const embeddedTree = _.mapValues(component.config.data.default.tree, transformations);
return update(node, {
c: { $set: embeddedTree },
});
}
}
return node;
};