{"version":3,"file":"json.cjs","names":["MySqlColumnBuilder","entityKind","MySqlColumn"],"sources":["../../../src/mysql-core/columns/json.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlJsonBuilder extends MySqlColumnBuilder<{\n\tdataType: 'object json';\n\tdata: unknown;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlJsonBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object json', 'MySqlJson');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlJson(table, this.config as any);\n\t}\n}\n\nexport class MySqlJson<T extends ColumnBaseConfig<'object json'>> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlJson';\n\n\t/** @internal */\n\toverride readonly codec = 'json';\n\n\tgetSQLType(): string {\n\t\treturn 'json';\n\t}\n\n\toverride mapToDriverValue = (value: T['data']): string => {\n\t\treturn JSON.stringify(value);\n\t};\n}\n\nexport function json(name?: string): MySqlJsonBuilder {\n\treturn new MySqlJsonBuilder(name ?? '');\n}\n"],"mappings":";;;;;;AAKA,IAAa,mBAAb,cAAsCA,qDAInC;CACF,QAA0BC,0BAAsB;CAEhD,YAAY,MAAc;AACzB,QAAM,MAAM,eAAe,YAAY;;;CAIxC,AAAS,MAAM,OAAmB;AACjC,SAAO,IAAI,UAAU,OAAO,KAAK,OAAc;;;AAIjD,IAAa,YAAb,cAA0EC,8CAAe;CACxF,QAA0BD,0BAAsB;;CAGhD,AAAkB,QAAQ;CAE1B,aAAqB;AACpB,SAAO;;CAGR,AAAS,oBAAoB,UAA6B;AACzD,SAAO,KAAK,UAAU,MAAM;;;AAI9B,SAAgB,KAAK,MAAiC;AACrD,QAAO,IAAI,iBAAiB,QAAQ,GAAG"}