database-builder
Version:
Library to assist in creating and maintaining SQL commands.
56 lines (55 loc) • 2.79 kB
JavaScript
;
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;