@mason-api/javascript-sdk
Version:
Mason component rendering library
40 lines (29 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _lodash = _interopRequireDefault(require("lodash"));
var _immutabilityHelper = _interopRequireDefault(require("immutability-helper"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = function _default(getContext) {
return function (node) {
if (node.tag === 'mason-canvas') {
var _getContext = getContext(),
components = _getContext.components,
transformations = _getContext.transformations;
var componentId = node.p['data-id'] || node.p.id;
var component = _lodash.default.get(components, componentId);
if (component) {
var embeddedTree = _lodash.default.mapValues(component.config.data.default.tree, transformations);
return (0, _immutabilityHelper.default)(node, {
c: {
$set: embeddedTree
}
});
}
}
return node;
};
};
exports.default = _default;