twing
Version:
First-class Twig engine for Node.js
27 lines (26 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createArrayNode = exports.createBaseArrayNode = void 0;
const expression_1 = require("../expression");
const constant_1 = require("./constant");
const record_1 = require("../../helpers/record");
const createBaseArrayNode = (type, elements, line, column) => {
const children = {};
for (const { key, value } of elements) {
(0, record_1.pushToRecord)(children, key);
(0, record_1.pushToRecord)(children, value);
}
return (0, expression_1.createBaseExpressionNode)(type, {}, children, line, column);
};
exports.createBaseArrayNode = createBaseArrayNode;
const createArrayNode = (elements, line, column) => {
let index = 0;
const baseNode = (0, exports.createBaseArrayNode)("array", elements.map(({ key, value }) => {
return {
key: key || (0, constant_1.createConstantNode)(index++, line, column),
value
};
}), line, column);
return Object.assign({}, baseNode);
};
exports.createArrayNode = createArrayNode;