UNPKG

twing

Version:

First-class Twig engine for Node.js

30 lines (29 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSetNode = void 0; const node_1 = require("../node"); const constant_1 = require("./expression/constant"); const createSetNode = (captures, names, values, line, column, tag) => { const setNode = (0, node_1.createBaseNode)("set", { captures }, { names, values }, line, column, tag); /* * Optimizes the node when capture is used for a large block of text. * * {% set foo %}foo{% endset %} is compiled to $context['foo'] = new Twig_Markup("foo"); */ if (setNode.attributes.captures) { const values = setNode.children.values; if (values.type === "text") { setNode.children.values = (0, node_1.createNode)({ 0: (0, constant_1.createConstantNode)(values.attributes.data, values.line, values.column) }, values.line, values.column); setNode.attributes.captures = false; } } return setNode; }; exports.createSetNode = createSetNode;