drizzle-orm 0.11.6 → 0.12.0-beta.0

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 (401) hide show
  1. package/branded-types.d.ts +18 -0
  2. package/branded-types.js +6 -0
  3. package/branded-types.js.map +1 -0
  4. package/column-builder.d.ts +14 -0
  5. package/column-builder.js +24 -0
  6. package/column-builder.js.map +1 -0
  7. package/column.d.ts +37 -0
  8. package/column.js +41 -0
  9. package/column.js.map +1 -0
  10. package/connection.d.ts +29 -0
  11. package/connection.js +91 -0
  12. package/connection.js.map +1 -0
  13. package/expressions.d.ts +1 -0
  14. package/expressions.js +18 -0
  15. package/expressions.js.map +1 -0
  16. package/index.d.ts +4 -13
  17. package/index.js +11 -24
  18. package/index.js.map +1 -1
  19. package/operations.d.ts +13 -0
  20. package/{tables/inferTypes.js → operations.js} +1 -1
  21. package/operations.js.map +1 -0
  22. package/package.json +56 -27
  23. package/sql/expressions/conditions.d.ts +33 -0
  24. package/sql/expressions/conditions.js +140 -0
  25. package/sql/expressions/conditions.js.map +1 -0
  26. package/sql/expressions/index.d.ts +2 -0
  27. package/sql/expressions/index.js +19 -0
  28. package/sql/expressions/index.js.map +1 -0
  29. package/sql/expressions/select.d.ts +5 -0
  30. package/sql/expressions/select.js +13 -0
  31. package/sql/expressions/select.js.map +1 -0
  32. package/sql/index.d.ts +97 -0
  33. package/sql/index.js +172 -0
  34. package/sql/index.js.map +1 -0
  35. package/table.d.ts +10 -0
  36. package/table.js +36 -0
  37. package/table.js.map +1 -0
  38. package/utils.d.ts +7 -0
  39. package/utils.js +18 -0
  40. package/utils.js.map +1 -0
  41. package/LICENSE +0 -674
  42. package/README.md +0 -343
  43. package/builders/aggregators/abstractAggregator.d.ts +0 -12
  44. package/builders/aggregators/abstractAggregator.js +0 -52
  45. package/builders/aggregators/abstractAggregator.js.map +0 -1
  46. package/builders/aggregators/deleteAggregator.d.ts +0 -16
  47. package/builders/aggregators/deleteAggregator.js +0 -43
  48. package/builders/aggregators/deleteAggregator.js.map +0 -1
  49. package/builders/aggregators/insertAggregator.d.ts +0 -22
  50. package/builders/aggregators/insertAggregator.js +0 -110
  51. package/builders/aggregators/insertAggregator.js.map +0 -1
  52. package/builders/aggregators/selectAggregator.d.ts +0 -33
  53. package/builders/aggregators/selectAggregator.js +0 -111
  54. package/builders/aggregators/selectAggregator.js.map +0 -1
  55. package/builders/aggregators/selectAggregatorV1.d.ts +0 -39
  56. package/builders/aggregators/selectAggregatorV1.js +0 -144
  57. package/builders/aggregators/selectAggregatorV1.js.map +0 -1
  58. package/builders/aggregators/updateAggregator.d.ts +0 -19
  59. package/builders/aggregators/updateAggregator.js +0 -54
  60. package/builders/aggregators/updateAggregator.js.map +0 -1
  61. package/builders/highLvlBuilders/abstractRequestBuilder.d.ts +0 -27
  62. package/builders/highLvlBuilders/abstractRequestBuilder.js +0 -34
  63. package/builders/highLvlBuilders/abstractRequestBuilder.js.map +0 -1
  64. package/builders/highLvlBuilders/deleteRequestBuilder.d.ts +0 -19
  65. package/builders/highLvlBuilders/deleteRequestBuilder.js +0 -62
  66. package/builders/highLvlBuilders/deleteRequestBuilder.js.map +0 -1
  67. package/builders/highLvlBuilders/insertRequestBuilder.d.ts +0 -20
  68. package/builders/highLvlBuilders/insertRequestBuilder.js +0 -74
  69. package/builders/highLvlBuilders/insertRequestBuilder.js.map +0 -1
  70. package/builders/highLvlBuilders/joins/joinBuilderResponse.d.ts +0 -8
  71. package/builders/highLvlBuilders/joins/joinBuilderResponse.js +0 -17
  72. package/builders/highLvlBuilders/joins/joinBuilderResponse.js.map +0 -1
  73. package/builders/highLvlBuilders/joins/proxies/joinProxies.d.ts +0 -16
  74. package/builders/highLvlBuilders/joins/proxies/joinProxies.js +0 -48
  75. package/builders/highLvlBuilders/joins/proxies/joinProxies.js.map +0 -1
  76. package/builders/highLvlBuilders/joins/selectJoinBuilder.d.ts +0 -44
  77. package/builders/highLvlBuilders/joins/selectJoinBuilder.js +0 -114
  78. package/builders/highLvlBuilders/joins/selectJoinBuilder.js.map +0 -1
  79. package/builders/highLvlBuilders/order.d.ts +0 -5
  80. package/builders/highLvlBuilders/order.js +0 -9
  81. package/builders/highLvlBuilders/order.js.map +0 -1
  82. package/builders/highLvlBuilders/selectRequestBuilder.d.ts +0 -63
  83. package/builders/highLvlBuilders/selectRequestBuilder.js +0 -171
  84. package/builders/highLvlBuilders/selectRequestBuilder.js.map +0 -1
  85. package/builders/highLvlBuilders/updateRequestBuilder.d.ts +0 -22
  86. package/builders/highLvlBuilders/updateRequestBuilder.js +0 -81
  87. package/builders/highLvlBuilders/updateRequestBuilder.js.map +0 -1
  88. package/builders/index.d.ts +0 -21
  89. package/builders/index.js +0 -69
  90. package/builders/index.js.map +0 -1
  91. package/builders/joinBuilders/builders/abstractJoinBuilder.d.ts +0 -42
  92. package/builders/joinBuilders/builders/abstractJoinBuilder.js +0 -82
  93. package/builders/joinBuilders/builders/abstractJoinBuilder.js.map +0 -1
  94. package/builders/joinBuilders/builders/selectWithFiveJoins.d.ts +0 -36
  95. package/builders/joinBuilders/builders/selectWithFiveJoins.js +0 -46
  96. package/builders/joinBuilders/builders/selectWithFiveJoins.js.map +0 -1
  97. package/builders/joinBuilders/builders/selectWithFourJoins.d.ts +0 -56
  98. package/builders/joinBuilders/builders/selectWithFourJoins.js +0 -79
  99. package/builders/joinBuilders/builders/selectWithFourJoins.js.map +0 -1
  100. package/builders/joinBuilders/builders/selectWithJoin.d.ts +0 -50
  101. package/builders/joinBuilders/builders/selectWithJoin.js +0 -65
  102. package/builders/joinBuilders/builders/selectWithJoin.js.map +0 -1
  103. package/builders/joinBuilders/builders/selectWithThreeJoins.d.ts +0 -54
  104. package/builders/joinBuilders/builders/selectWithThreeJoins.js +0 -74
  105. package/builders/joinBuilders/builders/selectWithThreeJoins.js.map +0 -1
  106. package/builders/joinBuilders/builders/selectWithTwoJoins.d.ts +0 -52
  107. package/builders/joinBuilders/builders/selectWithTwoJoins.js +0 -69
  108. package/builders/joinBuilders/builders/selectWithTwoJoins.js.map +0 -1
  109. package/builders/joinBuilders/join.d.ts +0 -23
  110. package/builders/joinBuilders/join.js +0 -29
  111. package/builders/joinBuilders/join.js.map +0 -1
  112. package/builders/joinBuilders/joinWith.d.ts +0 -14
  113. package/builders/joinBuilders/joinWith.js +0 -15
  114. package/builders/joinBuilders/joinWith.js.map +0 -1
  115. package/builders/joinBuilders/responses/selectResponseFiveJoins.d.ts +0 -20
  116. package/builders/joinBuilders/responses/selectResponseFiveJoins.js +0 -36
  117. package/builders/joinBuilders/responses/selectResponseFiveJoins.js.map +0 -1
  118. package/builders/joinBuilders/responses/selectResponseFourJoins.d.ts +0 -19
  119. package/builders/joinBuilders/responses/selectResponseFourJoins.js +0 -35
  120. package/builders/joinBuilders/responses/selectResponseFourJoins.js.map +0 -1
  121. package/builders/joinBuilders/responses/selectResponseThreeJoins.d.ts +0 -18
  122. package/builders/joinBuilders/responses/selectResponseThreeJoins.js +0 -34
  123. package/builders/joinBuilders/responses/selectResponseThreeJoins.js.map +0 -1
  124. package/builders/joinBuilders/responses/selectResponseTwoJoins.d.ts +0 -17
  125. package/builders/joinBuilders/responses/selectResponseTwoJoins.js +0 -33
  126. package/builders/joinBuilders/responses/selectResponseTwoJoins.js.map +0 -1
  127. package/builders/joinBuilders/responses/selectResponseWithJoin.d.ts +0 -16
  128. package/builders/joinBuilders/responses/selectResponseWithJoin.js +0 -32
  129. package/builders/joinBuilders/responses/selectResponseWithJoin.js.map +0 -1
  130. package/builders/joinBuilders/static.d.ts +0 -5
  131. package/builders/joinBuilders/static.js +0 -10
  132. package/builders/joinBuilders/static.js.map +0 -1
  133. package/builders/lowLvlBuilders/alter.d.ts +0 -0
  134. package/builders/lowLvlBuilders/alter.js +0 -2
  135. package/builders/lowLvlBuilders/alter.js.map +0 -1
  136. package/builders/lowLvlBuilders/create.d.ts +0 -12
  137. package/builders/lowLvlBuilders/create.js +0 -101
  138. package/builders/lowLvlBuilders/create.js.map +0 -1
  139. package/builders/lowLvlBuilders/delets/delete.d.ts +0 -5
  140. package/builders/lowLvlBuilders/delets/delete.js +0 -16
  141. package/builders/lowLvlBuilders/delets/delete.js.map +0 -1
  142. package/builders/lowLvlBuilders/delets/deleteFilter.d.ts +0 -11
  143. package/builders/lowLvlBuilders/delets/deleteFilter.js +0 -14
  144. package/builders/lowLvlBuilders/delets/deleteFilter.js.map +0 -1
  145. package/builders/lowLvlBuilders/delets/deleteFrom.d.ts +0 -12
  146. package/builders/lowLvlBuilders/delets/deleteFrom.js +0 -15
  147. package/builders/lowLvlBuilders/delets/deleteFrom.js.map +0 -1
  148. package/builders/lowLvlBuilders/inserts/insert.d.ts +0 -5
  149. package/builders/lowLvlBuilders/inserts/insert.js +0 -16
  150. package/builders/lowLvlBuilders/inserts/insert.js.map +0 -1
  151. package/builders/lowLvlBuilders/inserts/insertInto.d.ts +0 -13
  152. package/builders/lowLvlBuilders/inserts/insertInto.js +0 -17
  153. package/builders/lowLvlBuilders/inserts/insertInto.js.map +0 -1
  154. package/builders/lowLvlBuilders/inserts/onConflictInsert.d.ts +0 -12
  155. package/builders/lowLvlBuilders/inserts/onConflictInsert.js +0 -14
  156. package/builders/lowLvlBuilders/inserts/onConflictInsert.js.map +0 -1
  157. package/builders/lowLvlBuilders/inserts/valuesInsert.d.ts +0 -16
  158. package/builders/lowLvlBuilders/inserts/valuesInsert.js +0 -20
  159. package/builders/lowLvlBuilders/inserts/valuesInsert.js.map +0 -1
  160. package/builders/lowLvlBuilders/selects/select.d.ts +0 -12
  161. package/builders/lowLvlBuilders/selects/select.js +0 -43
  162. package/builders/lowLvlBuilders/selects/select.js.map +0 -1
  163. package/builders/lowLvlBuilders/selects/selectFrom.d.ts +0 -45
  164. package/builders/lowLvlBuilders/selects/selectFrom.js +0 -79
  165. package/builders/lowLvlBuilders/selects/selectFrom.js.map +0 -1
  166. package/builders/lowLvlBuilders/selects/selectJoined.d.ts +0 -42
  167. package/builders/lowLvlBuilders/selects/selectJoined.js +0 -72
  168. package/builders/lowLvlBuilders/selects/selectJoined.js.map +0 -1
  169. package/builders/lowLvlBuilders/selects/whereSelect.d.ts +0 -30
  170. package/builders/lowLvlBuilders/selects/whereSelect.js +0 -50
  171. package/builders/lowLvlBuilders/selects/whereSelect.js.map +0 -1
  172. package/builders/lowLvlBuilders/updates/update.d.ts +0 -5
  173. package/builders/lowLvlBuilders/updates/update.js +0 -16
  174. package/builders/lowLvlBuilders/updates/update.js.map +0 -1
  175. package/builders/lowLvlBuilders/updates/updateIn.d.ts +0 -13
  176. package/builders/lowLvlBuilders/updates/updateIn.js +0 -16
  177. package/builders/lowLvlBuilders/updates/updateIn.js.map +0 -1
  178. package/builders/lowLvlBuilders/updates/whereSelect.d.ts +0 -11
  179. package/builders/lowLvlBuilders/updates/whereSelect.js +0 -14
  180. package/builders/lowLvlBuilders/updates/whereSelect.js.map +0 -1
  181. package/builders/lowLvlBuilders/updates/whereSet.d.ts +0 -14
  182. package/builders/lowLvlBuilders/updates/whereSet.js +0 -19
  183. package/builders/lowLvlBuilders/updates/whereSet.js.map +0 -1
  184. package/builders/requestBuilders/updates/combine.d.ts +0 -13
  185. package/builders/requestBuilders/updates/combine.js +0 -27
  186. package/builders/requestBuilders/updates/combine.js.map +0 -1
  187. package/builders/requestBuilders/updates/increment.d.ts +0 -17
  188. package/builders/requestBuilders/updates/increment.js +0 -19
  189. package/builders/requestBuilders/updates/increment.js.map +0 -1
  190. package/builders/requestBuilders/updates/setObjects.d.ts +0 -16
  191. package/builders/requestBuilders/updates/setObjects.js +0 -20
  192. package/builders/requestBuilders/updates/setObjects.js.map +0 -1
  193. package/builders/requestBuilders/updates/static.d.ts +0 -7
  194. package/builders/requestBuilders/updates/static.js +0 -16
  195. package/builders/requestBuilders/updates/static.js.map +0 -1
  196. package/builders/requestBuilders/updates/updates.d.ts +0 -13
  197. package/builders/requestBuilders/updates/updates.js +0 -10
  198. package/builders/requestBuilders/updates/updates.js.map +0 -1
  199. package/builders/requestBuilders/where/and.d.ts +0 -23
  200. package/builders/requestBuilders/where/and.js +0 -49
  201. package/builders/requestBuilders/where/and.js.map +0 -1
  202. package/builders/requestBuilders/where/const.d.ts +0 -20
  203. package/builders/requestBuilders/where/const.js +0 -35
  204. package/builders/requestBuilders/where/const.js.map +0 -1
  205. package/builders/requestBuilders/where/constArray.d.ts +0 -20
  206. package/builders/requestBuilders/where/constArray.js +0 -65
  207. package/builders/requestBuilders/where/constArray.js.map +0 -1
  208. package/builders/requestBuilders/where/eqWhere.d.ts +0 -27
  209. package/builders/requestBuilders/where/eqWhere.js +0 -26
  210. package/builders/requestBuilders/where/eqWhere.js.map +0 -1
  211. package/builders/requestBuilders/where/greater.d.ts +0 -27
  212. package/builders/requestBuilders/where/greater.js +0 -26
  213. package/builders/requestBuilders/where/greater.js.map +0 -1
  214. package/builders/requestBuilders/where/greaterEq.d.ts +0 -27
  215. package/builders/requestBuilders/where/greaterEq.js +0 -26
  216. package/builders/requestBuilders/where/greaterEq.js.map +0 -1
  217. package/builders/requestBuilders/where/in.d.ts +0 -24
  218. package/builders/requestBuilders/where/in.js +0 -26
  219. package/builders/requestBuilders/where/in.js.map +0 -1
  220. package/builders/requestBuilders/where/isNotNull.d.ts +0 -23
  221. package/builders/requestBuilders/where/isNotNull.js +0 -23
  222. package/builders/requestBuilders/where/isNotNull.js.map +0 -1
  223. package/builders/requestBuilders/where/isNull.d.ts +0 -23
  224. package/builders/requestBuilders/where/isNull.js +0 -23
  225. package/builders/requestBuilders/where/isNull.js.map +0 -1
  226. package/builders/requestBuilders/where/less.d.ts +0 -27
  227. package/builders/requestBuilders/where/less.js +0 -26
  228. package/builders/requestBuilders/where/less.js.map +0 -1
  229. package/builders/requestBuilders/where/lessEq.d.ts +0 -27
  230. package/builders/requestBuilders/where/lessEq.js +0 -26
  231. package/builders/requestBuilders/where/lessEq.js.map +0 -1
  232. package/builders/requestBuilders/where/like.d.ts +0 -24
  233. package/builders/requestBuilders/where/like.js +0 -26
  234. package/builders/requestBuilders/where/like.js.map +0 -1
  235. package/builders/requestBuilders/where/notEqWhere.d.ts +0 -24
  236. package/builders/requestBuilders/where/notEqWhere.js +0 -26
  237. package/builders/requestBuilders/where/notEqWhere.js.map +0 -1
  238. package/builders/requestBuilders/where/or.d.ts +0 -23
  239. package/builders/requestBuilders/where/or.js +0 -49
  240. package/builders/requestBuilders/where/or.js.map +0 -1
  241. package/builders/requestBuilders/where/rawWhere.d.ts +0 -23
  242. package/builders/requestBuilders/where/rawWhere.js +0 -17
  243. package/builders/requestBuilders/where/rawWhere.js.map +0 -1
  244. package/builders/requestBuilders/where/static.d.ts +0 -21
  245. package/builders/requestBuilders/where/static.js +0 -57
  246. package/builders/requestBuilders/where/static.js.map +0 -1
  247. package/builders/requestBuilders/where/var.d.ts +0 -25
  248. package/builders/requestBuilders/where/var.js +0 -23
  249. package/builders/requestBuilders/where/var.js.map +0 -1
  250. package/builders/requestBuilders/where/where.d.ts +0 -20
  251. package/builders/requestBuilders/where/where.js +0 -6
  252. package/builders/requestBuilders/where/where.js.map +0 -1
  253. package/builders/transaction/transaction.d.ts +0 -8
  254. package/builders/transaction/transaction.js +0 -21
  255. package/builders/transaction/transaction.js.map +0 -1
  256. package/columns/column.d.ts +0 -81
  257. package/columns/column.js +0 -119
  258. package/columns/column.js.map +0 -1
  259. package/columns/index.d.ts +0 -10
  260. package/columns/index.js +0 -30
  261. package/columns/index.js.map +0 -1
  262. package/columns/types/columnType.d.ts +0 -7
  263. package/columns/types/columnType.js +0 -7
  264. package/columns/types/columnType.js.map +0 -1
  265. package/columns/types/pgBigDecimal.d.ts +0 -10
  266. package/columns/types/pgBigDecimal.js +0 -32
  267. package/columns/types/pgBigDecimal.js.map +0 -1
  268. package/columns/types/pgBigInt.d.ts +0 -15
  269. package/columns/types/pgBigInt.js +0 -33
  270. package/columns/types/pgBigInt.js.map +0 -1
  271. package/columns/types/pgBigSerial.d.ts +0 -15
  272. package/columns/types/pgBigSerial.js +0 -33
  273. package/columns/types/pgBigSerial.js.map +0 -1
  274. package/columns/types/pgBoolean.d.ts +0 -8
  275. package/columns/types/pgBoolean.js +0 -19
  276. package/columns/types/pgBoolean.js.map +0 -1
  277. package/columns/types/pgEnum.d.ts +0 -9
  278. package/columns/types/pgEnum.js +0 -19
  279. package/columns/types/pgEnum.js.map +0 -1
  280. package/columns/types/pgInteger.d.ts +0 -8
  281. package/columns/types/pgInteger.js +0 -22
  282. package/columns/types/pgInteger.js.map +0 -1
  283. package/columns/types/pgJsonb.d.ts +0 -9
  284. package/columns/types/pgJsonb.js +0 -21
  285. package/columns/types/pgJsonb.js.map +0 -1
  286. package/columns/types/pgSerial.d.ts +0 -8
  287. package/columns/types/pgSerial.js +0 -19
  288. package/columns/types/pgSerial.js.map +0 -1
  289. package/columns/types/pgSmallInt.d.ts +0 -8
  290. package/columns/types/pgSmallInt.js +0 -19
  291. package/columns/types/pgSmallInt.js.map +0 -1
  292. package/columns/types/pgText.d.ts +0 -8
  293. package/columns/types/pgText.js +0 -19
  294. package/columns/types/pgText.js.map +0 -1
  295. package/columns/types/pgTime.d.ts +0 -8
  296. package/columns/types/pgTime.js +0 -19
  297. package/columns/types/pgTime.js.map +0 -1
  298. package/columns/types/pgTimestamp.d.ts +0 -8
  299. package/columns/types/pgTimestamp.js +0 -19
  300. package/columns/types/pgTimestamp.js.map +0 -1
  301. package/columns/types/pgTimestamptz.d.ts +0 -8
  302. package/columns/types/pgTimestamptz.js +0 -19
  303. package/columns/types/pgTimestamptz.js.map +0 -1
  304. package/columns/types/pgVarChar.d.ts +0 -9
  305. package/columns/types/pgVarChar.js +0 -25
  306. package/columns/types/pgVarChar.js.map +0 -1
  307. package/db/db.d.ts +0 -18
  308. package/db/db.js +0 -26
  309. package/db/db.js.map +0 -1
  310. package/db/dbConnector.d.ts +0 -9
  311. package/db/dbConnector.js +0 -33
  312. package/db/dbConnector.js.map +0 -1
  313. package/db/dbStringConnector.d.ts +0 -6
  314. package/db/dbStringConnector.js +0 -30
  315. package/db/dbStringConnector.js.map +0 -1
  316. package/db/group_by.d.ts +0 -0
  317. package/db/group_by.js +0 -69
  318. package/db/group_by.js.map +0 -1
  319. package/db/index.d.ts +0 -4
  320. package/db/index.js +0 -15
  321. package/db/index.js.map +0 -1
  322. package/db/session.d.ts +0 -16
  323. package/db/session.js +0 -40
  324. package/db/session.js.map +0 -1
  325. package/docs/cases/simple_delete.d.ts +0 -1
  326. package/docs/cases/simple_delete.js +0 -36
  327. package/docs/cases/simple_delete.js.map +0 -1
  328. package/docs/cases/simple_insert.d.ts +0 -1
  329. package/docs/cases/simple_insert.js +0 -58
  330. package/docs/cases/simple_insert.js.map +0 -1
  331. package/docs/cases/simple_join.d.ts +0 -1
  332. package/docs/cases/simple_join.js +0 -116
  333. package/docs/cases/simple_join.js.map +0 -1
  334. package/docs/cases/simple_select.d.ts +0 -1
  335. package/docs/cases/simple_select.js +0 -51
  336. package/docs/cases/simple_select.js.map +0 -1
  337. package/docs/cases/simple_update.d.ts +0 -1
  338. package/docs/cases/simple_update.js +0 -40
  339. package/docs/cases/simple_update.js.map +0 -1
  340. package/docs/tables/citiesTable.d.ts +0 -14
  341. package/docs/tables/citiesTable.js +0 -22
  342. package/docs/tables/citiesTable.js.map +0 -1
  343. package/docs/tables/userGroupsTable.d.ts +0 -8
  344. package/docs/tables/userGroupsTable.js +0 -20
  345. package/docs/tables/userGroupsTable.js.map +0 -1
  346. package/docs/tables/usersTable.d.ts +0 -17
  347. package/docs/tables/usersTable.js +0 -36
  348. package/docs/tables/usersTable.js.map +0 -1
  349. package/docs/tables/usersToUserGroups.d.ts +0 -7
  350. package/docs/tables/usersToUserGroups.js +0 -21
  351. package/docs/tables/usersToUserGroups.js.map +0 -1
  352. package/docs/types/rolesType.d.ts +0 -1
  353. package/docs/types/rolesType.js +0 -7
  354. package/docs/types/rolesType.js.map +0 -1
  355. package/errors/baseError.d.ts +0 -22
  356. package/errors/baseError.js +0 -36
  357. package/errors/baseError.js.map +0 -1
  358. package/errors/builderError.d.ts +0 -15
  359. package/errors/builderError.js +0 -26
  360. package/errors/builderError.js.map +0 -1
  361. package/errors/dbErrors.d.ts +0 -12
  362. package/errors/dbErrors.js +0 -29
  363. package/errors/dbErrors.js.map +0 -1
  364. package/indexes/tableIndex.d.ts +0 -11
  365. package/indexes/tableIndex.js +0 -18
  366. package/indexes/tableIndex.js.map +0 -1
  367. package/logger/abstractLogger.d.ts +0 -4
  368. package/logger/abstractLogger.js +0 -6
  369. package/logger/abstractLogger.js.map +0 -1
  370. package/logger/consoleLogger.d.ts +0 -5
  371. package/logger/consoleLogger.js +0 -16
  372. package/logger/consoleLogger.js.map +0 -1
  373. package/mappers/index.d.ts +0 -0
  374. package/mappers/index.js +0 -2
  375. package/mappers/index.js.map +0 -1
  376. package/mappers/responseMapper.d.ts +0 -15
  377. package/mappers/responseMapper.js +0 -69
  378. package/mappers/responseMapper.js.map +0 -1
  379. package/migrator/index.d.ts +0 -0
  380. package/migrator/index.js +0 -2
  381. package/migrator/index.js.map +0 -1
  382. package/migrator/migrator.d.ts +0 -11
  383. package/migrator/migrator.js +0 -113
  384. package/migrator/migrator.js.map +0 -1
  385. package/tables/abstractTable.d.ts +0 -73
  386. package/tables/abstractTable.js +0 -173
  387. package/tables/abstractTable.js.map +0 -1
  388. package/tables/index.d.ts +0 -3
  389. package/tables/index.js +0 -12
  390. package/tables/index.js.map +0 -1
  391. package/tables/inferTypes.d.ts +0 -48
  392. package/tables/inferTypes.js.map +0 -1
  393. package/tables/migrationsTable.d.ts +0 -7
  394. package/tables/migrationsTable.js +0 -19
  395. package/tables/migrationsTable.js.map +0 -1
  396. package/types/type.d.ts +0 -10
  397. package/types/type.js +0 -15
  398. package/types/type.js.map +0 -1
  399. package/utils/ecranate.d.ts +0 -2
  400. package/utils/ecranate.js +0 -9
  401. package/utils/ecranate.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ export declare const brand: unique symbol;
