{"version":3,"sources":["../../../src/singlestore-core/columns/date.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnySingleStoreTable } from '~/singlestore-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreDateBuilderInitial = SingleStoreDateBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'SingleStoreDate';\n\tdata: Date;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SingleStoreDateBuilder>\n\textends SingleStoreColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'date', 'SingleStoreDate');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreDate> {\n\t\treturn new SingleStoreDate>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDate> extends SingleStoreColumn {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDate';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n}\n\nexport type SingleStoreDateStringBuilderInitial = SingleStoreDateStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SingleStoreDateString';\n\tdata: string;\n\tdriverParam: string | number;\n\tenumValues: undefined;\n\tgenerated: undefined;\n}>;\n\nexport class SingleStoreDateStringBuilder>\n\textends SingleStoreColumnBuilder\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateStringBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'SingleStoreDateString');\n\t}\n\n\t/** @internal */\n\toverride build(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreDateString> {\n\t\treturn new SingleStoreDateString>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig,\n\t\t);\n\t}\n}\n\nexport class SingleStoreDateString>\n\textends SingleStoreColumn\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateString';\n\n\tconstructor(\n\t\ttable: AnySingleStoreTable<{ name: T['tableName'] }>,\n\t\tconfig: SingleStoreDateStringBuilder['config'],\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `date`;\n\t}\n}\n\nexport interface SingleStoreDateConfig {\n\tmode?: TMode;\n}\n\nexport function date(): SingleStoreDateBuilderInitial<''>;\nexport function date(\n\tconfig?: SingleStoreDateConfig,\n): Equal extends true ? SingleStoreDateStringBuilderInitial<''> : SingleStoreDateBuilderInitial<''>;\nexport function date(\n\tname: TName,\n\tconfig?: SingleStoreDateConfig,\n): Equal extends true ? SingleStoreDateStringBuilderInitial\n\t: SingleStoreDateBuilderInitial;\nexport function date(a?: string | SingleStoreDateConfig, b?: SingleStoreDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new SingleStoreDateStringBuilder(name);\n\t}\n\treturn new SingleStoreDateBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAA4D;AAYrD,MAAM,+BACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,iBAAiB;AAAA,EACtC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBAA+E,gCAAqB;AAAA,EAChH,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AACD;AAYO,MAAM,qCACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,uBAAuB;AAAA,EAC9C;AAAA;AAAA,EAGS,MACR,OACyD;AACzD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BACJ,gCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,KAAK,GAAoC,GAA2B;AACnF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA0D,GAAG,CAAC;AACvF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,6BAA6B,IAAI;AAAA,EAC7C;AACA,SAAO,IAAI,uBAAuB,IAAI;AACvC;","names":[]}