UNPKG

@mason-api/javascript-sdk

Version:

Mason component rendering library

18 lines (16 loc) 528 B
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; };