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 where_1 = require("./where");
4
+ class Greater 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 = Greater;
@@ -0,0 +1,10 @@
1
+ import Expr from './where';
2
+ export default class GreaterEq extends Expr {
3
+ private left;
4
+ private right;
5
+ constructor({ left, right }: {
6
+ left: Expr;
7
+ right: Expr;
8
+ });
9
+ toQuery: () => string;
10
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class GreaterEq 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 = GreaterEq;
@@ -0,0 +1,7 @@
1
+ import Expr from './where';
2
+ export default class In 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 In extends where_1.default {
5
+ constructor(left, right) {
6
+ super();
7
+ this.toQuery = () => `${this.left.toQuery()} in (${this.right.toQuery()})`;
8
+ this.left = left;
9
+ this.right = right;
10
+ }
11
+ }
12
+ exports.default = In;
@@ -0,0 +1,6 @@
1
+ import Expr from './where';
2
+ export default class IsNull extends Expr {
3
+ private left;
4
+ constructor(left: Expr);
5
+ toQuery: () => string;
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class IsNull extends where_1.default {
5
+ constructor(left) {
6
+ super();
7
+ this.toQuery = () => `${this.left.toQuery()} is null`;
8
+ this.left = left;
9
+ }
10
+ }
11
+ exports.default = IsNull;
@@ -0,0 +1,10 @@
1
+ import Expr from './where';
2
+ export default class Less extends Expr {
3
+ private left;
4
+ private right;
5
+ constructor({ left, right }: {
6
+ left: Expr;
7
+ right: Expr;
8
+ });
9
+ toQuery: () => string;
10
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class Less 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 = Less;
@@ -0,0 +1,10 @@
1
+ import Expr from './where';
2
+ export default class LessEq extends Expr {
3
+ private left;
4
+ private right;
5
+ constructor({ left, right }: {
6
+ left: Expr;
7
+ right: Expr;
8
+ });
9
+ toQuery: () => string;
10
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class LessEq 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 = LessEq;
@@ -0,0 +1,7 @@
1
+ import Expr from './where';
2
+ export default class Like 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 Like extends where_1.default {
5
+ constructor(left, right) {
6
+ super();
7
+ this.toQuery = () => `${this.left.toQuery()} like ${this.right.toQuery()}`;
8
+ this.left = left;
9
+ this.right = right;
10
+ }
11
+ }
12
+ exports.default = Like;
@@ -0,0 +1,7 @@
1
+ import Expr from './where';
2
+ export default class NotEqWhere 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 NotEqWhere 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 = NotEqWhere;
@@ -0,0 +1,6 @@
1
+ import Expr from './where';
2
+ export default class Or 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 Or 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(' or ');
14
+ }
15
+ }
16
+ result.push(')');
17
+ return result.join('');
18
+ };
19
+ this.expressions = expressions;
20
+ }
21
+ }
22
+ exports.default = Or;
@@ -0,0 +1,6 @@
1
+ import Expr from './where';
2
+ export default class RawWhere extends Expr {
3
+ private custom;
4
+ constructor(custom: string);
5
+ toQuery: () => string;
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const where_1 = require("./where");
4
+ class RawWhere extends where_1.default {
5
+ constructor(custom) {
6
+ super();
7
+ this.custom = custom;
8
+ this.toQuery = () => this.custom;
9
+ }
10
+ }
11
+ exports.default = RawWhere;
@@ -0,0 +1,16 @@
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>>(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>>(left: T, value: ExtractCodeType<T>) => Expr;
10
+ export declare const inArray: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>[]) => Expr;
11
+ export declare const greater: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
12
+ export declare const less: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
13
+ export declare const greaterEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
14
+ export declare const lessEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
15
+ export declare const isNull: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T) => Expr;
16
+ export declare const notEq: <T extends AbstractColumn<ColumnType<any>, boolean, boolean>>(left: T, value: ExtractCodeType<T>) => Expr;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notEq = exports.isNull = exports.lessEq = exports.greaterEq = exports.less = exports.greater = exports.inArray = exports.like = exports.or = exports.and = exports.raw = exports.eq = void 0;
4
+ const and_1 = require("./and");
5
+ const const_1 = require("./const");
6
+ const constArray_1 = require("./constArray");
7
+ const eqWhere_1 = require("./eqWhere");
8
+ const greater_1 = require("./greater");
9
+ const greaterEq_1 = require("./greaterEq");
10
+ const in_1 = require("./in");
11
+ const isNull_1 = require("./isNull");
12
+ const less_1 = require("./less");
13
+ const lessEq_1 = require("./lessEq");
14
+ const like_1 = require("./like");
15
+ const notEqWhere_1 = require("./notEqWhere");
16
+ const or_1 = require("./or");
17
+ const rawWhere_1 = require("./rawWhere");
18
+ const var_1 = require("./var");
19
+ // eslint-disable-next-line max-len
20
+ const eq = (left, value) => new eqWhere_1.default(new var_1.default(left), new const_1.default(value));
21
+ exports.eq = eq;
22
+ const raw = (customQuery) => new rawWhere_1.default(customQuery);
23
+ exports.raw = raw;
24
+ const and = (expressions) => new and_1.default(expressions);
25
+ exports.and = and;
26
+ const or = (expressions) => new or_1.default(expressions);
27
+ exports.or = or;
28
+ const like = (left, value) => new like_1.default(new var_1.default(left), new const_1.default(value));
29
+ exports.like = like;
30
+ const inArray = (left, value) => new in_1.default(new var_1.default(left), new constArray_1.default(value));
31
+ exports.inArray = inArray;
32
+ const greater = (left, value) => new greater_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
33
+ exports.greater = greater;
34
+ const less = (left, value) => new less_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
35
+ exports.less = less;
36
+ const greaterEq = (left, value) => new greaterEq_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
37
+ exports.greaterEq = greaterEq;
38
+ const lessEq = (left, value) => new lessEq_1.default({ left: new var_1.default(left), right: new const_1.default(value) });
39
+ exports.lessEq = lessEq;
40
+ const isNull = (left) => new isNull_1.default(new var_1.default(left));
41
+ exports.isNull = isNull;
42
+ const notEq = (left, value) => new notEqWhere_1.default(new var_1.default(left), new const_1.default(value));
43
+ exports.notEq = notEq;
@@ -0,0 +1,8 @@
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: () => string;
8
+ }
@@ -0,0 +1,12 @@
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 Var extends where_1.default {
6
+ constructor(column) {
7
+ super();
8
+ this.toQuery = () => `${this.column.getParentName()}.${ecranate_1.ecranate(this.column.getColumnName())}`;
9
+ this.column = column;
10
+ }
11
+ }
12
+ exports.default = Var;
@@ -1,3 +1,3 @@
1
1
  export default abstract class Expr {
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 Expr {
4
+ }
5
+ exports.default = Expr;
@@ -0,0 +1,8 @@
1
+ import Session from '../../db/session';
2
+ export default class Transaction {
3
+ private session;
4
+ constructor(session: Session);
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,61 @@
1
+ import DB from '../db/db';
2
+ import { AbstractTable } from '../tables';
3
+ import ColumnType from './types/columnType';
4
+ declare type ExtractColumnType<T extends ColumnType> = T extends ColumnType<infer TCodeType> ? TCodeType : never;
5
+ export declare enum OnDelete {
6
+ RESTRICT = "ON DELETE RESTRICT",
7
+ CASCADE = "ON DELETE CASCADE"
8
+ }
9
+ export declare enum OnUpdate {
10
+ RESTRICT = "ON UPDATE RESTRICT",
11
+ CASCADE = "ON UPDATE RESTRICT"
12
+ }
13
+ export declare abstract class AbstractColumn<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false> {
14
+ isNullableFlag: TNullable;
15
+ autoIncrementType: TAutoIncrement;
16
+ primaryKeyName?: string;
17
+ uniqueKeyName?: string;
18
+ protected onDelete?: string;
19
+ protected onUpdate?: string;
20
+ protected parent: AbstractTable<any>;
21
+ protected parentTableName: string;
22
+ protected columnType: T;
23
+ protected columnName: string;
24
+ protected autoIncrementFlag: boolean;
25
+ protected defaultParam: any;
26
+ protected referenced: AbstractColumn<T, boolean, boolean>;
27
+ constructor(parent: AbstractTable<any>, columnName: string, columnType: T, nullable: TNullable);
28
+ getOnDelete: () => string | undefined;
29
+ getOnUpdate: () => string | undefined;
30
+ getAlias: () => string;
31
+ getParent: () => AbstractTable<any>;
32
+ getParentName: () => string;
33
+ abstract foreignKey<ITable extends AbstractTable<ITable>>(table: {
34
+ new (db: DB): ITable;
35
+ }, callback: (table: ITable) => AbstractColumn<T, boolean, boolean>, onDelete?: OnDelete, onUpdate?: OnUpdate): AbstractColumn<T, TNullable, TAutoIncrement>;
36
+ defaultValue: (value: ExtractColumnType<T>) => this;
37
+ abstract autoIncrement(): AbstractColumn<T, boolean, boolean>;
38
+ abstract primaryKey(): AbstractColumn<T, boolean, boolean>;
39
+ abstract serial(): AbstractColumn<T, boolean, boolean>;
40
+ unique: () => this;
41
+ isAutoIncrement: () => boolean;
42
+ getColumnName: () => string;
43
+ getReferenced: () => AbstractColumn<T, boolean, boolean>;
44
+ getColumnType: () => T;
45
+ getDefaultValue: () => any;
46
+ }
47
+ export declare class Column<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false> extends AbstractColumn<T, TNullable, TAutoIncrement> {
48
+ constructor(parent: AbstractTable<any>, columnName: string, columnType: T, nullable: TNullable);
49
+ serial(): Column<T, false, true>;
50
+ primaryKey(): Column<T, TAutoIncrement extends true ? true : false, TAutoIncrement>;
51
+ foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => Column<T, boolean, boolean>, onDelete?: OnDelete, onUpdate?: OnUpdate): Column<T, TNullable, TAutoIncrement>;
52
+ autoIncrement(): IndexedColumn<T, true, true>;
53
+ }
54
+ export declare class IndexedColumn<T extends ColumnType, TNullable extends boolean = true, TAutoIncrement extends boolean = false> extends AbstractColumn<T, TNullable, TAutoIncrement> {
55
+ constructor(parent: AbstractTable<any>, columnName: string, columnType: T, nullable: TNullable);
56
+ serial(): IndexedColumn<T, false, true>;
57
+ primaryKey(): IndexedColumn<T, TAutoIncrement extends true ? true : false, TAutoIncrement>;
58
+ foreignKey<ITable extends AbstractTable<ITable>>(table: new (db: DB) => ITable, callback: (table: ITable) => IndexedColumn<T, boolean, boolean>, onDelete?: OnDelete, onUpdate?: OnUpdate): IndexedColumn<T, TNullable, TAutoIncrement>;
59
+ autoIncrement(): IndexedColumn<T, true, true>;
60
+ }
61
+ export {};
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexedColumn = exports.Column = exports.AbstractColumn = exports.OnUpdate = exports.OnDelete = void 0;
4
+ var OnDelete;
5
+ (function (OnDelete) {
6
+ OnDelete["RESTRICT"] = "ON DELETE RESTRICT";
7
+ OnDelete["CASCADE"] = "ON DELETE CASCADE";
8
+ })(OnDelete = exports.OnDelete || (exports.OnDelete = {}));
9
+ var OnUpdate;
10
+ (function (OnUpdate) {
11
+ OnUpdate["RESTRICT"] = "ON UPDATE RESTRICT";
12
+ OnUpdate["CASCADE"] = "ON UPDATE RESTRICT";
13
+ })(OnUpdate = exports.OnUpdate || (exports.OnUpdate = {}));
14
+ // eslint-disable-next-line max-len
15
+ class AbstractColumn {
16
+ constructor(parent, columnName, columnType, nullable) {
17
+ this.autoIncrementFlag = false;
18
+ this.defaultParam = null;
19
+ this.getOnDelete = () => this.onDelete;
20
+ this.getOnUpdate = () => this.onUpdate;
21
+ this.getAlias = () => `${this.parentTableName.replace('.', '_')}_${this.columnName}`;
22
+ this.getParent = () => this.parent;
23
+ this.getParentName = () => this.parentTableName;
24
+ this.defaultValue = (value) => {
25
+ this.defaultParam = value;
26
+ return this;
27
+ };
28
+ this.unique = () => {
29
+ this.uniqueKeyName = this.columnName;
30
+ return this;
31
+ };
32
+ this.isAutoIncrement = () => this.autoIncrementFlag;
33
+ this.getColumnName = () => this.columnName;
34
+ this.getReferenced = () => this.referenced;
35
+ this.getColumnType = () => this.columnType;
36
+ this.getDefaultValue = () => this.defaultParam;
37
+ this.columnType = columnType;
38
+ this.columnName = columnName;
39
+ this.parentTableName = parent.tableName();
40
+ this.parent = parent;
41
+ this.isNullableFlag = nullable;
42
+ }
43
+ }
44
+ exports.AbstractColumn = AbstractColumn;
45
+ // eslint-disable-next-line max-len
46
+ class Column extends AbstractColumn {
47
+ constructor(parent, columnName, columnType, nullable) {
48
+ super(parent, columnName, columnType, nullable);
49
+ }
50
+ serial() {
51
+ this.autoIncrementFlag = true;
52
+ return this;
53
+ }
54
+ primaryKey() {
55
+ this.primaryKeyName = `${this.parentTableName}_${this.columnName}`;
56
+ // eslint-disable-next-line max-len
57
+ return this;
58
+ }
59
+ foreignKey(table, callback, onDelete, onUpdate) {
60
+ const tableInstance = this.getParent().db.create(table);
61
+ this.referenced = callback(tableInstance);
62
+ this.onDelete = onDelete;
63
+ this.onUpdate = onUpdate;
64
+ return this;
65
+ }
66
+ autoIncrement() {
67
+ this.autoIncrementFlag = true;
68
+ return this;
69
+ }
70
+ }
71
+ exports.Column = Column;
72
+ // eslint-disable-next-line max-len
73
+ class IndexedColumn extends AbstractColumn {
74
+ constructor(parent, columnName, columnType, nullable) {
75
+ super(parent, columnName, columnType, nullable);
76
+ }
77
+ serial() {
78
+ this.autoIncrementFlag = true;
79
+ return this;
80
+ }
81
+ primaryKey() {
82
+ this.primaryKeyName = `${this.parentTableName}_${this.columnName}`;
83
+ // eslint-disable-next-line max-len
84
+ return this;
85
+ }
86
+ foreignKey(table, callback, onDelete, onUpdate) {
87
+ // eslint-disable-next-line new-cap
88
+ this.referenced = callback(this.getParent().db.create(table));
89
+ this.onDelete = onDelete;
90
+ this.onUpdate = onUpdate;
91
+ return this;
92
+ }
93
+ autoIncrement() {
94
+ this.autoIncrementFlag = true;
95
+ return this;
96
+ }
97
+ }
98
+ exports.IndexedColumn = IndexedColumn;
File without changes
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PgVarChar = exports.PgTimestamp = exports.PgTime = exports.PgText = exports.PgJsonb = exports.PgInteger = exports.PgBoolean = exports.PgBigInt = exports.PgBigDecimal = exports.Column = void 0;
4
+ var column_1 = require("./column");
5
+ Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_1.Column; } });
6
+ var pgBigDecimal_1 = require("./types/pgBigDecimal");
7
+ Object.defineProperty(exports, "PgBigDecimal", { enumerable: true, get: function () { return pgBigDecimal_1.default; } });
8
+ var pgBigInt_1 = require("./types/pgBigInt");
9
+ Object.defineProperty(exports, "PgBigInt", { enumerable: true, get: function () { return pgBigInt_1.default; } });
10
+ var pgBoolean_1 = require("./types/pgBoolean");
11
+ Object.defineProperty(exports, "PgBoolean", { enumerable: true, get: function () { return pgBoolean_1.default; } });
12
+ var pgInteger_1 = require("./types/pgInteger");
13
+ Object.defineProperty(exports, "PgInteger", { enumerable: true, get: function () { return pgInteger_1.default; } });
14
+ var pgJsonb_1 = require("./types/pgJsonb");
15
+ Object.defineProperty(exports, "PgJsonb", { enumerable: true, get: function () { return pgJsonb_1.default; } });
16
+ var pgText_1 = require("./types/pgText");
17
+ Object.defineProperty(exports, "PgText", { enumerable: true, get: function () { return pgText_1.default; } });
18
+ var pgTime_1 = require("./types/pgTime");
19
+ Object.defineProperty(exports, "PgTime", { enumerable: true, get: function () { return pgTime_1.default; } });
20
+ var pgTimestamp_1 = require("./types/pgTimestamp");
21
+ Object.defineProperty(exports, "PgTimestamp", { enumerable: true, get: function () { return pgTimestamp_1.default; } });
22
+ var pgVarChar_1 = require("./types/pgVarChar");
23
+ Object.defineProperty(exports, "PgVarChar", { enumerable: true, get: function () { return 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;
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;
10
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const columnType_1 = require("./columnType");
4
+ class PgBigDecimal extends columnType_1.default {
5
+ constructor(precision, scale) {
6
+ super();
7
+ this.getDbName = () => this.dbName;
8
+ this.insertStrategy = (value) => `${value}`;
9
+ this.precision = precision;
10
+ this.scale = scale;
11
+ if (this.scale && !this.precision) {
12
+ throw new Error('In numeric scale should be set up together with precision');
13
+ }
14
+ if (this.precision && !this.scale) {
15
+ this.dbName = `numeric(${this.precision})`;
16
+ }
17
+ else if (this.precision && this.scale) {
18
+ this.dbName = `numeric(${this.precision},${this.scale})`;
19
+ }
20
+ else {
21
+ this.dbName = 'numeric';
22
+ }
23
+ }
24
+ selectStrategy(value) {
25
+ return parseFloat(value);
26
+ }
27
+ }
28
+ exports.default = PgBigDecimal;
@@ -0,0 +1,8 @@
1
+ import ColumnType from './columnType';
2
+ export default class PgBigInt extends ColumnType<number> {
3
+ dbName: string;
4
+ constructor();
5
+ getDbName(): string;
6
+ insertStrategy: (value: number) => string;
7
+ selectStrategy(value: string): number;
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const columnType_1 = require("./columnType");
4
+ class PgBigInt extends columnType_1.default {
5
+ constructor() {
6
+ super();
7
+ this.insertStrategy = (value) => `${value}`;
8
+ this.dbName = 'BIGINT';
9
+ }
10
+ getDbName() {
11
+ return this.dbName;
12
+ }
13
+ selectStrategy(value) {
14
+ return parseInt(value, 10);
15
+ }
16
+ }
17
+ exports.default = PgBigInt;
@@ -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
+ }