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 +0,0 @@
1
- {"version":3,"file":"findOrCreateDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findOrCreateDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager, MaybeAbstractEntityConstructor, TaggedId } from "../EntityManager";
4
- export declare const lensOperation = "lens";
5
- /**
6
- * Loads lens paths via SQL.
7
- *
8
- * I.e. instead of loading `author.load(a => a.books.reviews)` by pulling all
9
- * Books into memory, we do a join from the Author to BookReviews.
10
- */
11
- export declare function lensDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, startIsArray: boolean, paths: string[]): DataLoader<TaggedId, T | T[]>;
12
- //# sourceMappingURL=lensDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lensDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/lensDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAqB3F,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,MAAM,EAAE,GACd,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CA4K/B"}
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lensOperation = void 0;
4
- exports.lensDataLoader = lensDataLoader;
5
- const EntityMetadata_1 = require("../EntityMetadata");
6
- const QueryParser_1 = require("../QueryParser");
7
- const keys_1 = require("../keys");
8
- const loadLens_1 = require("../loadLens");
9
- const utils_1 = require("../utils");
10
- exports.lensOperation = "lens";
11
- /**
12
- * Loads lens paths via SQL.
13
- *
14
- * I.e. instead of loading `author.load(a => a.books.reviews)` by pulling all
15
- * Books into memory, we do a join from the Author to BookReviews.
16
- */
17
- function lensDataLoader(em, type, startIsArray, paths) {
18
- // Batch lens loads by type + path to avoid N+1s
19
- const batchKey = `${type.name}-${paths.join("/")}`;
20
- return em.getLoader(exports.lensOperation, batchKey, async (sourceIds) => {
21
- const aliases = {};
22
- function getAlias(tableName) {
23
- const abbrev = (0, utils_1.abbreviation)(tableName);
24
- const i = aliases[abbrev] || 0;
25
- aliases[abbrev] = i + 1;
26
- return i === 0 ? abbrev : `${abbrev}${i}`;
27
- }
28
- // br.load(br => br.book.author)
29
- // select br.id as __source_id, a.*
30
- // from authors a
31
- // join books b ON b.author_id = a.id
32
- // join book_reviews br ON br.book_id = br.id
33
- // where br.id in (keys)
34
- // source=BR, target=Author, fields=books,bookReviews
35
- // a.load(a => a.books.reviews)
36
- // select b.author_id as __source_id, br.*
37
- // from book_reviews br
38
- // join books b on b.id = br.book_id
39
- // where b.author_id in (keys)
40
- const source = (0, EntityMetadata_1.getMetadata)(type);
41
- // Walk source -> paths -> the target, and return the target -> source fields
42
- const [target, fields] = (0, loadLens_1.mapPathsToTarget)(source, paths);
43
- let resultIsArray = startIsArray;
44
- const alias = getAlias(target.tableName);
45
- const selects = [`"${alias}".*`];
46
- const tables = [{ alias, join: "primary", table: target.tableName }];
47
- const conditions = [];
48
- const orderBys = [];
49
- const query = { selects, tables, condition: { kind: "exp", op: "and", conditions }, orderBys };
50
- (0, QueryParser_1.addTablePerClassJoinsAndClassTag)(query, target, alias, true);
51
- (0, QueryParser_1.maybeAddOrderBy)(query, target, alias);
52
- function maybeAddNotSoftDeleted(other, alias) {
53
- const { deletedAt } = (0, EntityMetadata_1.getBaseMeta)(other).timestampFields ?? {};
54
- if (deletedAt) {
55
- const column = other.allFields[deletedAt].serde?.columns[0];
56
- conditions.push({
57
- kind: "column",
58
- alias,
59
- column: column.columnName,
60
- dbType: column.dbType,
61
- cond: { kind: "is-null" },
62
- });
63
- }
64
- }
65
- let lastAlias = alias;
66
- fields.forEach(([, field], i) => {
67
- const isLast = i === fields.length - 1;
68
- switch (field.kind) {
69
- case "o2o":
70
- case "o2m": {
71
- // This is `Publisher.authors` and we want to join in the authors table,
72
- // so get the `Author.publisher` field to know the column name
73
- const other = field.otherMetadata();
74
- const m2o = other.allFields[field.otherFieldName];
75
- const alias = getAlias(other.tableName);
76
- tables.push({
77
- alias,
78
- join: "inner",
79
- table: other.tableName,
80
- col1: `${alias}.${m2o.serde.columns[0].columnName}`,
81
- col2: `${lastAlias}.id`,
82
- });
83
- maybeAddNotSoftDeleted(other, alias);
84
- if (isLast) {
85
- selects.push(`"${alias}".id as __source_id`);
86
- conditions.push({
87
- kind: "column",
88
- alias,
89
- column: "id",
90
- dbType: other.idDbType,
91
- cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) },
92
- });
93
- }
94
- lastAlias = alias;
95
- break;
96
- }
97
- case "m2o": {
98
- // This is `Book.author` and we want to join in the authors table
99
- const other = field.otherMetadata();
100
- const otherField = other.fields[field.otherFieldName];
101
- const alias = getAlias(other.tableName);
102
- if (!isLast) {
103
- tables.push({
104
- alias,
105
- join: "inner",
106
- table: other.tableName,
107
- col1: `${alias}.id`,
108
- col2: `${lastAlias}.${field.serde.columns[0].columnName}`,
109
- });
110
- maybeAddNotSoftDeleted(other, alias);
111
- }
112
- else {
113
- selects.push(`"${lastAlias}".${field.serde.columns[0].columnName} as __source_id`);
114
- conditions.push({
115
- kind: "column",
116
- alias: lastAlias,
117
- column: field.serde.columns[0].columnName,
118
- dbType: field.serde.columns[0].dbType,
119
- cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) },
120
- });
121
- // Need to add filter for soft-deleted...
122
- }
123
- resultIsArray = otherField.kind === "o2o" ? resultIsArray : true;
124
- lastAlias = alias;
125
- break;
126
- }
127
- case "m2m": {
128
- // This is `Book.tags` and we want to join through the m2m table
129
- const other = field.otherMetadata();
130
- const alias = getAlias(other.tableName);
131
- tables.push({
132
- alias: `${alias}_m2m`,
133
- join: "inner",
134
- table: field.joinTableName,
135
- col1: `${alias}_m2m.${field.columnNames[0]}`,
136
- col2: `${lastAlias}.id`,
137
- });
138
- // If this is the last table, we could skip this join like we do for m2os
139
- tables.push({
140
- alias,
141
- join: "inner",
142
- table: other.tableName,
143
- col1: `${alias}.id`,
144
- col2: `${alias}_m2m.${field.columnNames[1]}`,
145
- });
146
- maybeAddNotSoftDeleted(other, alias);
147
- if (isLast) {
148
- selects.push(`"${alias}".id as __source_id`);
149
- conditions.push({
150
- kind: "column",
151
- alias,
152
- column: "id",
153
- dbType: other.idDbType,
154
- cond: { kind: "in", value: (0, keys_1.deTagIds)(source, sourceIds) },
155
- });
156
- }
157
- resultIsArray = true;
158
- lastAlias = alias;
159
- break;
160
- }
161
- default:
162
- throw new Error("Unsupported field kind: " + field.kind);
163
- }
164
- });
165
- // Get back `__source_id, target.*`
166
- const rows = await em["executeFind"](target, exports.lensOperation, query, {});
167
- // Group the target entities (i.e. BookReview) by the source id we reached them from.
168
- const entitiesBySourceId = new Map([...(0, utils_1.groupBy)(rows, (row) => row["__source_id"]).entries()].map(([sourceId, rows]) => {
169
- // We may technically re-hydrate the same entity twice if it was reached
170
- // via multiple sources, but that should be fine/get deduped by hydrate.
171
- return [(0, keys_1.tagId)(source, sourceId), em.hydrate(target.cstr, rows)];
172
- }));
173
- // Re-order the output by the batched input
174
- return sourceIds.map((id) => {
175
- const result = entitiesBySourceId.get(id);
176
- return resultIsArray ? [...new Set(result ?? [])] : result?.[0];
177
- });
178
- });
179
- }
180
- //# sourceMappingURL=lensDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lensDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/lensDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager } from "../EntityManager";
4
- import { EntityMetadata } from "../EntityMetadata";
5
- import { LoadHint } from "../loadHints";
6
- export declare const loadOperation = "load";
7
- export declare function loadDataLoader<T extends Entity>(em: EntityManager, meta: EntityMetadata, overwriteExisting?: boolean): DataLoader<{
8
- entity: string;
9
- hint: LoadHint<T> | undefined;
10
- }, T | undefined>;
11
- //# sourceMappingURL=loadDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/loadDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,cAAc,EACpB,iBAAiB,GAAE,OAAe,GACjC,UAAU,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CA0C9E"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadOperation = void 0;
4
- exports.loadDataLoader = loadDataLoader;
5
- const BaseEntity_1 = require("../BaseEntity");
6
- const EntityManager_1 = require("../EntityManager");
7
- const HintTree_1 = require("../HintTree");
8
- const QueryParser_1 = require("../QueryParser");
9
- const keys_1 = require("../keys");
10
- const utils_1 = require("../utils");
11
- exports.loadOperation = "load";
12
- function loadDataLoader(em, meta, overwriteExisting = false) {
13
- // Batch different populate hints together and defer to the hint tree to do the right thing
14
- return em.getLoader(`${exports.loadOperation}-${overwriteExisting}`, meta.type, async (loads) => {
15
- const keys = loads.map((l) => (0, keys_1.keyToNumber)(meta, l.entity));
16
- const alias = (0, utils_1.abbreviation)(meta.tableName);
17
- const query = {
18
- selects: [`"${alias}".*`],
19
- tables: [{ alias, join: "primary", table: meta.tableName }],
20
- condition: {
21
- kind: "exp",
22
- op: "and",
23
- conditions: [{ kind: "column", alias, column: "id", dbType: meta.idDbType, cond: { kind: "in", value: keys } }],
24
- },
25
- orderBys: [{ alias, column: "id", order: "ASC" }],
26
- };
27
- (0, QueryParser_1.addTablePerClassJoinsAndClassTag)(query, meta, alias, true);
28
- // Inject preloading joins into the query if enabled
29
- const { preloader } = (0, EntityManager_1.getEmInternalApi)(em);
30
- const preloadHydrator = preloader && preloader.addPreloading(meta, (0, HintTree_1.buildHintTree)(loads), query);
31
- // Skip maybeAddOrderBy?
32
- // maybeAddNotSoftDeleted(conditions, meta, alias, "include");
33
- const rows = await em["executeFind"](meta, exports.loadOperation, query, {});
34
- // Pass overwriteExisting (which defaults to false) because it might be EntityManager.refresh calling us.
35
- const entities = em.hydrate(meta.cstr, rows, { overwriteExisting });
36
- preloadHydrator && preloadHydrator(rows, entities);
37
- // Return the results back in the same order as the keys
38
- const entitiesById = (0, utils_1.indexBy)(entities, (e) => e.idTagged);
39
- return loads.map(({ entity: id }) => {
40
- const entity = entitiesById.get(id);
41
- // We generally expect all of our entities to be found, but they may not for API calls like
42
- // `findOneOrFail` or for `EntityManager.refresh` when the entity has been deleted out from
43
- // under us.
44
- if (entity === undefined) {
45
- const existingEntity = em.findExistingInstance(id);
46
- if (existingEntity) {
47
- (0, BaseEntity_1.getInstanceData)(existingEntity).markDeletedBecauseNotFound();
48
- }
49
- }
50
- return entity;
51
- });
52
- });
53
- }
54
- //# sourceMappingURL=loadDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/loadDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager } from "../EntityManager";
4
- import { ManyToManyCollection } from "../index";
5
- export declare const manyToManyLoadOperation = "m2m-load";
6
- /** Batches m2m.load calls. */
7
- export declare function manyToManyDataLoader<T extends Entity, U extends Entity>(em: EntityManager, collection: ManyToManyCollection<T, U>): DataLoader<string, U[]>;
8
- //# sourceMappingURL=manyToManyDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manyToManyDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/manyToManyDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA6C,MAAM,UAAU,CAAC;AAG3F,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,8BAA8B;AAC9B,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACrE,EAAE,EAAE,aAAa,EACjB,UAAU,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GACrC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAMzB"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.manyToManyLoadOperation = void 0;
4
- exports.manyToManyDataLoader = manyToManyDataLoader;
5
- const EntityManager_1 = require("../EntityManager");
6
- const index_1 = require("../index");
7
- const utils_1 = require("../utils");
8
- exports.manyToManyLoadOperation = "m2m-load";
9
- /** Batches m2m.load calls. */
10
- function manyToManyDataLoader(em, collection) {
11
- // Note that we cache the dataloader on the joinTableName, and not
12
- // which side of the relation the `collection` is coming from, so
13
- // the `load` impl will have to handle keys that come from either
14
- // side of the relation.
15
- return em.getLoader(exports.manyToManyLoadOperation, collection.joinTableName, (keys) => load(collection, keys));
16
- }
17
- /**
18
- * Loads join rows (batched).
19
- *
20
- * I.e. we can load the `books_to_tags` join rows for multiple `Book`s at a time, or even
21
- * load `books_to_tags` for several `Book`s and several `Tag`s in a single SQL query.
22
- */
23
- async function load(collection, keys) {
24
- const { em } = collection.entity;
25
- // Keep a reference to our row to track updates/deletes
26
- const joinRows = (0, EntityManager_1.getEmInternalApi)(em).joinRows(collection);
27
- // Break out `column_id=string` keys out
28
- const columns = {};
29
- const tuples = [];
30
- keys.forEach((key) => {
31
- const [columnId, id] = key.split("=");
32
- (0, utils_1.getOrSet)(columns, columnId, []).push(id);
33
- tuples.push([columnId, id]);
34
- });
35
- const alias = (0, utils_1.abbreviation)(collection.joinTableName);
36
- const query = {
37
- selects: [`"${alias}".*`],
38
- tables: [{ alias, join: "primary", table: collection.joinTableName }],
39
- // Or together `where tag_id in (...)` or `book_id in (...)` if we're loading both sides simultaneously
40
- condition: {
41
- kind: "exp",
42
- op: "or",
43
- conditions: Object.entries(columns).map(([columnId, values]) => {
44
- // Pick the right meta i.e. tag_id --> TagMeta or book_id --> BookMeta
45
- const meta = collection.columnName == columnId ? (0, index_1.getMetadata)(collection.entity) : collection.otherMeta;
46
- return {
47
- kind: "column",
48
- alias,
49
- column: columnId,
50
- dbType: meta.idDbType,
51
- cond: { kind: "in", value: values.map((id) => (0, index_1.keyToNumber)(meta, id)) },
52
- };
53
- }),
54
- },
55
- orderBys: [{ alias, column: "id", order: "ASC" }],
56
- };
57
- // maybeAddNotSoftDeleted(conditions, meta, alias, "include");
58
- const rows = await em["executeFind"](collection.otherMeta, exports.manyToManyLoadOperation, query, {});
59
- // The order of column1/column2 doesn't really matter, i.e. if the opposite-side collection is later used
60
- const { columnName: column1, otherColumnName: column2 } = collection;
61
- // For each join table row, we use `EntityManager.load` to get both entities loaded.
62
- // This will be another 1 or 2 queries (depending on whether we're loading just
63
- // `book.getTags` (1 query to load new tags) or both `book.getTags` and `tag.getBooks
64
- // (1 query to load the new tags and 1 query to look the new books)).
65
- //
66
- // Eventually we could have this query join into the entity tables themselves, i.e.
67
- // `books` and `tags`, and use those results to hydrate the newly-found entities.
68
- await joinRows.loadRows(tuples, rows);
69
- // Map the requested keys, i.e. book_id=2 back to "the (other) tags for book 2".
70
- return tuples.map(([column, id]) => {
71
- return joinRows.getOthers(column, em.getEntity(id) ?? fail());
72
- });
73
- }
74
- //# sourceMappingURL=manyToManyDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manyToManyDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/manyToManyDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager } from "../EntityManager";
4
- import { ManyToManyCollection, ManyToManyLargeCollection } from "../index";
5
- export declare const manyToManyFindOperation = "m2m-find";
6
- /** Batches m2m.find/include calls (i.e. that don't fully load the m2m relation). */
7
- export declare function manyToManyFindDataLoader<T extends Entity, U extends Entity>(em: EntityManager, collection: ManyToManyCollection<T, U> | ManyToManyLargeCollection<T, U>): DataLoader<string, boolean>;
8
- //# sourceMappingURL=manyToManyFindDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manyToManyFindDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/manyToManyFindDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAe,oBAAoB,EAAE,yBAAyB,EAA0B,MAAM,UAAU,CAAC;AAGhH,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,oFAAoF;AACpF,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACzE,EAAE,EAAE,aAAa,EACjB,UAAU,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,GACvE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7B"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.manyToManyFindOperation = void 0;
4
- exports.manyToManyFindDataLoader = manyToManyFindDataLoader;
5
- const index_1 = require("../index");
6
- const utils_1 = require("../utils");
7
- exports.manyToManyFindOperation = "m2m-find";
8
- /** Batches m2m.find/include calls (i.e. that don't fully load the m2m relation). */
9
- function manyToManyFindDataLoader(em, collection) {
10
- return em.getLoader(exports.manyToManyFindOperation, collection.joinTableName, (keys) => load(collection, keys));
11
- }
12
- async function load(collection, keys) {
13
- const { joinTableName } = collection;
14
- const { em } = collection.entity;
15
- const alias = (0, utils_1.abbreviation)(joinTableName);
16
- const query = {
17
- selects: [`"${alias}".*`],
18
- tables: [{ alias, join: "primary", table: joinTableName }],
19
- // Or together `where (tag_id = X and book_id = Y)` or `(book_id = B and tag_id = A)`
20
- condition: {
21
- kind: "exp",
22
- op: "or",
23
- conditions: keys.map((key) => {
24
- const [one, two] = key.split(",");
25
- const [columnOne, idOne] = one.split("=");
26
- const [columnTwo, idTwo] = two.split("=");
27
- // Pick the right meta i.e. tag_id --> TagMeta or book_id --> BookMeta
28
- const [meta1, meta2] = collection.columnName === columnOne
29
- ? [collection.meta, collection.otherMeta]
30
- : [collection.otherMeta, collection.meta];
31
- return {
32
- kind: "exp",
33
- op: "and",
34
- conditions: [
35
- {
36
- kind: "column",
37
- alias,
38
- column: columnOne,
39
- dbType: meta1.idDbType,
40
- cond: { kind: "eq", value: (0, index_1.keyToNumber)(meta1, idOne) },
41
- },
42
- {
43
- kind: "column",
44
- alias,
45
- column: columnTwo,
46
- dbType: meta2.idDbType,
47
- cond: { kind: "eq", value: (0, index_1.keyToNumber)(meta2, idTwo) },
48
- },
49
- ],
50
- };
51
- }),
52
- },
53
- orderBys: [{ alias, column: "id", order: "ASC" }],
54
- };
55
- const rows = await em["executeFind"](collection.otherMeta, exports.manyToManyFindOperation, query, {});
56
- const column1 = collection.columnName;
57
- const column2 = collection.otherColumnName;
58
- const meta1 = collection.meta;
59
- const meta2 = collection.otherMeta;
60
- // Because keys might come from either side of the m2m relationship, build
61
- // a list of both `foo_id=2,bar_id=3` and `bar_id=3,foo_id=2` to make the
62
- // final return value just a map of `Set.has`.
63
- const found = new Set(rows.flatMap((dbRow) => {
64
- const a = `${column1}=${(0, index_1.tagId)(meta1, dbRow[column1])}`;
65
- const b = `${column2}=${(0, index_1.tagId)(meta2, dbRow[column2])}`;
66
- return [`${a},${b}`, `${b},${a}`];
67
- }));
68
- return keys.map((key) => found.has(key));
69
- }
70
- //# sourceMappingURL=manyToManyFindDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manyToManyFindDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/manyToManyFindDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager } from "../EntityManager";
4
- import { OneToManyCollection } from "../index";
5
- export declare const oneToManyLoadOperation = "o2m-load";
6
- export declare function oneToManyDataLoader<T extends Entity, U extends Entity>(em: EntityManager, collection: OneToManyCollection<T, U>): DataLoader<string, U[]>;
7
- //# sourceMappingURL=oneToManyDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oneToManyDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/oneToManyDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAKL,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACpE,EAAE,EAAE,aAAa,EACjB,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAyDzB"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.oneToManyLoadOperation = void 0;
4
- exports.oneToManyDataLoader = oneToManyDataLoader;
5
- const fields_1 = require("../fields");
6
- const index_1 = require("../index");
7
- const utils_1 = require("../utils");
8
- exports.oneToManyLoadOperation = "o2m-load";
9
- function oneToManyDataLoader(em, collection) {
10
- // The metadata for the entity that contains the collection, i.e. Author in author.books
11
- const { meta: oneMeta, fieldName } = collection;
12
- const batchKey = `${oneMeta.tableName}-${fieldName}`;
13
- return em.getLoader(exports.oneToManyLoadOperation, batchKey, async (_keys) => {
14
- // otherMeta is the entity being fetched, i.e. Book in author.books
15
- const { otherMeta: meta } = collection;
16
- (0, index_1.assertIdsAreTagged)(_keys);
17
- const keys = (0, index_1.deTagIds)(oneMeta, _keys);
18
- const alias = (0, utils_1.abbreviation)(meta.tableName);
19
- const o2m = oneMeta.allFields[collection.fieldName];
20
- const other = meta.allFields[collection.otherFieldName];
21
- const query = {
22
- selects: [`"${alias}".*`],
23
- tables: [{ alias, join: "primary", table: meta.tableName }],
24
- condition: {
25
- kind: "exp",
26
- op: "and",
27
- conditions: [
28
- {
29
- kind: "column",
30
- alias: `${alias}${other.aliasSuffix}`,
31
- column: o2m.otherColumnName,
32
- dbType: meta.idDbType,
33
- cond: { kind: "in", value: keys },
34
- },
35
- ],
36
- },
37
- orderBys: [{ alias, column: "id", order: "ASC" }],
38
- };
39
- (0, index_1.addTablePerClassJoinsAndClassTag)(query, meta, alias, true);
40
- // Skip maybeAddOrderBy b/c we'll sort in memory anyway
41
- // maybeAddNotSoftDeleted(conditions, meta, alias, "include");
42
- const rows = await em["executeFind"](meta, exports.oneToManyLoadOperation, query, {});
43
- const entities = em.hydrate(meta.cstr, rows);
44
- // .filter((e) => !e.isDeletedEntity);
45
- const entitiesById = (0, utils_1.groupBy)(entities, (entity) => {
46
- // TODO If this came from the UoW, it may not be an id? I.e. pre-insert.
47
- const ownerId = (0, index_1.maybeResolveReferenceToId)((0, fields_1.getField)(entity, collection.otherFieldName));
48
- // We almost always expect ownerId to be found, b/c normally we just hydrated this entity
49
- // directly from a SQL row with owner_id=X, however we might be loading this collection
50
- // (i.e. find all children where owner_id=X) when the SQL thinks a child is still pointing
51
- // at the parent (i.e. owner_id=X in the db), but our already-loaded child has had its
52
- // `child.owner` field either changed to some other owner, or set to undefined. In either,
53
- // that child should no longer be parent of this owner's collection, so just return a
54
- // dummy value.
55
- return ownerId ?? "dummyNoLongerOwned";
56
- });
57
- return _keys.map((k) => entitiesById.get(k) || []);
58
- });
59
- }
60
- //# sourceMappingURL=oneToManyDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oneToManyDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/oneToManyDataLoader.ts"],"names":[],"mappings":";;;AAiBA,kDA4DC;AA1ED,sCAAqC;AACrC,oCAQkB;AAClB,oCAAiD;AAEpC,QAAA,sBAAsB,GAAG,UAAU,CAAC;AAEjD,SAAgB,mBAAmB,CACjC,EAAiB,EACjB,UAAqC;IAErC,wFAAwF;IACxF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IAChD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IACrD,OAAO,EAAE,CAAC,SAAS,CAAC,8BAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACpE,mEAAmE;QACnE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAEvC,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAmB,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;YACzB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,KAAK;gBACT,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE;wBACrC,MAAM,EAAE,GAAG,CAAC,eAAe;wBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ;wBACrB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;qBAClC;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAClD,CAAC;QAEF,IAAA,wCAAgC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,uDAAuD;QACvD,8DAA8D;QAE9D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,8BAAsB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,sCAAsC;QAEtC,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAChD,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAA,iCAAyB,EAAC,IAAA,iBAAQ,EAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,yFAAyF;YACzF,uFAAuF;YACvF,0FAA0F;YAC1F,sFAAsF;YACtF,0FAA0F;YAC1F,qFAAqF;YACrF,eAAe;YACf,OAAO,OAAO,IAAI,oBAAoB,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager } from "../EntityManager";
4
- import { OneToManyCollection, OneToManyLargeCollection } from "../index";
5
- export declare const oneToManyFindOperation = "o2m-find";
6
- /** Batches o2m.find/include calls (i.e. that don't fully load the o2m relation). */
7
- export declare function oneToManyFindDataLoader<T extends Entity, U extends Entity>(em: EntityManager, collection: OneToManyCollection<T, U> | OneToManyLargeCollection<T, U>): DataLoader<string, U | undefined>;
8
- //# sourceMappingURL=oneToManyFindDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oneToManyFindDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/oneToManyFindDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EAIzB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACxE,EAAE,EAAE,aAAa,EACjB,UAAU,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GACrE,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAiEnC"}