{"version":3,"file":"primary-keys.cjs","names":["entityKind"],"sources":["../../src/cockroach-core/primary-keys.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { AnyCockroachColumn, CockroachColumn } from './columns/index.ts';\nimport type { CockroachTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnyCockroachColumn<{ tableName: TTableName }>,\n\tTColumns extends AnyCockroachColumn<{ tableName: TTableName }>[],\n>(config: { name?: string; columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder {\n\treturn new PrimaryKeyBuilder(config.columns, config.name);\n}\n\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'CockroachPrimaryKeyBuilder';\n\n\t/** @internal */\n\tcolumns: CockroachColumn[];\n\n\t/** @internal */\n\tname?: string;\n\n\tconstructor(\n\t\tcolumns: CockroachColumn[],\n\t\tname?: string,\n\t) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t}\n\n\t/** @internal */\n\tbuild(table: CockroachTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns, this.name);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'CockroachPrimaryKey';\n\n\treadonly columns: AnyCockroachColumn<{}>[];\n\treadonly name?: string;\n\treadonly isNameExplicit: boolean;\n\n\tconstructor(readonly table: CockroachTable, columns: AnyCockroachColumn<{}>[], name?: string) {\n\t\tthis.columns = columns;\n\t\tthis.name = name;\n\t\tthis.isNameExplicit = !!name;\n\t}\n\n\tgetName(): string | undefined {\n\t\treturn this.name;\n\t}\n}\n"],"mappings":";;;;;AAIA,SAAgB,WAId,QAA+E;AAChF,QAAO,IAAI,kBAAkB,OAAO,SAAS,OAAO,KAAK;;AAG1D,IAAa,oBAAb,MAA+B;CAC9B,QAAiBA,0BAAsB;;CAGvC;;CAGA;CAEA,YACC,SACA,MACC;AACD,OAAK,UAAU;AACf,OAAK,OAAO;;;CAIb,MAAM,OAAmC;AACxC,SAAO,IAAI,WAAW,OAAO,KAAK,SAAS,KAAK,KAAK;;;AAIvD,IAAa,aAAb,MAAwB;CACvB,QAAiBA,0BAAsB;CAEvC,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,AAAS,OAAuB,SAAmC,MAAe;EAAzE;AACpB,OAAK,UAAU;AACf,OAAK,OAAO;AACZ,OAAK,iBAAiB,CAAC,CAAC;;CAGzB,UAA8B;AAC7B,SAAO,KAAK"}