UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

44 lines (43 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DdlBase = void 0; var executable_builder_1 = require("../core/executable-builder"); var errors_1 = require("../core/errors"); var DdlBase = /** @class */ (function () { function DdlBase(_builder, _database, enableLog) { if (_database === void 0) { _database = void 0; } if (enableLog === void 0) { enableLog = true; } this._builder = _builder; this._database = _database; // tslint:disable-next-line: variable-name this.__allowInTransaction = true; this._executableBuilder = new executable_builder_1.ExecutableBuilder(enableLog); } DdlBase.prototype.execute = function (_a) { var _b = _a === void 0 ? {} : _a, _c = _b.cascade, cascade = _c === void 0 ? true : _c, database = _b.database; var compiled = this.compile(cascade); return this._executableBuilder.execute(compiled, this.getDatabase(database)); }; DdlBase.prototype.compile = function (cascade) { if (cascade === void 0) { cascade = true; } var compiled = this.build(cascade); var script = [compiled.script]; compiled.dependencies.forEach(function (dependency) { script.push(dependency.script); }); return script; }; DdlBase.prototype.build = function (cascade) { if (cascade === void 0) { cascade = true; } return this._builder.build(cascade); }; DdlBase.prototype.getDatabase = function (database) { var result = (database ? database : this._database); if (!result) { throw new errors_1.DatabaseBuilderError("Database not specified in query."); } return result; }; return DdlBase; }()); exports.DdlBase = DdlBase;