drizzle-orm 0.9.0 → 0.9.4

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 (325) hide show
  1. package/builders/aggregators/abstractAggregator.d.ts +9 -0
  2. package/builders/aggregators/abstractAggregator.js +28 -0
  3. package/builders/aggregators/deleteAggregator.d.ts +12 -0
  4. package/builders/aggregators/deleteAggregator.js +36 -0
  5. package/builders/aggregators/insertAggregator.d.ts +18 -0
  6. package/builders/aggregators/insertAggregator.js +94 -0
  7. package/builders/aggregators/selectAggregator.d.ts +26 -0
  8. package/builders/aggregators/selectAggregator.js +106 -0
  9. package/builders/aggregators/updateAggregator.d.ts +15 -0
  10. package/builders/aggregators/updateAggregator.js +41 -0
  11. package/builders/highLvlBuilders/abstractRequestBuilder.d.ts +21 -0
  12. package/builders/highLvlBuilders/abstractRequestBuilder.js +21 -0
  13. package/builders/highLvlBuilders/deleteRequestBuilder.d.ts +17 -0
  14. package/builders/highLvlBuilders/deleteRequestBuilder.js +43 -0
  15. package/builders/highLvlBuilders/insertRequestBuilder.d.ts +18 -0
  16. package/builders/highLvlBuilders/insertRequestBuilder.js +54 -0
  17. package/builders/highLvlBuilders/order.d.ts +5 -0
  18. package/builders/highLvlBuilders/order.js +8 -0
  19. package/builders/highLvlBuilders/selectRequestBuilder.d.ts +42 -0
  20. package/builders/highLvlBuilders/selectRequestBuilder.js +99 -0
  21. package/builders/highLvlBuilders/updateRequestBuilder.d.ts +20 -0
  22. package/builders/highLvlBuilders/updateRequestBuilder.js +54 -0
  23. package/{src/builders/index.ts → builders/index.d.ts} +2 -4
  24. package/builders/index.js +50 -0
  25. package/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +27 -0
  26. package/builders/joinBuilders/builders/abstractJoinBuilder.js +42 -0
  27. package/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +23 -0
  28. package/builders/joinBuilders/builders/selectWithFiveJoins.js +33 -0
  29. package/builders/joinBuilders/builders/selectWithFourJoins.d.ts +36 -0
  30. package/builders/joinBuilders/builders/selectWithFourJoins.js +65 -0
  31. package/builders/joinBuilders/builders/selectWithJoin.d.ts +33 -0
  32. package/builders/joinBuilders/builders/selectWithJoin.js +56 -0
  33. package/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +35 -0
  34. package/builders/joinBuilders/builders/selectWithThreeJoins.js +62 -0
  35. package/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +34 -0
  36. package/builders/joinBuilders/builders/selectWithTwoJoins.js +59 -0
  37. package/builders/joinBuilders/join.d.ts +23 -0
  38. package/builders/joinBuilders/join.js +28 -0
  39. package/builders/joinBuilders/joinWith.d.ts +14 -0
  40. package/builders/joinBuilders/joinWith.js +11 -0
  41. package/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +19 -0
  42. package/builders/joinBuilders/responses/selectResponseFiveJoins.js +35 -0
  43. package/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +18 -0
  44. package/builders/joinBuilders/responses/selectResponseFourJoins.js +34 -0
  45. package/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +17 -0
  46. package/builders/joinBuilders/responses/selectResponseThreeJoins.js +33 -0
  47. package/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +16 -0
  48. package/builders/joinBuilders/responses/selectResponseTwoJoins.js +32 -0
  49. package/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +15 -0
  50. package/builders/joinBuilders/responses/selectResponseWithJoin.js +31 -0
  51. package/builders/joinBuilders/static.d.ts +5 -0
  52. package/builders/joinBuilders/static.js +6 -0
  53. package/{src/builders/lowLvlBuilders/alter.ts → builders/lowLvlBuilders/alter.d.ts} +0 -0
  54. package/builders/lowLvlBuilders/alter.js +1 -0
  55. package/builders/lowLvlBuilders/create.d.ts +12 -0
  56. package/builders/lowLvlBuilders/create.js +97 -0
  57. package/builders/lowLvlBuilders/delets/delete.d.ts +5 -0
  58. package/builders/lowLvlBuilders/delets/delete.js +12 -0
  59. package/builders/lowLvlBuilders/delets/deleteFilter.d.ts +8 -0
  60. package/builders/lowLvlBuilders/delets/deleteFilter.js +13 -0
  61. package/builders/lowLvlBuilders/delets/deleteFrom.d.ts +9 -0
  62. package/builders/lowLvlBuilders/delets/deleteFrom.js +11 -0
  63. package/builders/lowLvlBuilders/inserts/insert.d.ts +5 -0
  64. package/builders/lowLvlBuilders/inserts/insert.js +12 -0
  65. package/builders/lowLvlBuilders/inserts/insertInto.d.ts +10 -0
  66. package/builders/lowLvlBuilders/inserts/insertInto.js +13 -0
  67. package/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +9 -0
  68. package/builders/lowLvlBuilders/inserts/onConflictInsert.js +13 -0
  69. package/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +13 -0
  70. package/builders/lowLvlBuilders/inserts/valuesInsert.js +16 -0
  71. package/builders/lowLvlBuilders/selects/select.d.ts +5 -0
  72. package/builders/lowLvlBuilders/selects/select.js +12 -0
  73. package/builders/lowLvlBuilders/selects/selectFrom.d.ts +19 -0
  74. package/builders/lowLvlBuilders/selects/selectFrom.js +31 -0
  75. package/builders/lowLvlBuilders/selects/selectJoined.d.ts +17 -0
  76. package/builders/lowLvlBuilders/selects/selectJoined.js +27 -0
  77. package/builders/lowLvlBuilders/selects/whereSelect.d.ts +14 -0
  78. package/builders/lowLvlBuilders/selects/whereSelect.js +25 -0
  79. package/builders/lowLvlBuilders/updates/update.d.ts +5 -0
  80. package/builders/lowLvlBuilders/updates/update.js +12 -0
  81. package/builders/lowLvlBuilders/updates/updateIn.d.ts +10 -0
  82. package/builders/lowLvlBuilders/updates/updateIn.js +12 -0
  83. package/builders/lowLvlBuilders/updates/whereSelect.d.ts +8 -0
  84. package/builders/lowLvlBuilders/updates/whereSelect.js +13 -0
  85. package/builders/lowLvlBuilders/updates/whereSet.d.ts +11 -0
  86. package/builders/lowLvlBuilders/updates/whereSet.js +15 -0
  87. package/builders/requestBuilders/updates/combine.d.ts +6 -0
  88. package/builders/requestBuilders/updates/combine.js +21 -0
  89. package/builders/requestBuilders/updates/setObjects.d.ts +9 -0
  90. package/builders/requestBuilders/updates/setObjects.js +12 -0
  91. package/builders/requestBuilders/updates/static.d.ts +6 -0
  92. package/builders/requestBuilders/updates/static.js +9 -0
  93. package/{src/builders/requestBuilders/updates/updates.ts → builders/requestBuilders/updates/updates.d.ts} +1 -1
  94. package/builders/requestBuilders/updates/updates.js +5 -0
  95. package/builders/requestBuilders/where/and.d.ts +6 -0
  96. package/builders/requestBuilders/where/and.js +22 -0
  97. package/builders/requestBuilders/where/const.d.ts +6 -0
  98. package/builders/requestBuilders/where/const.js +17 -0
  99. package/builders/requestBuilders/where/constArray.d.ts +6 -0
  100. package/builders/requestBuilders/where/constArray.js +27 -0
  101. package/builders/requestBuilders/where/eqWhere.d.ts +7 -0
  102. package/builders/requestBuilders/where/eqWhere.js +12 -0
  103. package/builders/requestBuilders/where/greater.d.ts +10 -0
  104. package/builders/requestBuilders/where/greater.js +12 -0
  105. package/builders/requestBuilders/where/greaterEq.d.ts +10 -0
  106. package/builders/requestBuilders/where/greaterEq.js +12 -0
  107. package/builders/requestBuilders/where/in.d.ts +7 -0
  108. package/builders/requestBuilders/where/in.js +12 -0
  109. package/builders/requestBuilders/where/isNull.d.ts +6 -0
  110. package/builders/requestBuilders/where/isNull.js +11 -0
  111. package/builders/requestBuilders/where/less.d.ts +10 -0
  112. package/builders/requestBuilders/where/less.js +12 -0
  113. package/builders/requestBuilders/where/lessEq.d.ts +10 -0
  114. package/builders/requestBuilders/where/lessEq.js +12 -0
  115. package/builders/requestBuilders/where/like.d.ts +7 -0
  116. package/builders/requestBuilders/where/like.js +12 -0
  117. package/builders/requestBuilders/where/notEqWhere.d.ts +7 -0
  118. package/builders/requestBuilders/where/notEqWhere.js +12 -0
  119. package/builders/requestBuilders/where/or.d.ts +6 -0
  120. package/builders/requestBuilders/where/or.js +22 -0
  121. package/builders/requestBuilders/where/rawWhere.d.ts +6 -0
  122. package/builders/requestBuilders/where/rawWhere.js +11 -0
  123. package/builders/requestBuilders/where/static.d.ts +16 -0
  124. package/builders/requestBuilders/where/static.js +43 -0
  125. package/builders/requestBuilders/where/var.d.ts +8 -0
  126. package/builders/requestBuilders/where/var.js +12 -0
  127. package/{src/builders/requestBuilders/where/where.ts → builders/requestBuilders/where/where.d.ts} +1 -1
  128. package/builders/requestBuilders/where/where.js +5 -0
  129. package/builders/transaction/transaction.d.ts +8 -0
  130. package/builders/transaction/transaction.js +20 -0
  131. package/columns/column.d.ts +61 -0
  132. package/columns/column.js +98 -0
  133. package/{src/columns/index.ts → columns/index.d.ts} +0 -0
  134. package/columns/index.js +23 -0
  135. package/columns/types/columnType.d.ts +7 -0
  136. package/columns/types/columnType.js +6 -0
  137. package/columns/types/pgBigDecimal.d.ts +10 -0
  138. package/columns/types/pgBigDecimal.js +28 -0
  139. package/columns/types/pgBigInt.d.ts +8 -0
  140. package/columns/types/pgBigInt.js +17 -0
  141. package/columns/types/pgBoolean.d.ts +8 -0
  142. package/columns/types/pgBoolean.js +15 -0
  143. package/columns/types/pgEnum.d.ts +9 -0
  144. package/columns/types/pgEnum.js +15 -0
  145. package/columns/types/pgInteger.d.ts +8 -0
  146. package/columns/types/pgInteger.js +15 -0
  147. package/columns/types/pgJsonb.d.ts +9 -0
  148. package/columns/types/pgJsonb.js +15 -0
  149. package/columns/types/pgText.d.ts +8 -0
  150. package/columns/types/pgText.js +15 -0
  151. package/columns/types/pgTime.d.ts +8 -0
  152. package/columns/types/pgTime.js +15 -0
  153. package/columns/types/pgTimestamp.d.ts +8 -0
  154. package/columns/types/pgTimestamp.js +15 -0
  155. package/columns/types/pgVarChar.d.ts +9 -0
  156. package/columns/types/pgVarChar.js +21 -0
  157. package/db/db.d.ts +19 -0
  158. package/db/db.js +26 -0
  159. package/db/dbConnector.d.ts +9 -0
  160. package/db/dbConnector.js +28 -0
  161. package/db/dbStringConnector.d.ts +6 -0
  162. package/db/dbStringConnector.js +25 -0
  163. package/{src/mappers/index.ts → db/group_by.d.ts} +0 -0
  164. package/db/group_by.js +68 -0
  165. package/{src/db/index.ts → db/index.d.ts} +0 -0
  166. package/db/index.js +9 -0
  167. package/db/session.d.ts +7 -0
  168. package/db/session.js +20 -0
  169. package/docs/cases/simple_delete.d.ts +1 -0
  170. package/docs/cases/simple_delete.js +30 -0
  171. package/docs/cases/simple_insert.d.ts +1 -0
  172. package/docs/cases/simple_insert.js +51 -0
  173. package/docs/cases/simple_join.d.ts +1 -0
  174. package/docs/cases/simple_join.js +95 -0
  175. package/docs/cases/simple_select.d.ts +1 -0
  176. package/docs/cases/simple_select.js +39 -0
  177. package/docs/cases/simple_update.d.ts +1 -0
  178. package/docs/cases/simple_update.js +33 -0
  179. package/docs/tables/citiesTable.d.ts +14 -0
  180. package/docs/tables/citiesTable.js +19 -0
  181. package/docs/tables/citiesToUsers.d.ts +7 -0
  182. package/docs/tables/citiesToUsers.js +18 -0
  183. package/docs/tables/userGroupsTable.d.ts +7 -0
  184. package/docs/tables/userGroupsTable.js +15 -0
  185. package/docs/tables/usersTable.d.ts +17 -0
  186. package/docs/tables/usersTable.js +29 -0
  187. package/docs/tables/usersToUserGroups.d.ts +7 -0
  188. package/docs/tables/usersToUserGroups.js +18 -0
  189. package/docs/types/rolesType.d.ts +1 -0
  190. package/docs/types/rolesType.js +6 -0
  191. package/errors/baseError.d.ts +22 -0
  192. package/errors/baseError.js +35 -0
  193. package/errors/builderError.d.ts +14 -0
  194. package/errors/builderError.js +24 -0
  195. package/errors/dbErrors.d.ts +12 -0
  196. package/errors/dbErrors.js +28 -0
  197. package/index.d.ts +13 -0
  198. package/index.js +32 -0
  199. package/indexes/tableIndex.d.ts +11 -0
  200. package/indexes/tableIndex.js +17 -0
  201. package/logger/abstractLogger.d.ts +4 -0
  202. package/logger/abstractLogger.js +5 -0
  203. package/logger/consoleLogger.d.ts +5 -0
  204. package/logger/consoleLogger.js +12 -0
  205. package/{src/migrator/index.ts → mappers/index.d.ts} +0 -0
  206. package/mappers/index.js +1 -0
  207. package/mappers/responseMapper.d.ts +7 -0
  208. package/mappers/responseMapper.js +23 -0
  209. package/migrator/index.d.ts +0 -0
  210. package/migrator/index.js +1 -0
  211. package/migrator/migrator.d.ts +16 -0
  212. package/migrator/migrator.js +101 -0
  213. package/package.json +2 -2
  214. package/serializer/serializer.d.ts +40 -0
  215. package/serializer/serializer.js +74 -0
  216. package/tables/abstractTable.d.ts +118 -0
  217. package/tables/abstractTable.js +116 -0
  218. package/{src/tables/index.ts → tables/index.d.ts} +0 -0
  219. package/tables/index.js +8 -0
  220. package/tables/inferTypes.d.ts +19 -0
  221. package/tables/inferTypes.js +2 -0
  222. package/tables/migrationsTable.d.ts +8 -0
  223. package/tables/migrationsTable.js +16 -0
  224. package/test.d.ts +1 -0
  225. package/test.js +81 -0
  226. package/types/type.d.ts +10 -0
  227. package/types/type.js +14 -0
  228. package/utils/ecranate.d.ts +2 -0
  229. package/utils/ecranate.js +8 -0
  230. package/.eslintrc +0 -26
  231. package/.tslintignore +0 -1
  232. package/LICENSE +0 -674
  233. package/README.md +0 -147
  234. package/src/builders/aggregators/abstractAggregator.ts +0 -37
  235. package/src/builders/aggregators/deleteAggregator.ts +0 -34
  236. package/src/builders/aggregators/insertAggregator.ts +0 -116
  237. package/src/builders/aggregators/selectAggregator.ts +0 -102
  238. package/src/builders/aggregators/updateAggregator.ts +0 -45
  239. package/src/builders/highLvlBuilders/abstractRequestBuilder.ts +0 -37
  240. package/src/builders/highLvlBuilders/deleteRequestBuilder.ts +0 -59
  241. package/src/builders/highLvlBuilders/insertRequestBuilder.ts +0 -87
  242. package/src/builders/highLvlBuilders/order.ts +0 -4
  243. package/src/builders/highLvlBuilders/selectRequestBuilder.ts +0 -102
  244. package/src/builders/highLvlBuilders/updateRequestBuilder.ts +0 -63
  245. package/src/builders/joinBuilders/builders/abstractJoinBuilder.ts +0 -22
  246. package/src/builders/joinBuilders/builders/selectWithFourJoins.ts +0 -71
  247. package/src/builders/joinBuilders/builders/selectWithJoin.ts +0 -67
  248. package/src/builders/joinBuilders/builders/selectWithThreeJoins.ts +0 -78
  249. package/src/builders/joinBuilders/builders/selectWithTwoJoins.ts +0 -72
  250. package/src/builders/joinBuilders/join.ts +0 -37
  251. package/src/builders/joinBuilders/joinWith.ts +0 -19
  252. package/src/builders/joinBuilders/responses/selectResponseFourJoins.ts +0 -33
  253. package/src/builders/joinBuilders/responses/selectResponseThreeJoins.ts +0 -29
  254. package/src/builders/joinBuilders/responses/selectResponseTwoJoins.ts +0 -22
  255. package/src/builders/joinBuilders/responses/selectResponseWithJoin.ts +0 -28
  256. package/src/builders/joinBuilders/static.ts +0 -9
  257. package/src/builders/lowLvlBuilders/create.ts +0 -114
  258. package/src/builders/lowLvlBuilders/delets/delete.ts +0 -10
  259. package/src/builders/lowLvlBuilders/delets/deleteFilter.ts +0 -17
  260. package/src/builders/lowLvlBuilders/delets/deleteFrom.ts +0 -15
  261. package/src/builders/lowLvlBuilders/inserts/insert.ts +0 -12
  262. package/src/builders/lowLvlBuilders/inserts/insertInto.ts +0 -18
  263. package/src/builders/lowLvlBuilders/inserts/onConflictInsert.ts +0 -19
  264. package/src/builders/lowLvlBuilders/inserts/valuesInsert.ts +0 -30
  265. package/src/builders/lowLvlBuilders/selects/select.ts +0 -12
  266. package/src/builders/lowLvlBuilders/selects/selectFrom.ts +0 -38
  267. package/src/builders/lowLvlBuilders/selects/selectJoined.ts +0 -40
  268. package/src/builders/lowLvlBuilders/selects/whereSelect.ts +0 -35
  269. package/src/builders/lowLvlBuilders/updates/update.ts +0 -10
  270. package/src/builders/lowLvlBuilders/updates/updateIn.ts +0 -22
  271. package/src/builders/lowLvlBuilders/updates/whereSelect.ts +0 -17
  272. package/src/builders/lowLvlBuilders/updates/whereSet.ts +0 -21
  273. package/src/builders/requestBuilders/updates/combine.ts +0 -25
  274. package/src/builders/requestBuilders/updates/setObjects.ts +0 -18
  275. package/src/builders/requestBuilders/updates/static.ts +0 -11
  276. package/src/builders/requestBuilders/where/and.ts +0 -26
  277. package/src/builders/requestBuilders/where/const.ts +0 -18
  278. package/src/builders/requestBuilders/where/constArray.ts +0 -27
  279. package/src/builders/requestBuilders/where/eqWhere.ts +0 -14
  280. package/src/builders/requestBuilders/where/greater.ts +0 -14
  281. package/src/builders/requestBuilders/where/greaterEq.ts +0 -14
  282. package/src/builders/requestBuilders/where/in.ts +0 -14
  283. package/src/builders/requestBuilders/where/less.ts +0 -14
  284. package/src/builders/requestBuilders/where/lessEq.ts +0 -14
  285. package/src/builders/requestBuilders/where/like.ts +0 -14
  286. package/src/builders/requestBuilders/where/or.ts +0 -26
  287. package/src/builders/requestBuilders/where/static.ts +0 -42
  288. package/src/builders/requestBuilders/where/var.ts +0 -15
  289. package/src/builders/transaction/transaction.ts +0 -21
  290. package/src/columns/column.ts +0 -86
  291. package/src/columns/types/columnType.ts +0 -7
  292. package/src/columns/types/pgBigDecimal.ts +0 -29
  293. package/src/columns/types/pgBigInt.ts +0 -20
  294. package/src/columns/types/pgBoolean.ts +0 -18
  295. package/src/columns/types/pgEnum.ts +0 -22
  296. package/src/columns/types/pgInteger.ts +0 -18
  297. package/src/columns/types/pgJsonb.ts +0 -19
  298. package/src/columns/types/pgText.ts +0 -18
  299. package/src/columns/types/pgTime.ts +0 -18
  300. package/src/columns/types/pgTimestamp.ts +0 -18
  301. package/src/columns/types/pgVarChar.ts +0 -24
  302. package/src/db/db.ts +0 -29
  303. package/src/db/dbConnector.ts +0 -30
  304. package/src/db/dbStringConnector.ts +0 -28
  305. package/src/db/session.ts +0 -21
  306. package/src/errors/baseError.ts +0 -47
  307. package/src/errors/builderError.ts +0 -30
  308. package/src/errors/dbErrors.ts +0 -24
  309. package/src/examples/tables/authOtpTable.ts +0 -17
  310. package/src/examples/tables/cityTable.ts +0 -15
  311. package/src/examples/tables/usersTable.ts +0 -18
  312. package/src/examples/testEnum.ts +0 -6
  313. package/src/index.ts +0 -40
  314. package/src/indexes/tableIndex.ts +0 -19
  315. package/src/logger/abstractLogger.ts +0 -4
  316. package/src/logger/consoleLogger.ts +0 -11
  317. package/src/mappers/responseMapper.ts +0 -24
  318. package/src/migrator/migrator.ts +0 -110
  319. package/src/serializer/Untitled.js +0 -72
  320. package/src/serializer/out.json +0 -140
  321. package/src/tables/abstractTable.ts +0 -183
  322. package/src/tables/inferTypes.ts +0 -34
  323. package/src/tables/migrationsTable.ts +0 -12
  324. package/src/utils/ecranate.ts +0 -4
  325. package/tsconfig.json +0 -29
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const deleteAggregator_1 = require("../../aggregators/deleteAggregator");
4
+ const deleteFrom_1 = require("./deleteFrom");
5
+ class Delete {
6
+ }
7
+ exports.default = Delete;
8
+ Delete.from = (table) => {
9
+ const aggregator = new deleteAggregator_1.default(table);
10
+ aggregator.appendFrom(table.tableName());
11
+ return new deleteFrom_1.default(aggregator);
12
+ };
@@ -0,0 +1,8 @@
1
+ import DeleteAggregator from '../../aggregators/deleteAggregator';
2
+ import Expr from '../../requestBuilders/where/where';
3
+ export default class DeleteFilter<SERVICE, DB> {
4
+ private _aggregator;
5
+ constructor(aggregator: DeleteAggregator);
6
+ apply: (filters: Expr) => DeleteFilter<SERVICE, DB>;
7
+ build: () => string;
8
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class DeleteFilter {
4
+ constructor(aggregator) {
5
+ this.apply = (filters) => {
6
+ this._aggregator.filters(filters);
7
+ return this;
8
+ };
9
+ this.build = () => this._aggregator.buildQuery();
10
+ this._aggregator = aggregator;
11
+ }
12
+ }
13
+ exports.default = DeleteFilter;
@@ -0,0 +1,9 @@
1
+ import DeleteAggregator from '../../aggregators/deleteAggregator';
2
+ import Expr from '../../requestBuilders/where/where';
3
+ import DeleteFilter from './deleteFilter';
4
+ export default class DeleteFrom {
5
+ private _aggregator;
6
+ constructor(aggregator: DeleteAggregator);
7
+ build: () => string;
8
+ filteredBy: (filters: Expr) => DeleteFilter<unknown, unknown>;
9
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const deleteFilter_1 = require("./deleteFilter");
4
+ class DeleteFrom {
5
+ constructor(aggregator) {
6
+ this.build = () => this._aggregator.buildQuery();
7
+ this.filteredBy = (filters) => new deleteFilter_1.default(this._aggregator).apply(filters);
8
+ this._aggregator = aggregator;
9
+ }
10
+ }
11
+ exports.default = DeleteFrom;
@@ -0,0 +1,5 @@
1
+ import { AbstractTable } from '../../../tables';
2
+ import InsertInto from './insertInto';
3
+ export default class Insert {
4
+ static into: <TTable extends AbstractTable<TTable>>(table: AbstractTable<TTable>) => InsertInto;
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const insertAggregator_1 = require("../../aggregators/insertAggregator");
4
+ const insertInto_1 = require("./insertInto");
5
+ class Insert {
6
+ }
7
+ exports.default = Insert;
8
+ Insert.into = (table) => {
9
+ const aggregator = new insertAggregator_1.default(table);
10
+ // aggregator.appendFrom(table.tableName());
11
+ return new insertInto_1.default(aggregator);
12
+ };
@@ -0,0 +1,10 @@
1
+ import InsertAggregator from '../../aggregators/insertAggregator';
2
+ import ValuesInsert from './valuesInsert';
3
+ export default class InsertInto {
4
+ private _aggregator;
5
+ constructor(aggregator: InsertAggregator);
6
+ values: (values: {
7
+ [name: string]: any;
8
+ }[]) => ValuesInsert;
9
+ build: () => string;
10
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const valuesInsert_1 = require("./valuesInsert");
4
+ class InsertInto {
5
+ constructor(aggregator) {
6
+ // @TODO refactor!!
7
+ this.values = (values) => new valuesInsert_1.default(this._aggregator)
8
+ .apply(values);
9
+ this.build = () => this._aggregator.buildQuery();
10
+ this._aggregator = aggregator;
11
+ }
12
+ }
13
+ exports.default = InsertInto;
@@ -0,0 +1,9 @@
1
+ import { Indexing } from '../../../tables/inferTypes';
2
+ import InsertAggregator from '../../aggregators/insertAggregator';
3
+ import UpdateExpr from '../../requestBuilders/updates/updates';
4
+ export default class OnConflictInsert {
5
+ private _aggregator;
6
+ constructor(aggregator: InsertAggregator);
7
+ apply: (updates: UpdateExpr, column: Indexing) => OnConflictInsert;
8
+ build: () => string;
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class OnConflictInsert {
4
+ constructor(aggregator) {
5
+ this.apply = (updates, column) => {
6
+ this._aggregator.appendOnConflict(column, updates);
7
+ return this;
8
+ };
9
+ this.build = () => this._aggregator.buildQuery();
10
+ this._aggregator = aggregator;
11
+ }
12
+ }
13
+ exports.default = OnConflictInsert;
@@ -0,0 +1,13 @@
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
+ export default class ValuesInsert {
6
+ private _aggregator;
7
+ constructor(aggregator: InsertAggregator);
8
+ apply: (values: {
9
+ [name: string]: any;
10
+ }[]) => ValuesInsert;
11
+ onConflict: (updates: UpdateExpr, column: Indexing) => OnConflictInsert;
12
+ build: () => string;
13
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const onConflictInsert_1 = require("./onConflictInsert");
4
+ class ValuesInsert {
5
+ constructor(aggregator) {
6
+ this.apply = (values) => {
7
+ this._aggregator.appendColumns();
8
+ this._aggregator.appendValues(values);
9
+ return this;
10
+ };
11
+ this.onConflict = (updates, column) => new onConflictInsert_1.default(this._aggregator).apply(updates, column);
12
+ this.build = () => this._aggregator.buildQuery();
13
+ this._aggregator = aggregator;
14
+ }
15
+ }
16
+ exports.default = ValuesInsert;
@@ -0,0 +1,5 @@
1
+ import { AbstractTable } from '../../../tables';
2
+ import SelectFrom from './selectFrom';
3
+ export default class Select {
4
+ static from: <TTable extends AbstractTable<TTable>>(table: AbstractTable<TTable>) => SelectFrom;
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const selectAggregator_1 = require("../../aggregators/selectAggregator");
4
+ const selectFrom_1 = require("./selectFrom");
5
+ class Select {
6
+ }
7
+ exports.default = Select;
8
+ Select.from = (table) => {
9
+ const aggregator = new selectAggregator_1.default(table);
10
+ aggregator.appendFrom(table.tableName());
11
+ return new selectFrom_1.default(aggregator);
12
+ };
@@ -0,0 +1,19 @@
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 Join from '../../joinBuilders/join';
6
+ import Expr from '../../requestBuilders/where/where';
7
+ import SelectJoined from './selectJoined';
8
+ import WhereSelect from './whereSelect';
9
+ export default class SelectFrom {
10
+ private _aggregator;
11
+ constructor(aggregator: SelectAggregator);
12
+ joined: (joins: Array<Join<any> | undefined>) => SelectJoined;
13
+ limit: (limit?: number | undefined) => SelectFrom;
14
+ offset: (offset?: number | undefined) => SelectFrom;
15
+ orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean> | undefined, order?: Order | undefined) => SelectFrom;
16
+ distinct: (column?: AbstractColumn<ColumnType<{}>, boolean, boolean> | undefined) => SelectFrom;
17
+ filteredBy: (filters: Expr) => WhereSelect;
18
+ build: () => string;
19
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const selectJoined_1 = require("./selectJoined");
4
+ const whereSelect_1 = require("./whereSelect");
5
+ class SelectFrom {
6
+ constructor(aggregator) {
7
+ this.joined = (joins) => new selectJoined_1.default(this._aggregator).apply(joins);
8
+ this.limit = (limit) => {
9
+ this._aggregator.limit(limit);
10
+ return this;
11
+ };
12
+ this.offset = (offset) => {
13
+ this._aggregator.offset(offset);
14
+ return this;
15
+ };
16
+ this.orderBy = (orderBy, order) => {
17
+ this._aggregator.orderBy(orderBy, order);
18
+ return this;
19
+ };
20
+ this.distinct = (column) => {
21
+ if (column) {
22
+ this._aggregator.distinct(column);
23
+ }
24
+ return this;
25
+ };
26
+ this.filteredBy = (filters) => new whereSelect_1.default(this._aggregator).apply(filters);
27
+ this.build = () => this._aggregator.buildQuery();
28
+ this._aggregator = aggregator;
29
+ }
30
+ }
31
+ exports.default = SelectFrom;
@@ -0,0 +1,17 @@
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 Join from '../../joinBuilders/join';
6
+ import Expr from '../../requestBuilders/where/where';
7
+ import WhereSelect from './whereSelect';
8
+ export default class SelectJoined {
9
+ private _aggregator;
10
+ constructor(aggregator: SelectAggregator);
11
+ apply: (joins: Array<Join<any> | undefined>) => SelectJoined;
12
+ limit: (limit?: number | undefined) => SelectJoined;
13
+ offset: (offset?: number | undefined) => SelectJoined;
14
+ orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean> | undefined, order?: Order | undefined) => SelectJoined;
15
+ filteredBy: (filters: Expr) => WhereSelect;
16
+ build: () => string;
17
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const whereSelect_1 = require("./whereSelect");
4
+ class SelectJoined {
5
+ constructor(aggregator) {
6
+ this.apply = (joins) => {
7
+ this._aggregator.join(joins);
8
+ return this;
9
+ };
10
+ this.limit = (limit) => {
11
+ this._aggregator.limit(limit);
12
+ return this;
13
+ };
14
+ this.offset = (offset) => {
15
+ this._aggregator.offset(offset);
16
+ return this;
17
+ };
18
+ this.orderBy = (orderBy, order) => {
19
+ this._aggregator.orderBy(orderBy, order);
20
+ return this;
21
+ };
22
+ this.filteredBy = (filters) => new whereSelect_1.default(this._aggregator).apply(filters);
23
+ this.build = () => this._aggregator.buildQuery();
24
+ this._aggregator = aggregator;
25
+ }
26
+ }
27
+ exports.default = SelectJoined;
@@ -0,0 +1,14 @@
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
+ export default class WhereSelect {
7
+ private _aggregator;
8
+ constructor(aggregator: SelectAggregator);
9
+ limit: (limit?: number | undefined) => WhereSelect;
10
+ offset: (offset?: number | undefined) => WhereSelect;
11
+ orderBy: (orderBy?: AbstractColumn<ColumnType<{}>, boolean, boolean> | undefined, order?: Order | undefined) => WhereSelect;
12
+ apply: (filters: Expr) => WhereSelect;
13
+ build: () => string;
14
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class WhereSelect {
4
+ constructor(aggregator) {
5
+ this.limit = (limit) => {
6
+ this._aggregator.limit(limit);
7
+ return this;
8
+ };
9
+ this.offset = (offset) => {
10
+ this._aggregator.offset(offset);
11
+ return this;
12
+ };
13
+ this.orderBy = (orderBy, order) => {
14
+ this._aggregator.orderBy(orderBy, order);
15
+ return this;
16
+ };
17
+ this.apply = (filters) => {
18
+ this._aggregator.filters(filters);
19
+ return this;
20
+ };
21
+ this.build = () => this._aggregator.buildQuery();
22
+ this._aggregator = aggregator;
23
+ }
24
+ }
25
+ exports.default = WhereSelect;
@@ -0,0 +1,5 @@
1
+ import { AbstractTable } from '../../../tables';
2
+ import UpdateIn from './updateIn';
3
+ export default class Update {
4
+ static in: <TTable extends AbstractTable<TTable>>(table: AbstractTable<TTable>) => UpdateIn;
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const updateAggregator_1 = require("../../aggregators/updateAggregator");
4
+ const updateIn_1 = require("./updateIn");
5
+ class Update {
6
+ }
7
+ exports.default = Update;
8
+ Update.in = (table) => {
9
+ const aggregator = new updateAggregator_1.default(table);
10
+ aggregator.appendFrom(table.tableName());
11
+ return new updateIn_1.default(aggregator);
12
+ };
@@ -0,0 +1,10 @@
1
+ import UpdateAggregator from '../../aggregators/updateAggregator';
2
+ import UpdateExpr from '../../requestBuilders/updates/updates';
3
+ import WhereSet from './whereSet';
4
+ export default class UpdateIn {
5
+ private _aggregator;
6
+ constructor(aggregator: UpdateAggregator);
7
+ columns: () => UpdateIn;
8
+ set: (updates: UpdateExpr) => WhereSet<unknown, unknown>;
9
+ build: () => string;
10
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const whereSet_1 = require("./whereSet");
4
+ class UpdateIn {
5
+ constructor(aggregator) {
6
+ this.columns = () => new UpdateIn(this._aggregator);
7
+ this.set = (updates) => new whereSet_1.default(this._aggregator).apply(updates);
8
+ this.build = () => this._aggregator.buildQuery();
9
+ this._aggregator = aggregator;
10
+ }
11
+ }
12
+ exports.default = UpdateIn;
@@ -0,0 +1,8 @@
1
+ import UpdateAggregator from '../../aggregators/updateAggregator';
2
+ import Expr from '../../requestBuilders/where/where';
3
+ export default class WhereSelect<SERVICE, DB> {
4
+ private _aggregator;
5
+ constructor(aggregator: UpdateAggregator);
6
+ apply: (filters: Expr) => WhereSelect<SERVICE, DB>;
7
+ build: () => string;
8
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class WhereSelect {
4
+ constructor(aggregator) {
5
+ this.apply = (filters) => {
6
+ this._aggregator.where(filters);
7
+ return this;
8
+ };
9
+ this.build = () => this._aggregator.buildQuery();
10
+ this._aggregator = aggregator;
11
+ }
12
+ }
13
+ exports.default = WhereSelect;
@@ -0,0 +1,11 @@
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
+ export default class WhereSet<SERVICE, DB> {
6
+ private _aggregator;
7
+ constructor(aggregator: UpdateAggregator);
8
+ apply: (updates: UpdateExpr) => WhereSet<SERVICE, DB>;
9
+ filteredBy: (filters: Expr) => WhereSelect<unknown, unknown>;
10
+ build: () => string;
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const whereSelect_1 = require("./whereSelect");
4
+ class WhereSet {
5
+ constructor(aggregator) {
6
+ this.apply = (updates) => {
7
+ this._aggregator.set(updates);
8
+ return this;
9
+ };
10
+ this.filteredBy = (filters) => new whereSelect_1.default(this._aggregator).apply(filters);
11
+ this.build = () => this._aggregator.buildQuery();
12
+ this._aggregator = aggregator;
13
+ }
14
+ }
15
+ exports.default = WhereSet;
@@ -0,0 +1,6 @@
1
+ import UpdateExpr from './updates';
2
+ export default class Combine extends UpdateExpr {
3
+ private _setters;
4
+ constructor(setters: Array<UpdateExpr>);
5
+ toQuery: () => string;
6
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const updates_1 = require("./updates");
4
+ class Combine extends updates_1.default {
5
+ constructor(setters) {
6
+ super();
7
+ this.toQuery = () => {
8
+ const response = [];
9
+ for (let index = 0; index < this._setters.length; index += 1) {
10
+ const setter = this._setters[index];
11
+ response.push(setter.toQuery());
12
+ if (index !== this._setters.length - 1) {
13
+ response.push(', ');
14
+ }
15
+ }
16
+ return response.join('');
17
+ };
18
+ this._setters = setters;
19
+ }
20
+ }
21
+ exports.default = Combine;
@@ -0,0 +1,9 @@
1
+ import { AbstractColumn } from '../../../columns/column';
2
+ import ColumnType from '../../../columns/types/columnType';
3
+ import UpdateExpr from './updates';
4
+ export default class SetObject<T extends AbstractColumn<ColumnType<any>, boolean, boolean>> extends UpdateExpr {
5
+ private _column;
6
+ private _value;
7
+ constructor(column: T, value: any);
8
+ toQuery: () => string;
9
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const updates_1 = require("./updates");
4
+ class SetObject extends updates_1.default {
5
+ constructor(column, value) {
6
+ super();
7
+ this.toQuery = () => `"${this._column.getColumnName()}"=${this._value === null || this._value === undefined ? 'null' : this._column.getColumnType().insertStrategy(this._value)}`;
8
+ this._column = column;
9
+ this._value = value;
10
+ }
11
+ }
12
+ exports.default = SetObject;
@@ -0,0 +1,6 @@
1
+ import { AbstractColumn } from '../../../columns/column';
2
+ import ColumnType from '../../../columns/types/columnType';
3
+ import { ExtractCodeType } from '../../../tables/inferTypes';
4
+ import UpdateExpr from './updates';
5
+ export declare const set: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(column: T, value: ExtractCodeType<T>) => UpdateExpr;
6
+ export declare const combine: (updates: Array<UpdateExpr>) => UpdateExpr;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.combine = exports.set = void 0;
4
+ const combine_1 = require("./combine");
5
+ const setObjects_1 = require("./setObjects");
6
+ const set = (column, value) => new setObjects_1.default(column, value);
7
+ exports.set = set;
8
+ const combine = (updates) => new combine_1.default(updates);
9
+ exports.combine = combine;
@@ -1,3 +1,3 @@
1
1
  export default abstract class UpdateExpr {
2
- abstract toQuery(): string;
2
+ abstract toQuery(): string;
3
3
  }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class UpdateExpr {
4
+ }
5
+ exports.default = UpdateExpr;
@@ -0,0 +1,6 @@
1
+ import Expr from './where';
2
+ export default class And extends Expr {
3
+ private expressions;
4
+ constructor(expressions: Expr[]);
5
+ toQuery: () => string;
6
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class And extends where_1.default {
5
+ constructor(expressions) {
6
+ super();
7
+ this.toQuery = () => {
8
+ const result = ['('];
9
+ for (let i = 0; i < this.expressions.length; i += 1) {
10
+ const expression = this.expressions[i];
11
+ result.push(expression.toQuery());
12
+ if (i < this.expressions.length - 1) {
13
+ result.push(' and ');
14
+ }
15
+ }
16
+ result.push(')');
17
+ return result.join('');
18
+ };
19
+ this.expressions = expressions;
20
+ }
21
+ }
22
+ exports.default = And;
@@ -0,0 +1,6 @@
1
+ import Expr from './where';
2
+ export default class Const extends Expr {
3
+ private value;
4
+ constructor(value: any);
5
+ toQuery: () => string;
6
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ecranate_1 = require("../../../utils/ecranate");
4
+ const where_1 = require("./where");
5
+ class Const extends where_1.default {
6
+ constructor(value) {
7
+ super();
8
+ this.toQuery = () => {
9
+ if (ecranate_1.shouldEcranate(this.value)) {
10
+ return `'${this.value.toString()}'`;
11
+ }
12
+ return this.value.toString();
13
+ };
14
+ this.value = value;
15
+ }
16
+ }
17
+ exports.default = Const;
@@ -0,0 +1,6 @@
1
+ import Expr from './where';
2
+ export default class ConstArray extends Expr {
3
+ private values;
4
+ constructor(values: Array<any>);
5
+ toQuery: () => string;
6
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ecranate_1 = require("../../../utils/ecranate");
4
+ const where_1 = require("./where");
5
+ class ConstArray extends where_1.default {
6
+ constructor(values) {
7
+ super();
8
+ this.toQuery = () => {
9
+ const finalArray = [];
10
+ for (let i = 0; i < this.values.length; i += 1) {
11
+ const value = this.values[i];
12
+ if (ecranate_1.shouldEcranate(value)) {
13
+ finalArray.push(`'${value.toString()}'`);
14
+ }
15
+ else {
16
+ finalArray.push(value.toString());
17
+ }
18
+ if (i < this.values.length - 1) {
19
+ finalArray.push(',');
20
+ }
21
+ }
22
+ return finalArray.join('');
23
+ };
24
+ this.values = values;
25
+ }
26
+ }
27
+ exports.default = ConstArray;
@@ -0,0 +1,7 @@
1
+ import Expr from './where';
2
+ export default class EqWhere extends Expr {
3
+ private left;
4
+ private right;
5
+ constructor(left: Expr, right: Expr);
6
+ toQuery: () => string;
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class EqWhere extends where_1.default {
5
+ constructor(left, right) {
6
+ super();
7
+ this.toQuery = () => `${this.left.toQuery()}=${this.right.toQuery()}`;
8
+ this.left = left;
9
+ this.right = right;
10
+ }
11
+ }
12
+ exports.default = EqWhere;
@@ -0,0 +1,10 @@
1
+ import Expr from './where';
2
+ export default class Greater extends Expr {
3
+ private left;
4
+ private right;
5
+ constructor({ left, right }: {
6
+ left: Expr;
7
+ right: Expr;
8
+ });
9
+ toQuery: () => string;
10
+ }