joist-orm 1.293.0 → 2.0.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 (486) hide show
  1. package/build/{drivers/PostgresDriver.d.ts → PostgresDriver.d.ts} +1 -4
  2. package/build/PostgresDriver.d.ts.map +1 -0
  3. package/build/{drivers/PostgresDriver.js → PostgresDriver.js} +49 -58
  4. package/build/PostgresDriver.js.map +1 -0
  5. package/build/codegen.d.ts +2 -0
  6. package/build/codegen.d.ts.map +1 -0
  7. package/build/codegen.js +29 -0
  8. package/build/codegen.js.map +1 -0
  9. package/build/graphql-codegen-export.d.ts +2 -0
  10. package/build/graphql-codegen-export.d.ts.map +1 -0
  11. package/build/{drivers/index.js → graphql-codegen-export.js} +3 -5
  12. package/build/graphql-codegen-export.js.map +1 -0
  13. package/build/graphql-export.d.ts +2 -0
  14. package/build/graphql-export.d.ts.map +1 -0
  15. package/build/graphql-export.js +19 -0
  16. package/build/graphql-export.js.map +1 -0
  17. package/build/index.d.ts +3 -127
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +8 -282
  20. package/build/index.js.map +1 -1
  21. package/build/knex-export.d.ts +2 -0
  22. package/build/knex-export.d.ts.map +1 -0
  23. package/build/knex-export.js +19 -0
  24. package/build/knex-export.js.map +1 -0
  25. package/build/pg-migrate.d.ts +2 -0
  26. package/build/pg-migrate.d.ts.map +1 -0
  27. package/build/pg-migrate.js +30 -0
  28. package/build/pg-migrate.js.map +1 -0
  29. package/build/postgres-driver.d.ts +2 -0
  30. package/build/postgres-driver.d.ts.map +1 -0
  31. package/build/postgres-driver.js +7 -0
  32. package/build/postgres-driver.js.map +1 -0
  33. package/build/tests-export.d.ts +2 -0
  34. package/build/tests-export.d.ts.map +1 -0
  35. package/build/tests-export.js +19 -0
  36. package/build/tests-export.js.map +1 -0
  37. package/build/trusted.d.ts +5 -0
  38. package/build/trusted.d.ts.map +1 -0
  39. package/build/trusted.js +15 -0
  40. package/build/trusted.js.map +1 -0
  41. package/package.json +85 -16
  42. package/build/AliasAssigner.d.ts +0 -7
  43. package/build/AliasAssigner.d.ts.map +0 -1
  44. package/build/AliasAssigner.js +0 -30
  45. package/build/AliasAssigner.js.map +0 -1
  46. package/build/Aliases.d.ts +0 -110
  47. package/build/Aliases.d.ts.map +0 -1
  48. package/build/Aliases.js +0 -456
  49. package/build/Aliases.js.map +0 -1
  50. package/build/BaseEntity.d.ts +0 -66
  51. package/build/BaseEntity.d.ts.map +0 -1
  52. package/build/BaseEntity.js +0 -120
  53. package/build/BaseEntity.js.map +0 -1
  54. package/build/ConditionBuilder.d.ts +0 -50
  55. package/build/ConditionBuilder.d.ts.map +0 -1
  56. package/build/ConditionBuilder.js +0 -178
  57. package/build/ConditionBuilder.js.map +0 -1
  58. package/build/Entity.d.ts +0 -38
  59. package/build/Entity.d.ts.map +0 -1
  60. package/build/Entity.js +0 -8
  61. package/build/Entity.js.map +0 -1
  62. package/build/EntityFields.d.ts +0 -37
  63. package/build/EntityFields.d.ts.map +0 -1
  64. package/build/EntityFields.js +0 -3
  65. package/build/EntityFields.js.map +0 -1
  66. package/build/EntityFilter.d.ts +0 -113
  67. package/build/EntityFilter.d.ts.map +0 -1
  68. package/build/EntityFilter.js +0 -3
  69. package/build/EntityFilter.js.map +0 -1
  70. package/build/EntityGraphQLFilter.d.ts +0 -51
  71. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  72. package/build/EntityGraphQLFilter.js +0 -54
  73. package/build/EntityGraphQLFilter.js.map +0 -1
  74. package/build/EntityManager.d.ts +0 -734
  75. package/build/EntityManager.d.ts.map +0 -1
  76. package/build/EntityManager.js +0 -2069
  77. package/build/EntityManager.js.map +0 -1
  78. package/build/EntityMetadata.d.ts +0 -185
  79. package/build/EntityMetadata.d.ts.map +0 -1
  80. package/build/EntityMetadata.js +0 -61
  81. package/build/EntityMetadata.js.map +0 -1
  82. package/build/EnumMetadata.d.ts +0 -15
  83. package/build/EnumMetadata.d.ts.map +0 -1
  84. package/build/EnumMetadata.js +0 -3
  85. package/build/EnumMetadata.js.map +0 -1
  86. package/build/FlushLock.d.ts +0 -26
  87. package/build/FlushLock.d.ts.map +0 -1
  88. package/build/FlushLock.js +0 -57
  89. package/build/FlushLock.js.map +0 -1
  90. package/build/HintTree.d.ts +0 -42
  91. package/build/HintTree.d.ts.map +0 -1
  92. package/build/HintTree.js +0 -64
  93. package/build/HintTree.js.map +0 -1
  94. package/build/IndexManager.d.ts +0 -30
  95. package/build/IndexManager.d.ts.map +0 -1
  96. package/build/IndexManager.js +0 -206
  97. package/build/IndexManager.js.map +0 -1
  98. package/build/InstanceData.d.ts +0 -59
  99. package/build/InstanceData.d.ts.map +0 -1
  100. package/build/InstanceData.js +0 -162
  101. package/build/InstanceData.js.map +0 -1
  102. package/build/IsLoadedCache.d.ts +0 -32
  103. package/build/IsLoadedCache.d.ts.map +0 -1
  104. package/build/IsLoadedCache.js +0 -80
  105. package/build/IsLoadedCache.js.map +0 -1
  106. package/build/JoinRows.d.ts +0 -75
  107. package/build/JoinRows.d.ts.map +0 -1
  108. package/build/JoinRows.js +0 -246
  109. package/build/JoinRows.js.map +0 -1
  110. package/build/PluginManager.d.ts +0 -90
  111. package/build/PluginManager.d.ts.map +0 -1
  112. package/build/PluginManager.js +0 -97
  113. package/build/PluginManager.js.map +0 -1
  114. package/build/QueryParser.d.ts +0 -271
  115. package/build/QueryParser.d.ts.map +0 -1
  116. package/build/QueryParser.js +0 -853
  117. package/build/QueryParser.js.map +0 -1
  118. package/build/QueryParser.pruning.d.ts +0 -5
  119. package/build/QueryParser.pruning.d.ts.map +0 -1
  120. package/build/QueryParser.pruning.js +0 -118
  121. package/build/QueryParser.pruning.js.map +0 -1
  122. package/build/QueryVisitor.d.ts +0 -19
  123. package/build/QueryVisitor.d.ts.map +0 -1
  124. package/build/QueryVisitor.js +0 -84
  125. package/build/QueryVisitor.js.map +0 -1
  126. package/build/ReactionsManager.d.ts +0 -84
  127. package/build/ReactionsManager.d.ts.map +0 -1
  128. package/build/ReactionsManager.js +0 -307
  129. package/build/ReactionsManager.js.map +0 -1
  130. package/build/Todo.d.ts +0 -31
  131. package/build/Todo.d.ts.map +0 -1
  132. package/build/Todo.js +0 -73
  133. package/build/Todo.js.map +0 -1
  134. package/build/caches.d.ts +0 -6
  135. package/build/caches.d.ts.map +0 -1
  136. package/build/caches.js +0 -42
  137. package/build/caches.js.map +0 -1
  138. package/build/changes.d.ts +0 -79
  139. package/build/changes.d.ts.map +0 -1
  140. package/build/changes.js +0 -251
  141. package/build/changes.js.map +0 -1
  142. package/build/config.d.ts +0 -237
  143. package/build/config.d.ts.map +0 -1
  144. package/build/config.js +0 -298
  145. package/build/config.js.map +0 -1
  146. package/build/config.test.d.ts +0 -2
  147. package/build/config.test.d.ts.map +0 -1
  148. package/build/config.test.js +0 -53
  149. package/build/config.test.js.map +0 -1
  150. package/build/configure.d.ts +0 -13
  151. package/build/configure.d.ts.map +0 -1
  152. package/build/configure.js +0 -329
  153. package/build/configure.js.map +0 -1
  154. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  155. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  156. package/build/dataloaders/findByUniqueDataLoader.js +0 -47
  157. package/build/dataloaders/findByUniqueDataLoader.js.map +0 -1
  158. package/build/dataloaders/findCountDataLoader.d.ts +0 -7
  159. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  160. package/build/dataloaders/findCountDataLoader.js +0 -74
  161. package/build/dataloaders/findCountDataLoader.js.map +0 -1
  162. package/build/dataloaders/findDataLoader.d.ts +0 -37
  163. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  164. package/build/dataloaders/findDataLoader.js +0 -337
  165. package/build/dataloaders/findDataLoader.js.map +0 -1
  166. package/build/dataloaders/findIdsDataLoader.d.ts +0 -7
  167. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  168. package/build/dataloaders/findIdsDataLoader.js +0 -74
  169. package/build/dataloaders/findIdsDataLoader.js.map +0 -1
  170. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  171. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  172. package/build/dataloaders/findOrCreateDataLoader.js +0 -174
  173. package/build/dataloaders/findOrCreateDataLoader.js.map +0 -1
  174. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  175. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  176. package/build/dataloaders/lensDataLoader.js +0 -180
  177. package/build/dataloaders/lensDataLoader.js.map +0 -1
  178. package/build/dataloaders/loadDataLoader.d.ts +0 -11
  179. package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
  180. package/build/dataloaders/loadDataLoader.js +0 -54
  181. package/build/dataloaders/loadDataLoader.js.map +0 -1
  182. package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
  183. package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
  184. package/build/dataloaders/manyToManyDataLoader.js +0 -74
  185. package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
  186. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  187. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  188. package/build/dataloaders/manyToManyFindDataLoader.js +0 -70
  189. package/build/dataloaders/manyToManyFindDataLoader.js.map +0 -1
  190. package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
  191. package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
  192. package/build/dataloaders/oneToManyDataLoader.js +0 -60
  193. package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
  194. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  195. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  196. package/build/dataloaders/oneToManyFindDataLoader.js +0 -71
  197. package/build/dataloaders/oneToManyFindDataLoader.js.map +0 -1
  198. package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
  199. package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
  200. package/build/dataloaders/oneToOneDataLoader.js +0 -59
  201. package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
  202. package/build/dataloaders/populateDataLoader.d.ts +0 -13
  203. package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
  204. package/build/dataloaders/populateDataLoader.js +0 -148
  205. package/build/dataloaders/populateDataLoader.js.map +0 -1
  206. package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
  207. package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
  208. package/build/dataloaders/recursiveChildrenDataLoader.js +0 -77
  209. package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
  210. package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
  211. package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
  212. package/build/dataloaders/recursiveParentsDataLoader.js +0 -59
  213. package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
  214. package/build/defaults.d.ts +0 -54
  215. package/build/defaults.d.ts.map +0 -1
  216. package/build/defaults.js +0 -282
  217. package/build/defaults.js.map +0 -1
  218. package/build/driverApi.d.ts +0 -19
  219. package/build/driverApi.d.ts.map +0 -1
  220. package/build/driverApi.js +0 -17
  221. package/build/driverApi.js.map +0 -1
  222. package/build/drivers/Driver.d.ts +0 -26
  223. package/build/drivers/Driver.d.ts.map +0 -1
  224. package/build/drivers/Driver.js +0 -3
  225. package/build/drivers/Driver.js.map +0 -1
  226. package/build/drivers/EntityWriter.d.ts +0 -64
  227. package/build/drivers/EntityWriter.d.ts.map +0 -1
  228. package/build/drivers/EntityWriter.js +0 -237
  229. package/build/drivers/EntityWriter.js.map +0 -1
  230. package/build/drivers/IdAssigner.d.ts +0 -50
  231. package/build/drivers/IdAssigner.d.ts.map +0 -1
  232. package/build/drivers/IdAssigner.js +0 -133
  233. package/build/drivers/IdAssigner.js.map +0 -1
  234. package/build/drivers/PostgresDriver.d.ts.map +0 -1
  235. package/build/drivers/PostgresDriver.js.map +0 -1
  236. package/build/drivers/buildRawQuery.d.ts +0 -20
  237. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  238. package/build/drivers/buildRawQuery.js +0 -148
  239. package/build/drivers/buildRawQuery.js.map +0 -1
  240. package/build/drivers/buildUtils.d.ts +0 -4
  241. package/build/drivers/buildUtils.d.ts.map +0 -1
  242. package/build/drivers/buildUtils.js +0 -79
  243. package/build/drivers/buildUtils.js.map +0 -1
  244. package/build/drivers/index.d.ts +0 -5
  245. package/build/drivers/index.d.ts.map +0 -1
  246. package/build/drivers/index.js.map +0 -1
  247. package/build/fields.d.ts +0 -24
  248. package/build/fields.d.ts.map +0 -1
  249. package/build/fields.js +0 -161
  250. package/build/fields.js.map +0 -1
  251. package/build/getProperties.d.ts +0 -28
  252. package/build/getProperties.d.ts.map +0 -1
  253. package/build/getProperties.js +0 -141
  254. package/build/getProperties.js.map +0 -1
  255. package/build/json.d.ts +0 -77
  256. package/build/json.d.ts.map +0 -1
  257. package/build/json.js +0 -116
  258. package/build/json.js.map +0 -1
  259. package/build/k.d.ts +0 -2
  260. package/build/k.d.ts.map +0 -1
  261. package/build/k.js +0 -9
  262. package/build/k.js.map +0 -1
  263. package/build/keys.d.ts +0 -49
  264. package/build/keys.d.ts.map +0 -1
  265. package/build/keys.js +0 -195
  266. package/build/keys.js.map +0 -1
  267. package/build/keywords.d.ts +0 -5
  268. package/build/keywords.d.ts.map +0 -1
  269. package/build/keywords.js +0 -124
  270. package/build/keywords.js.map +0 -1
  271. package/build/loadHints.d.ts +0 -112
  272. package/build/loadHints.d.ts.map +0 -1
  273. package/build/loadHints.js +0 -75
  274. package/build/loadHints.js.map +0 -1
  275. package/build/loadLens.d.ts +0 -66
  276. package/build/loadLens.d.ts.map +0 -1
  277. package/build/loadLens.js +0 -287
  278. package/build/loadLens.js.map +0 -1
  279. package/build/logging/FactoryLogger.d.ts +0 -24
  280. package/build/logging/FactoryLogger.d.ts.map +0 -1
  281. package/build/logging/FactoryLogger.js +0 -77
  282. package/build/logging/FactoryLogger.js.map +0 -1
  283. package/build/logging/FieldLogger.d.ts +0 -27
  284. package/build/logging/FieldLogger.d.ts.map +0 -1
  285. package/build/logging/FieldLogger.js +0 -69
  286. package/build/logging/FieldLogger.js.map +0 -1
  287. package/build/logging/ReactionLogger.d.ts +0 -23
  288. package/build/logging/ReactionLogger.d.ts.map +0 -1
  289. package/build/logging/ReactionLogger.js +0 -65
  290. package/build/logging/ReactionLogger.js.map +0 -1
  291. package/build/newEntity.d.ts +0 -45
  292. package/build/newEntity.d.ts.map +0 -1
  293. package/build/newEntity.js +0 -106
  294. package/build/newEntity.js.map +0 -1
  295. package/build/newTestInstance.d.ts +0 -193
  296. package/build/newTestInstance.d.ts.map +0 -1
  297. package/build/newTestInstance.js +0 -738
  298. package/build/newTestInstance.js.map +0 -1
  299. package/build/normalizeHints.d.ts +0 -16
  300. package/build/normalizeHints.d.ts.map +0 -1
  301. package/build/normalizeHints.js +0 -31
  302. package/build/normalizeHints.js.map +0 -1
  303. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  304. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  305. package/build/plugins/ImmutableEntitiesPlugin.js +0 -21
  306. package/build/plugins/ImmutableEntitiesPlugin.js.map +0 -1
  307. package/build/plugins/PreloadPlugin.d.ts +0 -69
  308. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  309. package/build/plugins/PreloadPlugin.js +0 -3
  310. package/build/plugins/PreloadPlugin.js.map +0 -1
  311. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  312. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  313. package/build/preloading/JsonAggregatePreloader.js +0 -238
  314. package/build/preloading/JsonAggregatePreloader.js.map +0 -1
  315. package/build/preloading/canPreload.d.ts +0 -3
  316. package/build/preloading/canPreload.d.ts.map +0 -1
  317. package/build/preloading/canPreload.js +0 -21
  318. package/build/preloading/canPreload.js.map +0 -1
  319. package/build/preloading/partitionHint.d.ts +0 -5
  320. package/build/preloading/partitionHint.d.ts.map +0 -1
  321. package/build/preloading/partitionHint.js +0 -56
  322. package/build/preloading/partitionHint.js.map +0 -1
  323. package/build/reactiveHints.d.ts +0 -129
  324. package/build/reactiveHints.d.ts.map +0 -1
  325. package/build/reactiveHints.js +0 -458
  326. package/build/reactiveHints.js.map +0 -1
  327. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  328. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  329. package/build/relations/AbstractPropertyImpl.js +0 -15
  330. package/build/relations/AbstractPropertyImpl.js.map +0 -1
  331. package/build/relations/AbstractRelationImpl.d.ts +0 -36
  332. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  333. package/build/relations/AbstractRelationImpl.js +0 -19
  334. package/build/relations/AbstractRelationImpl.js.map +0 -1
  335. package/build/relations/Collection.d.ts +0 -28
  336. package/build/relations/Collection.d.ts.map +0 -1
  337. package/build/relations/Collection.js +0 -18
  338. package/build/relations/Collection.js.map +0 -1
  339. package/build/relations/CustomCollection.d.ts +0 -69
  340. package/build/relations/CustomCollection.d.ts.map +0 -1
  341. package/build/relations/CustomCollection.js +0 -166
  342. package/build/relations/CustomCollection.js.map +0 -1
  343. package/build/relations/CustomReference.d.ts +0 -71
  344. package/build/relations/CustomReference.d.ts.map +0 -1
  345. package/build/relations/CustomReference.js +0 -152
  346. package/build/relations/CustomReference.js.map +0 -1
  347. package/build/relations/LargeCollection.d.ts +0 -19
  348. package/build/relations/LargeCollection.d.ts.map +0 -1
  349. package/build/relations/LargeCollection.js +0 -3
  350. package/build/relations/LargeCollection.js.map +0 -1
  351. package/build/relations/ManyToManyCollection.d.ts +0 -44
  352. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  353. package/build/relations/ManyToManyCollection.js +0 -268
  354. package/build/relations/ManyToManyCollection.js.map +0 -1
  355. package/build/relations/ManyToManyLargeCollection.d.ts +0 -30
  356. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  357. package/build/relations/ManyToManyLargeCollection.js +0 -119
  358. package/build/relations/ManyToManyLargeCollection.js.map +0 -1
  359. package/build/relations/ManyToOneReference.d.ts +0 -121
  360. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  361. package/build/relations/ManyToOneReference.js +0 -389
  362. package/build/relations/ManyToOneReference.js.map +0 -1
  363. package/build/relations/OneToManyCollection.d.ts +0 -58
  364. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  365. package/build/relations/OneToManyCollection.js +0 -347
  366. package/build/relations/OneToManyCollection.js.map +0 -1
  367. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  368. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  369. package/build/relations/OneToManyLargeCollection.js +0 -102
  370. package/build/relations/OneToManyLargeCollection.js.map +0 -1
  371. package/build/relations/OneToOneReference.d.ts +0 -93
  372. package/build/relations/OneToOneReference.d.ts.map +0 -1
  373. package/build/relations/OneToOneReference.js +0 -228
  374. package/build/relations/OneToOneReference.js.map +0 -1
  375. package/build/relations/PolymorphicReference.d.ts +0 -89
  376. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  377. package/build/relations/PolymorphicReference.js +0 -244
  378. package/build/relations/PolymorphicReference.js.map +0 -1
  379. package/build/relations/ReactiveField.d.ts +0 -87
  380. package/build/relations/ReactiveField.d.ts.map +0 -1
  381. package/build/relations/ReactiveField.js +0 -149
  382. package/build/relations/ReactiveField.js.map +0 -1
  383. package/build/relations/ReactiveGetter.d.ts +0 -30
  384. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  385. package/build/relations/ReactiveGetter.js +0 -38
  386. package/build/relations/ReactiveGetter.js.map +0 -1
  387. package/build/relations/ReactiveManyToMany.d.ts +0 -56
  388. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  389. package/build/relations/ReactiveManyToMany.js +0 -243
  390. package/build/relations/ReactiveManyToMany.js.map +0 -1
  391. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -47
  392. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  393. package/build/relations/ReactiveManyToManyOtherSide.js +0 -155
  394. package/build/relations/ReactiveManyToManyOtherSide.js.map +0 -1
  395. package/build/relations/ReactiveQueryField.d.ts +0 -41
  396. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  397. package/build/relations/ReactiveQueryField.js +0 -125
  398. package/build/relations/ReactiveQueryField.js.map +0 -1
  399. package/build/relations/ReactiveReference.d.ts +0 -119
  400. package/build/relations/ReactiveReference.d.ts.map +0 -1
  401. package/build/relations/ReactiveReference.js +0 -333
  402. package/build/relations/ReactiveReference.js.map +0 -1
  403. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  404. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  405. package/build/relations/ReadOnlyCollection.js +0 -15
  406. package/build/relations/ReadOnlyCollection.js.map +0 -1
  407. package/build/relations/RecursiveCollection.d.ts +0 -84
  408. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  409. package/build/relations/RecursiveCollection.js +0 -296
  410. package/build/relations/RecursiveCollection.js.map +0 -1
  411. package/build/relations/Reference.d.ts +0 -35
  412. package/build/relations/Reference.d.ts.map +0 -1
  413. package/build/relations/Reference.js +0 -21
  414. package/build/relations/Reference.js.map +0 -1
  415. package/build/relations/Relation.d.ts +0 -14
  416. package/build/relations/Relation.d.ts.map +0 -1
  417. package/build/relations/Relation.js +0 -12
  418. package/build/relations/Relation.js.map +0 -1
  419. package/build/relations/hasAsyncMethod.d.ts +0 -27
  420. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  421. package/build/relations/hasAsyncMethod.js +0 -47
  422. package/build/relations/hasAsyncMethod.js.map +0 -1
  423. package/build/relations/hasAsyncProperty.d.ts +0 -49
  424. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  425. package/build/relations/hasAsyncProperty.js +0 -98
  426. package/build/relations/hasAsyncProperty.js.map +0 -1
  427. package/build/relations/hasManyDerived.d.ts +0 -22
  428. package/build/relations/hasManyDerived.d.ts.map +0 -1
  429. package/build/relations/hasManyDerived.js +0 -32
  430. package/build/relations/hasManyDerived.js.map +0 -1
  431. package/build/relations/hasManyThrough.d.ts +0 -10
  432. package/build/relations/hasManyThrough.d.ts.map +0 -1
  433. package/build/relations/hasManyThrough.js +0 -24
  434. package/build/relations/hasManyThrough.js.map +0 -1
  435. package/build/relations/hasOneDerived.d.ts +0 -12
  436. package/build/relations/hasOneDerived.d.ts.map +0 -1
  437. package/build/relations/hasOneDerived.js +0 -24
  438. package/build/relations/hasOneDerived.js.map +0 -1
  439. package/build/relations/hasOneThrough.d.ts +0 -10
  440. package/build/relations/hasOneThrough.d.ts.map +0 -1
  441. package/build/relations/hasOneThrough.js +0 -24
  442. package/build/relations/hasOneThrough.js.map +0 -1
  443. package/build/relations/index.d.ts +0 -28
  444. package/build/relations/index.d.ts.map +0 -1
  445. package/build/relations/index.js +0 -88
  446. package/build/relations/index.js.map +0 -1
  447. package/build/rules.d.ts +0 -123
  448. package/build/rules.d.ts.map +0 -1
  449. package/build/rules.js +0 -231
  450. package/build/rules.js.map +0 -1
  451. package/build/runtimeConfig.d.ts +0 -17
  452. package/build/runtimeConfig.d.ts.map +0 -1
  453. package/build/runtimeConfig.js +0 -18
  454. package/build/runtimeConfig.js.map +0 -1
  455. package/build/serde.d.ts +0 -277
  456. package/build/serde.d.ts.map +0 -1
  457. package/build/serde.js +0 -517
  458. package/build/serde.js.map +0 -1
  459. package/build/temporal.d.ts +0 -16
  460. package/build/temporal.d.ts.map +0 -1
  461. package/build/temporal.js +0 -48
  462. package/build/temporal.js.map +0 -1
  463. package/build/temporalMappers.d.ts +0 -25
  464. package/build/temporalMappers.d.ts.map +0 -1
  465. package/build/temporalMappers.js +0 -59
  466. package/build/temporalMappers.js.map +0 -1
  467. package/build/typeMap.d.ts +0 -68
  468. package/build/typeMap.d.ts.map +0 -1
  469. package/build/typeMap.js +0 -3
  470. package/build/typeMap.js.map +0 -1
  471. package/build/unnest.d.ts +0 -13
  472. package/build/unnest.d.ts.map +0 -1
  473. package/build/unnest.js +0 -85
  474. package/build/unnest.js.map +0 -1
  475. package/build/upsert.d.ts +0 -42
  476. package/build/upsert.d.ts.map +0 -1
  477. package/build/upsert.js +0 -265
  478. package/build/upsert.js.map +0 -1
  479. package/build/utils.d.ts +0 -58
  480. package/build/utils.d.ts.map +0 -1
  481. package/build/utils.js +0 -236
  482. package/build/utils.js.map +0 -1
  483. package/build/withLoaded.d.ts +0 -56
  484. package/build/withLoaded.d.ts.map +0 -1
  485. package/build/withLoaded.js +0 -76
  486. package/build/withLoaded.js.map +0 -1
