drizzle-orm 1.0.0-beta.1-fd8bfcc → 1.0.0-beta.1-17c242e

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 (170) hide show
  1. package/bun-sql/driver.cjs +35 -75
  2. package/bun-sql/driver.cjs.map +1 -1
  3. package/bun-sql/driver.d.cts +69 -10
  4. package/bun-sql/driver.d.ts +69 -10
  5. package/bun-sql/driver.js +35 -64
  6. package/bun-sql/driver.js.map +1 -1
  7. package/bun-sql/migrator.cjs +18 -3
  8. package/bun-sql/migrator.cjs.map +1 -1
  9. package/bun-sql/migrator.d.cts +8 -1
  10. package/bun-sql/migrator.d.ts +8 -1
  11. package/bun-sql/migrator.js +18 -3
  12. package/bun-sql/migrator.js.map +1 -1
  13. package/bun-sql/mysql/driver.cjs +117 -0
  14. package/bun-sql/mysql/driver.cjs.map +1 -0
  15. package/bun-sql/mysql/driver.d.cts +38 -0
  16. package/bun-sql/mysql/driver.d.ts +38 -0
  17. package/bun-sql/mysql/driver.js +82 -0
  18. package/bun-sql/mysql/driver.js.map +1 -0
  19. package/bun-sql/mysql/index.cjs +25 -0
  20. package/bun-sql/mysql/index.cjs.map +1 -0
  21. package/bun-sql/mysql/index.d.cts +2 -0
  22. package/bun-sql/mysql/index.d.ts +2 -0
  23. package/bun-sql/mysql/index.js +3 -0
  24. package/bun-sql/mysql/index.js.map +1 -0
  25. package/bun-sql/mysql/migrator.cjs +33 -0
  26. package/bun-sql/mysql/migrator.cjs.map +1 -0
  27. package/bun-sql/mysql/migrator.d.cts +4 -0
  28. package/bun-sql/mysql/migrator.d.ts +4 -0
  29. package/bun-sql/mysql/migrator.js +9 -0
  30. package/bun-sql/mysql/migrator.js.map +1 -0
  31. package/bun-sql/mysql/session.cjs +244 -0
  32. package/bun-sql/mysql/session.cjs.map +1 -0
  33. package/bun-sql/mysql/session.d.cts +65 -0
  34. package/bun-sql/mysql/session.d.ts +65 -0
  35. package/bun-sql/mysql/session.js +222 -0
  36. package/bun-sql/mysql/session.js.map +1 -0
  37. package/bun-sql/postgres/driver.cjs +110 -0
  38. package/bun-sql/postgres/driver.cjs.map +1 -0
  39. package/bun-sql/postgres/driver.d.cts +30 -0
  40. package/bun-sql/postgres/driver.d.ts +30 -0
  41. package/bun-sql/postgres/driver.js +75 -0
  42. package/bun-sql/postgres/driver.js.map +1 -0
  43. package/bun-sql/postgres/index.cjs +25 -0
  44. package/bun-sql/postgres/index.cjs.map +1 -0
  45. package/bun-sql/postgres/index.d.cts +2 -0
  46. package/bun-sql/postgres/index.d.ts +2 -0
  47. package/bun-sql/postgres/index.js +3 -0
  48. package/bun-sql/postgres/index.js.map +1 -0
  49. package/bun-sql/postgres/migrator.cjs +33 -0
  50. package/bun-sql/postgres/migrator.cjs.map +1 -0
  51. package/bun-sql/postgres/migrator.d.cts +4 -0
  52. package/bun-sql/postgres/migrator.d.ts +4 -0
  53. package/bun-sql/postgres/migrator.js +9 -0
  54. package/bun-sql/postgres/migrator.js.map +1 -0
  55. package/bun-sql/postgres/session.cjs +220 -0
  56. package/bun-sql/postgres/session.cjs.map +1 -0
  57. package/bun-sql/postgres/session.d.cts +65 -0
  58. package/bun-sql/postgres/session.d.ts +65 -0
  59. package/bun-sql/postgres/session.js +194 -0
  60. package/bun-sql/postgres/session.js.map +1 -0
  61. package/bun-sql/session.cjs +3 -200
  62. package/bun-sql/session.cjs.map +1 -1
  63. package/bun-sql/session.d.cts +1 -65
  64. package/bun-sql/session.d.ts +1 -65
  65. package/bun-sql/session.js +1 -193
  66. package/bun-sql/session.js.map +1 -1
  67. package/bun-sql/sqlite/driver.cjs +110 -0
  68. package/bun-sql/sqlite/driver.cjs.map +1 -0
  69. package/bun-sql/sqlite/driver.d.cts +30 -0
  70. package/bun-sql/sqlite/driver.d.ts +30 -0
  71. package/bun-sql/sqlite/driver.js +75 -0
  72. package/bun-sql/sqlite/driver.js.map +1 -0
  73. package/bun-sql/sqlite/index.cjs +25 -0
  74. package/bun-sql/sqlite/index.cjs.map +1 -0
  75. package/bun-sql/sqlite/index.d.cts +2 -0
  76. package/bun-sql/sqlite/index.d.ts +2 -0
  77. package/bun-sql/sqlite/index.js +3 -0
  78. package/bun-sql/sqlite/index.js.map +1 -0
  79. package/bun-sql/sqlite/migrator.cjs +33 -0
  80. package/bun-sql/sqlite/migrator.cjs.map +1 -0
  81. package/bun-sql/sqlite/migrator.d.cts +4 -0
  82. package/bun-sql/sqlite/migrator.d.ts +4 -0
  83. package/bun-sql/sqlite/migrator.js +9 -0
  84. package/bun-sql/sqlite/migrator.js.map +1 -0
  85. package/bun-sql/sqlite/session.cjs +225 -0
  86. package/bun-sql/sqlite/session.cjs.map +1 -0
  87. package/bun-sql/sqlite/session.d.cts +67 -0
  88. package/bun-sql/sqlite/session.d.ts +67 -0
  89. package/bun-sql/sqlite/session.js +199 -0
  90. package/bun-sql/sqlite/session.js.map +1 -0
  91. package/bun-sqlite/driver.cjs +5 -5
  92. package/bun-sqlite/driver.cjs.map +1 -1
  93. package/bun-sqlite/driver.d.cts +5 -5
  94. package/bun-sqlite/driver.d.ts +5 -5
  95. package/bun-sqlite/driver.js +4 -4
  96. package/bun-sqlite/driver.js.map +1 -1
  97. package/bun-sqlite/migrator.cjs.map +1 -1
  98. package/bun-sqlite/migrator.d.cts +2 -2
  99. package/bun-sqlite/migrator.d.ts +2 -2
  100. package/bun-sqlite/migrator.js.map +1 -1
  101. package/cache/core/cache.cjs.map +1 -1
  102. package/cache/core/cache.d.cts +1 -1
  103. package/cache/core/cache.d.ts +1 -1
  104. package/cache/core/cache.js.map +1 -1
  105. package/cache/upstash/cache.cjs +2 -2
  106. package/cache/upstash/cache.cjs.map +1 -1
  107. package/cache/upstash/cache.js +1 -1
  108. package/cache/upstash/cache.js.map +1 -1
  109. package/mysql-core/columns/bigint.cjs +4 -0
  110. package/mysql-core/columns/bigint.cjs.map +1 -1
  111. package/mysql-core/columns/bigint.d.cts +2 -1
  112. package/mysql-core/columns/bigint.d.ts +2 -1
  113. package/mysql-core/columns/bigint.js +4 -0
  114. package/mysql-core/columns/bigint.js.map +1 -1
  115. package/mysql-core/columns/custom.cjs +1 -3
  116. package/mysql-core/columns/custom.cjs.map +1 -1
  117. package/mysql-core/columns/custom.js +1 -3
  118. package/mysql-core/columns/custom.js.map +1 -1
  119. package/mysql-core/columns/date.cjs +4 -0
  120. package/mysql-core/columns/date.cjs.map +1 -1
  121. package/mysql-core/columns/date.d.cts +1 -0
  122. package/mysql-core/columns/date.d.ts +1 -0
  123. package/mysql-core/columns/date.js +4 -0
  124. package/mysql-core/columns/date.js.map +1 -1
  125. package/mysql-core/columns/datetime.cjs +6 -1
  126. package/mysql-core/columns/datetime.cjs.map +1 -1
  127. package/mysql-core/columns/datetime.d.cts +2 -1
  128. package/mysql-core/columns/datetime.d.ts +2 -1
  129. package/mysql-core/columns/datetime.js +6 -1
  130. package/mysql-core/columns/datetime.js.map +1 -1
  131. package/mysql-core/columns/time.cjs +4 -0
  132. package/mysql-core/columns/time.cjs.map +1 -1
  133. package/mysql-core/columns/time.d.cts +1 -0
  134. package/mysql-core/columns/time.d.ts +1 -0
  135. package/mysql-core/columns/time.js +4 -0
  136. package/mysql-core/columns/time.js.map +1 -1
  137. package/mysql-core/columns/timestamp.cjs +8 -1
  138. package/mysql-core/columns/timestamp.cjs.map +1 -1
  139. package/mysql-core/columns/timestamp.d.cts +2 -1
  140. package/mysql-core/columns/timestamp.d.ts +2 -1
  141. package/mysql-core/columns/timestamp.js +8 -1
  142. package/mysql-core/columns/timestamp.js.map +1 -1
  143. package/mysql-core/columns/varchar.cjs.map +1 -1
  144. package/mysql-core/columns/varchar.js.map +1 -1
  145. package/mysql-core/columns/year.cjs +4 -0
  146. package/mysql-core/columns/year.cjs.map +1 -1
  147. package/mysql-core/columns/year.d.cts +1 -0
  148. package/mysql-core/columns/year.d.ts +1 -0
  149. package/mysql-core/columns/year.js +4 -0
  150. package/mysql-core/columns/year.js.map +1 -1
  151. package/mysql-core/utils.cjs +2 -2
  152. package/mysql-core/utils.cjs.map +1 -1
  153. package/mysql-core/utils.d.cts +2 -2
  154. package/mysql-core/utils.d.ts +2 -2
  155. package/mysql-core/utils.js +1 -1
  156. package/mysql-core/utils.js.map +1 -1
  157. package/package.json +149 -5
  158. package/relations.cjs +4 -1
  159. package/relations.cjs.map +1 -1
  160. package/relations.js +4 -1
  161. package/relations.js.map +1 -1
  162. package/session.cjs.map +1 -1
  163. package/session.d.cts +1 -1
  164. package/session.d.ts +1 -1
  165. package/sqlite-core/columns/blob.cjs.map +1 -1
  166. package/sqlite-core/columns/blob.js.map +1 -1
  167. package/version.cjs +1 -1
  168. package/version.d.cts +1 -1
  169. package/version.d.ts +1 -1
  170. package/version.js +1 -1
