joist-orm 1.294.0 → 2.0.1

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 (484) hide show
  1. package/build/codegen.d.ts +2 -0
  2. package/build/codegen.d.ts.map +1 -0
  3. package/build/codegen.js +29 -0
  4. package/build/codegen.js.map +1 -0
  5. package/build/drivers/PostgresDriver.d.ts +1 -4
  6. package/build/drivers/PostgresDriver.d.ts.map +1 -1
  7. package/build/drivers/PostgresDriver.js +49 -58
  8. package/build/drivers/PostgresDriver.js.map +1 -1
  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 -128
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +8 -284
  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-export.d.ts +2 -0
  26. package/build/pg-export.d.ts.map +1 -0
  27. package/build/pg-export.js +7 -0
  28. package/build/pg-export.js.map +1 -0
  29. package/build/pg-migrate.d.ts +2 -0
  30. package/build/pg-migrate.d.ts.map +1 -0
  31. package/build/pg-migrate.js +30 -0
  32. package/build/pg-migrate.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/package.json +94 -16
  38. package/build/AliasAssigner.d.ts +0 -7
  39. package/build/AliasAssigner.d.ts.map +0 -1
  40. package/build/AliasAssigner.js +0 -30
  41. package/build/AliasAssigner.js.map +0 -1
  42. package/build/Aliases.d.ts +0 -110
  43. package/build/Aliases.d.ts.map +0 -1
  44. package/build/Aliases.js +0 -456
  45. package/build/Aliases.js.map +0 -1
  46. package/build/BaseEntity.d.ts +0 -66
  47. package/build/BaseEntity.d.ts.map +0 -1
  48. package/build/BaseEntity.js +0 -120
  49. package/build/BaseEntity.js.map +0 -1
  50. package/build/ConditionBuilder.d.ts +0 -50
  51. package/build/ConditionBuilder.d.ts.map +0 -1
  52. package/build/ConditionBuilder.js +0 -178
  53. package/build/ConditionBuilder.js.map +0 -1
  54. package/build/Entity.d.ts +0 -38
  55. package/build/Entity.d.ts.map +0 -1
  56. package/build/Entity.js +0 -8
  57. package/build/Entity.js.map +0 -1
  58. package/build/EntityFields.d.ts +0 -37
  59. package/build/EntityFields.d.ts.map +0 -1
  60. package/build/EntityFields.js +0 -3
  61. package/build/EntityFields.js.map +0 -1
  62. package/build/EntityFilter.d.ts +0 -113
  63. package/build/EntityFilter.d.ts.map +0 -1
  64. package/build/EntityFilter.js +0 -3
  65. package/build/EntityFilter.js.map +0 -1
  66. package/build/EntityGraphQLFilter.d.ts +0 -51
  67. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  68. package/build/EntityGraphQLFilter.js +0 -54
  69. package/build/EntityGraphQLFilter.js.map +0 -1
  70. package/build/EntityManager.d.ts +0 -734
  71. package/build/EntityManager.d.ts.map +0 -1
  72. package/build/EntityManager.js +0 -2075
  73. package/build/EntityManager.js.map +0 -1
  74. package/build/EntityMetadata.d.ts +0 -185
  75. package/build/EntityMetadata.d.ts.map +0 -1
  76. package/build/EntityMetadata.js +0 -61
  77. package/build/EntityMetadata.js.map +0 -1
  78. package/build/EnumMetadata.d.ts +0 -15
  79. package/build/EnumMetadata.d.ts.map +0 -1
  80. package/build/EnumMetadata.js +0 -3
  81. package/build/EnumMetadata.js.map +0 -1
  82. package/build/FlushLock.d.ts +0 -26
  83. package/build/FlushLock.d.ts.map +0 -1
  84. package/build/FlushLock.js +0 -57
  85. package/build/FlushLock.js.map +0 -1
  86. package/build/HintTree.d.ts +0 -42
  87. package/build/HintTree.d.ts.map +0 -1
  88. package/build/HintTree.js +0 -64
  89. package/build/HintTree.js.map +0 -1
  90. package/build/IndexManager.d.ts +0 -30
  91. package/build/IndexManager.d.ts.map +0 -1
  92. package/build/IndexManager.js +0 -206
  93. package/build/IndexManager.js.map +0 -1
  94. package/build/InstanceData.d.ts +0 -59
  95. package/build/InstanceData.d.ts.map +0 -1
  96. package/build/InstanceData.js +0 -162
  97. package/build/InstanceData.js.map +0 -1
  98. package/build/IsLoadedCache.d.ts +0 -32
  99. package/build/IsLoadedCache.d.ts.map +0 -1
  100. package/build/IsLoadedCache.js +0 -80
  101. package/build/IsLoadedCache.js.map +0 -1
  102. package/build/JoinRows.d.ts +0 -75
  103. package/build/JoinRows.d.ts.map +0 -1
  104. package/build/JoinRows.js +0 -246
  105. package/build/JoinRows.js.map +0 -1
  106. package/build/PluginManager.d.ts +0 -90
  107. package/build/PluginManager.d.ts.map +0 -1
  108. package/build/PluginManager.js +0 -97
  109. package/build/PluginManager.js.map +0 -1
  110. package/build/QueryParser.d.ts +0 -271
  111. package/build/QueryParser.d.ts.map +0 -1
  112. package/build/QueryParser.js +0 -853
  113. package/build/QueryParser.js.map +0 -1
  114. package/build/QueryParser.pruning.d.ts +0 -5
  115. package/build/QueryParser.pruning.d.ts.map +0 -1
  116. package/build/QueryParser.pruning.js +0 -118
  117. package/build/QueryParser.pruning.js.map +0 -1
  118. package/build/QueryVisitor.d.ts +0 -19
  119. package/build/QueryVisitor.d.ts.map +0 -1
  120. package/build/QueryVisitor.js +0 -84
  121. package/build/QueryVisitor.js.map +0 -1
  122. package/build/ReactionsManager.d.ts +0 -84
  123. package/build/ReactionsManager.d.ts.map +0 -1
  124. package/build/ReactionsManager.js +0 -308
  125. package/build/ReactionsManager.js.map +0 -1
  126. package/build/Todo.d.ts +0 -31
  127. package/build/Todo.d.ts.map +0 -1
  128. package/build/Todo.js +0 -73
  129. package/build/Todo.js.map +0 -1
  130. package/build/caches.d.ts +0 -6
  131. package/build/caches.d.ts.map +0 -1
  132. package/build/caches.js +0 -42
  133. package/build/caches.js.map +0 -1
  134. package/build/changes.d.ts +0 -79
  135. package/build/changes.d.ts.map +0 -1
  136. package/build/changes.js +0 -251
  137. package/build/changes.js.map +0 -1
  138. package/build/config.d.ts +0 -237
  139. package/build/config.d.ts.map +0 -1
  140. package/build/config.js +0 -298
  141. package/build/config.js.map +0 -1
  142. package/build/config.test.d.ts +0 -2
  143. package/build/config.test.d.ts.map +0 -1
  144. package/build/config.test.js +0 -53
  145. package/build/config.test.js.map +0 -1
  146. package/build/configure.d.ts +0 -13
  147. package/build/configure.d.ts.map +0 -1
  148. package/build/configure.js +0 -329
  149. package/build/configure.js.map +0 -1
  150. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  151. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  152. package/build/dataloaders/findByUniqueDataLoader.js +0 -47
  153. package/build/dataloaders/findByUniqueDataLoader.js.map +0 -1
  154. package/build/dataloaders/findCountDataLoader.d.ts +0 -7
  155. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  156. package/build/dataloaders/findCountDataLoader.js +0 -74
  157. package/build/dataloaders/findCountDataLoader.js.map +0 -1
  158. package/build/dataloaders/findDataLoader.d.ts +0 -37
  159. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  160. package/build/dataloaders/findDataLoader.js +0 -337
  161. package/build/dataloaders/findDataLoader.js.map +0 -1
  162. package/build/dataloaders/findIdsDataLoader.d.ts +0 -7
  163. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  164. package/build/dataloaders/findIdsDataLoader.js +0 -74
  165. package/build/dataloaders/findIdsDataLoader.js.map +0 -1
  166. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  167. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  168. package/build/dataloaders/findOrCreateDataLoader.js +0 -174
  169. package/build/dataloaders/findOrCreateDataLoader.js.map +0 -1
  170. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  171. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  172. package/build/dataloaders/lensDataLoader.js +0 -180
  173. package/build/dataloaders/lensDataLoader.js.map +0 -1
  174. package/build/dataloaders/loadDataLoader.d.ts +0 -11
  175. package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
  176. package/build/dataloaders/loadDataLoader.js +0 -54
  177. package/build/dataloaders/loadDataLoader.js.map +0 -1
  178. package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
  179. package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
  180. package/build/dataloaders/manyToManyDataLoader.js +0 -74
  181. package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
  182. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  183. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  184. package/build/dataloaders/manyToManyFindDataLoader.js +0 -70
  185. package/build/dataloaders/manyToManyFindDataLoader.js.map +0 -1
  186. package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
  187. package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
  188. package/build/dataloaders/oneToManyDataLoader.js +0 -60
  189. package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
  190. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  191. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  192. package/build/dataloaders/oneToManyFindDataLoader.js +0 -71
  193. package/build/dataloaders/oneToManyFindDataLoader.js.map +0 -1
  194. package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
  195. package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
  196. package/build/dataloaders/oneToOneDataLoader.js +0 -59
  197. package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
  198. package/build/dataloaders/populateDataLoader.d.ts +0 -13
  199. package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
  200. package/build/dataloaders/populateDataLoader.js +0 -148
  201. package/build/dataloaders/populateDataLoader.js.map +0 -1
  202. package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
  203. package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
  204. package/build/dataloaders/recursiveChildrenDataLoader.js +0 -77
  205. package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
  206. package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
  207. package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
  208. package/build/dataloaders/recursiveParentsDataLoader.js +0 -59
  209. package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
  210. package/build/defaults.d.ts +0 -54
  211. package/build/defaults.d.ts.map +0 -1
  212. package/build/defaults.js +0 -282
  213. package/build/defaults.js.map +0 -1
  214. package/build/driverApi.d.ts +0 -19
  215. package/build/driverApi.d.ts.map +0 -1
  216. package/build/driverApi.js +0 -17
  217. package/build/driverApi.js.map +0 -1
  218. package/build/drivers/Driver.d.ts +0 -26
  219. package/build/drivers/Driver.d.ts.map +0 -1
  220. package/build/drivers/Driver.js +0 -3
  221. package/build/drivers/Driver.js.map +0 -1
  222. package/build/drivers/EntityWriter.d.ts +0 -64
  223. package/build/drivers/EntityWriter.d.ts.map +0 -1
  224. package/build/drivers/EntityWriter.js +0 -237
  225. package/build/drivers/EntityWriter.js.map +0 -1
  226. package/build/drivers/IdAssigner.d.ts +0 -50
  227. package/build/drivers/IdAssigner.d.ts.map +0 -1
  228. package/build/drivers/IdAssigner.js +0 -133
  229. package/build/drivers/IdAssigner.js.map +0 -1
  230. package/build/drivers/buildRawQuery.d.ts +0 -20
  231. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  232. package/build/drivers/buildRawQuery.js +0 -148
  233. package/build/drivers/buildRawQuery.js.map +0 -1
  234. package/build/drivers/buildUtils.d.ts +0 -4
  235. package/build/drivers/buildUtils.d.ts.map +0 -1
  236. package/build/drivers/buildUtils.js +0 -79
  237. package/build/drivers/buildUtils.js.map +0 -1
  238. package/build/drivers/index.d.ts +0 -5
  239. package/build/drivers/index.d.ts.map +0 -1
  240. package/build/drivers/index.js.map +0 -1
  241. package/build/fields.d.ts +0 -24
  242. package/build/fields.d.ts.map +0 -1
  243. package/build/fields.js +0 -162
  244. package/build/fields.js.map +0 -1
  245. package/build/getProperties.d.ts +0 -28
  246. package/build/getProperties.d.ts.map +0 -1
  247. package/build/getProperties.js +0 -141
  248. package/build/getProperties.js.map +0 -1
  249. package/build/json.d.ts +0 -77
  250. package/build/json.d.ts.map +0 -1
  251. package/build/json.js +0 -116
  252. package/build/json.js.map +0 -1
  253. package/build/k.d.ts +0 -2
  254. package/build/k.d.ts.map +0 -1
  255. package/build/k.js +0 -9
  256. package/build/k.js.map +0 -1
  257. package/build/keys.d.ts +0 -49
  258. package/build/keys.d.ts.map +0 -1
  259. package/build/keys.js +0 -195
  260. package/build/keys.js.map +0 -1
  261. package/build/keywords.d.ts +0 -5
  262. package/build/keywords.d.ts.map +0 -1
  263. package/build/keywords.js +0 -124
  264. package/build/keywords.js.map +0 -1
  265. package/build/loadHints.d.ts +0 -112
  266. package/build/loadHints.d.ts.map +0 -1
  267. package/build/loadHints.js +0 -75
  268. package/build/loadHints.js.map +0 -1
  269. package/build/loadLens.d.ts +0 -66
  270. package/build/loadLens.d.ts.map +0 -1
  271. package/build/loadLens.js +0 -287
  272. package/build/loadLens.js.map +0 -1
  273. package/build/logging/FactoryLogger.d.ts +0 -24
  274. package/build/logging/FactoryLogger.d.ts.map +0 -1
  275. package/build/logging/FactoryLogger.js +0 -77
  276. package/build/logging/FactoryLogger.js.map +0 -1
  277. package/build/logging/FieldLogger.d.ts +0 -27
  278. package/build/logging/FieldLogger.d.ts.map +0 -1
  279. package/build/logging/FieldLogger.js +0 -69
  280. package/build/logging/FieldLogger.js.map +0 -1
  281. package/build/logging/ReactionLogger.d.ts +0 -23
  282. package/build/logging/ReactionLogger.d.ts.map +0 -1
  283. package/build/logging/ReactionLogger.js +0 -65
  284. package/build/logging/ReactionLogger.js.map +0 -1
  285. package/build/newEntity.d.ts +0 -45
  286. package/build/newEntity.d.ts.map +0 -1
  287. package/build/newEntity.js +0 -106
  288. package/build/newEntity.js.map +0 -1
  289. package/build/newTestInstance.d.ts +0 -193
  290. package/build/newTestInstance.d.ts.map +0 -1
  291. package/build/newTestInstance.js +0 -738
  292. package/build/newTestInstance.js.map +0 -1
  293. package/build/normalizeHints.d.ts +0 -16
  294. package/build/normalizeHints.d.ts.map +0 -1
  295. package/build/normalizeHints.js +0 -31
  296. package/build/normalizeHints.js.map +0 -1
  297. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  298. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  299. package/build/plugins/ImmutableEntitiesPlugin.js +0 -21
  300. package/build/plugins/ImmutableEntitiesPlugin.js.map +0 -1
  301. package/build/plugins/PreloadPlugin.d.ts +0 -69
  302. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  303. package/build/plugins/PreloadPlugin.js +0 -3
  304. package/build/plugins/PreloadPlugin.js.map +0 -1
  305. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  306. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  307. package/build/preloading/JsonAggregatePreloader.js +0 -238
  308. package/build/preloading/JsonAggregatePreloader.js.map +0 -1
  309. package/build/preloading/canPreload.d.ts +0 -3
  310. package/build/preloading/canPreload.d.ts.map +0 -1
  311. package/build/preloading/canPreload.js +0 -21
  312. package/build/preloading/canPreload.js.map +0 -1
  313. package/build/preloading/partitionHint.d.ts +0 -5
  314. package/build/preloading/partitionHint.d.ts.map +0 -1
  315. package/build/preloading/partitionHint.js +0 -56
  316. package/build/preloading/partitionHint.js.map +0 -1
  317. package/build/reactiveHints.d.ts +0 -129
  318. package/build/reactiveHints.d.ts.map +0 -1
  319. package/build/reactiveHints.js +0 -458
  320. package/build/reactiveHints.js.map +0 -1
  321. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  322. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  323. package/build/relations/AbstractPropertyImpl.js +0 -15
  324. package/build/relations/AbstractPropertyImpl.js.map +0 -1
  325. package/build/relations/AbstractRelationImpl.d.ts +0 -36
  326. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  327. package/build/relations/AbstractRelationImpl.js +0 -19
  328. package/build/relations/AbstractRelationImpl.js.map +0 -1
  329. package/build/relations/Collection.d.ts +0 -28
  330. package/build/relations/Collection.d.ts.map +0 -1
  331. package/build/relations/Collection.js +0 -18
  332. package/build/relations/Collection.js.map +0 -1
  333. package/build/relations/CustomCollection.d.ts +0 -69
  334. package/build/relations/CustomCollection.d.ts.map +0 -1
  335. package/build/relations/CustomCollection.js +0 -166
  336. package/build/relations/CustomCollection.js.map +0 -1
  337. package/build/relations/CustomReference.d.ts +0 -71
  338. package/build/relations/CustomReference.d.ts.map +0 -1
  339. package/build/relations/CustomReference.js +0 -152
  340. package/build/relations/CustomReference.js.map +0 -1
  341. package/build/relations/LargeCollection.d.ts +0 -19
  342. package/build/relations/LargeCollection.d.ts.map +0 -1
  343. package/build/relations/LargeCollection.js +0 -3
  344. package/build/relations/LargeCollection.js.map +0 -1
  345. package/build/relations/ManyToManyCollection.d.ts +0 -44
  346. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  347. package/build/relations/ManyToManyCollection.js +0 -268
  348. package/build/relations/ManyToManyCollection.js.map +0 -1
  349. package/build/relations/ManyToManyLargeCollection.d.ts +0 -30
  350. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  351. package/build/relations/ManyToManyLargeCollection.js +0 -119
  352. package/build/relations/ManyToManyLargeCollection.js.map +0 -1
  353. package/build/relations/ManyToOneReference.d.ts +0 -121
  354. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  355. package/build/relations/ManyToOneReference.js +0 -389
  356. package/build/relations/ManyToOneReference.js.map +0 -1
  357. package/build/relations/OneToManyCollection.d.ts +0 -58
  358. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  359. package/build/relations/OneToManyCollection.js +0 -347
  360. package/build/relations/OneToManyCollection.js.map +0 -1
  361. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  362. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  363. package/build/relations/OneToManyLargeCollection.js +0 -102
  364. package/build/relations/OneToManyLargeCollection.js.map +0 -1
  365. package/build/relations/OneToOneReference.d.ts +0 -93
  366. package/build/relations/OneToOneReference.d.ts.map +0 -1
  367. package/build/relations/OneToOneReference.js +0 -228
  368. package/build/relations/OneToOneReference.js.map +0 -1
  369. package/build/relations/PolymorphicReference.d.ts +0 -89
  370. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  371. package/build/relations/PolymorphicReference.js +0 -244
  372. package/build/relations/PolymorphicReference.js.map +0 -1
  373. package/build/relations/ReactiveField.d.ts +0 -87
  374. package/build/relations/ReactiveField.d.ts.map +0 -1
  375. package/build/relations/ReactiveField.js +0 -149
  376. package/build/relations/ReactiveField.js.map +0 -1
  377. package/build/relations/ReactiveGetter.d.ts +0 -30
  378. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  379. package/build/relations/ReactiveGetter.js +0 -38
  380. package/build/relations/ReactiveGetter.js.map +0 -1
  381. package/build/relations/ReactiveManyToMany.d.ts +0 -56
  382. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  383. package/build/relations/ReactiveManyToMany.js +0 -243
  384. package/build/relations/ReactiveManyToMany.js.map +0 -1
  385. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -47
  386. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  387. package/build/relations/ReactiveManyToManyOtherSide.js +0 -155
  388. package/build/relations/ReactiveManyToManyOtherSide.js.map +0 -1
  389. package/build/relations/ReactiveQueryField.d.ts +0 -41
  390. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  391. package/build/relations/ReactiveQueryField.js +0 -125
  392. package/build/relations/ReactiveQueryField.js.map +0 -1
  393. package/build/relations/ReactiveReference.d.ts +0 -119
  394. package/build/relations/ReactiveReference.d.ts.map +0 -1
  395. package/build/relations/ReactiveReference.js +0 -333
  396. package/build/relations/ReactiveReference.js.map +0 -1
  397. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  398. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  399. package/build/relations/ReadOnlyCollection.js +0 -15
  400. package/build/relations/ReadOnlyCollection.js.map +0 -1
  401. package/build/relations/RecursiveCollection.d.ts +0 -84
  402. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  403. package/build/relations/RecursiveCollection.js +0 -296
  404. package/build/relations/RecursiveCollection.js.map +0 -1
  405. package/build/relations/Reference.d.ts +0 -35
  406. package/build/relations/Reference.d.ts.map +0 -1
  407. package/build/relations/Reference.js +0 -21
  408. package/build/relations/Reference.js.map +0 -1
  409. package/build/relations/Relation.d.ts +0 -14
  410. package/build/relations/Relation.d.ts.map +0 -1
  411. package/build/relations/Relation.js +0 -12
  412. package/build/relations/Relation.js.map +0 -1
  413. package/build/relations/hasAsyncMethod.d.ts +0 -27
  414. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  415. package/build/relations/hasAsyncMethod.js +0 -47
  416. package/build/relations/hasAsyncMethod.js.map +0 -1
  417. package/build/relations/hasAsyncProperty.d.ts +0 -49
  418. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  419. package/build/relations/hasAsyncProperty.js +0 -98
  420. package/build/relations/hasAsyncProperty.js.map +0 -1
  421. package/build/relations/hasManyDerived.d.ts +0 -22
  422. package/build/relations/hasManyDerived.d.ts.map +0 -1
  423. package/build/relations/hasManyDerived.js +0 -32
  424. package/build/relations/hasManyDerived.js.map +0 -1
  425. package/build/relations/hasManyThrough.d.ts +0 -10
  426. package/build/relations/hasManyThrough.d.ts.map +0 -1
  427. package/build/relations/hasManyThrough.js +0 -24
  428. package/build/relations/hasManyThrough.js.map +0 -1
  429. package/build/relations/hasOneDerived.d.ts +0 -12
  430. package/build/relations/hasOneDerived.d.ts.map +0 -1
  431. package/build/relations/hasOneDerived.js +0 -24
  432. package/build/relations/hasOneDerived.js.map +0 -1
  433. package/build/relations/hasOneThrough.d.ts +0 -10
  434. package/build/relations/hasOneThrough.d.ts.map +0 -1
  435. package/build/relations/hasOneThrough.js +0 -24
  436. package/build/relations/hasOneThrough.js.map +0 -1
  437. package/build/relations/index.d.ts +0 -28
  438. package/build/relations/index.d.ts.map +0 -1
  439. package/build/relations/index.js +0 -88
  440. package/build/relations/index.js.map +0 -1
  441. package/build/rules.d.ts +0 -123
  442. package/build/rules.d.ts.map +0 -1
  443. package/build/rules.js +0 -231
  444. package/build/rules.js.map +0 -1
  445. package/build/runtimeConfig.d.ts +0 -17
  446. package/build/runtimeConfig.d.ts.map +0 -1
  447. package/build/runtimeConfig.js +0 -18
  448. package/build/runtimeConfig.js.map +0 -1
  449. package/build/serde.d.ts +0 -277
  450. package/build/serde.d.ts.map +0 -1
  451. package/build/serde.js +0 -517
  452. package/build/serde.js.map +0 -1
  453. package/build/temporal.d.ts +0 -16
  454. package/build/temporal.d.ts.map +0 -1
  455. package/build/temporal.js +0 -48
  456. package/build/temporal.js.map +0 -1
  457. package/build/temporalMappers.d.ts +0 -25
  458. package/build/temporalMappers.d.ts.map +0 -1
  459. package/build/temporalMappers.js +0 -59
  460. package/build/temporalMappers.js.map +0 -1
  461. package/build/trusted.d.ts +0 -5
  462. package/build/trusted.d.ts.map +0 -1
  463. package/build/trusted.js +0 -15
  464. package/build/trusted.js.map +0 -1
  465. package/build/typeMap.d.ts +0 -68
  466. package/build/typeMap.d.ts.map +0 -1
  467. package/build/typeMap.js +0 -3
  468. package/build/typeMap.js.map +0 -1
  469. package/build/unnest.d.ts +0 -13
  470. package/build/unnest.d.ts.map +0 -1
  471. package/build/unnest.js +0 -85
  472. package/build/unnest.js.map +0 -1
  473. package/build/upsert.d.ts +0 -42
  474. package/build/upsert.d.ts.map +0 -1
  475. package/build/upsert.js +0 -265
  476. package/build/upsert.js.map +0 -1
  477. package/build/utils.d.ts +0 -58
  478. package/build/utils.d.ts.map +0 -1
  479. package/build/utils.js +0 -236
  480. package/build/utils.js.map +0 -1
  481. package/build/withLoaded.d.ts +0 -56
  482. package/build/withLoaded.d.ts.map +0 -1
  483. package/build/withLoaded.js +0 -76
  484. package/build/withLoaded.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"newTestInstance.js","sourceRoot":"","sources":["../src/newTestInstance.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { Entity } from "./Entity";
2
- import { LoadHint } from "./loadHints";
3
- import { ReactiveHint } from "./reactiveHints";
4
- /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
5
- export type NormalizeHint<H> = H extends string ? Record<DropSuffix<H>, {}> : H extends ReadonlyArray<any> ? Record<DropSuffix<H[number]>, {}> : {
6
- [K in keyof H as DropSuffix<K>]: H[K];
7
- };
8
- /** The separator between field names and the modified; we allow `_` for keys in hashes. */
9
- export type SuffixSeperator = ":" | "_";
10
- export type DropSuffix<K> = K extends `${infer key}${SuffixSeperator}ro` ? key : K;
11
- export declare const suffixRe: RegExp;
12
- /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
13
- export declare function normalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object;
14
- /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
15
- export declare function deepNormalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object;
16
- //# sourceMappingURL=normalizeHints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizeHints.d.ts","sourceRoot":"","sources":["../src/normalizeHints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,gFAAgF;AAChF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GACzB,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,GAC1B,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GACjC;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEhD,2FAA2F;AAC3F,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,CAAC;AAExC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,GAAG,eAAe,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;AAEnF,eAAO,MAAM,QAAQ,QAAa,CAAC;AAEnC,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAQ3F;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAQ/F"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.suffixRe = void 0;
4
- exports.normalizeHint = normalizeHint;
5
- exports.deepNormalizeHint = deepNormalizeHint;
6
- exports.suffixRe = /[:|_]ro$/;
7
- /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
8
- function normalizeHint(hint) {
9
- if (typeof hint === "string") {
10
- return { [hint]: {} };
11
- }
12
- else if (Array.isArray(hint)) {
13
- return Object.fromEntries(hint.map((field) => [field, {}]));
14
- }
15
- else {
16
- return hint;
17
- }
18
- }
19
- /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
20
- function deepNormalizeHint(hint) {
21
- if (typeof hint === "string") {
22
- return { [hint]: {} };
23
- }
24
- else if (Array.isArray(hint)) {
25
- return Object.fromEntries(hint.map((field) => [field, {}]));
26
- }
27
- else {
28
- return Object.fromEntries(Object.entries(hint).map(([key, value]) => [key, deepNormalizeHint(value)]));
29
- }
30
- }
31
- //# sourceMappingURL=normalizeHints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizeHints.js","sourceRoot":"","sources":["../src/normalizeHints.ts"],"names":[],"mappings":";;;AAmBA,sCAQC;AAGD,8CAQC;AAtBY,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEnC,gFAAgF;AAChF,SAAgB,aAAa,CAAmB,IAAmC;IACjF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAgB,iBAAiB,CAAmB,IAAmC;IACrF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import { Entity } from "../Entity";
2
- import { Plugin } from "../PluginManager";
3
- export declare class ImmutableEntitiesPlugin extends Plugin {
4
- readonly entities: Set<Entity>;
5
- beforeSetField(entity: Entity, field: string, newValue: any): void;
6
- addEntity(entity: Entity): void;
7
- removeEntity(entity: Entity): void;
8
- }
9
- //# sourceMappingURL=ImmutableEntitiesPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImmutableEntitiesPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,qBAAa,uBAAwB,SAAQ,MAAM;IACjD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAE3C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAMlE,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,YAAY,CAAC,MAAM,EAAE,MAAM;CAG5B"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImmutableEntitiesPlugin = void 0;
4
- const PluginManager_1 = require("../PluginManager");
5
- const utils_1 = require("../utils");
6
- class ImmutableEntitiesPlugin extends PluginManager_1.Plugin {
7
- entities = new Set();
8
- beforeSetField(entity, field, newValue) {
9
- if (this.entities.has(entity)) {
10
- (0, utils_1.fail)(`Cannot set field ${field} on immutable entity ${entity}`);
11
- }
12
- }
13
- addEntity(entity) {
14
- this.entities.add(entity);
15
- }
16
- removeEntity(entity) {
17
- this.entities.delete(entity);
18
- }
19
- }
20
- exports.ImmutableEntitiesPlugin = ImmutableEntitiesPlugin;
21
- //# sourceMappingURL=ImmutableEntitiesPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImmutableEntitiesPlugin.js","sourceRoot":"","sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"names":[],"mappings":";;;AACA,oDAA0C;AAC1C,oCAAgC;AAEhC,MAAa,uBAAwB,SAAQ,sBAAM;IACxC,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE3C,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,QAAa;QACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,IAAA,YAAI,EAAC,oBAAoB,KAAK,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAhBD,0DAgBC"}
@@ -1,69 +0,0 @@
1
- import { Entity } from "../Entity";
2
- import { EntityMetadata } from "../EntityMetadata";
3
- import { EntityOrId, HintNode } from "../HintTree";
4
- import { LoadHint, NestedLoadHint } from "../loadHints";
5
- import { LateralJoinTable, ParsedFindQuery } from "../QueryParser";
6
- /**
7
- * This is a plugin API dedicated to preloading data for subtrees of entities.
8
- *
9
- * I.e. when evaluating `em.load(Author, "a:1", { books: "reviews" })`, loading both the
10
- * Author `a:1` plus all the author's books, and all the author's books' reviews, in a single
11
- * SQL call.
12
- *
13
- * Implementations of this API should execute the SQL queries necessary to load the data, and
14
- * then store the preloaded data in the `EntityManager.preloadedRelations` cache, which the
15
- * `OneToManyCollection`, `ManyToOneReference`, etc. relation implementations check before
16
- * issuing their own `.load()` SQL calls.
17
- */
18
- export interface PreloadPlugin {
19
- /**
20
- * Given a single load hint, partitions it into the sql-able and non-sql-able parts.
21
- *
22
- * The sql-able hints will later be passed to `preloadPopulate` to fetch as a single
23
- * SQL call.
24
- */
25
- partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
26
- /**
27
- * Given an existing `ParsedFindQuery`, adds extra selects & joins directly
28
- * to the `query` that will preload any child data requested in `tree`.
29
- *
30
- * The caller is still responsible for executing `query`, and then also
31
- * calling the `PreloadHydrator` with the database results for the preload
32
- * plugin to instantiate & populate the EM's preload cache.
33
- *
34
- * Note that the actual relations themselves won't be loaded, just the preload
35
- * cache populated to make the relation `.preload()` / `.load()` fast.
36
- */
37
- addPreloading<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): PreloadHydrator | undefined;
38
- /**
39
- * Given an anticipated `ParsedFindQuery`, returns lower-level `JoinResult` that
40
- * are the fragments of SELECTs and JOINs that the caller can work into their custom
41
- * query.
42
- *
43
- * This is primarily for callers who aren't going to call `driver.executeFind`, but instead
44
- * are crafting their own SQL query for `driver.executeQuery` (basically this is `em.findAll`
45
- * because it uses a complicated CTE + join strategy to do batching).
46
- */
47
- getPreloadJoins<T extends Entity>(meta: EntityMetadata, tree: HintNode<EntityOrId>, query: ParsedFindQuery): JoinResult[];
48
- }
49
- /**
50
- * Given a list of `rows`, and the already-hydrated `entities` for each row, reads the preload-specific
51
- * columns out of the `rows` result set, and pushes them into the EM preload cache, hydrating
52
- * the child entities in the process, but not marking any relations as loaded.
53
- *
54
- * The order of `rows` and `entities` must match.
55
- */
56
- export type PreloadHydrator = (rows: any[], entities: any[]) => void;
57
- /** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */
58
- export type JoinResult = {
59
- /** The select clause(s) for this join, i.e. `b._ as _b` or `c._ as _c`. */
60
- selects: {
61
- value: string;
62
- as: string;
63
- }[];
64
- /** The SQL for this child's lateral join, which itself might have recursive lateral joins. */
65
- join: LateralJoinTable;
66
- /** The processor for this child's lateral join, which itself might recursively processor subjoins. */
67
- hydrator: PreloadHydrator;
68
- };
69
- //# sourceMappingURL=PreloadPlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PreloadPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/PreloadPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,aAAa,CACX,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAClB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAEtE;;;;;;;;;;OAUG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC1B,KAAK,EAAE,eAAe,GACrB,eAAe,GAAG,SAAS,CAAC;IAE/B;;;;;;;;OAQG;IACH,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC1B,KAAK,EAAE,eAAe,GACrB,UAAU,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAErE,yGAAyG;AACzG,MAAM,MAAM,UAAU,GAAG;IACvB,2EAA2E;IAC3E,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,8FAA8F;IAC9F,IAAI,EAAE,gBAAgB,CAAC;IACvB,sGAAsG;IACtG,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=PreloadPlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PreloadPlugin.js","sourceRoot":"","sources":["../../src/plugins/PreloadPlugin.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { Entity } from "../Entity";
2
- import { EntityMetadata } from "../EntityMetadata";
3
- import { HintNode } from "../HintTree";
4
- import { LoadHint, NestedLoadHint } from "../loadHints";
5
- import { JoinResult, PreloadHydrator, PreloadPlugin } from "../plugins/PreloadPlugin";
6
- import { ParsedFindQuery } from "../QueryParser";
7
- /**
8
- * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
9
- * to preload/reduce a subtree of data while still being a single row of data.
10
- */
11
- export declare class JsonAggregatePreloader implements PreloadPlugin {
12
- partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
13
- addPreloading<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): PreloadHydrator | undefined;
14
- getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[];
15
- }
16
- //# sourceMappingURL=JsonAggregatePreloader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonAggregatePreloader.d.ts","sourceRoot":"","sources":["../../src/preloading/JsonAggregatePreloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAA0C,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIzF;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,aAAa;IAC1D,aAAa,CACX,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAClB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAIrE,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,KAAK,EAAE,eAAe,GACrB,eAAe,GAAG,SAAS;IA6B9B,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,EAAE;CAsBjH"}
@@ -1,238 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonAggregatePreloader = void 0;
4
- const AliasAssigner_1 = require("../AliasAssigner");
5
- const ConditionBuilder_1 = require("../ConditionBuilder");
6
- const EntityManager_1 = require("../EntityManager");
7
- const keys_1 = require("../keys");
8
- const keywords_1 = require("../keywords");
9
- const QueryParser_1 = require("../QueryParser");
10
- const canPreload_1 = require("./canPreload");
11
- const partitionHint_1 = require("./partitionHint");
12
- /**
13
- * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`
14
- * to preload/reduce a subtree of data while still being a single row of data.
15
- */
16
- class JsonAggregatePreloader {
17
- partitionHint(meta, hint) {
18
- return (0, partitionHint_1.partitionHint)(meta, hint);
19
- }
20
- addPreloading(meta, root, query) {
21
- const { getAlias } = new AliasAssigner_1.AliasAssigner(query);
22
- // Get the existing primary alias
23
- const alias = (0, QueryParser_1.getTables)(query)[0].alias;
24
- const joins = calcLateralJoins(getAlias, { tree: root, alias, meta }, root, alias, meta);
25
- // If there are no sql-based preload in the hints, just return
26
- if (joins.length === 0)
27
- return undefined;
28
- // Include the aggregate `books._ as books`, `comments._ as comments`
29
- for (const { alias, join } of joins) {
30
- query.selects.push({
31
- sql: `${(0, keywords_1.kqDot)(alias, "_")} as ${(0, keywords_1.kq)(alias)}`,
32
- aliases: [alias],
33
- bindings: [],
34
- });
35
- query.tables.push(join);
36
- }
37
- return (rows, entities) => {
38
- rows.forEach((row, i) => {
39
- const parent = entities[i];
40
- for (const { alias, hydrator } of joins) {
41
- hydrator(parent, parent, row[alias] ?? []);
42
- }
43
- });
44
- };
45
- }
46
- getPreloadJoins(meta, root, query) {
47
- const { getAlias } = new AliasAssigner_1.AliasAssigner(query);
48
- // Get the existing primary alias
49
- const alias = (0, QueryParser_1.getTables)(query)[0].alias;
50
- const joins = calcLateralJoins(getAlias, { tree: root, alias, meta }, root, alias, meta);
51
- // If there are no sql-based preload in the hints, just return
52
- // Adapt our json aggregate joins to the higher-level JoinResult
53
- return joins.map((join) => {
54
- return {
55
- selects: [{ value: (0, keywords_1.kqDot)(join.alias, "_"), as: join.alias }],
56
- join: join.join,
57
- hydrator: (rows, entities) => {
58
- rows.forEach((row, i) => {
59
- const parent = entities[i];
60
- join.hydrator(parent, parent, row[join.alias] ?? []);
61
- });
62
- },
63
- };
64
- });
65
- }
66
- }
67
- exports.JsonAggregatePreloader = JsonAggregatePreloader;
68
- /**
69
- * For a given hint tree `hint`, finds all SQL-able relations and preloads them.
70
- *
71
- * Specifically we use `json_agg` & `json_build_array` to `CROSS LATERAL JOIN`
72
- * children/grand children back as arbitrarily-deeply nested arrays, and then
73
- * stash the results in the `EntityManager` `joinLoadedRelations` cache, which
74
- * each join-instrumented relation will check before making its SQL calls.
75
- *
76
- * https://sqlfum.pt/?n=60&indent=2&spaces=1&simplify=1&align=0&case=lower&sql=c2VsZWN0IGEuaWQsIGIuXyBhcyBiLCBjMS5fIGFzIGMxLCBhMS5fIGFzIGExIGZyb20gYXV0aG9ycyBhIGNyb3NzIGpvaW4gbGF0ZXJhbCAoIHNlbGVjdCBqc29uX2FnZyhqc29uX2J1aWxkX2FycmF5KGIuaWQsIGIudGl0bGUsIGIuIm9yZGVyIiwgYi5kZWxldGVkX2F0LCBiLmNyZWF0ZWRfYXQsIGIudXBkYXRlZF9hdCwgYi5hdXRob3JfaWQsIGJyLl8pKSBhcyBfIGZyb20gYm9va3MgYiBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShici5pZCwgYnIucmF0aW5nLCBici5pc19wdWJsaWMsIGJyLmlzX3Rlc3QsIGJyLmNyZWF0ZWRfYXQsIGJyLnVwZGF0ZWRfYXQsIGJyLmJvb2tfaWQsIGMuXykpIGFzIF8gZnJvbSBib29rX3Jldmlld3MgYnIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYy5pZCwgYy50ZXh0LCBjLmNyZWF0ZWRfYXQsIGMudXBkYXRlZF9hdCwgYy51c2VyX2lkLCBjLnBhcmVudF9hdXRob3JfaWQsIGMucGFyZW50X2Jvb2tfaWQsIGMucGFyZW50X2Jvb2tfcmV2aWV3X2lkLCBjLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYyB3aGVyZSBjLnBhcmVudF9ib29rX3Jldmlld19pZCA9IGJyLmlkICkgYyB3aGVyZSBici5ib29rX2lkID0gYi5pZCApIGJyIHdoZXJlIGIuYXV0aG9yX2lkID0gYS5pZCApIGIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYzEuaWQsIGMxLnRleHQsIGMxLmNyZWF0ZWRfYXQsIGMxLnVwZGF0ZWRfYXQsIGMxLnVzZXJfaWQsIGMxLnBhcmVudF9hdXRob3JfaWQsIGMxLnBhcmVudF9ib29rX2lkLCBjMS5wYXJlbnRfYm9va19yZXZpZXdfaWQsIGMxLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYzEgd2hlcmUgYzEucGFyZW50X2F1dGhvcl9pZCA9IGEuaWQgKSBjMSBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShhMS5pZCwgYTEuZmlyc3RfbmFtZSwgYTEubGFzdF9uYW1lLCBhMS5zc24sIGExLmluaXRpYWxzLCBhMS5udW1iZXJfb2ZfYm9va3MsIGExLmJvb2tfY29tbWVudHMsIGExLmlzX3BvcHVsYXIsIGExLmFnZSwgYTEuZ3JhZHVhdGVkLCBhMS5uaWNrX25hbWVzLCBhMS53YXNfZXZlcl9wb3B1bGFyLCBhMS5hZGRyZXNzLCBhMS5idXNpbmVzc19hZGRyZXNzLCBhMS5xdW90ZXMsIGExLm51bWJlcl9vZl9hdG9tcywgYTEuZGVsZXRlZF9hdCwgYTEubnVtYmVyX29mX3B1YmxpY19yZXZpZXdzLCBhMS4ibnVtYmVyT2ZQdWJsaWNSZXZpZXdzMiIsIGExLnRhZ3Nfb2ZfYWxsX2Jvb2tzLCBhMS5jcmVhdGVkX2F0LCBhMS51cGRhdGVkX2F0LCBhMS5mYXZvcml0ZV9zaGFwZSwgYTEuZmF2b3JpdGVfY29sb3JzLCBhMS5tZW50b3JfaWQsIGExLmN1cnJlbnRfZHJhZnRfYm9va19pZCwgYTEuZmF2b3JpdGVfYm9va19pZCwgYTEucHVibGlzaGVyX2lkKSkgYXMgXyBmcm9tIGF1dGhvcnMgYTEgd2hlcmUgYTEuaWQgPSBhLm1lbnRvcl9pZCApIGExIHdoZXJlIGEuaWQgPSAxOw%3D%3D
77
- */
78
- /**
79
- * Given a `parent` like Author, and a hint of `{ books: ..., comments: ... }`, create `CROSS JOIN LATERAL`s
80
- * that will pull in the `books` & `comments` children.
81
- */
82
- function calcLateralJoins(getAlias, root, tree, parentAlias, parentMeta) {
83
- const results = [];
84
- // Join in SQL-able hints from parent
85
- Object.entries(tree.hints).forEach(([key, subTree]) => {
86
- const field = parentMeta.allFields[key];
87
- // AsyncProperties don't have fields, which is fine, skip for now...
88
- if (field && (0, canPreload_1.canPreload)(parentMeta, field)) {
89
- const otherMeta = field.otherMetadata();
90
- const otherField = otherMeta.allFields[field.otherFieldName];
91
- // Use a prefix like `_` to avoid collisions like `InvoiceDocument` -> alias `id` -> collides with the `id` column
92
- const otherAlias = `_${getAlias(otherMeta.tableName)}`;
93
- // Do the recursion up-front, so we can work it into our own join/hydrator
94
- const subJoins = calcLateralJoins(getAlias, root, subTree, otherAlias, otherMeta);
95
- // Get all fields with serdes and flatten out the columns
96
- const columns = Object.values(otherMeta.allFields)
97
- .filter((f) => f.serde)
98
- .flatMap((f) => f.serde.columns);
99
- const selects = [
100
- ...columns.map((c) => (0, keywords_1.kqDot)(otherAlias, c.columnName)),
101
- // We eventually need to handle parent types/subtypes here...
102
- // Combine any grandchilden
103
- ...subJoins.map((sb) => (0, keywords_1.kqDot)(sb.alias, "_")),
104
- ];
105
- const aliasMaybeSuffix = (0, keywords_1.kq)(`${parentAlias}${field.aliasSuffix}`);
106
- const cb = new ConditionBuilder_1.ConditionBuilder();
107
- let m2mTable;
108
- if (otherField.kind === "m2o") {
109
- cb.addRawCondition({
110
- aliases: [otherAlias, parentAlias],
111
- condition: `${(0, keywords_1.kqDot)(otherAlias, otherField.serde.columns[0].columnName)} = ${(0, keywords_1.kqDot)(parentAlias, "id")}`,
112
- pruneable: true,
113
- });
114
- }
115
- else if (otherField.kind === "poly") {
116
- // Get the component that points to us
117
- // const comp = otherField.components.find((c) => getAllMetas(parentMeta).some((m) => m.cstr === c.otherMetadata().cstr)) ??
118
- const comp = otherField.components.find((c) => parentMeta.cstr === c.otherMetadata().cstr) ??
119
- fail(`No component found for ${field.fieldName} -> ${otherField.fieldName}`);
120
- cb.addRawCondition({
121
- aliases: [otherAlias, parentAlias],
122
- condition: `${(0, keywords_1.kqDot)(otherAlias, comp.columnName)} = ${(0, keywords_1.kqDot)(parentAlias, "id")}`,
123
- pruneable: true,
124
- });
125
- }
126
- else if (otherField.kind === "o2m" || otherField.kind === "lo2m") {
127
- cb.addRawCondition({
128
- aliases: [otherAlias, aliasMaybeSuffix],
129
- condition: `${(0, keywords_1.kqDot)(otherAlias, "id")} = ${aliasMaybeSuffix}.${(0, keywords_1.kq)(field.serde.columns[0].columnName)}`,
130
- pruneable: true,
131
- });
132
- }
133
- else if (otherField.kind === "o2o") {
134
- cb.addRawCondition({
135
- aliases: [otherAlias, aliasMaybeSuffix],
136
- condition: `${(0, keywords_1.kqDot)(otherAlias, "id")} = ${aliasMaybeSuffix}.${(0, keywords_1.kq)(field.serde.columns[0].columnName)}`,
137
- pruneable: true,
138
- });
139
- }
140
- else if (otherField.kind === "m2m") {
141
- const m2mAlias = getAlias(otherField.joinTableName);
142
- // Get the m2m row's id to track in JoinRows
143
- selects.unshift((0, keywords_1.kqDot)(m2mAlias, "id"));
144
- m2mTable = {
145
- join: "inner",
146
- table: otherField.joinTableName,
147
- alias: m2mAlias,
148
- col1: (0, keywords_1.kqDot)(parentAlias, "id"),
149
- col2: (0, keywords_1.kqDot)(m2mAlias, otherField.columnNames[1]),
150
- };
151
- cb.addRawCondition({
152
- aliases: [m2mAlias, otherAlias],
153
- condition: `${(0, keywords_1.kqDot)(m2mAlias, otherField.columnNames[0])} = ${(0, keywords_1.kqDot)(otherAlias, "id")}`,
154
- pruneable: true,
155
- });
156
- }
157
- else {
158
- throw new Error(`Unsupported otherField.kind ${otherField.kind}`);
159
- }
160
- const needsSubSelect = subTree.entities.size !== root.tree.entities.size;
161
- if (needsSubSelect) {
162
- cb.addRawCondition({
163
- aliases: [root.alias],
164
- condition: `${(0, keywords_1.kqDot)(root.alias, "id")} = ANY(?)`,
165
- bindings: [
166
- [...subTree.entities]
167
- .filter((e) => typeof e === "string" || !e.isNewEntity)
168
- .map((e) => (0, keys_1.keyToNumber)(root.meta, typeof e === "string" ? e : e.id)),
169
- ],
170
- pruneable: true,
171
- });
172
- }
173
- const join = {
174
- join: "lateral",
175
- alias: otherAlias,
176
- // Do we need to say which alias we're coming from, to avoid having it pruned?
177
- // ...maybe not because preloading is always on the primary table?
178
- fromAlias: "unset",
179
- table: otherMeta.tableName,
180
- query: {
181
- selects: [`json_agg(json_build_array(${selects.join(", ")}) order by ${(0, keywords_1.kq)(otherAlias)}.id) as _`],
182
- tables: [
183
- { join: "primary", table: otherMeta.tableName, alias: otherAlias },
184
- ...(m2mTable ? [m2mTable] : []),
185
- ...subJoins.map((sj) => sj.join),
186
- ],
187
- condition: cb.toExpressionFilter(),
188
- orderBys: [],
189
- },
190
- };
191
- const hydrator = (root, parent, arrays) => {
192
- const { em } = root;
193
- // If we had overlapping load hints, i.e. `author.books` for [a1, a2] and `author.comments` for [a1], and
194
- // we're processing the arrays of comments, but for a root author like `a2` that didn't ask for our load
195
- // hint, then skip it to keep the relation unloaded.
196
- if (subTree.entitiesKind === "instances" && !subTree.entities.has(root))
197
- return;
198
- if (subTree.entitiesKind === "ids" && !subTree.entities.has(root.idTagged))
199
- return;
200
- // We get back an array of [[1, title], [2, title], [3, title]]
201
- const children = arrays.map((array) => {
202
- // If we've snuck the m2m row id into the json array, ignore it
203
- const m2mOffset = field.kind === "m2m" ? 1 : 0;
204
- const taggedId = (0, keys_1.keyToTaggedId)(otherMeta, array[m2mOffset]);
205
- const entity = em.findExistingInstance(taggedId) ??
206
- em.hydrate(otherMeta.cstr,
207
- // Turn the array into a hash for em.hydrate
208
- [Object.fromEntries(columns.map((c, i) => [c.columnName, c.mapFromJsonAgg(array[m2mOffset + i])]))],
209
- // When em.refreshing this should be true?
210
- { overwriteExisting: false })[0];
211
- // Tell the internal JoinRow booking-keeping about this m2m row
212
- if (field.kind === "m2m") {
213
- // TODO This `addExisting` needs to be pulled up, out of the `arrays.map`, so we can do a `loadRows`-ish
214
- // call that passes all now-known m2m rows into JoinRows as a single list, so that it can mark any
215
- // deleted-from-under-us m2m rows as deleted.
216
- const m2m = parent[key];
217
- (0, EntityManager_1.getEmInternalApi)(em)
218
- .joinRows(m2m)
219
- .addPreloadedRow(m2m, array[0], parent, entity);
220
- }
221
- // Within each child, look for grandchildren
222
- subJoins.forEach((sub, i) => {
223
- // array[i] could be null if there are no grandchildren, but still call `sub` to
224
- // process it so that we store the empty array into the em.joinLoadedRelations, to
225
- // avoid the relation.load method later doing a SQL for rows we know are not there.
226
- sub.hydrator(root, entity, array[m2mOffset + columns.length + i] ?? []);
227
- });
228
- return entity;
229
- });
230
- // Cache the entities so `.load`s will see them
231
- (0, EntityManager_1.getEmInternalApi)(em).setPreloadedRelation(parent.idTagged, key, children);
232
- };
233
- results.push({ alias: otherAlias, join, hydrator });
234
- }
235
- });
236
- return results;
237
- }
238
- //# sourceMappingURL=JsonAggregatePreloader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonAggregatePreloader.js","sourceRoot":"","sources":["../../src/preloading/JsonAggregatePreloader.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AACjD,0DAAuD;AAEvD,oDAAoD;AAGpD,kCAAqD;AACrD,0CAAwC;AAGxC,gDAAyF;AACzF,6CAA0C;AAC1C,mDAAgD;AAEhD;;;GAGG;AACH,MAAa,sBAAsB;IACjC,aAAa,CACX,IAAgC,EAChC,IAAmB;QAEnB,OAAO,IAAA,6BAAa,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,aAAa,CACX,IAAoB,EACpB,IAAiB,EACjB,KAAsB;QAEtB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,6BAAa,CAAC,KAAK,CAAC,CAAC;QAE9C,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACzF,8DAA8D;QAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,qEAAqE;QACrE,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACjB,GAAG,EAAE,GAAG,IAAA,gBAAK,EAAC,KAAK,EAAE,GAAG,CAAC,OAAO,IAAA,aAAE,EAAC,KAAK,CAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC,KAAK,CAAC;gBAChB,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;oBACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAmB,IAAoB,EAAE,IAAiB,EAAE,KAAsB;QAC/F,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,6BAAa,CAAC,KAAK,CAAC,CAAC;QAE9C,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACzF,8DAA8D;QAE9D,gEAAgE;QAChE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAA,gBAAK,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;oBAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvD,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA/DD,wDA+DC;AAKD;;;;;;;;;GASG;AAEH;;;GAGG;AACH,SAAS,gBAAgB,CACvB,QAAuC,EACvC,IAAgE,EAChE,IAAiB,EACjB,WAAmB,EACnB,UAA0B;IAE1B,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,qCAAqC;IACrC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,oEAAoE;QACpE,IAAI,KAAK,IAAI,IAAA,uBAAU,EAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE7D,kHAAkH;YAClH,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAEvD,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAElF,yDAAyD;YACzD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACtB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG;gBACd,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;gBACtD,6DAA6D;gBAC7D,2BAA2B;gBAC3B,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aAC9C,CAAC;YAEF,MAAM,gBAAgB,GAAG,IAAA,aAAE,EAAC,GAAG,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAElE,MAAM,EAAE,GAAG,IAAI,mCAAgB,EAAE,CAAC;YAClC,IAAI,QAA+B,CAAC;YACpC,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC9B,EAAE,CAAC,eAAe,CAAC;oBACjB,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;oBAClC,SAAS,EAAE,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,IAAA,gBAAK,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE;oBACvG,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACtC,sCAAsC;gBACtC,4HAA4H;gBAC5H,MAAM,IAAI,GACR,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;oBAC7E,IAAI,CAAC,0BAA0B,KAAK,CAAC,SAAS,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/E,EAAE,CAAC,eAAe,CAAC;oBACjB,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;oBAClC,SAAS,EAAE,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAA,gBAAK,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE;oBAChF,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACnE,EAAE,CAAC,eAAe,CAAC;oBACjB,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;oBACvC,SAAS,EAAE,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,gBAAgB,IAAI,IAAA,aAAE,EAAC,KAAK,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;oBACvG,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrC,EAAE,CAAC,eAAe,CAAC;oBACjB,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;oBACvC,SAAS,EAAE,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,gBAAgB,IAAI,IAAA,aAAE,EAAC,KAAK,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;oBACvG,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACpD,4CAA4C;gBAC5C,OAAO,CAAC,OAAO,CAAC,IAAA,gBAAK,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvC,QAAQ,GAAG;oBACT,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,UAAU,CAAC,aAAa;oBAC/B,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAA,gBAAK,EAAC,WAAW,EAAE,IAAI,CAAC;oBAC9B,IAAI,EAAE,IAAA,gBAAK,EAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBACjD,CAAC;gBACF,EAAE,CAAC,eAAe,CAAC;oBACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;oBAC/B,SAAS,EAAE,GAAG,IAAA,gBAAK,EAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,gBAAK,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE;oBACvF,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzE,IAAI,cAAc,EAAE,CAAC;gBACnB,EAAE,CAAC,eAAe,CAAC;oBACjB,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrB,SAAS,EAAE,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW;oBAChD,QAAQ,EAAE;wBACR,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;6BAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;6BACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACxE;oBACD,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAqB;gBAC7B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU;gBACjB,8EAA8E;gBAC9E,kEAAkE;gBAClE,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,SAAS,CAAC,SAAS;gBAC1B,KAAK,EAAE;oBACL,OAAO,EAAE,CAAC,6BAA6B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAA,aAAE,EAAC,UAAU,CAAC,WAAW,CAAC;oBACjG,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;wBAClE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/B,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;qBACjC;oBACD,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE;oBAClC,QAAQ,EAAE,EAAE;iBACb;aACF,CAAC;YAEF,MAAM,QAAQ,GAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC/D,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;gBAEpB,yGAAyG;gBACzG,wGAAwG;gBACxG,oDAAoD;gBACpD,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAW,CAAC;oBAAE,OAAO;gBACvF,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAe,CAAC;oBAAE,OAAO;gBAE1F,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpC,+DAA+D;oBAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,MAAM,QAAQ,GAAG,IAAA,oBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAQ,CAAE,CAAC;oBACpE,MAAM,MAAM,GACV,EAAE,CAAC,oBAAoB,CAAS,QAAQ,CAAC;wBAEvC,EAAE,CAAC,OAAO,CACR,SAAS,CAAC,IAAI;wBACd,4CAA4C;wBAC5C,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnG,0CAA0C;wBAC1C,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAE/B,CAAC,CAAC,CAAC,CAAC;oBACP,+DAA+D;oBAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;wBACzB,wGAAwG;wBACxG,kGAAkG;wBAClG,6CAA6C;wBAC7C,MAAM,GAAG,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAA,gCAAgB,EAAC,EAAE,CAAC;6BACjB,QAAQ,CAAC,GAAG,CAAC;6BACb,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC3D,CAAC;oBACD,4CAA4C;oBAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBAC1B,gFAAgF;wBAChF,kFAAkF;wBAClF,mFAAmF;wBACnF,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAG,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAS,IAAI,EAAE,CAAC,CAAC;oBACnF,CAAC,CAAC,CAAC;oBACH,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,+CAA+C;gBAC/C,IAAA,gCAAgB,EAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { EntityMetadata, Field, ManyToManyField, ManyToOneField, OneToManyField, OneToOneField } from "../EntityMetadata";
2
- export declare function canPreload(meta: EntityMetadata, field: Field): field is OneToManyField | ManyToOneField | ManyToManyField | OneToOneField;
3
- //# sourceMappingURL=canPreload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"canPreload.d.ts","sourceRoot":"","sources":["../../src/preloading/canPreload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,CAa5E"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.canPreload = canPreload;
4
- function canPreload(meta, field) {
5
- if (field.kind === "o2m" || field.kind === "o2o" || field.kind === "m2o" || field.kind === "m2m") {
6
- const otherMeta = field.otherMetadata();
7
- // We don't support preloading tables with inheritance yet
8
- if (!!otherMeta.baseType || otherMeta.subTypes.length > 0)
9
- return false;
10
- // If `otherField` is missing, this could be a large collection which currently can't be loaded...
11
- const otherField = otherMeta.allFields[field.otherFieldName];
12
- if (!otherField)
13
- return false;
14
- // If otherField is a poly that points to a sub/base component, we don't support that yet
15
- if (otherField.kind === "poly" && !otherField.components.some((c) => c.otherMetadata() === meta))
16
- return false;
17
- return true;
18
- }
19
- return false;
20
- }
21
- //# sourceMappingURL=canPreload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"canPreload.js","sourceRoot":"","sources":["../../src/preloading/canPreload.ts"],"names":[],"mappings":";;AASA,gCAgBC;AAhBD,SAAgB,UAAU,CACxB,IAAoB,EACpB,KAAY;IAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACjG,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,0DAA0D;QAC1D,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,kGAAkG;QAClG,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,yFAAyF;QACzF,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,5 +0,0 @@
1
- import { EntityMetadata } from "../EntityMetadata";
2
- import { LoadHint, NestedLoadHint } from "../loadHints";
3
- /** Partitions a hint into SQL-able and non-SQL-able hints. */
4
- export declare function partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
5
- //# sourceMappingURL=partitionHint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"partitionHint.d.ts","sourceRoot":"","sources":["../../src/preloading/partitionHint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAKxD,8DAA8D;AAC9D,wBAAgB,aAAa,CAC3B,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAClB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAqCpE"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.partitionHint = partitionHint;
4
- const getProperties_1 = require("../getProperties");
5
- const normalizeHints_1 = require("../normalizeHints");
6
- const relations_1 = require("../relations");
7
- const canPreload_1 = require("./canPreload");
8
- /** Partitions a hint into SQL-able and non-SQL-able hints. */
9
- function partitionHint(meta, hint) {
10
- let sql = undefined;
11
- let non = undefined;
12
- for (const [key, subHint] of Object.entries((0, normalizeHints_1.normalizeHint)(hint))) {
13
- const field = meta?.allFields[key];
14
- if (field && (0, canPreload_1.canPreload)(meta, field)) {
15
- const [_sql, _non] = partitionHint(field.otherMetadata(), subHint);
16
- deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});
17
- if (_non)
18
- deepMerge(((non ??= {})[key] ??= {}), _non);
19
- }
20
- else {
21
- // If this isn't a raw SQL relation, but it exposes a load-hint, inline that into our SQL.
22
- // This will get the non-SQL relation's underlying SQL data preloaded.
23
- const p = meta && (0, getProperties_1.getProperties)(meta)[key];
24
- if (p && p.loadHint) {
25
- // Maybe we could have `PersistedAsyncReferenceImpl` internally/dynamically return us the right
26
- // load hint, instead of special casing it like this? Like it could internally check "needs calc?"
27
- if (p instanceof relations_1.ReactiveReferenceImpl) {
28
- // Instead of using p.loadHint, we'll just follow the FK in the database and go to the subHint
29
- const [_sql, _non] = partitionHint(p.otherMeta, subHint);
30
- deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});
31
- if (_non)
32
- deepMerge(((non ??= {})[key] ??= {}), _non);
33
- continue;
34
- }
35
- else {
36
- // It's not clear what to do with the subHint here, if anything--ideally it could stitch
37
- // on top of load hint but only in the places that made sense. But we'd risk over-fetching.
38
- // ...also we don't want to preload ReactiveField full hint vs. just using their
39
- // calculated values.
40
- // const [_sql, _non] = partitionHint(meta, p.loadHint);
41
- // if (_sql) deepMerge((sql ??= {}), _sql);
42
- // if (_non) deepMerge((non ??= {}), _non);
43
- }
44
- }
45
- // Even if we did some SQL preloads, the subHint needs to go through the non-sql path.
46
- deepMerge(((non ??= {})[key] ??= {}), (0, normalizeHints_1.deepNormalizeHint)(subHint));
47
- }
48
- }
49
- return [sql, non];
50
- }
51
- function deepMerge(a, b) {
52
- for (const [key, value] of Object.entries(b)) {
53
- deepMerge((a[key] ??= {}), value);
54
- }
55
- }
56
- //# sourceMappingURL=partitionHint.js.map