@@ -1,237 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateOps = generateOps;
4
- const BaseEntity_1 = require("../BaseEntity");
5
- const EntityMetadata_1 = require("../EntityMetadata");
6
- const fields_1 = require("../fields");
7
- const keys_1 = require("../keys");
8
- const serde_1 = require("../serde");
9
- const utils_1 = require("../utils");
10
- /**
11
- * Builds AST-ish `Ops` for the inserts/updates/deletes in `todos`.
12
- *
13
- * This helps decouple the database-specific driver/library from the knowledge
14
- * of turning entities into table operations, i.e. so they can be unaware of
15
- * complexities like field -> column mapping, oplocks, and class table inheritance.
16
- *
17
- * We still assume Postgres b/c we assume all ids have been pre-assigned for INSERTs,
18
- * and don't do any topological sorting of cross-row FK dependencies.
19
- *
20
- * But this should let us experiment with knex vs. raw client/etc.
21
- */
22
- function generateOps(todos) {
23
- const ops = { inserts: [], updates: [], deletes: [] };
24
- const fixups = [];
25
- // Would be nice to conditionally sort
26
- const sorted = Object.values(todos).sort((a, b) => (a.metadata.nonDeferredFkOrder ?? 0) - (b.metadata.nonDeferredFkOrder ?? 0));
27
- for (const todo of sorted) {
28
- addInserts(ops, todo, fixups);
29
- addUpdates(ops, todo);
30
- addDeletes(ops, todo);
31
- }
32
- if (fixups.length > 0)
33
- translateFixupsIntoUpdates(ops, fixups);
34
- return ops;
35
- }
36
- function addInserts(ops, todo, fixups) {
37
- if (todo.inserts.length > 0) {
38
- // If we have subtypes, this todo.metadata will always be the base type
39
- const meta = todo.metadata;
40
- if (meta.subTypes.length > 0) {
41
- if (meta.inheritanceType === "cti") {
42
- // Insert into each of the CTI tables
43
- for (const [meta, group] of groupEntitiesByTable(todo.inserts)) {
44
- ops.inserts.push(newInsertOp(meta, group, fixups));
45
- }
46
- }
47
- else if (meta.inheritanceType === "sti") {
48
- ops.inserts.push(newStiInsertOp(meta, todo.inserts, fixups));
49
- }
50
- else {
51
- throw new Error(`Found ${meta.tableName} subTypes without a known inheritanceType ${meta.inheritanceType}`);
52
- }
53
- }
54
- else {
55
- ops.inserts.push(newInsertOp(meta, todo.inserts, fixups));
56
- }
57
- }
58
- }
59
- function newInsertOp(meta, entities, fixups) {
60
- // Purposefully use `meta.fields` instead of `allFields` b/c each CTI table has its own `InsertOp`
61
- const columns = Object.values(meta.fields)
62
- .filter(serde_1.hasSerde)
63
- .flatMap((f) => f.serde.columns);
64
- const columnValues = collectBindings(entities, meta.tableName, columns, fixups);
65
- return { tableName: meta.tableName, columns, columnValues };
66
- }
67
- function newStiInsertOp(root, entities, fixups) {
68
- // Get the unique set of subtypes
69
- const subTypes = new Set();
70
- for (const e of entities)
71
- subTypes.add((0, EntityMetadata_1.getMetadata)(e));
72
- // All the root fields (including id)
73
- const fields = Object.values(root.fields);
74
- // Then the subtype fields that haven't been seen yet (subtypes have the root fields + can share non-root fields)
75
- for (const st of subTypes) {
76
- for (const f of Object.values(st.fields)) {
77
- if (!fields.some((f2) => f2.fieldName === f.fieldName)) {
78
- fields.push(f);
79
- }
80
- }
81
- }
82
- const columns = fields.filter(serde_1.hasSerde).flatMap((f) => f.serde.columns);
83
- // And then collect the same bindings across each STI
84
- const columnValues = collectBindings(entities, root.tableName, columns, fixups);
85
- return { tableName: root.tableName, columns, columnValues };
86
- }
87
- function addUpdates(ops, todo) {
88
- if (todo.updates.length > 0) {
89
- const meta = todo.metadata;
90
- if (meta.subTypes.length > 0) {
91
- if (meta.inheritanceType === "cti") {
92
- for (const [meta, group] of groupEntitiesByTable(todo.updates)) {
93
- const op = newUpdateOp(meta, group);
94
- if (op)
95
- ops.updates.push(op);
96
- }
97
- }
98
- else if (meta.inheritanceType === "sti") {
99
- const op = newUpdateOp(meta, todo.updates);
100
- if (op)
101
- ops.updates.push(op);
102
- }
103
- else {
104
- throw new Error(`Found ${meta.tableName} subTypes without a known inheritanceType ${meta.inheritanceType}`);
105
- }
106
- }
107
- else {
108
- const op = newUpdateOp(meta, todo.updates);
109
- if (op)
110
- ops.updates.push(op);
111
- }
112
- }
113
- }
114
- function newUpdateOp(meta, entities) {
115
- // We only include changed fields in our `UPDATE`--maybe we could change this
116
- // to always use the same fields, to take advantage of Prepared Statements.
117
- const changedFields = new Set();
118
- for (const entity of entities) {
119
- for (const fieldName of (0, BaseEntity_1.getInstanceData)(entity).changedFields)
120
- changedFields.add(fieldName);
121
- }
122
- // Sometimes with derived fields, an instance will be marked as an update, but if the derived field hasn't
123
- // actually changed, it'll be a noop, so just short-circuit if it looks like that happened. Unless touched.
124
- if (changedFields.size === 0 && !entities.some((e) => (0, BaseEntity_1.getInstanceData)(e).isTouched)) {
125
- return undefined;
126
- }
127
- // We may have loaded a1 and a2, and changed a1.firstName, and a2.lastName, but either one
128
- // might be missing the other's changed fields in it's lazy-initialized data field...
129
- // (Use `?` because subtypes won't have the updatedAt, and it will be handled by the base type
130
- // `newUpdateUp`--except STI where we're doing it all in one go, probably needs checked here.)
131
- const updatedAt = meta.timestampFields?.updatedAt;
132
- changedFields.add("id");
133
- if (updatedAt)
134
- changedFields.add(updatedAt);
135
- for (const entity of entities) {
136
- const { data } = (0, BaseEntity_1.getInstanceData)(entity);
137
- for (const key of changedFields) {
138
- // Check isChangeableField because we might be updating the base `publishers` table
139
- // and `originalData` might have fields from a subclass `large_publishers` table.
140
- if (!(key in data) && (0, fields_1.isChangeableField)(entity, key)) {
141
- (0, fields_1.getField)(entity, key);
142
- }
143
- }
144
- }
145
- const columns = (meta.inheritanceType === "sti"
146
- ? // Hack this one handling of STI into here...
147
- (0, EntityMetadata_1.getBaseSelfAndSubMetas)(meta).flatMap((meta) => meta.stiDiscriminatorField
148
- ? Object.values(meta.fields)
149
- : Object.values(meta.fields).filter((f) => f.fieldName !== "id"))
150
- : Object.values(meta.fields))
151
- .filter((f) => changedFields.has(f.fieldName))
152
- .filter(serde_1.hasSerde)
153
- .flatMap((f) => f.serde.columns);
154
- // If we're using class table inheritance, base/child tables may not have any columns to update
155
- if (columns.length === 1) {
156
- return undefined;
157
- }
158
- // We already have the bumped updated_at column, but also include the original updated_at for the data CTE
159
- if (updatedAt) {
160
- const serde = meta.fields[updatedAt].serde;
161
- columns.push({
162
- columnName: "__original_updated_at",
163
- dbType: "timestamptz",
164
- dbValue: (_, entity) => serde.dbValue((0, BaseEntity_1.getInstanceData)(entity).originalData),
165
- });
166
- }
167
- const columnValues = collectBindings(entities, meta.tableName, columns, []);
168
- const updatedAtColumn = updatedAt ? meta.fields[updatedAt].serde.columns[0] : undefined;
169
- return { tableName: meta.tableName, columns, updatedAt: updatedAtColumn?.columnName, columnValues };
170
- }
171
- function addDeletes(ops, todo) {
172
- if (todo.deletes.length > 0) {
173
- const meta = todo.metadata;
174
- const ids = todo.deletes.map((e) => (0, keys_1.keyToNumber)(meta, e.idTagged).toString());
175
- if (meta.subTypes.length > 0) {
176
- (0, EntityMetadata_1.getBaseSelfAndSubMetas)(meta).forEach((meta) => {
177
- ops.deletes.push({ tableName: meta.tableName, ids });
178
- });
179
- }
180
- else {
181
- ops.deletes.push({ tableName: meta.tableName, ids });
182
- }
183
- }
184
- }
185
- function groupEntitiesByTable(entities) {
186
- const entitiesByType = new Map();
187
- for (const e of entities) {
188
- for (const m of (0, EntityMetadata_1.getBaseAndSelfMetas)((0, EntityMetadata_1.getMetadata)(e))) {
189
- let list = entitiesByType.get(m);
190
- if (!list) {
191
- list = [];
192
- entitiesByType.set(m, list);
193
- }
194
- list.push(e);
195
- }
196
- }
197
- return [...entitiesByType.entries()];
198
- }
199
- /**
200
- * Builds a *columnar* array of bindings for the given `entities` and `columns`.
201
- *
202
- * We use a columnar approach, instead of `rows[]`, to best match the unnest-based
203
- * column operations in our `batchInsert` / `batchUpdate` SQL statements.
204
- */
205
- function collectBindings(entities, tableName, columns, fixups) {
206
- const bindings = [];
207
- for (const column of columns) {
208
- const columnValues = [];
209
- for (const entity of entities) {
210
- const { data } = (0, BaseEntity_1.getInstanceData)(entity);
211
- columnValues.push(column.dbValue(data, entity, tableName, fixups) ?? null);
212
- }
213
- bindings.push(columnValues);
214
- }
215
- return bindings;
216
- }
217
- /**
218
- * Given `fixups` that indicate where we inserted `NULL` into non-deferred FKs, create `UPDATE`s
219
- * that insert the value now that the FK check will succeed.
220
- */
221
- function translateFixupsIntoUpdates(ops, fixups) {
222
- // Create a single `UPDATE` for the N fixups we might have for each table/column combination
223
- (0, utils_1.groupBy)(fixups, (f) => `${f.tableName}.${f.column.columnName}`).forEach((fixups) => {
224
- const { tableName, entity, column } = fixups[0];
225
- ops.updates.push({
226
- tableName,
227
- columns: [(0, EntityMetadata_1.getMetadata)(entity).fields["id"].serde.columns[0], column],
228
- columnValues: [
229
- // Make 1 column of ids, and 1 column of values
230
- fixups.map((fixup) => fixup.entity.id),
231
- fixups.map((fixup) => fixup.value),
232
- ],
233
- updatedAt: undefined,
234
- });
235
- });
236
- }
237
- //# sourceMappingURL=EntityWriter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityWriter.js","sourceRoot":"","sources":["../../src/drivers/EntityWriter.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { Knex } from "knex";
2
- import { Todo } from "../Todo";
3
- export interface IdAssigner {
4
- assignNewIds(todos: Record<string, Todo>): Promise<void>;
5
- }
6
- /** Super-small/dumb wrapper around maybe-Knex/maybe-postgres.js/maybe-Bun-sql libraries. */
7
- type QueryRunner = (sql: string) => Promise<any[]>;
8
- /**
9
- * Assigns all new entities an id directly from their corresponding sequence generator, instead of via INSERTs.
10
- *
11
- * This lets us avoid cyclic issues with some INSERTs having foreign keys to other rows that themselves
12
- * need to first be INSERTed.
13
- */
14
- export declare class SequenceIdAssigner implements IdAssigner {
15
- #private;
16
- constructor(knex: Knex);
17
- constructor(runner: QueryRunner);
18
- assignNewIds(todos: Record<string, Todo>): Promise<void>;
19
- }
20
- /**
21
- * Creates random UUIDs for uuid-based keys in production environments.
22
- *
23
- * See {@link TestUuidAssigner} for creating stable-ish ids for tests
24
- */
25
- export declare class RandomUuidAssigner implements IdAssigner {
26
- assignNewIds(todos: Record<string, Todo>): Promise<void>;
27
- }
28
- /**
29
- * Creates deterministic / stable-ish UUIDs for test suites.
30
- *
31
- * We use each entity's tag as the 3rd group of digits, and a per-entity incrementing integer as
32
- * the 4th group of digits.
33
- *
34
- * E.g. a test with two Authors (tag `a`) and three Books (tag `b`) will get these ids:
35
- *
36
- * ```
37
- * 00000000-0000-0000-000a-000000000000
38
- * 00000000-0000-0000-000a-000000000001
39
- * 00000000-0000-0000-000b-000000000000
40
- * 00000000-0000-0000-000b-000000000001
41
- * 00000000-0000-0000-000b-000000000002
42
- * ```
43
- */
44
- export declare class TestUuidAssigner implements IdAssigner {
45
- private nextId;
46
- assignNewIds(todos: Record<string, Todo>): Promise<void>;
47
- reset(): void;
48
- }
49
- export {};
50
- //# sourceMappingURL=IdAssigner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IdAssigner.d.ts","sourceRoot":"","sources":["../../src/drivers/IdAssigner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,4FAA4F;AAC5F,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,UAAU;;gBAGhC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,WAAW;IAShC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB/D;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IAC7C,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAO/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,MAAM,CAA8B;IAEtC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D,KAAK;CAGN"}
@@ -1,133 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TestUuidAssigner = exports.RandomUuidAssigner = exports.SequenceIdAssigner = void 0;
37
- const crypto = __importStar(require("crypto"));
38
- const BaseEntity_1 = require("../BaseEntity");
39
- const keys_1 = require("../keys");
40
- /**
41
- * Assigns all new entities an id directly from their corresponding sequence generator, instead of via INSERTs.
42
- *
43
- * This lets us avoid cyclic issues with some INSERTs having foreign keys to other rows that themselves
44
- * need to first be INSERTed.
45
- */
46
- class SequenceIdAssigner {
47
- #runner;
48
- constructor(runner) {
49
- if ("raw" in runner) {
50
- this.#runner = async (sql) => (await runner.raw(sql)).rows;
51
- }
52
- else {
53
- this.#runner = runner;
54
- }
55
- }
56
- async assignNewIds(todos) {
57
- const seqStatements = [];
58
- Object.values(todos).forEach((todo) => {
59
- // Even if we have INSERTs, the user may have already assigned ids...
60
- const needsIds = todo.inserts.filter((e) => e.idMaybe === undefined);
61
- if (needsIds.length > 0) {
62
- const sequenceName = `${todo.metadata.tableName}_id_seq`;
63
- const sql = `select nextval('${sequenceName}') from generate_series(1, ${needsIds.length})`;
64
- seqStatements.push(sql);
65
- }
66
- });
67
- if (seqStatements.length > 0) {
68
- // There will be 1 per table; 1 single insert should be fine but we might need to batch for super-large schemas?
69
- const sql = seqStatements.join(" UNION ALL ");
70
- const result = await this.#runner(sql);
71
- let i = 0;
72
- Object.values(todos).forEach((todo) => {
73
- for (const insert of todo.inserts.filter((e) => e.idMaybe === undefined)) {
74
- // Use todo.metadata so that all subtypes get their base type's tag
75
- (0, BaseEntity_1.getInstanceData)(insert).data["id"] = (0, keys_1.keyToTaggedId)(todo.metadata, result[i++]["nextval"]);
76
- }
77
- });
78
- }
79
- }
80
- }
81
- exports.SequenceIdAssigner = SequenceIdAssigner;
82
- /**
83
- * Creates random UUIDs for uuid-based keys in production environments.
84
- *
85
- * See {@link TestUuidAssigner} for creating stable-ish ids for tests
86
- */
87
- class RandomUuidAssigner {
88
- async assignNewIds(todos) {
89
- Object.values(todos).forEach((todo) => {
90
- for (const insert of todo.inserts) {
91
- (0, BaseEntity_1.getInstanceData)(insert).data["id"] = (0, keys_1.keyToTaggedId)(todo.metadata, crypto.randomUUID());
92
- }
93
- });
94
- }
95
- }
96
- exports.RandomUuidAssigner = RandomUuidAssigner;
97
- /**
98
- * Creates deterministic / stable-ish UUIDs for test suites.
99
- *
100
- * We use each entity's tag as the 3rd group of digits, and a per-entity incrementing integer as
101
- * the 4th group of digits.
102
- *
103
- * E.g. a test with two Authors (tag `a`) and three Books (tag `b`) will get these ids:
104
- *
105
- * ```
106
- * 00000000-0000-0000-000a-000000000000
107
- * 00000000-0000-0000-000a-000000000001
108
- * 00000000-0000-0000-000b-000000000000
109
- * 00000000-0000-0000-000b-000000000001
110
- * 00000000-0000-0000-000b-000000000002
111
- * ```
112
- */
113
- class TestUuidAssigner {
114
- nextId = {};
115
- async assignNewIds(todos) {
116
- Object.entries(todos).forEach(([, todo]) => {
117
- if (todo.inserts.length > 0) {
118
- const tag = todo.metadata.tagName.substring(0, 4).padStart(4, "0");
119
- this.nextId[tag] ??= 0;
120
- for (const insert of todo.inserts) {
121
- const id = String(this.nextId[tag]++);
122
- const uuid = `00000000-0000-0000-${tag}-${id.padStart(12, "0")}`;
123
- (0, BaseEntity_1.getInstanceData)(insert).data["id"] = (0, keys_1.keyToTaggedId)(todo.metadata, uuid);
124
- }
125
- }
126
- });
127
- }
128
- reset() {
129
- this.nextId = {};
130
- }
131
- }
132
- exports.TestUuidAssigner = TestUuidAssigner;
133
- //# sourceMappingURL=IdAssigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IdAssigner.js","sourceRoot":"","sources":["../../src/drivers/IdAssigner.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostgresDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgresDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,EAKL,aAAa,EAIb,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAsB,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oFAAoF;IACpF,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;;IAK3D,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,EAC3B,IAAI,CAAC,EAAE,kBAAkB;IAOrB,WAAW,CACf,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;IAKX,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAOtF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBxF,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,KAAK,CACT,EAAE,EAAE,aAAa,EACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAgBhB,IAAI,cAAc;;MAEjB;IAED,OAAO,CAAC,iBAAiB;CAG1B;AAoJD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAkB5E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../src/drivers/PostgresDriver.ts"],"names":[],"mappings":";;;;;;AA4RA,gDAkBC;AA7SD,2BAA2B;AAC3B,uCAAmD;AACnD,oEAAmC;AACnC,oCAYkB;AAClB,0CAAwE;AACxE,0CAAwC;AACxC,oDAAoD;AAEpD,sCAAwD;AACxD,oCAAuD;AACvD,mDAAgD;AAEhD,iDAAqF;AACrF,6CAA8D;AAQ9D;;;;;;;;;;;;;GAaG;AACH,MAAa,cAAc;IAKN;IAJV,WAAW,CAAa;IACxB,cAAc,CAA4B;IAEnD,YACmB,IAAU,EAC3B,IAAyB;QADR,SAAI,GAAJ,IAAI,CAAM;QAG3B,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,+BAAkB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,aAAa,CAAC;QAC1C,kBAAkB,CAAC,IAAA,gCAAgB,GAAE,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,EAAiB,EACjB,MAAuB,EACvB,QAA6C;QAE7C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAiB,EAAE,GAAW,EAAE,QAAwB;QACzE,mDAAmD;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;aAC9B,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;aAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,EAAiB,EAAE,EAAyC;QAC/E,2DAA2D;QAC3D,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAC,EAAE,CAAC,GAAuB,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,IAAA,yBAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvD,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,IAAA,wBAAgB,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC7B,MAAM,IAAA,0BAAkB,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAA,yBAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,CAAgB,EAAE,KAA2B;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,KAAK,CACT,EAAiB,EACjB,WAAiC,EACjC,QAAqC;QAErC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAA,YAAI,EAAC,sCAAsC,CAAC,CAAqB,CAAC;QACzF,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,IAAA,0BAAW,EAAC,WAAW,CAAC,CAAC;QACrC,iFAAiF;QACjF,wDAAwD;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;gBACrF,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;YAClH,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IAChD,CAAC;IAEO,iBAAiB,CAAC,EAAiB;QACzC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAqB,CAAC;IACnD,CAAC;CACF;AAjFD,wCAiFC;AAED,KAAK,UAAU,WAAW,CAAC,GAAqB,EAAE,EAAY;IAC5D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC;MACjB,GAAG;kBACS,IAAA,aAAE,EAAC,SAAS,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,aAAE,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;GAEhF,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAqB,EAAE,EAAY;IAC5D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAE3D,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAEtE,4FAA4F;IAC5F,6FAA6F;IAC7F,oDAAoD;IACpD,EAAE;IACF,gDAAgD;IAChD,MAAM,eAAe,GAAG,CAAC,IAAA,gCAAgB,GAAE,CAAC,QAAQ,CAAC;IACrD,MAAM,cAAc,GAClB,SAAS,IAAI,eAAe;QAC1B,CAAC,CAAC,mCAAmC,IAAA,gBAAK,EAAC,SAAS,EAAE,SAAS,CAAC,gCAAgC;QAChG,CAAC,CAAC,SAAS;YACT,CAAC,CAAC,QAAQ,IAAA,gBAAK,EAAC,SAAS,EAAE,SAAS,CAAC,+BAA+B;YACpE,CAAC,CAAC,EAAE,CAAC;IAEX,MAAM,GAAG,GAAG;MACR,GAAG;aACI,IAAA,aAAE,EAAC,SAAS,CAAC;UAChB,OAAO;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,uBAAuB,CAAC;SAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAA,aAAE,EAAC,CAAC,CAAC,UAAU,CAAC,WAAW,IAAA,aAAE,EAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;SAC5D,IAAI,CAAC,IAAI,CAAC;;YAEL,IAAA,aAAE,EAAC,SAAS,CAAC,iBAAiB,cAAc;gBACxC,IAAA,aAAE,EAAC,SAAS,CAAC;GAC1B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IAE5B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAqB,EAAE,EAAY;IAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC9B,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,IAAA,aAAE,EAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,6FAA6F;AAC7F,SAAS,cAAc,CAAC,SAAiB,EAAE,OAAmB,EAAE,YAAqB;IACnF,IAAA,oCAA2B,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;gBACtB,OAAO,oBAAoB,CAAC,CAAC,MAAM,gBAAgB,IAAA,aAAE,EAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,oBAAoB,CAAC,CAAC,MAAM,UAAU,IAAA,aAAE,EAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,aAAa,CAAC,CAAC,MAAM,UAAU,IAAA,aAAE,EAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,QAAQ,SAAS,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAClE,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAqB,EAAE,aAAqB,EAAE,GAAmB,EAAE,OAAkB;IACjH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,yEAAyE;IACzE,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC;kBACL,IAAA,aAAE,EAAC,aAAa,CAAC,KAAK,IAAA,aAAE,EAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAA,aAAE,EAAC,GAAG,CAAC,eAAe,CAAC;aACzE,IAAA,cAAM,EAAC,OAAO,CAAC,MAAM,CAAC;SAC5B,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC;mBACE,IAAA,aAAE,EAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAA,aAAE,EAAC,GAAG,CAAC,eAAe,CAAC,wBAAwB,IAAA,aAAE,EAAC,aAAa,CAAC;;GAEvG,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,OAAO;YACL,IAAA,mBAAW,EAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;YACxD,IAAA,mBAAW,EAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;SAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,2BAAgB,CAAC,OAAO,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,GAAqB,EACrB,aAAqB,EACrB,GAAmB,EACnB,WAAsB;IAEtB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACrC,wFAAwF;IACxF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAAA,iBAAS,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,IAAA,aAAE,EAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,KAAK;YAChB,sGAAsG;YACtG,6FAA6F;aAC5F,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvC,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;QAC5C,CAAC,CAAC;aACD,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ;YACE,IAAA,mBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAA,mBAAW,EAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;SAC7D,CACX,CAAC;QACJ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,GAAG,CACX;sBACc,IAAA,aAAE,EAAC,aAAa,CAAC;iBACtB,IAAA,aAAE,EAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAA,aAAE,EAAC,GAAG,CAAC,eAAe,CAAC;;UAErD,EACF,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;QACnB,GAAG,CAAC,EAAE,GAAG,2BAAgB,CAAC,OAAO,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,QAAmC;IACpE,IAAI,QAAQ,EAAE,CAAC;QACb,oEAAoE;QACpE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,wBAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEtD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,UAAK,CAAC,QAAQ,CAAC;QACxD,UAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,UAAK,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,UAAK,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEvC,wGAAwG;QACxG,UAAK,CAAC,aAAa,CAAC,IAAc,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS;QACzD,UAAK,CAAC,aAAa,CAAC,IAAc,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc;QAC9D,UAAK,CAAC,aAAa,CAAC,IAAc,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB;IAClE,CAAC;SAAM,CAAC;QACN,UAAK,CAAC,aAAa,CAAC,UAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAA,wBAAa,EAAC,mBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,CAAC;AACH,CAAC"}
@@ -1,20 +0,0 @@
1
- import { ParsedCteClause, ParsedFindQuery } from "../QueryParser";
2
- /**
3
- * Transforms `ParsedFindQuery` into a raw SQL string.
4
- *
5
- * In theory this should be implemented within each Driver, but the logic will be largely
6
- * the same for different dbs.
7
- */
8
- export declare function buildRawQuery(parsed: ParsedFindQuery, settings: {
9
- limit?: number;
10
- offset?: number;
11
- }): {
12
- sql: string;
13
- bindings: readonly any[];
14
- };
15
- /** Creates the `WITH alias (...)` SQL for the given `cte`. */
16
- export declare function buildCteSql(cte: ParsedCteClause): {
17
- sql: string;
18
- bindings: readonly any[];
19
- };
20
- //# sourceMappingURL=buildRawQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildRawQuery.d.ts","sourceRoot":"","sources":["../../src/drivers/buildRawQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAe,MAAM,gBAAgB,CAAC;AAK/E;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,CA+G3C;AAWD,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,CAe3F"}
@@ -1,148 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildRawQuery = buildRawQuery;
4
- exports.buildCteSql = buildCteSql;
5
- const keywords_1 = require("../keywords");
6
- const utils_1 = require("../utils");
7
- const buildUtils_1 = require("./buildUtils");
8
- /**
9
- * Transforms `ParsedFindQuery` into a raw SQL string.
10
- *
11
- * In theory this should be implemented within each Driver, but the logic will be largely
12
- * the same for different dbs.
13
- */
14
- function buildRawQuery(parsed, settings) {
15
- const { limit, offset } = settings;
16
- const primary = parsed.tables.find((t) => t.join === "primary");
17
- // If we're doing o2m joins, add a `DISTINCT` clause to avoid duplicates
18
- const needsDistinct = parsed.tables.some((t) => t.join === "outer" && t.distinct !== false) &&
19
- // If this is a `findCount`, it will rewrite the `select` to have its own distinct
20
- !parsed.selects.find((s) => typeof s === "string" && s.startsWith("count("));
21
- let sql = "";
22
- const bindings = [];
23
- if (parsed.ctes && parsed.ctes.length > 0) {
24
- const hasRecursive = parsed.ctes.some((cte) => cte.recursive);
25
- const maybeRecursive = hasRecursive ? " RECURSIVE" : "";
26
- sql += `WITH${maybeRecursive}`;
27
- for (let i = 0; i < parsed.ctes.length; i++) {
28
- const cte = parsed.ctes[i];
29
- sql += i > 0 ? ", " : "";
30
- sql += ` ${cte.alias}`;
31
- if (cte.columns) {
32
- sql += " (";
33
- for (let j = 0; j < cte.columns.length; j++) {
34
- sql += j > 0 ? ", " : "";
35
- sql += (0, keywords_1.kq)(cte.columns[j].columnName);
36
- }
37
- sql += ")";
38
- }
39
- if (cte.query.kind === "raw") {
40
- sql += ` AS (${(0, utils_1.cleanSql)(cte.query.sql)})`;
41
- bindings.push(...cte.query.bindings);
42
- }
43
- else if (cte.query.kind === "ast") {
44
- const nested = buildRawQuery(cte.query.query, {});
45
- sql += ` AS (${nested.sql})`;
46
- bindings.push(...nested.bindings);
47
- }
48
- else {
49
- (0, utils_1.assertNever)(cte.query);
50
- }
51
- }
52
- sql += " ";
53
- }
54
- sql += "SELECT ";
55
- parsed.selects.forEach((s, i) => {
56
- const maybeDistinct = i === 0 && needsDistinct ? buildDistinctOn(parsed, primary) : "";
57
- const maybeComma = i === parsed.selects.length - 1 ? "" : ", ";
58
- if (typeof s === "string") {
59
- sql += maybeDistinct + s + maybeComma;
60
- }
61
- else {
62
- sql += maybeDistinct + s.sql + maybeComma;
63
- bindings.push(...s.bindings);
64
- }
65
- });
66
- // If we're doing "select distinct" for o2m joins, then all order bys must be selects
67
- if (needsDistinct && parsed.orderBys.length > 0) {
68
- for (const { alias, column } of parsed.orderBys) {
69
- sql += `, ${(0, keywords_1.kqDot)(alias, column)}`;
70
- }
71
- }
72
- // Make sure the primary is first
73
- sql += ` FROM ${as(primary)}`;
74
- // Then the joins
75
- for (const t of parsed.tables) {
76
- if (t.join === "inner") {
77
- sql += ` JOIN ${as(t)} ON ${t.col1} = ${t.col2}`;
78
- }
79
- else if (t.join === "outer") {
80
- sql += ` LEFT OUTER JOIN ${as(t)} ON ${t.col1} = ${t.col2}`;
81
- }
82
- else if (t.join === "primary") {
83
- // handled above
84
- }
85
- else if (t.join === "lateral") {
86
- const { sql: subQ, bindings: subB } = buildRawQuery(t.query, {});
87
- sql += ` CROSS JOIN LATERAL (${subQ}) AS ${(0, keywords_1.kq)(t.alias)}`;
88
- bindings.push(...subB);
89
- }
90
- else if (t.join === "cross") {
91
- sql += ` CROSS JOIN ${as(t)}`;
92
- }
93
- else {
94
- (0, utils_1.assertNever)(t.join);
95
- }
96
- }
97
- if (parsed.condition) {
98
- const where = (0, buildUtils_1.buildWhereClause)(parsed.condition, true);
99
- if (where) {
100
- sql += " WHERE " + where[0];
101
- bindings.push(...where[1]);
102
- }
103
- }
104
- if (parsed.groupBys && parsed.groupBys.length > 0) {
105
- sql += " GROUP BY " + parsed.groupBys.map((ob) => (0, keywords_1.kqDot)(ob.alias, ob.column)).join(", ");
106
- }
107
- if (parsed.orderBys.length > 0) {
108
- sql += " ORDER BY " + parsed.orderBys.map((ob) => (0, keywords_1.kqDot)(ob.alias, ob.column) + " " + ob.order).join(", ");
109
- }
110
- if (limit) {
111
- sql += ` LIMIT ?`;
112
- bindings.push(limit);
113
- }
114
- if (offset) {
115
- sql += ` OFFSET ?`;
116
- bindings.push(offset);
117
- }
118
- return { sql, bindings };
119
- }
120
- function buildDistinctOn(parsed, primary) {
121
- const columns = [
122
- // If we have an order by, it needs to be included in the DISTINCT ON
123
- ...parsed.orderBys.map((ob) => (0, keywords_1.kqDot)(ob.alias, ob.column)),
124
- (0, keywords_1.kqDot)(primary.alias, "id"),
125
- ];
126
- return `DISTINCT ON (${columns.join(", ")}) `;
127
- }
128
- /** Creates the `WITH alias (...)` SQL for the given `cte`. */
129
- function buildCteSql(cte) {
130
- const maybeRecursive = cte.recursive ? "RECURSIVE " : "";
131
- const maybeColumns = cte.columns ? ` (${cte.columns.map((c) => (0, keywords_1.kq)(c.columnName)).join(", ")})` : "";
132
- const prefix = `WITH ${maybeRecursive}${cte.alias}${maybeColumns} AS`;
133
- if (cte.query.kind === "raw") {
134
- return {
135
- sql: `${prefix} (${(0, utils_1.cleanSql)(cte.query.sql)} )`,
136
- bindings: cte.query.bindings,
137
- };
138
- }
139
- else if (cte.query.kind === "ast") {
140
- const { sql, bindings } = buildRawQuery(cte.query.query, {});
141
- return { sql: `${prefix} (${sql})`, bindings };
142
- }
143
- else {
144
- (0, utils_1.assertNever)(cte.query);
145
- }
146
- }
147
- const as = (t) => `${(0, keywords_1.kq)(t.table)} AS ${(0, keywords_1.kq)(t.alias)}`;
148
- //# sourceMappingURL=buildRawQuery.js.map