{"version":3,"file":"tinyint.cjs","names":["SingleStoreColumnBuilderWithAutoIncrement","entityKind","SingleStoreColumnWithAutoIncrement"],"sources":["../../../src/singlestore-core/columns/tinyint.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumnBuilderWithAutoIncrement, SingleStoreColumnWithAutoIncrement } from './common.ts';\nimport type { SingleStoreIntConfig } from './int.ts';\n\nexport class SingleStoreTinyIntBuilder<TUnsigned extends boolean | undefined>\n\textends SingleStoreColumnBuilderWithAutoIncrement<{\n\t\tdataType: Equal<TUnsigned, true> extends true ? 'number uint8' : 'number int8';\n\t\tdata: number;\n\t\tdriverParam: number | string;\n\t}, SingleStoreIntConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreTinyIntBuilder';\n\n\tconstructor(name: string, config?: SingleStoreIntConfig) {\n\t\tsuper(name, config?.unsigned ? 'number uint8' : 'number int8' as any, 'SingleStoreTinyInt');\n\t\tthis.config.unsigned = config ? config.unsigned : false;\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreTinyInt(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreTinyInt<T extends ColumnBaseConfig<'number int8' | 'number uint8'>>\n\textends SingleStoreColumnWithAutoIncrement<T, SingleStoreIntConfig>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreTinyInt';\n\n\tgetSQLType(): string {\n\t\treturn `tinyint${this.config.unsigned ? ' unsigned' : ''}`;\n\t}\n\n\toverride mapFromDriverValue = (value: number | string): number => {\n\t\tif (typeof value === 'string') {\n\t\t\treturn Number(value);\n\t\t}\n\t\treturn value;\n\t};\n}\n\nexport function tinyint<TUnsigned extends boolean | undefined>(\n\tconfig?: SingleStoreIntConfig<TUnsigned>,\n): SingleStoreTinyIntBuilder<TUnsigned>;\nexport function tinyint<TUnsigned extends boolean | undefined>(\n\tname: string,\n\tconfig?: SingleStoreIntConfig<TUnsigned>,\n): SingleStoreTinyIntBuilder<TUnsigned>;\nexport function tinyint(a?: string | SingleStoreIntConfig, b?: SingleStoreIntConfig) {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreIntConfig>(a, b);\n\treturn new SingleStoreTinyIntBuilder(name, config);\n}\n"],"mappings":";;;;;;;AAOA,IAAa,4BAAb,cACSA,kFAKT;CACC,QAA0BC,0BAAsB;CAEhD,YAAY,MAAc,QAA+B;AACxD,QAAM,MAAM,QAAQ,WAAW,iBAAiB,eAAsB,qBAAqB;AAC3F,OAAK,OAAO,WAAW,SAAS,OAAO,WAAW;;;CAInD,AAAS,MAAM,OAAyB;AACvC,SAAO,IAAI,mBACV,OACA,KAAK,OACL;;;AAIH,IAAa,qBAAb,cACSC,2EACT;CACC,QAA0BD,0BAAsB;CAEhD,aAAqB;AACpB,SAAO,UAAU,KAAK,OAAO,WAAW,cAAc;;CAGvD,AAAS,sBAAsB,UAAmC;AACjE,MAAI,OAAO,UAAU,SACpB,QAAO,OAAO,MAAM;AAErB,SAAO;;;AAWT,SAAgB,QAAQ,GAAmC,GAA0B;CACpF,MAAM,EAAE,MAAM,kDAAwD,GAAG,EAAE;AAC3E,QAAO,IAAI,0BAA0B,MAAM,OAAO"}