drizzle-orm 0.16.1 → 0.17.0-4e99516

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 (598) hide show
  1. package/README.md +10 -15
  2. package/better-sqlite3/driver.d.ts +9 -0
  3. package/better-sqlite3/driver.d.ts.map +1 -0
  4. package/better-sqlite3/driver.js +13 -0
  5. package/better-sqlite3/driver.js.map +1 -0
  6. package/better-sqlite3/index.d.ts +3 -0
  7. package/better-sqlite3/index.d.ts.map +1 -0
  8. package/better-sqlite3/index.js +19 -0
  9. package/better-sqlite3/index.js.map +1 -0
  10. package/better-sqlite3/migrator.d.ts +4 -0
  11. package/better-sqlite3/migrator.d.ts.map +1 -0
  12. package/better-sqlite3/migrator.js +10 -0
  13. package/better-sqlite3/migrator.js.map +1 -0
  14. package/better-sqlite3/session.d.ts +37 -0
  15. package/better-sqlite3/session.d.ts.map +1 -0
  16. package/better-sqlite3/session.js +64 -0
  17. package/better-sqlite3/session.js.map +1 -0
  18. package/bun-sqlite/driver.d.ts +10 -0
  19. package/bun-sqlite/driver.d.ts.map +1 -0
  20. package/bun-sqlite/driver.js +14 -0
  21. package/bun-sqlite/driver.js.map +1 -0
  22. package/bun-sqlite/index.d.ts +3 -0
  23. package/bun-sqlite/index.d.ts.map +1 -0
  24. package/bun-sqlite/index.js +19 -0
  25. package/bun-sqlite/index.js.map +1 -0
  26. package/bun-sqlite/migrator.d.ts +4 -0
  27. package/bun-sqlite/migrator.d.ts.map +1 -0
  28. package/bun-sqlite/migrator.js +10 -0
  29. package/bun-sqlite/migrator.js.map +1 -0
  30. package/bun-sqlite/session.d.ts +39 -0
  31. package/bun-sqlite/session.d.ts.map +1 -0
  32. package/bun-sqlite/session.js +65 -0
  33. package/bun-sqlite/session.js.map +1 -0
  34. package/d1/driver.d.ts +9 -0
  35. package/d1/driver.d.ts.map +1 -0
  36. package/d1/driver.js +14 -0
  37. package/d1/driver.js.map +1 -0
  38. package/d1/index.d.ts +3 -0
  39. package/d1/index.d.ts.map +1 -0
  40. package/d1/index.js +19 -0
  41. package/d1/index.js.map +1 -0
  42. package/d1/migrator.d.ts +4 -0
  43. package/d1/migrator.d.ts.map +1 -0
  44. package/d1/migrator.js +21 -0
  45. package/d1/migrator.js.map +1 -0
  46. package/d1/session.d.ts +37 -0
  47. package/d1/session.d.ts.map +1 -0
  48. package/d1/session.js +60 -0
  49. package/d1/session.js.map +1 -0
  50. package/index.d.ts +1 -1
  51. package/index.d.ts.map +1 -1
  52. package/index.js +1 -1
  53. package/index.js.map +1 -1
  54. package/{connection.d.ts → logger.d.ts} +1 -1
  55. package/logger.d.ts.map +1 -0
  56. package/{connection.js → logger.js} +1 -1
  57. package/logger.js.map +1 -0
  58. package/mysql-core/alias.d.ts +4 -0
  59. package/mysql-core/alias.d.ts.map +1 -0
  60. package/mysql-core/alias.js +9 -0
  61. package/mysql-core/alias.js.map +1 -0
  62. package/mysql-core/checks.d.ts +16 -0
  63. package/mysql-core/checks.d.ts.map +1 -0
  64. package/mysql-core/checks.js +27 -0
  65. package/mysql-core/checks.js.map +1 -0
  66. package/mysql-core/columns/bigint.d.ts +38 -0
  67. package/mysql-core/columns/bigint.d.ts.map +1 -0
  68. package/mysql-core/columns/bigint.js +47 -0
  69. package/mysql-core/columns/bigint.js.map +1 -0
  70. package/mysql-core/columns/binary.d.ts +29 -0
  71. package/mysql-core/columns/binary.d.ts.map +1 -0
  72. package/mysql-core/columns/binary.js +30 -0
  73. package/mysql-core/columns/binary.js.map +1 -0
  74. package/mysql-core/columns/boolean.d.ts +19 -0
  75. package/mysql-core/columns/boolean.d.ts.map +1 -0
  76. package/mysql-core/columns/boolean.js +28 -0
  77. package/mysql-core/columns/boolean.js.map +1 -0
  78. package/mysql-core/columns/char.d.ts +29 -0
  79. package/mysql-core/columns/char.d.ts.map +1 -0
  80. package/mysql-core/columns/char.js +30 -0
  81. package/mysql-core/columns/char.js.map +1 -0
  82. package/mysql-core/columns/common.d.ts +69 -0
  83. package/mysql-core/columns/common.d.ts.map +1 -0
  84. package/mysql-core/columns/common.js +75 -0
  85. package/mysql-core/columns/common.js.map +1 -0
  86. package/mysql-core/columns/custom.d.ts +109 -0
  87. package/mysql-core/columns/custom.d.ts.map +1 -0
  88. package/mysql-core/columns/custom.js +40 -0
  89. package/mysql-core/columns/custom.js.map +1 -0
  90. package/mysql-core/columns/date.common.d.ts +22 -0
  91. package/mysql-core/columns/date.common.d.ts.map +1 -0
  92. package/mysql-core/columns/date.common.js +46 -0
  93. package/mysql-core/columns/date.common.js.map +1 -0
  94. package/mysql-core/columns/date.d.ts +47 -0
  95. package/mysql-core/columns/date.d.ts.map +1 -0
  96. package/mysql-core/columns/date.js +53 -0
  97. package/mysql-core/columns/date.js.map +1 -0
  98. package/mysql-core/columns/datetime.d.ts +56 -0
  99. package/mysql-core/columns/datetime.d.ts.map +1 -0
  100. package/mysql-core/columns/datetime.js +59 -0
  101. package/mysql-core/columns/datetime.js.map +1 -0
  102. package/mysql-core/columns/decimal.d.ts +32 -0
  103. package/mysql-core/columns/decimal.d.ts.map +1 -0
  104. package/mysql-core/columns/decimal.js +40 -0
  105. package/mysql-core/columns/decimal.js.map +1 -0
  106. package/mysql-core/columns/double.d.ts +32 -0
  107. package/mysql-core/columns/double.d.ts.map +1 -0
  108. package/mysql-core/columns/double.js +39 -0
  109. package/mysql-core/columns/double.js.map +1 -0
  110. package/mysql-core/columns/enum.d.ts +44 -0
  111. package/mysql-core/columns/enum.d.ts.map +1 -0
  112. package/mysql-core/columns/enum.js +32 -0
  113. package/mysql-core/columns/enum.js.map +1 -0
  114. package/mysql-core/columns/float.d.ts +28 -0
  115. package/mysql-core/columns/float.d.ts.map +1 -0
  116. package/mysql-core/columns/float.js +39 -0
  117. package/mysql-core/columns/float.js.map +1 -0
  118. package/mysql-core/columns/index.d.ts +27 -0
  119. package/mysql-core/columns/index.d.ts.map +1 -0
  120. package/mysql-core/columns/index.js +44 -0
  121. package/mysql-core/columns/index.js.map +1 -0
  122. package/mysql-core/columns/int.d.ts +19 -0
  123. package/mysql-core/columns/int.d.ts.map +1 -0
  124. package/mysql-core/columns/int.js +28 -0
  125. package/mysql-core/columns/int.js.map +1 -0
  126. package/mysql-core/columns/json.d.ts +20 -0
  127. package/mysql-core/columns/json.d.ts.map +1 -0
  128. package/mysql-core/columns/json.js +28 -0
  129. package/mysql-core/columns/json.js.map +1 -0
  130. package/mysql-core/columns/mediumint.d.ts +19 -0
  131. package/mysql-core/columns/mediumint.d.ts.map +1 -0
  132. package/mysql-core/columns/mediumint.js +28 -0
  133. package/mysql-core/columns/mediumint.js.map +1 -0
  134. package/mysql-core/columns/real.d.ts +32 -0
  135. package/mysql-core/columns/real.d.ts.map +1 -0
  136. package/mysql-core/columns/real.js +40 -0
  137. package/mysql-core/columns/real.js.map +1 -0
  138. package/mysql-core/columns/serial.d.ts +22 -0
  139. package/mysql-core/columns/serial.d.ts.map +1 -0
  140. package/mysql-core/columns/serial.js +32 -0
  141. package/mysql-core/columns/serial.js.map +1 -0
  142. package/mysql-core/columns/smallint.d.ts +19 -0
  143. package/mysql-core/columns/smallint.d.ts.map +1 -0
  144. package/mysql-core/columns/smallint.js +28 -0
  145. package/mysql-core/columns/smallint.js.map +1 -0
  146. package/mysql-core/columns/text.d.ts +30 -0
  147. package/mysql-core/columns/text.d.ts.map +1 -0
  148. package/mysql-core/columns/text.js +42 -0
  149. package/mysql-core/columns/text.js.map +1 -0
  150. package/mysql-core/columns/time.d.ts +29 -0
  151. package/mysql-core/columns/time.d.ts.map +1 -0
  152. package/mysql-core/columns/time.js +31 -0
  153. package/mysql-core/columns/time.js.map +1 -0
  154. package/mysql-core/columns/timestamp.d.ts +57 -0
  155. package/mysql-core/columns/timestamp.d.ts.map +1 -0
  156. package/mysql-core/columns/timestamp.js +60 -0
  157. package/mysql-core/columns/timestamp.js.map +1 -0
  158. package/mysql-core/columns/tinyint.d.ts +19 -0
  159. package/mysql-core/columns/tinyint.d.ts.map +1 -0
  160. package/mysql-core/columns/tinyint.js +28 -0
  161. package/mysql-core/columns/tinyint.js.map +1 -0
  162. package/mysql-core/columns/varbinary.d.ts +28 -0
  163. package/mysql-core/columns/varbinary.d.ts.map +1 -0
  164. package/mysql-core/columns/varbinary.js +31 -0
  165. package/mysql-core/columns/varbinary.js.map +1 -0
  166. package/mysql-core/columns/varchar.d.ts +29 -0
  167. package/mysql-core/columns/varchar.d.ts.map +1 -0
  168. package/mysql-core/columns/varchar.js +31 -0
  169. package/mysql-core/columns/varchar.js.map +1 -0
  170. package/mysql-core/columns/year.d.ts +19 -0
  171. package/mysql-core/columns/year.d.ts.map +1 -0
  172. package/mysql-core/columns/year.js +25 -0
  173. package/mysql-core/columns/year.js.map +1 -0
  174. package/mysql-core/db.d.ts +21 -0
  175. package/mysql-core/db.d.ts.map +1 -0
  176. package/mysql-core/db.js +34 -0
  177. package/mysql-core/db.js.map +1 -0
  178. package/mysql-core/dialect.d.ts +34 -0
  179. package/mysql-core/dialect.d.ts.map +1 -0
  180. package/mysql-core/dialect.js +235 -0
  181. package/mysql-core/dialect.js.map +1 -0
  182. package/mysql-core/expressions.d.ts +9 -0
  183. package/mysql-core/expressions.d.ts.map +1 -0
  184. package/mysql-core/expressions.js +36 -0
  185. package/mysql-core/expressions.js.map +1 -0
  186. package/mysql-core/foreign-keys.d.ts +47 -0
  187. package/mysql-core/foreign-keys.d.ts.map +1 -0
  188. package/mysql-core/foreign-keys.js +62 -0
  189. package/mysql-core/foreign-keys.js.map +1 -0
  190. package/mysql-core/index.d.ts +11 -0
  191. package/mysql-core/index.d.ts.map +1 -0
  192. package/mysql-core/index.js +27 -0
  193. package/mysql-core/index.js.map +1 -0
  194. package/mysql-core/indexes.d.ts +58 -0
  195. package/mysql-core/indexes.d.ts.map +1 -0
  196. package/mysql-core/indexes.js +54 -0
  197. package/mysql-core/indexes.js.map +1 -0
  198. package/mysql-core/operations.d.ts +19 -0
  199. package/mysql-core/operations.d.ts.map +1 -0
  200. package/mysql-core/operations.js +3 -0
  201. package/mysql-core/operations.js.map +1 -0
  202. package/mysql-core/query-builders/delete.d.ts +28 -0
  203. package/mysql-core/query-builders/delete.d.ts.map +1 -0
  204. package/mysql-core/query-builders/delete.js +45 -0
  205. package/mysql-core/query-builders/delete.js.map +1 -0
  206. package/mysql-core/query-builders/index.d.ts +5 -0
  207. package/mysql-core/query-builders/index.d.ts.map +1 -0
  208. package/mysql-core/query-builders/index.js +21 -0
  209. package/mysql-core/query-builders/index.js.map +1 -0
  210. package/mysql-core/query-builders/insert.d.ts +44 -0
  211. package/mysql-core/query-builders/insert.d.ts.map +1 -0
  212. package/mysql-core/query-builders/insert.js +78 -0
  213. package/mysql-core/query-builders/insert.js.map +1 -0
  214. package/mysql-core/query-builders/select.d.ts +39 -0
  215. package/mysql-core/query-builders/select.d.ts.map +1 -0
  216. package/mysql-core/query-builders/select.js +100 -0
  217. package/mysql-core/query-builders/select.js.map +1 -0
  218. package/mysql-core/query-builders/select.types.d.ts +82 -0
  219. package/mysql-core/query-builders/select.types.d.ts.map +1 -0
  220. package/mysql-core/query-builders/select.types.js +3 -0
  221. package/mysql-core/query-builders/select.types.js.map +1 -0
  222. package/mysql-core/query-builders/update.d.ts +44 -0
  223. package/mysql-core/query-builders/update.d.ts.map +1 -0
  224. package/mysql-core/query-builders/update.js +56 -0
  225. package/mysql-core/query-builders/update.js.map +1 -0
  226. package/mysql-core/session.d.ts +23 -0
  227. package/mysql-core/session.d.ts.map +1 -0
  228. package/mysql-core/session.js +19 -0
  229. package/mysql-core/session.js.map +1 -0
  230. package/mysql-core/table.d.ts +72 -0
  231. package/mysql-core/table.d.ts.map +1 -0
  232. package/mysql-core/table.js +92 -0
  233. package/mysql-core/table.js.map +1 -0
  234. package/mysql-core/utils.d.ts +24 -0
  235. package/mysql-core/utils.d.ts.map +1 -0
  236. package/mysql-core/utils.js +114 -0
  237. package/mysql-core/utils.js.map +1 -0
  238. package/mysql2/driver.d.ts +20 -0
  239. package/mysql2/driver.d.ts.map +1 -0
  240. package/mysql2/driver.js +26 -0
  241. package/mysql2/driver.js.map +1 -0
  242. package/mysql2/index.d.ts +3 -0
  243. package/mysql2/index.d.ts.map +1 -0
  244. package/mysql2/index.js +19 -0
  245. package/mysql2/index.js.map +1 -0
  246. package/mysql2/migrator.d.ts +4 -0
  247. package/mysql2/migrator.d.ts.map +1 -0
  248. package/mysql2/migrator.js +21 -0
  249. package/mysql2/migrator.js.map +1 -0
  250. package/mysql2/session.d.ts +30 -0
  251. package/mysql2/session.d.ts.map +1 -0
  252. package/mysql2/session.js +101 -0
  253. package/mysql2/session.js.map +1 -0
  254. package/neon/driver.d.ts +21 -0
  255. package/neon/driver.d.ts.map +1 -0
  256. package/neon/driver.js +32 -0
  257. package/neon/driver.js.map +1 -0
  258. package/neon/index.d.ts +3 -0
  259. package/neon/index.d.ts.map +1 -0
  260. package/neon/index.js +19 -0
  261. package/neon/index.js.map +1 -0
  262. package/neon/migrator.d.ts +4 -0
  263. package/neon/migrator.d.ts.map +1 -0
  264. package/neon/migrator.js +21 -0
  265. package/neon/migrator.js.map +1 -0
  266. package/neon/session.d.ts +35 -0
  267. package/neon/session.d.ts.map +1 -0
  268. package/neon/session.js +84 -0
  269. package/neon/session.js.map +1 -0
  270. package/node-postgres/driver.d.ts +21 -0
  271. package/node-postgres/driver.d.ts.map +1 -0
  272. package/node-postgres/driver.js +32 -0
  273. package/node-postgres/driver.js.map +1 -0
  274. package/node-postgres/index.d.ts +3 -0
  275. package/node-postgres/index.d.ts.map +1 -0
  276. package/node-postgres/index.js +19 -0
  277. package/node-postgres/index.js.map +1 -0
  278. package/node-postgres/migrator.d.ts +4 -0
  279. package/node-postgres/migrator.d.ts.map +1 -0
  280. package/node-postgres/migrator.js +21 -0
  281. package/node-postgres/migrator.js.map +1 -0
  282. package/node-postgres/session.d.ts +35 -0
  283. package/node-postgres/session.d.ts.map +1 -0
  284. package/node-postgres/session.js +84 -0
  285. package/node-postgres/session.js.map +1 -0
  286. package/package.json +60 -11
  287. package/pg-core/alias.d.ts +4 -0
  288. package/pg-core/alias.d.ts.map +1 -0
  289. package/pg-core/alias.js +9 -0
  290. package/pg-core/alias.js.map +1 -0
  291. package/pg-core/checks.d.ts +16 -0
  292. package/pg-core/checks.d.ts.map +1 -0
  293. package/pg-core/checks.js +27 -0
  294. package/pg-core/checks.js.map +1 -0
  295. package/pg-core/columns/bigint.d.ts +40 -0
  296. package/pg-core/columns/bigint.d.ts.map +1 -0
  297. package/pg-core/columns/bigint.js +47 -0
  298. package/pg-core/columns/bigint.js.map +1 -0
  299. package/pg-core/columns/bigserial.d.ts +48 -0
  300. package/pg-core/columns/bigserial.d.ts.map +1 -0
  301. package/pg-core/columns/bigserial.js +55 -0
  302. package/pg-core/columns/bigserial.js.map +1 -0
  303. package/pg-core/columns/boolean.d.ts +19 -0
  304. package/pg-core/columns/boolean.d.ts.map +1 -0
  305. package/pg-core/columns/boolean.js +22 -0
  306. package/pg-core/columns/boolean.js.map +1 -0
  307. package/pg-core/columns/common.d.ts +58 -0
  308. package/pg-core/columns/common.d.ts.map +1 -0
  309. package/pg-core/columns/common.js +56 -0
  310. package/pg-core/columns/common.js.map +1 -0
  311. package/pg-core/columns/custom.d.ts +109 -0
  312. package/pg-core/columns/custom.d.ts.map +1 -0
  313. package/pg-core/columns/custom.js +40 -0
  314. package/pg-core/columns/custom.js.map +1 -0
  315. package/pg-core/columns/date.common.d.ts +18 -0
  316. package/pg-core/columns/date.common.d.ts.map +1 -0
  317. package/pg-core/columns/date.common.js +21 -0
  318. package/pg-core/columns/date.common.js.map +1 -0
  319. package/pg-core/columns/date.d.ts +48 -0
  320. package/pg-core/columns/date.d.ts.map +1 -0
  321. package/pg-core/columns/date.js +51 -0
  322. package/pg-core/columns/date.js.map +1 -0
  323. package/pg-core/columns/double-precision.d.ts +25 -0
  324. package/pg-core/columns/double-precision.d.ts.map +1 -0
  325. package/pg-core/columns/double-precision.js +35 -0
  326. package/pg-core/columns/double-precision.js.map +1 -0
  327. package/pg-core/columns/enum.d.ts +62 -0
  328. package/pg-core/columns/enum.d.ts.map +1 -0
  329. package/pg-core/columns/enum.js +50 -0
  330. package/pg-core/columns/enum.js.map +1 -0
  331. package/pg-core/columns/index.d.ts +24 -0
  332. package/pg-core/columns/index.d.ts.map +1 -0
  333. package/pg-core/columns/index.js +41 -0
  334. package/pg-core/columns/index.js.map +1 -0
  335. package/pg-core/columns/integer.d.ts +20 -0
  336. package/pg-core/columns/integer.d.ts.map +1 -0
  337. package/pg-core/columns/integer.js +28 -0
  338. package/pg-core/columns/integer.js.map +1 -0
  339. package/pg-core/columns/interval.d.ts +32 -0
  340. package/pg-core/columns/interval.d.ts.map +1 -0
  341. package/pg-core/columns/interval.js +32 -0
  342. package/pg-core/columns/interval.js.map +1 -0
  343. package/pg-core/columns/json.d.ts +26 -0
  344. package/pg-core/columns/json.d.ts.map +1 -0
  345. package/pg-core/columns/json.js +42 -0
  346. package/pg-core/columns/json.js.map +1 -0
  347. package/pg-core/columns/jsonb.d.ts +26 -0
  348. package/pg-core/columns/jsonb.d.ts.map +1 -0
  349. package/pg-core/columns/jsonb.js +42 -0
  350. package/pg-core/columns/jsonb.js.map +1 -0
  351. package/pg-core/columns/numeric.d.ts +39 -0
  352. package/pg-core/columns/numeric.d.ts.map +1 -0
  353. package/pg-core/columns/numeric.js +41 -0
  354. package/pg-core/columns/numeric.js.map +1 -0
  355. package/pg-core/columns/real.d.ts +27 -0
  356. package/pg-core/columns/real.d.ts.map +1 -0
  357. package/pg-core/columns/real.js +35 -0
  358. package/pg-core/columns/real.js.map +1 -0
  359. package/pg-core/columns/serial.d.ts +22 -0
  360. package/pg-core/columns/serial.d.ts.map +1 -0
  361. package/pg-core/columns/serial.js +26 -0
  362. package/pg-core/columns/serial.js.map +1 -0
  363. package/pg-core/columns/smallint.d.ts +20 -0
  364. package/pg-core/columns/smallint.d.ts.map +1 -0
  365. package/pg-core/columns/smallint.js +31 -0
  366. package/pg-core/columns/smallint.js.map +1 -0
  367. package/pg-core/columns/smallserial.d.ts +22 -0
  368. package/pg-core/columns/smallserial.d.ts.map +1 -0
  369. package/pg-core/columns/smallserial.js +26 -0
  370. package/pg-core/columns/smallserial.js.map +1 -0
  371. package/pg-core/columns/text.d.ts +44 -0
  372. package/pg-core/columns/text.d.ts.map +1 -0
  373. package/pg-core/columns/text.js +31 -0
  374. package/pg-core/columns/text.js.map +1 -0
  375. package/pg-core/columns/time.d.ts +37 -0
  376. package/pg-core/columns/time.d.ts.map +1 -0
  377. package/pg-core/columns/time.js +35 -0
  378. package/pg-core/columns/time.js.map +1 -0
  379. package/pg-core/columns/timestamp.d.ts +65 -0
  380. package/pg-core/columns/timestamp.d.ts.map +1 -0
  381. package/pg-core/columns/timestamp.js +65 -0
  382. package/pg-core/columns/timestamp.js.map +1 -0
  383. package/pg-core/columns/uuid.d.ts +23 -0
  384. package/pg-core/columns/uuid.d.ts.map +1 -0
  385. package/pg-core/columns/uuid.js +29 -0
  386. package/pg-core/columns/uuid.js.map +1 -0
  387. package/pg-core/columns/varchar.d.ts +29 -0
  388. package/pg-core/columns/varchar.d.ts.map +1 -0
  389. package/pg-core/columns/varchar.js +30 -0
  390. package/pg-core/columns/varchar.js.map +1 -0
  391. package/pg-core/db.d.ts +18 -0
  392. package/pg-core/db.d.ts.map +1 -0
  393. package/pg-core/db.js +34 -0
  394. package/pg-core/db.js.map +1 -0
  395. package/pg-core/dialect.d.ts +30 -0
  396. package/pg-core/dialect.d.ts.map +1 -0
  397. package/pg-core/dialect.js +227 -0
  398. package/pg-core/dialect.js.map +1 -0
  399. package/pg-core/expressions.d.ts +9 -0
  400. package/pg-core/expressions.d.ts.map +1 -0
  401. package/pg-core/expressions.js +36 -0
  402. package/pg-core/expressions.js.map +1 -0
  403. package/pg-core/foreign-keys.d.ts +47 -0
  404. package/pg-core/foreign-keys.d.ts.map +1 -0
  405. package/pg-core/foreign-keys.js +66 -0
  406. package/pg-core/foreign-keys.js.map +1 -0
  407. package/pg-core/index.d.ts +11 -0
  408. package/pg-core/index.d.ts.map +1 -0
  409. package/pg-core/index.js +27 -0
  410. package/pg-core/index.js.map +1 -0
  411. package/pg-core/indexes.d.ts +75 -0
  412. package/pg-core/indexes.d.ts.map +1 -0
  413. package/pg-core/indexes.js +74 -0
  414. package/pg-core/indexes.js.map +1 -0
  415. package/pg-core/operations.d.ts +19 -0
  416. package/pg-core/operations.d.ts.map +1 -0
  417. package/pg-core/operations.js +3 -0
  418. package/pg-core/operations.js.map +1 -0
  419. package/pg-core/query-builders/delete.d.ts +29 -0
  420. package/pg-core/query-builders/delete.d.ts.map +1 -0
  421. package/pg-core/query-builders/delete.js +40 -0
  422. package/pg-core/query-builders/delete.js.map +1 -0
  423. package/pg-core/query-builders/index.d.ts +5 -0
  424. package/pg-core/query-builders/index.d.ts.map +1 -0
  425. package/pg-core/query-builders/index.js +21 -0
  426. package/pg-core/query-builders/index.js.map +1 -0
  427. package/pg-core/query-builders/insert.d.ts +52 -0
  428. package/pg-core/query-builders/insert.d.ts.map +1 -0
  429. package/pg-core/query-builders/insert.js +93 -0
  430. package/pg-core/query-builders/insert.js.map +1 -0
  431. package/pg-core/query-builders/select.d.ts +39 -0
  432. package/pg-core/query-builders/select.d.ts.map +1 -0
  433. package/pg-core/query-builders/select.js +100 -0
  434. package/pg-core/query-builders/select.js.map +1 -0
  435. package/pg-core/query-builders/select.types.d.ts +82 -0
  436. package/pg-core/query-builders/select.types.d.ts.map +1 -0
  437. package/pg-core/query-builders/select.types.js +3 -0
  438. package/pg-core/query-builders/select.types.js.map +1 -0
  439. package/pg-core/query-builders/update.d.ts +46 -0
  440. package/pg-core/query-builders/update.d.ts.map +1 -0
  441. package/pg-core/query-builders/update.js +51 -0
  442. package/pg-core/query-builders/update.js.map +1 -0
  443. package/pg-core/session.d.ts +28 -0
  444. package/pg-core/session.d.ts.map +1 -0
  445. package/pg-core/session.js +22 -0
  446. package/pg-core/session.js.map +1 -0
  447. package/pg-core/table.d.ts +48 -0
  448. package/pg-core/table.d.ts.map +1 -0
  449. package/pg-core/table.js +74 -0
  450. package/pg-core/table.js.map +1 -0
  451. package/pg-core/utils.d.ts +30 -0
  452. package/pg-core/utils.d.ts.map +1 -0
  453. package/pg-core/utils.js +111 -0
  454. package/pg-core/utils.js.map +1 -0
  455. package/postgres.js/driver.d.ts +10 -0
  456. package/postgres.js/driver.d.ts.map +1 -0
  457. package/postgres.js/driver.js +13 -0
  458. package/postgres.js/driver.js.map +1 -0
  459. package/postgres.js/index.d.ts +3 -0
  460. package/postgres.js/index.d.ts.map +1 -0
  461. package/postgres.js/index.js +19 -0
  462. package/postgres.js/index.js.map +1 -0
  463. package/postgres.js/migrator.d.ts +4 -0
  464. package/postgres.js/migrator.d.ts.map +1 -0
  465. package/postgres.js/migrator.js +21 -0
  466. package/postgres.js/migrator.js.map +1 -0
  467. package/postgres.js/session.d.ts +33 -0
  468. package/postgres.js/session.d.ts.map +1 -0
  469. package/postgres.js/session.js +58 -0
  470. package/postgres.js/session.js.map +1 -0
  471. package/sql.js/driver.d.ts +9 -0
  472. package/sql.js/driver.d.ts.map +1 -0
  473. package/sql.js/driver.js +13 -0
  474. package/sql.js/driver.js.map +1 -0
  475. package/sql.js/index.d.ts +3 -0
  476. package/sql.js/index.d.ts.map +1 -0
  477. package/sql.js/index.js +19 -0
  478. package/sql.js/index.js.map +1 -0
  479. package/sql.js/migrator.d.ts +4 -0
  480. package/sql.js/migrator.d.ts.map +1 -0
  481. package/sql.js/migrator.js +10 -0
  482. package/sql.js/migrator.js.map +1 -0
  483. package/sql.js/session.d.ts +40 -0
  484. package/sql.js/session.d.ts.map +1 -0
  485. package/sql.js/session.js +111 -0
  486. package/sql.js/session.js.map +1 -0
  487. package/sqlite-core/alias.d.ts +4 -0
  488. package/sqlite-core/alias.d.ts.map +1 -0
  489. package/sqlite-core/alias.js +9 -0
  490. package/sqlite-core/alias.js.map +1 -0
  491. package/sqlite-core/checks.d.ts +18 -0
  492. package/sqlite-core/checks.d.ts.map +1 -0
  493. package/sqlite-core/checks.js +26 -0
  494. package/sqlite-core/checks.js.map +1 -0
  495. package/sqlite-core/columns/blob.d.ts +41 -0
  496. package/sqlite-core/columns/blob.d.ts.map +1 -0
  497. package/sqlite-core/columns/blob.js +44 -0
  498. package/sqlite-core/columns/blob.js.map +1 -0
  499. package/sqlite-core/columns/common.d.ts +51 -0
  500. package/sqlite-core/columns/common.d.ts.map +1 -0
  501. package/sqlite-core/columns/common.js +56 -0
  502. package/sqlite-core/columns/common.js.map +1 -0
  503. package/sqlite-core/columns/index.d.ts +8 -0
  504. package/sqlite-core/columns/index.d.ts.map +1 -0
  505. package/sqlite-core/columns/index.js +25 -0
  506. package/sqlite-core/columns/index.js.map +1 -0
  507. package/sqlite-core/columns/integer.d.ts +94 -0
  508. package/sqlite-core/columns/integer.d.ts.map +1 -0
  509. package/sqlite-core/columns/integer.js +84 -0
  510. package/sqlite-core/columns/integer.js.map +1 -0
  511. package/sqlite-core/columns/numeric.d.ts +19 -0
  512. package/sqlite-core/columns/numeric.d.ts.map +1 -0
  513. package/sqlite-core/columns/numeric.js +25 -0
  514. package/sqlite-core/columns/numeric.js.map +1 -0
  515. package/sqlite-core/columns/real.d.ts +18 -0
  516. package/sqlite-core/columns/real.d.ts.map +1 -0
  517. package/sqlite-core/columns/real.js +22 -0
  518. package/sqlite-core/columns/real.js.map +1 -0
  519. package/sqlite-core/columns/text.d.ts +18 -0
  520. package/sqlite-core/columns/text.d.ts.map +1 -0
  521. package/sqlite-core/columns/text.js +22 -0
  522. package/sqlite-core/columns/text.js.map +1 -0
  523. package/sqlite-core/db.d.ts +24 -0
  524. package/sqlite-core/db.d.ts.map +1 -0
  525. package/sqlite-core/db.js +43 -0
  526. package/sqlite-core/db.js.map +1 -0
  527. package/sqlite-core/dialect.d.ts +35 -0
  528. package/sqlite-core/dialect.d.ts.map +1 -0
  529. package/sqlite-core/dialect.js +249 -0
  530. package/sqlite-core/dialect.js.map +1 -0
  531. package/sqlite-core/expressions.d.ts +10 -0
  532. package/sqlite-core/expressions.d.ts.map +1 -0
  533. package/sqlite-core/expressions.js +40 -0
  534. package/sqlite-core/expressions.js.map +1 -0
  535. package/sqlite-core/foreign-keys.d.ts +47 -0
  536. package/sqlite-core/foreign-keys.d.ts.map +1 -0
  537. package/sqlite-core/foreign-keys.js +62 -0
  538. package/sqlite-core/foreign-keys.js.map +1 -0
  539. package/sqlite-core/index.d.ts +11 -0
  540. package/sqlite-core/index.d.ts.map +1 -0
  541. package/sqlite-core/index.js +27 -0
  542. package/sqlite-core/index.js.map +1 -0
  543. package/sqlite-core/indexes.d.ts +39 -0
  544. package/sqlite-core/indexes.d.ts.map +1 -0
  545. package/sqlite-core/indexes.js +50 -0
  546. package/sqlite-core/indexes.js.map +1 -0
  547. package/sqlite-core/operations.d.ts +19 -0
  548. package/sqlite-core/operations.d.ts.map +1 -0
  549. package/sqlite-core/operations.js +3 -0
  550. package/sqlite-core/operations.js.map +1 -0
  551. package/sqlite-core/primary-keys.d.ts +16 -0
  552. package/sqlite-core/primary-keys.d.ts.map +1 -0
  553. package/sqlite-core/primary-keys.js +29 -0
  554. package/sqlite-core/primary-keys.js.map +1 -0
  555. package/sqlite-core/query-builders/delete.d.ts +35 -0
  556. package/sqlite-core/query-builders/delete.d.ts.map +1 -0
  557. package/sqlite-core/query-builders/delete.js +45 -0
  558. package/sqlite-core/query-builders/delete.js.map +1 -0
  559. package/sqlite-core/query-builders/index.d.ts +5 -0
  560. package/sqlite-core/query-builders/index.d.ts.map +1 -0
  561. package/sqlite-core/query-builders/index.js +21 -0
  562. package/sqlite-core/query-builders/index.js.map +1 -0
  563. package/sqlite-core/query-builders/insert.d.ts +57 -0
  564. package/sqlite-core/query-builders/insert.d.ts.map +1 -0
  565. package/sqlite-core/query-builders/insert.js +85 -0
  566. package/sqlite-core/query-builders/insert.js.map +1 -0
  567. package/sqlite-core/query-builders/select.d.ts +44 -0
  568. package/sqlite-core/query-builders/select.d.ts.map +1 -0
  569. package/sqlite-core/query-builders/select.js +105 -0
  570. package/sqlite-core/query-builders/select.js.map +1 -0
  571. package/sqlite-core/query-builders/select.types.d.ts +82 -0
  572. package/sqlite-core/query-builders/select.types.d.ts.map +1 -0
  573. package/sqlite-core/query-builders/select.types.js +3 -0
  574. package/sqlite-core/query-builders/select.types.js.map +1 -0
  575. package/sqlite-core/query-builders/update.d.ts +50 -0
  576. package/sqlite-core/query-builders/update.d.ts.map +1 -0
  577. package/sqlite-core/query-builders/update.js +55 -0
  578. package/sqlite-core/query-builders/update.js.map +1 -0
  579. package/sqlite-core/session.d.ts +47 -0
  580. package/sqlite-core/session.d.ts.map +1 -0
  581. package/sqlite-core/session.js +28 -0
  582. package/sqlite-core/session.js.map +1 -0
  583. package/sqlite-core/table.d.ts +44 -0
  584. package/sqlite-core/table.d.ts.map +1 -0
  585. package/sqlite-core/table.js +78 -0
  586. package/sqlite-core/table.js.map +1 -0
  587. package/sqlite-core/unique-constraint.d.ts +25 -0
  588. package/sqlite-core/unique-constraint.d.ts.map +1 -0
  589. package/sqlite-core/unique-constraint.js +27 -0
  590. package/sqlite-core/unique-constraint.js.map +1 -0
  591. package/sqlite-core/utils.d.ts +10 -0
  592. package/sqlite-core/utils.d.ts.map +1 -0
  593. package/sqlite-core/utils.js +71 -0
  594. package/sqlite-core/utils.js.map +1 -0
  595. package/utils.d.ts +1 -0
  596. package/utils.d.ts.map +1 -1
  597. package/connection.d.ts.map +0 -1
  598. package/connection.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/mysql-core/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAE3C;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;CACnD;AAED,oBAAY,WAAW,GAAG,cAAc,GAAG,GAAG,CAAC;AAE/C,qBAAa,cAAc;IACd,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,MAAM;gBAA5B,IAAI,EAAE,MAAM,EAAU,MAAM,EAAE,OAAO;IAEzD,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,GAAG,YAAY;CAG7D;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;CAAG;AAExD,qBAAa,YAAa,YAAW,eAAe;IACnD,UAAkB,MAAM,EAAE,mBAAmB,CAAC;gBAKlC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO;IAQjE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAKvD,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;IAKvE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;CASnD;AAED,qBAAa,KAAK;IACjB,UAAkB,MAAM,EAAE,YAAY,CAAC;IAEvC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,CAAC;gBAE5C,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa;CAGrD;AAED,oBAAY,mBAAmB,CAAC,QAAQ,IAAI,QAAQ,SACnD,cAAc,CAAC;IAAE,SAAS,EAAE,MAAM,UAAU,SAAS,MAAM,CAAA;CAAE,CAAC,GAAG,cAAc,CAC9E;IAAE,SAAS,EAAE,MAAM,UAAU,SAAS,MAAM,CAAA;CAAE,CAC9C,EAAE,GAAG,UAAU,GACd,KAAK,CAAC;AAET,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAElD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAExD"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uniqueIndex = exports.index = exports.Index = exports.IndexBuilder = exports.IndexBuilderOn = void 0;
