typeorm
Version:
Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.
47 lines (45 loc) • 1.62 kB
JavaScript
/**
* Database's table unique constraint stored in this class.
*/
export class TableUnique {
// -------------------------------------------------------------------------
// Constructor
// -------------------------------------------------------------------------
constructor(options) {
this["@instanceof"] = Symbol.for("TableUnique");
/**
* Columns that contains this constraint.
*/
this.columnNames = [];
this.name = options.name;
this.columnNames = options.columnNames;
this.deferrable = options.deferrable;
}
// -------------------------------------------------------------------------
// Public Methods
// -------------------------------------------------------------------------
/**
* Creates a new copy of this constraint with exactly same properties.
*/
clone() {
return new TableUnique({
name: this.name,
columnNames: [...this.columnNames],
deferrable: this.deferrable,
});
}
// -------------------------------------------------------------------------
// Static Methods
// -------------------------------------------------------------------------
/**
* Creates unique from the unique metadata object.
*/
static create(uniqueMetadata) {
return new TableUnique({
name: uniqueMetadata.name,
columnNames: uniqueMetadata.columns.map((column) => column.databaseName),
deferrable: uniqueMetadata.deferrable,
});
}
}
//# sourceMappingURL=TableUnique.js.map