UNPKG

typeorm

Version:

Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.

56 lines (54 loc) 2.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ForeignKeyMetadata = void 0; /** * Contains all information about entity's foreign key. */ var ForeignKeyMetadata = /** @class */ (function () { // --------------------------------------------------------------------- // Constructor // --------------------------------------------------------------------- function ForeignKeyMetadata(options) { /** * Array of columns of this foreign key. */ this.columns = []; /** * Array of referenced columns. */ this.referencedColumns = []; /** * Gets array of column names. */ this.columnNames = []; /** * Gets array of referenced column names. */ this.referencedColumnNames = []; this.entityMetadata = options.entityMetadata; this.referencedEntityMetadata = options.referencedEntityMetadata; this.columns = options.columns; this.referencedColumns = options.referencedColumns; this.onDelete = options.onDelete || "NO ACTION"; this.onUpdate = options.onUpdate || "NO ACTION"; this.deferrable = options.deferrable; if (options.namingStrategy) this.build(options.namingStrategy); } // --------------------------------------------------------------------- // Public Methods // --------------------------------------------------------------------- /** * Builds some depend foreign key properties. * Must be called after all entity metadatas and their columns are built. */ ForeignKeyMetadata.prototype.build = function (namingStrategy) { this.columnNames = this.columns.map(function (column) { return column.databaseName; }); this.referencedColumnNames = this.referencedColumns.map(function (column) { return column.databaseName; }); this.referencedTablePath = this.referencedEntityMetadata.tablePath; this.name = namingStrategy.foreignKeyName(this.entityMetadata.tableName, this.columnNames, this.referencedEntityMetadata.tableName, this.referencedColumnNames); }; return ForeignKeyMetadata; }()); exports.ForeignKeyMetadata = ForeignKeyMetadata; //# sourceMappingURL=ForeignKeyMetadata.js.map