| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { entityKind } from "../entity.js";
- import { TableName } from "../table.utils.js";
- function uniqueKeyName(table, columns) {
- return `${table[TableName]}_${columns.join("_")}_unique`;
- }
- function unique(name) {
- return new UniqueOnConstraintBuilder(name);
- }
- class UniqueConstraintBuilder {
- constructor(columns, name) {
- this.name = name;
- this.columns = columns;
- }
- static [entityKind] = "SQLiteUniqueConstraintBuilder";
- /** @internal */
- columns;
- /** @internal */
- build(table) {
- return new UniqueConstraint(table, this.columns, this.name);
- }
- }
- class UniqueOnConstraintBuilder {
- static [entityKind] = "SQLiteUniqueOnConstraintBuilder";
- /** @internal */
- name;
- constructor(name) {
- this.name = name;
- }
- on(...columns) {
- return new UniqueConstraintBuilder(columns, this.name);
- }
- }
- class UniqueConstraint {
- constructor(table, columns, name) {
- this.table = table;
- this.columns = columns;
- this.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));
- }
- static [entityKind] = "SQLiteUniqueConstraint";
- columns;
- name;
- getName() {
- return this.name;
- }
- }
- export {
- UniqueConstraint,
- UniqueConstraintBuilder,
- UniqueOnConstraintBuilder,
- unique,
- uniqueKeyName
- };
- //# sourceMappingURL=unique-constraint.js.map
|