drizzle-orm 0.38.2-f6eaa62 → 0.38.3-be0f833

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/mysql-core/table.cjs.map +1 -1
  2. package/mysql-core/table.d.cts +12 -12
  3. package/mysql-core/table.d.ts +12 -12
  4. package/mysql-core/table.js.map +1 -1
  5. package/package.json +61 -61
  6. package/pg-core/table.cjs.map +1 -1
  7. package/pg-core/table.d.cts +12 -12
  8. package/pg-core/table.d.ts +12 -12
  9. package/pg-core/table.js.map +1 -1
  10. package/singlestore-core/columns/all.cjs +3 -0
  11. package/singlestore-core/columns/all.cjs.map +1 -1
  12. package/singlestore-core/columns/all.d.cts +4 -1
  13. package/singlestore-core/columns/all.d.ts +4 -1
  14. package/singlestore-core/columns/all.js +4 -1
  15. package/singlestore-core/columns/all.js.map +1 -1
  16. package/singlestore-core/columns/char.cjs.map +1 -1
  17. package/singlestore-core/columns/char.d.cts +19 -10
  18. package/singlestore-core/columns/char.d.ts +19 -10
  19. package/singlestore-core/columns/char.js.map +1 -1
  20. package/singlestore-core/columns/text.cjs.map +1 -1
  21. package/singlestore-core/columns/text.d.cts +1 -1
  22. package/singlestore-core/columns/text.d.ts +1 -1
  23. package/singlestore-core/columns/text.js.map +1 -1
  24. package/singlestore-core/columns/varchar.cjs.map +1 -1
  25. package/singlestore-core/columns/varchar.d.cts +17 -8
  26. package/singlestore-core/columns/varchar.d.ts +17 -8
  27. package/singlestore-core/columns/varchar.js.map +1 -1
  28. package/sqlite-core/table.cjs.map +1 -1
  29. package/sqlite-core/table.d.cts +12 -12
  30. package/sqlite-core/table.d.ts +12 -12
  31. package/sqlite-core/table.js.map +1 -1
  32. package/version.cjs +1 -1
  33. package/version.d.cts +1 -1
  34. package/version.d.ts +1 -1
  35. package/version.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/all.ts"],"sourcesContent":["import { bigint } from './bigint.ts';\nimport { binary } from './binary.ts';\nimport { boolean } from './boolean.ts';\nimport { char } from './char.ts';\nimport { customType } from './custom.ts';\nimport { date } from './date.ts';\nimport { datetime } from './datetime.ts';\nimport { decimal } from './decimal.ts';\nimport { double } from './double.ts';\nimport { singlestoreEnum } from './enum.ts';\nimport { float } from './float.ts';\nimport { int } from './int.ts';\nimport { json } from './json.ts';\nimport { mediumint } from './mediumint.ts';\nimport { real } from './real.ts';\nimport { serial } from './serial.ts';\nimport { smallint } from './smallint.ts';\nimport { text } from './text.ts';\nimport { time } from './time.ts';\nimport { timestamp } from './timestamp.ts';\nimport { tinyint } from './tinyint.ts';\nimport { varbinary } from './varbinary.ts';\nimport { varchar } from './varchar.ts';\nimport { year } from './year.ts';\n\nexport function getSingleStoreColumnBuilders() {\n\treturn {\n\t\tbigint,\n\t\tbinary,\n\t\tboolean,\n\t\tchar,\n\t\tcustomType,\n\t\tdate,\n\t\tdatetime,\n\t\tdecimal,\n\t\tdouble,\n\t\tsinglestoreEnum,\n\t\tfloat,\n\t\tint,\n\t\tjson,\n\t\tmediumint,\n\t\treal,\n\t\tserial,\n\t\tsmallint,\n\t\ttext,\n\t\ttime,\n\t\ttimestamp,\n\t\ttinyint,\n\t\tvarbinary,\n\t\tvarchar,\n\t\tyear,\n\t};\n}\n\nexport type SingleStoreColumnBuilders = ReturnType<typeof getSingleStoreColumnBuilders>;\n"],"mappings":"AAAA,SAAS,cAAc;AACvB,SAAS,cAAc;AACvB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,WAAW;AACpB,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,YAAY;AAEd,SAAS,+BAA+B;AAC9C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/all.ts"],"sourcesContent":["import { bigint } from './bigint.ts';\nimport { binary } from './binary.ts';\nimport { boolean } from './boolean.ts';\nimport { char } from './char.ts';\nimport { customType } from './custom.ts';\nimport { date } from './date.ts';\nimport { datetime } from './datetime.ts';\nimport { decimal } from './decimal.ts';\nimport { double } from './double.ts';\nimport { singlestoreEnum } from './enum.ts';\nimport { float } from './float.ts';\nimport { int } from './int.ts';\nimport { json } from './json.ts';\nimport { mediumint } from './mediumint.ts';\nimport { real } from './real.ts';\nimport { serial } from './serial.ts';\nimport { smallint } from './smallint.ts';\nimport { longtext, mediumtext, text, tinytext } from './text.ts';\nimport { time } from './time.ts';\nimport { timestamp } from './timestamp.ts';\nimport { tinyint } from './tinyint.ts';\nimport { varbinary } from './varbinary.ts';\nimport { varchar } from './varchar.ts';\nimport { year } from './year.ts';\n\nexport function getSingleStoreColumnBuilders() {\n\treturn {\n\t\tbigint,\n\t\tbinary,\n\t\tboolean,\n\t\tchar,\n\t\tcustomType,\n\t\tdate,\n\t\tdatetime,\n\t\tdecimal,\n\t\tdouble,\n\t\tsinglestoreEnum,\n\t\tfloat,\n\t\tint,\n\t\tjson,\n\t\tmediumint,\n\t\treal,\n\t\tserial,\n\t\tsmallint,\n\t\tlongtext,\n\t\tmediumtext,\n\t\ttext,\n\t\ttinytext,\n\t\ttime,\n\t\ttimestamp,\n\t\ttinyint,\n\t\tvarbinary,\n\t\tvarchar,\n\t\tyear,\n\t};\n}\n\nexport type SingleStoreColumnBuilders = ReturnType<typeof getSingleStoreColumnBuilders>;\n"],"mappings":"AAAA,SAAS,cAAc;AACvB,SAAS,cAAc;AACvB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,gBAAgB;AACzB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,WAAW;AACpB,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,UAAU,YAAY,MAAM,gBAAgB;AACrD,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,YAAY;AAEd,SAAS,+BAA+B;AAC9C,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/char.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreCharBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreChar';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\tSingleStoreCharConfig<T['enumValues']>\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreCharBuilder';\n\n\tconstructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'>>\n\textends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreChar';\n\n\treadonly length: number | undefined = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreCharConfig<T | Writable<T>>,\n): SingleStoreCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreCharConfig<T | Writable<T>>,\n): SingleStoreCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | SingleStoreCharConfig, b: SingleStoreCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreCharConfig>(a, b);\n\treturn new SingleStoreCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA4D;AAarD,MAAM,+BACJ,uCAIT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAgD;AAC5E,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACqF;AACrF,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,gCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAChC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,MAAa;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/char.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreCharBuilderInitial<\n\tTName extends string,\n\tTEnum extends [string, ...string[]],\n\tTLength extends number | undefined,\n> = SingleStoreCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SingleStoreChar';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n\tlength: TLength;\n}>;\n\nexport class SingleStoreCharBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'> & { length?: number | undefined },\n> extends SingleStoreColumnBuilder<\n\tT,\n\tSingleStoreCharConfig<T['enumValues'], T['length']>,\n\t{ length: T['length'] }\n> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreCharBuilder';\n\n\tconstructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues'], T['length']>) {\n\t\tsuper(name, 'string', 'SingleStoreChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreChar<MakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreChar<MakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'> & { length?: number | undefined }>\n\textends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues'], T['length']>, { length: T['length'] }>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreChar';\n\n\treadonly length: T['length'] = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n\tTLength extends number | undefined = number | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: TLength;\n}\n\nexport function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]], undefined>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(\n\tconfig?: SingleStoreCharConfig<T | Writable<T>, L>,\n): SingleStoreCharBuilderInitial<'', Writable<T>, L>;\nexport function char<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n>(\n\tname: TName,\n\tconfig?: SingleStoreCharConfig<T | Writable<T>, L>,\n): SingleStoreCharBuilderInitial<TName, Writable<T>, L>;\nexport function char(a?: string | SingleStoreCharConfig, b: SingleStoreCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreCharConfig>(a, b);\n\treturn new SingleStoreCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA4D;AAiBrD,MAAM,+BAEH,uCAIR;AAAA,EACD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAA6D;AACzF,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC0G;AAC1G,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,gCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAAsB,KAAK,OAAO;AAAA,EACzB,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAuBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,MAAa;AACtD;","names":[]}
@@ -3,7 +3,7 @@ import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
4
  import { type Writable } from "../../utils.cjs";
5
5
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.cjs";
6
- export type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SingleStoreCharBuilder<{
6
+ export type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]], TLength extends number | undefined> = SingleStoreCharBuilder<{
7
7
  name: TName;
8
8
  dataType: 'string';
9
9
  columnType: 'SingleStoreChar';
@@ -11,21 +11,30 @@ export type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [s
11
11
  driverParam: number | string;
12
12
  enumValues: TEnum;
13
13
  generated: undefined;
14
+ length: TLength;
14
15
  }>;
15
- export declare class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'>> extends SingleStoreColumnBuilder<T, SingleStoreCharConfig<T['enumValues']>> {
16
+ export declare class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'> & {
17
+ length?: number | undefined;
18
+ }> extends SingleStoreColumnBuilder<T, SingleStoreCharConfig<T['enumValues'], T['length']>, {
19
+ length: T['length'];
20
+ }> {
16
21
  static readonly [entityKind]: string;
17
- constructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues']>);
22
+ constructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues'], T['length']>);
18
23
  }
