{"version":3,"file":"primary-keys.cjs","names":["entityKind"],"sources":["../../src/mysql-core/primary-keys.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { AnyMySqlColumn, MySqlColumn } from './columns/index.ts';\nimport type { MySqlTable } from './table.ts';\n\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumn extends AnyMySqlColumn<{ tableName: TTableName }>,\n\tTColumns extends AnyMySqlColumn<{ tableName: TTableName }>[],\n>(config: { columns: [TColumn, ...TColumns] }): PrimaryKeyBuilder;\n/**\n * @deprecated: Please use primaryKey({ columns: [] }) instead of this function\n * @param columns\n */\nexport function primaryKey<\n\tTTableName extends string,\n\tTColumns extends AnyMySqlColumn<{ tableName: TTableName }>[],\n>(...columns: TColumns): PrimaryKeyBuilder;\nexport function primaryKey(...config: any) {\n\tif (config[0].columns) {\n\t\treturn new PrimaryKeyBuilder(config[0].columns);\n\t}\n\treturn new PrimaryKeyBuilder(config);\n}\n\nexport class PrimaryKeyBuilder {\n\tstatic readonly [entityKind]: string = 'MySqlPrimaryKeyBuilder';\n\n\t/** @internal */\n\tcolumns: MySqlColumn[];\n\n\tconstructor(\n\t\tcolumns: MySqlColumn[],\n\t) {\n\t\tthis.columns = columns;\n\t}\n\n\t/** @internal */\n\tbuild(table: MySqlTable): PrimaryKey {\n\t\treturn new PrimaryKey(table, this.columns);\n\t}\n}\n\nexport class PrimaryKey {\n\tstatic readonly [entityKind]: string = 'MySqlPrimaryKey';\n\n\treadonly columns: MySqlColumn[];\n\n\tconstructor(readonly table: MySqlTable, columns: MySqlColumn[]) {\n\t\tthis.columns = columns;\n\t}\n}\n"],"mappings":";;;;;AAiBA,SAAgB,WAAW,GAAG,QAAa;AAC1C,KAAI,OAAO,GAAG,QACb,QAAO,IAAI,kBAAkB,OAAO,GAAG,QAAQ;AAEhD,QAAO,IAAI,kBAAkB,OAAO;;AAGrC,IAAa,oBAAb,MAA+B;CAC9B,QAAiBA,0BAAsB;;CAGvC;CAEA,YACC,SACC;AACD,OAAK,UAAU;;;CAIhB,MAAM,OAA+B;AACpC,SAAO,IAAI,WAAW,OAAO,KAAK,QAAQ;;;AAI5C,IAAa,aAAb,MAAwB;CACvB,QAAiBA,0BAAsB;CAEvC,AAAS;CAET,YAAY,AAAS,OAAmB,SAAwB;EAA3C;AACpB,OAAK,UAAU"}