{"version":3,"file":"serial.cjs","names":["PgColumnBuilder","entityKind","PgColumn"],"sources":["../../../src/pg-core/columns/serial.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport type { PgTable } from '~/pg-core/table.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport class PgSerialBuilder extends PgColumnBuilder<{\n\tdataType: 'number int32';\n\tdata: number;\n\tdriverParam: number;\n\n\tnotNull: true;\n\thasDefault: true;\n}> {\n\tstatic override readonly [entityKind]: string = 'PgSerialBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number int32', 'PgSerial');\n\t\tthis.config.hasDefault = true;\n\t\tthis.config.notNull = true;\n\t}\n\n\t/** @internal */\n\toverride build(table: PgTable<any>) {\n\t\treturn new PgSerial(table, this.config as any);\n\t}\n}\n\nexport class PgSerial extends PgColumn<'number int32'> {\n\tstatic override readonly [entityKind]: string = 'PgSerial';\n\n\t/** @internal */\n\toverride readonly codec = 'serial';\n\n\tgetSQLType(): string {\n\t\treturn 'serial';\n\t}\n}\n\nexport function serial(name?: string): PgSerialBuilder {\n\treturn new PgSerialBuilder(name ?? '');\n}\n"],"mappings":";;;;;;AAIA,IAAa,kBAAb,cAAqCA,+CAOlC;CACF,QAA0BC,0BAAsB;CAEhD,YAAY,MAAc;AACzB,QAAM,MAAM,gBAAgB,WAAW;AACvC,OAAK,OAAO,aAAa;AACzB,OAAK,OAAO,UAAU;;;CAIvB,AAAS,MAAM,OAAqB;AACnC,SAAO,IAAI,SAAS,OAAO,KAAK,OAAc;;;AAIhD,IAAa,WAAb,cAA8BC,wCAAyB;CACtD,QAA0BD,0BAAsB;;CAGhD,AAAkB,QAAQ;CAE1B,aAAqB;AACpB,SAAO;;;AAIT,SAAgB,OAAO,MAAgC;AACtD,QAAO,IAAI,gBAAgB,QAAQ,GAAG"}