CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
unique-constraint.js53 linesDownload Raw Back to sqlite-core
1import { entityKind } from "../entity.js";2import { TableName } from "../table.utils.js";3function uniqueKeyName(table, columns) {4  return `${table[TableName]}_${columns.join("_")}_unique`;5}6function unique(name) {7  return new UniqueOnConstraintBuilder(name);8}9class UniqueConstraintBuilder {10  constructor(columns, name) {11    this.name = name;12    this.columns = columns;13  }14  static [entityKind] = "SQLiteUniqueConstraintBuilder";15  /** @internal */16  columns;17  /** @internal */18  build(table) {19    return new UniqueConstraint(table, this.columns, this.name);20  }21}22class UniqueOnConstraintBuilder {23  static [entityKind] = "SQLiteUniqueOnConstraintBuilder";24  /** @internal */25  name;26  constructor(name) {27    this.name = name;28  }29  on(...columns) {30    return new UniqueConstraintBuilder(columns, this.name);31  }32}33class UniqueConstraint {34  constructor(table, columns, name) {35    this.table = table;36    this.columns = columns;37    this.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));38  }39  static [entityKind] = "SQLiteUniqueConstraint";40  columns;41  name;42  getName() {43    return this.name;44  }45}46export {47  UniqueConstraint,48  UniqueConstraintBuilder,49  UniqueOnConstraintBuilder,50  unique,51  uniqueKeyName52};53//# sourceMappingURL=unique-constraint.js.map