UNPKG

@vulcan-sql/core

Version:
32 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExecutorBuilder = void 0; const tslib_1 = require("tslib"); const models_1 = require("../../../../models/index"); const constants_1 = require("./constants"); const nunjucks = require("nunjucks"); const extension_utils_1 = require("../../extension-utils"); let ExecutorBuilder = class ExecutorBuilder extends models_1.FilterBuilder { constructor() { super(...arguments); this.filterName = constants_1.EXECUTE_FILTER_NAME; } onVisit(node) { (0, extension_utils_1.visitChildren)(node, this.replaceExecuteFunction.bind(this)); } replaceExecuteFunction(node, replace) { if (node instanceof nunjucks.nodes.FunCall && node.name instanceof nunjucks.nodes.LookupVal && node.name.val.value === constants_1.EXECUTE_COMMAND_NAME) { const args = new nunjucks.nodes.NodeList(node.lineno, node.colno); args.addChild(node.name.target); const filter = new nunjucks.nodes.Filter(node.lineno, node.colno, new nunjucks.nodes.Symbol(node.lineno, node.colno, constants_1.EXECUTE_FILTER_NAME), args); replace(filter); } } }; ExecutorBuilder = tslib_1.__decorate([ (0, models_1.VulcanInternalExtension)() ], ExecutorBuilder); exports.ExecutorBuilder = ExecutorBuilder; //# sourceMappingURL=executorBuilder.js.map