4
+ class IndexBuilderOn {
5
+ constructor(name, unique) {
6
+ this.name = name;
7
+ this.unique = unique;
8
+ }
9
+ on(...columns) {
10
+ return new IndexBuilder(this.name, columns, this.unique);
11
+ }
12
+ }
13
+ exports.IndexBuilderOn = IndexBuilderOn;
14
+ class IndexBuilder {
15
+ constructor(name, columns, unique) {
16
+ this.config = {
17
+ name,
18
+ columns,
19
+ unique,
20
+ };
21
+ }
22
+ using(using) {
23
+ this.config.using = using;
24
+ return this;
25
+ }
26
+ algorythm(algorythm) {
27
+ this.config.algorythm = algorythm;
28
+ return this;
29
+ }
30
+ lock(lock) {
31
+ this.config.lock = lock;
32
+ return this;
33
+ }
34
+ /** @internal */
35
+ build(table) {
36
+ return new Index(this.config, table);
37
+ }
38
+ }
39
+ exports.IndexBuilder = IndexBuilder;
40
+ class Index {
41
+ constructor(config, table) {
42
+ this.config = Object.assign(Object.assign({}, config), { table });
43
+ }
44
+ }
45
+ exports.Index = Index;
46
+ function index(name) {
47
+ return new IndexBuilderOn(name, false);
48
+ }
49
+ exports.index = index;
50
+ function uniqueIndex(name) {
51
+ return new IndexBuilderOn(name, true);
52
+ }
53
+ exports.uniqueIndex = uniqueIndex;
54
+ //# sourceMappingURL=indexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/mysql-core/indexes.ts"],"names":[],"mappings":";;;AAgCA,MAAa,cAAc;IAC1B,YAAoB,IAAY,EAAU,MAAe;QAArC,SAAI,GAAJ,IAAI,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAE7D,EAAE,CAAC,GAAG,OAAwC;QAC7C,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;CACD;AAND,wCAMC;AAQD,MAAa,YAAY;IAMxB,YAAY,IAAY,EAAE,OAAsB,EAAE,MAAe;QAChE,IAAI,CAAC,MAAM,GAAG;YACb,IAAI;YACJ,OAAO;YACP,MAAM;SACN,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAA2B;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS,CAAC,SAAmC;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAyB;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,KAAoB;QACzB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;CACD;AAjCD,oCAiCC;AAED,MAAa,KAAK;IAKjB,YAAY,MAAmB,EAAE,KAAoB;QACpD,IAAI,CAAC,MAAM,mCAAQ,MAAM,KAAE,KAAK,GAAE,CAAC;IACpC,CAAC;CACD;AARD,sBAQC;AAQD,SAAgB,KAAK,CAAC,IAAY;IACjC,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAFD,sBAEC;AAED,SAAgB,WAAW,CAAC,IAAY;IACvC,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAFD,kCAEC"}
@@ -0,0 +1,19 @@
1
+ import { GetColumnData } from '../column';
2
+ import { SelectFieldsOrdered as SelectFieldsOrderedBase } from '../operations';
3
+ import { SQL, SQLResponse } from '../sql';
4
+ import { Simplify } from '../utils';
5
+ import { AnyMySqlColumn } from './columns/common';
6
+ import { AnyMySqlTable, GetTableConfig } from './table';
7
+ export declare type SelectFields = {
8
+ [Key: string]: SQL | SQLResponse | AnyMySqlColumn | SelectFields | AnyMySqlTable;
9
+ };
10
+ export declare type SelectFieldsOrdered = (Omit<SelectFieldsOrderedBase[number], 'column'> & {
11
+ field: AnyMySqlColumn | SQL | SQLResponse;
12
+ })[];
13
+ export declare type SelectResultField<T> = T extends AnyMySqlTable ? SelectResultField<GetTableConfig<T, 'columns'>> : T extends AnyMySqlColumn ? GetColumnData<T> : T extends SQLResponse<infer TDriverParam> ? TDriverParam : T extends SQL ? unknown : T extends Record<string, any> ? {
14
+ [Key in keyof T]: SelectResultField<T[Key]>;
15
+ } : never;
16
+ export declare type SelectResultFields<TSelectedFields extends SelectFields> = Simplify<{
17
+ [Key in keyof TSelectedFields & string]: SelectResultField<TSelectedFields[Key]>;
18
+ }>;
19
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/mysql-core/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExD,oBAAY,YAAY,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;CACjF,CAAC;AAEF,oBAAY,mBAAmB,GAAG,CAC/B,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAC/C;IAAE,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG,WAAW,CAAA;CAAE,CAC/C,EAAE,CAAC;AAEJ,oBAAY,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GACzG,CAAC,SAAS,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,GAC3C,CAAC,SAAS,WAAW,CAAC,MAAM,YAAY,CAAC,GAAG,YAAY,GACxD,CAAC,SAAS,GAAG,GAAG,OAAO,GACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAAE,GAC/E,KAAK,CAAC;AAET,oBAAY,kBAAkB,CAAC,eAAe,SAAS,YAAY,IAAI,QAAQ,CAC9E;KACE,GAAG,IAAI,MAAM,eAAe,GAAG,MAAM,GAAG,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;CAChF,CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/mysql-core/operations.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { MySqlDialect } from '../dialect';
2
+ import { SelectFieldsOrdered } from '../operations';
3
+ import { MySqlRawQueryResult, MySqlSession, PreparedQuery, PreparedQueryConfig } from '../session';
4
+ import { AnyMySqlTable } from '../table';
5
+ import { QueryPromise } from '../../query-promise';
6
+ import { Query, SQL, SQLWrapper } from '../../sql';
7
+ export interface MySqlDeleteConfig {
8
+ where?: SQL | undefined;
9
+ table: AnyMySqlTable;
10
+ returning?: SelectFieldsOrdered;
11
+ }
12
+ export interface MySqlDelete<TTable extends AnyMySqlTable, TReturning = undefined> extends QueryPromise<MySqlRawQueryResult> {
13
+ }
14
+ export declare class MySqlDelete<TTable extends AnyMySqlTable, TReturning = undefined> extends QueryPromise<MySqlRawQueryResult> implements SQLWrapper {
15
+ private table;
16
+ private session;
17
+ private dialect;
18
+ private config;
19
+ constructor(table: TTable, session: MySqlSession, dialect: MySqlDialect);
20
+ where(where: SQL | undefined): Omit<this, 'where'>;
21
+ toSQL(): Query;
22
+ private _prepare;
23
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
24
+ execute: MySqlRawQueryResult;
25
+ }>;
26
+ execute: ReturnType<this['prepare']>['execute'];
27
+ }
28
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IACjC,KAAK,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,MAAM,WAAW,WAAW,CAC3B,MAAM,SAAS,aAAa,EAC5B,UAAU,GAAG,SAAS,CACrB,SAAQ,YAAY,CAAC,mBAAmB,CAAC;CAAG;AAE9C,qBAAa,WAAW,CACvB,MAAM,SAAS,aAAa,EAC5B,UAAU,GAAG,SAAS,CACrB,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,UAAU;IAI/D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IALhB,OAAO,CAAC,MAAM,CAAoB;gBAGzB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY;IAM9B,KAAK,CACJ,KAAK,EAAE,GAAG,GAAG,SAAS,GACpB,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAqBtB,KAAK,IAAI,KAAK;IAId,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CACnC,mBAAmB,GAAG;QACrB,OAAO,EAAE,mBAAmB,CAAC;KAC7B,CACD;IAIQ,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAEtD;CACF"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MySqlDelete = void 0;
4
+ const query_promise_1 = require("../../query-promise");
5
+ class MySqlDelete extends query_promise_1.QueryPromise {
6
+ constructor(table, session, dialect) {
7
+ super();
8
+ this.table = table;
9
+ this.session = session;
10
+ this.dialect = dialect;
11
+ this.execute = (placeholderValues) => {
12
+ return this._prepare().execute(placeholderValues);
13
+ };
14
+ this.config = { table };
15
+ }
16
+ where(where) {
17
+ this.config.where = where;
18
+ return this;
19
+ }
20
+ // returning(): Omit<MySqlDelete<TTable, InferModel<TTable>>, 'where' | 'returning'>;
21
+ // returning<TSelectedFields extends SelectFields>(
22
+ // fields: TSelectedFields,
23
+ // ): Omit<MySqlDelete<TTable, SelectResultFields<TSelectedFields>>, 'where' | 'returning'>;
24
+ // returning(
25
+ // fields: SelectFields = this.config.table[MySqlTable.Symbol.Columns],
26
+ // ): Omit<MySqlDelete<TTable, any>, 'where' | 'returning'> {
27
+ // this.config.returning = orderSelectedFields(fields);
28
+ // return this;
29
+ // }
30
+ /** @internal */
31
+ getSQL() {
32
+ return this.dialect.buildDeleteQuery(this.config);
33
+ }
34
+ toSQL() {
35
+ return this.dialect.sqlToQuery(this.getSQL());
36
+ }
37
+ _prepare(name) {
38
+ return this.session.prepareQuery(this.toSQL(), this.config.returning, name);
39
+ }
40
+ prepare(name) {
41
+ return this._prepare(name);
42
+ }
43
+ }
44
+ exports.MySqlDelete = MySqlDelete;
45
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/delete.ts"],"names":[],"mappings":";;;AAIA,mDAA+C;AAc/C,MAAa,WAGX,SAAQ,4BAAiC;IAG1C,YACS,KAAa,EACb,OAAqB,EACrB,OAAqB;QAE7B,KAAK,EAAE,CAAC;QAJA,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAc;QACrB,YAAO,GAAP,OAAO,CAAc;QAiDrB,YAAO,GAA2C,CAAC,iBAAiB,EAAE,EAAE;YAChF,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAC;QAhDD,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CACJ,KAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,qFAAqF;IACrF,mDAAmD;IACnD,4BAA4B;IAC5B,4FAA4F;IAC5F,aAAa;IACb,wEAAwE;IACxE,6DAA6D;IAC7D,wDAAwD;IACxD,gBAAgB;IAChB,IAAI;IAEJ,gBAAgB;IAChB,MAAM;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEO,QAAQ,CAAC,IAAa;QAK7B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CAAC,IAAY;QAKnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CAKD;AA7DD,kCA6DC"}
@@ -0,0 +1,5 @@
1
+ export * from './select';
2
+ export * from './update';
3
+ export * from './insert';
4
+ export * from './delete';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./select"), exports);
18
+ __exportStar(require("./update"), exports);
19
+ __exportStar(require("./insert"), exports);
20
+ __exportStar(require("./delete"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB"}
@@ -0,0 +1,44 @@
1
+ import { MySqlDialect } from '../dialect';
2
+ import { SelectFieldsOrdered } from '../operations';
3
+ import { MySqlRawQueryResult, MySqlSession, PreparedQuery, PreparedQueryConfig } from '../session';
4
+ import { AnyMySqlTable, InferModel } from '../table';
5
+ import { QueryPromise } from '../../query-promise';
6
+ import { Param, Placeholder, Query, SQL, SQLWrapper } from '../../sql';
7
+ import { MySqlUpdateSetSource } from './update';
8
+ export interface MySqlInsertConfig<TTable extends AnyMySqlTable = AnyMySqlTable> {
9
+ table: TTable;
10
+ values: Record<string, Param | SQL>[];
11
+ onConflict?: SQL;
12
+ returning?: SelectFieldsOrdered;
13
+ }
14
+ export declare type AnyMySqlInsertConfig = MySqlInsertConfig<AnyMySqlTable>;
15
+ export declare type MySqlInsertValue<TTable extends AnyMySqlTable> = {
16
+ [Key in keyof InferModel<TTable, 'insert'>]: InferModel<TTable, 'insert'>[Key] | SQL | Placeholder;
17
+ };
18
+ export declare class MySqlInsertBuilder<TTable extends AnyMySqlTable> {
19
+ private table;
20
+ private session;
21
+ private dialect;
22
+ constructor(table: TTable, session: MySqlSession, dialect: MySqlDialect);
23
+ values(...values: MySqlInsertValue<TTable>[]): MySqlInsert<TTable>;
24
+ }
25
+ export interface MySqlInsert<TTable extends AnyMySqlTable, TReturning = undefined> extends QueryPromise<MySqlRawQueryResult>, SQLWrapper {
26
+ }
27
+ export declare class MySqlInsert<TTable extends AnyMySqlTable, TReturning = undefined> extends QueryPromise<MySqlRawQueryResult> implements SQLWrapper {
28
+ private session;
29
+ private dialect;
30
+ protected $table: TTable;
31
+ protected $return: TReturning;
32
+ private config;
33
+ constructor(table: TTable, values: MySqlInsertConfig['values'], session: MySqlSession, dialect: MySqlDialect);
34
+ onDuplicateKeyUpdate(config: {
35
+ set: MySqlUpdateSetSource<TTable>;
36
+ }): this;
37
+ toSQL(): Query;
38
+ private _prepare;
39
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
40
+ execute: MySqlRawQueryResult;
41
+ }>;
42
+ execute: ReturnType<this['prepare']>['execute'];
43
+ }
44
+ //# sourceMappingURL=insert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/insert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAO,UAAU,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,oBAAY,oBAAoB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAEpE,oBAAY,gBAAgB,CAAC,MAAM,SAAS,aAAa,IAAI;KAC3D,GAAG,IAAI,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,WAAW;CAClG,CAAC;AAEF,qBAAa,kBAAkB,CAAC,MAAM,SAAS,aAAa;IAE1D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAFP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY;IAG9B,MAAM,CAAC,GAAG,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;CAiBlE;AAED,MAAM,WAAW,WAAW,CAAC,MAAM,SAAS,aAAa,EAAE,UAAU,GAAG,SAAS,CAChF,SAAQ,YAAY,CAAC,mBAAmB,CAAC,EAAE,UAAU;CACpD;AACF,qBAAa,WAAW,CAAC,MAAM,SAAS,aAAa,EAAE,UAAU,GAAG,SAAS,CAAE,SAAQ,YAAY,CAAC,mBAAmB,CACtH,YAAW,UAAU;IAUpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAThB,UAAkB,MAAM,EAAE,MAAM,CAAC;IACjC,UAAkB,OAAO,EAAE,UAAU,CAAC;IAEtC,OAAO,CAAC,MAAM,CAA4B;gBAGzC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY;IAuB9B,oBAAoB,CAAC,MAAM,EAAE;QAE5B,GAAG,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;KAClC,GAAG,IAAI;IAWR,KAAK,IAAI,KAAK;IAId,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CACnC,mBAAmB,GAAG;QACrB,OAAO,EAAE,mBAAmB,CAAC;KAC7B,CACD;IAIQ,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAEtD;CACF"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MySqlInsert = exports.MySqlInsertBuilder = void 0;
4
+ const utils_1 = require("../utils");
5
+ const query_promise_1 = require("../../query-promise");
6
+ const sql_1 = require("../../sql");
7
+ const table_1 = require("../../table");
8
+ class MySqlInsertBuilder {
9
+ constructor(table, session, dialect) {
10
+ this.table = table;
11
+ this.session = session;
12
+ this.dialect = dialect;
13
+ }
14
+ values(...values) {
15
+ const mappedValues = values.map((entry) => {
16
+ const result = {};
17
+ const cols = this.table[table_1.Table.Symbol.Columns];
18
+ for (const colKey of Object.keys(entry)) {
19
+ const colValue = entry[colKey];
20
+ if (colValue instanceof sql_1.SQL) {
21
+ result[colKey] = colValue;
22
+ }
23
+ else {
24
+ result[colKey] = new sql_1.Param(colValue, cols[colKey]);
25
+ }
26
+ }
27
+ return result;
28
+ });
29
+ return new MySqlInsert(this.table, mappedValues, this.session, this.dialect);
30
+ }
31
+ }
32
+ exports.MySqlInsertBuilder = MySqlInsertBuilder;
33
+ class MySqlInsert extends query_promise_1.QueryPromise {
34
+ constructor(table, values, session, dialect) {
35
+ super();
36
+ this.session = session;
37
+ this.dialect = dialect;
38
+ this.execute = (placeholderValues) => {
39
+ return this._prepare().execute(placeholderValues);
40
+ };
41
+ this.config = { table, values };
42
+ }
43
+ // onDuplicateDoUpdate(
44
+ // target:
45
+ // | SQL<GetTableConfig<TTable, 'name'>>
46
+ // | ((constraints: GetTableConflictConstraints<TTable>) => Check<GetTableConfig<TTable, 'name'>>),
47
+ // set: MySqlUpdateSet<TTable>,
48
+ // ): Pick<this, 'returning' | 'getQuery' | 'execute'> {
49
+ // const setSql = this.dialect.buildUpdateSet<GetTableConfig<TTable, 'name'>>(this.config.table, set);
50
+ // if (target instanceof SQL) {
51
+ // this.config.onConflict = sql<GetTableConfig<TTable, 'name'>>`${target} do update set ${setSql}`;
52
+ // } else {
53
+ // const targetSql = new Name(target(this.config.table[tableConflictConstraints]).name);
54
+ // this.config.onConflict = sql`on constraint ${targetSql} do update set ${setSql}`;
55
+ // }
56
+ // return this;
57
+ // }
58
+ onDuplicateKeyUpdate(config) {
59
+ const setSql = this.dialect.buildUpdateSet(this.config.table, (0, utils_1.mapUpdateSet)(this.config.table, config.set));
60
+ this.config.onConflict = (0, sql_1.sql) `update ${setSql}`;
61
+ return this;
62
+ }
63
+ /** @internal */
64
+ getSQL() {
65
+ return this.dialect.buildInsertQuery(this.config);
66
+ }
67
+ toSQL() {
68
+ return this.dialect.sqlToQuery(this.getSQL());
69
+ }
70
+ _prepare(name) {
71
+ return this.session.prepareQuery(this.toSQL(), this.config.returning, name);
72
+ }
73
+ prepare(name) {
74
+ return this._prepare(name);
75
+ }
76
+ }
77
+ exports.MySqlInsert = MySqlInsert;
78
+ //# sourceMappingURL=insert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/insert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { AnyMySqlColumn } from '../columns/common';
2
+ import { MySqlDialect } from '../dialect';
3
+ import { SelectFields } from '../operations';
4
+ import { MySqlSession, PreparedQuery, PreparedQueryConfig } from '../session';
5
+ import { AnyMySqlTable, GetTableConfig, InferModel } from '../table';
6
+ import { QueryPromise } from '../../query-promise';
7
+ import { Query, SQL, SQLWrapper } from '../../sql';
8
+ import { JoinFn, JoinNullability, JoinType, MySqlSelectConfig, SelectMode, SelectResult } from './select.types';
9
+ export interface MySqlSelect<TTable extends AnyMySqlTable, TResult = InferModel<TTable>, TSelectMode extends SelectMode = 'single', TJoinsNotNullable extends Record<string, JoinNullability> = Record<GetTableConfig<TTable, 'name'>, 'not-null'>> extends QueryPromise<SelectResult<TResult, TSelectMode, TJoinsNotNullable>[]>, SQLWrapper {
10
+ }
11
+ export declare class MySqlSelect<TTable extends AnyMySqlTable, TResult = InferModel<TTable>, TSelectMode extends SelectMode = 'single', TJoinsNotNullable extends Record<string, JoinNullability> = Record<GetTableConfig<TTable, 'name'>, 'not-null'>> extends QueryPromise<SelectResult<TResult, TSelectMode, TJoinsNotNullable>[]> implements SQLWrapper {
12
+ private session;
13
+ private dialect;
14
+ protected $table: TTable;
15
+ protected $selectMode: TSelectMode;
16
+ protected $result: TResult;
17
+ private config;
18
+ private isPartialSelect;
19
+ private joinsNotNullable;
20
+ constructor(table: MySqlSelectConfig['table'], fields: MySqlSelectConfig['fields'], session: MySqlSession, dialect: MySqlDialect);
21
+ private createJoin;
22
+ leftJoin: JoinFn<TTable, TSelectMode, "left", TResult, TJoinsNotNullable>;
23
+ rightJoin: JoinFn<TTable, TSelectMode, "right", TResult, TJoinsNotNullable>;
24
+ innerJoin: JoinFn<TTable, TSelectMode, "inner", TResult, TJoinsNotNullable>;
25
+ fullJoin: JoinFn<TTable, TSelectMode, "full", TResult, TJoinsNotNullable>;
26
+ fields<TSelect extends SelectFields>(fields: TSelect): Omit<MySqlSelect<TTable, TSelect, 'partial', TJoinsNotNullable>, 'fields'>;
27
+ where(where: SQL | undefined): Omit<this, 'where' | `${JoinType}Join`>;
28
+ groupBy(...columns: (AnyMySqlColumn | SQL)[]): Omit<this, 'where' | `${JoinType}Join`>;
29
+ orderBy(...columns: SQL[]): Omit<this, 'where' | `${JoinType}Join` | 'orderBy'>;
30
+ limit(limit: number): Omit<this, 'where' | `${JoinType}Join` | 'limit'>;
31
+ offset(offset: number): Omit<this, 'where' | `${JoinType}Join` | 'offset'>;
32
+ toSQL(): Query;
33
+ private _prepare;
34
+ prepare(name: string): PreparedQuery<PreparedQueryConfig & {
35
+ execute: SelectResult<TResult, TSelectMode, TJoinsNotNullable>[];
36
+ }>;
37
+ execute: ReturnType<this['prepare']>['execute'];
38
+ }
39
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MySqlSelect = void 0;
4
+ const utils_1 = require("../utils");
5
+ const query_promise_1 = require("../../query-promise");
6
+ const table_1 = require("../../table");
7
+ class MySqlSelect extends query_promise_1.QueryPromise {
8
+ constructor(table, fields, session, dialect) {
9
+ super();
10
+ this.session = session;
11
+ this.dialect = dialect;
12
+ this.isPartialSelect = false;
13
+ this.leftJoin = this.createJoin('left');
14
+ this.rightJoin = this.createJoin('right');
15
+ this.innerJoin = this.createJoin('inner');
16
+ this.fullJoin = this.createJoin('full');
17
+ this.execute = (placeholderValues) => {
18
+ return this._prepare().execute(placeholderValues);
19
+ };
20
+ this.config = {
21
+ table,
22
+ fields,
23
+ joins: {},
24
+ orderBy: [],
25
+ groupBy: [],
26
+ };
27
+ this.joinsNotNullable = { [table[table_1.Table.Symbol.Name]]: true };
28
+ }
29
+ createJoin(joinType) {
30
+ return (table, on) => {
31
+ const tableName = table[table_1.Table.Symbol.Name];
32
+ if (!this.isPartialSelect) {
33
+ // If this is the first join and this is not a partial select, "move" the fields from the main table to the nested object
34
+ if (Object.keys(this.joinsNotNullable).length === 1) {
35
+ this.config.fields = this.config.fields.map((field) => (Object.assign(Object.assign({}, field), { path: [this.config.table[table_1.Table.Symbol.Name], ...field.path] })));
36
+ }
37
+ this.config.fields.push(...(0, utils_1.orderSelectedFields)(table[table_1.Table.Symbol.Columns], [tableName]));
38
+ }
39
+ this.config.joins[tableName] = { on, table, joinType };
40
+ switch (joinType) {
41
+ case 'left':
42
+ this.joinsNotNullable[tableName] = false;
43
+ break;
44
+ case 'right':
45
+ this.joinsNotNullable = Object.fromEntries(Object.entries(this.joinsNotNullable).map(([key]) => [key, false]));
46
+ this.joinsNotNullable[tableName] = true;
47
+ break;
48
+ case 'inner':
49
+ this.joinsNotNullable = Object.fromEntries(Object.entries(this.joinsNotNullable).map(([key]) => [key, true]));
50
+ this.joinsNotNullable[tableName] = true;
51
+ break;
52
+ case 'full':
53
+ this.joinsNotNullable = Object.fromEntries(Object.entries(this.joinsNotNullable).map(([key]) => [key, false]));
54
+ this.joinsNotNullable[tableName] = false;
55
+ break;
56
+ }
57
+ return this;
58
+ };
59
+ }
60
+ fields(fields) {
61
+ this.config.fields = (0, utils_1.orderSelectedFields)(fields);
62
+ this.isPartialSelect = true;
63
+ return this;
64
+ }
65
+ where(where) {
66
+ this.config.where = where;
67
+ return this;
68
+ }
69
+ groupBy(...columns) {
70
+ this.config.groupBy = columns;
71
+ return this;
72
+ }
73
+ orderBy(...columns) {
74
+ this.config.orderBy = columns;
75
+ return this;
76
+ }
77
+ limit(limit) {
78
+ this.config.limit = limit;
79
+ return this;
80
+ }
81
+ offset(offset) {
82
+ this.config.offset = offset;
83
+ return this;
84
+ }
85
+ /** @internal */
86
+ getSQL() {
87
+ return this.dialect.buildSelectQuery(this.config);
88
+ }
89
+ toSQL() {
90
+ return this.dialect.sqlToQuery(this.getSQL());
91
+ }
92
+ _prepare(name) {
93
+ return this.session.prepareQuery(this.toSQL(), this.config.fields, name);
94
+ }
95
+ prepare(name) {
96
+ return this._prepare(name);
97
+ }
98
+ }
99
+ exports.MySqlSelect = MySqlSelect;
100
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { GetColumnConfig } from '../../column';
2
+ import { Placeholder, SQL, SQLResponse } from '../../sql';
3
+ import { Simplify } from '../../utils';
4
+ import { AnyMySqlColumn } from '../columns';
5
+ import { ChangeColumnTableName } from '../columns/common';
6
+ import { SelectFields, SelectFieldsOrdered, SelectResultField, SelectResultFields } from '../operations';
7
+ import { AnyMySqlTable, GetTableConfig, MySqlTableWithColumns, TableConfig, UpdateTableConfig } from '../table';
8
+ import { MySqlSelect } from './select';
9
+ export declare type JoinType = 'inner' | 'left' | 'right' | 'full';
10
+ export declare type SelectMode = 'partial' | 'single' | 'multiple';
11
+ export interface JoinsValue {
12
+ on: SQL;
13
+ table: AnyMySqlTable;
14
+ joinType: JoinType;
15
+ }
16
+ export declare type JoinNullability = 'nullable' | 'null' | 'not-null';
17
+ export declare type ApplyNullability<T, TNullability extends JoinNullability> = TNullability extends 'nullable' ? T | null : TNullability extends 'null' ? null : T;
18
+ export declare type ApplyNullabilityNested<T, TNullability extends JoinNullability> = T extends Record<string, any> ? {
19
+ [Key in keyof T]: ApplyNullabilityNested<T[Key], TNullability>;
20
+ } : ApplyNullability<T, TNullability>;
21
+ export declare type ApplyNotNullMapToJoins<TResult, TJoinsNotNullable extends Record<string, JoinNullability>> = TJoinsNotNullable extends TJoinsNotNullable ? {
22
+ [TTableName in keyof TResult & keyof TJoinsNotNullable & string]: ApplyNullability<TResult[TTableName], TJoinsNotNullable[TTableName]>;
23
+ } : never;
24
+ export declare type SelectResult<TResult, TSelectMode extends SelectMode, TJoinsNotNullable extends Record<string, JoinNullability>> = TSelectMode extends 'partial' ? SelectPartialResult<TResult, TJoinsNotNullable> : TSelectMode extends 'single' ? TResult : RemoveDuplicates<Simplify<ApplyNotNullMapToJoins<TResult, TJoinsNotNullable>>>;
25
+ declare type GetNullableKeys<T extends Record<string, JoinNullability>> = {
26
+ [Key in keyof T]: T[Key] extends 'nullable' ? Key : never;
27
+ }[keyof T];
28
+ declare type SplitNullability<T extends Record<string, JoinNullability>> = RemoveDuplicates<'nullable' extends T[keyof T] ? T extends T ? GetNullableKeys<T> extends infer TKey extends string ? [TKey] extends [TKey] ? TKey extends TKey ? Simplify<SplitNullability<Omit<T, TKey>> & {
29
+ [Key in TKey]: 'not-null';
30
+ }> | Simplify<SplitNullability<Omit<T, TKey>> & {
31
+ [Key in TKey]: 'null';
32
+ }> : never : never : T : never : T>;
33
+ declare type SelectPartialResult<TFields, TNullability extends Record<string, JoinNullability>> = SplitNullability<TNullability> extends infer TNullability extends Record<string, JoinNullability> ? TNullability extends TNullability ? {
34
+ [Key in keyof TFields as Key extends string ? Key : never]: TFields[Key] extends infer TField ? TField extends AnyMySqlTable ? SelectPartialResult<GetTableConfig<TField, 'columns'>, TNullability> : TField extends AnyMySqlColumn ? GetColumnConfig<TField, 'tableName'> extends infer TTableName extends keyof TNullability ? ApplyNullability<SelectResultField<TField>, TNullability[TTableName]> : never : TField extends SQL | SQLResponse ? SelectResultField<TField> : TField extends Record<string, any> ? SelectPartialResult<TField, TNullability> : SelectResultField<TField> : never;
35
+ } : never : never;
36
+ export declare type AnyMySqlSelect = MySqlSelect<any, any, any, any>;
37
+ export declare type BuildAliasTable<TTable extends AnyMySqlTable, TAlias extends string> = GetTableConfig<TTable> extends infer TConfig extends TableConfig ? MySqlTableWithColumns<UpdateTableConfig<TConfig, {
38
+ name: TAlias;
39
+ columns: Simplify<MapColumnsToTableAlias<TConfig['columns'], TAlias>>;
40
+ }>> : never;
41
+ export declare type MapColumnsToTableAlias<TColumns extends Record<string, AnyMySqlColumn>, TAlias extends string> = {
42
+ [Key in keyof TColumns]: ChangeColumnTableName<TColumns[Key], TAlias>;
43
+ };
44
+ export declare type AppendToResult<TTableName extends AnyMySqlTable, TResult, TJoinedName extends string, TSelectedFields extends SelectFields, TOldSelectMode extends SelectMode> = TOldSelectMode extends 'partial' ? TResult : TOldSelectMode extends 'single' ? Record<GetTableConfig<TTableName, 'name'>, TResult> & Record<TJoinedName, SelectResultFields<TSelectedFields>> : Simplify<TResult & Record<TJoinedName, SelectResultFields<TSelectedFields>>>;
45
+ declare type SetJoinsNotNull<TJoinsNotNull extends Record<string, JoinNullability>, TValue extends JoinNullability> = {
46
+ [Key in keyof TJoinsNotNull]: TValue;
47
+ };
48
+ declare type UnionToParm<U> = U extends any ? (k: U) => void : never;
49
+ declare type UnionToSect<U> = UnionToParm<U> extends ((k: infer I) => void) ? I : never;
50
+ declare type ExtractParm<F> = F extends {
51
+ (a: infer A): void;
52
+ } ? A : never;
53
+ declare type SpliceOne<Union> = Exclude<Union, ExtractOne<Union>>;
54
+ declare type ExtractOne<Union> = ExtractParm<UnionToSect<UnionToParm<Union>>>;
55
+ declare type ToTupleRec<Union, Result extends any[] = []> = SpliceOne<Union> extends never ? [ExtractOne<Union>, ...Result] : ToTupleRec<SpliceOne<Union>, [ExtractOne<Union>, ...Result]>;
56
+ export declare type RemoveDuplicates<T> = ToTupleRec<T> extends any[] ? ToTupleRec<T>[number] : never;
57
+ export declare type AppendToJoinsNotNull<TJoinsNotNull extends Record<string, JoinNullability>, TJoinedName extends string, TJoinType extends JoinType> = Simplify<'left' extends TJoinType ? TJoinsNotNull & {
58
+ [name in TJoinedName]: 'nullable';
59
+ } : 'right' extends TJoinType ? SetJoinsNotNull<TJoinsNotNull, 'nullable'> & {
60
+ [name in TJoinedName]: 'not-null';
61
+ } : 'inner' extends TJoinType ? SetJoinsNotNull<TJoinsNotNull, 'not-null'> & {
62
+ [name in TJoinedName]: 'not-null';
63
+ } : 'full' extends TJoinType ? (TJoinsNotNull & {
64
+ [name in TJoinedName]: 'not-null';
65
+ }) | (TJoinsNotNull & {
66
+ [name in TJoinedName]: 'null';
67
+ }) | (SetJoinsNotNull<TJoinsNotNull, 'null'> & {
68
+ [name in TJoinedName]: 'not-null';
69
+ }) : never>;
70
+ export interface MySqlSelectConfig {
71
+ fields: SelectFieldsOrdered;
72
+ where?: SQL | undefined;
73
+ table: AnyMySqlTable;
74
+ limit?: number | Placeholder;
75
+ offset?: number | Placeholder;
76
+ joins: Record<string, JoinsValue>;
77
+ orderBy: SQL[];
78
+ groupBy: (AnyMySqlColumn | SQL)[];
79
+ }
80
+ export declare type JoinFn<TTable extends AnyMySqlTable, TSelectMode extends SelectMode, TJoinType extends JoinType, TResult, TJoinsNotNullable extends Record<string, JoinNullability> = Record<GetTableConfig<TTable, 'name'>, 'not-null'>> = <TJoinedTable extends AnyMySqlTable, TJoinedName extends GetTableConfig<TJoinedTable, 'name'> = GetTableConfig<TJoinedTable, 'name'>>(table: TJoinedTable, on: SQL) => MySqlSelect<TTable, AppendToResult<TTable, TResult, TJoinedName, GetTableConfig<TJoinedTable, 'columns'>, TSelectMode>, TSelectMode extends 'partial' ? TSelectMode : 'multiple', AppendToJoinsNotNull<TJoinsNotNullable, TJoinedName, TJoinType>>;
81
+ export {};
82
+ //# sourceMappingURL=select.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.types.d.ts","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=select.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.types.js","sourceRoot":"","sources":["../../../src/mysql-core/query-builders/select.types.ts"],"names":[],"mappings":""}