drizzle-orm 0.11.4 → 0.12.0-beta.0

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 (407) hide show
  1. package/branded-types.d.ts +18 -0
  2. package/branded-types.js +6 -0
  3. package/branded-types.js.map +1 -0
  4. package/column-builder.d.ts +14 -0
  5. package/column-builder.js +24 -0
  6. package/column-builder.js.map +1 -0
  7. package/column.d.ts +37 -0
  8. package/column.js +41 -0
  9. package/column.js.map +1 -0
  10. package/connection.d.ts +29 -0
  11. package/connection.js +91 -0
  12. package/connection.js.map +1 -0
  13. package/expressions.d.ts +1 -0
  14. package/expressions.js +18 -0
  15. package/expressions.js.map +1 -0
  16. package/index.d.ts +4 -13
  17. package/index.js +11 -24
  18. package/index.js.map +1 -1
  19. package/operations.d.ts +13 -0
  20. package/{tables/inferTypes.js → operations.js} +1 -1
  21. package/operations.js.map +1 -0
  22. package/package.json +57 -30
  23. package/sql/expressions/conditions.d.ts +33 -0
  24. package/sql/expressions/conditions.js +140 -0
  25. package/sql/expressions/conditions.js.map +1 -0
  26. package/sql/expressions/index.d.ts +2 -0
  27. package/sql/expressions/index.js +19 -0
  28. package/sql/expressions/index.js.map +1 -0
  29. package/sql/expressions/select.d.ts +5 -0
  30. package/sql/expressions/select.js +13 -0
  31. package/sql/expressions/select.js.map +1 -0
  32. package/sql/index.d.ts +97 -0
  33. package/sql/index.js +172 -0
  34. package/sql/index.js.map +1 -0
  35. package/table.d.ts +10 -0
  36. package/table.js +36 -0
  37. package/table.js.map +1 -0
  38. package/utils.d.ts +7 -0
  39. package/utils.js +18 -0
  40. package/utils.js.map +1 -0
  41. package/LICENSE +0 -674
  42. package/README.md +0 -343
  43. package/builders/aggregators/abstractAggregator.d.ts +0 -12
  44. package/builders/aggregators/abstractAggregator.js +0 -52
  45. package/builders/aggregators/abstractAggregator.js.map +0 -1
  46. package/builders/aggregators/deleteAggregator.d.ts +0 -16
  47. package/builders/aggregators/deleteAggregator.js +0 -43
  48. package/builders/aggregators/deleteAggregator.js.map +0 -1
  49. package/builders/aggregators/insertAggregator.d.ts +0 -22
  50. package/builders/aggregators/insertAggregator.js +0 -110
  51. package/builders/aggregators/insertAggregator.js.map +0 -1
  52. package/builders/aggregators/selectAggregator.d.ts +0 -33
  53. package/builders/aggregators/selectAggregator.js +0 -111
  54. package/builders/aggregators/selectAggregator.js.map +0 -1
  55. package/builders/aggregators/selectAggregatorV1.d.ts +0 -39
  56. package/builders/aggregators/selectAggregatorV1.js +0 -144
  57. package/builders/aggregators/selectAggregatorV1.js.map +0 -1
  58. package/builders/aggregators/updateAggregator.d.ts +0 -19
  59. package/builders/aggregators/updateAggregator.js +0 -54
  60. package/builders/aggregators/updateAggregator.js.map +0 -1
  61. package/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
  62. package/builders/highLvlBuilders/abstractRequestBuilder.js +0 -34
  63. package/builders/highLvlBuilders/abstractRequestBuilder.js.map +0 -1
  64. package/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
  65. package/builders/highLvlBuilders/deleteRequestBuilder.js +0 -62
  66. package/builders/highLvlBuilders/deleteRequestBuilder.js.map +0 -1
  67. package/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
  68. package/builders/highLvlBuilders/insertRequestBuilder.js +0 -74
  69. package/builders/highLvlBuilders/insertRequestBuilder.js.map +0 -1
  70. package/builders/highLvlBuilders/joins/joinBuilderResponse.d.ts +0 -8
  71. package/builders/highLvlBuilders/joins/joinBuilderResponse.js +0 -17
  72. package/builders/highLvlBuilders/joins/joinBuilderResponse.js.map +0 -1
  73. package/builders/highLvlBuilders/joins/proxies/joinProxies.d.ts +0 -16
  74. package/builders/highLvlBuilders/joins/proxies/joinProxies.js +0 -48
  75. package/builders/highLvlBuilders/joins/proxies/joinProxies.js.map +0 -1
  76. package/builders/highLvlBuilders/joins/selectJoinBuilder.d.ts +0 -44
  77. package/builders/highLvlBuilders/joins/selectJoinBuilder.js +0 -114
  78. package/builders/highLvlBuilders/joins/selectJoinBuilder.js.map +0 -1
  79. package/builders/highLvlBuilders/order.d.ts +0 -5
  80. package/builders/highLvlBuilders/order.js +0 -9
  81. package/builders/highLvlBuilders/order.js.map +0 -1
  82. package/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -63
  83. package/builders/highLvlBuilders/selectRequestBuilder.js +0 -171
  84. package/builders/highLvlBuilders/selectRequestBuilder.js.map +0 -1
  85. package/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
  86. package/builders/highLvlBuilders/updateRequestBuilder.js +0 -81
  87. package/builders/highLvlBuilders/updateRequestBuilder.js.map +0 -1
  88. package/builders/index.d.ts +0 -21
  89. package/builders/index.js +0 -69
  90. package/builders/index.js.map +0 -1
  91. package/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -42
  92. package/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -82
  93. package/builders/joinBuilders/builders/abstractJoinBuilder.js.map +0 -1
  94. package/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -36
  95. package/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -46
  96. package/builders/joinBuilders/builders/selectWithFiveJoins.js.map +0 -1
  97. package/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -56
  98. package/builders/joinBuilders/builders/selectWithFourJoins.js +0 -79
  99. package/builders/joinBuilders/builders/selectWithFourJoins.js.map +0 -1
  100. package/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -50
  101. package/builders/joinBuilders/builders/selectWithJoin.js +0 -65
  102. package/builders/joinBuilders/builders/selectWithJoin.js.map +0 -1
  103. package/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -54
  104. package/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -74
  105. package/builders/joinBuilders/builders/selectWithThreeJoins.js.map +0 -1
  106. package/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -52
  107. package/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -72
  108. package/builders/joinBuilders/builders/selectWithTwoJoins.js.map +0 -1
  109. package/builders/joinBuilders/join.d.ts +0 -23
  110. package/builders/joinBuilders/join.js +0 -29
  111. package/builders/joinBuilders/join.js.map +0 -1
  112. package/builders/joinBuilders/joinWith.d.ts +0 -14
  113. package/builders/joinBuilders/joinWith.js +0 -15
  114. package/builders/joinBuilders/joinWith.js.map +0 -1
  115. package/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
  116. package/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -36
  117. package/builders/joinBuilders/responses/selectResponseFiveJoins.js.map +0 -1
  118. package/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
  119. package/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -35
  120. package/builders/joinBuilders/responses/selectResponseFourJoins.js.map +0 -1
  121. package/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
  122. package/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -34
  123. package/builders/joinBuilders/responses/selectResponseThreeJoins.js.map +0 -1
  124. package/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
  125. package/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -33
  126. package/builders/joinBuilders/responses/selectResponseTwoJoins.js.map +0 -1
  127. package/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
  128. package/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -32
  129. package/builders/joinBuilders/responses/selectResponseWithJoin.js.map +0 -1
  130. package/builders/joinBuilders/static.d.ts +0 -5
  131. package/builders/joinBuilders/static.js +0 -10
  132. package/builders/joinBuilders/static.js.map +0 -1
  133. package/builders/lowLvlBuilders/alter.d.ts +0 -0
  134. package/builders/lowLvlBuilders/alter.js +0 -2
  135. package/builders/lowLvlBuilders/alter.js.map +0 -1
  136. package/builders/lowLvlBuilders/create.d.ts +0 -12
  137. package/builders/lowLvlBuilders/create.js +0 -101
  138. package/builders/lowLvlBuilders/create.js.map +0 -1
  139. package/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
  140. package/builders/lowLvlBuilders/delets/delete.js +0 -16
  141. package/builders/lowLvlBuilders/delets/delete.js.map +0 -1
  142. package/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
  143. package/builders/lowLvlBuilders/delets/deleteFilter.js +0 -14
  144. package/builders/lowLvlBuilders/delets/deleteFilter.js.map +0 -1
  145. package/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
  146. package/builders/lowLvlBuilders/delets/deleteFrom.js +0 -15
  147. package/builders/lowLvlBuilders/delets/deleteFrom.js.map +0 -1
  148. package/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
  149. package/builders/lowLvlBuilders/inserts/insert.js +0 -16
  150. package/builders/lowLvlBuilders/inserts/insert.js.map +0 -1
  151. package/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
  152. package/builders/lowLvlBuilders/inserts/insertInto.js +0 -17
  153. package/builders/lowLvlBuilders/inserts/insertInto.js.map +0 -1
  154. package/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
  155. package/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -14
  156. package/builders/lowLvlBuilders/inserts/onConflictInsert.js.map +0 -1
  157. package/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
  158. package/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -20
  159. package/builders/lowLvlBuilders/inserts/valuesInsert.js.map +0 -1
  160. package/builders/lowLvlBuilders/selects/select.d.ts +0 -12
  161. package/builders/lowLvlBuilders/selects/select.js +0 -43
  162. package/builders/lowLvlBuilders/selects/select.js.map +0 -1
  163. package/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -45
  164. package/builders/lowLvlBuilders/selects/selectFrom.js +0 -79
  165. package/builders/lowLvlBuilders/selects/selectFrom.js.map +0 -1
  166. package/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -42
  167. package/builders/lowLvlBuilders/selects/selectJoined.js +0 -72
  168. package/builders/lowLvlBuilders/selects/selectJoined.js.map +0 -1
  169. package/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -30
  170. package/builders/lowLvlBuilders/selects/whereSelect.js +0 -50
  171. package/builders/lowLvlBuilders/selects/whereSelect.js.map +0 -1
  172. package/builders/lowLvlBuilders/updates/update.d.ts +0 -5
  173. package/builders/lowLvlBuilders/updates/update.js +0 -16
  174. package/builders/lowLvlBuilders/updates/update.js.map +0 -1
  175. package/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
  176. package/builders/lowLvlBuilders/updates/updateIn.js +0 -16
  177. package/builders/lowLvlBuilders/updates/updateIn.js.map +0 -1
  178. package/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
  179. package/builders/lowLvlBuilders/updates/whereSelect.js +0 -14
  180. package/builders/lowLvlBuilders/updates/whereSelect.js.map +0 -1
  181. package/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
  182. package/builders/lowLvlBuilders/updates/whereSet.js +0 -19
  183. package/builders/lowLvlBuilders/updates/whereSet.js.map +0 -1
  184. package/builders/requestBuilders/updates/combine.d.ts +0 -13
  185. package/builders/requestBuilders/updates/combine.js +0 -27
  186. package/builders/requestBuilders/updates/combine.js.map +0 -1
  187. package/builders/requestBuilders/updates/increment.d.ts +0 -17
  188. package/builders/requestBuilders/updates/increment.js +0 -19
  189. package/builders/requestBuilders/updates/increment.js.map +0 -1
  190. package/builders/requestBuilders/updates/setObjects.d.ts +0 -16
  191. package/builders/requestBuilders/updates/setObjects.js +0 -20
  192. package/builders/requestBuilders/updates/setObjects.js.map +0 -1
  193. package/builders/requestBuilders/updates/static.d.ts +0 -7
  194. package/builders/requestBuilders/updates/static.js +0 -16
  195. package/builders/requestBuilders/updates/static.js.map +0 -1
  196. package/builders/requestBuilders/updates/updates.d.ts +0 -13
  197. package/builders/requestBuilders/updates/updates.js +0 -10
  198. package/builders/requestBuilders/updates/updates.js.map +0 -1
  199. package/builders/requestBuilders/where/and.d.ts +0 -23
  200. package/builders/requestBuilders/where/and.js +0 -49
  201. package/builders/requestBuilders/where/and.js.map +0 -1
  202. package/builders/requestBuilders/where/const.d.ts +0 -20
  203. package/builders/requestBuilders/where/const.js +0 -35
  204. package/builders/requestBuilders/where/const.js.map +0 -1
  205. package/builders/requestBuilders/where/constArray.d.ts +0 -20
  206. package/builders/requestBuilders/where/constArray.js +0 -65
  207. package/builders/requestBuilders/where/constArray.js.map +0 -1
  208. package/builders/requestBuilders/where/eqWhere.d.ts +0 -27
  209. package/builders/requestBuilders/where/eqWhere.js +0 -26
  210. package/builders/requestBuilders/where/eqWhere.js.map +0 -1
  211. package/builders/requestBuilders/where/greater.d.ts +0 -27
  212. package/builders/requestBuilders/where/greater.js +0 -26
  213. package/builders/requestBuilders/where/greater.js.map +0 -1
  214. package/builders/requestBuilders/where/greaterEq.d.ts +0 -27
  215. package/builders/requestBuilders/where/greaterEq.js +0 -26
  216. package/builders/requestBuilders/where/greaterEq.js.map +0 -1
  217. package/builders/requestBuilders/where/in.d.ts +0 -24
  218. package/builders/requestBuilders/where/in.js +0 -26
  219. package/builders/requestBuilders/where/in.js.map +0 -1
  220. package/builders/requestBuilders/where/isNotNull.d.ts +0 -23
  221. package/builders/requestBuilders/where/isNotNull.js +0 -23
  222. package/builders/requestBuilders/where/isNotNull.js.map +0 -1
  223. package/builders/requestBuilders/where/isNull.d.ts +0 -23
  224. package/builders/requestBuilders/where/isNull.js +0 -23
  225. package/builders/requestBuilders/where/isNull.js.map +0 -1
  226. package/builders/requestBuilders/where/less.d.ts +0 -27
  227. package/builders/requestBuilders/where/less.js +0 -26
  228. package/builders/requestBuilders/where/less.js.map +0 -1
  229. package/builders/requestBuilders/where/lessEq.d.ts +0 -27
  230. package/builders/requestBuilders/where/lessEq.js +0 -26
  231. package/builders/requestBuilders/where/lessEq.js.map +0 -1
  232. package/builders/requestBuilders/where/like.d.ts +0 -24
  233. package/builders/requestBuilders/where/like.js +0 -26
  234. package/builders/requestBuilders/where/like.js.map +0 -1
  235. package/builders/requestBuilders/where/notEqWhere.d.ts +0 -24
  236. package/builders/requestBuilders/where/notEqWhere.js +0 -26
  237. package/builders/requestBuilders/where/notEqWhere.js.map +0 -1
  238. package/builders/requestBuilders/where/or.d.ts +0 -23
  239. package/builders/requestBuilders/where/or.js +0 -49
  240. package/builders/requestBuilders/where/or.js.map +0 -1
  241. package/builders/requestBuilders/where/rawWhere.d.ts +0 -23
  242. package/builders/requestBuilders/where/rawWhere.js +0 -17
  243. package/builders/requestBuilders/where/rawWhere.js.map +0 -1
  244. package/builders/requestBuilders/where/static.d.ts +0 -21
  245. package/builders/requestBuilders/where/static.js +0 -57
  246. package/builders/requestBuilders/where/static.js.map +0 -1
  247. package/builders/requestBuilders/where/static.spec.d.ts +0 -1
  248. package/builders/requestBuilders/where/static.spec.js +0 -60
  249. package/builders/requestBuilders/where/static.spec.js.map +0 -1
  250. package/builders/requestBuilders/where/var.d.ts +0 -25
  251. package/builders/requestBuilders/where/var.js +0 -23
  252. package/builders/requestBuilders/where/var.js.map +0 -1
  253. package/builders/requestBuilders/where/where.d.ts +0 -20
  254. package/builders/requestBuilders/where/where.js +0 -6
  255. package/builders/requestBuilders/where/where.js.map +0 -1
  256. package/builders/transaction/transaction.d.ts +0 -8
  257. package/builders/transaction/transaction.js +0 -21
  258. package/builders/transaction/transaction.js.map +0 -1
  259. package/columns/column.d.ts +0 -81
  260. package/columns/column.js +0 -119
  261. package/columns/column.js.map +0 -1
  262. package/columns/index.d.ts +0 -10
  263. package/columns/index.js +0 -30
  264. package/columns/index.js.map +0 -1
  265. package/columns/types/columnType.d.ts +0 -7
  266. package/columns/types/columnType.js +0 -7
  267. package/columns/types/columnType.js.map +0 -1
  268. package/columns/types/pgBigDecimal.d.ts +0 -10
  269. package/columns/types/pgBigDecimal.js +0 -32
  270. package/columns/types/pgBigDecimal.js.map +0 -1
  271. package/columns/types/pgBigInt.d.ts +0 -15
  272. package/columns/types/pgBigInt.js +0 -33
  273. package/columns/types/pgBigInt.js.map +0 -1
  274. package/columns/types/pgBigSerial.d.ts +0 -15
  275. package/columns/types/pgBigSerial.js +0 -33
  276. package/columns/types/pgBigSerial.js.map +0 -1
  277. package/columns/types/pgBoolean.d.ts +0 -8
  278. package/columns/types/pgBoolean.js +0 -19
  279. package/columns/types/pgBoolean.js.map +0 -1
  280. package/columns/types/pgEnum.d.ts +0 -9
  281. package/columns/types/pgEnum.js +0 -19
  282. package/columns/types/pgEnum.js.map +0 -1
  283. package/columns/types/pgInteger.d.ts +0 -8
  284. package/columns/types/pgInteger.js +0 -22
  285. package/columns/types/pgInteger.js.map +0 -1
  286. package/columns/types/pgJsonb.d.ts +0 -9
  287. package/columns/types/pgJsonb.js +0 -21
  288. package/columns/types/pgJsonb.js.map +0 -1
  289. package/columns/types/pgSerial.d.ts +0 -8
  290. package/columns/types/pgSerial.js +0 -19
  291. package/columns/types/pgSerial.js.map +0 -1
  292. package/columns/types/pgSmallInt.d.ts +0 -8
  293. package/columns/types/pgSmallInt.js +0 -19
  294. package/columns/types/pgSmallInt.js.map +0 -1
  295. package/columns/types/pgText.d.ts +0 -8
  296. package/columns/types/pgText.js +0 -19
  297. package/columns/types/pgText.js.map +0 -1
  298. package/columns/types/pgTime.d.ts +0 -8
  299. package/columns/types/pgTime.js +0 -19
  300. package/columns/types/pgTime.js.map +0 -1
  301. package/columns/types/pgTimestamp.d.ts +0 -8
  302. package/columns/types/pgTimestamp.js +0 -19
  303. package/columns/types/pgTimestamp.js.map +0 -1
  304. package/columns/types/pgTimestamptz.d.ts +0 -8
  305. package/columns/types/pgTimestamptz.js +0 -19
  306. package/columns/types/pgTimestamptz.js.map +0 -1
  307. package/columns/types/pgVarChar.d.ts +0 -9
  308. package/columns/types/pgVarChar.js +0 -25
  309. package/columns/types/pgVarChar.js.map +0 -1
  310. package/db/db.d.ts +0 -18
  311. package/db/db.js +0 -26
  312. package/db/db.js.map +0 -1
  313. package/db/dbConnector.d.ts +0 -9
  314. package/db/dbConnector.js +0 -33
  315. package/db/dbConnector.js.map +0 -1
  316. package/db/dbStringConnector.d.ts +0 -6
  317. package/db/dbStringConnector.js +0 -30
  318. package/db/dbStringConnector.js.map +0 -1
  319. package/db/group_by.d.ts +0 -0
  320. package/db/group_by.js +0 -69
  321. package/db/group_by.js.map +0 -1
  322. package/db/index.d.ts +0 -4
  323. package/db/index.js +0 -15
  324. package/db/index.js.map +0 -1
  325. package/db/session.d.ts +0 -16
  326. package/db/session.js +0 -40
  327. package/db/session.js.map +0 -1
  328. package/docs/cases/simple_delete.d.ts +0 -1
  329. package/docs/cases/simple_delete.js +0 -36
  330. package/docs/cases/simple_delete.js.map +0 -1
  331. package/docs/cases/simple_insert.d.ts +0 -1
  332. package/docs/cases/simple_insert.js +0 -58
  333. package/docs/cases/simple_insert.js.map +0 -1
  334. package/docs/cases/simple_join.d.ts +0 -1
  335. package/docs/cases/simple_join.js +0 -116
  336. package/docs/cases/simple_join.js.map +0 -1
  337. package/docs/cases/simple_select.d.ts +0 -1
  338. package/docs/cases/simple_select.js +0 -51
  339. package/docs/cases/simple_select.js.map +0 -1
  340. package/docs/cases/simple_update.d.ts +0 -1
  341. package/docs/cases/simple_update.js +0 -40
  342. package/docs/cases/simple_update.js.map +0 -1
  343. package/docs/tables/citiesTable.d.ts +0 -14
  344. package/docs/tables/citiesTable.js +0 -22
  345. package/docs/tables/citiesTable.js.map +0 -1
  346. package/docs/tables/userGroupsTable.d.ts +0 -8
  347. package/docs/tables/userGroupsTable.js +0 -20
  348. package/docs/tables/userGroupsTable.js.map +0 -1
  349. package/docs/tables/usersTable.d.ts +0 -17
  350. package/docs/tables/usersTable.js +0 -36
  351. package/docs/tables/usersTable.js.map +0 -1
  352. package/docs/tables/usersToUserGroups.d.ts +0 -7
  353. package/docs/tables/usersToUserGroups.js +0 -21
  354. package/docs/tables/usersToUserGroups.js.map +0 -1
  355. package/docs/types/rolesType.d.ts +0 -1
  356. package/docs/types/rolesType.js +0 -7
  357. package/docs/types/rolesType.js.map +0 -1
  358. package/errors/baseError.d.ts +0 -22
  359. package/errors/baseError.js +0 -36
  360. package/errors/baseError.js.map +0 -1
  361. package/errors/builderError.d.ts +0 -15
  362. package/errors/builderError.js +0 -26
  363. package/errors/builderError.js.map +0 -1
  364. package/errors/dbErrors.d.ts +0 -12
  365. package/errors/dbErrors.js +0 -29
  366. package/errors/dbErrors.js.map +0 -1
  367. package/indexes/tableIndex.d.ts +0 -11
  368. package/indexes/tableIndex.js +0 -18
  369. package/indexes/tableIndex.js.map +0 -1
  370. package/logger/abstractLogger.d.ts +0 -4
  371. package/logger/abstractLogger.js +0 -6
  372. package/logger/abstractLogger.js.map +0 -1
  373. package/logger/consoleLogger.d.ts +0 -5
  374. package/logger/consoleLogger.js +0 -16
  375. package/logger/consoleLogger.js.map +0 -1
  376. package/mappers/index.d.ts +0 -0
  377. package/mappers/index.js +0 -2
  378. package/mappers/index.js.map +0 -1
  379. package/mappers/responseMapper.d.ts +0 -15
  380. package/mappers/responseMapper.js +0 -69
  381. package/mappers/responseMapper.js.map +0 -1
  382. package/migrator/index.d.ts +0 -0
  383. package/migrator/index.js +0 -2
  384. package/migrator/index.js.map +0 -1
  385. package/migrator/migrator.d.ts +0 -11
  386. package/migrator/migrator.js +0 -113
  387. package/migrator/migrator.js.map +0 -1
  388. package/serializer/serializer.d.ts +0 -58
  389. package/serializer/serializer.js +0 -260
  390. package/serializer/serializer.js.map +0 -1
  391. package/tables/abstractTable.d.ts +0 -69
  392. package/tables/abstractTable.js +0 -158
  393. package/tables/abstractTable.js.map +0 -1
  394. package/tables/index.d.ts +0 -3
  395. package/tables/index.js +0 -12
  396. package/tables/index.js.map +0 -1
  397. package/tables/inferTypes.d.ts +0 -48
  398. package/tables/inferTypes.js.map +0 -1
  399. package/tables/migrationsTable.d.ts +0 -7
  400. package/tables/migrationsTable.js +0 -19
  401. package/tables/migrationsTable.js.map +0 -1
  402. package/types/type.d.ts +0 -10
  403. package/types/type.js +0 -15
  404. package/types/type.js.map +0 -1
  405. package/utils/ecranate.d.ts +0 -2
  406. package/utils/ecranate.js +0 -9
  407. package/utils/ecranate.js.map +0 -1
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notIlike = exports.ilike = exports.notLike = exports.like = exports.notBetween = exports.between = exports.notExists = exports.exists = exports.isNotNull = exports.isNull = exports.notInArray = exports.inArray = exports.lte = exports.lt = exports.gte = exports.gt = exports.not = exports.or = exports.and = exports.ne = exports.eq = void 0;
4
+ const column_1 = require("../../column");
5
+ const __1 = require("..");
6
+ function bindIfParam(value, column) {
7
+ if (value instanceof column_1.Column) {
8
+ return value;
9
+ }
10
+ else {
11
+ return new __1.BoundParamValue(value, column);
12
+ }
13
+ }
14
+ function eq(left, right) {
15
+ return (0, __1.sql) `${left} = ${bindIfParam(right, left)}`;
16
+ }
17
+ exports.eq = eq;
18
+ function ne(left, right) {
19
+ return (0, __1.sql) `${left} <> ${bindIfParam(right, left)}`;
20
+ }
21
+ exports.ne = ne;
22
+ function and(...conditions) {
23
+ if (conditions.length === 0) {
24
+ return undefined;
25
+ }
26
+ const chunks = [__1.sql.raw('(')];
27
+ conditions
28
+ .filter((c) => typeof c !== 'undefined')
29
+ .forEach((condition, index) => {
30
+ if (index === 0) {
31
+ chunks.push(condition);
32
+ }
33
+ else {
34
+ chunks.push((0, __1.sql) ` and `, condition);
35
+ }
36
+ });
37
+ chunks.push((0, __1.sql) `)`);
38
+ return __1.sql.fromList(chunks);
39
+ }
40
+ exports.and = and;
41
+ function or(...conditions) {
42
+ if (conditions.length === 0) {
43
+ return undefined;
44
+ }
45
+ const chunks = [__1.sql.raw('(')];
46
+ conditions
47
+ .filter((c) => typeof c !== 'undefined')
48
+ .forEach((condition, index) => {
49
+ if (index === 0) {
50
+ chunks.push(condition);
51
+ }
52
+ else {
53
+ chunks.push((0, __1.sql) ` or `, condition);
54
+ }
55
+ });
56
+ chunks.push((0, __1.sql) `)`);
57
+ return __1.sql.fromList(chunks);
58
+ }
59
+ exports.or = or;
60
+ function not(condition) {
61
+ return (0, __1.sql) `not ${condition}`;
62
+ }
63
+ exports.not = not;
64
+ function gt(left, right) {
65
+ return (0, __1.sql) `${left} > ${bindIfParam(right, left)}`;
66
+ }
67
+ exports.gt = gt;
68
+ function gte(left, right) {
69
+ return (0, __1.sql) `${left} >= ${bindIfParam(right, left)}`;
70
+ }
71
+ exports.gte = gte;
72
+ function lt(left, right) {
73
+ return (0, __1.sql) `${left} < ${bindIfParam(right, left)}`;
74
+ }
75
+ exports.lt = lt;
76
+ function lte(left, right) {
77
+ return (0, __1.sql) `${left} <= ${bindIfParam(right, left)}`;
78
+ }
79
+ exports.lte = lte;
80
+ function inArray(column, values) {
81
+ if ((0, __1.isSQLWrapper)(values)) {
82
+ return (0, __1.sql) `${column} in (${values})`;
83
+ }
84
+ if (values.length === 0) {
85
+ throw new Error('inArray requires at least one value');
86
+ }
87
+ return (0, __1.sql) `${column} in ${values.map((v) => new __1.BoundParamValue(v, column))}`;
88
+ }
89
+ exports.inArray = inArray;
90
+ function notInArray(column, values) {
91
+ if ((0, __1.isSQLWrapper)(values)) {
92
+ return (0, __1.sql) `${column} not in (${values})`;
93
+ }
94
+ if (values.length === 0) {
95
+ throw new Error('notInArray requires at least one value');
96
+ }
97
+ return (0, __1.sql) `${column} not in ${values.map((v) => new __1.BoundParamValue(v, column))}`;
98
+ }
99
+ exports.notInArray = notInArray;
100
+ function isNull(column) {
101
+ return (0, __1.sql) `${column} is null`;
102
+ }
103
+ exports.isNull = isNull;
104
+ function isNotNull(column) {
105
+ return (0, __1.sql) `${column} is not null`;
106
+ }
107
+ exports.isNotNull = isNotNull;
108
+ function exists(subquery) {
109
+ return (0, __1.sql) `exists (${subquery})`;
110
+ }
111
+ exports.exists = exists;
112
+ function notExists(subquery) {
113
+ return (0, __1.sql) `exists (${subquery})`;
114
+ }
115
+ exports.notExists = notExists;
116
+ function between(column, min, max) {
117
+ return (0, __1.sql) `${column} between ${min} and ${max}`;
118
+ }
119
+ exports.between = between;
120
+ function notBetween(column, min, max) {
121
+ return (0, __1.sql) `${column} not between ${min} and ${max}`;
122
+ }
123
+ exports.notBetween = notBetween;
124
+ function like(column, value) {
125
+ return (0, __1.sql) `${column} like ${value}`;
126
+ }
127
+ exports.like = like;
128
+ function notLike(column, value) {
129
+ return (0, __1.sql) `${column} not like ${value}`;
130
+ }
131
+ exports.notLike = notLike;
132
+ function ilike(column, value) {
133
+ return (0, __1.sql) `${column} ilike ${value}`;
134
+ }
135
+ exports.ilike = ilike;
136
+ function notIlike(column, value) {
137
+ return (0, __1.sql) `${column} not ilike ${value}`;
138
+ }
139
+ exports.notIlike = notIlike;
140
+ //# sourceMappingURL=conditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/sql/expressions/conditions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './conditions';
2
+ export * from './select';
@@ -0,0 +1,19 @@
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("./conditions"), exports);
18
+ __exportStar(require("./select"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sql/expressions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB"}
@@ -0,0 +1,5 @@
1
+ import { TableName } from '../../branded-types';
2
+ import { AnyColumn } from '../../column';
3
+ import { SQL } from '..';
4
+ export declare function asc<TTableName extends TableName>(column: AnyColumn<TTableName>): SQL<TTableName>;
5
+ export declare function desc<TTableName extends TableName>(column: AnyColumn<TTableName>): SQL<TTableName>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.desc = exports.asc = void 0;
4
+ const __1 = require("..");
5
+ function asc(column) {
6
+ return (0, __1.sql) `${column} asc`;
7
+ }
8
+ exports.asc = asc;
9
+ function desc(column) {
10
+ return (0, __1.sql) `${column} desc`;
11
+ }
12
+ exports.desc = desc;
13
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/sql/expressions/select.ts"],"names":[],"mappings":";;;AAEA,0BAA8B;AAE9B,SAAgB,GAAG,CAClB,MAA6B;IAE7B,OAAO,IAAA,OAAG,EAAA,GAAG,MAAM,MAAM,CAAC;AAC3B,CAAC;AAJD,kBAIC;AAED,SAAgB,IAAI,CACnB,MAA6B;IAE7B,OAAO,IAAA,OAAG,EAAA,GAAG,MAAM,OAAO,CAAC;AAC5B,CAAC;AAJD,oBAIC"}
package/sql/index.d.ts ADDED
@@ -0,0 +1,97 @@
1
+ import { ColumnData, ColumnDriverParam, TableName, Unwrap } from '../branded-types';
2
+ import { AnyColumn, GetColumnData } from '../column';
3
+ import { AnyTable } from '../table';
4
+ import { GetTableName } from '../utils';
5
+ export declare class Param<TData = ColumnData | PrimitiveDriverParam> {
6
+ readonly value: TData;
7
+ constructor(value: TData);
8
+ }
9
+ export declare type Chunk<TTableName extends TableName = TableName> = string | AnyTable<TTableName> | AnyColumn<TTableName> | Name | Param;
10
+ export interface BuildQueryConfig {
11
+ escapeName(name: string): string;
12
+ escapeParam(num: number, value: unknown): string;
13
+ }
14
+ export interface PreparedQuery<TDriverParam extends ColumnDriverParam = ColumnDriverParam> {
15
+ sql: string;
16
+ params: TDriverParam[];
17
+ }
18
+ export interface SQLWrapper {
19
+ getSQL(): AnySQL;
20
+ }
21
+ export declare function isSQLWrapper(param: unknown): param is SQLWrapper;
22
+ export declare class SQL<TTableName extends TableName> implements SQLWrapper {
23
+ readonly queryChunks: Chunk<TTableName>[];
24
+ protected typeKeeper: {
25
+ brand: 'SQL';
26
+ tableName: TTableName;
27
+ };
28
+ constructor(queryChunks: Chunk<TTableName>[]);
29
+ toQuery<TDriverParamType = unknown>({ escapeName, escapeParam }: BuildQueryConfig): PreparedQuery<ColumnDriverParam<TDriverParamType>>;
30
+ getSQL(): AnySQL<TTableName>;
31
+ }
32
+ export declare type AnySQL<TTableName extends TableName = TableName> = SQL<TTableName>;
33
+ /**
34
+ * Any DB name (table, column, index etc.)
35
+ */
36
+ export declare class Name {
37
+ readonly value: string;
38
+ protected brand: 'Name';
39
+ constructor(value: string);
40
+ }
41
+ export declare type ParamValueDecoder<TData extends ColumnData, TDriverParam extends ColumnDriverParam> = (value: Unwrap<TDriverParam>) => Unwrap<TData>;
42
+ export declare const noopDecoder: ParamValueDecoder<any, any>;
43
+ export declare type ParamValueEncoder<TData extends ColumnData, TDriverParam extends ColumnDriverParam> = (value: Unwrap<TData>) => Unwrap<TDriverParam>;
44
+ export declare const noopEncoder: ParamValueEncoder<any, any>;
45
+ export interface ParamValueMapper<TData extends ColumnData, TDriverParam extends ColumnDriverParam> {
46
+ mapFromDriverValue: ParamValueDecoder<TData, TDriverParam>;
47
+ mapToDriverValue: ParamValueEncoder<TData, TDriverParam>;
48
+ }
49
+ export declare const noopMapper: ParamValueMapper<any, any>;
50
+ /**
51
+ * Parameter value that is bound to a specific mapper (usually, a column of a specific type)
52
+ * @param value - Parameter value to bind
53
+ * @param mapper - Mapper to use to convert the value to/from the driver parameter
54
+ */
55
+ export declare class BoundParamValue<TDataType extends ColumnData, TDriverParamType extends ColumnDriverParam> {
56
+ readonly value: TDataType;
57
+ readonly mapper: ParamValueMapper<TDataType, TDriverParamType>;
58
+ protected brand: 'BoundParamValue';
59
+ constructor(value: TDataType, mapper: ParamValueMapper<TDataType, TDriverParamType>);
60
+ }
61
+ export declare type AnyBoundParamValue = BoundParamValue<any, any>;
62
+ export declare type SQLSourceParam<TTableName extends TableName> = SQLSourceParam<TTableName>[] | ColumnData | SQLWrapper | AnySQL<TTableName> | AnyTable<TTableName> | AnyColumn<TTableName> | AnyBoundParamValue | Name | PrimitiveDriverParam | undefined;
63
+ export declare type PrimitiveDriverParam = string | number | boolean | null;
64
+ export declare function sql<TTableName extends TableName>(strings: TemplateStringsArray, ...params: (SQLSourceParam<TTableName> | PrimitiveDriverParam)[]): SQL<TTableName>;
65
+ export declare function sql<TTableName extends string>(strings: TemplateStringsArray, ...params: (SQLSourceParam<TableName<TTableName>> | PrimitiveDriverParam)[]): SQL<TableName<TTableName>>;
66
+ export declare namespace sql {
67
+ function empty(): AnySQL;
68
+ function fromList<TTableName extends TableName = TableName>(list: SQLSourceParam<TTableName>[]): SQL<TTableName>;
69
+ function response<TTableName extends TableName>(strings: TemplateStringsArray, ...params: (BoundParamValue<any, any> | ColumnData | SQLWrapper | PrimitiveDriverParam)[]): SQLResponse<TTableName, ColumnData>;
70
+ function response<TColumn extends AnyColumn>(strings: TemplateStringsArray, ...params: (TColumn | BoundParamValue<any, any> | ColumnData | SQLWrapper | PrimitiveDriverParam)[]): SQLResponse<GetTableName<TColumn>, ColumnData<GetColumnData<TColumn>>>;
71
+ namespace response {
72
+ interface SQLResponseFunc<TData extends ColumnData> {
73
+ <TTableName extends string>(strings: TemplateStringsArray, ...params: (SQLSourceParam<TableName<TTableName>> | ColumnData | PrimitiveDriverParam)[]): SQLResponse<TableName<TTableName>, TData>;
74
+ }
75
+ export function as<TData extends ColumnData>(): SQLResponseFunc<TData>;
76
+ export function as<TData>(): SQLResponseFunc<ColumnData<TData>>;
77
+ export function as<TData extends ColumnData>(decoder: AnyColumn<TableName, TData> | ParamValueDecoder<TData, ColumnDriverParam>): SQLResponseFunc<TData>;
78
+ export function as<TData>(decoder: AnyColumn<TableName, ColumnData<TData>> | ParamValueDecoder<ColumnData<TData>, ColumnDriverParam>): SQLResponseFunc<ColumnData<TData>>;
79
+ export {};
80
+ }
81
+ /**
82
+ * Convenience function to create an SQL query from a raw string.
83
+ * @param str The raw SQL query string.
84
+ */
85
+ function raw<TTableName extends TableName = TableName>(str: string): SQL<TTableName>;
86
+ }
87
+ export declare class SQLResponse<TTableName extends TableName, TValue extends ColumnData> {
88
+ readonly sql: SQL<TTableName>;
89
+ readonly decoder: ParamValueDecoder<TValue, any>;
90
+ protected typeKeeper: {
91
+ brand: 'SQLResponse';
92
+ tableName: TTableName;
93
+ value: TValue;
94
+ };
95
+ constructor(sql: SQL<TTableName>, decoder: ParamValueDecoder<TValue, any>);
96
+ }
97
+ export declare type AnySQLResponse<TTableName extends TableName = TableName> = SQLResponse<TTableName, any>;
package/sql/index.js ADDED
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLResponse = exports.sql = exports.BoundParamValue = exports.noopMapper = exports.noopEncoder = exports.noopDecoder = exports.Name = exports.SQL = exports.isSQLWrapper = exports.Param = void 0;
4
+ const column_1 = require("../column");
5
+ const table_1 = require("../table");
6
+ const utils_1 = require("../utils");
7
+ class Param {
8
+ constructor(value) {
9
+ this.value = value;
10
+ }
11
+ }
12
+ exports.Param = Param;
13
+ function isSQLWrapper(param) {
14
+ return !!param && typeof param === 'object' && 'getSQL' in param;
15
+ }
16
+ exports.isSQLWrapper = isSQLWrapper;
17
+ class SQL {
18
+ constructor(queryChunks) {
19
+ this.queryChunks = queryChunks;
20
+ }
21
+ toQuery({ escapeName, escapeParam }) {
22
+ const params = [];
23
+ const chunks = this.queryChunks.map((chunk) => {
24
+ if (typeof chunk === 'string') {
25
+ return chunk;
26
+ }
27
+ else if (chunk instanceof Name) {
28
+ return escapeName(chunk.value);
29
+ }
30
+ else if (chunk instanceof table_1.Table) {
31
+ return escapeName(chunk[utils_1.tableName]);
32
+ }
33
+ else if (chunk instanceof column_1.Column) {
34
+ return escapeName(chunk.table[utils_1.tableName]) + '.' + escapeName(chunk.name);
35
+ }
36
+ else if (chunk instanceof Param) {
37
+ params.push(chunk.value);
38
+ return escapeParam(params.length, chunk.value);
39
+ }
40
+ else {
41
+ const err = new Error('Unexpected chunk type!');
42
+ console.error(chunk);
43
+ throw err;
44
+ }
45
+ });
46
+ const sqlString = chunks
47
+ .join('')
48
+ .trim()
49
+ .replace(/\s{2,}/g, ' ')
50
+ .replace(/\n+/g, '');
51
+ return { sql: sqlString, params: params };
52
+ }
53
+ getSQL() {
54
+ return this;
55
+ }
56
+ }
57
+ exports.SQL = SQL;
58
+ /**
59
+ * Any DB name (table, column, index etc.)
60
+ */
61
+ class Name {
62
+ constructor(value) {
63
+ this.value = value;
64
+ }
65
+ }
66
+ exports.Name = Name;
67
+ const noopDecoder = (value) => value;
68
+ exports.noopDecoder = noopDecoder;
69
+ const noopEncoder = (value) => value;
70
+ exports.noopEncoder = noopEncoder;
71
+ exports.noopMapper = {
72
+ mapFromDriverValue: exports.noopDecoder,
73
+ mapToDriverValue: exports.noopEncoder,
74
+ };
75
+ /**
76
+ * Parameter value that is bound to a specific mapper (usually, a column of a specific type)
77
+ * @param value - Parameter value to bind
78
+ * @param mapper - Mapper to use to convert the value to/from the driver parameter
79
+ */
80
+ class BoundParamValue {
81
+ constructor(value, mapper) {
82
+ this.value = value;
83
+ this.mapper = mapper;
84
+ }
85
+ }
86
+ exports.BoundParamValue = BoundParamValue;
87
+ function buildChunksFromParam(param) {
88
+ if (Array.isArray(param)) {
89
+ const result = ['('];
90
+ param.forEach((p, i) => {
91
+ result.push(...buildChunksFromParam(p));
92
+ if (i < param.length - 1) {
93
+ result.push(', ');
94
+ }
95
+ });
96
+ result.push(')');
97
+ return result;
98
+ }
99
+ else if (param instanceof SQL) {
100
+ return param.queryChunks;
101
+ }
102
+ else if (isSQLWrapper(param)) {
103
+ return buildChunksFromParam(param.getSQL());
104
+ }
105
+ else if (param instanceof table_1.Table
106
+ || param instanceof column_1.Column
107
+ || param instanceof Name) {
108
+ return [param];
109
+ }
110
+ else if (param instanceof BoundParamValue) {
111
+ return [new Param(param.mapper.mapToDriverValue(param.value))];
112
+ }
113
+ else if (typeof param !== 'undefined') {
114
+ return [new Param(param)];
115
+ }
116
+ else {
117
+ return [];
118
+ }
119
+ }
120
+ function sql(strings, ...params) {
121
+ const queryChunks = [];
122
+ if (params.length > 0 || (strings.length > 0 && strings[0] !== '')) {
123
+ queryChunks.push(strings[0]);
124
+ }
125
+ params.forEach((param, paramIndex) => {
126
+ queryChunks.push(...buildChunksFromParam(param));
127
+ queryChunks.push(strings[paramIndex + 1]);
128
+ });
129
+ return new SQL(queryChunks);
130
+ }
131
+ exports.sql = sql;
132
+ (function (sql) {
133
+ function empty() {
134
+ return new SQL([]);
135
+ }
136
+ sql.empty = empty;
137
+ function fromList(list) {
138
+ return new SQL(list.map(buildChunksFromParam).flat(1));
139
+ }
140
+ sql.fromList = fromList;
141
+ function response(strings, ...params) {
142
+ var _a, _b;
143
+ const column = (_b = (_a = params.find((p) => p instanceof column_1.Column)) === null || _a === void 0 ? void 0 : _a.mapFromDriverValue) !== null && _b !== void 0 ? _b : exports.noopDecoder;
144
+ return new SQLResponse(sql(strings, ...params), column);
145
+ }
146
+ sql.response = response;
147
+ (function (response) {
148
+ function as(decoder = exports.noopDecoder) {
149
+ const responseSql = (strings, ...params) => {
150
+ return new SQLResponse(sql(strings, ...params), decoder instanceof column_1.Column ? decoder.mapFromDriverValue : decoder);
151
+ };
152
+ return responseSql;
153
+ }
154
+ response.as = as;
155
+ })(response = sql.response || (sql.response = {}));
156
+ /**
157
+ * Convenience function to create an SQL query from a raw string.
158
+ * @param str The raw SQL query string.
159
+ */
160
+ function raw(str) {
161
+ return new SQL([str]);
162
+ }
163
+ sql.raw = raw;
164
+ })(sql = exports.sql || (exports.sql = {}));
165
+ class SQLResponse {
166
+ constructor(sql, decoder) {
167
+ this.sql = sql;
168
+ this.decoder = decoder;
169
+ }
170
+ }
171
+ exports.SQLResponse = SQLResponse;
172
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sql/index.ts"],"names":[],"mappings":"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"}
package/table.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { TableName } from './branded-types';
2
+ export declare type TableExtraConfig = Record<string, unknown>;
3
+ export declare class Table<TName extends TableName> {
4
+ protected typeKeeper: {
5
+ brand: 'Table';
6
+ name: TName;
7
+ };
8
+ constructor(name: TName);
9
+ }
10
+ export declare type AnyTable<TName extends TableName = TableName> = Table<TName>;
package/table.js ADDED
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Table = void 0;
5
+ const column_1 = require("./column");
6
+ const utils_1 = require("./utils");
7
+ class Table {
8
+ constructor(name) {
9
+ /** @internal */
10
+ this[_a] = (columns, row) => {
11
+ const result = columns.reduce((res, { name, resultTableName, column: columnOrResponse }, index) => {
12
+ let decoder;
13
+ if (columnOrResponse instanceof column_1.Column) {
14
+ decoder = columnOrResponse.mapFromDriverValue;
15
+ }
16
+ else {
17
+ decoder = columnOrResponse.decoder;
18
+ }
19
+ if (!(resultTableName in res)) {
20
+ res[resultTableName] = {};
21
+ }
22
+ const rawValue = row[index];
23
+ res[resultTableName][name] = rawValue === null ? null : decoder(rawValue);
24
+ return res;
25
+ }, {});
26
+ if (Object.keys(result).length === 1) {
27
+ return Object.values(result)[0];
28
+ }
29
+ return result;
30
+ };
31
+ this[utils_1.tableName] = name;
32
+ }
33
+ }
34
+ exports.Table = Table;
35
+ _a = utils_1.tableRowMapper;
36
+ //# sourceMappingURL=table.js.map
package/table.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":";;;;AACA,qCAA6C;AAE7C,mCAAkE;AAIlE,MAAa,KAAK;IA0CjB,YAAY,IAAW;QA9BvB,gBAAgB;QAChB,QAAgB,GAAG,CAClB,OAA4B,EAC5B,GAAwB,EACd,EAAE;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,EAAE;gBACnE,IAAI,OAAO,CAAC;gBACZ,IAAI,gBAAgB,YAAY,eAAM,EAAE;oBACvC,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;iBAC9C;qBAAM;oBACN,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;iBACnC;gBACD,IAAI,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE;oBAC9B,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;iBAC1B;gBACD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAE,CAAC;gBAC7B,GAAG,CAAC,eAAe,CAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAe,CAAC;gBACzF,OAAO,GAAG,CAAC;YACZ,CAAC,EACD,EAAE,CACF,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAY,CAAC;aAC3C;YAED,OAAO,MAAiB,CAAC;QAC1B,CAAC,CAAC;QAGD,IAAI,CAAC,iBAAS,CAAC,GAAG,IAAI,CAAC;IACxB,CAAC;CACD;AA7CD,sBA6CC;KAhCC,sBAAc"}
package/utils.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { ColumnDriverParam, TableName } from './branded-types';
2
+ import { AnyColumn } from './column';
3
+ import { SelectFieldsOrdered } from './operations';
4
+ import { AnyTable } from './table';
5
+ export declare function getTableName<TTableName extends TableName>(table: AnyTable<TTableName>): TTableName;
6
+ export declare function getTableRowMapper<TTableName extends TableName>(table: AnyTable<TTableName>): <TResult>(columns: SelectFieldsOrdered, row: ColumnDriverParam[]) => TResult;
7
+ export declare type GetTableName<T extends AnyTable | AnyColumn> = T extends AnyTable<infer TName> ? TName : T extends AnyColumn<infer TName> ? TName : never;
package/utils.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTableRowMapper = exports.getTableName = exports.tableRowMapper = exports.tableColumns = exports.tableName = void 0;
4
+ /** @internal */
5
+ exports.tableName = Symbol('tableName');
6
+ /** @internal */
7
+ exports.tableColumns = Symbol('tableColumns');
8
+ /** @internal */
9
+ exports.tableRowMapper = Symbol('tableRowMapper');
10
+ function getTableName(table) {
11
+ return table[exports.tableName];
12
+ }
13
+ exports.getTableName = getTableName;
14
+ function getTableRowMapper(table) {
15
+ return table[exports.tableRowMapper];
16
+ }
17
+ exports.getTableRowMapper = getTableRowMapper;
18
+ //# sourceMappingURL=utils.js.map
package/utils.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAKA,gBAAgB;AACH,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7C,gBAAgB;AACH,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEnD,gBAAgB;AACH,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD,SAAgB,YAAY,CAA+B,KAA2B;IACrF,OAAO,KAAK,CAAC,iBAAS,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAED,SAAgB,iBAAiB,CAChC,KAA2B;IAE3B,OAAO,KAAK,CAAC,sBAAc,CAAiF,CAAC;AAC9G,CAAC;AAJD,8CAIC"}