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,115 +0,0 @@
1
- import { Column } from '../../columns/column';
2
- import PgEnum from '../../columns/types/pgEnum';
3
- import AbstractTable from '../../tables/abstractTable';
4
- import { ecranate } from '../../utils/ecranate';
5
-
6
- export default class Create<TTable extends AbstractTable<TTable>> {
7
- private tableBuilder: Array<string> = [];
8
- private enumBuilder: Array<string> = [];
9
- private columnsBuilder: Array<string> = [];
10
- private primaryKey: Array<string> = [];
11
- private uniqueKey: Array<string> = [];
12
- private tableClass: AbstractTable<TTable>;
13
-
14
- private constructor(tableClass: AbstractTable<TTable>) {
15
- this.tableClass = tableClass;
16
- }
17
-
18
- public static table = <StaticTTable extends AbstractTable<StaticTTable>>(tableClass:
19
- AbstractTable<StaticTTable>): Create<StaticTTable> => new Create(tableClass);
20
-
21
- public build = (): string => {
22
- this.tableBuilder.push('CREATE TABLE IF NOT EXISTS ');
23
- this.tableBuilder.push(this.tableClass.tableName());
24
- this.tableBuilder.push(' (');
25
-
26
- const tableValues = Object.values(this.tableClass);
27
- const columns = tableValues.filter((value) => value instanceof Column);
28
- for (let i = 0; i < columns.length; i += 1) {
29
- const column = columns[i];
30
-
31
- if (column instanceof Column) {
32
- const columnType = column.getColumnType();
33
- if (columnType instanceof PgEnum) {
34
- // eslint-disable-next-line new-cap
35
- const enumValues = Object.values(columnType.codeType) as string[];
36
-
37
- let resValue = '';
38
- for (let j = 0; j < enumValues.length; j += 1) {
39
- resValue += `'${enumValues[j]}'`;
40
- if (j !== enumValues.length - 1) {
41
- resValue += ',';
42
- }
43
- }
44
- this.enumBuilder.push(`DO $$ BEGIN
45
- CREATE TYPE ${columnType.dbName} AS ENUM (${resValue});
46
- EXCEPTION
47
- WHEN duplicate_object THEN null;
48
- END $$;`);
49
- }
50
- this.columnsBuilder.push(ecranate(column.getColumnName()));
51
- this.columnsBuilder.push(' ');
52
- this.columnsBuilder.push(column.getColumnType().getDbName());
53
- this.columnsBuilder.push(' ');
54
- this.columnsBuilder.push(column.getDefaultValue() != null ? `DEFAULT ${column.getColumnType().insertStrategy(column.getDefaultValue())}` : '');
55
- this.columnsBuilder.push(column.isNullableFlag ? '' : ' NOT NULL');
56
-
57
- const referenced = column.getReferenced();
58
- this.columnsBuilder.push(referenced != null ? ` REFERENCES ${referenced.getParentName()} (${referenced.getColumnName()})` : '');
59
-
60
- if (i !== columns.length - 1) {
61
- this.columnsBuilder.push(',');
62
- }
63
- }
64
- }
65
-
66
- const primaryKeys: Column<any>[] = [];
67
- const uniqueKeys: Column<any>[] = [];
68
-
69
- Object.values(this.tableClass).forEach((field) => {
70
- if (field instanceof Column) {
71
- if (field.primaryKeyName) {
72
- primaryKeys.push(field);
73
- }
74
- if (field.uniqueKeyName) {
75
- uniqueKeys.push(field);
76
- }
77
- }
78
- });
79
-
80
- if (primaryKeys.length !== 0) {
81
- this.primaryKey.push(',');
82
- this.primaryKey.push(`\nCONSTRAINT ${this.tableClass.tableName()}_${primaryKeys[0].getColumnName()}`);
83
- this.primaryKey.push(' PRIMARY KEY(');
84
-
85
- for (let i = 0; i < primaryKeys.length; i += 1) {
86
- const column: Column<any> = primaryKeys[i];
87
- this.primaryKey.push(column.getColumnName());
88
-
89
- if (i !== primaryKeys.length - 1) {
90
- this.primaryKey.push(',');
91
- }
92
- }
93
- this.primaryKey.push(')');
94
- }
95
-
96
- if (uniqueKeys.length !== 0) {
97
- const columnName: string = uniqueKeys[0].getColumnName();
98
- this.uniqueKey.push(',');
99
- this.uniqueKey.push(`\nCONSTRAINT ${this.tableClass.tableName()}_${columnName}`);
100
- this.uniqueKey.push(' UNIQUE(');
101
-
102
- for (let i = 0; i < uniqueKeys.length; i += 1) {
103
- const column: Column<any> = uniqueKeys[i];
104
- this.uniqueKey.push(column.getColumnName());
105
-
106
- if (i !== uniqueKeys.length - 1) {
107
- this.uniqueKey.push(',');
108
- }
109
- }
110
- this.uniqueKey.push(')');
111
- }
112
-
113
- return `${this.enumBuilder.join('')} ${this.tableBuilder.join('') + this.columnsBuilder.join('') + this.primaryKey.join('') + this.uniqueKey.join('')});`;
114
- };
115
- }
@@ -1,13 +0,0 @@
1
- import { AbstractTable } from '../../../tables';
2
- import DeleteAggregator from '../../aggregators/deleteAggregator';
3
- import DeleteFrom from './deleteFrom';
4
-
5
- export default class Delete {
6
- public static from = <TTable extends AbstractTable<TTable>>(
7
- table: AbstractTable<TTable>,
8
- ): DeleteFrom => {
9
- const aggregator = new DeleteAggregator(table);
10
- aggregator.appendFrom(table.tableName());
11
- return new DeleteFrom(aggregator);
12
- };
13
- }
@@ -1,17 +0,0 @@
1
- import DeleteAggregator from '../../aggregators/deleteAggregator';
2
- import Expr from '../../requestBuilders/where/where';
3
-
4
- export default class DeleteFilter<SERVICE, DB> {
5
- private _aggregator: DeleteAggregator;
6
-
7
- public constructor(aggregator: DeleteAggregator) {
8
- this._aggregator = aggregator;
9
- }
10
-
11
- public apply = (filters: Expr): DeleteFilter<SERVICE, DB> => {
12
- this._aggregator.filters(filters);
13
- return this;
14
- };
15
-
16
- public build = () => this._aggregator.buildQuery();
17
- }
@@ -1,15 +0,0 @@
1
- import DeleteAggregator from '../../aggregators/deleteAggregator';
2
- import Expr from '../../requestBuilders/where/where';
3
- import DeleteFilter from './deleteFilter';
4
-
5
- export default class DeleteFrom {
6
- private _aggregator: DeleteAggregator;
7
-
8
- public constructor(aggregator: DeleteAggregator) {
9
- this._aggregator = aggregator;
10
- }
11
-
12
- public build = () => this._aggregator.buildQuery();
13
-
14
- public filteredBy = (filters: Expr) => new DeleteFilter(this._aggregator).apply(filters);
15
- }
@@ -1,11 +0,0 @@
1
- import { AbstractTable } from '../../../tables';
2
- import InsertAggregator from '../../aggregators/insertAggregator';
3
- import InsertInto from './insertInto';
4
-
5
- export default class Insert {
6
- public static into = <TTable extends AbstractTable<TTable>>(table: AbstractTable<TTable>) => {
7
- const aggregator = new InsertAggregator(table);
8
- // aggregator.appendFrom(table.tableName());
9
- return new InsertInto(aggregator);
10
- };
11
- }
@@ -1,16 +0,0 @@
1
- import InsertAggregator from '../../aggregators/insertAggregator';
2
- import ValuesInsert from './valuesInsert';
3
-
4
- export default class InsertInto {
5
- private _aggregator: InsertAggregator;
6
-
7
- public constructor(aggregator: InsertAggregator) {
8
- this._aggregator = aggregator;
9
- }
10
-
11
- // @TODO refactor!!
12
- public values = (values: {[name: string]: any}[]) => new ValuesInsert(this._aggregator)
13
- .apply(values);
14
-
15
- public build = () => this._aggregator.buildQuery();
16
- }
@@ -1,19 +0,0 @@
1
- import { Indexing } from '../../../tables/inferTypes';
2
- import InsertAggregator from '../../aggregators/insertAggregator';
3
- import { UpdateExpr } from '../../requestBuilders/updates/updates';
4
-
5
- export default class OnConflictInsert {
6
- private _aggregator: InsertAggregator;
7
-
8
- public constructor(aggregator: InsertAggregator) {
9
- this._aggregator = aggregator;
10
- }
11
-
12
- public apply = (updates: UpdateExpr,
13
- column: Indexing): OnConflictInsert => {
14
- this._aggregator.appendOnConflict(column, updates);
15
- return this;
16
- };
17
-
18
- public build = () => this._aggregator.buildQuery();
19
- }
@@ -1,27 +0,0 @@
1
- import { Indexing } from '../../../tables/inferTypes';
2
- import InsertAggregator from '../../aggregators/insertAggregator';
3
- import { UpdateExpr } from '../../requestBuilders/updates/updates';
4
- import OnConflictInsert from './onConflictInsert';
5
-
6
- export default class ValuesInsert {
7
- private _aggregator: InsertAggregator;
8
-
9
- public constructor(aggregator: InsertAggregator) {
10
- this._aggregator = aggregator;
11
- }
12
-
13
- public apply = (values: {[name: string]: any}[])
14
- : ValuesInsert => {
15
- this._aggregator.appendColumns();
16
- this._aggregator.appendValues(values);
17
-
18
- return this;
19
- };
20
-
21
- public onConflict = (updates: UpdateExpr,
22
- column: Indexing) => new OnConflictInsert(
23
- this._aggregator,
24
- ).apply(updates, column);
25
-
26
- public build = () => this._aggregator.buildQuery();
27
- }
@@ -1,14 +0,0 @@
1
- import { AbstractColumn } from '../../../columns/column';
2
- import ColumnType from '../../../columns/types/columnType';
3
- import { AbstractTable } from '../../../tables';
4
- import SelectAggregator from '../../aggregators/selectAggregator';
5
- import SelectFrom from './selectFrom';
6
-
7
- export default class Select {
8
- // eslint-disable-next-line max-len
9
- public static from = <TTable extends AbstractTable<TTable>, TType extends ColumnType<any>, TColumn extends AbstractColumn<TType, boolean, boolean, TTable>, T extends {[name: string]: TColumn} = {}>(table: AbstractTable<TTable>, partial?: T) => {
10
- const aggregator = new SelectAggregator(table, partial);
11
- aggregator.appendFrom(table.tableName());
12
- return new SelectFrom(aggregator);
13
- };
14
- }
@@ -1,50 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { AbstractColumn } from '../../../columns/column';
3
- import ColumnType from '../../../columns/types/columnType';
4
- import SelectAggregator from '../../aggregators/selectAggregator';
5
- import Order from '../../highLvlBuilders/order';
6
- import Join from '../../joinBuilders/join';
7
- import Expr from '../../requestBuilders/where/where';
8
- import SelectJoined from './selectJoined';
9
- import WhereSelect from './whereSelect';
10
-
11
- export default class SelectFrom {
12
- private _aggregator: SelectAggregator;
13
-
14
- public constructor(aggregator: SelectAggregator) {
15
- this._aggregator = aggregator;
16
- }
17
-
18
- public joined = (joins:
19
- Array<{
20
- join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
21
- id?: number
22
- }>) => new SelectJoined(this._aggregator).apply(joins);
23
-
24
- public limit = (limit?: number): SelectFrom => {
25
- this._aggregator.limit(limit);
26
- return this;
27
- };
28
-
29
- public offset = (offset?: number): SelectFrom => {
30
- this._aggregator.offset(offset);
31
- return this;
32
- };
33
-
34
- public orderBy = (orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
35
- order?: Order): SelectFrom => {
36
- this._aggregator.orderBy(orderBy, order);
37
- return this;
38
- };
39
-
40
- public distinct = (column?: AbstractColumn<ColumnType, boolean, boolean>): SelectFrom => {
41
- if (column) {
42
- this._aggregator.distinct(column);
43
- }
44
- return this;
45
- };
46
-
47
- public filteredBy = (filters: Expr) => new WhereSelect(this._aggregator).apply(filters);
48
-
49
- public build = () => this._aggregator.buildQuery();
50
- }
@@ -1,44 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { AbstractColumn } from '../../../columns/column';
3
- import ColumnType from '../../../columns/types/columnType';
4
- import SelectAggregator from '../../aggregators/selectAggregator';
5
- import Order from '../../highLvlBuilders/order';
6
- import Join from '../../joinBuilders/join';
7
- import Expr from '../../requestBuilders/where/where';
8
- import WhereSelect from './whereSelect';
9
-
10
- export default class SelectJoined {
11
- private _aggregator: SelectAggregator;
12
-
13
- public constructor(aggregator: SelectAggregator) {
14
- this._aggregator = aggregator;
15
- }
16
-
17
- public apply = (joins: Array<{
18
- join: Join<any>, partial?: {[name: string]: AbstractColumn<ColumnType<any>, boolean, boolean, any>},
19
- id?: number
20
- }>): SelectJoined => {
21
- this._aggregator.join(joins);
22
- return this;
23
- };
24
-
25
- public limit = (limit?: number): SelectJoined => {
26
- this._aggregator.limit(limit);
27
- return this;
28
- };
29
-
30
- public offset = (offset?: number): SelectJoined => {
31
- this._aggregator.offset(offset);
32
- return this;
33
- };
34
-
35
- public orderBy = (orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
36
- order?: Order): SelectJoined => {
37
- this._aggregator.orderBy(orderBy, order);
38
- return this;
39
- };
40
-
41
- public filteredBy = (filters: Expr) => new WhereSelect(this._aggregator).apply(filters);
42
-
43
- public build = () => this._aggregator.buildQuery();
44
- }
@@ -1,36 +0,0 @@
1
- import { AbstractColumn } from '../../../columns/column';
2
- import ColumnType from '../../../columns/types/columnType';
3
- import SelectAggregator from '../../aggregators/selectAggregator';
4
- import Order from '../../highLvlBuilders/order';
5
- import Expr from '../../requestBuilders/where/where';
6
-
7
- export default class WhereSelect {
8
- private _aggregator: SelectAggregator;
9
-
10
- public constructor(aggregator: SelectAggregator) {
11
- this._aggregator = aggregator;
12
- }
13
-
14
- public limit = (limit?: number): WhereSelect => {
15
- this._aggregator.limit(limit);
16
- return this;
17
- };
18
-
19
- public offset = (offset?: number): WhereSelect => {
20
- this._aggregator.offset(offset);
21
- return this;
22
- };
23
-
24
- public orderBy = (orderBy?: AbstractColumn<ColumnType, boolean, boolean>,
25
- order?: Order): WhereSelect => {
26
- this._aggregator.orderBy(orderBy, order);
27
- return this;
28
- };
29
-
30
- public apply = (filters: Expr): WhereSelect => {
31
- this._aggregator.filters(filters);
32
- return this;
33
- };
34
-
35
- public build = () => this._aggregator.buildQuery();
36
- }
@@ -1,13 +0,0 @@
1
- import { AbstractTable } from '../../../tables';
2
- import UpdateAggregator from '../../aggregators/updateAggregator';
3
- import UpdateIn from './updateIn';
4
-
5
- export default class Update {
6
- public static in = <TTable extends AbstractTable<TTable>>(
7
- table: AbstractTable<TTable>,
8
- ) => {
9
- const aggregator = new UpdateAggregator(table);
10
- aggregator.appendFrom(table.tableName());
11
- return new UpdateIn(aggregator);
12
- };
13
- }
@@ -1,17 +0,0 @@
1
- import UpdateAggregator from '../../aggregators/updateAggregator';
2
- import { UpdateExpr } from '../../requestBuilders/updates/updates';
3
- import WhereSet from './whereSet';
4
-
5
- export default class UpdateIn {
6
- private _aggregator: UpdateAggregator;
7
-
8
- public constructor(aggregator: UpdateAggregator) {
9
- this._aggregator = aggregator;
10
- }
11
-
12
- public columns = () => new UpdateIn(this._aggregator);
13
-
14
- public set = (updates: UpdateExpr) => new WhereSet(this._aggregator).apply(updates);
15
-
16
- public build = () => this._aggregator.buildQuery();
17
- }
@@ -1,17 +0,0 @@
1
- import UpdateAggregator from '../../aggregators/updateAggregator';
2
- import Expr from '../../requestBuilders/where/where';
3
-
4
- export default class WhereSelect<SERVICE, DB> {
5
- private _aggregator: UpdateAggregator;
6
-
7
- public constructor(aggregator: UpdateAggregator) {
8
- this._aggregator = aggregator;
9
- }
10
-
11
- public apply = (filters: Expr): WhereSelect<SERVICE, DB> => {
12
- this._aggregator.where(filters);
13
- return this;
14
- };
15
-
16
- public build = () => this._aggregator.buildQuery();
17
- }
@@ -1,21 +0,0 @@
1
- import UpdateAggregator from '../../aggregators/updateAggregator';
2
- import { UpdateExpr } from '../../requestBuilders/updates/updates';
3
- import Expr from '../../requestBuilders/where/where';
4
- import WhereSelect from './whereSelect';
5
-
6
- export default class WhereSet<SERVICE, DB> {
7
- private _aggregator: UpdateAggregator;
8
-
9
- public constructor(aggregator: UpdateAggregator) {
10
- this._aggregator = aggregator;
11
- }
12
-
13
- public apply = (updates: UpdateExpr): WhereSet<SERVICE, DB> => {
14
- this._aggregator.set(updates);
15
- return this;
16
- };
17
-
18
- public filteredBy = (filters: Expr) => new WhereSelect(this._aggregator).apply(filters);
19
-
20
- public build = () => this._aggregator.buildQuery();
21
- }
@@ -1,34 +0,0 @@
1
- import { UpdateExpr } from './updates';
2
-
3
- export default class Combine extends UpdateExpr {
4
- private _setters: Array<UpdateExpr>;
5
-
6
- public constructor(setters: Array<UpdateExpr>) {
7
- super();
8
- this._setters = setters;
9
- }
10
-
11
- public toQuery = (position?: number): { query: string, values: Array<any>} => {
12
- let nextPosition = position || 1;
13
-
14
- const response = [];
15
- const valuesResult: Array<any> = [];
16
-
17
- for (let index = 0; index < this._setters.length; index += 1) {
18
- const setter = this._setters[index];
19
-
20
- const expressionResult = setter.toQuery(nextPosition);
21
-
22
- valuesResult.push(...expressionResult.values);
23
- response.push(expressionResult.query);
24
-
25
- nextPosition += expressionResult.values.length;
26
-
27
- if (index !== this._setters.length - 1) {
28
- response.push(', ');
29
- }
30
- }
31
-
32
- return { query: response.join(''), values: valuesResult };
33
- };
34
- }
@@ -1,24 +0,0 @@
1
- import { AbstractColumn } from '../../../columns/column';
2
- import ColumnType from '../../../columns/types/columnType';
3
- import { UpdateCustomExpr } from './updates';
4
-
5
- export default class Increment<T extends AbstractColumn<ColumnType<any>, boolean, boolean>>
6
- extends UpdateCustomExpr<T> {
7
- private _column: T;
8
- private _value: number;
9
-
10
- public constructor(value: number) {
11
- super();
12
- this._value = value;
13
- }
14
-
15
- public setColumn = (column: T): UpdateCustomExpr<T> => {
16
- this._column = column;
17
- return this;
18
- };
19
-
20
- public toQuery = (): { query: string, values: Array<any>} => {
21
- const query = `${this._column.getColumnName()} = ${this._column.getColumnName()} + ${this._value}`;
22
- return { query, values: [] };
23
- };
24
- }
@@ -1,27 +0,0 @@
1
- import { AbstractColumn } from '../../../columns/column';
2
- import ColumnType from '../../../columns/types/columnType';
3
- import { UpdateExpr } from './updates';
4
-
5
- export default class SetObject<T extends AbstractColumn<ColumnType<any>, boolean, boolean>>
6
- extends UpdateExpr {
7
- private _column: T;
8
- private _value: any;
9
-
10
- public constructor(column: T, value: any) {
11
- super();
12
- this._column = column;
13
- this._value = value;
14
- }
15
-
16
- public toQuery = (position?: number): { query: string, values: Array<any>} => {
17
- const nextPosition = position || 1;
18
-
19
- const valueToInsert = this._value === null || this._value === undefined
20
- ? this._value
21
- : this._column.getColumnType().insertStrategy(this._value);
22
-
23
- const query = `"${this._column.getColumnName()}"=$${nextPosition}`;
24
-
25
- return { query, values: [valueToInsert] };
26
- };
27
- }
@@ -1,15 +0,0 @@
1
- import { AbstractColumn } from '../../../columns/column';
2
- import ColumnType from '../../../columns/types/columnType';
3
- import { ExtractCodeType } from '../../../tables/inferTypes';
4
- import Combine from './combine';
5
- import Increment from './increment';
6
- import SetObject from './setObjects';
7
- import { UpdateCustomExpr, UpdateExpr } from './updates';
8
-
9
- export const set = <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(column: T,
10
- value: ExtractCodeType<T>): UpdateExpr => new SetObject<T>(column, value);
11
-
12
- export const incrementBy = <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(
13
- value: number): UpdateCustomExpr<T> => new Increment<T>(value);
14
-
15
- export const combine = (updates: Array<UpdateExpr>): UpdateExpr => new Combine(updates);
@@ -1,8 +0,0 @@
1
- /* eslint-disable max-classes-per-file */
2
- export abstract class UpdateExpr {
3
- abstract toQuery(position?: number): { query: string, values: Array<any> };
4
- }
5
-
6
- export abstract class UpdateCustomExpr<T> extends UpdateExpr {
7
- abstract setColumn(column: T): UpdateCustomExpr<T>;
8
- }
@@ -1,35 +0,0 @@
1
- /* eslint-disable max-len */
2
- import Expr from './where';
3
-
4
- export default class And extends Expr {
5
- private expressions: Expr[];
6
-
7
- public constructor(expressions: Expr[]) {
8
- super();
9
- this.expressions = expressions;
10
- }
11
-
12
- public toQuery = (position?: number, tableCache?: {[tableName: string]: string}): { query: string, values: Array<any> } => {
13
- let nextPosition = position || 1;
14
-
15
- const result: string[] = ['('];
16
- const valuesResult: Array<any> = [];
17
- for (let i = 0; i < this.expressions.length; i += 1) {
18
- const expression = this.expressions[i];
19
-
20
- const expressionResult = expression.toQuery(nextPosition, tableCache);
21
-
22
- valuesResult.push(...expressionResult.values);
23
- result.push(expressionResult.query);
24
-
25
- nextPosition += expressionResult.values.length;
26
-
27
- if (i < this.expressions.length - 1) {
28
- result.push(' and ');
29
- }
30
- }
31
- result.push(')');
32
-
33
- return { query: result.join(''), values: valuesResult };
34
- };
35
- }
@@ -1,23 +0,0 @@
1
- /* eslint-disable no-return-assign */
2
- import { shouldEcranate } from '../../../utils/ecranate';
3
- import Expr from './where';
4
-
5
- export default class Const extends Expr {
6
- private value: any;
7
-
8
- public constructor(value: any) {
9
- super();
10
- this.value = value;
11
- }
12
-
13
- public toQuery = (position?: number): { query: string, values: Array<any>} => {
14
- const nextPosition = position || 1;
15
- if (this.value instanceof Date) {
16
- return { query: `$${nextPosition}`, values: [`${this.value.toISOString()}`] };
17
- }
18
- if (shouldEcranate(this.value)) {
19
- return { query: `$${nextPosition}`, values: [`${this.value.toString()}`] };
20
- }
21
- return { query: `$${nextPosition}`, values: [this.value] };
22
- };
23
- }