2
+ export declare const value: unique symbol;
3
+ export declare type Brand<T, TName extends string> = T & {
4
+ [brand]: TName;
5
+ [value]: T;
6
+ };
7
+ export declare type AnyBrand = {
8
+ [brand]: any;
9
+ [value]: any;
10
+ };
11
+ export declare type Unwrap<T extends AnyBrand> = T extends {
12
+ [value]: infer TValue;
13
+ } ? TValue : never;
14
+ export declare type TableName<T extends string = string> = Brand<T, 'TableName'>;
15
+ export declare type ColumnData<T = unknown> = Brand<T, 'ColumnData'>;
16
+ export declare type ColumnDriverParam<T = unknown> = Brand<T, 'ColumnDriverParam'>;
17
+ export declare type ColumnNotNull<T extends boolean = boolean> = Brand<T, 'ColumnNotNull'>;
18
+ export declare type ColumnHasDefault<T extends boolean = boolean> = Brand<T, 'ColumnHasDefault'>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.value = exports.brand = void 0;
4
+ exports.brand = Symbol('brand');
5
+ exports.value = Symbol('value');
6
+ //# sourceMappingURL=branded-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branded-types.js","sourceRoot":"","sources":["../src/branded-types.ts"],"names":[],"mappings":";;;AAAa,QAAA,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACxB,QAAA,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ColumnData, ColumnDriverParam, ColumnHasDefault, ColumnNotNull, Unwrap } from './branded-types';
2
+ import { AnySQL } from './sql';
3
+ export declare abstract class ColumnBuilder<TData extends ColumnData, TDriverParam extends ColumnDriverParam, TNotNull extends ColumnNotNull<boolean>, THasDefault extends ColumnHasDefault<boolean>> {
4
+ protected typeKeeper: {
5
+ brand: 'ColumnBuilder';
6
+ dataType: TData;
7
+ notNull: TNotNull;
8
+ default: THasDefault;
9
+ };
10
+ constructor(name: string);
11
+ notNull(): ColumnBuilder<TData, TDriverParam, ColumnNotNull<true>, THasDefault>;
12
+ default(value: Unwrap<TData> | AnySQL): ColumnBuilder<TData, TDriverParam, TNotNull, ColumnHasDefault<true>>;
13
+ primaryKey(): ColumnBuilder<TData, TDriverParam, ColumnNotNull<true>, THasDefault>;
14
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnBuilder = void 0;
4
+ class ColumnBuilder {
5
+ constructor(name) {
6
+ /** @internal */ this._notNull = false;
7
+ /** @internal */ this._primaryKey = false;
8
+ this.name = name;
9
+ }
10
+ notNull() {
11
+ this._notNull = true;
12
+ return this;
13
+ }
14
+ default(value) {
15
+ this._default = value;
16
+ return this;
17
+ }
18
+ primaryKey() {
19
+ this._primaryKey = true;
20
+ return this;
21
+ }
22
+ }
23
+ exports.ColumnBuilder = ColumnBuilder;
24
+ //# sourceMappingURL=column-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-builder.js","sourceRoot":"","sources":["../src/column-builder.ts"],"names":[],"mappings":";;;AAKA,MAAsB,aAAa;IAmBlC,YAAY,IAAY;QANxB,gBAAgB,CAAC,aAAQ,GAAG,KAAiB,CAAC;QAG9C,gBAAgB,CAAC,gBAAW,GAAG,KAAK,CAAC;QAIpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,OAAO;QACN,IAAI,CAAC,QAAQ,GAAG,IAAgB,CAAC;QACjC,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,OAAO,CACN,KAA6B;QAE7B,IAAI,CAAC,QAAQ,GAAG,KAAc,CAAC;QAC/B,OAAO,IAAW,CAAC;IACpB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAW,CAAC;IACpB,CAAC;CAMD;AA5CD,sCA4CC"}
package/column.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ import { ColumnData, ColumnDriverParam, ColumnHasDefault, ColumnNotNull, TableName, Unwrap } from './branded-types';
2
+ import { ColumnBuilder } from './column-builder';
3
+ import { BoundParamValue, ParamValueMapper } from './sql';
4
+ import { AnyTable } from './table';
5
+ export declare abstract class Column<TTableName extends TableName<string>, TData extends ColumnData, TDriverParam extends ColumnDriverParam, TNotNull extends ColumnNotNull<boolean>, THasDefault extends ColumnHasDefault<boolean>> implements ParamValueMapper<any, any> {
6
+ readonly table: AnyTable<TTableName>;
7
+ protected typeKeeper: {
8
+ brand: 'Column';
9
+ tableName: TTableName;
10
+ type: TData;
11
+ driverType: TDriverParam;
12
+ notNull: TNotNull;
13
+ default: THasDefault;
14
+ };
15
+ readonly name: string;
16
+ readonly primary: boolean;
17
+ readonly notNull: TNotNull;
18
+ readonly default: TData | undefined;
19
+ constructor(table: AnyTable<TTableName>, builder: ColumnBuilder<TData, TDriverParam, TNotNull, THasDefault>);
20
+ mapFromDriverValue: (value: any) => any;
21
+ mapToDriverValue: (value: any) => any;
22
+ abstract getSQLType(): string;
23
+ }
24
+ export declare abstract class ColumnWithMapper<TTableName extends TableName<string>, TData extends ColumnData, TDriverParam extends ColumnDriverParam, TNotNull extends ColumnNotNull<boolean>, THasDefault extends ColumnHasDefault<boolean>> extends Column<TTableName, TData, TDriverParam, TNotNull, THasDefault> implements ParamValueMapper<TData, TDriverParam> {
25
+ mapFromDriverValue: (value: Unwrap<TDriverParam>) => Unwrap<TData>;
26
+ mapToDriverValue: (value: Unwrap<TData>) => Unwrap<TDriverParam>;
27
+ }
28
+ export declare type AnyColumn<TTableName extends TableName = TableName, TData extends ColumnData = any, TDriverParam extends ColumnDriverParam = any, TNotNull extends ColumnNotNull = ColumnNotNull, THasDefault extends ColumnHasDefault = ColumnHasDefault> = Column<TTableName, TData, TDriverParam, TNotNull, THasDefault>;
29
+ export declare type AnyColumnWithMapper<TTableName extends TableName = TableName, TData extends ColumnData = any, TDriverParam extends ColumnDriverParam = any, TNotNull extends ColumnNotNull = ColumnNotNull, THasDefault extends ColumnHasDefault = ColumnHasDefault> = ColumnWithMapper<TTableName, TData, TDriverParam, TNotNull, THasDefault>;
30
+ export declare function param<TDataType extends ColumnData, TDriverType extends ColumnDriverParam>(column: AnyColumn<any, TDataType, TDriverType>, value: Unwrap<TDataType>): BoundParamValue<TDataType, TDriverType>;
31
+ export declare type GetColumnData<TColumn, TInferMode extends 'query' | 'raw' = 'query'> = TColumn extends Column<any, infer TData, any, infer TNotNull, any> ? TInferMode extends 'raw' ? Unwrap<TData> : TNotNull extends true ? Unwrap<TData> : Unwrap<TData> | null : never;
32
+ export declare type InferColumnDriverParam<TColumn extends AnyColumn> = TColumn extends Column<TableName, ColumnData, infer TDriverType, ColumnNotNull, ColumnHasDefault> ? Unwrap<TDriverType> : never;
33
+ export declare type InferColumnsDataTypes<TColumns extends Record<string, AnyColumn>> = {
34
+ [Key in keyof TColumns]: GetColumnData<TColumns[Key], 'query'>;
35
+ };
36
+ export declare type InferColumnTable<T extends AnyColumn> = T extends AnyColumn<infer TTable> ? TTable : never;
37
+ export declare type ChangeColumnTable<TColumn extends AnyColumn, TTableName extends TableName> = TColumn extends Column<any, infer TType, infer TDriverType, infer TNotNull, infer THasDefault> ? ColumnWithMapper<TTableName, TType, TDriverType, TNotNull, THasDefault> : never;
package/column.js ADDED
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.param = exports.ColumnWithMapper = exports.Column = void 0;
4
+ const sql_1 = require("./sql");
5
+ class Column {
6
+ constructor(table, builder) {
7
+ this.table = table;
8
+ /*
9
+ mapFromDriverValue and mapToDriverValue are provided just as a runtime fallback - if you need to override them,
10
+ extend the ColumnWithMapper class instead for proper type-checking.
11
+ */
12
+ this.mapFromDriverValue = (value) => {
13
+ return value;
14
+ };
15
+ this.mapToDriverValue = (value) => {
16
+ return value;
17
+ };
18
+ this.name = builder.name;
19
+ this.notNull = builder._notNull;
20
+ this.default = builder._default;
21
+ this.primary = builder._primaryKey;
22
+ }
23
+ }
24
+ exports.Column = Column;
25
+ class ColumnWithMapper extends Column {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.mapFromDriverValue = (value) => {
29
+ return value;
30
+ };
31
+ this.mapToDriverValue = (value) => {
32
+ return value;
33
+ };
34
+ }
35
+ }
36
+ exports.ColumnWithMapper = ColumnWithMapper;
37
+ function param(column, value) {
38
+ return new sql_1.BoundParamValue(value, column);
39
+ }
40
+ exports.param = param;
41
+ //# sourceMappingURL=column.js.map
package/column.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.js","sourceRoot":"","sources":["../src/column.ts"],"names":[],"mappings":";;;AAEA,+BAA0D;AAG1D,MAAsB,MAAM;IAqB3B,YACU,KAA2B,EACpC,OAAkE;QADzD,UAAK,GAAL,KAAK,CAAsB;QASrC;;;UAGE;QACF,uBAAkB,GAAG,CAAC,KAAU,EAAO,EAAE;YACxC,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;QAEF,qBAAgB,GAAG,CAAC,KAAU,EAAO,EAAE;YACtC,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;QAhBD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IACpC,CAAC;CAeD;AA5CD,wBA4CC;AAED,MAAsB,gBAMpB,SAAQ,MAA8D;IANxE;;QASU,uBAAkB,GAAG,CAAC,KAA2B,EAAiB,EAAE;YAC5E,OAAO,KAAY,CAAC;QACrB,CAAC,CAAC;QAEO,qBAAgB,GAAG,CAAC,KAAoB,EAAwB,EAAE;YAC1E,OAAO,KAAY,CAAC;QACrB,CAAC,CAAC;IACH,CAAC;CAAA;AAhBD,4CAgBC;AAkBD,SAAgB,KAAK,CACpB,MAA8C,EAC9C,KAAwB;IAExB,OAAO,IAAI,qBAAe,CAAC,KAAkB,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AALD,sBAKC"}
@@ -0,0 +1,29 @@
1
+ export declare type MigrationMeta = {
2
+ sql: string;
3
+ folderMillis: number;
4
+ hash: string;
5
+ };
6
+ export interface Session<TQueryParam, TQueryResponse> {
7
+ query(query: string, params: TQueryParam[]): TQueryResponse;
8
+ }
9
+ export interface Driver<TSession> {
10
+ connect(): Promise<TSession>;
11
+ }
12
+ export interface Dialect<TSession, TDatabase> {
13
+ createDB(session: TSession): TDatabase;
14
+ migrate(migrations: MigrationMeta[], session: TSession): Promise<void>;
15
+ }
16
+ export interface Connector<TSession, TOperations> {
17
+ dialect: Dialect<TSession, TOperations>;
18
+ driver: Driver<TSession>;
19
+ }
20
+ export declare function connect<TSession, TDatabase>(connector: Connector<TSession, TDatabase>): Promise<TDatabase>;
21
+ export interface KitConfig {
22
+ out: string;
23
+ schema: string;
24
+ }
25
+ export interface MigrationConfig {
26
+ migrationsFolder: string;
27
+ }
28
+ export declare function migrate<TSession, TDatabase>(connector: Connector<TSession, TDatabase>, config: string): Promise<void>;
29
+ export declare function migrate<TSession, TDatabase>(connector: Connector<TSession, TDatabase>, config: MigrationConfig): Promise<void>;
package/connection.js ADDED
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.migrate = exports.connect = void 0;
36
+ const crypto = __importStar(require("crypto"));
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ function connect(connector) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const session = yield connector.driver.connect();
42
+ return connector.dialect.createDB(session);
43
+ });
44
+ }
45
+ exports.connect = connect;
46
+ function migrate(connector, config) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ let migrationFolderTo;
49
+ if (typeof config === 'string') {
50
+ const configAsString = fs.readFileSync(path.resolve('.', config), 'utf8');
51
+ const jsonConfig = JSON.parse(configAsString);
52
+ migrationFolderTo = jsonConfig.out;
53
+ }
54
+ else {
55
+ migrationFolderTo = config.migrationsFolder;
56
+ }
57
+ if (!migrationFolderTo) {
58
+ throw Error('no migration folder defined');
59
+ }
60
+ const files1 = fs.readdirSync(migrationFolderTo);
61
+ const migrationQueries = [];
62
+ for (const migrationFolder of files1) {
63
+ if (migrationFolder === '.DS_Store') {
64
+ continue;
65
+ }
66
+ const migrationFiles = fs.readdirSync(`${migrationFolderTo}/${migrationFolder}`);
67
+ const migrationFile = migrationFiles.filter((file) => file === 'migration.sql')[0];
68
+ const query = fs
69
+ .readFileSync(`${migrationFolderTo}/${migrationFolder}/${migrationFile}`)
70
+ .toString();
71
+ const year = Number(migrationFolder.slice(0, 4));
72
+ // second param for Date() is month index, that started from 0, so we need
73
+ // to decrement a value for month
74
+ const month = Number(migrationFolder.slice(4, 6)) - 1;
75
+ const day = Number(migrationFolder.slice(6, 8));
76
+ const hour = Number(migrationFolder.slice(8, 10));
77
+ const min = Number(migrationFolder.slice(10, 12));
78
+ const sec = Number(migrationFolder.slice(12, 14));
79
+ const folderAsMillis = Date.UTC(year, month, day, hour, min, sec);
80
+ migrationQueries.push({
81
+ sql: query,
82
+ folderMillis: folderAsMillis,
83
+ hash: crypto.createHash('sha256').update(query).digest('hex'),
84
+ });
85
+ }
86
+ const session = yield connector.driver.connect();
87
+ yield connector.dialect.migrate(migrationQueries, session);
88
+ });
89
+ }
90
+ exports.migrate = migrate;
91
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAuB7B,SAAsB,OAAO,CAAsB,SAAyC;;QAC3F,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CAAA;AAHD,0BAGC;AAmBD,SAAsB,OAAO,CAC5B,SAAyC,EACzC,MAAgC;;QAEhC,IAAI,iBAAqC,CAAC;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAc,CAAC;YAC3D,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC;SACnC;aAAM;YACN,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;SAC5C;QAED,IAAI,CAAC,iBAAiB,EAAE;YACvB,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAC3C;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAoB,EAAE,CAAC;QAC7C,KAAK,MAAM,eAAe,IAAI,MAAM,EAAE;YACrC,IAAI,eAAe,KAAK,WAAW,EAAE;gBACpC,SAAS;aACT;YACD,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,iBAAiB,IAAI,eAAe,EAAE,CAAC,CAAC;YACjF,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnF,MAAM,KAAK,GAAG,EAAE;iBACd,YAAY,CAAC,GAAG,iBAAiB,IAAI,eAAe,IAAI,aAAa,EAAE,CAAC;iBACxE,QAAQ,EAAE,CAAC;YAEb,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,0EAA0E;YAC1E,iCAAiC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAElD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC;gBACrB,GAAG,EAAE,KAAK;gBACV,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC,CAAC;SACH;QAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjD,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CAAA;AAjDD,0BAiDC"}
@@ -0,0 +1 @@
1
+ export * from './sql/expressions';
package/expressions.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./sql/expressions"), exports);
18
+ //# sourceMappingURL=expressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
package/index.d.ts CHANGED
@@ -1,13 +1,4 @@
1
- import { ClientConfig } from 'pg';
2
- import { DB } from './db';
3
- import Migrator from './migrator/migrator';
4
- export * from './db';
5
- export * from './builders';
6
- export * from './columns';
7
- export * from './tables';
8
- export * from './logger/consoleLogger';
9
- export * from './logger/abstractLogger';
10
- export declare const drizzle: {
11
- connect(config: ClientConfig | string): Promise<DB>;
12
- migrator(db: DB): Migrator;
13
- };
1
+ export { sql } from './sql';
2
+ export * from './table';
3
+ export * from './column';
4
+ export * from './connection';
package/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -9,28 +13,11 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
- var __importDefault = (this && this.__importDefault) || function (mod) {
13
- return (mod && mod.__esModule) ? mod : { "default": mod };
14
- };
15
16
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.drizzle = void 0;
17
- const db_1 = require("./db");
18
- const migrator_1 = __importDefault(require("./migrator/migrator"));
19
- __exportStar(require("./db"), exports);
20
- __exportStar(require("./builders"), exports);
21
- __exportStar(require("./columns"), exports);
22
- __exportStar(require("./tables"), exports);
23
- __exportStar(require("./logger/consoleLogger"), exports);
24
- __exportStar(require("./logger/abstractLogger"), exports);
25
- exports.drizzle = {
26
- async connect(config) {
27
- if (typeof config === 'string') {
28
- return new db_1.DbConnector().connectionString(config).connect();
29
- }
30
- return new db_1.DbConnector().params(config).connect();
31
- },
32
- migrator(db) {
33
- return new migrator_1.default(db);
34
- },
35
- };
17
+ exports.sql = void 0;
18
+ var sql_1 = require("./sql");
19
+ Object.defineProperty(exports, "sql", { enumerable: true, get: function () { return sql_1.sql; } });
20
+ __exportStar(require("./table"), exports);
21
+ __exportStar(require("./column"), exports);
22
+ __exportStar(require("./connection"), exports);
36
23
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,6BAA0D;AAC1D,mEAA2C;AAE3C,uCAAqB;AACrB,6CAA2B;AAC3B,4CAA0B;AAC1B,2CAAyB;AACzB,yDAAuC;AACvC,0DAAwC;AAE3B,QAAA,OAAO,GAAG;IACrB,KAAK,CAAC,OAAO,CAAC,MAA6B;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAO,IAAI,gBAAW,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;SAC7D;QACD,OAAO,IAAI,gBAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC,EAAM;QACb,OAAO,IAAI,kBAAQ,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,0CAAwB;AACxB,2CAAyB;AACzB,+CAA6B"}
@@ -0,0 +1,13 @@
1
+ import { ColumnData, ColumnDriverParam, TableName } from './branded-types';
2
+ import { AnyColumn, Column } from './column';
3
+ import { AnySQLResponse, SQLResponse } from './sql';
4
+ export declare type RequiredKeyOnly<TKey extends string, T extends AnyColumn> = T extends Column<any, any, any, infer TNotNull, infer THasDefault> ? [TNotNull, THasDefault] extends [true, false] | [] ? TKey : never : never;
5
+ export declare type OptionalKeyOnly<TKey extends string, T extends AnyColumn> = TKey extends RequiredKeyOnly<TKey, T> ? never : TKey;
6
+ export declare type SelectFields<TTableName extends TableName, TColumnDriverParam extends ColumnDriverParam = ColumnDriverParam> = {
7
+ [key: string]: SQLResponse<TTableName, ColumnData> | AnyColumn<TTableName, any, TColumnDriverParam>;
8
+ };
9
+ export declare type SelectFieldsOrdered = {
10
+ name: string;
11
+ resultTableName: string;
12
+ column: AnyColumn | AnySQLResponse;
13
+ }[];
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=inferTypes.js.map
3
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,42 +1,71 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "0.11.6",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "0.12.0-beta.0",
4
+ "description": "Drizzle ORM package for SQL databases",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/lambda-direct/drizzle-orm.git",
10
- "directory": "orm"
9
+ "url": "git+https://github.com/drizzle-team/drizzle-orm.git"
11
10
  },
