UNPKG

twing

Version:

First-class Twig engine for Node.js

39 lines (38 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeArrayNodeSynchronously = exports.executeArrayNode = void 0; const get_key_value_pairs_1 = require("../../helpers/get-key-value-pairs"); const context_1 = require("../../context"); const executeArrayNode = async (baseNode, executionContext) => { const { nodeExecutor: execute } = executionContext; const keyValuePairs = (0, get_key_value_pairs_1.getKeyValuePairs)(baseNode); const array = []; for (const { value: valueNode } of keyValuePairs) { const value = await execute(valueNode, executionContext); if (valueNode.type === "spread") { array.push(...value); } else { array.push(value); } } return array; }; exports.executeArrayNode = executeArrayNode; const executeArrayNodeSynchronously = (baseNode, executionContext) => { const { nodeExecutor: execute } = executionContext; const keyValuePairs = (0, get_key_value_pairs_1.getKeyValuePairs)(baseNode); const array = []; for (const { value: valueNode } of keyValuePairs) { const value = execute(valueNode, executionContext); if (valueNode.type === "spread") { const values = (0, context_1.getValues)(value); array.push(...values); } else { array.push(value); } } return array; }; exports.executeArrayNodeSynchronously = executeArrayNodeSynchronously;