drizzle-orm 0.11.5 → 0.12.0-beta.1

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 (410) 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 +58 -27
  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/var.d.ts +0 -25
  248. package/builders/requestBuilders/where/var.js +0 -23
  249. package/builders/requestBuilders/where/var.js.map +0 -1
  250. package/builders/requestBuilders/where/where.d.ts +0 -20
  251. package/builders/requestBuilders/where/where.js +0 -6
  252. package/builders/requestBuilders/where/where.js.map +0 -1
  253. package/builders/transaction/transaction.d.ts +0 -8
  254. package/builders/transaction/transaction.js +0 -21
  255. package/builders/transaction/transaction.js.map +0 -1
  256. package/columns/column.d.ts +0 -81
  257. package/columns/column.js +0 -119
  258. package/columns/column.js.map +0 -1
  259. package/columns/index.d.ts +0 -10
  260. package/columns/index.js +0 -30
  261. package/columns/index.js.map +0 -1
  262. package/columns/types/columnType.d.ts +0 -7
  263. package/columns/types/columnType.js +0 -7
  264. package/columns/types/columnType.js.map +0 -1
  265. package/columns/types/pgBigDecimal.d.ts +0 -10
  266. package/columns/types/pgBigDecimal.js +0 -32
  267. package/columns/types/pgBigDecimal.js.map +0 -1
  268. package/columns/types/pgBigInt.d.ts +0 -15
  269. package/columns/types/pgBigInt.js +0 -33
  270. package/columns/types/pgBigInt.js.map +0 -1
  271. package/columns/types/pgBigSerial.d.ts +0 -15
  272. package/columns/types/pgBigSerial.js +0 -33
  273. package/columns/types/pgBigSerial.js.map +0 -1
  274. package/columns/types/pgBoolean.d.ts +0 -8
  275. package/columns/types/pgBoolean.js +0 -19
  276. package/columns/types/pgBoolean.js.map +0 -1
  277. package/columns/types/pgEnum.d.ts +0 -9
  278. package/columns/types/pgEnum.js +0 -19
  279. package/columns/types/pgEnum.js.map +0 -1
  280. package/columns/types/pgInteger.d.ts +0 -8
  281. package/columns/types/pgInteger.js +0 -22
  282. package/columns/types/pgInteger.js.map +0 -1
  283. package/columns/types/pgJsonb.d.ts +0 -9
  284. package/columns/types/pgJsonb.js +0 -21
  285. package/columns/types/pgJsonb.js.map +0 -1
  286. package/columns/types/pgSerial.d.ts +0 -8
  287. package/columns/types/pgSerial.js +0 -19
  288. package/columns/types/pgSerial.js.map +0 -1
  289. package/columns/types/pgSmallInt.d.ts +0 -8
  290. package/columns/types/pgSmallInt.js +0 -19
  291. package/columns/types/pgSmallInt.js.map +0 -1
  292. package/columns/types/pgText.d.ts +0 -8
  293. package/columns/types/pgText.js +0 -19
  294. package/columns/types/pgText.js.map +0 -1
  295. package/columns/types/pgTime.d.ts +0 -8
  296. package/columns/types/pgTime.js +0 -19
  297. package/columns/types/pgTime.js.map +0 -1
  298. package/columns/types/pgTimestamp.d.ts +0 -8
  299. package/columns/types/pgTimestamp.js +0 -19
  300. package/columns/types/pgTimestamp.js.map +0 -1
  301. package/columns/types/pgTimestamptz.d.ts +0 -8
  302. package/columns/types/pgTimestamptz.js +0 -19
  303. package/columns/types/pgTimestamptz.js.map +0 -1
  304. package/columns/types/pgVarChar.d.ts +0 -9
  305. package/columns/types/pgVarChar.js +0 -25
  306. package/columns/types/pgVarChar.js.map +0 -1
  307. package/db/db.d.ts +0 -18
  308. package/db/db.js +0 -26
  309. package/db/db.js.map +0 -1
  310. package/db/dbConnector.d.ts +0 -9
  311. package/db/dbConnector.js +0 -33
  312. package/db/dbConnector.js.map +0 -1
  313. package/db/dbStringConnector.d.ts +0 -6
  314. package/db/dbStringConnector.js +0 -30
  315. package/db/dbStringConnector.js.map +0 -1
  316. package/db/group_by.d.ts +0 -0
  317. package/db/group_by.js +0 -69
  318. package/db/group_by.js.map +0 -1
  319. package/db/index.d.ts +0 -4
  320. package/db/index.js +0 -15
  321. package/db/index.js.map +0 -1
  322. package/db/session.d.ts +0 -16
  323. package/db/session.js +0 -40
  324. package/db/session.js.map +0 -1
  325. package/docs/cases/simple_delete.d.ts +0 -1
  326. package/docs/cases/simple_delete.js +0 -36
  327. package/docs/cases/simple_delete.js.map +0 -1
  328. package/docs/cases/simple_insert.d.ts +0 -1
  329. package/docs/cases/simple_insert.js +0 -58
  330. package/docs/cases/simple_insert.js.map +0 -1
  331. package/docs/cases/simple_join.d.ts +0 -1
  332. package/docs/cases/simple_join.js +0 -116
  333. package/docs/cases/simple_join.js.map +0 -1
  334. package/docs/cases/simple_select.d.ts +0 -1
  335. package/docs/cases/simple_select.js +0 -51
  336. package/docs/cases/simple_select.js.map +0 -1
  337. package/docs/cases/simple_update.d.ts +0 -1
  338. package/docs/cases/simple_update.js +0 -40
  339. package/docs/cases/simple_update.js.map +0 -1
  340. package/docs/tables/citiesTable.d.ts +0 -14
  341. package/docs/tables/citiesTable.js +0 -22
  342. package/docs/tables/citiesTable.js.map +0 -1
  343. package/docs/tables/userGroupsTable.d.ts +0 -8
  344. package/docs/tables/userGroupsTable.js +0 -20
  345. package/docs/tables/userGroupsTable.js.map +0 -1
  346. package/docs/tables/usersTable.d.ts +0 -17
  347. package/docs/tables/usersTable.js +0 -36
  348. package/docs/tables/usersTable.js.map +0 -1
  349. package/docs/tables/usersToUserGroups.d.ts +0 -7
  350. package/docs/tables/usersToUserGroups.js +0 -21
  351. package/docs/tables/usersToUserGroups.js.map +0 -1
  352. package/docs/types/rolesType.d.ts +0 -1
  353. package/docs/types/rolesType.js +0 -7
  354. package/docs/types/rolesType.js.map +0 -1
  355. package/errors/baseError.d.ts +0 -22
  356. package/errors/baseError.js +0 -36
  357. package/errors/baseError.js.map +0 -1
  358. package/errors/builderError.d.ts +0 -15
  359. package/errors/builderError.js +0 -26
  360. package/errors/builderError.js.map +0 -1
  361. package/errors/dbErrors.d.ts +0 -12
  362. package/errors/dbErrors.js +0 -29
  363. package/errors/dbErrors.js.map +0 -1
  364. package/indexes/tableIndex.d.ts +0 -11
  365. package/indexes/tableIndex.js +0 -18
  366. package/indexes/tableIndex.js.map +0 -1
  367. package/logger/abstractLogger.d.ts +0 -4
  368. package/logger/abstractLogger.js +0 -6
  369. package/logger/abstractLogger.js.map +0 -1
  370. package/logger/consoleLogger.d.ts +0 -5
  371. package/logger/consoleLogger.js +0 -16
  372. package/logger/consoleLogger.js.map +0 -1
  373. package/mappers/index.d.ts +0 -0
  374. package/mappers/index.js +0 -2
  375. package/mappers/index.js.map +0 -1
  376. package/mappers/responseMapper.d.ts +0 -15
  377. package/mappers/responseMapper.js +0 -69
  378. package/mappers/responseMapper.js.map +0 -1
  379. package/migrator/index.d.ts +0 -0
  380. package/migrator/index.js +0 -2
  381. package/migrator/index.js.map +0 -1
  382. package/migrator/migrator.d.ts +0 -11
  383. package/migrator/migrator.js +0 -113
  384. package/migrator/migrator.js.map +0 -1
  385. package/serializer/serializer.d.ts +0 -0
  386. package/serializer/serializer.js +0 -295
  387. package/serializer/serializer.js.map +0 -1
  388. package/tables/abstractTable.d.ts +0 -73
  389. package/tables/abstractTable.js +0 -173
  390. package/tables/abstractTable.js.map +0 -1
  391. package/tables/index.d.ts +0 -3
  392. package/tables/index.js +0 -12
  393. package/tables/index.js.map +0 -1
  394. package/tables/inferTypes.d.ts +0 -48
  395. package/tables/inferTypes.js.map +0 -1
  396. package/tables/migrationsTable.d.ts +0 -7
  397. package/tables/migrationsTable.js +0 -19
  398. package/tables/migrationsTable.js.map +0 -1
  399. package/test.d.ts +0 -1
  400. package/test.js +0 -193
  401. package/test.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
  408. package/utils/escape.d.ts +0 -2
  409. package/utils/escape.js +0 -9
  410. package/utils/escape.js.map +0 -1
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- /* eslint-disable max-len */
26
- const __1 = require("..");
27
- const builderError_1 = __importStar(require("../../errors/builderError"));
28
- const responseMapper_1 = __importDefault(require("../../mappers/responseMapper"));
29
- const insert_1 = __importDefault(require("../lowLvlBuilders/inserts/insert"));
30
- const abstractRequestBuilder_1 = __importDefault(require("./abstractRequestBuilder"));
31
- class InsertTRB extends abstractRequestBuilder_1.default {
32
- constructor(values, session, mappedServiceToDb, table, logger) {
33
- super(table, session, mappedServiceToDb, logger);
34
- this.execute = async () => {
35
- await this._execute();
36
- };
37
- this.onConflict = (callback, update) => {
38
- this._onConflictField = callback(this._table);
39
- const updates = [];
40
- Object.entries(update).forEach(([key, value]) => {
41
- const column = this._mappedServiceToDb[key];
42
- updates.push(__1.set(column, value));
43
- });
44
- this._onConflict = __1.combine(updates);
45
- return this;
46
- };
47
- this._execute = async () => {
48
- if (!this._values)
49
- throw Error('Values should be provided firestly\nExample: table.values().execute()');
50
- const queryBuilder = insert_1.default
51
- .into(this._table)
52
- .values(this._values)
53
- .onConflict(this._onConflict, this._onConflictField);
54
- let query = '';
55
- let values = [];
56
- try {
57
- const builderResult = queryBuilder.build();
58
- query = builderResult.query;
59
- values = builderResult.values;
60
- }
61
- catch (e) {
62
- throw new builderError_1.default(builderError_1.BuilderType.INSERT, this._table.tableName(), this._columns, e, this._session);
63
- }
64
- if (this._logger) {
65
- this._logger.info(`Inserting to ${this._table.tableName()} using query:\n ${query}\n${values}`);
66
- }
67
- const result = await this._session.execute(query, values);
68
- return responseMapper_1.default.map(this._mappedServiceToDb, result);
69
- };
70
- this._values = values;
71
- }
72
- }
73
- exports.default = InsertTRB;
74
- //# sourceMappingURL=insertRequestBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insertRequestBuilder.js","sourceRoot":"","sources":["../../../src/builders/highLvlBuilders/insertRequestBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,0BAAkC;AAIlC,0EAAsE;AAEtE,kFAA+D;AAG/D,8EAAsD;AAEtD,sFAA2D;AAE3D,MAAqB,SACnB,SAAQ,gCAAqC;IAK7C,YACE,MAA8B,EAC9B,OAAiB,EACjB,iBAAwF,EACxF,KAA4B,EAC5B,MAAmB;QAEnB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAI5C,YAAO,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;QAEK,eAAU,GAAG,CAClB,QAAqC,EACrC,MAAqC,EAClB,EAAE;YACrB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAiC,CAAC,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,OAAG,CAAC,MAAM,EAAE,KAAY,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,WAAO,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEQ,aAAQ,GAAG,KAAK,IAAqG,EAAE;YAC/H,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAExG,MAAM,YAAY,GAAG,gBAAM;iBACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBACjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACpB,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEvD,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI;gBACF,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3C,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC5B,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;aAC/B;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,IAAI,sBAAY,CAAC,0BAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtG;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;aACjG;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,wBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAA2F,CAAC;QAC5J,CAAC,CAAC;QA7CA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;CA6CF;AA5DD,4BA4DC"}
@@ -1,8 +0,0 @@
1
- import AbstractTable from '@/tables/abstractTable';
2
- import { FullOrPartial } from '@/tables/inferTypes';
3
- export default class JoinBuilderResponses<TResponses extends FullOrPartial<AbstractTable<any>, any>[]> {
4
- private responses;
5
- private responsesType;
6
- constructor(responses: TResponses[]);
7
- map: <M>(imac: (...args_0: TResponses) => M) => M[];
8
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class JoinBuilderResponses {
4
- constructor(responses) {
5
- this.responses = responses;
6
- this.map = (imac) => {
7
- const objects = new Array();
8
- for (let i = 0; i < this.responses[0].length; i += 1) {
9
- const responses = this.responses.map((res) => res[i]);
10
- objects.push(imac(...responses));
11
- }
12
- return objects;
13
- };
14
- }
15
- }
16
- exports.default = JoinBuilderResponses;
17
- //# sourceMappingURL=joinBuilderResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"joinBuilderResponse.js","sourceRoot":"","sources":["../../../../src/builders/highLvlBuilders/joins/joinBuilderResponse.ts"],"names":[],"mappings":";;AAGA,MAAqB,oBAAoB;IAIvC,YAA2B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAG3C,QAAG,GAAG,CAAI,IAAqC,EAAY,EAAE;YAClE,MAAM,OAAO,GAAG,IAAI,KAAK,EAAK,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAA4B,CAAC,CAAC,CAAC;aACrD;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IATF,CAAC;CAUF;AAfD,uCAeC"}
@@ -1,16 +0,0 @@
1
- import AbstractTable from '@/tables/abstractTable';
2
- import ColumnType from '../../../../columns/types/columnType';
3
- import { AbstractColumn } from '../../../../columns/column';
4
- export declare class JoinedColumn<TJoinedTableColumn extends AbstractColumn<ColumnType>> implements ProxyHandler<TJoinedTableColumn> {
5
- private tableObj;
6
- private aliasCounter;
7
- private parentName;
8
- constructor(tableObj: any, aliasCounter: number);
9
- get(columnObj: TJoinedTableColumn, prop: string): (() => string) | TJoinedTableColumn[keyof TJoinedTableColumn];
10
- }
11
- export declare class JoinedHandler<TJoinedTable extends AbstractTable<TJoinedTable>> implements ProxyHandler<TJoinedTable> {
12
- private aliasCounter;
13
- private tableName;
14
- constructor(aliasCounter: number);
15
- get(tableObj: TJoinedTable, prop: string | symbol, receiver: any): any;
16
- }
@@ -1,48 +0,0 @@
1
- "use strict";
2
- /* eslint-disable max-classes-per-file */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.JoinedHandler = exports.JoinedColumn = void 0;
5
- const column_1 = require("../../../../columns/column");
6
- class JoinedColumn {
7
- constructor(tableObj, aliasCounter) {
8
- this.tableObj = tableObj;
9
- this.aliasCounter = aliasCounter;
10
- this.parentName = 'getParentName';
11
- }
12
- get(columnObj, prop) {
13
- if (prop === this.parentName) {
14
- return () => `${this.tableObj.tableName()}_${this.aliasCounter}`;
15
- }
16
- return columnObj[prop];
17
- }
18
- }
19
- exports.JoinedColumn = JoinedColumn;
20
- class JoinedHandler {
21
- constructor(aliasCounter) {
22
- this.aliasCounter = aliasCounter;
23
- this.tableName = 'tableName';
24
- }
25
- get(tableObj, prop, receiver) {
26
- if (prop === this.tableName) {
27
- return () => `${tableObj.tableName()}_${this.aliasCounter}`;
28
- }
29
- const columnProp = tableObj[prop];
30
- if (columnProp instanceof column_1.AbstractColumn) {
31
- return new Proxy(columnProp, new JoinedColumn(tableObj, this.aliasCounter));
32
- }
33
- if (prop === 'mapServiceToDb') {
34
- return () => Object.getOwnPropertyNames(tableObj)
35
- .reduce((res, fieldName) => {
36
- const field1 = tableObj[fieldName];
37
- if (field1 instanceof column_1.AbstractColumn) {
38
- const field = new Proxy(field1, new JoinedColumn(tableObj, this.aliasCounter));
39
- res[fieldName] = field;
40
- }
41
- return res;
42
- }, {});
43
- }
44
- return tableObj[prop];
45
- }
46
- }
47
- exports.JoinedHandler = JoinedHandler;
48
- //# sourceMappingURL=joinProxies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"joinProxies.js","sourceRoot":"","sources":["../../../../../src/builders/highLvlBuilders/joins/proxies/joinProxies.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAKzC,uDAA4D;AAE5D,MAAa,YAAY;IAIvB,YAA2B,QAAa,EAAU,YAAoB;QAA3C,aAAQ,GAAR,QAAQ,CAAK;QAAU,iBAAY,GAAZ,YAAY,CAAQ;QAF9D,eAAU,GAAW,eAAe,CAAC;IAI7C,CAAC;IAEM,GAAG,CAAC,SAA6B,EAAE,IAAY;QACpD,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;YAC5B,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;SAClE;QAED,OAAO,SAAS,CAAC,IAA8B,CAAC,CAAC;IACnD,CAAC;CACF;AAfD,oCAeC;AAED,MAAa,aAAa;IAIxB,YAA2B,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;QAFvC,cAAS,GAAW,WAAW,CAAC;IAIxC,CAAC;IAEM,GAAG,CAAC,QAAsB,EAAE,IAAqB,EAAE,QAAa;QACrE,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE;YAC3B,OAAO,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;SAC7D;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAA6B,CAAC,CAAC;QAC3D,IAAI,UAAU,YAAY,uBAAc,EAAE;YACxC,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SAC7E;QACD,IAAI,IAAI,KAAK,gBAAgB,EAAE;YAC7B,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC;iBAC9C,MAAM,CACwB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAW,QAAQ,CAAC,SAA+B,CAAsB,CAAC;gBACtF,IAAI,MAAM,YAAY,uBAAc,EAAE;oBACpC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC/E,GAAG,CAAC,SAA6C,CAAC,GAAG,KAAK,CAAC;iBAC5D;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAA8E,CAAC,CAAC;SACpF;QACD,OAAO,QAAQ,CAAC,IAA0B,CAAC,CAAC;IAC9C,CAAC;CACF;AA9BD,sCA8BC"}
@@ -1,44 +0,0 @@
1
- import { ExtractPartialObjectFromColumns, FullOrPartial, PartialFor } from '../../../tables/inferTypes';
2
- import AbstractTable from '../../../tables/abstractTable';
3
- import BaseLogger from '../../../logger/abstractLogger';
4
- import ColumnType from '../../../columns/types/columnType';
5
- import { AbstractColumn } from '../../../columns/column';
6
- import Expr from '../../requestBuilders/where/where';
7
- import Order from '../order';
8
- import JoinBuilderResponses from './joinBuilderResponse';
9
- export interface JoinType<T extends AbstractTable<T>> {
10
- table: string;
11
- columns: ExtractPartialObjectFromColumns<T>;
12
- onExpression: Expr;
13
- type: string;
14
- originalName: string;
15
- }
16
- export declare type TableIfPartialIsUndefined<TPartial, TJoinedTableMapped> = TPartial extends undefined ? TJoinedTableMapped : TPartial;
17
- export declare type EmptyPartial<T extends AbstractTable<T>> = PartialFor<T> | undefined;
18
- export default class JoinBuilder<TJoins extends {
19
- [name: string]: any;
20
- }[], TJoinsResponses extends FullOrPartial<AbstractTable<any>, any>[]> {
21
- private joins;
22
- private aliasCounter;
23
- private rootTable;
24
- private _filter;
25
- private _props;
26
- private _orderBy?;
27
- private _order?;
28
- private _distinct?;
29
- private _partial?;
30
- private _logger?;
31
- private joinedTables;
32
- private joinResponses;
33
- constructor(joins: TJoins, onTableOriginalName: string, aliasCounter: number, onExpression: Expr, onTable: AbstractTable<any>, type: string, rootTable: AbstractTable<any>, _filter: Expr, _props: {
34
- limit?: number;
35
- offset?: number;
36
- }, _orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, _order?: Order | undefined, _distinct?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, _partial?: any, _logger?: BaseLogger | undefined);
37
- innerJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
38
- leftJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
39
- rightJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
40
- fullJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TPartial): JoinBuilder<[...TJoins, TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [...TJoinsResponses, FullOrPartial<TJoinedTable, TPartial>]>;
41
- where: (callback: (...args_0: TJoins) => Expr) => this;
42
- execute(): Promise<JoinBuilderResponses<TJoinsResponses>>;
43
- private join;
44
- }
@@ -1,114 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const responseMapper_1 = __importDefault(require("../../../mappers/responseMapper"));
26
- const builderError_1 = __importStar(require("../../../errors/builderError"));
27
- const select_1 = __importDefault(require("../../lowLvlBuilders/selects/select"));
28
- const joinBuilderResponse_1 = __importDefault(require("./joinBuilderResponse"));
29
- const joinProxies_1 = require("./proxies/joinProxies");
30
- class JoinBuilder {
31
- constructor(joins, onTableOriginalName, aliasCounter, onExpression, onTable, type, rootTable, _filter, _props, _orderBy, _order, _distinct, _partial, _logger) {
32
- this.joins = joins;
33
- this.aliasCounter = aliasCounter;
34
- this.rootTable = rootTable;
35
- this._filter = _filter;
36
- this._props = _props;
37
- this._orderBy = _orderBy;
38
- this._order = _order;
39
- this._distinct = _distinct;
40
- this._partial = _partial;
41
- this._logger = _logger;
42
- this.joinedTables = [];
43
- this.where = (callback) => {
44
- this._filter = callback(...this.joins);
45
- return this;
46
- };
47
- this.joinedTables.push({
48
- table: onTable.tableName(),
49
- columns: joins[1],
50
- originalName: onTableOriginalName,
51
- onExpression,
52
- type,
53
- });
54
- }
55
- innerJoin(value, callback, partial) {
56
- return this.join(value, callback, 'INNER JOIN', partial);
57
- }
58
- leftJoin(value, callback, partial) {
59
- return this.join(value, callback, 'LEFT JOIN', partial);
60
- }
61
- rightJoin(value, callback, partial) {
62
- return this.join(value, callback, 'RIGHT JOIN', partial);
63
- }
64
- fullJoin(value, callback, partial) {
65
- return this.join(value, callback, 'FULL JOIN', partial);
66
- }
67
- async execute() {
68
- const queryBuilder = select_1.default
69
- .from(this.rootTable, this._partial)
70
- .distinct(this._distinct)
71
- .joined(this.joinedTables)
72
- .limit(this._props.limit)
73
- .offset(this._props.offset)
74
- .filteredBy(this._filter)
75
- .orderBy(this._orderBy, this._order);
76
- let query = '';
77
- let values = [];
78
- try {
79
- const builderResult = queryBuilder.build();
80
- query = builderResult.query;
81
- values = builderResult.values;
82
- }
83
- catch (e) {
84
- throw new builderError_1.default(builderError_1.BuilderType.JOINED_SELECT, this.rootTable.tableName(), Object.values(this.rootTable.mapServiceToDb()), e, this.rootTable.db.session(), this._filter);
85
- }
86
- if (this._logger) {
87
- this._logger.info(`Selecting from ${this.rootTable.tableName()} using query:\n ${query}`);
88
- this._logger.info(`Values for query:\n ${values}`);
89
- }
90
- const result = await this.rootTable.db.session().execute(query, values);
91
- const mappedResponse = this.joins.map((joinedTable) => responseMapper_1.default.map(joinedTable, result));
92
- return new joinBuilderResponse_1.default(mappedResponse);
93
- }
94
- join(value, callback, joinType, partial) {
95
- this.aliasCounter += 1;
96
- const valueAsProxy = new Proxy(value, new joinProxies_1.JoinedHandler(this.aliasCounter));
97
- if (partial) {
98
- for (const key of Object.keys(partial)) {
99
- // eslint-disable-next-line no-param-reassign
100
- partial[key] = new Proxy(partial[key], new joinProxies_1.JoinedColumn(value, this.aliasCounter));
101
- }
102
- }
103
- const obj = partial ? partial
104
- : valueAsProxy.mapServiceToDb();
105
- const onExpression = callback(...this.joins, obj);
106
- this.joins.push(partial !== null && partial !== void 0 ? partial : valueAsProxy.mapServiceToDb());
107
- this.joinedTables.push({
108
- table: valueAsProxy.tableName(), columns: obj, originalName: value.tableName(), onExpression, type: joinType,
109
- });
110
- return this;
111
- }
112
- }
113
- exports.default = JoinBuilder;
114
- //# sourceMappingURL=selectJoinBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectJoinBuilder.js","sourceRoot":"","sources":["../../../../src/builders/highLvlBuilders/joins/selectJoinBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- declare enum Order {
2
- ASC = 0,
3
- DESC = 1
4
- }
5
- export default Order;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var Order;
4
- (function (Order) {
5
- Order[Order["ASC"] = 0] = "ASC";
6
- Order[Order["DESC"] = 1] = "DESC";
7
- })(Order || (Order = {}));
8
- exports.default = Order;
9
- //# sourceMappingURL=order.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../src/builders/highLvlBuilders/order.ts"],"names":[],"mappings":";;AAAA,IAAK,KAGJ;AAHD,WAAK,KAAK;IACR,+BAAG,CAAA;IACH,iCAAI,CAAA;AACN,CAAC,EAHI,KAAK,KAAL,KAAK,QAGT;AAAC,kBAAe,KAAK,CAAC"}
@@ -1,63 +0,0 @@
1
- import { AbstractColumn } from '../../columns/column';
2
- import ColumnType from '../../columns/types/columnType';
3
- import DB from '../../db/db';
4
- import { ISession } from '../../db/session';
5
- import BaseLogger from '../../logger/abstractLogger';
6
- import { AbstractTable } from '../../tables';
7
- import { ExtractModel, ExtractPartialObjectFromColumns, FullOrPartial, PartialFor } from '../../tables/inferTypes';
8
- import SelectTRBWithJoin from '../joinBuilders/builders/selectWithJoin';
9
- import Expr from '../requestBuilders/where/where';
10
- import TableRequestBuilder from './abstractRequestBuilder';
11
- import JoinBuilder, { EmptyPartial, TableIfPartialIsUndefined } from './joins/selectJoinBuilder';
12
- import Order from './order';
13
- export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial extends EmptyPartial<TTable> = undefined> extends TableRequestBuilder<TTable, TPartial> {
14
- protected _filter: Expr;
15
- private props;
16
- private __orderBy?;
17
- private __groupBy?;
18
- private __order?;
19
- private __distinct;
20
- private __partial?;
21
- constructor(session: ISession, mappedServiceToDb: {
22
- [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
23
- }, props: {
24
- limit?: number;
25
- offset?: number;
26
- }, table: AbstractTable<TTable>, logger?: BaseLogger, partial?: TPartial);
27
- private join;
28
- innerJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
29
- leftJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
30
- rightJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
31
- fullJoin<TJoinedTable extends AbstractTable<TJoinedTable>, TJoinedPartial extends EmptyPartial<TJoinedTable> = undefined>(value: TJoinedTable, callback: (...args: [TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>]) => Expr, partial?: TJoinedPartial): JoinBuilder<[TableIfPartialIsUndefined<TPartial, ExtractPartialObjectFromColumns<TTable>>, TableIfPartialIsUndefined<TJoinedPartial, ExtractPartialObjectFromColumns<TJoinedTable>>], [FullOrPartial<TTable, TPartial>, FullOrPartial<TJoinedTable, TJoinedPartial>]>;
32
- where: (expr: Expr) => Omit<this, 'leftJoin' | 'rightJoin' | 'innerJoin' | 'fullJoin'>;
33
- orderBy<TColumnType extends ColumnType>(callback: (table: TTable) => AbstractColumn<TColumnType, boolean, boolean>, order: Order): SelectTRB<TTable, TPartial>;
34
- distinct: (column: AbstractColumn<ColumnType<any>, boolean, boolean>) => SelectTRB<TTable, TPartial>;
35
- limit: (limit: number) => SelectTRB<TTable, TPartial>;
36
- offset: (offset: number) => SelectTRB<TTable, TPartial>;
37
- /**
38
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link innerJoinV2()} instead
39
- */
40
- innerJoinV1<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable>>(table: {
41
- new (db: DB): IToTable;
42
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
43
- /**
44
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link leftJoin()} instead
45
- */
46
- leftJoinV1<TColumn extends ColumnType<any>, IToColumn extends ColumnType<any>, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
47
- new (db: DB): IToTable;
48
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean, TTable>, to: (table: IToTable) => AbstractColumn<IToColumn, boolean, boolean, IToTable>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
49
- /**
50
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link rightJoin()} instead
51
- */
52
- rightJoinV1<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
53
- new (db: DB): IToTable;
54
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
55
- /**
56
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link fullJoin()} instead
57
- */
58
- fullJoinV1<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
59
- new (db: DB): IToTable;
60
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial extends undefined ? {} : TPartial, IToPartial>;
61
- execute: () => Promise<([keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>)[]>;
62
- protected _execute: () => Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
63
- }
@@ -1,171 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const __1 = require("..");
26
- const builderError_1 = __importStar(require("../../errors/builderError"));
27
- const responseMapper_1 = __importDefault(require("../../mappers/responseMapper"));
28
- const selectWithJoin_1 = __importDefault(require("../joinBuilders/builders/selectWithJoin"));
29
- const join_1 = require("../joinBuilders/join");
30
- const abstractRequestBuilder_1 = __importDefault(require("./abstractRequestBuilder"));
31
- const joinProxies_1 = require("./joins/proxies/joinProxies");
32
- const selectJoinBuilder_1 = __importDefault(require("./joins/selectJoinBuilder"));
33
- class SelectTRB extends abstractRequestBuilder_1.default {
34
- constructor(session, mappedServiceToDb, props, table, logger, partial) {
35
- super(table, session, mappedServiceToDb, logger);
36
- this.where = (expr) => {
37
- this._filter = expr;
38
- return this;
39
- };
40
- this.distinct = (column) => {
41
- this.__distinct = column;
42
- return this;
43
- };
44
- this.limit = (limit) => {
45
- this.props.limit = limit;
46
- return this;
47
- };
48
- this.offset = (offset) => {
49
- this.props.offset = offset;
50
- return this;
51
- };
52
- this.execute = async () => {
53
- const res = await this._execute();
54
- return res;
55
- };
56
- this._execute = async () => {
57
- // Select.from().filteredBy().limit().offset().orderBy().groupBy().build()
58
- const queryBuilder = __1.Select
59
- .from(this._table, this.__partial)
60
- .distinct(this.__distinct)
61
- .filteredBy(this._filter)
62
- .limit(this.props.limit)
63
- .offset(this.props.offset)
64
- .orderBy(this.__orderBy, this.__order);
65
- let query = '';
66
- let values = [];
67
- try {
68
- const builderResult = queryBuilder.build();
69
- query = builderResult.query;
70
- values = builderResult.values;
71
- }
72
- catch (e) {
73
- throw new builderError_1.default(builderError_1.BuilderType.SELECT, this._table.tableName(), this._columns, e, this._session, this._filter);
74
- }
75
- if (this._logger) {
76
- this._logger.info(`Selecting from ${this._table.tableName()} using query:\n ${query}`);
77
- this._logger.info(`Values for query:\n ${values}`);
78
- }
79
- const result = await this._session.execute(query, values);
80
- if (this.__partial) {
81
- return responseMapper_1.default.partialMap(this.__partial, result);
82
- }
83
- return responseMapper_1.default.map(this._mappedServiceToDb, result);
84
- };
85
- this.props = props;
86
- this.__partial = partial;
87
- }
88
- join(value, callback, joinType, partial) {
89
- const valueAsProxy = new Proxy(value, new joinProxies_1.JoinedHandler(1));
90
- if (partial) {
91
- for (const key of Object.keys(partial)) {
92
- // eslint-disable-next-line no-param-reassign
93
- partial[key] = new Proxy(partial[key], new joinProxies_1.JoinedColumn(value, 1));
94
- }
95
- }
96
- const obj = this.__partial ? this.__partial
97
- : this._table.mapServiceToDb();
98
- const obj1 = partial ? partial
99
- : valueAsProxy.mapServiceToDb();
100
- const joinExpression = callback(obj, obj1);
101
- return new selectJoinBuilder_1.default([obj, obj1], value.tableName(), 1, joinExpression, valueAsProxy, joinType, this._table, this._filter, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, this._logger);
102
- }
103
- innerJoin(value, callback, partial) {
104
- return this.join(value, callback, 'INNER JOIN', partial);
105
- }
106
- leftJoin(value, callback, partial) {
107
- return this.join(value, callback, 'LEFT JOIN', partial);
108
- }
109
- rightJoin(value, callback, partial) {
110
- return this.join(value, callback, 'RIGHT JOIN', partial);
111
- }
112
- fullJoin(value, callback, partial) {
113
- return this.join(value, callback, 'FULL JOIN', partial);
114
- }
115
- orderBy(callback, order) {
116
- this.__orderBy = callback(this._table);
117
- this.__order = order;
118
- return this;
119
- }
120
- // public groupBy(callback: (table: TTable) => Column<ColumnType, boolean, boolean>)
121
- // : SelectTRB<TTable> {
122
- // this.__groupBy = callback(this.__table);
123
- // return this;
124
- // }
125
- /**
126
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link innerJoinV2()} instead
127
- */
128
- innerJoinV1(table, from, to, partial) {
129
- const toTable = this._table.db.create(table);
130
- const fromColumn = from(this._table);
131
- const toColumn = to(toTable);
132
- const join = new __1.JoinWith(toTable.tableName(), toTable.mapServiceToDb())
133
- .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.INNER_JOIN);
134
- return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
135
- }
136
- /**
137
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link leftJoin()} instead
138
- */
139
- leftJoinV1(table, from, to, partial) {
140
- const toTable = this._table.db.create(table);
141
- const fromColumn = from(this._table);
142
- const toColumn = to(toTable);
143
- const join = new __1.JoinWith(toTable.tableName(), toTable.mapServiceToDb())
144
- .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.LEFT_JOIN);
145
- return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
146
- }
147
- /**
148
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link rightJoin()} instead
149
- */
150
- rightJoinV1(table, from, to, partial) {
151
- const toTable = this._table.db.create(table);
152
- const fromColumn = from(this._table);
153
- const toColumn = to(toTable);
154
- const join = new __1.JoinWith(toTable.tableName(), toTable.mapServiceToDb())
155
- .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.RIGHT_JOIN);
156
- return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
157
- }
158
- /**
159
- * @deprecated Since version 0.11.0. Will be deleted in version 0.12.0. Use {@link fullJoin()} instead
160
- */
161
- fullJoinV1(table, from, to, partial) {
162
- const toTable = this._table.db.create(table);
163
- const fromColumn = from(this._table);
164
- const toColumn = to(toTable);
165
- const join = new __1.JoinWith(toTable.tableName(), toTable.mapServiceToDb())
166
- .columns(fromColumn, toColumn).joinStrategy(join_1.JoinStrategy.FULL_JOIN);
167
- return new selectWithJoin_1.default(this._table, this._session, this._filter, join, this.props, this.__orderBy, this.__order, this.__distinct, this.__partial, partial, this._logger);
168
- }
169
- }
170
- exports.default = SelectTRB;
171
- //# sourceMappingURL=selectRequestBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectRequestBuilder.js","sourceRoot":"","sources":["../../../src/builders/highLvlBuilders/selectRequestBuilder.ts"],"names":[],"mappings":"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"}