12
- "keywords": [],
11
+ "keywords": [
12
+ "orm",
13
+ "pg",
14
+ "mysql",
15
+ "postgresql",
16
+ "postgres",
17
+ "database",
18
+ "sql",
19
+ "typescript"
20
+ ],
13
21
  "author": "",
14
- "license": "ISC",
22
+ "license": "Apache-2.0",
15
23
  "bugs": {
16
- "url": "https://github.com/lambda-direct/drizzle-orm/issues"
24
+ "url": "https://github.com/drizzle-team/drizzle-orm/issues"
25
+ },
26
+ "homepage": "https://github.com/drizzle-team/drizzle-orm#readme",
27
+ "peerDependencies": {
28
+ "drizzle-orm-mysql": ">=0.12.0-beta.0",
29
+ "drizzle-orm-pg": ">=0.12.0",
30
+ "mysql2": ">=2 <3",
31
+ "pg": ">=8 <9",
32
+ "sqlite3": ">=5 <6"
33
+ },
34
+ "peerDependenciesMeta": {
35
+ "mysql2": {
36
+ "optional": true
37
+ },
38
+ "pg": {
39
+ "optional": true
40
+ },
41
+ "sqlite3": {
42
+ "optional": true
43
+ },
44
+ "drizzle-orm-pg": {
45
+ "optional": true
46
+ },
47
+ "drizzle-orm-mysql": {
48
+ "optional": true
49
+ }
17
50
  },
