{"version":3,"file":"date.common.cjs","names":["SingleStoreColumnBuilder","entityKind","SingleStoreColumn"],"sources":["../../../src/singlestore-core/columns/date.common.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderExtraConfig, ColumnType, HasDefault } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { sql } from '~/sql/sql.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport interface SingleStoreDateColumnBaseConfig {\n\thasOnUpdateNow: boolean;\n}\n\nexport abstract class SingleStoreDateColumnBaseBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends SingleStoreColumnBuilder<T, TRuntimeConfig & SingleStoreDateColumnBaseConfig, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateColumnBuilder';\n\n\tdefaultNow() {\n\t\treturn this.default(sql`now()`);\n\t}\n\n\tonUpdateNow(): HasDefault<this> {\n\t\tthis.config.hasOnUpdateNow = true;\n\t\tthis.config.hasDefault = true;\n\t\treturn this as HasDefault<this>;\n\t}\n}\n\nexport abstract class SingleStoreDateBaseColumn<\n\tT extends ColumnBaseConfig<ColumnType>,\n\tTRuntimeConfig extends object = object,\n> extends SingleStoreColumn<T, SingleStoreDateColumnBaseConfig & TRuntimeConfig> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreDateColumn';\n\n\treadonly hasOnUpdateNow: boolean = this.config.hasOnUpdateNow;\n}\n"],"mappings":";;;;;;;AAUA,IAAsB,mCAAtB,cAIUA,iEAA4F;CACrG,QAA0BC,0BAAsB;CAEhD,aAAa;AACZ,SAAO,KAAK,QAAQ,gBAAG,QAAQ;;CAGhC,cAAgC;AAC/B,OAAK,OAAO,iBAAiB;AAC7B,OAAK,OAAO,aAAa;AACzB,SAAO;;;AAIT,IAAsB,4BAAtB,cAGUC,0DAAuE;CAChF,QAA0BD,0BAAsB;CAEhD,AAAS,iBAA0B,KAAK,OAAO"}