drizzle-orm 0.25.2 → 0.25.3-4cc2d87

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 (249) hide show
  1. package/aws-data-api/pg/index.cjs +234 -1
  2. package/aws-data-api/pg/index.cjs.map +1 -1
  3. package/aws-data-api/pg/index.d.ts +5 -6
  4. package/aws-data-api/pg/index.mjs +228 -1
  5. package/aws-data-api/pg/index.mjs.map +1 -1
  6. package/aws-data-api/pg/migrator.cjs +13 -1
  7. package/aws-data-api/pg/migrator.cjs.map +1 -1
  8. package/aws-data-api/pg/migrator.d.ts +5 -6
  9. package/aws-data-api/pg/migrator.mjs +11 -1
  10. package/aws-data-api/pg/migrator.mjs.map +1 -1
  11. package/better-sqlite3/index.cjs +119 -1
  12. package/better-sqlite3/index.cjs.map +1 -1
  13. package/better-sqlite3/index.d.ts +14 -12
  14. package/better-sqlite3/index.mjs +114 -1
  15. package/better-sqlite3/index.mjs.map +1 -1
  16. package/better-sqlite3/migrator.cjs +13 -1
  17. package/better-sqlite3/migrator.cjs.map +1 -1
  18. package/better-sqlite3/migrator.d.ts +5 -5
  19. package/better-sqlite3/migrator.mjs +11 -1
  20. package/better-sqlite3/migrator.mjs.map +1 -1
  21. package/bun-sqlite/index.cjs +126 -1
  22. package/bun-sqlite/index.cjs.map +1 -1
  23. package/bun-sqlite/index.d.ts +14 -12
  24. package/bun-sqlite/index.mjs +121 -1
  25. package/bun-sqlite/index.mjs.map +1 -1
  26. package/bun-sqlite/migrator.cjs +13 -1
  27. package/bun-sqlite/migrator.cjs.map +1 -1
  28. package/bun-sqlite/migrator.d.ts +5 -5
  29. package/bun-sqlite/migrator.mjs +11 -1
  30. package/bun-sqlite/migrator.mjs.map +1 -1
  31. package/{column.d-8b137277.d.ts → column.d-c31e7ad3.d.ts} +77 -6
  32. package/d1/index.cjs +116 -1
  33. package/d1/index.cjs.map +1 -1
  34. package/d1/index.d.ts +15 -12
  35. package/d1/index.mjs +111 -1
  36. package/d1/index.mjs.map +1 -1
  37. package/d1/migrator.cjs +13 -1
  38. package/d1/migrator.cjs.map +1 -1
  39. package/d1/migrator.d.ts +5 -5
  40. package/d1/migrator.mjs +11 -1
  41. package/d1/migrator.mjs.map +1 -1
  42. package/{db.d-ae495c35.d.ts → db.d-a2311092.d.ts} +121 -44
  43. package/{db.d-66553b9e.d.ts → db.d-bc9a1d6c.d.ts} +193 -16
  44. package/driver.d-17ca4c15.d.ts +8 -0
  45. package/driver.d-300ddb0e.d.ts +64 -0
  46. package/driver.d-45e56643.d.ts +60 -0
  47. package/driver.d-64f2125c.d.ts +8 -0
  48. package/driver.d-7fde2e9d.d.ts +55 -0
  49. package/driver.d-9d703b84.d.ts +8 -0
  50. package/driver.d-b2b94bf9.d.ts +46 -0
  51. package/driver.d-b70ee7ee.d.ts +55 -0
  52. package/driver.d-dea23ee6.d.ts +8 -0
  53. package/driver.d-e54af17b.d.ts +52 -0
  54. package/driver.d-eb490c91.d.ts +9 -0
  55. package/driver.d-ef6fa2df.d.ts +14 -0
  56. package/errors-bb636d84.mjs +19 -0
  57. package/errors-bb636d84.mjs.map +1 -0
  58. package/errors-d0192d62.cjs +22 -0
  59. package/errors-d0192d62.cjs.map +1 -0
  60. package/index.cjs +105 -1
  61. package/index.cjs.map +1 -1
  62. package/index.d.ts +16 -432
  63. package/index.mjs +3 -1
  64. package/index.mjs.map +1 -1
  65. package/knex/index.cjs +2 -1
  66. package/knex/index.cjs.map +1 -1
  67. package/knex/index.d.ts +1 -1
  68. package/kysely/index.cjs +2 -1
  69. package/kysely/index.cjs.map +1 -1
  70. package/kysely/index.d.ts +1 -1
  71. package/libsql/index.cjs +155 -1
  72. package/libsql/index.cjs.map +1 -1
  73. package/libsql/index.d.ts +14 -12
  74. package/libsql/index.mjs +150 -1
  75. package/libsql/index.mjs.map +1 -1
  76. package/libsql/migrator.cjs +13 -1
  77. package/libsql/migrator.cjs.map +1 -1
  78. package/libsql/migrator.d.ts +5 -5
  79. package/libsql/migrator.mjs +11 -1
  80. package/libsql/migrator.mjs.map +1 -1
  81. package/logger-caa1ca6e.cjs +34 -0
  82. package/logger-caa1ca6e.cjs.map +1 -0
  83. package/logger-caf75bde.mjs +30 -0
  84. package/logger-caf75bde.mjs.map +1 -0
  85. package/migrator.cjs +48 -1
  86. package/migrator.cjs.map +1 -1
  87. package/migrator.mjs +46 -1
  88. package/migrator.mjs.map +1 -1
  89. package/mysql-core/index.cjs +1004 -1
  90. package/mysql-core/index.cjs.map +1 -1
  91. package/mysql-core/index.d.ts +347 -347
  92. package/mysql-core/index.mjs +869 -1
  93. package/mysql-core/index.mjs.map +1 -1
  94. package/mysql2/index.cjs +230 -1
  95. package/mysql2/index.cjs.map +1 -1
  96. package/mysql2/index.d.ts +5 -6
  97. package/mysql2/index.mjs +223 -1
  98. package/mysql2/index.mjs.map +1 -1
  99. package/mysql2/migrator.cjs +13 -1
  100. package/mysql2/migrator.cjs.map +1 -1
  101. package/mysql2/migrator.d.ts +5 -6
  102. package/mysql2/migrator.mjs +11 -1
  103. package/mysql2/migrator.mjs.map +1 -1
  104. package/neon-serverless/index.cjs +155 -1
  105. package/neon-serverless/index.cjs.map +1 -1
  106. package/neon-serverless/index.d.ts +5 -6
  107. package/neon-serverless/index.mjs +149 -1
  108. package/neon-serverless/index.mjs.map +1 -1
  109. package/neon-serverless/migrator.cjs +13 -1
  110. package/neon-serverless/migrator.cjs.map +1 -1
  111. package/neon-serverless/migrator.d.ts +5 -6
  112. package/neon-serverless/migrator.mjs +11 -1
  113. package/neon-serverless/migrator.mjs.map +1 -1
  114. package/node-postgres/index.cjs +157 -1
  115. package/node-postgres/index.cjs.map +1 -1
  116. package/node-postgres/index.d.ts +5 -6
  117. package/node-postgres/index.mjs +151 -1
  118. package/node-postgres/index.mjs.map +1 -1
  119. package/node-postgres/migrator.cjs +13 -1
  120. package/node-postgres/migrator.cjs.map +1 -1
  121. package/node-postgres/migrator.d.ts +5 -6
  122. package/node-postgres/migrator.mjs +11 -1
  123. package/node-postgres/migrator.mjs.map +1 -1
  124. package/package.json +97 -34
  125. package/pg-core/index.cjs +652 -1
  126. package/pg-core/index.cjs.map +1 -1
  127. package/pg-core/index.d.ts +13 -7
  128. package/pg-core/index.mjs +501 -1
  129. package/pg-core/index.mjs.map +1 -1
  130. package/planetscale-serverless/index.cjs +111 -1
  131. package/planetscale-serverless/index.cjs.map +1 -1
  132. package/planetscale-serverless/index.d.ts +5 -6
  133. package/planetscale-serverless/index.mjs +106 -1
  134. package/planetscale-serverless/index.mjs.map +1 -1
  135. package/planetscale-serverless/migrator.cjs +13 -1
  136. package/planetscale-serverless/migrator.cjs.map +1 -1
  137. package/planetscale-serverless/migrator.d.ts +5 -6
  138. package/planetscale-serverless/migrator.mjs +11 -1
  139. package/planetscale-serverless/migrator.mjs.map +1 -1
  140. package/postgres-js/index.cjs +113 -1
  141. package/postgres-js/index.cjs.map +1 -1
  142. package/postgres-js/index.d.ts +5 -6
  143. package/postgres-js/index.mjs +108 -1
  144. package/postgres-js/index.mjs.map +1 -1
  145. package/postgres-js/migrator.cjs +13 -1
  146. package/postgres-js/migrator.cjs.map +1 -1
  147. package/postgres-js/migrator.d.ts +5 -6
  148. package/postgres-js/migrator.mjs +11 -1
  149. package/postgres-js/migrator.mjs.map +1 -1
  150. package/query-promise.d-e370e0a9.d.ts +617 -0
  151. package/relations-47eb5c5f.mjs +2954 -0
  152. package/relations-47eb5c5f.mjs.map +1 -0
  153. package/relations-5e2d30dd.cjs +3117 -0
  154. package/relations-5e2d30dd.cjs.map +1 -0
  155. package/{select.types.d-c3e86d45.d.ts → select.types.d-34d7f74e.d.ts} +1 -1
  156. package/{select.types.d-adb82002.d.ts → select.types.d-ae2f8e44.d.ts} +58 -14
  157. package/session-483ed08d.mjs +1263 -0
  158. package/session-483ed08d.mjs.map +1 -0
  159. package/session-6bd76405.cjs +362 -0
  160. package/session-6bd76405.cjs.map +1 -0
  161. package/session-a90df8a2.cjs +1252 -0
  162. package/session-a90df8a2.cjs.map +1 -0
  163. package/session-b99382a2.mjs +1223 -0
  164. package/session-b99382a2.mjs.map +1 -0
  165. package/session-c62f6348.cjs +1298 -0
  166. package/session-c62f6348.cjs.map +1 -0
  167. package/session-e8745392.mjs +351 -0
  168. package/session-e8745392.mjs.map +1 -0
  169. package/sql-js/index.cjs +175 -1
  170. package/sql-js/index.cjs.map +1 -1
  171. package/sql-js/index.d.ts +14 -12
  172. package/sql-js/index.mjs +170 -1
  173. package/sql-js/index.mjs.map +1 -1
  174. package/sql-js/migrator.cjs +13 -1
  175. package/sql-js/migrator.cjs.map +1 -1
  176. package/sql-js/migrator.d.ts +5 -5
  177. package/sql-js/migrator.mjs +11 -1
  178. package/sql-js/migrator.mjs.map +1 -1
  179. package/sqlite-core/index.cjs +516 -1
  180. package/sqlite-core/index.cjs.map +1 -1
  181. package/sqlite-core/index.d.ts +6 -5
  182. package/sqlite-core/index.mjs +441 -1
  183. package/sqlite-core/index.mjs.map +1 -1
  184. package/sqlite-proxy/index.cjs +118 -1
  185. package/sqlite-proxy/index.cjs.map +1 -1
  186. package/sqlite-proxy/index.d.ts +12 -11
  187. package/sqlite-proxy/index.mjs +113 -1
  188. package/sqlite-proxy/index.mjs.map +1 -1
  189. package/sqlite-proxy/migrator.cjs +25 -2
  190. package/sqlite-proxy/migrator.cjs.map +1 -1
  191. package/sqlite-proxy/migrator.d.ts +5 -5
  192. package/sqlite-proxy/migrator.mjs +23 -2
  193. package/sqlite-proxy/migrator.mjs.map +1 -1
  194. package/version.cjs +9 -1
  195. package/version.cjs.map +1 -1
  196. package/version.d.ts +1 -1
  197. package/version.mjs +6 -1
  198. package/version.mjs.map +1 -1
  199. package/README.md +0 -150
  200. package/column-builder-592f0191.mjs +0 -2
  201. package/column-builder-592f0191.mjs.map +0 -1
  202. package/column-builder-b48639f3.cjs +0 -2
  203. package/column-builder-b48639f3.cjs.map +0 -1
  204. package/driver.d-0158cd93.d.ts +0 -11
  205. package/driver.d-1f73a4a9.d.ts +0 -70
  206. package/driver.d-2e907d12.d.ts +0 -17
  207. package/driver.d-3781598a.d.ts +0 -11
  208. package/driver.d-3a8adf2a.d.ts +0 -61
  209. package/driver.d-59580d08.d.ts +0 -11
  210. package/driver.d-5f3fc125.d.ts +0 -12
  211. package/driver.d-693f7f9f.d.ts +0 -56
  212. package/driver.d-6c43e393.d.ts +0 -60
  213. package/driver.d-b00fc6ec.d.ts +0 -57
  214. package/driver.d-e4bd120b.d.ts +0 -47
  215. package/driver.d-f4b5b390.d.ts +0 -11
  216. package/index-59b7992d.cjs +0 -2
  217. package/index-59b7992d.cjs.map +0 -1
  218. package/index-b71998f1.mjs +0 -2
  219. package/index-b71998f1.mjs.map +0 -1
  220. package/logger-04bad527.cjs +0 -2
  221. package/logger-04bad527.cjs.map +0 -1
  222. package/logger-2598bf05.mjs +0 -2
  223. package/logger-2598bf05.mjs.map +0 -1
  224. package/logger.d-37185354.d.ts +0 -21
  225. package/query-builder-2f2e8229.cjs +0 -2
  226. package/query-builder-2f2e8229.cjs.map +0 -1
  227. package/query-builder-2fcde2f0.mjs +0 -2
  228. package/query-builder-2fcde2f0.mjs.map +0 -1
  229. package/query-promise-2c5b43ab.cjs +0 -2
  230. package/query-promise-2c5b43ab.cjs.map +0 -1
  231. package/query-promise-a65edd44.mjs +0 -2
  232. package/query-promise-a65edd44.mjs.map +0 -1
  233. package/query-promise.d-a8af8583.d.ts +0 -9
  234. package/session-8a621f09.mjs +0 -8
  235. package/session-8a621f09.mjs.map +0 -1
  236. package/session-b6939bab.cjs +0 -14
  237. package/session-b6939bab.cjs.map +0 -1
  238. package/session-b977ce56.mjs +0 -14
  239. package/session-b977ce56.mjs.map +0 -1
  240. package/session-c891400d.mjs +0 -8
  241. package/session-c891400d.mjs.map +0 -1
  242. package/session-e6db6732.cjs +0 -8
  243. package/session-e6db6732.cjs.map +0 -1
  244. package/session-ef1ef979.cjs +0 -8
  245. package/session-ef1ef979.cjs.map +0 -1
  246. package/utils-9d882195.cjs +0 -2
  247. package/utils-9d882195.cjs.map +0 -1
  248. package/utils-e6870670.mjs +0 -2
  249. package/utils-e6870670.mjs.map +0 -1
