twing
Version:
First-class Twig engine for Node.js
22 lines (21 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeBlockReferenceNodeSynchronously = exports.executeBlockReferenceNode = void 0;
const traceable_method_1 = require("../helpers/traceable-method");
const executeBlockReferenceNode = (node, executionContext) => {
const { template, context } = executionContext;
const { name } = node.attributes;
const displayBlock = (0, traceable_method_1.getTraceableMethod)(template.displayBlock, node, template.source);
return displayBlock(Object.assign(Object.assign({}, executionContext), { context: context.clone() }), name, true);
};
exports.executeBlockReferenceNode = executeBlockReferenceNode;
const executeBlockReferenceNodeSynchronously = (node, executionContext) => {
const { template, context } = executionContext;
const { name } = node.attributes;
const displayBlock = (0, traceable_method_1.getSynchronousTraceableMethod)(template.displayBlock, node, template.source);
return displayBlock(Object.assign(Object.assign({}, executionContext), {
// todo: was context: context.clone()
// context: context.clone()
context: new Map(context.entries()) }), name, true);
};
exports.executeBlockReferenceNodeSynchronously = executeBlockReferenceNodeSynchronously;