@@ -14,6 +14,7 @@ export declare class MySqlTime<T extends ColumnBaseConfig<'string time'>> extend
14
14
  static readonly [entityKind]: string;
15
15
  readonly fsp: number | undefined;
16
16
  getSQLType(): string;
17
+ mapFromDriverValue(value: Date | string): string;
17
18
  }
18
19
  export type TimeConfig = {
19
20
  fsp?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
@@ -19,6 +19,10 @@ class MySqlTime extends MySqlColumn {
19
19
  const precision = this.fsp === void 0 ? "" : `(${this.fsp})`;
20
20
  return `time${precision}`;
21
21
  }
22
+ mapFromDriverValue(value) {
23
+ if (typeof value === "string") return value;
24
+ return value.toTimeString().split(" ").shift();
25
+ }
22
26
  }
23
27
  function time(a, b) {
24
28
  const { name, config } = getColumnNameAndConfig(a, b);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/time.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlTimeBuilder extends MySqlColumnBuilder<\n\t{\n\t\tname: string;\n\t\tdataType: 'string time';\n\t\tdata: string;\n\t\tdriverParam: string | number;\n\t},\n\tTimeConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimeBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tconfig: TimeConfig | undefined,\n\t) {\n\t\tsuper(name, 'string time', 'MySqlTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTime(table, this.config as any);\n\t}\n}\n\nexport class MySqlTime<\n\tT extends ColumnBaseConfig<'string time'>,\n> extends MySqlColumn<T, TimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTime';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `time${precision}`;\n\t}\n}\n\nexport type TimeConfig = {\n\tfsp?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n};\n\nexport function time(\n\tconfig?: TimeConfig,\n): MySqlTimeBuilder;\nexport function time(\n\tname: string,\n\tconfig?: TimeConfig,\n): MySqlTimeBuilder;\nexport function time(a?: string | TimeConfig, b?: TimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<TimeConfig>(a, b);\n\treturn new MySqlTimeBuilder(name, config);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAAyB,mBAQpC;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,QACC;AACD,UAAM,MAAM,eAAe,WAAW;AACtC,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAEH,YAA2B;AAAA,EACpC,QAA0B,UAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,OAAO,SAAS;AAAA,EACxB;AACD;AAaO,SAAS,KAAK,GAAyB,GAAgB;AAC7D,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAmC,GAAG,CAAC;AAChE,SAAO,IAAI,iBAAiB,MAAM,MAAM;AACzC;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/time.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlTimeBuilder extends MySqlColumnBuilder<\n\t{\n\t\tname: string;\n\t\tdataType: 'string time';\n\t\tdata: string;\n\t\tdriverParam: string | number;\n\t},\n\tTimeConfig\n> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimeBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tconfig: TimeConfig | undefined,\n\t) {\n\t\tsuper(name, 'string time', 'MySqlTime');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTime(table, this.config as any);\n\t}\n}\n\nexport class MySqlTime<\n\tT extends ColumnBaseConfig<'string time'>,\n> extends MySqlColumn<T, TimeConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTime';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `time${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\treturn value.toTimeString().split(' ').shift()!;\n\t}\n}\n\nexport type TimeConfig = {\n\tfsp?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n};\n\nexport function time(\n\tconfig?: TimeConfig,\n): MySqlTimeBuilder;\nexport function time(\n\tname: string,\n\tconfig?: TimeConfig,\n): MySqlTimeBuilder;\nexport function time(a?: string | TimeConfig, b?: TimeConfig) {\n\tconst { name, config } = getColumnNameAndConfig<TimeConfig>(a, b);\n\treturn new MySqlTimeBuilder(name, config);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,8BAA8B;AACvC,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAAyB,mBAQpC;AAAA,EACD,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,QACC;AACD,UAAM,MAAM,eAAe,WAAW;AACtC,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAEH,YAA2B;AAAA,EACpC,QAA0B,UAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,OAAO,SAAS;AAAA,EACxB;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,MAAM,aAAa,EAAE,MAAM,GAAG,EAAE,MAAM;AAAA,EAC9C;AACD;AAaO,SAAS,KAAK,GAAyB,GAAgB;AAC7D,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAmC,GAAG,CAAC;AAChE,SAAO,IAAI,iBAAiB,MAAM,MAAM;AACzC;","names":[]}
@@ -50,7 +50,8 @@ class MySqlTimestamp extends import_date_common.MySqlDateBaseColumn {
50
50
  return `timestamp${precision}`;
51
51
  }
52
52
  mapFromDriverValue(value) {
53
- return /* @__PURE__ */ new Date(value + "+0000");
53
+ if (typeof value === "string") return /* @__PURE__ */ new Date(value + "+0000");
54
+ return value;
54
55
  }
55
56
  mapToDriverValue(value) {
56
57
  return value.toISOString().slice(0, -1).replace("T", " ");
@@ -77,6 +78,12 @@ class MySqlTimestampString extends import_date_common.MySqlDateBaseColumn {
77
78
  const precision = this.fsp === void 0 ? "" : `(${this.fsp})`;
78
79
  return `timestamp${precision}`;
79
80
  }
81
+ mapFromDriverValue(value) {
82
+ if (typeof value === "string") return value;
83
+ const shortened = value.toISOString().slice(0, -1).replace("T", " ");
84
+ if (shortened.endsWith(".000")) return shortened.slice(0, -4);
85
+ return shortened;
86
+ }
80
87
  }
