UNPKG

database-builder

Version:

Library to assist in creating and maintaining SQL commands.

56 lines (55 loc) 2.79 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.CreateBuilder = void 0; var ddl_columns_builder_1 = require("../ddl-columns-builder"); var ddl_base_builder_1 = require("../ddl-base-builder"); var errors_1 = require("../../core/errors"); var utils_1 = require("../../core/utils"); var CreateBuilder = /** @class */ (function (_super) { __extends(CreateBuilder, _super); function CreateBuilder(typeT, _mapperTable) { var _this = _super.call(this, _mapperTable.tableName) || this; _this._mapperTable = _mapperTable; if (utils_1.Utils.isNull(_mapperTable)) { throw new errors_1.DatabaseBuilderError("Mapper not found for '".concat(_this._tablename, "'")); } return _this; } CreateBuilder.prototype.columns = function (columnsCallback) { return _super.prototype.columnsBase.call(this, columnsCallback, new ddl_columns_builder_1.DdlColumnsBuilder(this._mapperTable, void 0), this); }; CreateBuilder.prototype.resolveDependency = function (dependency) { var create = new CreateBuilder(void 0, dependency); return create.build(); }; CreateBuilder.prototype.dependencies = function () { return this._mapperTable.dependencies; }; CreateBuilder.prototype.buildBase = function () { var columns = this.getColumnsCompiled(); var primaryColumns = columns.keyColumns.length > 1 ? ", PRIMARY KEY (".concat(columns.keyColumns.join(", "), ")") : ""; return "CREATE TABLE IF NOT EXISTS ".concat(this._tablename, "(\n ").concat(columns.columns.join(", "), "\n ").concat(primaryColumns, "\n )"); }; CreateBuilder.prototype.setDefaultColumns = function () { this.columns(function (columns) { return columns.allColumns(); }); }; return CreateBuilder; }(ddl_base_builder_1.DdlBaseBuilder)); exports.CreateBuilder = CreateBuilder;