drizzle-orm 0.10.29 → 0.10.32

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 (363) hide show
  1. package/{dist/index.js → index.js} +0 -0
  2. package/package.json +7 -5
  3. package/.eslintrc +0 -28
  4. package/.tslintignore +0 -1
  5. package/CHANGELOG.md +0 -202
  6. package/README.md +0 -439
  7. package/dist/builders/aggregators/abstractAggregator.d.ts +0 -11
  8. package/dist/builders/aggregators/abstractAggregator.js +0 -35
  9. package/dist/builders/aggregators/deleteAggregator.d.ts +0 -16
  10. package/dist/builders/aggregators/deleteAggregator.js +0 -42
  11. package/dist/builders/aggregators/insertAggregator.d.ts +0 -22
  12. package/dist/builders/aggregators/insertAggregator.js +0 -106
  13. package/dist/builders/aggregators/selectAggregator.d.ts +0 -39
  14. package/dist/builders/aggregators/selectAggregator.js +0 -143
  15. package/dist/builders/aggregators/updateAggregator.d.ts +0 -19
  16. package/dist/builders/aggregators/updateAggregator.js +0 -50
  17. package/dist/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
  18. package/dist/builders/highLvlBuilders/abstractRequestBuilder.js +0 -32
  19. package/dist/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
  20. package/dist/builders/highLvlBuilders/deleteRequestBuilder.js +0 -61
  21. package/dist/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
  22. package/dist/builders/highLvlBuilders/insertRequestBuilder.js +0 -73
  23. package/dist/builders/highLvlBuilders/order.d.ts +0 -5
  24. package/dist/builders/highLvlBuilders/order.js +0 -8
  25. package/dist/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -47
  26. package/dist/builders/highLvlBuilders/selectRequestBuilder.js +0 -128
  27. package/dist/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
  28. package/dist/builders/highLvlBuilders/updateRequestBuilder.js +0 -80
  29. package/dist/builders/index.d.ts +0 -18
  30. package/dist/builders/index.js +0 -54
  31. package/dist/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -40
  32. package/dist/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -78
  33. package/dist/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -35
  34. package/dist/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -45
  35. package/dist/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -55
  36. package/dist/builders/joinBuilders/builders/selectWithFourJoins.js +0 -78
  37. package/dist/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -49
  38. package/dist/builders/joinBuilders/builders/selectWithJoin.js +0 -64
  39. package/dist/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -53
  40. package/dist/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -73
  41. package/dist/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -51
  42. package/dist/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -68
  43. package/dist/builders/joinBuilders/join.d.ts +0 -23
  44. package/dist/builders/joinBuilders/join.js +0 -28
  45. package/dist/builders/joinBuilders/joinWith.d.ts +0 -14
  46. package/dist/builders/joinBuilders/joinWith.js +0 -14
  47. package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
  48. package/dist/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -35
  49. package/dist/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
  50. package/dist/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -34
  51. package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
  52. package/dist/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -33
  53. package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
  54. package/dist/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -32
  55. package/dist/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
  56. package/dist/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -31
  57. package/dist/builders/joinBuilders/static.d.ts +0 -5
  58. package/dist/builders/joinBuilders/static.js +0 -9
  59. package/dist/builders/lowLvlBuilders/alter.d.ts +0 -0
  60. package/dist/builders/lowLvlBuilders/alter.js +0 -1
  61. package/dist/builders/lowLvlBuilders/create.d.ts +0 -12
  62. package/dist/builders/lowLvlBuilders/create.js +0 -100
  63. package/dist/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
  64. package/dist/builders/lowLvlBuilders/delets/delete.js +0 -15
  65. package/dist/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
  66. package/dist/builders/lowLvlBuilders/delets/deleteFilter.js +0 -13
  67. package/dist/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
  68. package/dist/builders/lowLvlBuilders/delets/deleteFrom.js +0 -14
  69. package/dist/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
  70. package/dist/builders/lowLvlBuilders/inserts/insert.js +0 -15
  71. package/dist/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
  72. package/dist/builders/lowLvlBuilders/inserts/insertInto.js +0 -16
  73. package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
  74. package/dist/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -13
  75. package/dist/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
  76. package/dist/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -19
  77. package/dist/builders/lowLvlBuilders/selects/select.d.ts +0 -9
  78. package/dist/builders/lowLvlBuilders/selects/select.js +0 -16
  79. package/dist/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -28
  80. package/dist/builders/lowLvlBuilders/selects/selectFrom.js +0 -34
  81. package/dist/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -26
  82. package/dist/builders/lowLvlBuilders/selects/selectJoined.js +0 -30
  83. package/dist/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -17
  84. package/dist/builders/lowLvlBuilders/selects/whereSelect.js +0 -25
  85. package/dist/builders/lowLvlBuilders/updates/update.d.ts +0 -5
  86. package/dist/builders/lowLvlBuilders/updates/update.js +0 -15
  87. package/dist/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
  88. package/dist/builders/lowLvlBuilders/updates/updateIn.js +0 -15
  89. package/dist/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
  90. package/dist/builders/lowLvlBuilders/updates/whereSelect.js +0 -13
  91. package/dist/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
  92. package/dist/builders/lowLvlBuilders/updates/whereSet.js +0 -18
  93. package/dist/builders/requestBuilders/updates/combine.d.ts +0 -9
  94. package/dist/builders/requestBuilders/updates/combine.js +0 -26
  95. package/dist/builders/requestBuilders/updates/increment.d.ts +0 -13
  96. package/dist/builders/requestBuilders/updates/increment.js +0 -18
  97. package/dist/builders/requestBuilders/updates/setObjects.d.ts +0 -12
  98. package/dist/builders/requestBuilders/updates/setObjects.js +0 -19
  99. package/dist/builders/requestBuilders/updates/static.d.ts +0 -7
  100. package/dist/builders/requestBuilders/updates/static.js +0 -15
  101. package/dist/builders/requestBuilders/updates/updates.d.ts +0 -9
  102. package/dist/builders/requestBuilders/updates/updates.js +0 -10
  103. package/dist/builders/requestBuilders/where/and.d.ts +0 -11
  104. package/dist/builders/requestBuilders/where/and.js +0 -31
  105. package/dist/builders/requestBuilders/where/const.d.ts +0 -9
  106. package/dist/builders/requestBuilders/where/const.js +0 -25
  107. package/dist/builders/requestBuilders/where/constArray.d.ts +0 -9
  108. package/dist/builders/requestBuilders/where/constArray.js +0 -39
  109. package/dist/builders/requestBuilders/where/eqWhere.d.ts +0 -12
  110. package/dist/builders/requestBuilders/where/eqWhere.js +0 -20
  111. package/dist/builders/requestBuilders/where/greater.d.ts +0 -15
  112. package/dist/builders/requestBuilders/where/greater.js +0 -20
  113. package/dist/builders/requestBuilders/where/greaterEq.d.ts +0 -15
  114. package/dist/builders/requestBuilders/where/greaterEq.js +0 -20
  115. package/dist/builders/requestBuilders/where/in.d.ts +0 -12
  116. package/dist/builders/requestBuilders/where/in.js +0 -20
  117. package/dist/builders/requestBuilders/where/isNotNull.d.ts +0 -11
  118. package/dist/builders/requestBuilders/where/isNotNull.js +0 -18
  119. package/dist/builders/requestBuilders/where/isNull.d.ts +0 -11
  120. package/dist/builders/requestBuilders/where/isNull.js +0 -18
  121. package/dist/builders/requestBuilders/where/less.d.ts +0 -15
  122. package/dist/builders/requestBuilders/where/less.js +0 -20
  123. package/dist/builders/requestBuilders/where/lessEq.d.ts +0 -15
  124. package/dist/builders/requestBuilders/where/lessEq.js +0 -20
  125. package/dist/builders/requestBuilders/where/like.d.ts +0 -12
  126. package/dist/builders/requestBuilders/where/like.js +0 -20
  127. package/dist/builders/requestBuilders/where/notEqWhere.d.ts +0 -12
  128. package/dist/builders/requestBuilders/where/notEqWhere.js +0 -20
  129. package/dist/builders/requestBuilders/where/or.d.ts +0 -11
  130. package/dist/builders/requestBuilders/where/or.js +0 -31
  131. package/dist/builders/requestBuilders/where/rawWhere.d.ts +0 -9
  132. package/dist/builders/requestBuilders/where/rawWhere.js +0 -15
  133. package/dist/builders/requestBuilders/where/static.d.ts +0 -17
  134. package/dist/builders/requestBuilders/where/static.js +0 -49
  135. package/dist/builders/requestBuilders/where/var.d.ts +0 -13
  136. package/dist/builders/requestBuilders/where/var.js +0 -18
  137. package/dist/builders/requestBuilders/where/where.d.ts +0 -8
  138. package/dist/builders/requestBuilders/where/where.js +0 -6
  139. package/dist/builders/transaction/transaction.d.ts +0 -8
  140. package/dist/builders/transaction/transaction.js +0 -20
  141. package/dist/columns/column.d.ts +0 -72
  142. package/dist/columns/column.js +0 -101
  143. package/dist/columns/index.d.ts +0 -10
  144. package/dist/columns/index.js +0 -27
  145. package/dist/columns/types/columnType.d.ts +0 -7
  146. package/dist/columns/types/columnType.js +0 -6
  147. package/dist/columns/types/pgBigDecimal.d.ts +0 -10
  148. package/dist/columns/types/pgBigDecimal.js +0 -31
  149. package/dist/columns/types/pgBigInt.d.ts +0 -15
  150. package/dist/columns/types/pgBigInt.js +0 -32
  151. package/dist/columns/types/pgBigSerial.d.ts +0 -15
  152. package/dist/columns/types/pgBigSerial.js +0 -32
  153. package/dist/columns/types/pgBoolean.d.ts +0 -8
  154. package/dist/columns/types/pgBoolean.js +0 -18
  155. package/dist/columns/types/pgEnum.d.ts +0 -9
  156. package/dist/columns/types/pgEnum.js +0 -18
  157. package/dist/columns/types/pgInteger.d.ts +0 -8
  158. package/dist/columns/types/pgInteger.js +0 -21
  159. package/dist/columns/types/pgJsonb.d.ts +0 -9
  160. package/dist/columns/types/pgJsonb.js +0 -20
  161. package/dist/columns/types/pgSerial.d.ts +0 -8
  162. package/dist/columns/types/pgSerial.js +0 -18
  163. package/dist/columns/types/pgSmallInt.d.ts +0 -8
  164. package/dist/columns/types/pgSmallInt.js +0 -18
  165. package/dist/columns/types/pgText.d.ts +0 -8
  166. package/dist/columns/types/pgText.js +0 -18
  167. package/dist/columns/types/pgTime.d.ts +0 -8
  168. package/dist/columns/types/pgTime.js +0 -18
  169. package/dist/columns/types/pgTimestamp.d.ts +0 -8
  170. package/dist/columns/types/pgTimestamp.js +0 -18
  171. package/dist/columns/types/pgTimestamptz.d.ts +0 -8
  172. package/dist/columns/types/pgTimestamptz.js +0 -18
  173. package/dist/columns/types/pgVarChar.d.ts +0 -9
  174. package/dist/columns/types/pgVarChar.js +0 -24
  175. package/dist/db/db.d.ts +0 -18
  176. package/dist/db/db.js +0 -25
  177. package/dist/db/dbConnector.d.ts +0 -9
  178. package/dist/db/dbConnector.js +0 -32
  179. package/dist/db/dbStringConnector.d.ts +0 -6
  180. package/dist/db/dbStringConnector.js +0 -29
  181. package/dist/db/group_by.d.ts +0 -0
  182. package/dist/db/group_by.js +0 -68
  183. package/dist/db/index.d.ts +0 -4
  184. package/dist/db/index.js +0 -14
  185. package/dist/db/session.d.ts +0 -9
  186. package/dist/db/session.js +0 -16
  187. package/dist/docs/cases/simple_delete.d.ts +0 -1
  188. package/dist/docs/cases/simple_delete.js +0 -35
  189. package/dist/docs/cases/simple_insert.d.ts +0 -1
  190. package/dist/docs/cases/simple_insert.js +0 -57
  191. package/dist/docs/cases/simple_join.d.ts +0 -1
  192. package/dist/docs/cases/simple_join.js +0 -115
  193. package/dist/docs/cases/simple_select.d.ts +0 -1
  194. package/dist/docs/cases/simple_select.js +0 -50
  195. package/dist/docs/cases/simple_update.d.ts +0 -1
  196. package/dist/docs/cases/simple_update.js +0 -39
  197. package/dist/docs/tables/citiesTable.d.ts +0 -14
  198. package/dist/docs/tables/citiesTable.js +0 -21
  199. package/dist/docs/tables/userGroupsTable.d.ts +0 -7
  200. package/dist/docs/tables/userGroupsTable.js +0 -18
  201. package/dist/docs/tables/usersTable.d.ts +0 -17
  202. package/dist/docs/tables/usersTable.js +0 -35
  203. package/dist/docs/tables/usersToUserGroups.d.ts +0 -7
  204. package/dist/docs/tables/usersToUserGroups.js +0 -20
  205. package/dist/docs/types/rolesType.d.ts +0 -1
  206. package/dist/docs/types/rolesType.js +0 -6
  207. package/dist/errors/baseError.d.ts +0 -22
  208. package/dist/errors/baseError.js +0 -35
  209. package/dist/errors/builderError.d.ts +0 -14
  210. package/dist/errors/builderError.js +0 -25
  211. package/dist/errors/dbErrors.d.ts +0 -12
  212. package/dist/errors/dbErrors.js +0 -28
  213. package/dist/index.d.ts +0 -11
  214. package/dist/indexes/tableIndex.d.ts +0 -11
  215. package/dist/indexes/tableIndex.js +0 -17
  216. package/dist/logger/abstractLogger.d.ts +0 -4
  217. package/dist/logger/abstractLogger.js +0 -5
  218. package/dist/logger/consoleLogger.d.ts +0 -5
  219. package/dist/logger/consoleLogger.js +0 -15
  220. package/dist/mappers/index.d.ts +0 -0
  221. package/dist/mappers/index.js +0 -1
  222. package/dist/mappers/responseMapper.d.ts +0 -10
  223. package/dist/mappers/responseMapper.js +0 -35
  224. package/dist/migrator/index.d.ts +0 -0
  225. package/dist/migrator/index.js +0 -1
  226. package/dist/migrator/migrator.d.ts +0 -11
  227. package/dist/migrator/migrator.js +0 -105
  228. package/dist/serializer/serializer.d.ts +0 -47
  229. package/dist/serializer/serializer.js +0 -258
  230. package/dist/tables/abstractTable.d.ts +0 -68
  231. package/dist/tables/abstractTable.js +0 -151
  232. package/dist/tables/index.d.ts +0 -3
  233. package/dist/tables/index.js +0 -11
  234. package/dist/tables/inferTypes.d.ts +0 -39
  235. package/dist/tables/inferTypes.js +0 -2
  236. package/dist/tables/migrationsTable.d.ts +0 -7
  237. package/dist/tables/migrationsTable.js +0 -18
  238. package/dist/test.d.ts +0 -1
  239. package/dist/test.js +0 -65
  240. package/dist/types/type.d.ts +0 -10
  241. package/dist/types/type.js +0 -14
  242. package/dist/utils/ecranate.d.ts +0 -2
  243. package/dist/utils/ecranate.js +0 -8
  244. package/pnpm-lock.yaml +0 -1842
  245. package/src/builders/aggregators/abstractAggregator.ts +0 -41
  246. package/src/builders/aggregators/deleteAggregator.ts +0 -44
  247. package/src/builders/aggregators/insertAggregator.ts +0 -120
  248. package/src/builders/aggregators/selectAggregator.ts +0 -163
  249. package/src/builders/aggregators/updateAggregator.ts +0 -56
  250. package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -51
  251. package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
  252. package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -75
  253. package/src/builders/highLvlBuilders/order.ts +0 -4
  254. package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -229
  255. package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -80
  256. package/src/builders/index.ts +0 -21
  257. package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -98
  258. package/src/builders/joinBuilders/builders/selectWithFiveJoins.ts +0 -110
  259. package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -254
  260. package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -189
  261. package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -231
  262. package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -210
  263. package/src/builders/joinBuilders/join.ts +0 -40
  264. package/src/builders/joinBuilders/joinWith.ts +0 -21
  265. package/src/builders/joinBuilders/responses/selectResponseFiveJoins.ts +0 -82
  266. package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -73
  267. package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -64
  268. package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -57
  269. package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -49
  270. package/src/builders/joinBuilders/static.ts +0 -9
  271. package/src/builders/lowLvlBuilders/alter.ts +0 -0
  272. package/src/builders/lowLvlBuilders/create.ts +0 -115
  273. package/src/builders/lowLvlBuilders/delets/delete.ts +0 -13
  274. package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
  275. package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
  276. package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -11
  277. package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -16
  278. package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
  279. package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -27
  280. package/src/builders/lowLvlBuilders/selects/select.ts +0 -14
  281. package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -50
  282. package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -44
  283. package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -36
  284. package/src/builders/lowLvlBuilders/updates/update.ts +0 -13
  285. package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -17
  286. package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
  287. package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
  288. package/src/builders/requestBuilders/updates/combine.ts +0 -34
  289. package/src/builders/requestBuilders/updates/increment.ts +0 -24
  290. package/src/builders/requestBuilders/updates/setObjects.ts +0 -27
  291. package/src/builders/requestBuilders/updates/static.ts +0 -15
  292. package/src/builders/requestBuilders/updates/updates.ts +0 -8
  293. package/src/builders/requestBuilders/where/and.ts +0 -35
  294. package/src/builders/requestBuilders/where/const.ts +0 -23
  295. package/src/builders/requestBuilders/where/constArray.ts +0 -37
  296. package/src/builders/requestBuilders/where/eqWhere.ts +0 -20
  297. package/src/builders/requestBuilders/where/greater.ts +0 -20
  298. package/src/builders/requestBuilders/where/greaterEq.ts +0 -20
  299. package/src/builders/requestBuilders/where/in.ts +0 -20
  300. package/src/builders/requestBuilders/where/isNotNull.ts +0 -17
  301. package/src/builders/requestBuilders/where/isNull.ts +0 -17
  302. package/src/builders/requestBuilders/where/less.ts +0 -20
  303. package/src/builders/requestBuilders/where/lessEq.ts +0 -20
  304. package/src/builders/requestBuilders/where/like.ts +0 -20
  305. package/src/builders/requestBuilders/where/notEqWhere.ts +0 -20
  306. package/src/builders/requestBuilders/where/or.ts +0 -35
  307. package/src/builders/requestBuilders/where/rawWhere.ts +0 -10
  308. package/src/builders/requestBuilders/where/static.ts +0 -60
  309. package/src/builders/requestBuilders/where/var.ts +0 -19
  310. package/src/builders/requestBuilders/where/where.ts +0 -5
  311. package/src/builders/transaction/transaction.ts +0 -21
  312. package/src/columns/column.ts +0 -195
  313. package/src/columns/index.ts +0 -10
  314. package/src/columns/types/columnType.ts +0 -8
  315. package/src/columns/types/pgBigDecimal.ts +0 -29
  316. package/src/columns/types/pgBigInt.ts +0 -36
  317. package/src/columns/types/pgBigSerial.ts +0 -36
  318. package/src/columns/types/pgBoolean.ts +0 -18
  319. package/src/columns/types/pgEnum.ts +0 -17
  320. package/src/columns/types/pgInteger.ts +0 -21
  321. package/src/columns/types/pgJsonb.ts +0 -21
  322. package/src/columns/types/pgSerial.ts +0 -18
  323. package/src/columns/types/pgSmallInt.ts +0 -18
  324. package/src/columns/types/pgText.ts +0 -18
  325. package/src/columns/types/pgTime.ts +0 -18
  326. package/src/columns/types/pgTimestamp.ts +0 -18
  327. package/src/columns/types/pgTimestamptz.ts +0 -18
  328. package/src/columns/types/pgVarChar.ts +0 -24
  329. package/src/db/db.ts +0 -43
  330. package/src/db/dbConnector.ts +0 -30
  331. package/src/db/dbStringConnector.ts +0 -29
  332. package/src/db/group_by.ts +0 -75
  333. package/src/db/index.ts +0 -4
  334. package/src/db/session.ts +0 -16
  335. package/src/docs/cases/simple_delete.ts +0 -35
  336. package/src/docs/cases/simple_insert.ts +0 -65
  337. package/src/docs/cases/simple_join.ts +0 -140
  338. package/src/docs/cases/simple_select.ts +0 -72
  339. package/src/docs/cases/simple_update.ts +0 -40
  340. package/src/docs/tables/citiesTable.ts +0 -22
  341. package/src/docs/tables/userGroupsTable.ts +0 -12
  342. package/src/docs/tables/usersTable.ts +0 -33
  343. package/src/docs/tables/usersToUserGroups.ts +0 -14
  344. package/src/docs/types/rolesType.ts +0 -4
  345. package/src/errors/baseError.ts +0 -47
  346. package/src/errors/builderError.ts +0 -31
  347. package/src/errors/dbErrors.ts +0 -24
  348. package/src/index.ts +0 -20
  349. package/src/indexes/tableIndex.ts +0 -25
  350. package/src/logger/abstractLogger.ts +0 -4
  351. package/src/logger/consoleLogger.ts +0 -11
  352. package/src/mappers/index.ts +0 -0
  353. package/src/mappers/responseMapper.ts +0 -46
  354. package/src/migrator/index.ts +0 -0
  355. package/src/migrator/migrator.ts +0 -97
  356. package/src/serializer/serializer.ts +0 -336
  357. package/src/tables/abstractTable.ts +0 -188
  358. package/src/tables/index.ts +0 -4
  359. package/src/tables/inferTypes.ts +0 -67
  360. package/src/tables/migrationsTable.ts +0 -11
  361. package/src/types/type.ts +0 -15
  362. package/src/utils/ecranate.ts +0 -4
  363. package/tsconfig.json +0 -14