19
- export declare class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'>> extends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues']>> {
24
+ export declare class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'> & {
25
+ length?: number | undefined;
26
+ }> extends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues'], T['length']>, {
27
+ length: T['length'];
28
+ }> {
20
29
  static readonly [entityKind]: string;
21
- readonly length: number | undefined;
30
+ readonly length: T['length'];
22
31
  readonly enumValues: T["enumValues"] | undefined;
23
32
  getSQLType(): string;
24
33
  }
25
- export interface SingleStoreCharConfig<TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined> {
26
- length?: number;
34
+ export interface SingleStoreCharConfig<TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined, TLength extends number | undefined = number | undefined> {
27
35
  enum?: TEnum;
36
+ length?: TLength;
28
37
  }
29
- export declare function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]]>;
30
- export declare function char<U extends string, T extends Readonly<[U, ...U[]]>>(config?: SingleStoreCharConfig<T | Writable<T>>): SingleStoreCharBuilderInitial<'', Writable<T>>;
31
- export declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: SingleStoreCharConfig<T | Writable<T>>): SingleStoreCharBuilderInitial<TName, Writable<T>>;
38
+ export declare function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]], undefined>;
39
+ export declare function char<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(config?: SingleStoreCharConfig<T | Writable<T>, L>): SingleStoreCharBuilderInitial<'', Writable<T>, L>;
40
+ export declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(name: TName, config?: SingleStoreCharConfig<T | Writable<T>, L>): SingleStoreCharBuilderInitial<TName, Writable<T>, L>;
@@ -3,7 +3,7 @@ import type { ColumnBaseConfig } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
4
  import { type Writable } from "../../utils.js";
5
5
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.js";
6
- export type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SingleStoreCharBuilder<{
6
+ export type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]], TLength extends number | undefined> = SingleStoreCharBuilder<{
7
7
  name: TName;
8
8
  dataType: 'string';
9
9
  columnType: 'SingleStoreChar';
@@ -11,21 +11,30 @@ export type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [s
11
11
  driverParam: number | string;
12
12
  enumValues: TEnum;
13
13
  generated: undefined;
14
+ length: TLength;
14
15
  }>;
15
- export declare class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'>> extends SingleStoreColumnBuilder<T, SingleStoreCharConfig<T['enumValues']>> {
16
+ export declare class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'> & {
17
+ length?: number | undefined;
18
+ }> extends SingleStoreColumnBuilder<T, SingleStoreCharConfig<T['enumValues'], T['length']>, {
19
+ length: T['length'];
20
+ }> {
16
21
  static readonly [entityKind]: string;
17
- constructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues']>);
22
+ constructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues'], T['length']>);
18
23
  }
19
- export declare class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'>> extends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues']>> {
24
+ export declare class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'> & {
25
+ length?: number | undefined;
26
+ }> extends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues'], T['length']>, {
27
+ length: T['length'];
28
+ }> {
20
29
  static readonly [entityKind]: string;
21
- readonly length: number | undefined;
30
+ readonly length: T['length'];
22
31
  readonly enumValues: T["enumValues"] | undefined;
23
32
  getSQLType(): string;
24
33
  }