81
88
  function timestamp(a, b = {}) {
82
89
  const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/timestamp.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlDateBaseColumn, MySqlDateColumnBaseBuilder } from './date.common.ts';\n\nexport class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlTimestamp');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestamp(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestamp<T extends ColumnBaseConfig<'object date'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestamp';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value + '+0000');\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString().slice(0, -1).replace('T', ' ');\n\t}\n}\n\nexport class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'string timestamp';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampStringBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'string timestamp', 'MySqlTimestampString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestampString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestampString<T extends ColumnBaseConfig<'string timestamp'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampString';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n}\n\nexport type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {\n\tmode?: TMode;\n\tfsp?: TimestampFsp;\n}\n\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp(a?: string | MySqlTimestampConfig, b: MySqlTimestampConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlTimestampConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlTimestampStringBuilder(name, config);\n\t}\n\treturn new MySqlTimestampBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,yBAAgE;AAEzD,MAAM,8BAA8B,8CAKlB;AAAA,EACxB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,eAAe,gBAAgB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,oBAAI,KAAK,QAAQ,OAAO;AAAA,EAChC;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAEO,MAAM,oCAAoC,8CAKxB;AAAA,EACxB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,oBAAoB,sBAAsB;AACtD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,6BACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AACD;AAkBO,SAAS,UAAU,GAAmC,IAA0B,CAAC,GAAG;AAC1F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAyD,GAAG,CAAC;AACtF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,4BAA4B,MAAM,MAAM;AAAA,EACpD;AACA,SAAO,IAAI,sBAAsB,MAAM,MAAM;AAC9C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/timestamp.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlDateBaseColumn, MySqlDateColumnBaseBuilder } from './date.common.ts';\n\nexport class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlTimestamp');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestamp(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestamp<T extends ColumnBaseConfig<'object date'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestamp';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): Date {\n\t\tif (typeof value === 'string') return new Date(value + '+0000');\n\n\t\treturn value;\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString().slice(0, -1).replace('T', ' ');\n\t}\n}\n\nexport class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'string timestamp';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampStringBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'string timestamp', 'MySqlTimestampString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestampString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestampString<T extends ColumnBaseConfig<'string timestamp'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampString';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\tconst shortened = value.toISOString().slice(0, -1).replace('T', ' ');\n\t\tif (shortened.endsWith('.000')) return shortened.slice(0, -4);\n\n\t\treturn shortened;\n\t}\n}\n\nexport type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {\n\tmode?: TMode;\n\tfsp?: TimestampFsp;\n}\n\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp(a?: string | MySqlTimestampConfig, b: MySqlTimestampConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlTimestampConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlTimestampStringBuilder(name, config);\n\t}\n\treturn new MySqlTimestampBuilder(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAmD;AACnD,yBAAgE;AAEzD,MAAM,8BAA8B,8CAKlB;AAAA,EACxB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,eAAe,gBAAgB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AAAA,EAES,mBAAmB,OAA4B;AACvD,QAAI,OAAO,UAAU,SAAU,QAAO,oBAAI,KAAK,QAAQ,OAAO;AAE9D,WAAO;AAAA,EACR;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAEO,MAAM,oCAAoC,8CAKxB;AAAA,EACxB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,oBAAoB,sBAAsB;AACtD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,6BACJ,uCACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,UAAM,YAAY,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AACnE,QAAI,UAAU,SAAS,MAAM,EAAG,QAAO,UAAU,MAAM,GAAG,EAAE;AAE5D,WAAO;AAAA,EACR;AACD;AAkBO,SAAS,UAAU,GAAmC,IAA0B,CAAC,GAAG;AAC1F,QAAM,EAAE,MAAM,OAAO,QAAI,qCAAyD,GAAG,CAAC;AACtF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,4BAA4B,MAAM,MAAM;AAAA,EACpD;AACA,SAAO,IAAI,sBAAsB,MAAM,MAAM;AAC9C;","names":[]}
@@ -15,7 +15,7 @@ export declare class MySqlTimestamp<T extends ColumnBaseConfig<'object date'>> e
15
15
  static readonly [entityKind]: string;
16
16
  readonly fsp: number | undefined;
17
17
  getSQLType(): string;
18
- mapFromDriverValue(value: string): Date;
18
+ mapFromDriverValue(value: Date | string): Date;
19
19
  mapToDriverValue(value: Date): string;
20
20
  }
21
21
  export declare class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder<{
@@ -31,6 +31,7 @@ export declare class MySqlTimestampString<T extends ColumnBaseConfig<'string tim
31
31
  static readonly [entityKind]: string;
32
32
  readonly fsp: number | undefined;
33
33
  getSQLType(): string;
34
+ mapFromDriverValue(value: Date | string): string;
34
35
  }
35
36
  export type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;
36
37
  export interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {
@@ -15,7 +15,7 @@ export declare class MySqlTimestamp<T extends ColumnBaseConfig<'object date'>> e
15
15
  static readonly [entityKind]: string;
16
16
  readonly fsp: number | undefined;
17
17
  getSQLType(): string;
18
- mapFromDriverValue(value: string): Date;
18
+ mapFromDriverValue(value: Date | string): Date;
19
19
  mapToDriverValue(value: Date): string;
20
20
  }
21
21
  export declare class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder<{
@@ -31,6 +31,7 @@ export declare class MySqlTimestampString<T extends ColumnBaseConfig<'string tim
31
31
  static readonly [entityKind]: string;
32
32
  readonly fsp: number | undefined;
33
33
  getSQLType(): string;
34
+ mapFromDriverValue(value: Date | string): string;
34
35
  }
35
36
  export type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;
