{"version":3,"file":"time.cjs","names":["MySqlColumnBuilder","entityKind","MySqlColumn"],"sources":["../../../src/mysql-core/columns/time.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlTimeBuilder extends MySqlColumnBuilder<\n\t{\n\t\tdataType: 'string time';\n\t\tdata: string;\n\t\tdriverParam: string | number;\n\t},\n\tTimeConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimeBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tconfig: TimeConfig | undefined,\n\t) {\n\t\tsuper(name, 'string time', 'MySqlTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTime(table, this.config as any);\n\t}\n}\n\nexport class MySqlTime<\n\tT extends ColumnBaseConfig<'string time'>,\n> extends MySqlColumn<T, TimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTime';\n\n\t/** @internal */\n\toverride readonly codec = 'time';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `time${precision}`;\n\t}\n}\n\nexport type TimeConfig = {\n\tfsp?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n};\n\nexport function time(\n\tconfig?: TimeConfig,\n): MySqlTimeBuilder;\nexport function time(\n\tname: string,\n\tconfig?: TimeConfig,\n): MySqlTimeBuilder;\nexport function time(a?: string | TimeConfig, b?: TimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<TimeConfig>(a, b);\n\treturn new MySqlTimeBuilder(name, config);\n}\n"],"mappings":";;;;;;;AAMA,IAAa,mBAAb,cAAsCA,qDAOpC;CACD,QAA0BC,0BAAsB;CAEhD,YACC,MACA,QACC;AACD,QAAM,MAAM,eAAe,YAAY;AACvC,OAAK,OAAO,MAAM,QAAQ;;;CAI3B,AAAS,MAAM,OAAmB;AACjC,SAAO,IAAI,UAAU,OAAO,KAAK,OAAc;;;AAIjD,IAAa,YAAb,cAEUC,8CAA2B;CACpC,QAA0BD,0BAAsB;;CAGhD,AAAkB,QAAQ;CAE1B,AAAS,MAA0B,KAAK,OAAO;CAE/C,aAAqB;AAEpB,SAAO,OADW,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,IAAI;;;AAgB/D,SAAgB,KAAK,GAAyB,GAAgB;CAC7D,MAAM,EAAE,MAAM,kDAA8C,GAAG,EAAE;AACjE,QAAO,IAAI,iBAAiB,MAAM,OAAO"}