UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

53 lines (52 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DdlBaseBuilder = void 0; var DdlBaseBuilder = /** @class */ (function () { function DdlBaseBuilder(_tablename) { this._tablename = _tablename; this._columnsCompiled = { columns: [], keyColumns: [] }; } DdlBaseBuilder.prototype.build = function (cascade) { var _this = this; if (cascade === void 0) { cascade = true; } var dependenciesCompiled = []; if (cascade) { this.dependencies().forEach(function (dependency) { dependenciesCompiled.push(_this.resolveDependency(dependency)); }); } var script = this.removeMultiSpacesAndBreakLines(this.buildBase()); return { script: { query: script, params: [] }, dependencies: dependenciesCompiled }; }; DdlBaseBuilder.prototype.removeMultiSpacesAndBreakLines = function (str) { return str.replace(/\s\s+/g, " "); }; DdlBaseBuilder.prototype.getColumnsCompiled = function () { if (!this._columnsCompiled.columns.length) { this.setDefaultColumns(); } return this._columnsCompiled; }; DdlBaseBuilder.prototype.columnsBase = function (columnsCallback, instanceSetColumnsBuilder, instanceReturn) { columnsCallback(instanceSetColumnsBuilder); this.compileColumns(instanceSetColumnsBuilder.compile()); return instanceReturn; }; DdlBaseBuilder.prototype.compileColumns = function (compiled) { if (compiled.columns.length) { this._columnsCompiled.columns = this._columnsCompiled.columns.concat(compiled.columns); this._columnsCompiled.keyColumns = this._columnsCompiled.keyColumns.concat(compiled.keyColumns); } }; return DdlBaseBuilder; }()); exports.DdlBaseBuilder = DdlBaseBuilder;