drizzle-orm 0.10.21 → 0.10.24

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 (481) hide show
  1. package/LICENSE +674 -0
  2. package/{builders → dist/builders}/aggregators/abstractAggregator.d.ts +0 -0
  3. package/{builders → dist/builders}/aggregators/abstractAggregator.js +0 -0
  4. package/{builders → dist/builders}/aggregators/deleteAggregator.d.ts +0 -0
  5. package/{builders → dist/builders}/aggregators/deleteAggregator.js +4 -1
  6. package/{builders → dist/builders}/aggregators/insertAggregator.d.ts +0 -0
  7. package/{builders → dist/builders}/aggregators/insertAggregator.js +4 -1
  8. package/{builders → dist/builders}/aggregators/selectAggregator.d.ts +0 -0
  9. package/{builders → dist/builders}/aggregators/selectAggregator.js +24 -9
  10. package/{builders → dist/builders}/aggregators/updateAggregator.d.ts +0 -0
  11. package/{builders → dist/builders}/aggregators/updateAggregator.js +4 -1
  12. package/{builders → dist/builders}/highLvlBuilders/abstractRequestBuilder.d.ts +0 -0
  13. package/{builders → dist/builders}/highLvlBuilders/abstractRequestBuilder.js +0 -0
  14. package/{builders → dist/builders}/highLvlBuilders/deleteRequestBuilder.d.ts +0 -0
  15. package/{builders → dist/builders}/highLvlBuilders/deleteRequestBuilder.js +26 -4
  16. package/{builders → dist/builders}/highLvlBuilders/insertRequestBuilder.d.ts +0 -0
  17. package/{builders → dist/builders}/highLvlBuilders/insertRequestBuilder.js +26 -4
  18. package/{builders → dist/builders}/highLvlBuilders/order.d.ts +0 -0
  19. package/{builders → dist/builders}/highLvlBuilders/order.js +0 -0
  20. package/{builders → dist/builders}/highLvlBuilders/selectRequestBuilder.d.ts +0 -0
  21. package/{builders → dist/builders}/highLvlBuilders/selectRequestBuilder.js +26 -4
  22. package/{builders → dist/builders}/highLvlBuilders/updateRequestBuilder.d.ts +0 -0
  23. package/{builders → dist/builders}/highLvlBuilders/updateRequestBuilder.js +26 -4
  24. package/{builders → dist/builders}/index.d.ts +0 -0
  25. package/{builders → dist/builders}/index.js +19 -16
  26. package/{builders → dist/builders}/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -0
  27. package/{builders → dist/builders}/joinBuilders/builders/abstractJoinBuilder.js +25 -3
  28. package/{builders → dist/builders}/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -0
  29. package/{builders → dist/builders}/joinBuilders/builders/selectWithFiveJoins.js +5 -2
  30. package/{builders → dist/builders}/joinBuilders/builders/selectWithFourJoins.d.ts +0 -0
  31. package/{builders → dist/builders}/joinBuilders/builders/selectWithFourJoins.js +7 -4
  32. package/{builders → dist/builders}/joinBuilders/builders/selectWithJoin.d.ts +0 -0
  33. package/{builders → dist/builders}/joinBuilders/builders/selectWithJoin.js +7 -4
  34. package/{builders → dist/builders}/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -0
  35. package/{builders → dist/builders}/joinBuilders/builders/selectWithThreeJoins.js +7 -4
  36. package/{builders → dist/builders}/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -0
  37. package/{builders → dist/builders}/joinBuilders/builders/selectWithTwoJoins.js +7 -4
  38. package/{builders → dist/builders}/joinBuilders/join.d.ts +0 -0
  39. package/{builders → dist/builders}/joinBuilders/join.js +0 -0
  40. package/{builders → dist/builders}/joinBuilders/joinWith.d.ts +0 -0
  41. package/{builders → dist/builders}/joinBuilders/joinWith.js +4 -1
  42. package/{builders → dist/builders}/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -0
  43. package/{builders → dist/builders}/joinBuilders/responses/selectResponseFiveJoins.js +0 -0
  44. package/{builders → dist/builders}/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -0
  45. package/{builders → dist/builders}/joinBuilders/responses/selectResponseFourJoins.js +0 -0
  46. package/{builders → dist/builders}/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -0
  47. package/{builders → dist/builders}/joinBuilders/responses/selectResponseThreeJoins.js +0 -0
  48. package/{builders → dist/builders}/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -0
  49. package/{builders → dist/builders}/joinBuilders/responses/selectResponseTwoJoins.js +0 -0
  50. package/{builders → dist/builders}/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -0
  51. package/{builders → dist/builders}/joinBuilders/responses/selectResponseWithJoin.js +0 -0
  52. package/{builders → dist/builders}/joinBuilders/static.d.ts +0 -0
  53. package/{builders → dist/builders}/joinBuilders/static.js +4 -1
  54. package/{builders → dist/builders}/lowLvlBuilders/alter.d.ts +0 -0
  55. package/{builders → dist/builders}/lowLvlBuilders/alter.js +0 -0
  56. package/{builders → dist/builders}/lowLvlBuilders/create.d.ts +0 -0
  57. package/{builders → dist/builders}/lowLvlBuilders/create.js +4 -1
  58. package/{builders → dist/builders}/lowLvlBuilders/delets/delete.d.ts +0 -0
  59. package/{builders → dist/builders}/lowLvlBuilders/delets/delete.js +5 -2
  60. package/{builders → dist/builders}/lowLvlBuilders/delets/deleteFilter.d.ts +0 -0
  61. package/{builders → dist/builders}/lowLvlBuilders/delets/deleteFilter.js +0 -0
  62. package/{builders → dist/builders}/lowLvlBuilders/delets/deleteFrom.d.ts +0 -0
  63. package/{builders → dist/builders}/lowLvlBuilders/delets/deleteFrom.js +4 -1
  64. package/{builders → dist/builders}/lowLvlBuilders/inserts/insert.d.ts +0 -0
  65. package/{builders → dist/builders}/lowLvlBuilders/inserts/insert.js +5 -2
  66. package/{builders → dist/builders}/lowLvlBuilders/inserts/insertInto.d.ts +0 -0
  67. package/{builders → dist/builders}/lowLvlBuilders/inserts/insertInto.js +4 -1
  68. package/{builders → dist/builders}/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -0
  69. package/{builders → dist/builders}/lowLvlBuilders/inserts/onConflictInsert.js +0 -0
  70. package/{builders → dist/builders}/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -0
  71. package/{builders → dist/builders}/lowLvlBuilders/inserts/valuesInsert.js +4 -1
  72. package/{builders → dist/builders}/lowLvlBuilders/selects/select.d.ts +0 -0
  73. package/{builders → dist/builders}/lowLvlBuilders/selects/select.js +5 -2
  74. package/{builders → dist/builders}/lowLvlBuilders/selects/selectFrom.d.ts +0 -0
  75. package/{builders → dist/builders}/lowLvlBuilders/selects/selectFrom.js +5 -2
  76. package/{builders → dist/builders}/lowLvlBuilders/selects/selectJoined.d.ts +0 -0
  77. package/{builders → dist/builders}/lowLvlBuilders/selects/selectJoined.js +4 -1
  78. package/{builders → dist/builders}/lowLvlBuilders/selects/whereSelect.d.ts +0 -0
  79. package/{builders → dist/builders}/lowLvlBuilders/selects/whereSelect.js +0 -0
  80. package/{builders → dist/builders}/lowLvlBuilders/updates/update.d.ts +0 -0
  81. package/{builders → dist/builders}/lowLvlBuilders/updates/update.js +5 -2
  82. package/{builders → dist/builders}/lowLvlBuilders/updates/updateIn.d.ts +0 -0
  83. package/{builders → dist/builders}/lowLvlBuilders/updates/updateIn.js +4 -1
  84. package/{builders → dist/builders}/lowLvlBuilders/updates/whereSelect.d.ts +0 -0
  85. package/{builders → dist/builders}/lowLvlBuilders/updates/whereSelect.js +0 -0
  86. package/{builders → dist/builders}/lowLvlBuilders/updates/whereSet.d.ts +0 -0
  87. package/{builders → dist/builders}/lowLvlBuilders/updates/whereSet.js +4 -1
  88. package/{builders → dist/builders}/requestBuilders/updates/combine.d.ts +0 -0
  89. package/{builders → dist/builders}/requestBuilders/updates/combine.js +0 -0
  90. package/{builders → dist/builders}/requestBuilders/updates/increment.d.ts +0 -0
  91. package/{builders → dist/builders}/requestBuilders/updates/increment.js +0 -0
  92. package/{builders → dist/builders}/requestBuilders/updates/setObjects.d.ts +0 -0
  93. package/{builders → dist/builders}/requestBuilders/updates/setObjects.js +5 -2
  94. package/{builders → dist/builders}/requestBuilders/updates/static.d.ts +0 -0
  95. package/{builders → dist/builders}/requestBuilders/updates/static.js +6 -3
  96. package/{builders → dist/builders}/requestBuilders/updates/updates.d.ts +0 -0
  97. package/{builders → dist/builders}/requestBuilders/updates/updates.js +0 -0
  98. package/{builders → dist/builders}/requestBuilders/where/and.d.ts +0 -0
  99. package/{builders → dist/builders}/requestBuilders/where/and.js +4 -1
  100. package/{builders → dist/builders}/requestBuilders/where/const.d.ts +0 -0
  101. package/{builders → dist/builders}/requestBuilders/where/const.js +4 -1
  102. package/{builders → dist/builders}/requestBuilders/where/constArray.d.ts +0 -0
  103. package/{builders → dist/builders}/requestBuilders/where/constArray.js +4 -1
  104. package/{builders → dist/builders}/requestBuilders/where/eqWhere.d.ts +0 -0
  105. package/{builders → dist/builders}/requestBuilders/where/eqWhere.js +4 -1
  106. package/{builders → dist/builders}/requestBuilders/where/greater.d.ts +0 -0
  107. package/{builders → dist/builders}/requestBuilders/where/greater.js +4 -1
  108. package/{builders → dist/builders}/requestBuilders/where/greaterEq.d.ts +0 -0
  109. package/{builders → dist/builders}/requestBuilders/where/greaterEq.js +4 -1
  110. package/{builders → dist/builders}/requestBuilders/where/in.d.ts +0 -0
  111. package/{builders → dist/builders}/requestBuilders/where/in.js +4 -1
  112. package/{builders → dist/builders}/requestBuilders/where/isNotNull.d.ts +0 -0
  113. package/{builders → dist/builders}/requestBuilders/where/isNotNull.js +4 -1
  114. package/{builders → dist/builders}/requestBuilders/where/isNull.d.ts +0 -0
  115. package/{builders → dist/builders}/requestBuilders/where/isNull.js +4 -1
  116. package/{builders → dist/builders}/requestBuilders/where/less.d.ts +0 -0
  117. package/{builders → dist/builders}/requestBuilders/where/less.js +4 -1
  118. package/{builders → dist/builders}/requestBuilders/where/lessEq.d.ts +0 -0
  119. package/{builders → dist/builders}/requestBuilders/where/lessEq.js +4 -1
  120. package/{builders → dist/builders}/requestBuilders/where/like.d.ts +0 -0
  121. package/{builders → dist/builders}/requestBuilders/where/like.js +4 -1
  122. package/{builders → dist/builders}/requestBuilders/where/notEqWhere.d.ts +0 -0
  123. package/{builders → dist/builders}/requestBuilders/where/notEqWhere.js +4 -1
  124. package/{builders → dist/builders}/requestBuilders/where/or.d.ts +0 -0
  125. package/{builders → dist/builders}/requestBuilders/where/or.js +4 -1
  126. package/{builders → dist/builders}/requestBuilders/where/rawWhere.d.ts +0 -0
  127. package/{builders → dist/builders}/requestBuilders/where/rawWhere.js +4 -1
  128. package/{builders → dist/builders}/requestBuilders/where/static.d.ts +0 -0
  129. package/{builders → dist/builders}/requestBuilders/where/static.js +19 -16
  130. package/{builders → dist/builders}/requestBuilders/where/var.d.ts +0 -0
  131. package/{builders → dist/builders}/requestBuilders/where/var.js +4 -1
  132. package/{builders → dist/builders}/requestBuilders/where/where.d.ts +0 -0
  133. package/{builders → dist/builders}/requestBuilders/where/where.js +0 -0
  134. package/{builders → dist/builders}/transaction/transaction.d.ts +0 -0
  135. package/{builders → dist/builders}/transaction/transaction.js +0 -0
  136. package/{columns → dist/columns}/column.d.ts +0 -0
  137. package/{columns → dist/columns}/column.js +0 -0
  138. package/{columns → dist/columns}/index.d.ts +0 -0
  139. package/{columns → dist/columns}/index.js +12 -9
  140. package/{columns → dist/columns}/types/columnType.d.ts +0 -0
  141. package/{columns → dist/columns}/types/columnType.js +0 -0
  142. package/{columns → dist/columns}/types/pgBigDecimal.d.ts +0 -0
  143. package/{columns → dist/columns}/types/pgBigDecimal.js +4 -1
  144. package/{columns → dist/columns}/types/pgBigInt.d.ts +0 -0
  145. package/{columns → dist/columns}/types/pgBigInt.js +4 -1
  146. package/{columns → dist/columns}/types/pgBigSerial.d.ts +0 -0
  147. package/{columns → dist/columns}/types/pgBigSerial.js +4 -1
  148. package/{columns → dist/columns}/types/pgBoolean.d.ts +0 -0
  149. package/{columns → dist/columns}/types/pgBoolean.js +4 -1
  150. package/{columns → dist/columns}/types/pgEnum.d.ts +0 -0
  151. package/{columns → dist/columns}/types/pgEnum.js +4 -1
  152. package/{columns → dist/columns}/types/pgInteger.d.ts +0 -0
  153. package/{columns → dist/columns}/types/pgInteger.js +4 -1
  154. package/{columns → dist/columns}/types/pgJsonb.d.ts +0 -0
  155. package/{columns → dist/columns}/types/pgJsonb.js +4 -1
  156. package/{columns → dist/columns}/types/pgSerial.d.ts +0 -0
  157. package/{columns → dist/columns}/types/pgSerial.js +4 -1
  158. package/{columns → dist/columns}/types/pgSmallInt.d.ts +0 -0
  159. package/{columns → dist/columns}/types/pgSmallInt.js +4 -1
  160. package/{columns → dist/columns}/types/pgText.d.ts +0 -0
  161. package/{columns → dist/columns}/types/pgText.js +4 -1
  162. package/{columns → dist/columns}/types/pgTime.d.ts +0 -0
  163. package/{columns → dist/columns}/types/pgTime.js +4 -1
  164. package/{columns → dist/columns}/types/pgTimestamp.d.ts +0 -0
  165. package/{columns → dist/columns}/types/pgTimestamp.js +4 -1
  166. package/{columns → dist/columns}/types/pgTimestamptz.d.ts +0 -0
  167. package/{columns → dist/columns}/types/pgTimestamptz.js +4 -1
  168. package/{columns → dist/columns}/types/pgVarChar.d.ts +0 -0
  169. package/{columns → dist/columns}/types/pgVarChar.js +4 -1
  170. package/{db → dist/db}/db.d.ts +0 -0
  171. package/{db → dist/db}/db.js +0 -0
  172. package/{db → dist/db}/dbConnector.d.ts +0 -0
  173. package/{db → dist/db}/dbConnector.js +6 -3
  174. package/{db → dist/db}/dbStringConnector.d.ts +0 -0
  175. package/{db → dist/db}/dbStringConnector.js +5 -2
  176. package/{db → dist/db}/group_by.d.ts +0 -0
  177. package/{db → dist/db}/group_by.js +0 -0
  178. package/{db → dist/db}/index.d.ts +0 -0
  179. package/{db → dist/db}/index.js +6 -3
  180. package/{db → dist/db}/session.d.ts +0 -0
  181. package/{db → dist/db}/session.js +0 -0
  182. package/{docs → dist/docs}/cases/simple_delete.d.ts +0 -0
  183. package/{docs → dist/docs}/cases/simple_delete.js +7 -4
  184. package/{docs → dist/docs}/cases/simple_insert.d.ts +0 -0
  185. package/{docs → dist/docs}/cases/simple_insert.js +8 -5
  186. package/{docs → dist/docs}/cases/simple_join.d.ts +0 -0
  187. package/{docs → dist/docs}/cases/simple_join.js +8 -5
  188. package/{docs → dist/docs}/cases/simple_select.d.ts +0 -0
  189. package/{docs → dist/docs}/cases/simple_select.js +6 -3
  190. package/{docs → dist/docs}/cases/simple_update.d.ts +0 -0
  191. package/{docs → dist/docs}/cases/simple_update.js +7 -4
  192. package/{docs → dist/docs}/tables/citiesTable.d.ts +0 -0
  193. package/{docs → dist/docs}/tables/citiesTable.js +6 -2
  194. package/{docs → dist/docs}/tables/userGroupsTable.d.ts +0 -0
  195. package/{docs → dist/docs}/tables/userGroupsTable.js +4 -1
  196. package/{docs → dist/docs}/tables/usersTable.d.ts +0 -0
  197. package/{docs → dist/docs}/tables/usersTable.js +4 -1
  198. package/{docs → dist/docs}/tables/usersToUserGroups.d.ts +0 -0
  199. package/{docs → dist/docs}/tables/usersToUserGroups.js +6 -3
  200. package/{docs → dist/docs}/types/rolesType.d.ts +0 -0
  201. package/{docs → dist/docs}/types/rolesType.js +0 -0
  202. package/{errors → dist/errors}/baseError.d.ts +0 -0
  203. package/{errors → dist/errors}/baseError.js +0 -0
  204. package/{errors → dist/errors}/builderError.d.ts +0 -0
  205. package/{errors → dist/errors}/builderError.js +2 -1
  206. package/{errors → dist/errors}/dbErrors.d.ts +0 -0
  207. package/{errors → dist/errors}/dbErrors.js +0 -0
  208. package/{index.d.ts → dist/index.d.ts} +0 -0
  209. package/{index.js → dist/index.js} +4 -1
  210. package/{indexes → dist/indexes}/tableIndex.d.ts +0 -0
  211. package/{indexes → dist/indexes}/tableIndex.js +0 -0
  212. package/{logger → dist/logger}/abstractLogger.d.ts +0 -0
  213. package/{logger → dist/logger}/abstractLogger.js +0 -0
  214. package/{logger → dist/logger}/consoleLogger.d.ts +0 -0
  215. package/{logger → dist/logger}/consoleLogger.js +4 -1
  216. package/{mappers → dist/mappers}/index.d.ts +0 -0
  217. package/{mappers → dist/mappers}/index.js +0 -0
  218. package/{mappers → dist/mappers}/responseMapper.d.ts +0 -0
  219. package/{mappers → dist/mappers}/responseMapper.js +0 -0
  220. package/{migrator → dist/migrator}/index.d.ts +0 -0
  221. package/{migrator → dist/migrator}/index.js +0 -0
  222. package/{migrator → dist/migrator}/migrator.d.ts +0 -0
  223. package/{migrator → dist/migrator}/migrator.js +26 -4
  224. package/dist/serializer/serializer.d.ts +47 -0
  225. package/dist/serializer/serializer.js +258 -0
  226. package/dist/src/builders/aggregators/abstractAggregator.d.ts +11 -0
  227. package/dist/src/builders/aggregators/abstractAggregator.js +35 -0
  228. package/dist/src/builders/aggregators/deleteAggregator.d.ts +16 -0
  229. package/dist/src/builders/aggregators/deleteAggregator.js +42 -0
  230. package/dist/src/builders/aggregators/insertAggregator.d.ts +22 -0
  231. package/dist/src/builders/aggregators/insertAggregator.js +106 -0
  232. package/dist/src/builders/aggregators/selectAggregator.d.ts +39 -0
  233. package/dist/src/builders/aggregators/selectAggregator.js +143 -0
  234. package/dist/src/builders/aggregators/updateAggregator.d.ts +19 -0
  235. package/dist/src/builders/aggregators/updateAggregator.js +50 -0
  236. package/dist/src/builders/highLvlBuilders/abstractRequestBuilder.d.ts +27 -0
  237. package/dist/src/builders/highLvlBuilders/abstractRequestBuilder.js +32 -0
  238. package/dist/src/builders/highLvlBuilders/deleteRequestBuilder.d.ts +19 -0
  239. package/dist/src/builders/highLvlBuilders/deleteRequestBuilder.js +61 -0
  240. package/dist/src/builders/highLvlBuilders/insertRequestBuilder.d.ts +20 -0
  241. package/dist/src/builders/highLvlBuilders/insertRequestBuilder.js +73 -0
  242. package/dist/src/builders/highLvlBuilders/order.d.ts +5 -0
  243. package/dist/src/builders/highLvlBuilders/order.js +8 -0
  244. package/dist/src/builders/highLvlBuilders/selectRequestBuilder.d.ts +47 -0
  245. package/dist/src/builders/highLvlBuilders/selectRequestBuilder.js +128 -0
  246. package/dist/src/builders/highLvlBuilders/updateRequestBuilder.d.ts +22 -0
  247. package/dist/src/builders/highLvlBuilders/updateRequestBuilder.js +80 -0
  248. package/dist/src/builders/index.d.ts +18 -0
  249. package/dist/src/builders/index.js +54 -0
  250. package/dist/src/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +40 -0
  251. package/dist/src/builders/joinBuilders/builders/abstractJoinBuilder.js +78 -0
  252. package/dist/src/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +35 -0
  253. package/dist/src/builders/joinBuilders/builders/selectWithFiveJoins.js +45 -0
  254. package/dist/src/builders/joinBuilders/builders/selectWithFourJoins.d.ts +55 -0
  255. package/dist/src/builders/joinBuilders/builders/selectWithFourJoins.js +78 -0
  256. package/dist/src/builders/joinBuilders/builders/selectWithJoin.d.ts +49 -0
  257. package/dist/src/builders/joinBuilders/builders/selectWithJoin.js +64 -0
  258. package/dist/src/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +53 -0
  259. package/dist/src/builders/joinBuilders/builders/selectWithThreeJoins.js +73 -0
  260. package/dist/src/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +51 -0
  261. package/dist/src/builders/joinBuilders/builders/selectWithTwoJoins.js +68 -0
  262. package/dist/src/builders/joinBuilders/join.d.ts +23 -0
  263. package/dist/src/builders/joinBuilders/join.js +28 -0
  264. package/dist/src/builders/joinBuilders/joinWith.d.ts +14 -0
  265. package/dist/src/builders/joinBuilders/joinWith.js +14 -0
  266. package/dist/src/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +20 -0
  267. package/dist/src/builders/joinBuilders/responses/selectResponseFiveJoins.js +35 -0
  268. package/dist/src/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +19 -0
  269. package/dist/src/builders/joinBuilders/responses/selectResponseFourJoins.js +34 -0
  270. package/dist/src/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +18 -0
  271. package/dist/src/builders/joinBuilders/responses/selectResponseThreeJoins.js +33 -0
  272. package/dist/src/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +17 -0
  273. package/dist/src/builders/joinBuilders/responses/selectResponseTwoJoins.js +32 -0
  274. package/dist/src/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +16 -0
  275. package/dist/src/builders/joinBuilders/responses/selectResponseWithJoin.js +31 -0
  276. package/dist/src/builders/joinBuilders/static.d.ts +5 -0
  277. package/dist/src/builders/joinBuilders/static.js +9 -0
  278. package/dist/src/builders/lowLvlBuilders/alter.d.ts +0 -0
  279. package/dist/src/builders/lowLvlBuilders/alter.js +1 -0
  280. package/dist/src/builders/lowLvlBuilders/create.d.ts +12 -0
  281. package/dist/src/builders/lowLvlBuilders/create.js +100 -0
  282. package/dist/src/builders/lowLvlBuilders/delets/delete.d.ts +5 -0
  283. package/dist/src/builders/lowLvlBuilders/delets/delete.js +15 -0
  284. package/dist/src/builders/lowLvlBuilders/delets/deleteFilter.d.ts +11 -0
  285. package/dist/src/builders/lowLvlBuilders/delets/deleteFilter.js +13 -0
  286. package/dist/src/builders/lowLvlBuilders/delets/deleteFrom.d.ts +12 -0
  287. package/dist/src/builders/lowLvlBuilders/delets/deleteFrom.js +14 -0
  288. package/dist/src/builders/lowLvlBuilders/inserts/insert.d.ts +5 -0
  289. package/dist/src/builders/lowLvlBuilders/inserts/insert.js +15 -0
  290. package/dist/src/builders/lowLvlBuilders/inserts/insertInto.d.ts +13 -0
  291. package/dist/src/builders/lowLvlBuilders/inserts/insertInto.js +16 -0
  292. package/dist/src/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +12 -0
  293. package/dist/src/builders/lowLvlBuilders/inserts/onConflictInsert.js +13 -0
  294. package/dist/src/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +16 -0
  295. package/dist/src/builders/lowLvlBuilders/inserts/valuesInsert.js +19 -0
  296. package/dist/src/builders/lowLvlBuilders/selects/select.d.ts +9 -0
  297. package/dist/src/builders/lowLvlBuilders/selects/select.js +16 -0
  298. package/dist/src/builders/lowLvlBuilders/selects/selectFrom.d.ts +28 -0
  299. package/dist/src/builders/lowLvlBuilders/selects/selectFrom.js +34 -0
  300. package/dist/src/builders/lowLvlBuilders/selects/selectJoined.d.ts +26 -0
  301. package/dist/src/builders/lowLvlBuilders/selects/selectJoined.js +30 -0
  302. package/dist/src/builders/lowLvlBuilders/selects/whereSelect.d.ts +17 -0
  303. package/dist/src/builders/lowLvlBuilders/selects/whereSelect.js +25 -0
  304. package/dist/src/builders/lowLvlBuilders/updates/update.d.ts +5 -0
  305. package/dist/src/builders/lowLvlBuilders/updates/update.js +15 -0
  306. package/dist/src/builders/lowLvlBuilders/updates/updateIn.d.ts +13 -0
  307. package/dist/src/builders/lowLvlBuilders/updates/updateIn.js +15 -0
  308. package/dist/src/builders/lowLvlBuilders/updates/whereSelect.d.ts +11 -0
  309. package/dist/src/builders/lowLvlBuilders/updates/whereSelect.js +13 -0
  310. package/dist/src/builders/lowLvlBuilders/updates/whereSet.d.ts +14 -0
  311. package/dist/src/builders/lowLvlBuilders/updates/whereSet.js +18 -0
  312. package/dist/src/builders/requestBuilders/updates/combine.d.ts +9 -0
  313. package/dist/src/builders/requestBuilders/updates/combine.js +26 -0
  314. package/dist/src/builders/requestBuilders/updates/increment.d.ts +13 -0
  315. package/dist/src/builders/requestBuilders/updates/increment.js +18 -0
  316. package/dist/src/builders/requestBuilders/updates/setObjects.d.ts +12 -0
  317. package/dist/src/builders/requestBuilders/updates/setObjects.js +19 -0
  318. package/dist/src/builders/requestBuilders/updates/static.d.ts +7 -0
  319. package/dist/src/builders/requestBuilders/updates/static.js +15 -0
  320. package/dist/src/builders/requestBuilders/updates/updates.d.ts +9 -0
  321. package/dist/src/builders/requestBuilders/updates/updates.js +10 -0
  322. package/dist/src/builders/requestBuilders/where/and.d.ts +11 -0
  323. package/dist/src/builders/requestBuilders/where/and.js +31 -0
  324. package/dist/src/builders/requestBuilders/where/const.d.ts +9 -0
  325. package/dist/src/builders/requestBuilders/where/const.js +25 -0
  326. package/dist/src/builders/requestBuilders/where/constArray.d.ts +9 -0
  327. package/dist/src/builders/requestBuilders/where/constArray.js +39 -0
  328. package/dist/src/builders/requestBuilders/where/eqWhere.d.ts +12 -0
  329. package/dist/src/builders/requestBuilders/where/eqWhere.js +20 -0
  330. package/dist/src/builders/requestBuilders/where/greater.d.ts +15 -0
  331. package/dist/src/builders/requestBuilders/where/greater.js +20 -0
  332. package/dist/src/builders/requestBuilders/where/greaterEq.d.ts +15 -0
  333. package/dist/src/builders/requestBuilders/where/greaterEq.js +20 -0
  334. package/dist/src/builders/requestBuilders/where/in.d.ts +12 -0
  335. package/dist/src/builders/requestBuilders/where/in.js +20 -0
  336. package/dist/src/builders/requestBuilders/where/isNotNull.d.ts +11 -0
  337. package/dist/src/builders/requestBuilders/where/isNotNull.js +18 -0
  338. package/dist/src/builders/requestBuilders/where/isNull.d.ts +11 -0
  339. package/dist/src/builders/requestBuilders/where/isNull.js +18 -0
  340. package/dist/src/builders/requestBuilders/where/less.d.ts +15 -0
  341. package/dist/src/builders/requestBuilders/where/less.js +20 -0
  342. package/dist/src/builders/requestBuilders/where/lessEq.d.ts +15 -0
  343. package/dist/src/builders/requestBuilders/where/lessEq.js +20 -0
  344. package/dist/src/builders/requestBuilders/where/like.d.ts +12 -0
  345. package/dist/src/builders/requestBuilders/where/like.js +20 -0
  346. package/dist/src/builders/requestBuilders/where/notEqWhere.d.ts +12 -0
  347. package/dist/src/builders/requestBuilders/where/notEqWhere.js +20 -0
  348. package/dist/src/builders/requestBuilders/where/or.d.ts +11 -0
  349. package/dist/src/builders/requestBuilders/where/or.js +31 -0
  350. package/dist/src/builders/requestBuilders/where/rawWhere.d.ts +9 -0
  351. package/dist/src/builders/requestBuilders/where/rawWhere.js +15 -0
  352. package/dist/src/builders/requestBuilders/where/static.d.ts +17 -0
  353. package/dist/src/builders/requestBuilders/where/static.js +49 -0
  354. package/dist/src/builders/requestBuilders/where/var.d.ts +13 -0
  355. package/dist/src/builders/requestBuilders/where/var.js +18 -0
  356. package/dist/src/builders/requestBuilders/where/where.d.ts +8 -0
  357. package/dist/src/builders/requestBuilders/where/where.js +6 -0
  358. package/dist/src/builders/transaction/transaction.d.ts +8 -0
  359. package/dist/src/builders/transaction/transaction.js +20 -0
  360. package/dist/src/columns/column.d.ts +72 -0
  361. package/dist/src/columns/column.js +101 -0
  362. package/dist/src/columns/index.d.ts +10 -0
  363. package/dist/src/columns/index.js +27 -0
  364. package/dist/src/columns/types/columnType.d.ts +7 -0
  365. package/dist/src/columns/types/columnType.js +6 -0
  366. package/dist/src/columns/types/pgBigDecimal.d.ts +10 -0
  367. package/dist/src/columns/types/pgBigDecimal.js +31 -0
  368. package/dist/src/columns/types/pgBigInt.d.ts +15 -0
  369. package/dist/src/columns/types/pgBigInt.js +32 -0
  370. package/dist/src/columns/types/pgBigSerial.d.ts +15 -0
  371. package/dist/src/columns/types/pgBigSerial.js +32 -0
  372. package/dist/src/columns/types/pgBoolean.d.ts +8 -0
  373. package/dist/src/columns/types/pgBoolean.js +18 -0
  374. package/dist/src/columns/types/pgEnum.d.ts +9 -0
  375. package/dist/src/columns/types/pgEnum.js +18 -0
  376. package/dist/src/columns/types/pgInteger.d.ts +8 -0
  377. package/dist/src/columns/types/pgInteger.js +21 -0
  378. package/dist/src/columns/types/pgJsonb.d.ts +9 -0
  379. package/dist/src/columns/types/pgJsonb.js +20 -0
  380. package/dist/src/columns/types/pgSerial.d.ts +8 -0
  381. package/dist/src/columns/types/pgSerial.js +18 -0
  382. package/dist/src/columns/types/pgSmallInt.d.ts +8 -0
  383. package/dist/src/columns/types/pgSmallInt.js +18 -0
  384. package/dist/src/columns/types/pgText.d.ts +8 -0
  385. package/dist/src/columns/types/pgText.js +18 -0
  386. package/dist/src/columns/types/pgTime.d.ts +8 -0
  387. package/dist/src/columns/types/pgTime.js +18 -0
  388. package/dist/src/columns/types/pgTimestamp.d.ts +8 -0
  389. package/dist/src/columns/types/pgTimestamp.js +18 -0
  390. package/dist/src/columns/types/pgTimestamptz.d.ts +8 -0
  391. package/dist/src/columns/types/pgTimestamptz.js +18 -0
  392. package/dist/src/columns/types/pgVarChar.d.ts +9 -0
  393. package/dist/src/columns/types/pgVarChar.js +24 -0
  394. package/dist/src/db/db.d.ts +18 -0
  395. package/dist/src/db/db.js +25 -0
  396. package/dist/src/db/dbConnector.d.ts +9 -0
  397. package/dist/src/db/dbConnector.js +32 -0
  398. package/dist/src/db/dbStringConnector.d.ts +6 -0
  399. package/dist/src/db/dbStringConnector.js +29 -0
  400. package/dist/src/db/group_by.d.ts +0 -0
  401. package/dist/src/db/group_by.js +68 -0
  402. package/dist/src/db/index.d.ts +4 -0
  403. package/dist/src/db/index.js +14 -0
  404. package/dist/src/db/session.d.ts +9 -0
  405. package/dist/src/db/session.js +16 -0
  406. package/{test.d.ts → dist/src/docs/cases/simple_delete.d.ts} +0 -0
  407. package/dist/src/docs/cases/simple_delete.js +35 -0
  408. package/dist/src/docs/cases/simple_insert.d.ts +1 -0
  409. package/dist/src/docs/cases/simple_insert.js +57 -0
  410. package/dist/src/docs/cases/simple_join.d.ts +1 -0
  411. package/dist/src/docs/cases/simple_join.js +115 -0
  412. package/dist/src/docs/cases/simple_select.d.ts +1 -0
  413. package/dist/src/docs/cases/simple_select.js +50 -0
  414. package/dist/src/docs/cases/simple_update.d.ts +1 -0
  415. package/dist/src/docs/cases/simple_update.js +39 -0
  416. package/dist/src/docs/tables/citiesTable.d.ts +14 -0
  417. package/dist/src/docs/tables/citiesTable.js +21 -0
  418. package/dist/src/docs/tables/userGroupsTable.d.ts +7 -0
  419. package/dist/src/docs/tables/userGroupsTable.js +18 -0
  420. package/dist/src/docs/tables/usersTable.d.ts +17 -0
  421. package/dist/src/docs/tables/usersTable.js +35 -0
  422. package/dist/src/docs/tables/usersToUserGroups.d.ts +7 -0
  423. package/dist/src/docs/tables/usersToUserGroups.js +20 -0
  424. package/dist/src/docs/types/rolesType.d.ts +1 -0
  425. package/dist/src/docs/types/rolesType.js +6 -0
  426. package/dist/src/errors/baseError.d.ts +22 -0
  427. package/dist/src/errors/baseError.js +35 -0
  428. package/dist/src/errors/builderError.d.ts +14 -0
  429. package/dist/src/errors/builderError.js +25 -0
  430. package/dist/src/errors/dbErrors.d.ts +12 -0
  431. package/dist/src/errors/dbErrors.js +28 -0
  432. package/dist/src/index.d.ts +11 -0
  433. package/dist/src/index.js +31 -0
  434. package/dist/src/indexes/tableIndex.d.ts +11 -0
  435. package/dist/src/indexes/tableIndex.js +17 -0
  436. package/dist/src/logger/abstractLogger.d.ts +4 -0
  437. package/dist/src/logger/abstractLogger.js +5 -0
  438. package/dist/src/logger/consoleLogger.d.ts +5 -0
  439. package/dist/src/logger/consoleLogger.js +15 -0
  440. package/dist/src/mappers/index.d.ts +0 -0
  441. package/dist/src/mappers/index.js +1 -0
  442. package/dist/src/mappers/responseMapper.d.ts +10 -0
  443. package/dist/src/mappers/responseMapper.js +35 -0
  444. package/dist/src/migrator/index.d.ts +0 -0
  445. package/dist/src/migrator/index.js +1 -0
  446. package/dist/src/migrator/migrator.d.ts +11 -0
  447. package/dist/src/migrator/migrator.js +105 -0
  448. package/{serializer → dist/src/serializer}/serializer.d.ts +0 -0
  449. package/{serializer → dist/src/serializer}/serializer.js +4 -1
  450. package/{tables → dist/src/tables}/abstractTable.d.ts +0 -0
  451. package/{tables → dist/src/tables}/abstractTable.js +41 -19
  452. package/{tables → dist/src/tables}/index.d.ts +0 -0
  453. package/{tables → dist/src/tables}/index.js +5 -2
  454. package/{tables → dist/src/tables}/inferTypes.d.ts +0 -0
  455. package/{tables → dist/src/tables}/inferTypes.js +0 -0
  456. package/{tables → dist/src/tables}/migrationsTable.d.ts +0 -0
  457. package/{tables → dist/src/tables}/migrationsTable.js +4 -1
  458. package/dist/src/test.d.ts +1 -0
  459. package/{test.js → dist/src/test.js} +23 -8
  460. package/{types → dist/src/types}/type.d.ts +0 -0
  461. package/{types → dist/src/types}/type.js +0 -0
  462. package/{utils → dist/src/utils}/ecranate.d.ts +0 -0
  463. package/{utils → dist/src/utils}/ecranate.js +0 -0
  464. package/dist/tables/abstractTable.d.ts +68 -0
  465. package/dist/tables/abstractTable.js +151 -0
  466. package/dist/tables/index.d.ts +3 -0
  467. package/dist/tables/index.js +11 -0
  468. package/dist/tables/inferTypes.d.ts +39 -0
  469. package/dist/tables/inferTypes.js +2 -0
  470. package/dist/tables/migrationsTable.d.ts +7 -0
  471. package/dist/tables/migrationsTable.js +18 -0
  472. package/dist/test.d.ts +1 -0
  473. package/dist/test.js +65 -0
  474. package/dist/tsconfig.tsbuildinfo +5054 -0
  475. package/dist/types/type.d.ts +10 -0
  476. package/dist/types/type.js +14 -0
  477. package/dist/utils/ecranate.d.ts +2 -0
  478. package/dist/utils/ecranate.js +8 -0
  479. package/package.json +18 -13
  480. package/tables/aggregators.d.ts +0 -27
  481. package/tables/aggregators.js +0 -56