25
- export interface SingleStoreCharConfig<TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined> {
26
- length?: number;
34
+ export interface SingleStoreCharConfig<TEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined, TLength extends number | undefined = number | undefined> {
27
35
  enum?: TEnum;
36
+ length?: TLength;
28
37
  }
29
- export declare function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]]>;
30
- export declare function char<U extends string, T extends Readonly<[U, ...U[]]>>(config?: SingleStoreCharConfig<T | Writable<T>>): SingleStoreCharBuilderInitial<'', Writable<T>>;
31
- export declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config?: SingleStoreCharConfig<T | Writable<T>>): SingleStoreCharBuilderInitial<TName, Writable<T>>;
38
+ export declare function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]], undefined>;
39
+ export declare function char<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(config?: SingleStoreCharConfig<T | Writable<T>, L>): SingleStoreCharBuilderInitial<'', Writable<T>, L>;
40
+ export declare function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(name: TName, config?: SingleStoreCharConfig<T | Writable<T>, L>): SingleStoreCharBuilderInitial<TName, Writable<T>, L>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/char.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreCharBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreChar';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\tSingleStoreCharConfig<T['enumValues']>\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreCharBuilder';\n\n\tconstructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'>>\n\textends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreChar';\n\n\treadonly length: number | undefined = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tlength?: number;\n\tenum?: TEnum;\n}\n\nexport function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]]>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreCharConfig<T | Writable<T>>,\n): SingleStoreCharBuilderInitial<'', Writable<T>>;\nexport function char<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreCharConfig<T | Writable<T>>,\n): SingleStoreCharBuilderInitial<TName, Writable<T>>;\nexport function char(a?: string | SingleStoreCharConfig, b: SingleStoreCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreCharConfig>(a, b);\n\treturn new SingleStoreCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,mBAAmB,gCAAgC;AAarD,MAAM,+BACJ,yBAIT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAAgD;AAC5E,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACqF;AACrF,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,kBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAChC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAiBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,MAAa;AACtD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/char.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreCharBuilderInitial<\n\tTName extends string,\n\tTEnum extends [string, ...string[]],\n\tTLength extends number | undefined,\n> = SingleStoreCharBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'SingleStoreChar';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n\tgenerated: undefined;\n\tlength: TLength;\n}>;\n\nexport class SingleStoreCharBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'SingleStoreChar'> & { length?: number | undefined },\n> extends SingleStoreColumnBuilder<\n\tT,\n\tSingleStoreCharConfig<T['enumValues'], T['length']>,\n\t{ length: T['length'] }\n> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreCharBuilder';\n\n\tconstructor(name: T['name'], config: SingleStoreCharConfig<T['enumValues'], T['length']>) {\n\t\tsuper(name, 'string', 'SingleStoreChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreChar<MakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreChar<MakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreChar<T extends ColumnBaseConfig<'string', 'SingleStoreChar'> & { length?: number | undefined }>\n\textends SingleStoreColumn<T, SingleStoreCharConfig<T['enumValues'], T['length']>, { length: T['length'] }>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreChar';\n\n\treadonly length: T['length'] = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `char` : `char(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreCharConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n\tTLength extends number | undefined = number | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: TLength;\n}\n\nexport function char(): SingleStoreCharBuilderInitial<'', [string, ...string[]], undefined>;\nexport function char<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(\n\tconfig?: SingleStoreCharConfig<T | Writable<T>, L>,\n): SingleStoreCharBuilderInitial<'', Writable<T>, L>;\nexport function char<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n>(\n\tname: TName,\n\tconfig?: SingleStoreCharConfig<T | Writable<T>, L>,\n): SingleStoreCharBuilderInitial<TName, Writable<T>, L>;\nexport function char(a?: string | SingleStoreCharConfig, b: SingleStoreCharConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreCharConfig>(a, b);\n\treturn new SingleStoreCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,mBAAmB,gCAAgC;AAiBrD,MAAM,+BAEH,yBAIR;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,QAA6D;AACzF,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC0G;AAC1G,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,kBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAAsB,KAAK,OAAO;AAAA,EACzB,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,SAAS,QAAQ,KAAK,MAAM;AAAA,EAChE;AACD;AAuBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,MAAa;AACtD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/text.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreTextColumnType = 'tinytext' | 'text' | 'mediumtext' | 'longtext';\n\nexport type SingleStoreTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreTextBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreText';\n\t\tdata: TEnum[number];\n\t\tdriverParam: string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{ textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreTextBuilder';\n\n\tconstructor(name: T['name'], textType: SingleStoreTextColumnType, config: SingleStoreTextConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreText');\n\t\tthis.config.textType = textType;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SingleStoreText<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreText<T extends ColumnBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumn<T, { textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreText';\n\n\tprivate textType: SingleStoreTextColumnType = this.config.textType;\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.textType;\n\t}\n}\n\nexport interface SingleStoreTextConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n}\n\nexport function text(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function text<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function text(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'text', config as any);\n}\n\nexport function tinytext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function tinytext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function tinytext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function tinytext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'tinytext', config as any);\n}\n\nexport function mediumtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function mediumtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function mediumtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function mediumtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'mediumtext', config as any);\n}\n\nexport function longtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function longtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function longtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function longtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'longtext', config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA4D;AAerD,MAAM,+BACJ,uCAIT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,UAAqC,QAAgD;AACjH,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,gCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAExC,WAAsC,KAAK,OAAO;AAAA,EAExC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AACD;AAgBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,QAAQ,MAAa;AAC9D;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;AAUO,SAAS,WAAW,GAAoC,IAA2B,CAAC,GAAQ;AAClG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,cAAc,MAAa;AACpE;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/text.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreTextColumnType = 'tinytext' | 'text' | 'mediumtext' | 'longtext';\n\nexport type SingleStoreTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreTextBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreText';\n\t\tdata: TEnum[number];\n\t\tdriverParam: string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{ textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreTextBuilder';\n\n\tconstructor(name: T['name'], textType: SingleStoreTextColumnType, config: SingleStoreTextConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreText');\n\t\tthis.config.textType = textType;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SingleStoreText<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreText<T extends ColumnBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumn<T, { textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreText';\n\n\treadonly textType: SingleStoreTextColumnType = this.config.textType;\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.textType;\n\t}\n}\n\nexport interface SingleStoreTextConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n}\n\nexport function text(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function text<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function text(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'text', config as any);\n}\n\nexport function tinytext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function tinytext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function tinytext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function tinytext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'tinytext', config as any);\n}\n\nexport function mediumtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function mediumtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function mediumtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function mediumtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'mediumtext', config as any);\n}\n\nexport function longtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function longtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function longtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function longtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'longtext', config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA4D;AAerD,MAAM,+BACJ,uCAIT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,UAAqC,QAAgD;AACjH,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,gCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,WAAsC,KAAK,OAAO;AAAA,EAEzC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AACD;AAgBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,QAAQ,MAAa;AAC9D;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;AAUO,SAAS,WAAW,GAAoC,IAA2B,CAAC,GAAQ;AAClG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,cAAc,MAAa;AACpE;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;","names":[]}
@@ -25,7 +25,7 @@ export declare class SingleStoreText<T extends ColumnBaseConfig<'string', 'Singl
25
25
  enumValues: T['enumValues'];
26
26
  }> {
27
27
  static readonly [entityKind]: string;
28
- private textType;
28
+ readonly textType: SingleStoreTextColumnType;
29
29
  readonly enumValues: T["enumValues"];
30
30
  getSQLType(): string;
31
31
  }
@@ -25,7 +25,7 @@ export declare class SingleStoreText<T extends ColumnBaseConfig<'string', 'Singl
25
25
  enumValues: T['enumValues'];
26
26
  }> {
27
27
  static readonly [entityKind]: string;
28
- private textType;
28
+ readonly textType: SingleStoreTextColumnType;
29
29
  readonly enumValues: T["enumValues"];
30
30
  getSQLType(): string;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/text.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreTextColumnType = 'tinytext' | 'text' | 'mediumtext' | 'longtext';\n\nexport type SingleStoreTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreTextBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreText';\n\t\tdata: TEnum[number];\n\t\tdriverParam: string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{ textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreTextBuilder';\n\n\tconstructor(name: T['name'], textType: SingleStoreTextColumnType, config: SingleStoreTextConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreText');\n\t\tthis.config.textType = textType;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SingleStoreText<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreText<T extends ColumnBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumn<T, { textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreText';\n\n\tprivate textType: SingleStoreTextColumnType = this.config.textType;\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.textType;\n\t}\n}\n\nexport interface SingleStoreTextConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n}\n\nexport function text(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function text<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function text(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'text', config as any);\n}\n\nexport function tinytext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function tinytext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function tinytext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function tinytext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'tinytext', config as any);\n}\n\nexport function mediumtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function mediumtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function mediumtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function mediumtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'mediumtext', config as any);\n}\n\nexport function longtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function longtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function longtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function longtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'longtext', config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,mBAAmB,gCAAgC;AAerD,MAAM,+BACJ,yBAIT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,UAAqC,QAAgD;AACjH,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,kBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAExC,WAAsC,KAAK,OAAO;AAAA,EAExC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AACD;AAgBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,QAAQ,MAAa;AAC9D;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;AAUO,SAAS,WAAW,GAAoC,IAA2B,CAAC,GAAQ;AAClG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,cAAc,MAAa;AACpE;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/text.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreTextColumnType = 'tinytext' | 'text' | 'mediumtext' | 'longtext';\n\nexport type SingleStoreTextBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreTextBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreText';\n\t\tdata: TEnum[number];\n\t\tdriverParam: string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t}>;\n\nexport class SingleStoreTextBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumnBuilder<\n\t\tT,\n\t\t{ textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreTextBuilder';\n\n\tconstructor(name: T['name'], textType: SingleStoreTextColumnType, config: SingleStoreTextConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreText');\n\t\tthis.config.textType = textType;\n\t\tthis.config.enumValues = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreText<MakeColumnConfig<T, TTableName>> {\n\t\treturn new SingleStoreText<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreText<T extends ColumnBaseConfig<'string', 'SingleStoreText'>>\n\textends SingleStoreColumn<T, { textType: SingleStoreTextColumnType; enumValues: T['enumValues'] }>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreText';\n\n\treadonly textType: SingleStoreTextColumnType = this.config.textType;\n\n\toverride readonly enumValues = this.config.enumValues;\n\n\tgetSQLType(): string {\n\t\treturn this.textType;\n\t}\n}\n\nexport interface SingleStoreTextConfig<\n\tTEnum extends readonly string[] | string[] | undefined = readonly string[] | string[] | undefined,\n> {\n\tenum?: TEnum;\n}\n\nexport function text(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function text<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function text<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function text(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'text', config as any);\n}\n\nexport function tinytext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function tinytext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function tinytext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function tinytext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'tinytext', config as any);\n}\n\nexport function mediumtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function mediumtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function mediumtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function mediumtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'mediumtext', config as any);\n}\n\nexport function longtext(): SingleStoreTextBuilderInitial<'', [string, ...string[]]>;\nexport function longtext<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<'', Writable<T>>;\nexport function longtext<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig?: SingleStoreTextConfig<T | Writable<T>>,\n): SingleStoreTextBuilderInitial<TName, Writable<T>>;\nexport function longtext(a?: string | SingleStoreTextConfig, b: SingleStoreTextConfig = {}): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreTextConfig>(a, b);\n\treturn new SingleStoreTextBuilder(name, 'longtext', config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,mBAAmB,gCAAgC;AAerD,MAAM,+BACJ,yBAIT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,UAAqC,QAAgD;AACjH,UAAM,MAAM,UAAU,iBAAiB;AACvC,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa,OAAO;AAAA,EACjC;AAAA;AAAA,EAGS,MACR,OACmD;AACnD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,wBACJ,kBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,WAAsC,KAAK,OAAO;AAAA,EAEzC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AACD;AAgBO,SAAS,KAAK,GAAoC,IAA2B,CAAC,GAAQ;AAC5F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,QAAQ,MAAa;AAC9D;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;AAUO,SAAS,WAAW,GAAoC,IAA2B,CAAC,GAAQ;AAClG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,cAAc,MAAa;AACpE;AAUO,SAAS,SAAS,GAAoC,IAA2B,CAAC,GAAQ;AAChG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA8C,GAAG,CAAC;AAC3E,SAAO,IAAI,uBAAuB,MAAM,YAAY,MAAa;AAClE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/varchar.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreVarCharBuilder<\n\t\t{\n\t\t\tname: TName;\n\t\t\tdataType: 'string';\n\t\t\tcolumnType: 'SingleStoreVarChar';\n\t\t\tdata: TEnum[number];\n\t\t\tdriverParam: number | string;\n\t\t\tenumValues: TEnum;\n\t\t\tgenerated: undefined;\n\t\t}\n\t>;\n\nexport class SingleStoreVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'>>\n\textends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: SingleStoreVarCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreVarChar<T extends ColumnBaseConfig<'string', 'SingleStoreVarChar'>>\n\textends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarChar';\n\n\treadonly length: number | undefined = this.config.length;\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `varchar` : `varchar(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> {\n\tlength: number;\n\tenum?: TEnum;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>>,\n): SingleStoreVarCharBuilderInitial<'', Writable<T>>;\nexport function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>>,\n): SingleStoreVarCharBuilderInitial<TName, Writable<T>>;\nexport function varchar(a?: string | SingleStoreVarCharConfig, b?: SingleStoreVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreVarCharConfig>(a, b);\n\treturn new SingleStoreVarCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA4D;AAerD,MAAM,kCACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAmD;AAC/E,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACwF;AACxF,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,gCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAEhC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,YAAY,WAAW,KAAK,MAAM;AAAA,EACtE;AACD;AAgBO,SAAS,QAAQ,GAAuC,GAAmC;AACjG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAiD,GAAG,CAAC;AAC9E,SAAO,IAAI,0BAA0B,MAAM,MAAa;AACzD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/varchar.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreVarCharBuilderInitial<\n\tTName extends string,\n\tTEnum extends [string, ...string[]],\n\tTLength extends number | undefined,\n> = SingleStoreVarCharBuilder<\n\t{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreVarChar';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t\tlength: TLength;\n\t}\n>;\n\nexport class SingleStoreVarCharBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'> & { length?: number | undefined },\n> extends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, { length: T['length'] }> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: SingleStoreVarCharConfig<T['enumValues'], T['length']>) {\n\t\tsuper(name, 'string', 'SingleStoreVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreVarChar<MakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreVarChar<\n\t\t\tMakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }\n\t\t>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreVarChar<\n\tT extends ColumnBaseConfig<'string', 'SingleStoreVarChar'> & { length?: number | undefined },\n> extends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, { length: T['length'] }> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarChar';\n\n\treadonly length: T['length'] = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `varchar` : `varchar(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n\tTLength extends number | undefined = number | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: TLength;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>, L>,\n): SingleStoreVarCharBuilderInitial<'', Writable<T>, L>;\nexport function varchar<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n>(\n\tname: TName,\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>, L>,\n): SingleStoreVarCharBuilderInitial<TName, Writable<T>, L>;\nexport function varchar(a?: string | SingleStoreVarCharConfig, b?: SingleStoreVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreVarCharConfig>(a, b);\n\treturn new SingleStoreVarCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAE3B,mBAAsD;AACtD,oBAA4D;AAmBrD,MAAM,kCAEH,uCAA6G;AAAA,EACtH,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAgE;AAC5F,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC6G;AAC7G,WAAO,IAAI;AAAA,MAGV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BAEH,gCAAsG;AAAA,EAC/G,QAA0B,wBAAU,IAAY;AAAA,EAEvC,SAAsB,KAAK,OAAO;AAAA,EACzB,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,YAAY,WAAW,KAAK,MAAM;AAAA,EACtE;AACD;AAsBO,SAAS,QAAQ,GAAuC,GAAmC;AACjG,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAiD,GAAG,CAAC;AAC9E,SAAO,IAAI,0BAA0B,MAAM,MAAa;AACzD;","names":[]}
@@ -3,7 +3,7 @@ import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
4
  import { type Writable } from "../../utils.cjs";
5
5
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.cjs";
6
- export type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SingleStoreVarCharBuilder<{
6
+ export type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]], TLength extends number | undefined> = SingleStoreVarCharBuilder<{
7
7
  name: TName;
8
8
  dataType: 'string';
9
9
  columnType: 'SingleStoreVarChar';
@@ -11,19 +11,28 @@ export type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends
11
11
  driverParam: number | string;
12
12
  enumValues: TEnum;
13
13
  generated: undefined;
14
+ length: TLength;
14
15
  }>;
15
- export declare class SingleStoreVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'>> extends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues']>> {
16
+ export declare class SingleStoreVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'> & {
17
+ length?: number | undefined;
18
+ }> extends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, {
19
+ length: T['length'];
20
+ }> {
16
21
  static readonly [entityKind]: string;
17
22
  }