@@ -1,39 +0,0 @@
1
- import { AbstractColumn } from '../../columns/column';
2
- import ColumnType from '../../columns/types/columnType';
3
- import { AbstractTable } from '../../tables';
4
- import Order from '../highLvlBuilders/order';
5
- import Join from '../joinBuilders/join';
6
- import Expr from '../requestBuilders/where/where';
7
- import Aggregator from './abstractAggregator';
8
- export default class SelectAggregator extends Aggregator {
9
- private _from;
10
- private _filters;
11
- private _select;
12
- private _join;
13
- private _limit;
14
- private _offset;
15
- private _distinct;
16
- private _orderBy;
17
- private _values;
18
- private _joinCache;
19
- constructor(table: AbstractTable<any>, partial?: {
20
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, AbstractTable<any>>;
21
- });
22
- filters: (filters: Expr) => SelectAggregator;
23
- limit: (limit?: number | undefined) => SelectAggregator;
24
- offset: (offset?: number | undefined) => SelectAggregator;
25
- orderBy: (column?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined, order?: Order | undefined) => SelectAggregator;
26
- distinct: (column?: AbstractColumn<ColumnType<{}>, boolean, boolean, any> | undefined) => SelectAggregator;
27
- appendFrom: (tableName: string) => SelectAggregator;
28
- join: (joins: {
29
- join: Join<any>;
30
- partial?: {
31
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>;
32
- } | undefined;
33
- id?: number | undefined;
34
- }[]) => SelectAggregator;
35
- buildQuery: () => {
36
- query: string;
37
- values: Array<any>;
38
- };
39
- }
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const ecranate_1 = require("../../utils/ecranate");
7
- const order_1 = __importDefault(require("../highLvlBuilders/order"));
8
- const abstractAggregator_1 = __importDefault(require("./abstractAggregator"));
9
- class SelectAggregator extends abstractAggregator_1.default {
10
- // public constructor(table: AbstractTable<any>);
11
- // public constructor(table: AbstractTable<any>, partial: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, AbstractTable<any>>})
12
- constructor(table, partial) {
13
- super(table, partial);
14
- this._from = [];
15
- this._filters = [];
16
- this._select = ['SELECT'];
17
- this._join = [];
18
- this._limit = [];
19
- this._offset = [];
20
- this._distinct = [];
21
- // private _groupBy: Array<string> = [];
22
- this._orderBy = [];
23
- this._values = [];
24
- this._joinCache = {};
25
- this.filters = (filters) => {
26
- if (filters) {
27
- const queryBuilder = filters.toQuery(1, this._joinCache);
28
- this._filters.push('WHERE ');
29
- this._filters.push(queryBuilder.query);
30
- this._values = queryBuilder.values;
31
- }
32
- return this;
33
- };
34
- this.limit = (limit) => {
35
- if (limit) {
36
- this._limit.push('LIMIT ');
37
- this._limit.push(limit.toString());
38
- }
39
- return this;
40
- };
41
- this.offset = (offset) => {
42
- if (offset) {
43
- this._offset.push('OFFSET ');
44
- this._offset.push(offset.toString());
45
- }
46
- return this;
47
- };
48
- this.orderBy = (column, order) => {
49
- if (column !== null && column !== undefined) {
50
- this._orderBy.push('ORDER BY ');
51
- const columnParent = this._joinCache[column.getParent().tableName()] ? this._joinCache[column.getParent().tableName()] : column.getParent().tableName();
52
- this._orderBy.push(`${columnParent}.${ecranate_1.ecranate(column.getColumnName())} `);
53
- this._orderBy.push(order_1.default[order]);
54
- }
55
- return this;
56
- };
57
- this.distinct = (column) => {
58
- if (column) {
59
- this._distinct.push(` DISTINCT ON(${column.getParent().tableName()}.${ecranate_1.ecranate(column.getColumnName())}) `);
60
- }
61
- return this;
62
- };
63
- this.appendFrom = (tableName) => {
64
- this._from.push('FROM ');
65
- this._from.push(tableName);
66
- // this._from.push(`${tableName} AS ${tableName}_0`);
67
- this._joinCache[tableName] = tableName;
68
- return this;
69
- };
70
- // Add select generator for second table also
71
- this.join = (joins) => {
72
- // const cache: {[tableName: string]: string} = {};
73
- joins.forEach((joinObject) => {
74
- if (joinObject) {
75
- const tableFrom = joinObject.join.fromColumn.getParentName();
76
- const tableTo = joinObject.join.toColumn.getParentName();
77
- const { type } = joinObject.join;
78
- let fromAlias = '';
79
- if (this._joinCache[tableFrom]) {
80
- fromAlias = this._joinCache[tableFrom];
81
- }
82
- else {
83
- fromAlias = `${tableFrom}${joinObject.id ? `_${joinObject.id}` : ''}`;
84
- this._joinCache[tableFrom] = fromAlias;
85
- }
86
- let selectString;
87
- if (joinObject.partial) {
88
- selectString = this.generateSelectArray(`${tableTo}${joinObject.id ? `_${joinObject.id}` : ''}`, Object.values(joinObject.partial), joinObject.id).join('');
89
- }
90
- else {
91
- selectString = this.generateSelectArray(`${tableTo}${joinObject.id ? `_${joinObject.id}` : ''}`, Object.values(joinObject.join.mappedServiceToDb), joinObject.id).join('');
92
- }
93
- this._fields.push(', ');
94
- this._fields.push(selectString);
95
- this._join.push('\n');
96
- this._join.push(type);
97
- this._join.push(' ');
98
- this._join.push(tableTo);
99
- this._join.push(' ');
100
- this._join.push(`AS ${tableTo}${joinObject.id ? `_${joinObject.id}` : ''}`);
101
- this._joinCache[tableTo] = `${tableTo}${joinObject.id ? `_${joinObject.id}` : ''}`;
102
- this._join.push('\n');
103
- this._join.push('ON ');
104
- this._join.push(fromAlias);
105
- // if (this._joinCache[tableFrom]) {
106
- // this._join.push(this._joinCache[tableFrom]);
107
- // } else {
108
- // this._join.push(tableFrom);
109
- // this._joinCache[tableFrom] = `${tableFrom}${joinObject.id ? `_${joinObject.id}` : ''}`;
110
- // }
111
- this._join.push('.');
112
- this._join.push(joinObject.join.fromColumn.getColumnName());
113
- this._join.push(' = ');
114
- this._join.push(`${tableTo}${joinObject.id ? `_${joinObject.id}` : ''}`);
115
- // this._join.push(toAlias);
116
- this._join.push('.');
117
- this._join.push(joinObject.join.toColumn.getColumnName());
118
- }
119
- });
120
- return this;
121
- };
122
- this.buildQuery = () => {
123
- this._select.push(this._distinct.join(''));
124
- this._select.push(this._fields.join(''));
125
- this._select.push('\n');
126
- this._select.push(this._from.join(''));
127
- this._select.push('\n');
128
- this._select.push(this._join.join(''));
129
- if (this._join.length > 0) {
130
- this._select.push('\n');
131
- }
132
- this._select.push(this._filters.join(''));
133
- this._select.push('\n');
134
- this._select.push(this._orderBy.join(''));
135
- this._select.push('\n');
136
- this._select.push(this._limit.join(''));
137
- this._select.push('\n');
138
- this._select.push(this._offset.join(''));
139
- return { query: this._select.join(''), values: this._values };
140
- };
141
- }
142
- }
143
- exports.default = SelectAggregator;
@@ -1,19 +0,0 @@
1
- import { AbstractTable } from '../../tables';
2
- import { UpdateExpr } from '../requestBuilders/updates/updates';
3
- import Expr from '../requestBuilders/where/where';
4
- import Aggregator from './abstractAggregator';
5
- export default class UpdateAggregator extends Aggregator {
6
- private _updates;
7
- private _filters;
8
- private _from;
9
- private _values;
10
- private _update;
11
- constructor(table: AbstractTable<any>);
12
- where: (filters: Expr) => UpdateAggregator;
13
- appendFrom: (tableName: string) => UpdateAggregator;
14
- set: (updates: UpdateExpr) => UpdateAggregator;
15
- buildQuery: () => {
16
- query: string;
17
- values: Array<any>;
18
- };
19
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const abstractAggregator_1 = __importDefault(require("./abstractAggregator"));
7
- class UpdateAggregator extends abstractAggregator_1.default {
8
- constructor(table) {
9
- super(table);
10
- this._updates = [];
11
- this._filters = [];
12
- this._from = [];
13
- this._values = [];
14
- this._update = ['UPDATE'];
15
- this.where = (filters) => {
16
- if (filters) {
17
- const currentPointerPosition = this._values.length > 0 ? this._values.length + 1 : undefined;
18
- const filterQuery = filters.toQuery(currentPointerPosition);
19
- this._filters.push('WHERE ');
20
- this._filters.push(filterQuery.query);
21
- this._values.push(...filterQuery.values);
22
- }
23
- return this;
24
- };
25
- this.appendFrom = (tableName) => {
26
- this._from.push(' ');
27
- this._from.push(tableName);
28
- return this;
29
- };
30
- this.set = (updates) => {
31
- const setQuery = updates.toQuery();
32
- this._updates.push(`\nSET ${setQuery.query}`);
33
- this._values.push(...setQuery.values);
34
- return this;
35
- };
36
- this.buildQuery = () => {
37
- this._update.push(this._from.join(''));
38
- this._update.push('\n');
39
- this._update.push(this._updates.join(''));
40
- this._update.push('\n');
41
- this._update.push(this._filters.join(''));
42
- this._update.push('\n');
43
- this._update.push('RETURNING');
44
- this._update.push('\n');
45
- this._update.push(this._fields.join(''));
46
- return { query: this._update.join(''), values: this._values };
47
- };
48
- }
49
- }
50
- exports.default = UpdateAggregator;
@@ -1,27 +0,0 @@
1
- import { AbstractColumn } from '../../columns/column';
2
- import ColumnType from '../../columns/types/columnType';
3
- import { ISession } from '../../db/session';
4
- import BaseLogger from '../../logger/abstractLogger';
5
- import { AbstractTable } from '../../tables';
6
- import { ExtractModel } from '../../tables/inferTypes';
7
- export default abstract class TableRequestBuilder<TTable extends AbstractTable<TTable>, TPartial extends {
8
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>;
9
- } = {}> {
10
- protected _table: TTable;
11
- protected _session: ISession;
12
- protected _mappedServiceToDb: {
13
- [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
14
- };
15
- protected _columns: AbstractColumn<ColumnType>[];
16
- protected _logger?: BaseLogger;
17
- constructor(table: AbstractTable<TTable>, session: ISession, mappedServiceToDb: {
18
- [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
19
- }, logger?: BaseLogger);
20
- all: () => Promise<([keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>)[]>;
21
- /**
22
- * Current function will return an element only if response is of length 1
23
- * If there are more or less than 1 element, will throw an Error
24
- */
25
- findOne: () => Promise<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>;
26
- protected abstract _execute(): Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
27
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class TableRequestBuilder {
4
- constructor(table, session, mappedServiceToDb, logger) {
5
- this.all = async () => {
6
- const res = await this._execute();
7
- return res;
8
- };
9
- /**
10
- * Current function will return an element only if response is of length 1
11
- * If there are more or less than 1 element, will throw an Error
12
- */
13
- this.findOne = async () => {
14
- const executionRes = await this._execute();
15
- if (executionRes.length > 1) {
16
- throw new Error('Request contains more than 1 element');
17
- }
18
- else if (executionRes.length < 1) {
19
- throw new Error('Request contains less than 1 element ');
20
- }
21
- else {
22
- return executionRes[0];
23
- }
24
- };
25
- this._mappedServiceToDb = mappedServiceToDb;
26
- this._table = table;
27
- this._session = session;
28
- this._columns = Object.values(mappedServiceToDb);
29
- this._logger = logger;
30
- }
31
- }
32
- exports.default = TableRequestBuilder;
@@ -1,19 +0,0 @@
1
- import { AbstractColumn } from '../../columns/column';
2
- import ColumnType from '../../columns/types/columnType';
3
- import { ISession } from '../../db/session';
4
- import BaseLogger from '../../logger/abstractLogger';
5
- import { AbstractTable } from '../../tables';
6
- import { ExtractModel } from '../../tables/inferTypes';
7
- import Expr from '../requestBuilders/where/where';
8
- import TableRequestBuilder from './abstractRequestBuilder';
9
- export default class DeleteTRB<TTable extends AbstractTable<TTable>, TPartial extends {
10
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>;
11
- } = {}> extends TableRequestBuilder<TTable, TPartial> {
12
- private _filter;
13
- constructor(table: AbstractTable<TTable>, session: ISession, mappedServiceToDb: {
14
- [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
15
- }, logger?: BaseLogger);
16
- where: (expr: Expr) => DeleteTRB<TTable>;
17
- execute: () => Promise<void>;
18
- protected _execute: () => Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
19
- }
@@ -1,61 +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 builderError_1 = __importStar(require("../../errors/builderError"));
26
- const responseMapper_1 = __importDefault(require("../../mappers/responseMapper"));
27
- const delete_1 = __importDefault(require("../lowLvlBuilders/delets/delete"));
28
- const abstractRequestBuilder_1 = __importDefault(require("./abstractRequestBuilder"));
29
- class DeleteTRB extends abstractRequestBuilder_1.default {
30
- constructor(table, session, mappedServiceToDb, logger) {
31
- super(table, session, mappedServiceToDb, logger);
32
- this.where = (expr) => {
33
- this._filter = expr;
34
- return this;
35
- };
36
- this.execute = async () => {
37
- await this._execute();
38
- };
39
- this._execute = async () => {
40
- const queryBuilder = delete_1.default
41
- .from(this._table)
42
- .filteredBy(this._filter);
43
- let query = '';
44
- let values = [];
45
- try {
46
- const builderResult = queryBuilder.build();
47
- query = builderResult.query;
48
- values = builderResult.values;
49
- }
50
- catch (e) {
51
- throw new builderError_1.default(builderError_1.BuilderType.DELETE, this._table.tableName(), this._columns, e, this._filter);
52
- }
53
- if (this._logger) {
54
- this._logger.info(`Deleting from ${this._table.tableName()} using query:\n ${query}`);
55
- }
56
- const result = await this._session.execute(query, values);
57
- return responseMapper_1.default.map(this._mappedServiceToDb, result);
58
- };
59
- }
60
- }
61
- exports.default = DeleteTRB;
@@ -1,20 +0,0 @@
1
- import { AbstractColumn } from '../../columns/column';
2
- import ColumnType from '../../columns/types/columnType';
3
- import { ISession } from '../../db/session';
4
- import BaseLogger from '../../logger/abstractLogger';
5
- import { AbstractTable } from '../../tables';
6
- import { ExtractModel, Indexing } from '../../tables/inferTypes';
7
- import TableRequestBuilder from './abstractRequestBuilder';
8
- export default class InsertTRB<TTable extends AbstractTable<TTable>, TPartial extends {
9
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>;
10
- } = {}> extends TableRequestBuilder<TTable, TPartial> {
11
- private _values;
12
- private _onConflict;
13
- private _onConflictField;
14
- constructor(values: ExtractModel<TTable>[], session: ISession, mappedServiceToDb: {
15
- [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
16
- }, table: AbstractTable<TTable>, logger?: BaseLogger);
17
- execute: () => Promise<void>;
18
- onConflict: (callback: (table: TTable) => Indexing, update: Partial<ExtractModel<TTable>>) => InsertTRB<TTable>;
19
- protected _execute: () => Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
20
- }
@@ -1,73 +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);
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;
@@ -1,5 +0,0 @@
1
- declare enum Order {
2
- ASC = 0,
3
- DESC = 1
4
- }
5
- export default Order;
@@ -1,8 +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;
@@ -1,47 +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, 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 Order from './order';
12
- export default class SelectTRB<TTable extends AbstractTable<TTable>, TPartial extends {
13
- [name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, TTable>;
14
- } = {}> extends TableRequestBuilder<TTable, TPartial> {
15
- protected _filter: Expr;
16
- private props;
17
- private __orderBy?;
18
- private __groupBy?;
19
- private __order?;
20
- private __distinct;
21
- private __partial?;
22
- constructor(session: ISession, mappedServiceToDb: {
23
- [name in keyof ExtractModel<TTable>]: AbstractColumn<ColumnType>;
24
- }, props: {
25
- limit?: number;
26
- offset?: number;
27
- }, table: AbstractTable<TTable>, logger?: BaseLogger, partial?: TPartial);
28
- where: (expr: Expr) => SelectTRB<TTable, TPartial>;
29
- orderBy<TColumnType extends ColumnType>(callback: (table: TTable) => AbstractColumn<TColumnType, boolean, boolean>, order: Order): SelectTRB<TTable, TPartial>;
30
- distinct: (column: AbstractColumn<ColumnType<any>, boolean, boolean>) => SelectTRB<TTable, TPartial>;
31
- limit: (limit: number) => SelectTRB<TTable, TPartial>;
32
- offset: (offset: number) => SelectTRB<TTable, TPartial>;
33
- innerJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
34
- new (db: DB): IToTable;
35
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
36
- leftJoin<TColumn extends ColumnType<any>, IToColumn extends ColumnType<any>, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
37
- new (db: DB): IToTable;
38
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean, TTable>, to: (table: IToTable) => AbstractColumn<IToColumn, boolean, boolean, IToTable>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
39
- rightJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
40
- new (db: DB): IToTable;
41
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
42
- fullJoin<TColumn extends ColumnType, TToColumn extends ColumnType, IToTable extends AbstractTable<IToTable>, IToPartial extends PartialFor<IToTable> = {}>(table: {
43
- new (db: DB): IToTable;
44
- }, from: (table: TTable) => AbstractColumn<TColumn, boolean, boolean>, to: (table: IToTable) => AbstractColumn<TToColumn, boolean, boolean>, partial?: IToPartial): SelectTRBWithJoin<TTable, IToTable, TPartial, IToPartial>;
45
- execute: () => Promise<([keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>)[]>;
46
- protected _execute: () => Promise<Array<[keyof TPartial] extends [never] ? ExtractModel<TTable> : ExtractModel<TPartial>>>;
47
- }