36
37
  export interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {
@@ -23,7 +23,8 @@ class MySqlTimestamp extends MySqlDateBaseColumn {
23
23
  return `timestamp${precision}`;
24
24
  }
25
25
  mapFromDriverValue(value) {
26
- return /* @__PURE__ */ new Date(value + "+0000");
26
+ if (typeof value === "string") return /* @__PURE__ */ new Date(value + "+0000");
27
+ return value;
27
28
  }
28
29
  mapToDriverValue(value) {
29
30
  return value.toISOString().slice(0, -1).replace("T", " ");
@@ -50,6 +51,12 @@ class MySqlTimestampString extends MySqlDateBaseColumn {
50
51
  const precision = this.fsp === void 0 ? "" : `(${this.fsp})`;
51
52
  return `timestamp${precision}`;
52
53
  }
54
+ mapFromDriverValue(value) {
55
+ if (typeof value === "string") return value;
56
+ const shortened = value.toISOString().slice(0, -1).replace("T", " ");
57
+ if (shortened.endsWith(".000")) return shortened.slice(0, -4);
58
+ return shortened;
59
+ }
53
60
  }
54
61
  function timestamp(a, b = {}) {
55
62
  const { name, config } = getColumnNameAndConfig(a, b);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/timestamp.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlDateBaseColumn, MySqlDateColumnBaseBuilder } from './date.common.ts';\n\nexport class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlTimestamp');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestamp(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestamp<T extends ColumnBaseConfig<'object date'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestamp';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value + '+0000');\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString().slice(0, -1).replace('T', ' ');\n\t}\n}\n\nexport class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'string timestamp';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampStringBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'string timestamp', 'MySqlTimestampString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestampString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestampString<T extends ColumnBaseConfig<'string timestamp'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampString';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n}\n\nexport type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {\n\tmode?: TMode;\n\tfsp?: TimestampFsp;\n}\n\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp(a?: string | MySqlTimestampConfig, b: MySqlTimestampConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlTimestampConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlTimestampStringBuilder(name, config);\n\t}\n\treturn new MySqlTimestampBuilder(name, config);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,qBAAqB,kCAAkC;AAEzD,MAAM,8BAA8B,2BAKlB;AAAA,EACxB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,eAAe,gBAAgB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,oBAAI,KAAK,QAAQ,OAAO;AAAA,EAChC;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAEO,MAAM,oCAAoC,2BAKxB;AAAA,EACxB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,oBAAoB,sBAAsB;AACtD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,6BACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AACD;AAkBO,SAAS,UAAU,GAAmC,IAA0B,CAAC,GAAG;AAC1F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAyD,GAAG,CAAC;AACtF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,4BAA4B,MAAM,MAAM;AAAA,EACpD;AACA,SAAO,IAAI,sBAAsB,MAAM,MAAM;AAC9C;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/timestamp.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { MySqlDateBaseColumn, MySqlDateColumnBaseBuilder } from './date.common.ts';\n\nexport class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'object date';\n\tdata: Date;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'object date', 'MySqlTimestamp');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestamp(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestamp<T extends ColumnBaseConfig<'object date'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestamp';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): Date {\n\t\tif (typeof value === 'string') return new Date(value + '+0000');\n\n\t\treturn value;\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString().slice(0, -1).replace('T', ' ');\n\t}\n}\n\nexport class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder<{\n\tname: string;\n\tdataType: 'string timestamp';\n\tdata: string;\n\tdriverParam: string | number;\n}, MySqlTimestampConfig> {\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampStringBuilder';\n\n\tconstructor(name: string, config: MySqlTimestampConfig | undefined) {\n\t\tsuper(name, 'string timestamp', 'MySqlTimestampString');\n\t\tthis.config.fsp = config?.fsp;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlTimestampString(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlTimestampString<T extends ColumnBaseConfig<'string timestamp'>>\n\textends MySqlDateBaseColumn<T, MySqlTimestampConfig>\n{\n\tstatic override readonly [entityKind]: string = 'MySqlTimestampString';\n\n\treadonly fsp: number | undefined = this.config.fsp;\n\n\tgetSQLType(): string {\n\t\tconst precision = this.fsp === undefined ? '' : `(${this.fsp})`;\n\t\treturn `timestamp${precision}`;\n\t}\n\n\toverride mapFromDriverValue(value: Date | string): string {\n\t\tif (typeof value === 'string') return value;\n\n\t\tconst shortened = value.toISOString().slice(0, -1).replace('T', ' ');\n\t\tif (shortened.endsWith('.000')) return shortened.slice(0, -4);\n\n\t\treturn shortened;\n\t}\n}\n\nexport type TimestampFsp = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface MySqlTimestampConfig<TMode extends 'string' | 'date' = 'string' | 'date'> {\n\tmode?: TMode;\n\tfsp?: TimestampFsp;\n}\n\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp<TMode extends MySqlTimestampConfig['mode'] & {}>(\n\tname: string,\n\tconfig?: MySqlTimestampConfig<TMode>,\n): Equal<TMode, 'string'> extends true ? MySqlTimestampStringBuilder\n\t: MySqlTimestampBuilder;\nexport function timestamp(a?: string | MySqlTimestampConfig, b: MySqlTimestampConfig = {}) {\n\tconst { name, config } = getColumnNameAndConfig<MySqlTimestampConfig | undefined>(a, b);\n\tif (config?.mode === 'string') {\n\t\treturn new MySqlTimestampStringBuilder(name, config);\n\t}\n\treturn new MySqlTimestampBuilder(name, config);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,qBAAqB,kCAAkC;AAEzD,MAAM,8BAA8B,2BAKlB;AAAA,EACxB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,eAAe,gBAAgB;AAC3C,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,uBACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AAAA,EAES,mBAAmB,OAA4B;AACvD,QAAI,OAAO,UAAU,SAAU,QAAO,oBAAI,KAAK,QAAQ,OAAO;AAE9D,WAAO;AAAA,EACR;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AAAA,EACzD;AACD;AAEO,MAAM,oCAAoC,2BAKxB;AAAA,EACxB,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc,QAA0C;AACnE,UAAM,MAAM,oBAAoB,sBAAsB;AACtD,SAAK,OAAO,MAAM,QAAQ;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,6BACJ,oBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEvC,MAA0B,KAAK,OAAO;AAAA,EAE/C,aAAqB;AACpB,UAAM,YAAY,KAAK,QAAQ,SAAY,KAAK,IAAI,KAAK,GAAG;AAC5D,WAAO,YAAY,SAAS;AAAA,EAC7B;AAAA,EAES,mBAAmB,OAA8B;AACzD,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,UAAM,YAAY,MAAM,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG;AACnE,QAAI,UAAU,SAAS,MAAM,EAAG,QAAO,UAAU,MAAM,GAAG,EAAE;AAE5D,WAAO;AAAA,EACR;AACD;AAkBO,SAAS,UAAU,GAAmC,IAA0B,CAAC,GAAG;AAC1F,QAAM,EAAE,MAAM,OAAO,IAAI,uBAAyD,GAAG,CAAC;AACtF,MAAI,QAAQ,SAAS,UAAU;AAC9B,WAAO,IAAI,4BAA4B,MAAM,MAAM;AAAA,EACpD;AACA,SAAO,IAAI,sBAAsB,MAAM,MAAM;AAC9C;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/varchar.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlVarCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string text' : 'string enum';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n}, MySqlVarCharConfig<TEnum>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: string, config: MySqlVarCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string text', 'MySqlVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlVarChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlVarChar<\n\tT extends ColumnBaseConfig<'string' | 'string enum'> & { length: number },\n> extends MySqlColumn<T, MySqlVarCharConfig<T['enumValues']>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn `varchar(${this.length})`;\n\t}\n}\n\nexport interface MySqlVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength: number;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar(a?: string | MySqlVarCharConfig, b?: MySqlVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlVarCharConfig>(a, b);\n\treturn new MySqlVarCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAkE;AAClE,oBAAgD;AAEzC,MAAM,4BAEH,iCAMoB;AAAA,EAC7B,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAc,QAAmC;AAC5D,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,eAAe,cAAc;AAC/E,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAEH,0BAAoD;AAAA,EAC7D,QAA0B,wBAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,WAAW,KAAK,MAAM;AAAA,EAC9B;AACD;AAmBO,SAAS,QAAQ,GAAiC,GAA6B;AACrF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,MAAa;AACnD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/varchar.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlVarCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string text' : 'string enum';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n}, MySqlVarCharConfig<TEnum>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: string, config: MySqlVarCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string text', 'MySqlVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlVarChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlVarChar<\n\tT extends ColumnBaseConfig<'string' | 'string enum'> & { length: number },\n> extends MySqlColumn<T, MySqlVarCharConfig<T['enumValues']>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn `varchar(${this.length})`;\n\t}\n}\n\nexport interface MySqlVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength: number;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar(a: string | MySqlVarCharConfig, b?: MySqlVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlVarCharConfig>(a, b);\n\treturn new MySqlVarCharBuilder(name, config as any);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,mBAAkE;AAClE,oBAAgD;AAEzC,MAAM,4BAEH,iCAMoB;AAAA,EAC7B,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAc,QAAmC;AAC5D,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,eAAe,cAAc;AAC/E,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAEH,0BAAoD;AAAA,EAC7D,QAA0B,wBAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,WAAW,KAAK,MAAM;AAAA,EAC9B;AACD;AAmBO,SAAS,QAAQ,GAAgC,GAA6B;AACpF,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,MAAa;AACnD;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/varchar.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlVarCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string text' : 'string enum';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n}, MySqlVarCharConfig<TEnum>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: string, config: MySqlVarCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string text', 'MySqlVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlVarChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlVarChar<\n\tT extends ColumnBaseConfig<'string' | 'string enum'> & { length: number },\n> extends MySqlColumn<T, MySqlVarCharConfig<T['enumValues']>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn `varchar(${this.length})`;\n\t}\n}\n\nexport interface MySqlVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength: number;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar(a?: string | MySqlVarCharConfig, b?: MySqlVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlVarCharConfig>(a, b);\n\treturn new MySqlVarCharBuilder(name, config as any);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA6C;AAClE,SAAS,aAAa,0BAA0B;AAEzC,MAAM,4BAEH,mBAMoB;AAAA,EAC7B,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAc,QAAmC;AAC5D,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,eAAe,cAAc;AAC/E,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAEH,YAAoD;AAAA,EAC7D,QAA0B,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,WAAW,KAAK,MAAM;AAAA,EAC9B;AACD;AAmBO,SAAS,QAAQ,GAAiC,GAA6B;AACrF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,MAAa;AACnD;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/varchar.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { type Equal, getColumnNameAndConfig, type Writable } from '~/utils.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlVarCharBuilder<\n\tTEnum extends [string, ...string[]],\n> extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: Equal<TEnum, [string, ...string[]]> extends true ? 'string text' : 'string enum';\n\tdata: TEnum[number];\n\tdriverParam: number | string;\n\tenumValues: TEnum;\n}, MySqlVarCharConfig<TEnum>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarCharBuilder';\n\n\t/** @internal */\n\tconstructor(name: string, config: MySqlVarCharConfig<TEnum>) {\n\t\tsuper(name, config.enum?.length ? 'string enum' : 'string text', 'MySqlVarChar');\n\t\tthis.config.length = config.length;\n\t\tthis.config.enum = config.enum;\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlVarChar(\n\t\t\ttable,\n\t\t\tthis.config as any,\n\t\t);\n\t}\n}\n\nexport class MySqlVarChar<\n\tT extends ColumnBaseConfig<'string' | 'string enum'> & { length: number },\n> extends MySqlColumn<T, MySqlVarCharConfig<T['enumValues']>> {\n\tstatic override readonly [entityKind]: string = 'MySqlVarChar';\n\n\toverride readonly enumValues = this.config.enum;\n\n\tgetSQLType(): string {\n\t\treturn `varchar(${this.length})`;\n\t}\n}\n\nexport interface MySqlVarCharConfig<\n\tTEnum extends string[] | readonly string[] | undefined = string[] | readonly string[] | undefined,\n> {\n\tenum?: TEnum;\n\tlength: number;\n}\n\nexport function varchar<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar<\n\tU extends string,\n\tT extends Readonly<[U, ...U[]]>,\n>(\n\tname: string,\n\tconfig: MySqlVarCharConfig<T | Writable<T>>,\n): MySqlVarCharBuilder<Writable<T>>;\nexport function varchar(a: string | MySqlVarCharConfig, b?: MySqlVarCharConfig): any {\n\tconst { name, config } = getColumnNameAndConfig<MySqlVarCharConfig>(a, b);\n\treturn new MySqlVarCharBuilder(name, config as any);\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA6C;AAClE,SAAS,aAAa,0BAA0B;AAEzC,MAAM,4BAEH,mBAMoB;AAAA,EAC7B,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,YAAY,MAAc,QAAmC;AAC5D,UAAM,MAAM,OAAO,MAAM,SAAS,gBAAgB,eAAe,cAAc;AAC/E,SAAK,OAAO,SAAS,OAAO;AAC5B,SAAK,OAAO,OAAO,OAAO;AAAA,EAC3B;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBAEH,YAAoD;AAAA,EAC7D,QAA0B,UAAU,IAAY;AAAA,EAE9B,aAAa,KAAK,OAAO;AAAA,EAE3C,aAAqB;AACpB,WAAO,WAAW,KAAK,MAAM;AAAA,EAC9B;AACD;AAmBO,SAAS,QAAQ,GAAgC,GAA6B;AACpF,QAAM,EAAE,MAAM,OAAO,IAAI,uBAA2C,GAAG,CAAC;AACxE,SAAO,IAAI,oBAAoB,MAAM,MAAa;AACnD;","names":[]}
@@ -40,6 +40,10 @@ class MySqlYear extends import_common.MySqlColumn {
40
40
  getSQLType() {
41
41
  return `year`;
42
42
  }
43
+ mapFromDriverValue(value) {
44
+ if (typeof value === "number") return value;
45
+ return Number(value);
46
+ }
43
47
  }
44
48
  function year(name) {
45
49
  return new MySqlYearBuilder(name ?? "");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/year.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlYearBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'number year';\n\tdata: number;\n\tdriverParam: number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlYearBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number year', 'MySqlYear');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlYear(table, this.config as any);\n\t}\n}\n\nexport class MySqlYear<\n\tT extends ColumnBaseConfig<'number year'>,\n> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlYear';\n\n\tgetSQLType(): string {\n\t\treturn `year`;\n\t}\n}\n\nexport function year(name?: string): MySqlYearBuilder {\n\treturn new MySqlYearBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAAgD;AAEzC,MAAM,yBAAyB,iCAKnC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAEH,0BAAe;AAAA,EACxB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAAK,MAAiC;AACrD,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/year.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlYearBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'number year';\n\tdata: number;\n\tdriverParam: number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlYearBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number year', 'MySqlYear');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlYear(table, this.config as any);\n\t}\n}\n\nexport class MySqlYear<\n\tT extends ColumnBaseConfig<'number year'>,\n> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlYear';\n\n\tgetSQLType(): string {\n\t\treturn `year`;\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n}\n\nexport function year(name?: string): MySqlYearBuilder {\n\treturn new MySqlYearBuilder(name ?? '');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAE3B,oBAAgD;AAEzC,MAAM,yBAAyB,iCAKnC;AAAA,EACF,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAEH,0BAAe;AAAA,EACxB,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAEO,SAAS,KAAK,MAAiC;AACrD,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
@@ -13,5 +13,6 @@ export declare class MySqlYearBuilder extends MySqlColumnBuilder<{
13
13
  export declare class MySqlYear<T extends ColumnBaseConfig<'number year'>> extends MySqlColumn<T> {
14
14
  static readonly [entityKind]: string;
15
15
  getSQLType(): string;
16
+ mapFromDriverValue(value: number | string): number;
16
17
  }
17
18
  export declare function year(name?: string): MySqlYearBuilder;
@@ -13,5 +13,6 @@ export declare class MySqlYearBuilder extends MySqlColumnBuilder<{
13
13
  export declare class MySqlYear<T extends ColumnBaseConfig<'number year'>> extends MySqlColumn<T> {
14
14
  static readonly [entityKind]: string;
15
15
  getSQLType(): string;
16
+ mapFromDriverValue(value: number | string): number;
16
17
  }
17
18
  export declare function year(name?: string): MySqlYearBuilder;
@@ -15,6 +15,10 @@ class MySqlYear extends MySqlColumn {
15
15
  getSQLType() {
16
16
  return `year`;
17
17
  }
18
+ mapFromDriverValue(value) {
19
+ if (typeof value === "number") return value;
20
+ return Number(value);
21
+ }
18
22
  }
19
23
  function year(name) {
20
24
  return new MySqlYearBuilder(name ?? "");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mysql-core/columns/year.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlYearBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'number year';\n\tdata: number;\n\tdriverParam: number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlYearBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number year', 'MySqlYear');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlYear(table, this.config as any);\n\t}\n}\n\nexport class MySqlYear<\n\tT extends ColumnBaseConfig<'number year'>,\n> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlYear';\n\n\tgetSQLType(): string {\n\t\treturn `year`;\n\t}\n}\n\nexport function year(name?: string): MySqlYearBuilder {\n\treturn new MySqlYearBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAAyB,mBAKnC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAEH,YAAe;AAAA,EACxB,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,KAAK,MAAiC;AACrD,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
1
+ {"version":3,"sources":["../../../src/mysql-core/columns/year.ts"],"sourcesContent":["import type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { MySqlTable } from '~/mysql-core/table.ts';\nimport { MySqlColumn, MySqlColumnBuilder } from './common.ts';\n\nexport class MySqlYearBuilder extends MySqlColumnBuilder<{\n\tname: string;\n\tdataType: 'number year';\n\tdata: number;\n\tdriverParam: number;\n}> {\n\tstatic override readonly [entityKind]: string = 'MySqlYearBuilder';\n\n\tconstructor(name: string) {\n\t\tsuper(name, 'number year', 'MySqlYear');\n\t}\n\n\t/** @internal */\n\toverride build(table: MySqlTable) {\n\t\treturn new MySqlYear(table, this.config as any);\n\t}\n}\n\nexport class MySqlYear<\n\tT extends ColumnBaseConfig<'number year'>,\n> extends MySqlColumn<T> {\n\tstatic override readonly [entityKind]: string = 'MySqlYear';\n\n\tgetSQLType(): string {\n\t\treturn `year`;\n\t}\n\n\toverride mapFromDriverValue(value: number | string): number {\n\t\tif (typeof value === 'number') return value;\n\n\t\treturn Number(value);\n\t}\n}\n\nexport function year(name?: string): MySqlYearBuilder {\n\treturn new MySqlYearBuilder(name ?? '');\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAE3B,SAAS,aAAa,0BAA0B;AAEzC,MAAM,yBAAyB,mBAKnC;AAAA,EACF,QAA0B,UAAU,IAAY;AAAA,EAEhD,YAAY,MAAc;AACzB,UAAM,MAAM,eAAe,WAAW;AAAA,EACvC;AAAA;AAAA,EAGS,MAAM,OAAmB;AACjC,WAAO,IAAI,UAAU,OAAO,KAAK,MAAa;AAAA,EAC/C;AACD;AAEO,MAAM,kBAEH,YAAe;AAAA,EACxB,QAA0B,UAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAgC;AAC3D,QAAI,OAAO,UAAU,SAAU,QAAO;AAEtC,WAAO,OAAO,KAAK;AAAA,EACpB;AACD;AAEO,SAAS,KAAK,MAAiC;AACrD,SAAO,IAAI,iBAAiB,QAAQ,EAAE;AACvC;","names":[]}
@@ -26,7 +26,7 @@ __export(utils_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(utils_exports);
28
28
  var import_entity = require("../entity.cjs");
29
- var import__ = require("../index.cjs");
29
+ var import_sql = require("../sql/sql.cjs");
30
30
  var import_subquery = require("../subquery.cjs");
31
31
  var import_table = require("../table.cjs");
32
32
  var import_view_common = require("../view-common.cjs");
@@ -44,7 +44,7 @@ function extractUsedTable(table) {
44
44
  if ((0, import_entity.is)(table, import_subquery.Subquery)) {
45
45
  return table._.usedTables ?? [];
46
46
  }
47
- if ((0, import_entity.is)(table, import__.SQL)) {
47
+ if ((0, import_entity.is)(table, import_sql.SQL)) {
48
48
  return table.usedTables ?? [];
49
49
  }
50
50
  return [];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/index.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { IndexForHint } from './query-builders/select.ts';\nimport { MySqlTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { MySqlViewBase } from './view-base.ts';\nimport { MySqlViewConfig } from './view-common.ts';\nimport type { MySqlView } from './view.ts';\n\nexport function extractUsedTable(table: MySqlTable | Subquery | MySqlViewBase | SQL): string[] {\n\tif (is(table, MySqlTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport function getTableConfig(table: MySqlTable) {\n\tconst columns = Object.values(table[MySqlTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[MySqlTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst baseName = table[Table.Symbol.BaseName];\n\n\tconst extraConfigBuilder = table[MySqlTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[MySqlTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tbaseName,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: MySqlView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[MySqlViewConfig],\n\t};\n}\n\nexport function convertIndexToString(indexes: IndexForHint[]) {\n\treturn indexes.map((idx) => {\n\t\treturn typeof idx === 'object' ? idx.config.name : idx;\n\t});\n}\n\nexport function toArray<T>(value: T | T[]): T[] {\n\treturn Array.isArray(value) ? value : [value];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,eAAoB;AACpB,sBAAyB;AACzB,mBAAsB;AACtB,yBAA+B;AAE/B,oBAA6B;AAE7B,0BAAkC;AAElC,qBAA6B;AAE7B,0BAAkC;AAElC,IAAAA,gBAA2B;AAC3B,+BAA+D;AAE/D,IAAAC,sBAAgC;AAGzB,SAAS,iBAAiB,OAA8D;AAC9F,UAAI,kBAAG,OAAO,wBAAU,GAAG;AAC1B,WAAO,CAAC,GAAG,MAAM,mBAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,UAAI,kBAAG,OAAO,wBAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,UAAI,kBAAG,OAAO,YAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAEO,SAAS,eAAe,OAAmB;AACjD,QAAM,UAAU,OAAO,OAAO,MAAM,yBAAW,OAAO,OAAO,CAAC;AAC9D,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAA4B,OAAO,OAAO,MAAM,yBAAW,OAAO,iBAAiB,CAAC;AAC1F,QAAM,OAAO,MAAM,mBAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,mBAAM,OAAO,MAAM;AACxC,QAAM,WAAW,MAAM,mBAAM,OAAO,QAAQ;AAE5C,QAAM,qBAAqB,MAAM,yBAAW,OAAO,kBAAkB;AAErE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,yBAAW,OAAO,OAAO,CAAC;AACvE,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD,cAAI,kBAAG,SAAS,2BAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,eAAW,kBAAG,SAAS,0BAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,eAAW,kBAAG,SAAS,gDAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAmC;AACpC,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,mCAAe;AAAA,EACxB;AACD;AAEO,SAAS,qBAAqB,SAAyB;AAC7D,SAAO,QAAQ,IAAI,CAAC,QAAQ;AAC3B,WAAO,OAAO,QAAQ,WAAW,IAAI,OAAO,OAAO;AAAA,EACpD,CAAC;AACF;AAEO,SAAS,QAAW,OAAqB;AAC/C,SAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC7C;","names":["import_table","import_view_common"]}
1
+ {"version":3,"sources":["../../src/mysql-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { IndexForHint } from './query-builders/select.ts';\nimport { MySqlTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { MySqlViewBase } from './view-base.ts';\nimport { MySqlViewConfig } from './view-common.ts';\nimport type { MySqlView } from './view.ts';\n\nexport function extractUsedTable(table: MySqlTable | Subquery | MySqlViewBase | SQL): string[] {\n\tif (is(table, MySqlTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport function getTableConfig(table: MySqlTable) {\n\tconst columns = Object.values(table[MySqlTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[MySqlTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst baseName = table[Table.Symbol.BaseName];\n\n\tconst extraConfigBuilder = table[MySqlTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[MySqlTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tbaseName,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: MySqlView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[MySqlViewConfig],\n\t};\n}\n\nexport function convertIndexToString(indexes: IndexForHint[]) {\n\treturn indexes.map((idx) => {\n\t\treturn typeof idx === 'object' ? idx.config.name : idx;\n\t});\n}\n\nexport function toArray<T>(value: T | T[]): T[] {\n\treturn Array.isArray(value) ? value : [value];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,iBAAoB;AACpB,sBAAyB;AACzB,mBAAsB;AACtB,yBAA+B;AAE/B,oBAA6B;AAE7B,0BAAkC;AAElC,qBAA6B;AAE7B,0BAAkC;AAElC,IAAAA,gBAA2B;AAC3B,+BAA+D;AAE/D,IAAAC,sBAAgC;AAGzB,SAAS,iBAAiB,OAA8D;AAC9F,UAAI,kBAAG,OAAO,wBAAU,GAAG;AAC1B,WAAO,CAAC,GAAG,MAAM,mBAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,UAAI,kBAAG,OAAO,wBAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,UAAI,kBAAG,OAAO,cAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAEO,SAAS,eAAe,OAAmB;AACjD,QAAM,UAAU,OAAO,OAAO,MAAM,yBAAW,OAAO,OAAO,CAAC;AAC9D,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAA4B,OAAO,OAAO,MAAM,yBAAW,OAAO,iBAAiB,CAAC;AAC1F,QAAM,OAAO,MAAM,mBAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,mBAAM,OAAO,MAAM;AACxC,QAAM,WAAW,MAAM,mBAAM,OAAO,QAAQ;AAE5C,QAAM,qBAAqB,MAAM,yBAAW,OAAO,kBAAkB;AAErE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,yBAAW,OAAO,OAAO,CAAC;AACvE,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD,cAAI,kBAAG,SAAS,2BAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,eAAW,kBAAG,SAAS,0BAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,eAAW,kBAAG,SAAS,gDAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAmC;AACpC,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,mCAAe;AAAA,EACxB;AACD;AAEO,SAAS,qBAAqB,SAAyB;AAC7D,SAAO,QAAQ,IAAI,CAAC,QAAQ;AAC3B,WAAO,OAAO,QAAQ,WAAW,IAAI,OAAO,OAAO;AAAA,EACpD,CAAC;AACF;AAEO,SAAS,QAAW,OAAqB;AAC/C,SAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC7C;","names":["import_table","import_view_common"]}
@@ -1,4 +1,4 @@
1
- import { SQL } from "../index.cjs";
1
+ import { SQL } from "../sql/sql.cjs";
2
2
  import { Subquery } from "../subquery.cjs";
3
3
  import type { Check } from "./checks.cjs";
4
4
  import type { ForeignKey } from "./foreign-keys.cjs";
@@ -28,7 +28,7 @@ export declare function getViewConfig<TName extends string = string, TExisting e
28
28
  name: TName;
29
29
  originalName: TName;
30
30
  schema: string | undefined;
31
- selectedFields: import("../index.ts").ColumnsSelection;
31
+ selectedFields: import("../sql/sql.ts").ColumnsSelection;
32
32
  isExisting: TExisting;
33
33
  query: TExisting extends true ? undefined : SQL<unknown>;
34
34
  isAlias: boolean;
@@ -1,4 +1,4 @@
1
- import { SQL } from "../index.js";
1
+ import { SQL } from "../sql/sql.js";
2
2
  import { Subquery } from "../subquery.js";
3
3
  import type { Check } from "./checks.js";
4
4
  import type { ForeignKey } from "./foreign-keys.js";
@@ -28,7 +28,7 @@ export declare function getViewConfig<TName extends string = string, TExisting e
28
28
  name: TName;
29
29
  originalName: TName;
30
30
  schema: string | undefined;
31
- selectedFields: import("../index.js").ColumnsSelection;
31
+ selectedFields: import("../sql/sql.js").ColumnsSelection;
32
32
  isExisting: TExisting;
33
33
  query: TExisting extends true ? undefined : SQL<unknown>;
34
34
  isAlias: boolean;
@@ -1,5 +1,5 @@
1
1
  import { is } from "../entity.js";
2
- import { SQL } from "../index.js";
2
+ import { SQL } from "../sql/sql.js";
3
3
  import { Subquery } from "../subquery.js";
4
4
  import { Table } from "../table.js";
5
5
  import { ViewBaseConfig } from "../view-common.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mysql-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/index.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { IndexForHint } from './query-builders/select.ts';\nimport { MySqlTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { MySqlViewBase } from './view-base.ts';\nimport { MySqlViewConfig } from './view-common.ts';\nimport type { MySqlView } from './view.ts';\n\nexport function extractUsedTable(table: MySqlTable | Subquery | MySqlViewBase | SQL): string[] {\n\tif (is(table, MySqlTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport function getTableConfig(table: MySqlTable) {\n\tconst columns = Object.values(table[MySqlTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[MySqlTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst baseName = table[Table.Symbol.BaseName];\n\n\tconst extraConfigBuilder = table[MySqlTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[MySqlTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tbaseName,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: MySqlView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[MySqlViewConfig],\n\t};\n}\n\nexport function convertIndexToString(indexes: IndexForHint[]) {\n\treturn indexes.map((idx) => {\n\t\treturn typeof idx === 'object' ? idx.config.name : idx;\n\t});\n}\n\nexport function toArray<T>(value: T | T[]): T[] {\n\treturn Array.isArray(value) ? value : [value];\n}\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,WAAW;AACpB,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAElC,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAgC,+BAA+B;AAE/D,SAAS,uBAAuB;AAGzB,SAAS,iBAAiB,OAA8D;AAC9F,MAAI,GAAG,OAAO,UAAU,GAAG;AAC1B,WAAO,CAAC,GAAG,MAAM,MAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,MAAI,GAAG,OAAO,QAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,MAAI,GAAG,OAAO,GAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAEO,SAAS,eAAe,OAAmB;AACjD,QAAM,UAAU,OAAO,OAAO,MAAM,WAAW,OAAO,OAAO,CAAC;AAC9D,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAA4B,OAAO,OAAO,MAAM,WAAW,OAAO,iBAAiB,CAAC;AAC1F,QAAM,OAAO,MAAM,MAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,MAAM,OAAO,MAAM;AACxC,QAAM,WAAW,MAAM,MAAM,OAAO,QAAQ;AAE5C,QAAM,qBAAqB,MAAM,WAAW,OAAO,kBAAkB;AAErE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,WAAW,OAAO,OAAO,CAAC;AACvE,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD,UAAI,GAAG,SAAS,YAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,WAAW,GAAG,SAAS,YAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,WAAW,GAAG,SAAS,uBAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAmC;AACpC,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA,IACtB,GAAG,KAAK,eAAe;AAAA,EACxB;AACD;AAEO,SAAS,qBAAqB,SAAyB;AAC7D,SAAO,QAAQ,IAAI,CAAC,QAAQ;AAC3B,WAAO,OAAO,QAAQ,WAAW,IAAI,OAAO,OAAO;AAAA,EACpD,CAAC;AACF;AAEO,SAAS,QAAW,OAAqB;AAC/C,SAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC7C;","names":[]}
1
+ {"version":3,"sources":["../../src/mysql-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { SQL } from '~/sql/sql.ts';\nimport { Subquery } from '~/subquery.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport type { Check } from './checks.ts';\nimport { CheckBuilder } from './checks.ts';\nimport type { ForeignKey } from './foreign-keys.ts';\nimport { ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport type { PrimaryKey } from './primary-keys.ts';\nimport { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { IndexForHint } from './query-builders/select.ts';\nimport { MySqlTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport type { MySqlViewBase } from './view-base.ts';\nimport { MySqlViewConfig } from './view-common.ts';\nimport type { MySqlView } from './view.ts';\n\nexport function extractUsedTable(table: MySqlTable | Subquery | MySqlViewBase | SQL): string[] {\n\tif (is(table, MySqlTable)) {\n\t\treturn [`${table[Table.Symbol.BaseName]}`];\n\t}\n\tif (is(table, Subquery)) {\n\t\treturn table._.usedTables ?? [];\n\t}\n\tif (is(table, SQL)) {\n\t\treturn table.usedTables ?? [];\n\t}\n\treturn [];\n}\n\nexport function getTableConfig(table: MySqlTable) {\n\tconst columns = Object.values(table[MySqlTable.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[MySqlTable.Symbol.InlineForeignKeys]);\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst baseName = table[Table.Symbol.BaseName];\n\n\tconst extraConfigBuilder = table[MySqlTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[MySqlTable.Symbol.Columns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of Object.values(extraValues)) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tbaseName,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: MySqlView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[MySqlViewConfig],\n\t};\n}\n\nexport function convertIndexToString(indexes: IndexForHint[]) {\n\treturn indexes.map((idx) => {\n\t\treturn typeof idx === 'object' ? idx.config.name : idx;\n\t});\n}\n\nexport function toArray<T>(value: T | T[]): T[] {\n\treturn Array.isArray(value) ? value : [value];\n}\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,WAAW;AACpB,SAAS,gBAAgB;AACzB,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAElC,SAAS,oBAAoB;AAE7B,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAgC,+BAA+B;AAE/D,SAAS,uBAAuB;AAGzB,SAAS,iBAAiB,OAA8D;AAC9F,MAAI,GAAG,OAAO,UAAU,GAAG;AAC1B,WAAO,CAAC,GAAG,MAAM,MAAM,OAAO,QAAQ,CAAC,EAAE;AAAA,EAC1C;AACA,MAAI,GAAG,OAAO,QAAQ,GAAG;AACxB,WAAO,MAAM,EAAE,cAAc,CAAC;AAAA,EAC/B;AACA,MAAI,GAAG,OAAO,GAAG,GAAG;AACnB,WAAO,MAAM,cAAc,CAAC;AAAA,EAC7B;AACA,SAAO,CAAC;AACT;AAEO,SAAS,eAAe,OAAmB;AACjD,QAAM,UAAU,OAAO,OAAO,MAAM,WAAW,OAAO,OAAO,CAAC;AAC9D,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAA4B,OAAO,OAAO,MAAM,WAAW,OAAO,iBAAiB,CAAC;AAC1F,QAAM,OAAO,MAAM,MAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,MAAM,OAAO,MAAM;AACxC,QAAM,WAAW,MAAM,MAAM,OAAO,QAAQ;AAE5C,QAAM,qBAAqB,MAAM,WAAW,OAAO,kBAAkB;AAErE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,WAAW,OAAO,OAAO,CAAC;AACvE,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD,UAAI,GAAG,SAAS,YAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,WAAW,GAAG,SAAS,YAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,WAAW,GAAG,SAAS,uBAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAmC;AACpC,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA,IACtB,GAAG,KAAK,eAAe;AAAA,EACxB;AACD;AAEO,SAAS,qBAAqB,SAAyB;AAC7D,SAAO,QAAQ,IAAI,CAAC,QAAQ;AAC3B,WAAO,OAAO,QAAQ,WAAW,IAAI,OAAO,OAAO;AAAA,EACpD,CAAC;AACF;AAEO,SAAS,QAAW,OAAqB;AAC/C,SAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC7C;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "1.0.0-beta.1-fd8bfcc",
3
+ "version": "1.0.0-beta.1-17c242e",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -59,18 +59,18 @@
59
59
  "@types/better-sqlite3": "*",
60
60
  "@types/pg": "*",
61
61
  "@types/sql.js": "*",
62
+ "@upstash/redis": ">=1.34.7",
62
63
  "@vercel/postgres": ">=0.8.0",
63
64
  "@xata.io/client": "*",
64
65
  "better-sqlite3": ">=9.3.0",
65
66
  "bun-types": "*",
66
67
  "expo-sqlite": ">=14.0.0",
68
+ "gel": ">=2",
67
69
  "mysql2": ">=2",
68
70
  "pg": ">=8",
69
71
  "postgres": ">=3",
70
72
  "sql.js": ">=1",
71
- "sqlite3": ">=5",
72
- "gel": ">=2",
73
- "@upstash/redis": ">=1.34.7"
73
+ "sqlite3": ">=5"
74
74
  },
75
75
  "peerDependenciesMeta": {
76
76
  "mysql2": {
@@ -179,7 +179,7 @@
179
179
  "@vercel/postgres": "^0.8.0",
180
180
  "@xata.io/client": "^0.29.3",
181
181
  "better-sqlite3": "^11.9.1",
182
- "bun-types": "^1.2.0",
182
+ "bun-types": "^1.2.23",
183
183
  "cpy": "^10.1.0",
184
184
  "expo-sqlite": "^14.0.0",
185
185
  "gel": "^2.0.0",
@@ -3020,6 +3020,150 @@
3020
3020
  "types": "./aws-data-api/pg/session.d.ts",
3021
3021
  "default": "./aws-data-api/pg/session.js"
3022
3022
  },
3023
+ "./bun-sql/mysql/driver": {
3024
+ "import": {
3025
+ "types": "./bun-sql/mysql/driver.d.ts",
3026
+ "default": "./bun-sql/mysql/driver.js"
3027
+ },
3028
+ "require": {
3029
+ "types": "./bun-sql/mysql/driver.d.cts",
3030
+ "default": "./bun-sql/mysql/driver.cjs"
3031
+ },
3032
+ "types": "./bun-sql/mysql/driver.d.ts",
3033
+ "default": "./bun-sql/mysql/driver.js"
3034
+ },
3035
+ "./bun-sql/mysql": {
3036
+ "import": {
3037
+ "types": "./bun-sql/mysql/index.d.ts",
3038
+ "default": "./bun-sql/mysql/index.js"
3039
+ },
3040
+ "require": {
3041
+ "types": "./bun-sql/mysql/index.d.cts",
3042
+ "default": "./bun-sql/mysql/index.cjs"
3043
+ },
3044
+ "types": "./bun-sql/mysql/index.d.ts",
3045
+ "default": "./bun-sql/mysql/index.js"
3046
+ },
3047
+ "./bun-sql/mysql/migrator": {
3048
+ "import": {
3049
+ "types": "./bun-sql/mysql/migrator.d.ts",
3050
+ "default": "./bun-sql/mysql/migrator.js"
3051
+ },
3052
+ "require": {
3053
+ "types": "./bun-sql/mysql/migrator.d.cts",
3054
+ "default": "./bun-sql/mysql/migrator.cjs"
3055
+ },
3056
+ "types": "./bun-sql/mysql/migrator.d.ts",
3057
+ "default": "./bun-sql/mysql/migrator.js"
3058
+ },
3059
+ "./bun-sql/mysql/session": {
3060
+ "import": {
3061
+ "types": "./bun-sql/mysql/session.d.ts",
3062
+ "default": "./bun-sql/mysql/session.js"
3063
+ },
3064
+ "require": {
3065
+ "types": "./bun-sql/mysql/session.d.cts",
3066
+ "default": "./bun-sql/mysql/session.cjs"
3067
+ },
3068
+ "types": "./bun-sql/mysql/session.d.ts",
3069
+ "default": "./bun-sql/mysql/session.js"
3070
+ },
3071
+ "./bun-sql/postgres/driver": {
3072
+ "import": {
3073
+ "types": "./bun-sql/postgres/driver.d.ts",
3074
+ "default": "./bun-sql/postgres/driver.js"
3075
+ },
3076
+ "require": {
3077
+ "types": "./bun-sql/postgres/driver.d.cts",
3078
+ "default": "./bun-sql/postgres/driver.cjs"
3079
+ },
3080
+ "types": "./bun-sql/postgres/driver.d.ts",
3081
+ "default": "./bun-sql/postgres/driver.js"
3082
+ },
3083
+ "./bun-sql/postgres": {
3084
+ "import": {
3085
+ "types": "./bun-sql/postgres/index.d.ts",
3086
+ "default": "./bun-sql/postgres/index.js"
3087
+ },
3088
+ "require": {
3089
+ "types": "./bun-sql/postgres/index.d.cts",
3090
+ "default": "./bun-sql/postgres/index.cjs"
3091
+ },
3092
+ "types": "./bun-sql/postgres/index.d.ts",
3093
+ "default": "./bun-sql/postgres/index.js"
3094
+ },
3095
+ "./bun-sql/postgres/migrator": {
3096
+ "import": {
3097
+ "types": "./bun-sql/postgres/migrator.d.ts",
3098
+ "default": "./bun-sql/postgres/migrator.js"
3099
+ },
3100
+ "require": {
3101
+ "types": "./bun-sql/postgres/migrator.d.cts",
3102
+ "default": "./bun-sql/postgres/migrator.cjs"
3103
+ },
3104
+ "types": "./bun-sql/postgres/migrator.d.ts",
3105
+ "default": "./bun-sql/postgres/migrator.js"
3106
+ },
3107
+ "./bun-sql/postgres/session": {
3108
+ "import": {
3109
+ "types": "./bun-sql/postgres/session.d.ts",
3110
+ "default": "./bun-sql/postgres/session.js"
3111
+ },
3112
+ "require": {
3113
+ "types": "./bun-sql/postgres/session.d.cts",
3114
+ "default": "./bun-sql/postgres/session.cjs"
3115
+ },
3116
+ "types": "./bun-sql/postgres/session.d.ts",
3117
+ "default": "./bun-sql/postgres/session.js"
3118
+ },
3119
+ "./bun-sql/sqlite/driver": {
3120
+ "import": {
3121
+ "types": "./bun-sql/sqlite/driver.d.ts",
3122
+ "default": "./bun-sql/sqlite/driver.js"
3123
+ },
3124
+ "require": {
3125
+ "types": "./bun-sql/sqlite/driver.d.cts",
3126
+ "default": "./bun-sql/sqlite/driver.cjs"
3127
+ },
3128
+ "types": "./bun-sql/sqlite/driver.d.ts",
3129
+ "default": "./bun-sql/sqlite/driver.js"
3130
+ },
3131
+ "./bun-sql/sqlite": {
3132
+ "import": {
3133
+ "types": "./bun-sql/sqlite/index.d.ts",
3134
+ "default": "./bun-sql/sqlite/index.js"
3135
+ },
3136
+ "require": {
3137
+ "types": "./bun-sql/sqlite/index.d.cts",
3138
+ "default": "./bun-sql/sqlite/index.cjs"
3139
+ },
3140
+ "types": "./bun-sql/sqlite/index.d.ts",
3141
+ "default": "./bun-sql/sqlite/index.js"
3142
+ },
3143
+ "./bun-sql/sqlite/migrator": {
3144
+ "import": {
3145
+ "types": "./bun-sql/sqlite/migrator.d.ts",
3146
+ "default": "./bun-sql/sqlite/migrator.js"
3147
+ },
3148
+ "require": {
3149
+ "types": "./bun-sql/sqlite/migrator.d.cts",
3150
+ "default": "./bun-sql/sqlite/migrator.cjs"
3151
+ },
3152
+ "types": "./bun-sql/sqlite/migrator.d.ts",
3153
+ "default": "./bun-sql/sqlite/migrator.js"
3154
+ },
3155
+ "./bun-sql/sqlite/session": {
3156
+ "import": {
3157
+ "types": "./bun-sql/sqlite/session.d.ts",
3158
+ "default": "./bun-sql/sqlite/session.js"
3159
+ },
3160
+ "require": {
3161
+ "types": "./bun-sql/sqlite/session.d.cts",
3162
+ "default": "./bun-sql/sqlite/session.cjs"
3163
+ },
3164
+ "types": "./bun-sql/sqlite/session.d.ts",
3165
+ "default": "./bun-sql/sqlite/session.js"
3166
+ },
3023
3167
  "./cache/core/cache": {
3024
3168
  "import": {
3025
3169
  "types": "./cache/core/cache.d.ts",
package/relations.cjs CHANGED
@@ -365,7 +365,10 @@ function mapRelationalRow(row, buildQueryResultSelection, mapColumnValue = (valu
365
365
  if (selectionItem.selection) {
366
366
  const currentPath = `${path ? `${path}.` : ""}${selectionItem.key}`;
367
367
  if (row[selectionItem.key] === null) continue;
368
- if (parseJson) row[selectionItem.key] = JSON.parse(row[selectionItem.key]);
368
+ if (parseJson) {
369
+ row[selectionItem.key] = JSON.parse(row[selectionItem.key]);
370
+ if (row[selectionItem.key] === null) continue;
371
+ }
369
372
  if (parseJsonIfString && typeof row[selectionItem.key] === "string") {
370
373
  row[selectionItem.key] = JSON.parse(row[selectionItem.key]);
371
374
  }