18
- export declare class SingleStoreVarChar<T extends ColumnBaseConfig<'string', 'SingleStoreVarChar'>> extends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues']>> {
23
+ export declare class SingleStoreVarChar<T extends ColumnBaseConfig<'string', 'SingleStoreVarChar'> & {
24
+ length?: number | undefined;
25
+ }> extends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, {
26
+ length: T['length'];
27
+ }> {
19
28
  static readonly [entityKind]: string;
20
- readonly length: number | undefined;
29
+ readonly length: T['length'];
21
30
  readonly enumValues: T["enumValues"] | undefined;
22
31
  getSQLType(): string;
23
32
  }
24
- export interface SingleStoreVarCharConfig<TEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined> {
25
- length: number;
33
+ export interface SingleStoreVarCharConfig<TEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined, TLength extends number | undefined = number | undefined> {
26
34
  enum?: TEnum;
35
+ length?: TLength;
27
36
  }
28
- export declare function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(config: SingleStoreVarCharConfig<T | Writable<T>>): SingleStoreVarCharBuilderInitial<'', Writable<T>>;
29
- export declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config: SingleStoreVarCharConfig<T | Writable<T>>): SingleStoreVarCharBuilderInitial<TName, Writable<T>>;
37
+ export declare function varchar<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(config: SingleStoreVarCharConfig<T | Writable<T>, L>): SingleStoreVarCharBuilderInitial<'', Writable<T>, L>;
38
+ export declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(name: TName, config: SingleStoreVarCharConfig<T | Writable<T>, L>): SingleStoreVarCharBuilderInitial<TName, Writable<T>, L>;
@@ -3,7 +3,7 @@ import type { ColumnBaseConfig } from "../../column.js";
3
3
  import { entityKind } from "../../entity.js";
