{"version":3,"sources":["../../../src/gel-core/columns/json.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyGelTable } from '~/gel-core/table.ts';\nimport { GelColumn, GelColumnBuilder } from './common.ts';\n\nexport type GelJsonBuilderInitial = GelJsonBuilder<{\n\tname: TName;\n\tdataType: 'json';\n\tcolumnType: 'GelJson';\n\tdata: unknown;\n\tdriverParam: unknown;\n\tenumValues: undefined;\n}>;\n\nexport class GelJsonBuilder> extends GelColumnBuilder<\n\tT\n> {\n\tstatic override readonly [entityKind]: string = 'GelJsonBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'json', 'GelJson');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnyGelTable<{ name: TTableName }>,\n\t): GelJson> {\n\t\treturn new GelJson>(table, this.config as ColumnBuilderRuntimeConfig);\n\t}\n}\n\nexport class GelJson> extends GelColumn {\n\tstatic override readonly [entityKind]: string = 'GelJson';\n\n\tconstructor(table: AnyGelTable<{ name: T['tableName'] }>, config: GelJsonBuilder['config']) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn 'json';\n\t}\n}\n\nexport function json(): GelJsonBuilderInitial<''>;\nexport function json(name: TName): GelJsonBuilderInitial;\nexport function json(name?: string) {\n\treturn new GelJsonBuilder(name ?? '');\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,WAAW,wBAAwB;AAWrC,MAAM,uBAA6E,iBAExF;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,SAAS;AAAA,EAC9B;AAAA;AAAA,EAGS,MACR,OAC2C;AAC3C,WAAO,IAAI,QAAyC,OAAO,KAAK,MAA8C;AAAA,EAC/G;AACD;AAEO,MAAM,gBAA+D,UAAa;AAAA,EACxF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,OAA8C,QAAqC;AAC9F,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAIO,SAAS,KAAK,MAAe;AACnC,SAAO,IAAI,eAAe,QAAQ,EAAE;AACrC;","names":[]}