UNPKG

twing

Version:

First-class Twig engine for Node.js

39 lines (38 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeForLoopNodeSynchronously = exports.executeForLoopNode = void 0; const executeForLoopNode = (node, executionContext) => { const { hasAnElse, hasAnIf } = node.attributes; const { context } = executionContext; if (hasAnElse) { context.set('_iterated', true); } const loop = context.get('loop'); loop.set('index0', loop.get('index0') + 1); loop.set('index', loop.get('index') + 1); loop.set('first', false); if (!hasAnIf && loop.has('length')) { loop.set('revindex0', loop.get('revindex0') - 1); loop.set('revindex', loop.get('revindex') - 1); loop.set('last', loop.get('revindex0') === 0); } return Promise.resolve(); }; exports.executeForLoopNode = executeForLoopNode; const executeForLoopNodeSynchronously = (node, executionContext) => { const { hasAnElse, hasAnIf } = node.attributes; const { context } = executionContext; if (hasAnElse) { context.set('_iterated', true); } const loop = context.get('loop'); loop.set('index0', loop.get('index0') + 1); loop.set('index', loop.get('index') + 1); loop.set('first', false); if (!hasAnIf && loop.has('length')) { loop.set('revindex0', loop.get('revindex0') - 1); loop.set('revindex', loop.get('revindex') - 1); loop.set('last', loop.get('revindex0') === 0); } }; exports.executeForLoopNodeSynchronously = executeForLoopNodeSynchronously;