4
4
  import { type Writable } from "../../utils.js";
5
5
  import { SingleStoreColumn, SingleStoreColumnBuilder } from "./common.js";
6
- export type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> = SingleStoreVarCharBuilder<{
6
+ export type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]], TLength extends number | undefined> = SingleStoreVarCharBuilder<{
7
7
  name: TName;
8
8
  dataType: 'string';
9
9
  columnType: 'SingleStoreVarChar';
@@ -11,19 +11,28 @@ export type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends
11
11
  driverParam: number | string;
12
12
  enumValues: TEnum;
13
13
  generated: undefined;
14
+ length: TLength;
14
15
  }>;
15
- export declare class SingleStoreVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'>> extends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues']>> {
16
+ export declare class SingleStoreVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'> & {
17
+ length?: number | undefined;
18
+ }> extends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, {
19
+ length: T['length'];
20
+ }> {
16
21
  static readonly [entityKind]: string;
17
22
  }
18
- export declare class SingleStoreVarChar<T extends ColumnBaseConfig<'string', 'SingleStoreVarChar'>> extends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues']>> {
23
+ export declare class SingleStoreVarChar<T extends ColumnBaseConfig<'string', 'SingleStoreVarChar'> & {
24
+ length?: number | undefined;
25
+ }> extends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, {
26
+ length: T['length'];
27
+ }> {
19
28
  static readonly [entityKind]: string;
20
- readonly length: number | undefined;
29
+ readonly length: T['length'];
21
30
  readonly enumValues: T["enumValues"] | undefined;
22
31
  getSQLType(): string;
23
32
  }