@@ -1,2 +1,1005 @@
1
- "use strict";var e=require("../index-59b7992d.cjs"),t=require("../session-e6db6732.cjs");require("../utils-9d882195.cjs"),require("../query-promise-2c5b43ab.cjs"),require("../column-builder-b48639f3.cjs"),require("../query-builder-2f2e8229.cjs");class r{constructor(e,t){this.name=e,this.value=t}build(e){return new n(e,this)}}class n{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}}class s extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new i(e,this.config)}}class i extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"bigint"}mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}}class o extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new l(e,this.config)}}class l extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}class u extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.length=t}build(e){return new c(e,this.config)}}class c extends t.MySqlColumn{constructor(){super(...arguments),this.length=this.config.length}getSQLType(){return void 0===this.length?"binary":`binary(${this.length})`}}class a extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.length=t.length,this.config.enum=t.enum}build(e){return new p(e,this.config)}}class p extends t.MySqlColumn{constructor(){super(...arguments),this.length=this.config.length,this.enumValues=this.config.enum??[]}getSQLType(){return void 0===this.length?"char":`char(${this.length})`}}class m extends t.MySqlColumnBuilder{build(e){return new y(e,this.config)}}class y extends t.MySqlColumn{getSQLType(){return"boolean"}mapFromDriverValue(e){return"boolean"==typeof e?e:1===e}}class h extends t.MySqlColumnBuilderWithAutoIncrement{constructor(e,t,r){super(e),this.config.precision=t,this.config.scale=r}build(e){return new d(e,this.config)}}class d extends t.MySqlColumnWithAutoIncrement{constructor(){super(...arguments),this.precision=this.config.precision,this.scale=this.config.scale}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`decimal(${this.precision},${this.scale})`:void 0===this.precision?"decimal":`decimal(${this.precision})`}}class S extends t.MySqlColumnBuilderWithAutoIncrement{constructor(e,t){super(e),this.config.precision=t?.precision,this.config.scale=t?.scale}build(e){return new x(e,this.config)}}class x extends t.MySqlColumnWithAutoIncrement{constructor(){super(...arguments),this.precision=this.config.precision,this.scale=this.config.scale}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`double(${this.precision},${this.scale})`:void 0===this.precision?"double":`double(${this.precision})`}}class f extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.enumValues=t}build(e){return new g(e,this.config)}}class g extends t.MySqlColumn{constructor(){super(...arguments),this.enumValues=this.config.enumValues}getSQLType(){return`enum(${this.enumValues.map((e=>`'${e}'`)).join(",")})`}}class q extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new M(e,this.config)}}class M extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"float"}}class b extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new w(e,this.config)}}class w extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"int"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}class B extends t.MySqlColumnBuilder{build(e){return new C(e,this.config)}}class C extends t.MySqlColumn{getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}}class T extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new v(e,this.config)}}class v extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"mediumint"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}class I extends t.MySqlColumnBuilderWithAutoIncrement{constructor(e,t){super(e),this.config.precision=t?.precision,this.config.scale=t?.scale}build(e){return new V(e,this.config)}}class V extends t.MySqlColumnWithAutoIncrement{constructor(){super(...arguments),this.precision=this.config.precision,this.scale=this.config.scale}getSQLType(){return void 0!==this.precision&&void 0!==this.scale?`real(${this.precision}, ${this.scale})`:void 0===this.precision?"real":`real(${this.precision})`}}class D extends t.MySqlColumnBuilderWithAutoIncrement{constructor(e){super(e),this.config.hasDefault=!0,this.config.autoIncrement=!0}build(e){return new Q(e,this.config)}}class Q extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"serial"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}class L extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new W(e,this.config)}}class W extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"smallint"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}class $ extends t.MySqlColumnBuilder{constructor(e,t,r){super(e),this.config.textType=t,this.config.enumValues=r.enum}build(e){return new F(e,this.config)}}class F extends t.MySqlColumn{constructor(){super(...arguments),this.textType=this.config.textType,this.enumValues=this.config.enumValues??[]}getSQLType(){return this.textType}}class A extends t.MySqlColumnBuilder{defaultNow(){return this.default(e.sql`(now())`)}onUpdateNow(){return this.config.hasOnUpdateNow=!0,this.config.hasDefault=!0,this}}class N extends t.MySqlColumn{constructor(){super(...arguments),this.hasOnUpdateNow=this.config.hasOnUpdateNow}}class K extends A{constructor(e,t){super(e),this.config.fsp=t?.fsp}build(e){return new j(e,this.config)}}class j extends N{constructor(){super(...arguments),this.fsp=this.config.fsp}getSQLType(){return`timestamp${void 0===this.fsp?"":`(${this.fsp})`}`}mapFromDriverValue(e){return new Date(e+"+0000")}mapToDriverValue(e){return e.toISOString().slice(0,19).replace("T"," ")}}class P extends A{constructor(e,t){super(e),this.config.fsp=t?.fsp}build(e){return new O(e,this.config)}}class O extends N{constructor(){super(...arguments),this.fsp=this.config.fsp}getSQLType(){return`timestamp${void 0===this.fsp?"":`(${this.fsp})`}`}}class U extends t.MySqlColumnBuilderWithAutoIncrement{build(e){return new k(e,this.config)}}class k extends t.MySqlColumnWithAutoIncrement{getSQLType(){return"tinyint"}mapFromDriverValue(e){return"string"==typeof e?Number(e):e}}class E extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.length=t?.length}build(e){return new J(e,this.config)}}class J extends t.MySqlColumn{constructor(){super(...arguments),this.length=this.config.length}getSQLType(){return void 0===this.length?"varbinary":`varbinary(${this.length})`}}class Y extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.length=t.length,this.config.enum=t.enum}build(e){return new _(e,this.config)}}class _ extends t.MySqlColumn{constructor(){super(...arguments),this.length=this.config.length,this.enumValues=this.config.enum??[]}getSQLType(){return void 0===this.length?"varchar":`varchar(${this.length})`}}class R extends t.MySqlColumnBuilder{build(e){return new H(e,this.config)}}class H extends t.MySqlColumn{constructor(e,t){super(e,t)}getSQLType(){return"date"}mapFromDriverValue(e){return new Date(e)}}class z extends t.MySqlColumnBuilder{build(e){return new G(e,this.config)}}class G extends t.MySqlColumn{constructor(e,t){super(e,t)}getSQLType(){return"date"}}class X extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.fsp=t?.fsp}build(e){return new Z(e,this.config)}}class Z extends t.MySqlColumn{constructor(e,t){super(e,t),this.fsp=t.fsp}getSQLType(){return`datetime${void 0===this.fsp?"":`(${this.fsp})`}`}mapFromDriverValue(e){return new Date(e)}}class ee extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.fsp=t?.fsp}build(e){return new te(e,this.config)}}class te extends t.MySqlColumn{constructor(e,t){super(e,t),this.fsp=t.fsp}getSQLType(){return`datetime${void 0===this.fsp?"":`(${this.fsp})`}`}}class re extends t.MySqlColumnBuilder{constructor(e,t){super(e),this.config.fsp=t?.fsp}build(e){return new ne(e,this.config)}}class ne extends t.MySqlColumn{constructor(){super(...arguments),this.fsp=this.config.fsp}getSQLType(){return`time${void 0===this.fsp?"":`(${this.fsp})`}`}}class se extends t.MySqlColumnBuilder{build(e){return new ie(e,this.config)}}class ie extends t.MySqlColumn{getSQLType(){return"year"}}class oe extends t.MySqlColumnBuilder{constructor(e,t,r){super(e),this.config.fieldConfig=t,this.config.customTypeParams=r}build(e){return new le(e,this.config)}}class le extends t.MySqlColumn{constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}class ue{constructor(e,t){this.name=e,this.unique=t}on(...e){return new ce(this.name,e,this.unique)}}class ce{constructor(e,t,r){this.config={name:e,columns:t,unique:r}}using(e){return this.config.using=e,this}algorythm(e){return this.config.algorythm=e,this}lock(e){return this.config.lock=e,this}build(e){return new ae(this.config,e)}}class ae{constructor(e,t){this.config={...e,table:t}}}class pe{constructor(e){this.columns=e}build(e){return new me(e,this.columns)}}class me{constructor(e,t){this.table=e,this.columns=t}getName(){return`${this.table[t.MySqlTable.Symbol.Name]}_${this.columns.map((e=>e.name)).join("_")}_pk`}}class ye{constructor(e){this.schemaName=e,this.table=(e,r,n)=>t.mysqlTableWithSchema(e,r,n,this.schemaName),this.view=(e,r)=>t.mysqlViewWithSchema(e,r,this.schemaName)}}function he(e){return new ye(e)}const de=he;exports.ExtraConfigBuilder=t.ExtraConfigBuilder,exports.ForeignKey=t.ForeignKey,exports.ForeignKeyBuilder=t.ForeignKeyBuilder,exports.InlineForeignKeys=t.InlineForeignKeys,exports.ManualViewBuilder=t.ManualViewBuilder,exports.MySqlColumn=t.MySqlColumn,exports.MySqlDatabase=t.MySqlDatabase,exports.MySqlDelete=t.MySqlDelete,exports.MySqlDialect=t.MySqlDialect,exports.MySqlInsert=t.MySqlInsert,exports.MySqlInsertBuilder=t.MySqlInsertBuilder,exports.MySqlSelect=t.MySqlSelect,exports.MySqlSelectBuilder=t.MySqlSelectBuilder,exports.MySqlSelectQueryBuilder=t.MySqlSelectQueryBuilder,exports.MySqlSession=t.MySqlSession,exports.MySqlTable=t.MySqlTable,exports.MySqlTransaction=t.MySqlTransaction,exports.MySqlUpdate=t.MySqlUpdate,exports.MySqlUpdateBuilder=t.MySqlUpdateBuilder,exports.MySqlView=t.MySqlView,exports.MySqlViewBase=t.MySqlViewBase,exports.MySqlViewConfig=t.MySqlViewConfig,exports.PreparedQuery=t.PreparedQuery,exports.QueryBuilder=t.QueryBuilder,exports.ViewBuilder=t.ViewBuilder,exports.ViewBuilderCore=t.ViewBuilderCore,exports.foreignKey=t.foreignKey,exports.mysqlTable=t.mysqlTable,exports.mysqlTableCreator=t.mysqlTableCreator,exports.mysqlTableWithSchema=t.mysqlTableWithSchema,exports.mysqlView=t.mysqlView,exports.mysqlViewWithSchema=t.mysqlViewWithSchema,exports.Check=n,exports.CheckBuilder=r,exports.Index=ae,exports.IndexBuilder=ce,exports.IndexBuilderOn=ue,exports.MySqlBigInt53=i,exports.MySqlBigInt53Builder=s,exports.MySqlBigInt64=l,exports.MySqlBigInt64Builder=o,exports.MySqlBinary=c,exports.MySqlBinaryBuilder=u,exports.MySqlBoolean=y,exports.MySqlBooleanBuilder=m,exports.MySqlChar=p,exports.MySqlCharBuilder=a,exports.MySqlCustomColumn=le,exports.MySqlCustomColumnBuilder=oe,exports.MySqlDate=H,exports.MySqlDateBuilder=R,exports.MySqlDateString=G,exports.MySqlDateStringBuilder=z,exports.MySqlDateTime=Z,exports.MySqlDateTimeBuilder=X,exports.MySqlDateTimeString=te,exports.MySqlDateTimeStringBuilder=ee,exports.MySqlDecimal=d,exports.MySqlDecimalBuilder=h,exports.MySqlDouble=x,exports.MySqlDoubleBuilder=S,exports.MySqlEnumColumn=g,exports.MySqlEnumColumnBuilder=f,exports.MySqlFloat=M,exports.MySqlFloatBuilder=q,exports.MySqlInt=w,exports.MySqlIntBuilder=b,exports.MySqlJson=C,exports.MySqlJsonBuilder=B,exports.MySqlMediumInt=v,exports.MySqlMediumIntBuilder=T,exports.MySqlReal=V,exports.MySqlRealBuilder=I,exports.MySqlSchema=ye,exports.MySqlSerial=Q,exports.MySqlSerialBuilder=D,exports.MySqlSmallInt=W,exports.MySqlSmallIntBuilder=L,exports.MySqlText=F,exports.MySqlTextBuilder=$,exports.MySqlTime=ne,exports.MySqlTimeBuilder=re,exports.MySqlTimestamp=j,exports.MySqlTimestampBuilder=K,exports.MySqlTimestampString=O,exports.MySqlTimestampStringBuilder=P,exports.MySqlTinyInt=k,exports.MySqlTinyIntBuilder=U,exports.MySqlVarBinary=J,exports.MySqlVarBinaryBuilder=E,exports.MySqlVarChar=_,exports.MySqlVarCharBuilder=Y,exports.MySqlYear=ie,exports.MySqlYearBuilder=se,exports.PrimaryKey=me,exports.PrimaryKeyBuilder=pe,exports.alias=function(t,r){return new Proxy(t,new e.TableAliasProxyHandler(r,!1))},exports.bigint=function(e,t){return"number"===t.mode?new s(e):new o(e)},exports.binary=function(e,t={}){return new u(e,t.length)},exports.boolean=function(e){return new m(e)},exports.char=function(e,t={}){return new a(e,t)},exports.check=function(e,t){return new r(e,t)},exports.customType=function(e){return(t,r)=>new oe(t,r,e)},exports.date=function(e,t={}){return"string"===t.mode?new z(e):new R(e)},exports.datetime=function(e,t={}){return"string"===t.mode?new ee(e,t):new X(e,t)},exports.decimal=function(e,t={}){return new h(e,t.precision,t.scale)},exports.double=function(e,t){return new S(e,t)},exports.float=function(e){return new q(e)},exports.getTableConfig=function(n){const s=Object.values(n[t.MySqlTable.Symbol.Columns]),i=[],o=[],l=[],u=Object.values(n[t.MySqlTable.Symbol.InlineForeignKeys]),c=n[e.Table.Symbol.Name],a=n[e.Table.Symbol.Schema],p=n[e.Table.Symbol.BaseName],m=n[t.MySqlTable.Symbol.ExtraConfigBuilder];if(void 0!==m){const e=m(n[t.MySqlTable.Symbol.Columns]);for(const s of Object.values(e))s instanceof ce?i.push(s.build(n)):s instanceof r?o.push(s.build(n)):s instanceof pe?l.push(s.build(n)):s instanceof t.ForeignKeyBuilder&&u.push(s.build(n))}return{columns:s,indexes:i,foreignKeys:u,checks:o,primaryKeys:l,name:c,schema:a,baseName:p}},exports.getViewConfig=function(r){return{...r[e.ViewBaseConfig],...r[t.MySqlViewConfig]}},exports.index=function(e){return new ue(e,!1)},exports.int=function(e){return new b(e)},exports.isMySqlSchema=function(e){return e instanceof ye},exports.json=function(e){return new B(e)},exports.longtext=function(e,t={}){return new $(e,"longtext",t)},exports.mediumint=function(e){return new T(e)},exports.mediumtext=function(e,t={}){return new $(e,"mediumtext",t)},exports.mysqlDatabase=he,exports.mysqlEnum=function(e,t){if(0===t.length)throw new Error(`You have an empty array for "${e}" enum values`);return new f(e,t)},exports.mysqlSchema=de,exports.primaryKey=function(...e){return new pe(e)},exports.real=function(e,t={}){return new I(e,t)},exports.serial=function(e){return new D(e)},exports.smallint=function(e){return new L(e)},exports.text=function(e,t={}){return new $(e,"text",t)},exports.time=function(e,t){return new re(e,t)},exports.timestamp=function(e,t={}){return"string"===t.mode?new P(e,t):new K(e,t)},exports.tinyint=function(e){return new U(e)},exports.tinytext=function(e,t={}){return new $(e,"tinytext",t)},exports.uniqueIndex=function(e){return new ue(e,!0)},exports.varbinary=function(e,t){return new E(e,t)},exports.varchar=function(e,t){return new Y(e,t)},exports.year=function(e){return new se(e)};
1
+ 'use strict';
2
+
3
+ var relations = require('../relations-5e2d30dd.cjs');
4
+ var session = require('../session-c62f6348.cjs');
5
+ require('../errors-d0192d62.cjs');
6
+
7
+ function alias(table, alias) {
8
+ return new Proxy(table, new relations.TableAliasProxyHandler(alias, false));
9
+ }
10
+
11
+ class CheckBuilder {
12
+ constructor(name, value) {
13
+ this.name = name;
14
+ this.value = value;
15
+ }
16
+ /** @internal */
17
+ build(table) {
18
+ return new Check(table, this);
19
+ }
20
+ }
21
+ class Check {
22
+ constructor(table, builder) {
23
+ this.table = table;
24
+ this.name = builder.name;
25
+ this.value = builder.value;
26
+ }
27
+ }
28
+ function check(name, value) {
29
+ return new CheckBuilder(name, value);
30
+ }
31
+
32
+ class MySqlBigInt53Builder extends session.MySqlColumnBuilderWithAutoIncrement {
33
+ /** @internal */
34
+ build(table) {
35
+ return new MySqlBigInt53(table, this.config);
36
+ }
37
+ }
38
+ class MySqlBigInt53 extends session.MySqlColumnWithAutoIncrement {
39
+ getSQLType() {
40
+ return 'bigint';
41
+ }
42
+ mapFromDriverValue(value) {
43
+ if (typeof value === 'number') {
44
+ return value;
45
+ }
46
+ return Number(value);
47
+ }
48
+ }
49
+ class MySqlBigInt64Builder extends session.MySqlColumnBuilderWithAutoIncrement {
50
+ /** @internal */
51
+ build(table) {
52
+ return new MySqlBigInt64(table, this.config);
53
+ }
54
+ }
55
+ class MySqlBigInt64 extends session.MySqlColumnWithAutoIncrement {
56
+ getSQLType() {
57
+ return 'bigint';
58
+ }
59
+ // eslint-disable-next-line unicorn/prefer-native-coercion-functions
60
+ mapFromDriverValue(value) {
61
+ return BigInt(value);
62
+ }
63
+ }
64
+ function bigint(name, config) {
65
+ if (config.mode === 'number') {
66
+ return new MySqlBigInt53Builder(name);
67
+ }
68
+ return new MySqlBigInt64Builder(name);
69
+ }
70
+
71
+ class MySqlBinaryBuilder extends session.MySqlColumnBuilder {
72
+ constructor(name, length) {
73
+ super(name);
74
+ this.config.length = length;
75
+ }
76
+ /** @internal */
77
+ build(table) {
78
+ return new MySqlBinary(table, this.config);
79
+ }
80
+ }
81
+ class MySqlBinary extends session.MySqlColumn {
82
+ constructor() {
83
+ super(...arguments);
84
+ this.length = this.config.length;
85
+ }
86
+ getSQLType() {
87
+ return this.length === undefined ? `binary` : `binary(${this.length})`;
88
+ }
89
+ }
90
+ function binary(name, config = {}) {
91
+ return new MySqlBinaryBuilder(name, config.length);
92
+ }
93
+
94
+ class MySqlBooleanBuilder extends session.MySqlColumnBuilder {
95
+ /** @internal */
96
+ build(table) {
97
+ return new MySqlBoolean(table, this.config);
98
+ }
99
+ }
100
+ class MySqlBoolean extends session.MySqlColumn {
101
+ getSQLType() {
102
+ return 'boolean';
103
+ }
104
+ mapFromDriverValue(value) {
105
+ if (typeof value === 'boolean') {
106
+ return value;
107
+ }
108
+ return value === 1;
109
+ }
110
+ }
111
+ function boolean(name) {
112
+ return new MySqlBooleanBuilder(name);
113
+ }
114
+
115
+ class MySqlCharBuilder extends session.MySqlColumnBuilder {
116
+ constructor(name, config) {
117
+ super(name);
118
+ this.config.length = config.length;
119
+ this.config.enum = config.enum;
120
+ }
121
+ /** @internal */
122
+ build(table) {
123
+ return new MySqlChar(table, this.config);
124
+ }
125
+ }
126
+ class MySqlChar extends session.MySqlColumn {
127
+ constructor() {
128
+ super(...arguments);
129
+ this.length = this.config.length;
130
+ this.enumValues = (this.config.enum ?? []);
131
+ }
132
+ getSQLType() {
133
+ return this.length === undefined ? `char` : `char(${this.length})`;
134
+ }
135
+ }
136
+ function char(name, config = {}) {
137
+ return new MySqlCharBuilder(name, config);
138
+ }
139
+
140
+ class MySqlCustomColumnBuilder extends session.MySqlColumnBuilder {
141
+ constructor(name, fieldConfig, customTypeParams) {
142
+ super(name);
143
+ this.config.fieldConfig = fieldConfig;
144
+ this.config.customTypeParams = customTypeParams;
145
+ }
146
+ /** @internal */
147
+ build(table) {
148
+ return new MySqlCustomColumn(table, this.config);
149
+ }
150
+ }
151
+ class MySqlCustomColumn extends session.MySqlColumn {
152
+ constructor(table, config) {
153
+ super(table, config);
154
+ this.sqlName = config.customTypeParams.dataType(config.fieldConfig);
155
+ this.mapTo = config.customTypeParams.toDriver;
156
+ this.mapFrom = config.customTypeParams.fromDriver;
157
+ }
158
+ getSQLType() {
159
+ return this.sqlName;
160
+ }
161
+ mapFromDriverValue(value) {
162
+ return typeof this.mapFrom === 'function' ? this.mapFrom(value) : value;
163
+ }
164
+ mapToDriverValue(value) {
165
+ return typeof this.mapTo === 'function' ? this.mapTo(value) : value;
166
+ }
167
+ }
168
+ /**
169
+ * Custom mysql database data type generator
170
+ */
171
+ function customType(customTypeParams) {
172
+ return (dbName, fieldConfig) => {
173
+ return new MySqlCustomColumnBuilder(dbName, fieldConfig, customTypeParams);
174
+ };
175
+ }
176
+
177
+ class MySqlDateBuilder extends session.MySqlColumnBuilder {
178
+ /** @internal */
179
+ build(table) {
180
+ return new MySqlDate(table, this.config);
181
+ }
182
+ }
183
+ class MySqlDate extends session.MySqlColumn {
184
+ constructor(table, config) {
185
+ super(table, config);
186
+ }
187
+ getSQLType() {
188
+ return `date`;
189
+ }
190
+ mapFromDriverValue(value) {
191
+ return new Date(value);
192
+ }
193
+ }
194
+ class MySqlDateStringBuilder extends session.MySqlColumnBuilder {
195
+ /** @internal */
196
+ build(table) {
197
+ return new MySqlDateString(table, this.config);
198
+ }
199
+ }
200
+ class MySqlDateString extends session.MySqlColumn {
201
+ constructor(table, config) {
202
+ super(table, config);
203
+ }
204
+ getSQLType() {
205
+ return `date`;
206
+ }
207
+ }
208
+ function date(name, config = {}) {
209
+ if (config.mode === 'string') {
210
+ return new MySqlDateStringBuilder(name);
211
+ }
212
+ return new MySqlDateBuilder(name);
213
+ }
214
+
215
+ class MySqlDateTimeBuilder extends session.MySqlColumnBuilder {
216
+ constructor(name, config) {
217
+ super(name);
218
+ this.config.fsp = config?.fsp;
219
+ }
220
+ /** @internal */
221
+ build(table) {
222
+ return new MySqlDateTime(table, this.config);
223
+ }
224
+ }
225
+ class MySqlDateTime extends session.MySqlColumn {
226
+ constructor(table, config) {
227
+ super(table, config);
228
+ this.fsp = config.fsp;
229
+ }
230
+ getSQLType() {
231
+ const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
232
+ return `datetime${precision}`;
233
+ }
234
+ mapFromDriverValue(value) {
235
+ return new Date(value);
236
+ }
237
+ }
238
+ class MySqlDateTimeStringBuilder extends session.MySqlColumnBuilder {
239
+ constructor(name, config) {
240
+ super(name);
241
+ this.config.fsp = config?.fsp;
242
+ }
243
+ /** @internal */
244
+ build(table) {
245
+ return new MySqlDateTimeString(table, this.config);
246
+ }
247
+ }
248
+ class MySqlDateTimeString extends session.MySqlColumn {
249
+ constructor(table, config) {
250
+ super(table, config);
251
+ this.fsp = config.fsp;
252
+ }
253
+ getSQLType() {
254
+ const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
255
+ return `datetime${precision}`;
256
+ }
257
+ }
258
+ function datetime(name, config = {}) {
259
+ if (config.mode === 'string') {
260
+ return new MySqlDateTimeStringBuilder(name, config);
261
+ }
262
+ return new MySqlDateTimeBuilder(name, config);
263
+ }
264
+
265
+ class MySqlDecimalBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
266
+ constructor(name, precision, scale) {
267
+ super(name);
268
+ this.config.precision = precision;
269
+ this.config.scale = scale;
270
+ }
271
+ /** @internal */
272
+ build(table) {
273
+ return new MySqlDecimal(table, this.config);
274
+ }
275
+ }
276
+ class MySqlDecimal extends session.MySqlColumnWithAutoIncrement {
277
+ constructor() {
278
+ super(...arguments);
279
+ this.precision = this.config.precision;
280
+ this.scale = this.config.scale;
281
+ }
282
+ getSQLType() {
283
+ if (this.precision !== undefined && this.scale !== undefined) {
284
+ return `decimal(${this.precision},${this.scale})`;
285
+ }
286
+ else if (this.precision === undefined) {
287
+ return 'decimal';
288
+ }
289
+ else {
290
+ return `decimal(${this.precision})`;
291
+ }
292
+ }
293
+ }
294
+ function decimal(name, config = {}) {
295
+ return new MySqlDecimalBuilder(name, config.precision, config.scale);
296
+ }
297
+
298
+ class MySqlDoubleBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
299
+ constructor(name, config) {
300
+ super(name);
301
+ this.config.precision = config?.precision;
302
+ this.config.scale = config?.scale;
303
+ }
304
+ /** @internal */
305
+ build(table) {
306
+ return new MySqlDouble(table, this.config);
307
+ }
308
+ }
309
+ class MySqlDouble extends session.MySqlColumnWithAutoIncrement {
310
+ constructor() {
311
+ super(...arguments);
312
+ this.precision = this.config.precision;
313
+ this.scale = this.config.scale;
314
+ }
315
+ getSQLType() {
316
+ if (this.precision !== undefined && this.scale !== undefined) {
317
+ return `double(${this.precision},${this.scale})`;
318
+ }
319
+ else if (this.precision === undefined) {
320
+ return 'double';
321
+ }
322
+ else {
323
+ return `double(${this.precision})`;
324
+ }
325
+ }
326
+ }
327
+ function double(name, config) {
328
+ return new MySqlDoubleBuilder(name, config);
329
+ }
330
+
331
+ class MySqlEnumColumnBuilder extends session.MySqlColumnBuilder {
332
+ constructor(name, values) {
333
+ super(name);
334
+ this.config.enumValues = values;
335
+ }
336
+ /** @internal */
337
+ build(table) {
338
+ return new MySqlEnumColumn(table, this.config);
339
+ }
340
+ }
341
+ class MySqlEnumColumn extends session.MySqlColumn {
342
+ constructor() {
343
+ super(...arguments);
344
+ this.enumValues = this.config.enumValues;
345
+ }
346
+ getSQLType() {
347
+ return `enum(${this.enumValues.map((value) => `'${value}'`).join(',')})`;
348
+ }
349
+ }
350
+ function mysqlEnum(name, values) {
351
+ if (values.length === 0) {
352
+ throw new Error(`You have an empty array for "${name}" enum values`);
353
+ }
354
+ return new MySqlEnumColumnBuilder(name, values);
355
+ }
356
+
357
+ class MySqlFloatBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
358
+ /** @internal */
359
+ build(table) {
360
+ return new MySqlFloat(table, this.config);
361
+ }
362
+ }
363
+ class MySqlFloat extends session.MySqlColumnWithAutoIncrement {
364
+ getSQLType() {
365
+ return 'float';
366
+ }
367
+ }
368
+ function float(name) {
369
+ return new MySqlFloatBuilder(name);
370
+ }
371
+
372
+ class MySqlIntBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
373
+ /** @internal */
374
+ build(table) {
375
+ return new MySqlInt(table, this.config);
376
+ }
377
+ }
378
+ class MySqlInt extends session.MySqlColumnWithAutoIncrement {
379
+ getSQLType() {
380
+ return 'int';
381
+ }
382
+ mapFromDriverValue(value) {
383
+ if (typeof value === 'string') {
384
+ return Number(value);
385
+ }
386
+ return value;
387
+ }
388
+ }
389
+ function int(name) {
390
+ return new MySqlIntBuilder(name);
391
+ }
392
+
393
+ class MySqlJsonBuilder extends session.MySqlColumnBuilder {
394
+ /** @internal */
395
+ build(table) {
396
+ return new MySqlJson(table, this.config);
397
+ }
398
+ }
399
+ class MySqlJson extends session.MySqlColumn {
400
+ getSQLType() {
401
+ return 'json';
402
+ }
403
+ mapToDriverValue(value) {
404
+ return JSON.stringify(value);
405
+ }
406
+ }
407
+ function json(name) {
408
+ return new MySqlJsonBuilder(name);
409
+ }
410
+
411
+ class MySqlMediumIntBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
412
+ /** @internal */
413
+ build(table) {
414
+ return new MySqlMediumInt(table, this.config);
415
+ }
416
+ }
417
+ class MySqlMediumInt extends session.MySqlColumnWithAutoIncrement {
418
+ getSQLType() {
419
+ return 'mediumint';
420
+ }
421
+ mapFromDriverValue(value) {
422
+ if (typeof value === 'string') {
423
+ return Number(value);
424
+ }
425
+ return value;
426
+ }
427
+ }
428
+ function mediumint(name) {
429
+ return new MySqlMediumIntBuilder(name);
430
+ }
431
+
432
+ class MySqlRealBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
433
+ constructor(name, config) {
434
+ super(name);
435
+ this.config.precision = config?.precision;
436
+ this.config.scale = config?.scale;
437
+ }
438
+ /** @internal */
439
+ build(table) {
440
+ return new MySqlReal(table, this.config);
441
+ }
442
+ }
443
+ class MySqlReal extends session.MySqlColumnWithAutoIncrement {
444
+ constructor() {
445
+ super(...arguments);
446
+ this.precision = this.config.precision;
447
+ this.scale = this.config.scale;
448
+ }
449
+ getSQLType() {
450
+ if (this.precision !== undefined && this.scale !== undefined) {
451
+ return `real(${this.precision}, ${this.scale})`;
452
+ }
453
+ else if (this.precision === undefined) {
454
+ return 'real';
455
+ }
456
+ else {
457
+ return `real(${this.precision})`;
458
+ }
459
+ }
460
+ }
461
+ function real(name, config = {}) {
462
+ return new MySqlRealBuilder(name, config);
463
+ }
464
+
465
+ class MySqlSerialBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
466
+ constructor(name) {
467
+ super(name);
468
+ this.config.hasDefault = true;
469
+ this.config.autoIncrement = true;
470
+ }
471
+ /** @internal */
472
+ build(table) {
473
+ return new MySqlSerial(table, this.config);
474
+ }
475
+ }
476
+ class MySqlSerial extends session.MySqlColumnWithAutoIncrement {
477
+ getSQLType() {
478
+ return 'serial';
479
+ }
480
+ mapFromDriverValue(value) {
481
+ if (typeof value === 'string') {
482
+ return Number(value);
483
+ }
484
+ return value;
485
+ }
486
+ }
487
+ function serial(name) {
488
+ return new MySqlSerialBuilder(name);
489
+ }
490
+
491
+ class MySqlSmallIntBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
492
+ /** @internal */
493
+ build(table) {
494
+ return new MySqlSmallInt(table, this.config);
495
+ }
496
+ }
497
+ class MySqlSmallInt extends session.MySqlColumnWithAutoIncrement {
498
+ getSQLType() {
499
+ return 'smallint';
500
+ }
501
+ mapFromDriverValue(value) {
502
+ if (typeof value === 'string') {
503
+ return Number(value);
504
+ }
505
+ return value;
506
+ }
507
+ }
508
+ function smallint(name) {
509
+ return new MySqlSmallIntBuilder(name);
510
+ }
511
+
512
+ class MySqlTextBuilder extends session.MySqlColumnBuilder {
513
+ constructor(name, textType, config) {
514
+ super(name);
515
+ this.config.textType = textType;
516
+ this.config.enumValues = config.enum;
517
+ }
518
+ /** @internal */
519
+ build(table) {
520
+ return new MySqlText(table, this.config);
521
+ }
522
+ }
523
+ class MySqlText extends session.MySqlColumn {
524
+ constructor() {
525
+ super(...arguments);
526
+ this.textType = this.config.textType;
527
+ this.enumValues = (this.config.enumValues ?? []);
528
+ }
529
+ getSQLType() {
530
+ return this.textType;
531
+ }
532
+ }
533
+ function text(name, config = {}) {
534
+ return new MySqlTextBuilder(name, 'text', config);
535
+ }
536
+ function tinytext(name, config = {}) {
537
+ return new MySqlTextBuilder(name, 'tinytext', config);
538
+ }
539
+ function mediumtext(name, config = {}) {
540
+ return new MySqlTextBuilder(name, 'mediumtext', config);
541
+ }
542
+ function longtext(name, config = {}) {
543
+ return new MySqlTextBuilder(name, 'longtext', config);
544
+ }
545
+
546
+ class MySqlTimeBuilder extends session.MySqlColumnBuilder {
547
+ constructor(name, config) {
548
+ super(name);
549
+ this.config.fsp = config?.fsp;
550
+ }
551
+ /** @internal */
552
+ build(table) {
553
+ return new MySqlTime(table, this.config);
554
+ }
555
+ }
556
+ class MySqlTime extends session.MySqlColumn {
557
+ constructor() {
558
+ super(...arguments);
559
+ this.fsp = this.config.fsp;
560
+ }
561
+ getSQLType() {
562
+ const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
563
+ return `time${precision}`;
564
+ }
565
+ }
566
+ function time(name, config) {
567
+ return new MySqlTimeBuilder(name, config);
568
+ }
569
+
570
+ class MySqlDateColumnBaseBuilder extends session.MySqlColumnBuilder {
571
+ defaultNow() {
572
+ return this.default(relations.sql `(now())`);
573
+ }
574
+ // "on update now" also adds an implicit default value to the column - https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html
575
+ onUpdateNow() {
576
+ this.config.hasOnUpdateNow = true;
577
+ this.config.hasDefault = true;
578
+ return this;
579
+ }
580
+ }
581
+ class MySqlDateBaseColumn extends session.MySqlColumn {
582
+ constructor() {
583
+ super(...arguments);
584
+ this.hasOnUpdateNow = this.config.hasOnUpdateNow;
585
+ }
586
+ }
587
+
588
+ class MySqlTimestampBuilder extends MySqlDateColumnBaseBuilder {
589
+ constructor(name, config) {
590
+ super(name);
591
+ this.config.fsp = config?.fsp;
592
+ }
593
+ /** @internal */
594
+ build(table) {
595
+ return new MySqlTimestamp(table, this.config);
596
+ }
597
+ }
598
+ class MySqlTimestamp extends MySqlDateBaseColumn {
599
+ constructor() {
600
+ super(...arguments);
601
+ this.fsp = this.config.fsp;
602
+ }
603
+ getSQLType() {
604
+ const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
605
+ return `timestamp${precision}`;
606
+ }
607
+ mapFromDriverValue(value) {
608
+ return new Date(value + '+0000');
609
+ }
610
+ mapToDriverValue(value) {
611
+ return value.toISOString().slice(0, 19).replace('T', ' ');
612
+ }
613
+ }
614
+ class MySqlTimestampStringBuilder extends MySqlDateColumnBaseBuilder {
615
+ constructor(name, config) {
616
+ super(name);
617
+ this.config.fsp = config?.fsp;
618
+ }
619
+ /** @internal */
620
+ build(table) {
621
+ return new MySqlTimestampString(table, this.config);
622
+ }
623
+ }
624
+ class MySqlTimestampString extends MySqlDateBaseColumn {
625
+ constructor() {
626
+ super(...arguments);
627
+ this.fsp = this.config.fsp;
628
+ }
629
+ getSQLType() {
630
+ const precision = this.fsp === undefined ? '' : `(${this.fsp})`;
631
+ return `timestamp${precision}`;
632
+ }
633
+ }
634
+ function timestamp(name, config = {}) {
635
+ if (config.mode === 'string') {
636
+ return new MySqlTimestampStringBuilder(name, config);
637
+ }
638
+ return new MySqlTimestampBuilder(name, config);
639
+ }
640
+
641
+ class MySqlTinyIntBuilder extends session.MySqlColumnBuilderWithAutoIncrement {
642
+ /** @internal */
643
+ build(table) {
644
+ return new MySqlTinyInt(table, this.config);
645
+ }
646
+ }
647
+ class MySqlTinyInt extends session.MySqlColumnWithAutoIncrement {
648
+ getSQLType() {
649
+ return 'tinyint';
650
+ }
651
+ mapFromDriverValue(value) {
652
+ if (typeof value === 'string') {
653
+ return Number(value);
654
+ }
655
+ return value;
656
+ }
657
+ }
658
+ function tinyint(name) {
659
+ return new MySqlTinyIntBuilder(name);
660
+ }
661
+
662
+ class MySqlVarBinaryBuilder extends session.MySqlColumnBuilder {
663
+ /** @internal */
664
+ constructor(name, config) {
665
+ super(name);
666
+ this.config.length = config?.length;
667
+ }
668
+ /** @internal */
669
+ build(table) {
670
+ return new MySqlVarBinary(table, this.config);
671
+ }
672
+ }
673
+ class MySqlVarBinary extends session.MySqlColumn {
674
+ constructor() {
675
+ super(...arguments);
676
+ this.length = this.config.length;
677
+ }
678
+ getSQLType() {
679
+ return this.length === undefined ? `varbinary` : `varbinary(${this.length})`;
680
+ }
681
+ }
682
+ function varbinary(name, options) {
683
+ return new MySqlVarBinaryBuilder(name, options);
684
+ }
685
+
686
+ class MySqlVarCharBuilder extends session.MySqlColumnBuilder {
687
+ /** @internal */
688
+ constructor(name, config) {
689
+ super(name);
690
+ this.config.length = config.length;
691
+ this.config.enum = config.enum;
692
+ }
693
+ /** @internal */
694
+ build(table) {
695
+ return new MySqlVarChar(table, this.config);
696
+ }
697
+ }
698
+ class MySqlVarChar extends session.MySqlColumn {
699
+ constructor() {
700
+ super(...arguments);
701
+ this.length = this.config.length;
702
+ this.enumValues = (this.config.enum ?? []);
703
+ }
704
+ getSQLType() {
705
+ return this.length === undefined ? `varchar` : `varchar(${this.length})`;
706
+ }
707
+ }
708
+ function varchar(name, config) {
709
+ return new MySqlVarCharBuilder(name, config);
710
+ }
711
+
712
+ class MySqlYearBuilder extends session.MySqlColumnBuilder {
713
+ /** @internal */
714
+ build(table) {
715
+ return new MySqlYear(table, this.config);
716
+ }
717
+ }
718
+ class MySqlYear extends session.MySqlColumn {
719
+ getSQLType() {
720
+ return `year`;
721
+ }
722
+ }
723
+ function year(name) {
724
+ return new MySqlYearBuilder(name);
725
+ }
726
+
727
+ class IndexBuilderOn {
728
+ constructor(name, unique) {
729
+ this.name = name;
730
+ this.unique = unique;
731
+ }
732
+ on(...columns) {
733
+ return new IndexBuilder(this.name, columns, this.unique);
734
+ }
735
+ }
736
+ class IndexBuilder {
737
+ constructor(name, columns, unique) {
738
+ this.config = {
739
+ name,
740
+ columns,
741
+ unique,
742
+ };
743
+ }
744
+ using(using) {
745
+ this.config.using = using;
746
+ return this;
747
+ }
748
+ algorythm(algorythm) {
749
+ this.config.algorythm = algorythm;
750
+ return this;
751
+ }
752
+ lock(lock) {
753
+ this.config.lock = lock;
754
+ return this;
755
+ }
756
+ /** @internal */
757
+ build(table) {
758
+ return new Index(this.config, table);
759
+ }
760
+ }
761
+ class Index {
762
+ constructor(config, table) {
763
+ this.config = { ...config, table };
764
+ }
765
+ }
766
+ function index(name) {
767
+ return new IndexBuilderOn(name, false);
768
+ }
769
+ function uniqueIndex(name) {
770
+ return new IndexBuilderOn(name, true);
771
+ }
772
+
773
+ function primaryKey(...columns) {
774
+ return new PrimaryKeyBuilder(columns);
775
+ }
776
+ class PrimaryKeyBuilder {
777
+ constructor(columns) {
778
+ this.columns = columns;
779
+ }
780
+ /** @internal */
781
+ build(table) {
782
+ return new PrimaryKey(table, this.columns);
783
+ }
784
+ }
785
+ class PrimaryKey {
786
+ constructor(table, columns) {
787
+ this.table = table;
788
+ this.columns = columns;
789
+ }
790
+ getName() {
791
+ return `${this.table[session.MySqlTable.Symbol.Name]}_${this.columns.map((column) => column.name).join('_')}_pk`;
792
+ }
793
+ }
794
+
795
+ class MySqlSchema {
796
+ constructor(schemaName) {
797
+ this.schemaName = schemaName;
798
+ this.table = (name, columns, extraConfig) => {
799
+ return session.mysqlTableWithSchema(name, columns, extraConfig, this.schemaName);
800
+ };
801
+ this.view = ((name, columns) => {
802
+ return session.mysqlViewWithSchema(name, columns, this.schemaName);
803
+ });
804
+ }
805
+ }
806
+ /** @deprecated - use `instanceof MySqlSchema` */
807
+ function isMySqlSchema(obj) {
808
+ return obj instanceof MySqlSchema;
809
+ }
810
+ /**
811
+ * Create a MySQL schema.
812
+ * https://dev.mysql.com/doc/refman/8.0/en/create-database.html
813
+ *
814
+ * @param name mysql use schema name
815
+ * @returns MySQL schema
816
+ */
817
+ function mysqlDatabase(name) {
818
+ return new MySqlSchema(name);
819
+ }
820
+ /**
821
+ * @see mysqlDatabase
822
+ */
823
+ const mysqlSchema = mysqlDatabase;
824
+
825
+ function getTableConfig(table) {
826
+ const columns = Object.values(table[session.MySqlTable.Symbol.Columns]);
827
+ const indexes = [];
828
+ const checks = [];
829
+ const primaryKeys = [];
830
+ const foreignKeys = Object.values(table[session.MySqlTable.Symbol.InlineForeignKeys]);
831
+ const name = table[relations.Table.Symbol.Name];
832
+ const schema = table[relations.Table.Symbol.Schema];
833
+ const baseName = table[relations.Table.Symbol.BaseName];
834
+ const extraConfigBuilder = table[session.MySqlTable.Symbol.ExtraConfigBuilder];
835
+ if (extraConfigBuilder !== undefined) {
836
+ const extraConfig = extraConfigBuilder(table[session.MySqlTable.Symbol.Columns]);
837
+ for (const builder of Object.values(extraConfig)) {
838
+ if (builder instanceof IndexBuilder) {
839
+ indexes.push(builder.build(table));
840
+ }
841
+ else if (builder instanceof CheckBuilder) {
842
+ checks.push(builder.build(table));
843
+ }
844
+ else if (builder instanceof PrimaryKeyBuilder) {
845
+ primaryKeys.push(builder.build(table));
846
+ }
847
+ else if (builder instanceof session.ForeignKeyBuilder) {
848
+ foreignKeys.push(builder.build(table));
849
+ }
850
+ }
851
+ }
852
+ return {
853
+ columns,
854
+ indexes,
855
+ foreignKeys,
856
+ checks,
857
+ primaryKeys,
858
+ name,
859
+ schema,
860
+ baseName,
861
+ };
862
+ }
863
+ function getViewConfig(view) {
864
+ return {
865
+ ...view[relations.ViewBaseConfig],
866
+ ...view[session.MySqlViewConfig],
867
+ };
868
+ }
869
+
870
+ exports.ForeignKey = session.ForeignKey;
871
+ exports.ForeignKeyBuilder = session.ForeignKeyBuilder;
872
+ exports.InlineForeignKeys = session.InlineForeignKeys;
873
+ exports.ManualViewBuilder = session.ManualViewBuilder;
874
+ exports.MySqlColumn = session.MySqlColumn;
875
+ exports.MySqlColumnBuilder = session.MySqlColumnBuilder;
876
+ exports.MySqlColumnBuilderWithAutoIncrement = session.MySqlColumnBuilderWithAutoIncrement;
877
+ exports.MySqlColumnWithAutoIncrement = session.MySqlColumnWithAutoIncrement;
878
+ exports.MySqlDatabase = session.MySqlDatabase;
879
+ exports.MySqlDelete = session.MySqlDelete;
880
+ exports.MySqlDialect = session.MySqlDialect;
881
+ exports.MySqlInsert = session.MySqlInsert;
882
+ exports.MySqlInsertBuilder = session.MySqlInsertBuilder;
883
+ exports.MySqlSelect = session.MySqlSelect;
884
+ exports.MySqlSelectBuilder = session.MySqlSelectBuilder;
885
+ exports.MySqlSelectQueryBuilder = session.MySqlSelectQueryBuilder;
886
+ exports.MySqlSession = session.MySqlSession;
887
+ exports.MySqlTable = session.MySqlTable;
888
+ exports.MySqlTransaction = session.MySqlTransaction;
889
+ exports.MySqlUpdate = session.MySqlUpdate;
890
+ exports.MySqlUpdateBuilder = session.MySqlUpdateBuilder;
891
+ exports.MySqlView = session.MySqlView;
892
+ exports.MySqlViewBase = session.MySqlViewBase;
893
+ exports.MySqlViewConfig = session.MySqlViewConfig;
894
+ exports.PreparedQuery = session.PreparedQuery;
895
+ exports.QueryBuilder = session.QueryBuilder;
896
+ exports.ViewBuilder = session.ViewBuilder;
897
+ exports.ViewBuilderCore = session.ViewBuilderCore;
898
+ exports.foreignKey = session.foreignKey;
899
+ exports.mysqlTable = session.mysqlTable;
900
+ exports.mysqlTableCreator = session.mysqlTableCreator;
901
+ exports.mysqlTableWithSchema = session.mysqlTableWithSchema;
902
+ exports.mysqlView = session.mysqlView;
903
+ exports.mysqlViewWithSchema = session.mysqlViewWithSchema;
904
+ exports.Check = Check;
905
+ exports.CheckBuilder = CheckBuilder;
906
+ exports.Index = Index;
907
+ exports.IndexBuilder = IndexBuilder;
908
+ exports.IndexBuilderOn = IndexBuilderOn;
909
+ exports.MySqlBigInt53 = MySqlBigInt53;
910
+ exports.MySqlBigInt53Builder = MySqlBigInt53Builder;
911
+ exports.MySqlBigInt64 = MySqlBigInt64;
912
+ exports.MySqlBigInt64Builder = MySqlBigInt64Builder;
913
+ exports.MySqlBinary = MySqlBinary;
914
+ exports.MySqlBinaryBuilder = MySqlBinaryBuilder;
915
+ exports.MySqlBoolean = MySqlBoolean;
916
+ exports.MySqlBooleanBuilder = MySqlBooleanBuilder;
917
+ exports.MySqlChar = MySqlChar;
918
+ exports.MySqlCharBuilder = MySqlCharBuilder;
919
+ exports.MySqlCustomColumn = MySqlCustomColumn;
920
+ exports.MySqlCustomColumnBuilder = MySqlCustomColumnBuilder;
921
+ exports.MySqlDate = MySqlDate;
922
+ exports.MySqlDateBuilder = MySqlDateBuilder;
923
+ exports.MySqlDateString = MySqlDateString;
924
+ exports.MySqlDateStringBuilder = MySqlDateStringBuilder;
925
+ exports.MySqlDateTime = MySqlDateTime;
926
+ exports.MySqlDateTimeBuilder = MySqlDateTimeBuilder;
927
+ exports.MySqlDateTimeString = MySqlDateTimeString;
928
+ exports.MySqlDateTimeStringBuilder = MySqlDateTimeStringBuilder;
929
+ exports.MySqlDecimal = MySqlDecimal;
930
+ exports.MySqlDecimalBuilder = MySqlDecimalBuilder;
931
+ exports.MySqlDouble = MySqlDouble;
932
+ exports.MySqlDoubleBuilder = MySqlDoubleBuilder;
933
+ exports.MySqlEnumColumn = MySqlEnumColumn;
934
+ exports.MySqlEnumColumnBuilder = MySqlEnumColumnBuilder;
935
+ exports.MySqlFloat = MySqlFloat;
936
+ exports.MySqlFloatBuilder = MySqlFloatBuilder;
937
+ exports.MySqlInt = MySqlInt;
938
+ exports.MySqlIntBuilder = MySqlIntBuilder;
939
+ exports.MySqlJson = MySqlJson;
940
+ exports.MySqlJsonBuilder = MySqlJsonBuilder;
941
+ exports.MySqlMediumInt = MySqlMediumInt;
942
+ exports.MySqlMediumIntBuilder = MySqlMediumIntBuilder;
943
+ exports.MySqlReal = MySqlReal;
944
+ exports.MySqlRealBuilder = MySqlRealBuilder;
945
+ exports.MySqlSchema = MySqlSchema;
946
+ exports.MySqlSerial = MySqlSerial;
947
+ exports.MySqlSerialBuilder = MySqlSerialBuilder;
948
+ exports.MySqlSmallInt = MySqlSmallInt;
949
+ exports.MySqlSmallIntBuilder = MySqlSmallIntBuilder;
950
+ exports.MySqlText = MySqlText;
951
+ exports.MySqlTextBuilder = MySqlTextBuilder;
952
+ exports.MySqlTime = MySqlTime;
953
+ exports.MySqlTimeBuilder = MySqlTimeBuilder;
954
+ exports.MySqlTimestamp = MySqlTimestamp;
955
+ exports.MySqlTimestampBuilder = MySqlTimestampBuilder;
956
+ exports.MySqlTimestampString = MySqlTimestampString;
957
+ exports.MySqlTimestampStringBuilder = MySqlTimestampStringBuilder;
958
+ exports.MySqlTinyInt = MySqlTinyInt;
959
+ exports.MySqlTinyIntBuilder = MySqlTinyIntBuilder;
960
+ exports.MySqlVarBinary = MySqlVarBinary;
961
+ exports.MySqlVarBinaryBuilder = MySqlVarBinaryBuilder;
962
+ exports.MySqlVarChar = MySqlVarChar;
963
+ exports.MySqlVarCharBuilder = MySqlVarCharBuilder;
964
+ exports.MySqlYear = MySqlYear;
965
+ exports.MySqlYearBuilder = MySqlYearBuilder;
966
+ exports.PrimaryKey = PrimaryKey;
967
+ exports.PrimaryKeyBuilder = PrimaryKeyBuilder;
968
+ exports.alias = alias;
969
+ exports.bigint = bigint;
970
+ exports.binary = binary;
971
+ exports.boolean = boolean;
972
+ exports.char = char;
973
+ exports.check = check;
974
+ exports.customType = customType;
975
+ exports.date = date;
976
+ exports.datetime = datetime;
977
+ exports.decimal = decimal;
978
+ exports.double = double;
979
+ exports.float = float;
980
+ exports.getTableConfig = getTableConfig;
981
+ exports.getViewConfig = getViewConfig;
982
+ exports.index = index;
983
+ exports.int = int;
984
+ exports.isMySqlSchema = isMySqlSchema;
985
+ exports.json = json;
986
+ exports.longtext = longtext;
987
+ exports.mediumint = mediumint;
988
+ exports.mediumtext = mediumtext;
989
+ exports.mysqlDatabase = mysqlDatabase;
990
+ exports.mysqlEnum = mysqlEnum;
991
+ exports.mysqlSchema = mysqlSchema;
992
+ exports.primaryKey = primaryKey;
993
+ exports.real = real;
994
+ exports.serial = serial;
995
+ exports.smallint = smallint;
996
+ exports.text = text;
997
+ exports.time = time;
998
+ exports.timestamp = timestamp;
999
+ exports.tinyint = tinyint;
1000
+ exports.tinytext = tinytext;
1001
+ exports.uniqueIndex = uniqueIndex;
1002
+ exports.varbinary = varbinary;
1003
+ exports.varchar = varchar;
1004
+ exports.year = year;
2
1005
  //# sourceMappingURL=index.cjs.map