@@ -0,0 +1,31 @@
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
+ /* eslint-disable max-len */
7
+ const where_1 = __importDefault(require("./where"));
8
+ class Or extends where_1.default {
9
+ constructor(expressions) {
10
+ super();
11
+ this.toQuery = (position, tableCache) => {
12
+ let nextPosition = position || 1;
13
+ const result = ['('];
14
+ const valuesResult = [];
15
+ for (let i = 0; i < this.expressions.length; i += 1) {
16
+ const expression = this.expressions[i];
17
+ const expressionResult = expression.toQuery(nextPosition, tableCache);
18
+ valuesResult.push(...expressionResult.values);
19
+ result.push(expressionResult.query);
20
+ nextPosition += expressionResult.values.length;
21
+ if (i < this.expressions.length - 1) {
22
+ result.push(' or ');
23
+ }
24
+ }
25
+ result.push(')');
26
+ return { query: result.join(''), values: valuesResult };
27
+ };
28
+ this.expressions = expressions;
29
+ }
30
+ }
31
+ exports.default = Or;
@@ -0,0 +1,9 @@
1
+ import Expr from './where';
2
+ export default class RawWhere extends Expr {
3
+ private custom;
4
+ constructor(custom: string);
5
+ toQuery: () => {
6
+ query: string;
7
+ values: Array<any>;
8
+ };
9
+ }
@@ -0,0 +1,15 @@
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
+ /* eslint-disable max-len */
7
+ const where_1 = __importDefault(require("./where"));
8
+ class RawWhere extends where_1.default {
9
+ constructor(custom) {
10
+ super();
11
+ this.custom = custom;
12
+ this.toQuery = () => ({ query: this.custom, values: [] });
13
+ }
14
+ }
15
+ exports.default = RawWhere;
@@ -0,0 +1,17 @@
1
+ import { AbstractColumn } from '../../../columns/column';
2
+ import ColumnType from '../../../columns/types/columnType';
3
+ import { ExtractCodeType } from '../../../tables/inferTypes';
4
+ import Expr from './where';
5
+ export declare const eq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
6
+ export declare const raw: (customQuery: string) => Expr;
7
+ export declare const and: (expressions: Expr[]) => Expr;
8
+ export declare const or: (expressions: Expr[]) => Expr;
9
+ export declare const like: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
10
+ export declare const inArray: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>[]) => Expr;
11
+ export declare const greater: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
12
+ export declare const less: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
13
+ export declare const greaterEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
14
+ export declare const lessEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
15
+ export declare const isNull: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T) => Expr;
16
+ export declare const isNotNull: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T) => Expr;
17
+ export declare const notEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean, any>>(left: T, value: ExtractCodeType<T>) => Expr;
@@ -0,0 +1,49 @@
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
+ exports.notEq = exports.isNotNull = exports.isNull = exports.lessEq = exports.greaterEq = exports.less = exports.greater = exports.inArray = exports.like = exports.or = exports.and = exports.raw = exports.eq = void 0;
7
+ const and_1 = __importDefault(require("./and"));
8
+ const const_1 = __importDefault(require("./const"));
9
+ const constArray_1 = __importDefault(require("./constArray"));
10
+ const eqWhere_1 = __importDefault(require("./eqWhere"));
11
+ const greater_1 = __importDefault(require("./greater"));
12
+ const greaterEq_1 = __importDefault(require("./greaterEq"));
13
+ const in_1 = __importDefault(require("./in"));
14
+ const isNotNull_1 = __importDefault(require("./isNotNull"));
15
+ const isNull_1 = __importDefault(require("./isNull"));
16
+ const less_1 = __importDefault(require("./less"));
17
+ const lessEq_1 = __importDefault(require("./lessEq"));
18
+ const like_1 = __importDefault(require("./like"));
19
+ const notEqWhere_1 = __importDefault(require("./notEqWhere"));
20
+ const or_1 = __importDefault(require("./or"));
21
+ const rawWhere_1 = __importDefault(require("./rawWhere"));
22
+ const var_1 = __importDefault(require("./var"));
23
+ // eslint-disable-next-line max-len
24
+ const eq = (left, value) => new eqWhere_1.default(new var_1.default(left), new const_1.default(value));
25
+ exports.eq = eq;
26
+ const raw = (customQuery) => new rawWhere_1.default(customQuery);
27
+ exports.raw = raw;
28
+ const and = (expressions) => new and_1.default(expressions);
29
+ exports.and = and;
30
+ const or = (expressions) => new or_1.default(expressions);
31
+ exports.or = or;
32
+ const like = (left, value) => new like_1.default(new var_1.default(left), new const_1.default(value));
33
+ exports.like = like;
34
+ const inArray = (left, value) => new in_1.default(new var_1.default(left), new constArray_1.default(value));
35
+ exports.inArray = inArray;
36
+ const greater = (left, value) => new greater_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
37
+ exports.greater = greater;
38
+ const less = (left, value) => new less_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
39
+ exports.less = less;
40
+ const greaterEq = (left, value) => new greaterEq_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
41
+ exports.greaterEq = greaterEq;
42
+ const lessEq = (left, value) => new lessEq_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
43
+ exports.lessEq = lessEq;
44
+ const isNull = (left) => new isNull_1.default(new var_1.default(left));
45
+ exports.isNull = isNull;
46
+ const isNotNull = (left) => new isNotNull_1.default(new var_1.default(left));
47
+ exports.isNotNull = isNotNull;
48
+ const notEq = (left, value) => new notEqWhere_1.default(new var_1.default(left), new const_1.default(value));
49
+ exports.notEq = notEq;
@@ -0,0 +1,13 @@
1
+ import { AbstractColumn } from '../../../columns/column';
2
+ import ColumnType from '../../../columns/types/columnType';
3
+ import Expr from './where';
4
+ export default class Var<T extends AbstractColumn<ColumnType<any>, boolean, boolean>> extends Expr {
5
+ private column;
6
+ constructor(column: T);
7
+ toQuery: (postition?: number | undefined, tableCache?: {
8
+ [tableName: string]: string;
9
+ } | undefined) => {
10
+ query: string;
11
+ values: Array<any>;
12
+ };
13
+ }
@@ -0,0 +1,18 @@
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 where_1 = __importDefault(require("./where"));
8
+ class Var extends where_1.default {
9
+ constructor(column) {
10
+ super();
11
+ this.toQuery = (postition, tableCache) => {
12
+ const tableName = tableCache && tableCache[this.column.getParentName()] ? tableCache[this.column.getParentName()] : this.column.getParentName();
13
+ return { query: `${tableName}.${ecranate_1.ecranate(this.column.getColumnName())}`, values: [] };
14
+ };
15
+ this.column = column;
16
+ }
17
+ }
18
+ exports.default = Var;
@@ -0,0 +1,8 @@
1
+ export default abstract class Expr {
2
+ abstract toQuery(position?: number, tableCache?: {
3
+ [tableName: string]: string;
4
+ }): {
5
+ query: string;
6
+ values: Array<any>;
7
+ };
8
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable max-classes-per-file */
4
+ class Expr {
5
+ }
6
+ exports.default = Expr;
@@ -0,0 +1,8 @@
1
+ import { ISession } from '../../db/session';
2
+ export default class Transaction {
3
+ private session;
4
+ constructor(session: ISession);
5
+ begin: () => Promise<Transaction>;
6
+ commit: () => Promise<Transaction>;
7
+ rollback: () => Promise<Transaction>;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class Transaction {
4
+ constructor(session) {
5
+ this.session = session;
6
+ this.begin = async () => {
7
+ await this.session.execute('BEGIN;');
8
+ return this;
9
+ };
10
+ this.commit = async () => {
11
+ await this.session.execute('COMMIT;');
12
+ return this;
13
+ };
14
+ this.rollback = async () => {
15
+ await this.session.execute('ROLLBACK;');
16
+ return this;
17
+ };
18
+ }
19
+ }
20
+ exports.default = Transaction;
@@ -0,0 +1,72 @@
1
+ import { PgTime, PgTimestamp } from '.';
2
+ import DB from '../db/db';
3
+ import { AbstractTable } from '../tables';
4
+ import ColumnType from './types/columnType';
5
+ import PgTimestamptz from './types/pgTimestamptz';
6
+ export declare enum Defaults {
7
+ CURRENT_TIMESTAMP = "CURRENT_TIMESTAMP"
8
+ }
9
+ declare type PgTimes = PgTimestamptz | PgTime | PgTimestamp;
10
+ export declare type ExtractColumnType<T extends ColumnType> = T extends ColumnType<infer TCodeType> ? T extends PgTimes ? TCodeType | Defaults : TCodeType : never;
11
+ export declare abstract class AbstractColumn<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false, TParent extends AbstractTable<any> = any> {
12
+ isNullableFlag: boolean;
13
+ primaryKeyName?: string;
14
+ uniqueKeyName?: string;
15
+ protected onDelete?: string;
16
+ protected onUpdate?: string;
17
+ protected parent: TParent;
18
+ protected parentTableName: string;
19
+ protected columnType: T;
20
+ protected columnName: string;
21
+ protected defaultParam: any;
22
+ protected referenced: AbstractColumn<T, boolean, boolean>;
23
+ constructor(parent: TParent, columnName: string, columnType: T);
24
+ getOnDelete: () => string | undefined;
25
+ getOnUpdate: () => string | undefined;
26
+ getAlias: () => string;
27
+ getParent: () => AbstractTable<any>;
28
+ getParentName: () => string;
29
+ abstract foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => Column<any, boolean, boolean, ITable>, onConstraint?: {
30
+ onDelete?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
31
+ onUpdate?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
32
+ }): AbstractColumn<T, TNullable, TAutoIncrement, TParent>;
33
+ abstract selfForeignKey(column: Column<any, boolean, boolean, TParent>, onConstraint?: {
34
+ onDelete?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
35
+ onUpdate?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
36
+ }): AbstractColumn<T, TNullable, TAutoIncrement, TParent>;
37
+ defaultValue: (value: ExtractColumnType<T>) => this;
38
+ abstract primaryKey(): AbstractColumn<T, boolean, boolean, TParent>;
39
+ unique: () => this;
40
+ abstract notNull(): AbstractColumn<T, boolean, boolean, TParent>;
41
+ getColumnName: () => string;
42
+ getReferenced: () => AbstractColumn<T, boolean, boolean, TParent>;
43
+ getColumnType: () => T;
44
+ getDefaultValue: () => any;
45
+ }
46
+ export declare class Column<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false, TParent extends AbstractTable<any> = any> extends AbstractColumn<T, TNullable, TAutoIncrement, TParent> {
47
+ constructor(parent: TParent, columnName: string, columnType: T);
48
+ notNull(): Column<T, TAutoIncrement extends true ? true : TNullable extends true ? false : true, TAutoIncrement, TParent>;
49
+ primaryKey(): Column<T, TAutoIncrement extends true ? true : false, TAutoIncrement, TParent>;
50
+ foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => Column<any, boolean, boolean, ITable>, onConstraint?: {
51
+ onDelete?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
52
+ onUpdate?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
53
+ }): Column<T, TNullable, TAutoIncrement, TParent>;
54
+ selfForeignKey(column: Column<any, boolean, boolean, TParent>, onConstraint?: {
55
+ onDelete?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
56
+ onUpdate?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
57
+ }): Column<T, TNullable, TAutoIncrement, TParent>;
58
+ }
59
+ export declare class IndexedColumn<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false, TParent extends AbstractTable<any> = any> extends AbstractColumn<T, TNullable, TAutoIncrement, TParent> {
60
+ constructor(parent: TParent, columnName: string, columnType: T, nullable: TNullable);
61
+ notNull(): IndexedColumn<T, TAutoIncrement extends true ? true : TNullable extends true ? false : true, TAutoIncrement, TParent>;
62
+ primaryKey(): IndexedColumn<T, TAutoIncrement extends true ? true : false, TAutoIncrement, TParent>;
63
+ foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => Column<any, boolean, boolean, ITable>, onConstraint?: {
64
+ onDelete?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
65
+ onUpdate?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
66
+ }): IndexedColumn<T, TNullable, TAutoIncrement, TParent>;
67
+ selfForeignKey<ITable extends AbstractTable<ITable>>(column: Column<any, boolean, boolean, TParent>, onConstraint?: {
68
+ onDelete?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
69
+ onUpdate?: 'CASCADE' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT';
70
+ }): IndexedColumn<T, TNullable, TAutoIncrement, TParent>;
71
+ }
72
+ export {};
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexedColumn = exports.Column = exports.AbstractColumn = exports.Defaults = void 0;
4
+ var Defaults;
5
+ (function (Defaults) {
6
+ Defaults["CURRENT_TIMESTAMP"] = "CURRENT_TIMESTAMP";
7
+ })(Defaults = exports.Defaults || (exports.Defaults = {}));
8
+ // eslint-disable-next-line max-len
9
+ class AbstractColumn {
10
+ constructor(parent, columnName, columnType) {
11
+ this.isNullableFlag = true;
12
+ this.defaultParam = null;
13
+ this.getOnDelete = () => this.onDelete;
14
+ this.getOnUpdate = () => this.onUpdate;
15
+ this.getAlias = () => `${this.parentTableName.replace('.', '_')}_${this.columnName}`;
16
+ this.getParent = () => this.parent;
17
+ this.getParentName = () => this.parentTableName;
18
+ this.defaultValue = (value) => {
19
+ if (Defaults[value] !== undefined) {
20
+ this.defaultParam = value;
21
+ }
22
+ else if (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'bigint') {
23
+ this.defaultParam = value;
24
+ }
25
+ else {
26
+ this.defaultParam = `'${value}'`;
27
+ }
28
+ return this;
29
+ };
30
+ this.unique = () => {
31
+ this.uniqueKeyName = this.columnName;
32
+ return this;
33
+ };
34
+ this.getColumnName = () => this.columnName;
35
+ this.getReferenced = () => this.referenced;
36
+ this.getColumnType = () => this.columnType;
37
+ this.getDefaultValue = () => this.defaultParam;
38
+ this.columnType = columnType;
39
+ this.columnName = columnName;
40
+ this.parentTableName = parent.tableName();
41
+ this.parent = parent;
42
+ }
43
+ }
44
+ exports.AbstractColumn = AbstractColumn;
45
+ // eslint-disable-next-line max-len
46
+ class Column extends AbstractColumn {
47
+ constructor(parent, columnName, columnType) {
48
+ super(parent, columnName, columnType);
49
+ }
50
+ notNull() {
51
+ this.isNullableFlag = false;
52
+ return this;
53
+ }
54
+ primaryKey() {
55
+ this.primaryKeyName = `${this.parentTableName}_${this.columnName}`;
56
+ return this;
57
+ }
58
+ foreignKey(table, callback, onConstraint) {
59
+ const tableInstance = this.getParent().db.create(table);
60
+ this.referenced = callback(tableInstance);
61
+ this.onDelete = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onDelete) ? `ON DELETE ${onConstraint.onDelete}` : undefined;
62
+ this.onUpdate = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onUpdate) ? `ON UPDATE ${onConstraint.onUpdate}` : undefined;
63
+ return this;
64
+ }
65
+ selfForeignKey(column, onConstraint) {
66
+ this.referenced = column;
67
+ this.onDelete = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onDelete) ? `ON DELETE ${onConstraint.onDelete}` : undefined;
68
+ this.onUpdate = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onUpdate) ? `ON UPDATE ${onConstraint.onUpdate}` : undefined;
69
+ return this;
70
+ }
71
+ }
72
+ exports.Column = Column;
73
+ // eslint-disable-next-line max-len
74
+ class IndexedColumn extends AbstractColumn {
75
+ constructor(parent, columnName, columnType, nullable) {
76
+ super(parent, columnName, columnType);
77
+ }
78
+ notNull() {
79
+ this.isNullableFlag = false;
80
+ return this;
81
+ }
82
+ primaryKey() {
83
+ this.primaryKeyName = `${this.parentTableName}_${this.columnName}`;
84
+ // eslint-disable-next-line max-len
85
+ return this;
86
+ }
87
+ foreignKey(table, callback, onConstraint) {
88
+ // eslint-disable-next-line new-cap
89
+ this.referenced = callback(this.getParent().db.create(table));
90
+ this.onDelete = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onDelete) ? `ON DELETE ${onConstraint.onDelete}` : undefined;
91
+ this.onUpdate = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onUpdate) ? `ON UPDATE ${onConstraint.onUpdate}` : undefined;
92
+ return this;
93
+ }
94
+ selfForeignKey(column, onConstraint) {
95
+ this.referenced = column;
96
+ this.onDelete = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onDelete) ? `ON DELETE ${onConstraint.onDelete}` : undefined;
97
+ this.onUpdate = (onConstraint === null || onConstraint === void 0 ? void 0 : onConstraint.onUpdate) ? `ON UPDATE ${onConstraint.onUpdate}` : undefined;
98
+ return this;
99
+ }
100
+ }
101
+ exports.IndexedColumn = IndexedColumn;
@@ -0,0 +1,10 @@
1
+ export { Column, ExtractColumnType, Defaults } from './column';
2
+ export { default as PgBigDecimal } from './types/pgBigDecimal';
3
+ export { default as PgBigInt } from './types/pgBigInt';
4
+ export { default as PgBoolean } from './types/pgBoolean';
5
+ export { default as PgInteger } from './types/pgInteger';
6
+ export { default as PgJsonb } from './types/pgJsonb';
7
+ export { default as PgText } from './types/pgText';
8
+ export { default as PgTime } from './types/pgTime';
9
+ export { default as PgTimestamp } from './types/pgTimestamp';
10
+ export { default as PgVarChar } from './types/pgVarChar';
@@ -0,0 +1,27 @@
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
+ exports.PgVarChar = exports.PgTimestamp = exports.PgTime = exports.PgText = exports.PgJsonb = exports.PgInteger = exports.PgBoolean = exports.PgBigInt = exports.PgBigDecimal = exports.Defaults = exports.Column = void 0;
7
+ var column_1 = require("./column");
8
+ Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_1.Column; } });
9
+ Object.defineProperty(exports, "Defaults", { enumerable: true, get: function () { return column_1.Defaults; } });
10
+ var pgBigDecimal_1 = require("./types/pgBigDecimal");
11
+ Object.defineProperty(exports, "PgBigDecimal", { enumerable: true, get: function () { return __importDefault(pgBigDecimal_1).default; } });
12
+ var pgBigInt_1 = require("./types/pgBigInt");
13
+ Object.defineProperty(exports, "PgBigInt", { enumerable: true, get: function () { return __importDefault(pgBigInt_1).default; } });
14
+ var pgBoolean_1 = require("./types/pgBoolean");
15
+ Object.defineProperty(exports, "PgBoolean", { enumerable: true, get: function () { return __importDefault(pgBoolean_1).default; } });
16
+ var pgInteger_1 = require("./types/pgInteger");
17
+ Object.defineProperty(exports, "PgInteger", { enumerable: true, get: function () { return __importDefault(pgInteger_1).default; } });
18
+ var pgJsonb_1 = require("./types/pgJsonb");
19
+ Object.defineProperty(exports, "PgJsonb", { enumerable: true, get: function () { return __importDefault(pgJsonb_1).default; } });
20
+ var pgText_1 = require("./types/pgText");
21
+ Object.defineProperty(exports, "PgText", { enumerable: true, get: function () { return __importDefault(pgText_1).default; } });
22
+ var pgTime_1 = require("./types/pgTime");
23
+ Object.defineProperty(exports, "PgTime", { enumerable: true, get: function () { return __importDefault(pgTime_1).default; } });
24
+ var pgTimestamp_1 = require("./types/pgTimestamp");
25
+ Object.defineProperty(exports, "PgTimestamp", { enumerable: true, get: function () { return __importDefault(pgTimestamp_1).default; } });
26
+ var pgVarChar_1 = require("./types/pgVarChar");
27
+ Object.defineProperty(exports, "PgVarChar", { enumerable: true, get: function () { return __importDefault(pgVarChar_1).default; } });
@@ -0,0 +1,7 @@
1
+ export default abstract class ColumnType<TCodeType = {}> {
2
+ codeType: TCodeType;
3
+ protected abstract dbName: string;
4
+ abstract getDbName(): string;
5
+ abstract insertStrategy(value: TCodeType): string;
6
+ abstract selectStrategy(value: any): TCodeType | undefined;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // eslint-disable-next-line max-classes-per-file
4
+ class ColumnType {
5
+ }
6
+ exports.default = ColumnType;
@@ -0,0 +1,10 @@
1
+ import ColumnType from './columnType';
2
+ export default class PgBigDecimal extends ColumnType<number> {
3
+ precision?: number;
4
+ scale?: number;
5
+ dbName: string;
6
+ constructor(precision?: number, scale?: number);
7
+ getDbName: () => string;
8
+ insertStrategy: (value: number) => string;
9
+ selectStrategy(value: string): number | undefined;
10
+ }
@@ -0,0 +1,31 @@
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 columnType_1 = __importDefault(require("./columnType"));
7
+ class PgBigDecimal extends columnType_1.default {
8
+ constructor(precision, scale) {
9
+ super();
10
+ this.getDbName = () => this.dbName;
11
+ this.insertStrategy = (value) => `${value}`;
12
+ this.precision = precision;
13
+ this.scale = scale;
14
+ if (this.scale && !this.precision) {
15
+ throw new Error('In numeric scale should be set up together with precision');
16
+ }
17
+ if (this.precision && !this.scale) {
18
+ this.dbName = `numeric(${this.precision})`;
19
+ }
20
+ else if (this.precision && this.scale) {
21
+ this.dbName = `numeric(${this.precision},${this.scale})`;
22
+ }
23
+ else {
24
+ this.dbName = 'numeric';
25
+ }
26
+ }
27
+ selectStrategy(value) {
28
+ return value ? parseFloat(value) : undefined;
29
+ }
30
+ }
31
+ exports.default = PgBigDecimal;
@@ -0,0 +1,15 @@
1
+ import ColumnType from './columnType';
2
+ export default class PgBigInt53 extends ColumnType<number> {
3
+ dbName: string;
4
+ constructor();
5
+ getDbName: () => string;
6
+ insertStrategy: (value: number) => string;
7
+ selectStrategy(value: string): number | undefined;
8
+ }
9
+ export declare class PgBigInt64 extends ColumnType<bigint> {
10
+ dbName: string;
11
+ constructor();
12
+ getDbName: () => string;
13
+ insertStrategy: (value: bigint) => string;
14
+ selectStrategy(value: string): bigint | undefined;
15
+ }
@@ -0,0 +1,32 @@
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
+ exports.PgBigInt64 = void 0;
7
+ // eslint-disable-next-line max-classes-per-file
8
+ const columnType_1 = __importDefault(require("./columnType"));
9
+ class PgBigInt53 extends columnType_1.default {
10
+ constructor() {
11
+ super();
12
+ this.getDbName = () => this.dbName;
13
+ this.insertStrategy = (value) => `${value}`;
14
+ this.dbName = 'BIGINT';
15
+ }
16
+ selectStrategy(value) {
17
+ return value ? parseInt(value, 10) : undefined;
18
+ }
19
+ }
20
+ exports.default = PgBigInt53;
21
+ class PgBigInt64 extends columnType_1.default {
22
+ constructor() {
23
+ super();
24
+ this.getDbName = () => this.dbName;
25
+ this.insertStrategy = (value) => `${value}`;
26
+ this.dbName = 'BIGINT';
27
+ }
28
+ selectStrategy(value) {
29
+ return value ? BigInt(value) : undefined;
30
+ }
31
+ }
32
+ exports.PgBigInt64 = PgBigInt64;
@@ -0,0 +1,15 @@
1
+ import ColumnType from './columnType';
2
+ export default class PgBigSerial53 extends ColumnType<number> {
3
+ dbName: string;
4
+ constructor();
5
+ getDbName: () => string;
6
+ insertStrategy: (value: number) => string;
7
+ selectStrategy(value: string): number | undefined;
8
+ }
9
+ export declare class PgBigSerial64 extends ColumnType<bigint> {
10
+ dbName: string;
11
+ constructor();
12
+ getDbName: () => string;
13
+ insertStrategy: (value: bigint) => string;
14
+ selectStrategy(value: string): bigint | undefined;
15
+ }
@@ -0,0 +1,32 @@
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
+ exports.PgBigSerial64 = void 0;
7
+ /* eslint-disable max-classes-per-file */
8
+ const columnType_1 = __importDefault(require("./columnType"));
9
+ class PgBigSerial53 extends columnType_1.default {
10
+ constructor() {
11
+ super();
12
+ this.getDbName = () => this.dbName;
13
+ this.insertStrategy = (value) => `${value}`;
14
+ this.dbName = 'BIGSERIAL';
15
+ }
16
+ selectStrategy(value) {
17
+ return value ? parseInt(value, 10) : undefined;
18
+ }
19
+ }
20
+ exports.default = PgBigSerial53;
21
+ class PgBigSerial64 extends columnType_1.default {
22
+ constructor() {
23
+ super();
24
+ this.getDbName = () => this.dbName;
25
+ this.insertStrategy = (value) => `${value}`;
26
+ this.dbName = 'BIGSERIAL';
27
+ }
28
+ selectStrategy(value) {
29
+ return value ? BigInt(value) : undefined;
30
+ }
31
+ }
32
+ exports.PgBigSerial64 = PgBigSerial64;
@@ -0,0 +1,8 @@
1
+ import ColumnType from './columnType';
2
+ export default class PgBoolean extends ColumnType<boolean> {
3
+ dbName: string;
4
+ constructor();
5
+ getDbName: () => string;
6
+ insertStrategy: (value: boolean) => string;
7
+ selectStrategy(value: boolean): boolean;
8
+ }
@@ -0,0 +1,18 @@
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 columnType_1 = __importDefault(require("./columnType"));
7
+ class PgBoolean extends columnType_1.default {
8
+ constructor() {
9
+ super();
10
+ this.getDbName = () => this.dbName;
11
+ this.insertStrategy = (value) => `${value}`;
12
+ this.dbName = 'boolean';
13
+ }
14
+ selectStrategy(value) {
15
+ return value;
16
+ }
17
+ }
18
+ exports.default = PgBoolean;
@@ -0,0 +1,9 @@
1
+ import ColumnType from './columnType';
2
+ export default class PgEnum<TCodeType> extends ColumnType {
3
+ codeType: TCodeType;
4
+ dbName: string;
5
+ constructor(dbName: string);
6
+ getDbName: () => string;
7
+ insertStrategy: (value: TCodeType) => string;
8
+ selectStrategy(value: any): TCodeType;
9
+ }
@@ -0,0 +1,18 @@
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 columnType_1 = __importDefault(require("./columnType"));
7
+ class PgEnum extends columnType_1.default {
8
+ constructor(dbName) {
9
+ super();
10
+ this.getDbName = () => this.dbName;
11
+ this.insertStrategy = (value) => `${value}`;
12
+ this.dbName = dbName;
13
+ }
14
+ selectStrategy(value) {
15
+ return value;
16
+ }
17
+ }
18
+ exports.default = PgEnum;