| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { entityKind } from "../entity.js";
- import { PgTable } from "./table.js";
- function primaryKey(...config) {
- if (config[0].columns) {
- return new PrimaryKeyBuilder(config[0].columns, config[0].name);
- }
- return new PrimaryKeyBuilder(config);
- }
- class PrimaryKeyBuilder {
- static [entityKind] = "PgPrimaryKeyBuilder";
- /** @internal */
- columns;
- /** @internal */
- name;
- constructor(columns, name) {
- this.columns = columns;
- this.name = name;
- }
- /** @internal */
- build(table) {
- return new PrimaryKey(table, this.columns, this.name);
- }
- }
- class PrimaryKey {
- constructor(table, columns, name) {
- this.table = table;
- this.columns = columns;
- this.name = name;
- }
- static [entityKind] = "PgPrimaryKey";
- columns;
- name;
- getName() {
- return this.name ?? `${this.table[PgTable.Symbol.Name]}_${this.columns.map((column) => column.name).join("_")}_pk`;
- }
- }
- export {
- PrimaryKey,
- PrimaryKeyBuilder,
- primaryKey
- };
- //# sourceMappingURL=primary-keys.js.map
|