24
- export interface SingleStoreVarCharConfig<TEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined> {
25
- length: number;
33
+ export interface SingleStoreVarCharConfig<TEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined, TLength extends number | undefined = number | undefined> {
26
34
  enum?: TEnum;
35
+ length?: TLength;
27
36
  }
28
- export declare function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(config: SingleStoreVarCharConfig<T | Writable<T>>): SingleStoreVarCharBuilderInitial<'', Writable<T>>;
29
- export declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(name: TName, config: SingleStoreVarCharConfig<T | Writable<T>>): SingleStoreVarCharBuilderInitial<TName, Writable<T>>;
37
+ export declare function varchar<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(config: SingleStoreVarCharConfig<T | Writable<T>, L>): SingleStoreVarCharBuilderInitial<'', Writable<T>, L>;
38
+ export declare function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(name: TName, config: SingleStoreVarCharConfig<T | Writable<T>, L>): SingleStoreVarCharBuilderInitial<TName, Writable<T>, L>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/singlestore-core/columns/varchar.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreVarCharBuilderInitial<TName extends string, TEnum extends [string, ...string[]]> =\n\tSingleStoreVarCharBuilder<\n\t\t{\n\t\t\tname: TName;\n\t\t\tdataType: 'string';\n\t\t\tcolumnType: 'SingleStoreVarChar';\n\t\t\tdata: TEnum[number];\n\t\t\tdriverParam: number | string;\n\t\t\tenumValues: TEnum;\n\t\t\tgenerated: undefined;\n\t\t}\n\t>;\n\nexport class SingleStoreVarCharBuilder<T extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'>>\n\textends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: SingleStoreVarCharConfig<T['enumValues']>) {\n\t\tsuper(name, 'string', 'SingleStoreVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreVarChar<MakeColumnConfig<T, TTableName> & { enumValues: T['enumValues'] }>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreVarChar<T extends ColumnBaseConfig<'string', 'SingleStoreVarChar'>>\n\textends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues']>>\n{\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarChar';\n\n\treadonly length: number | undefined = this.config.length;\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `varchar` : `varchar(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> {\n\tlength: number;\n\tenum?: TEnum;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>>,\n): SingleStoreVarCharBuilderInitial<'', Writable<T>>;\nexport function varchar<TName extends string, U extends string, T extends Readonly<[U, ...U[]]>>(\n\tname: TName,\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>>,\n): SingleStoreVarCharBuilderInitial<TName, Writable<T>>;\nexport function varchar(a?: string | SingleStoreVarCharConfig, b?: SingleStoreVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreVarCharConfig>(a, b);\n\treturn new SingleStoreVarCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,mBAAmB,gCAAgC;AAerD,MAAM,kCACJ,yBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAmD;AAC/E,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OACwF;AACxF,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,kBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAA6B,KAAK,OAAO;AAAA,EAEhC,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,YAAY,WAAW,KAAK,MAAM;AAAA,EACtE;AACD;AAgBO,SAAS,QAAQ,GAAuC,GAAmC;AACjG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAiD,GAAG,CAAC;AAC9E,SAAO,IAAI,0BAA0B,MAAM,MAAa;AACzD;","names":[]}
1
+ {"version":3,"sources":["../../../src/singlestore-core/columns/varchar.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 { getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { SingleStoreColumn, SingleStoreColumnBuilder } from './common.ts';\n\nexport type SingleStoreVarCharBuilderInitial<\n\tTName extends string,\n\tTEnum extends [string, ...string[]],\n\tTLength extends number | undefined,\n> = SingleStoreVarCharBuilder<\n\t{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'SingleStoreVarChar';\n\t\tdata: TEnum[number];\n\t\tdriverParam: number | string;\n\t\tenumValues: TEnum;\n\t\tgenerated: undefined;\n\t\tlength: TLength;\n\t}\n>;\n\nexport class SingleStoreVarCharBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'SingleStoreVarChar'> & { length?: number | undefined },\n> extends SingleStoreColumnBuilder<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, { length: T['length'] }> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: T['name'], config: SingleStoreVarCharConfig<T['enumValues'], T['length']>) {\n\t\tsuper(name, 'string', 'SingleStoreVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnySingleStoreTable<{ name: TTableName }>,\n\t): SingleStoreVarChar<MakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }> {\n\t\treturn new SingleStoreVarChar<\n\t\t\tMakeColumnConfig<T, TTableName> & { length: T['length']; enumValues: T['enumValues'] }\n\t\t>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class SingleStoreVarChar<\n\tT extends ColumnBaseConfig<'string', 'SingleStoreVarChar'> & { length?: number | undefined },\n> extends SingleStoreColumn<T, SingleStoreVarCharConfig<T['enumValues'], T['length']>, { length: T['length'] }> {\n\tstatic override readonly [entityKind]: string = 'SingleStoreVarChar';\n\n\treadonly length: T['length'] = this.config.length;\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn this.length === undefined ? `varchar` : `varchar(${this.length})`;\n\t}\n}\n\nexport interface SingleStoreVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n\tTLength extends number | undefined = number | undefined,\n> {\n\tenum?: TEnum;\n\tlength?: TLength;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>, L extends number | undefined>(\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>, L>,\n): SingleStoreVarCharBuilderInitial<'', Writable<T>, L>;\nexport function varchar<\n\tTName extends string,\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n\tL extends number | undefined,\n>(\n\tname: TName,\n\tconfig: SingleStoreVarCharConfig<T | Writable<T>, L>,\n): SingleStoreVarCharBuilderInitial<TName, Writable<T>, L>;\nexport function varchar(a?: string | SingleStoreVarCharConfig, b?: SingleStoreVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<SingleStoreVarCharConfig>(a, b);\n\treturn new SingleStoreVarCharBuilder(name, config as any);\n}\n"],"mappings":"AAEA,SAAS,kBAAkB;AAE3B,SAAS,8BAA6C;AACtD,SAAS,mBAAmB,gCAAgC;AAmBrD,MAAM,kCAEH,yBAA6G;AAAA,EACtH,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAiB,QAAgE;AAC5F,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MACR,OAC6G;AAC7G,WAAO,IAAI;AAAA,MAGV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BAEH,kBAAsG;AAAA,EAC/G,QAA0B,UAAU,IAAY;AAAA,EAEvC,SAAsB,KAAK,OAAO;AAAA,EACzB,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,KAAK,WAAW,SAAY,YAAY,WAAW,KAAK,MAAM;AAAA,EACtE;AACD;AAsBO,SAAS,QAAQ,GAAuC,GAAmC;AACjG,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAiD,GAAG,CAAC;AAC9E,SAAO,IAAI,0BAA0B,MAAM,MAAa;AACzD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sqlite-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getSQLiteColumnBuilders, type SQLiteColumnBuilders } from './columns/all.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilder, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SQLiteTableExtraConfigValue =\n\t| IndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder;\n\nexport type SQLiteTableExtraConfig = Record<\n\tstring,\n\tSQLiteTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<SQLiteColumn<any>>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:SQLiteInlineForeignKeys');\n\nexport class SQLiteTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, SQLiteColumn>) => SQLiteTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySQLiteTable<TPartial extends Partial<TableConfig> = {}> = SQLiteTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type SQLiteTableWithColumns<T extends TableConfig> =\n\t& SQLiteTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport interface SQLiteTableFn<TSchema extends string | undefined = undefined> {\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n}\n\nfunction sqliteTableBase<\n\tTTableName extends string,\n\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\tTSchema extends string | undefined,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])\n\t\t| undefined,\n\tschema?: TSchema,\n\tbaseName = name,\n): SQLiteTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchema;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\tdialect: 'sqlite';\n}> {\n\tconst rawTable = new SQLiteTable<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SQLiteColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'sqlite'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (\n\t\t\tself: Record<string, SQLiteColumn>,\n\t\t) => SQLiteTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport const sqliteTable: SQLiteTableFn = (name, columns, extraConfig) => {\n\treturn sqliteTableBase(name, columns, extraConfig);\n};\n\nexport function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn sqliteTableBase(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAEnF,iBAAmE;AAsB5D,MAAM,oBAAoB,OAAO,IAAI,iCAAiC;AAEtE,MAAM,oBAAyD,mBAAS;AAAA,EAC9E,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAoHA,SAAS,gBAKR,MACA,SACA,aAKA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,YAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,oCAAwB,CAAC,IAAI;AAExG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,YAAY,OAAO,kBAAkB,IAAI;AAAA,EAGhD;AAEA,SAAO;AACR;AAEO,MAAM,cAA6B,CAAC,MAAM,SAAS,gBAAgB;AACzE,SAAO,gBAAgB,MAAM,SAAS,WAAW;AAClD;AAEO,SAAS,mBAAmB,oBAA6D;AAC/F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,gBAAgB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACtG;AACD;","names":["name"]}
1
+ {"version":3,"sources":["../../src/sqlite-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getSQLiteColumnBuilders, type SQLiteColumnBuilders } from './columns/all.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilder, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SQLiteTableExtraConfigValue =\n\t| IndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder;\n\nexport type SQLiteTableExtraConfig = Record<\n\tstring,\n\tSQLiteTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<SQLiteColumn<any>>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:SQLiteInlineForeignKeys');\n\nexport class SQLiteTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, SQLiteColumn>) => SQLiteTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySQLiteTable<TPartial extends Partial<TableConfig> = {}> = SQLiteTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type SQLiteTableWithColumns<T extends TableConfig> =\n\t& SQLiteTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport interface SQLiteTableFn<TSchema extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n}\n\nfunction sqliteTableBase<\n\tTTableName extends string,\n\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\tTSchema extends string | undefined,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])\n\t\t| undefined,\n\tschema?: TSchema,\n\tbaseName = name,\n): SQLiteTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchema;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\tdialect: 'sqlite';\n}> {\n\tconst rawTable = new SQLiteTable<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SQLiteColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'sqlite'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (\n\t\t\tself: Record<string, SQLiteColumn>,\n\t\t) => SQLiteTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport const sqliteTable: SQLiteTableFn = (name, columns, extraConfig) => {\n\treturn sqliteTableBase(name, columns, extraConfig);\n};\n\nexport function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn sqliteTableBase(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAEnF,iBAAmE;AAsB5D,MAAM,oBAAoB,OAAO,IAAI,iCAAiC;AAEtE,MAAM,oBAAyD,mBAAS;AAAA,EAC9E,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,mBAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,mBAAM,OAAO,kBAAkB,IAE1B;AAChB;AAmHA,SAAS,gBAKR,MACA,SACA,aAKA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,YAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,oCAAwB,CAAC,IAAI;AAExG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,YAAY,OAAO,kBAAkB,IAAI;AAAA,EAGhD;AAEA,SAAO;AACR;AAEO,MAAM,cAA6B,CAAC,MAAM,SAAS,gBAAgB;AACzE,SAAO,gBAAgB,MAAM,SAAS,WAAW;AAClD;AAEO,SAAS,mBAAmB,oBAA6D;AAC/F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,gBAAgB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACtG;AACD;","names":["name"]}
@@ -19,6 +19,18 @@ export type SQLiteTableWithColumns<T extends TableConfig> = SQLiteTable<T> & {
19
19
  [Key in keyof T['columns']]: T['columns'][Key];
20
20
  };
21
21
  export interface SQLiteTableFn<TSchema extends string | undefined = undefined> {
22
+ <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
23
+ name: TTableName;
24
+ schema: TSchema;
25
+ columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
26
+ dialect: 'sqlite';
27
+ }>;
28
+ <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
29
+ name: TTableName;
30
+ schema: TSchema;
31
+ columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
32
+ dialect: 'sqlite';
33
+ }>;
22
34
  /**
23
35
  * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object
24
36
  *
@@ -75,18 +87,6 @@ export interface SQLiteTableFn<TSchema extends string | undefined = undefined> {
75
87
  columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
76
88
  dialect: 'sqlite';
77
89
  }>;
78
- <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
79
- name: TTableName;
80
- schema: TSchema;
81
- columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
82
- dialect: 'sqlite';
83
- }>;
84
- <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
85
- name: TTableName;
86
- schema: TSchema;
87
- columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
88
- dialect: 'sqlite';
89
- }>;
90
90
  }
91
91
  export declare const sqliteTable: SQLiteTableFn;
92
92
  export declare function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn;
@@ -19,6 +19,18 @@ export type SQLiteTableWithColumns<T extends TableConfig> = SQLiteTable<T> & {
19
19
  [Key in keyof T['columns']]: T['columns'][Key];
20
20
  };
21
21
  export interface SQLiteTableFn<TSchema extends string | undefined = undefined> {
22
+ <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
23
+ name: TTableName;
24
+ schema: TSchema;
25
+ columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
26
+ dialect: 'sqlite';
27
+ }>;
28
+ <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
29
+ name: TTableName;
30
+ schema: TSchema;
31
+ columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
32
+ dialect: 'sqlite';
33
+ }>;
22
34
  /**
23
35
  * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object
24
36
  *
@@ -75,18 +87,6 @@ export interface SQLiteTableFn<TSchema extends string | undefined = undefined> {
75
87
  columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
76
88
  dialect: 'sqlite';
77
89
  }>;
78
- <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
79
- name: TTableName;
80
- schema: TSchema;
81
- columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
82
- dialect: 'sqlite';
83
- }>;
84
- <TTableName extends string, TColumnsMap extends Record<string, SQLiteColumnBuilderBase>>(name: TTableName, columns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap, extraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[]): SQLiteTableWithColumns<{
85
- name: TTableName;
86
- schema: TSchema;
87
- columns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;
88
- dialect: 'sqlite';
89
- }>;
90
90
  }
91
91
  export declare const sqliteTable: SQLiteTableFn;
92
92
  export declare function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sqlite-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getSQLiteColumnBuilders, type SQLiteColumnBuilders } from './columns/all.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilder, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SQLiteTableExtraConfigValue =\n\t| IndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder;\n\nexport type SQLiteTableExtraConfig = Record<\n\tstring,\n\tSQLiteTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<SQLiteColumn<any>>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:SQLiteInlineForeignKeys');\n\nexport class SQLiteTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, SQLiteColumn>) => SQLiteTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySQLiteTable<TPartial extends Partial<TableConfig> = {}> = SQLiteTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type SQLiteTableWithColumns<T extends TableConfig> =\n\t& SQLiteTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport interface SQLiteTableFn<TSchema extends string | undefined = undefined> {\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n}\n\nfunction sqliteTableBase<\n\tTTableName extends string,\n\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\tTSchema extends string | undefined,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])\n\t\t| undefined,\n\tschema?: TSchema,\n\tbaseName = name,\n): SQLiteTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchema;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\tdialect: 'sqlite';\n}> {\n\tconst rawTable = new SQLiteTable<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SQLiteColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'sqlite'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (\n\t\t\tself: Record<string, SQLiteColumn>,\n\t\t) => SQLiteTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport const sqliteTable: SQLiteTableFn = (name, columns, extraConfig) => {\n\treturn sqliteTableBase(name, columns, extraConfig);\n};\n\nexport function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn sqliteTableBase(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAEnF,SAAS,+BAA0D;AAsB5D,MAAM,oBAAoB,OAAO,IAAI,iCAAiC;AAEtE,MAAM,oBAAyD,MAAS;AAAA,EAC9E,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAoHA,SAAS,gBAKR,MACA,SACA,aAKA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,YAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,wBAAwB,CAAC,IAAI;AAExG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,YAAY,OAAO,kBAAkB,IAAI;AAAA,EAGhD;AAEA,SAAO;AACR;AAEO,MAAM,cAA6B,CAAC,MAAM,SAAS,gBAAgB;AACzE,SAAO,gBAAgB,MAAM,SAAS,WAAW;AAClD;AAEO,SAAS,mBAAmB,oBAA6D;AAC/F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,gBAAgB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACtG;AACD;","names":["name"]}
1
+ {"version":3,"sources":["../../src/sqlite-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getSQLiteColumnBuilders, type SQLiteColumnBuilders } from './columns/all.ts';\nimport type { SQLiteColumn, SQLiteColumnBuilder, SQLiteColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type SQLiteTableExtraConfigValue =\n\t| IndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder;\n\nexport type SQLiteTableExtraConfig = Record<\n\tstring,\n\tSQLiteTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<SQLiteColumn<any>>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:SQLiteInlineForeignKeys');\n\nexport class SQLiteTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'SQLiteTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t});\n\n\t/** @internal */\n\toverride [Table.Symbol.Columns]!: NonNullable<T['columns']>;\n\n\t/** @internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]:\n\t\t| ((self: Record<string, SQLiteColumn>) => SQLiteTableExtraConfig)\n\t\t| undefined = undefined;\n}\n\nexport type AnySQLiteTable<TPartial extends Partial<TableConfig> = {}> = SQLiteTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type SQLiteTableWithColumns<T extends TableConfig> =\n\t& SQLiteTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t};\n\nexport interface SQLiteTableFn<TSchema extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfigValue[],\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n\n\t/**\n\t * @deprecated The third parameter of sqliteTable is changing and will only accept an array instead of an object\n\t *\n\t * @example\n\t * Deprecated version:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => ({\n\t * \tidx: index('custom_name').on(t.id)\n\t * }));\n\t * ```\n\t *\n\t * New API:\n\t * ```ts\n\t * export const users = sqliteTable(\"users\", {\n\t * \tid: int(),\n\t * }, (t) => [\n\t * \tindex('custom_name').on(t.id)\n\t * ]);\n\t * ```\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: SQLiteColumnBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildColumns<TTableName, TColumnsMap, 'sqlite'>) => SQLiteTableExtraConfig,\n\t): SQLiteTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>;\n}\n\nfunction sqliteTableBase<\n\tTTableName extends string,\n\tTColumnsMap extends Record<string, SQLiteColumnBuilderBase>,\n\tTSchema extends string | undefined,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: SQLiteColumnBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildColumns<TTableName, TColumnsMap, 'sqlite'>,\n\t\t) => SQLiteTableExtraConfig | SQLiteTableExtraConfigValue[])\n\t\t| undefined,\n\tschema?: TSchema,\n\tbaseName = name,\n): SQLiteTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchema;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\tdialect: 'sqlite';\n}> {\n\tconst rawTable = new SQLiteTable<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\t\tdialect: 'sqlite';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getSQLiteColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as SQLiteColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'sqlite'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumns as unknown as BuildExtraConfigColumns<\n\t\tTTableName,\n\t\tTColumnsMap,\n\t\t'sqlite'\n\t>;\n\n\tif (extraConfig) {\n\t\ttable[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig as (\n\t\t\tself: Record<string, SQLiteColumn>,\n\t\t) => SQLiteTableExtraConfig;\n\t}\n\n\treturn table;\n}\n\nexport const sqliteTable: SQLiteTableFn = (name, columns, extraConfig) => {\n\treturn sqliteTableBase(name, columns, extraConfig);\n};\n\nexport function sqliteTableCreator(customizeTableName: (name: string) => string): SQLiteTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn sqliteTableBase(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAEnF,SAAS,+BAA0D;AAsB5D,MAAM,oBAAoB,OAAO,IAAI,iCAAiC;AAEtE,MAAM,oBAAyD,MAAS;AAAA,EAC9E,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAU,MAAM,OAAO,OAAO;AAAA;AAAA,EAG9B,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAU,MAAM,OAAO,kBAAkB,IAE1B;AAChB;AAmHA,SAAS,gBAKR,MACA,SACA,aAKA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,YAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,wBAAwB,CAAC,IAAI;AAExG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAMzC,MAAI,aAAa;AAChB,UAAM,YAAY,OAAO,kBAAkB,IAAI;AAAA,EAGhD;AAEA,SAAO;AACR;AAEO,MAAM,cAA6B,CAAC,MAAM,SAAS,gBAAgB;AACzE,SAAO,gBAAgB,MAAM,SAAS,WAAW;AAClD;AAEO,SAAS,mBAAmB,oBAA6D;AAC/F,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,gBAAgB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACtG;AACD;","names":["name"]}