18
- "homepage": "https://github.com/lambda-direct/drizzle-orm#readme",
19
51
  "devDependencies": {
20
- "@typescript-eslint/eslint-plugin": "4.10.0",
21
- "dotenv": "^16.0.0",
22
- "esbuild": "^0.14.2",
23
- "esbuild-register": "^3.3.2",
24
- "eslint": "7.15.0",
25
- "eslint-config-airbnb-typescript": "12.0.0",
26
- "eslint-plugin-import": "2.22.1",
27
- "eslint-plugin-prefer-arrow": "1.2.2",
28
- "ts-node": "^10.0.0",
29
- "typescript": "4.2.4",
30
- "uvu": "^0.5.3"
52
+ "@types/pg": "^8.6.1",
53
+ "@types/sqlite3": "^3.1.8",
54
+ "mysql2": "^2.3.3",
55
+ "pg": "^8.6.0",
56
+ "resolve-tspaths": "^0.7.0",
57
+ "sqlite3": "^5.0.8",
58
+ "ts-node": "^10.8.2",
59
+ "typescript": "4.8.0-beta",
60
+ "uvu": "^0.5.6"
31
61
  },
32
62
  "dependencies": {
33
- "@types/pg": "^8.6.1",
34
- "pg": "^8.6.0"
63
+ "type-fest": "^2.16.0"
35
64
  },
