{"version":3,"file":"json.cjs","names":["SingleStoreColumnBuilder","entityKind","SingleStoreColumn"],"sources":["../../../src/singlestore-core/columns/json.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SingleStoreTable } from '~/singlestore-core/table.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport class SingleStoreJsonBuilder extends SingleStoreColumnBuilder<{\n\tdataType: 'object json';\n\tdata: unknown;\n\tdriverParam: string;\n}> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreJsonBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'object json', 'SingleStoreJson');\n\t}\n\n\t/** @internal */\n\toverride build(table: SingleStoreTable) {\n\t\treturn new SingleStoreJson(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class SingleStoreJson<T extends ColumnBaseConfig<'object json'>> extends SingleStoreColumn<T> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreJson';\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): SingleStoreJsonBuilder {\n\treturn new SingleStoreJsonBuilder(name ?? '');\n}\n"],"mappings":";;;;;;AAKA,IAAa,yBAAb,cAA4CA,iEAIzC;CACF,QAA0BC,0BAAsB;CAEhD,YAAY,MAAc;AACzB,QAAM,MAAM,eAAe,kBAAkB;;;CAI9C,AAAS,MAAM,OAAyB;AACvC,SAAO,IAAI,gBACV,OACA,KAAK,OACL;;;AAIH,IAAa,kBAAb,cAAgFC,0DAAqB;CACpG,QAA0BD,0BAAsB;CAEhD,aAAqB;AACpB,SAAO;;CAGR,AAAS,oBAAoB,UAA6B;AACzD,SAAO,KAAK,UAAU,MAAM;;;AAI9B,SAAgB,KAAK,MAAuC;AAC3D,QAAO,IAAI,uBAAuB,QAAQ,GAAG"}