UNPKG

@sequeljs/ast

Version:

A SQL AST manager for JavaScript

34 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const SQLString_1 = require("../collectors/SQLString"); const EngineNotSetError_1 = require("../errors/EngineNotSetError"); const VisitorNotSetError_1 = require("../errors/VisitorNotSetError"); const SequelAST_1 = require("../SequelAST"); class TreeManager { constructor(ast) { this.ctx = null; this.ast = ast; } toSQL(engine = undefined) { let currentEngine = engine; if (typeof currentEngine === 'undefined') { currentEngine = SequelAST_1.default.engine; } if (!currentEngine) { throw new EngineNotSetError_1.default(); } if (!currentEngine.connection.visitor) { throw new VisitorNotSetError_1.default(); } let collector; collector = new SQLString_1.default(); collector = currentEngine.connection.visitor.accept(this.ast, collector); return collector.value; } where(expr) { this.ctx.wheres.push(expr); return this; } } exports.default = TreeManager; //# sourceMappingURL=TreeManager.js.map