36
65
  "scripts": {
37
- "test": "uvu -r esbuild-register tests",
38
- "ts": "tsc",
39
- "lint": "eslint ./src --ext .ts",
40
- "run": "ts-node src/docs/cases/simple_update.ts"
66
+ "build": "tsc",
67
+ "pack": "cp package.json dist/ && (cd dist && pnpm pack --pack-destination ..) && rm -f package.tgz && mv *.tgz package.tgz",
68
+ "publish:beta": "pnpm publish package.tgz --tag beta --access public --git-checks false",
69
+ "build:int": "pnpm build && pnpm run pack"
41
70
  }
42
71
  }
@@ -0,0 +1,33 @@
1
+ import { ColumnNotNull, TableName } from '../../branded-types';
2
+ import { AnyColumn, GetColumnData } from '../../column';
3
+ import { GetTableName } from '../../utils';
4
+ import { SQL, SQLWrapper } from '..';
5
+ export declare function eq<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn, 'raw'>): SQL<GetTableName<TColumn>>;
6
+ export declare function eq<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
7
+ export declare function ne<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
8
+ export declare function ne<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
9
+ export declare function and<TTableName extends TableName>(...conditions: (SQL<TTableName> | undefined)[]): SQL<TTableName> | undefined;
10
+ export declare function or<TTableName extends TableName>(...conditions: (SQL<TTableName> | undefined)[]): SQL<TTableName> | undefined;
11
+ export declare function not<TTableName extends TableName>(condition: SQL<TTableName>): SQL<TTableName>;
12
+ export declare function gt<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
13
+ export declare function gt<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
14
+ export declare function gte<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> extends AnyColumn ? never : GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
15
+ export declare function gte<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
16
+ export declare function lt<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> extends AnyColumn ? never : GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
17
+ export declare function lt<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
18
+ export declare function lte<TColumn extends AnyColumn>(column: TColumn, value: GetColumnData<TColumn> extends AnyColumn ? never : GetColumnData<TColumn>): SQL<GetTableName<TColumn>>;
19
+ export declare function lte<TLeftTableName extends TableName, TRightTableName extends TableName>(left: AnyColumn<TLeftTableName>, right: AnyColumn<TRightTableName>): SQL<TLeftTableName | TRightTableName>;
20
+ export declare function inArray<TColumn extends AnyColumn>(column: TColumn, values: GetColumnData<TColumn>[]): SQL<GetTableName<TColumn>>;
21
+ export declare function inArray<TColumn extends AnyColumn>(column: TColumn, subquery: SQLWrapper): SQL<GetTableName<TColumn>>;
22
+ export declare function notInArray<TColumn extends AnyColumn>(column: TColumn, values: GetColumnData<TColumn>[]): SQL<GetTableName<TColumn>>;
23
+ export declare function notInArray<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, subquery: SQLWrapper): SQL<TTableName>;
24
+ export declare function isNull<TColumn extends AnyColumn<any, any, any, ColumnNotNull<false>>>(column: TColumn): SQL<GetTableName<TColumn>>;
25
+ export declare function isNotNull<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn): SQL<TTableName>;
26
+ export declare function exists<TTableName extends TableName>(subquery: SQLWrapper): SQL<TTableName>;
27
+ export declare function notExists<TTableName extends TableName>(subquery: SQLWrapper): SQL<TTableName>;
28
+ export declare function between<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, min: GetColumnData<TColumn, 'raw'>, max: GetColumnData<TColumn, 'raw'>): SQL<TTableName>;
29
+ export declare function notBetween<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, min: GetColumnData<TColumn, 'raw'>, max: GetColumnData<TColumn, 'raw'>): SQL<TTableName>;
30
+ export declare function like<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;
31
+ export declare function notLike<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;
32
+ export declare function ilike<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;
33
+ export declare function notIlike<TTableName extends TableName, TColumn extends AnyColumn<TTableName>>(column: TColumn, value: string): SQL<TTableName>;