UNPKG

twing

Version:

First-class Twig engine for Node.js

34 lines (33 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeArrowFunctionNodeSynchronously = exports.executeArrowFunctionNode = void 0; const executeArrowFunctionNode = (node, executionContext) => { const { context, nodeExecutor: execute } = executionContext; const { body, names } = node.children; const assignmentNodes = Object.values(names.children); return Promise.resolve((...functionArgs) => { let index = 0; for (const assignmentNode of assignmentNodes) { const { name } = assignmentNode.attributes; context.set(name, functionArgs[index]); index++; } return execute(body, executionContext); }); }; exports.executeArrowFunctionNode = executeArrowFunctionNode; const executeArrowFunctionNodeSynchronously = (node, executionContext) => { const { context, nodeExecutor: execute } = executionContext; const { body, names } = node.children; const assignmentNodes = Object.values(names.children); return (...functionArgs) => { let index = 0; for (const assignmentNode of assignmentNodes) { const { name } = assignmentNode.attributes; context.set(name, functionArgs[index]); index++; } return execute(body, executionContext); }; }; exports.executeArrowFunctionNodeSynchronously = executeArrowFunctionNodeSynchronously;