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,329 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMetadata = configureMetadata;
4
- exports.resetConstructorMap = resetConstructorMap;
5
- exports.getConstructorFromTag = getConstructorFromTag;
6
- exports.getConstructorFromTaggedId = getConstructorFromTaggedId;
7
- exports.getMetadataForTable = getMetadataForTable;
8
- exports.getMetadataForType = getMetadataForType;
9
- exports.maybeGetConstructorFromReference = maybeGetConstructorFromReference;
10
- const EntityMetadata_1 = require("./EntityMetadata");
11
- const config_1 = require("./config");
12
- const defaults_1 = require("./defaults");
13
- const getProperties_1 = require("./getProperties");
14
- const keys_1 = require("./keys");
15
- const reactiveHints_1 = require("./reactiveHints");
16
- const ReactiveQueryField_1 = require("./relations/ReactiveQueryField");
17
- const rules_1 = require("./rules");
18
- const serde_1 = require("./serde");
19
- const utils_1 = require("./utils");
20
- const tagToConstructorMap = new Map();
21
- const tableToMetaMap = new Map();
22
- const typeToMetaMap = new Map();
23
- let previousBootError;
24
- /** Performs our boot-time initialization, i.e. hooking up reactivity. */
25
- function configureMetadata(metas) {
26
- // Add explicit "did we already fail" check b/c if a transformer like tsx gets a runtime error from
27
- // here, it can potentially suppress it, move on to another file, which will naively re-invoke
28
- // `configureMetadata` again, and fail with a very confusing "Duplicate tag" error
29
- if (previousBootError) {
30
- throw previousBootError;
31
- }
32
- try {
33
- populateConstructorMaps(metas);
34
- hookUpBaseTypeAndSubTypes(metas);
35
- sortMetasByBaseType(metas);
36
- setImmutableFields(metas);
37
- populatePolyComponentFields(metas);
38
- fireAfterMetadatas(metas);
39
- // Callers can make `config` calls during `afterMetadata` callbacks, but after that
40
- // we don't allow any more config changes.
41
- (0, config_1.setBooted)();
42
- // Do these after `fireAfterMetadatas`, in case afterMetadata callbacks added more defaults/rules
43
- copyAsyncDefaults(metas);
44
- reverseIndexReactivity(metas);
45
- copyRunBeforeBooksToBaseType(metas);
46
- }
47
- catch (e) {
48
- previousBootError = e;
49
- throw e;
50
- }
51
- }
52
- // Sort metas in place by inheritance hierarchy so that the base type comes before subtypes
53
- function sortMetasByBaseType(metas) {
54
- metas.sort(compareMetasByBaseType);
55
- }
56
- // Compare metas by inheritance hierarchy so that the base type sorts before subtypes
57
- function compareMetasByBaseType(a, b) {
58
- if (a.baseTypes.length > 0 && b.baseTypes.length === 0)
59
- return 1;
60
- if (a.baseTypes.length === 0 && b.baseTypes.length > 0)
61
- return -1;
62
- if (a.baseTypes.some((baseType) => baseType === b))
63
- return 1;
64
- if (b.baseTypes.some((baseType) => baseType === a))
65
- return -1;
66
- return a.type.localeCompare(b.type);
67
- }
68
- function fireAfterMetadatas(metas) {
69
- (0, config_1.setAfterMetadataLocked)();
70
- for (const meta of metas) {
71
- for (const fn of meta.config.__data.afterMetadataCallbacks)
72
- fn(meta);
73
- }
74
- }
75
- function resetConstructorMap() {
76
- tagToConstructorMap.clear();
77
- }
78
- function getConstructorFromTag(tag) {
79
- return tagToConstructorMap.get(tag) ?? (0, utils_1.fail)(`Unknown tag: "${tag}" `);
80
- }
81
- function getConstructorFromTaggedId(id) {
82
- const tag = (0, keys_1.tagFromId)(id);
83
- return getConstructorFromTag(tag);
84
- }
85
- function getMetadataForTable(tableName) {
86
- return tableToMetaMap.get(tableName) ?? (0, utils_1.fail)(`Unknown table ${tableName}`);
87
- }
88
- function getMetadataForType(typeName) {
89
- return typeToMetaMap.get(typeName) ?? (0, utils_1.fail)(`Unknown type ${typeName}`);
90
- }
91
- function maybeGetConstructorFromReference(value) {
92
- const id = (0, keys_1.maybeResolveReferenceToId)(value);
93
- return id ? getConstructorFromTaggedId(id) : undefined;
94
- }
95
- function populateConstructorMaps(metas) {
96
- for (const meta of metas) {
97
- // Add each (root) constructor into our tag -> constructor map for future lookups
98
- if (!meta.baseType) {
99
- const existing = tagToConstructorMap.get(meta.tagName);
100
- if (existing)
101
- throw new Error(`Duplicate tag '${meta.tagName}' for ${meta.type} and ${existing.name}`);
102
- tagToConstructorMap.set(meta.tagName, meta.cstr);
103
- }
104
- // Same for tables, but include subclass tables
105
- tableToMetaMap.set(meta.tableName, meta);
106
- typeToMetaMap.set(meta.type, meta);
107
- }
108
- }
109
- // Do a first pass to flag immutable fields (which we'll use in reverseReactiveHint)
110
- function setImmutableFields(metas) {
111
- for (const meta of metas) {
112
- // Scan rules for cannotBeUpdated so that we can set `field.immutable`
113
- for (const rule of meta.config.__data.rules) {
114
- if ((0, rules_1.isCannotBeUpdatedRule)(rule.fn) && rule.fn.immutable) {
115
- // Usually the field will exist directly in meta.fields
116
- const selfField = meta.fields[rule.fn.field];
117
- // Or it might have come in from a base type in meta.allFields
118
- const baseField = meta.allFields[rule.fn.field];
119
- // Either way, at least one should exist
120
- if (!selfField && !baseField) {
121
- throw new Error(`Missing field '${meta.type}.${rule.fn.field}' for cannotBeUpdated at ${rule.name}`);
122
- }
123
- if (selfField)
124
- selfField.immutable = true;
125
- if (baseField)
126
- baseField.immutable = true;
127
- }
128
- }
129
- }
130
- }
131
- // Setup subTypes/baseTypes
132
- function hookUpBaseTypeAndSubTypes(metas) {
133
- const metaByName = metas.reduce((acc, m) => {
134
- acc[m.type] = m;
135
- return acc;
136
- }, {});
137
- for (const m of metas) {
138
- // This is basically m.fields.mapValues to assign the primary alias
139
- m.allFields = Object.fromEntries(Object.entries(m.fields).map(([name, field]) => [name, { ...field, aliasSuffix: "" }]));
140
- // Only supporting one level of inheritance for now, ideally would loop `while current !== null`
141
- if (m.baseType) {
142
- const b = metaByName[m.baseType];
143
- m.baseTypes.push(b);
144
- b.subTypes.push(m);
145
- // Add all the base's fields to our allFields, with the base's aliasSuffix, so that in
146
- // `WHERE` clauses for `small_publishers`, we'll have joined in `publishers` with an
147
- // alias + this alias suffix, so can `WHERE` on `${alias}_b0.name = 'foo'` and get
148
- // to the correct table.
149
- //
150
- // Note that we don't need to do this for subtypes, because `em.find` queries aren't
151
- // allowed to `WHERE` against columns in their subtypes. Maybe someday we can support
152
- // that like the GraphQL `...on SmallPublisher` syntax, like conditional/subtype-specific
153
- // clauses.
154
- Object.entries(b.fields).forEach(([name, field]) => {
155
- // We use `b0` because that is what addTablePerClassJoinsAndClassTag uses to join in the base table
156
- const aliasSuffix = b.inheritanceType === "cti" ? "_b0" : "";
157
- if (name in m.allFields && name !== "id") {
158
- // If the base field (i.e. group) is already in `m.allFields`, it's from a CTI subtype specializing
159
- // a base field (i.e. `SmallPublisher.group`), in which case we don't really want it inserted/updated
160
- // in the `small_publishers` table itself, so we'll delete it from `m.fields`, *but* leave it in
161
- // m.allFields, with appropriate/overridden `otherEntity: SmallPublisherGroup` config so that it
162
- // can be used to reverse validation rules/RFs.
163
- delete m.fields[name];
164
- m.allFields[name].aliasSuffix = aliasSuffix;
165
- }
166
- else {
167
- m.allFields[name] = { ...field, aliasSuffix };
168
- }
169
- });
170
- }
171
- }
172
- }
173
- /** Copy/pastes base AsyncDefaults onto subtypes, so that subtypes can have their own default dependencies. */
174
- function copyAsyncDefaults(metas) {
175
- for (const m of metas) {
176
- for (const b of m.baseTypes) {
177
- // Clone in the base asyncDefaults, unless we override our own
178
- for (const [fieldName, df] of Object.entries(b.config.__data.asyncDefaults)) {
179
- if (!m.config.__data.asyncDefaults[fieldName]) {
180
- // Given our subtype its own instance, because we might have different default dependencies.
181
- // I.e. from a sample domain model, something like:
182
- // - The base `PlanVersion.type` default depends on `{ identity: "type" }`
183
- // - The base `Plan.type` has no default itself
184
- // - The sub `SpecialPlanVersion` inherits type, and specializes `SPV.identity: SP`
185
- // - The sub `SpecialPlan.type` does have a default
186
- //
187
- // So we need to eval `PlanVersion.type` separately from `SpecialPlanVersion.type`, even
188
- // though they come from the same `config.setDefault` call/lambda in `PlanVersion.ts`.
189
- m.config.__data.asyncDefaults[fieldName] = new defaults_1.AsyncDefault(df.fieldName, df.fieldHint, df.fn);
190
- }
191
- }
192
- }
193
- }
194
- }
195
- // Now hook up our reactivity
196
- function reverseIndexReactivity(metas) {
197
- for (const meta of metas) {
198
- // Look for reactive validation rules to reverse
199
- for (const { name, hint, fn } of meta.config.__data.rules) {
200
- if (hint) {
201
- const reversals = (0, reactiveHints_1.reverseReactiveHint)(meta.cstr, meta.cstr, hint);
202
- // For each reversal, tell its config about the reverse hint to force-re-validate
203
- // the original rule's instance any time it changes.
204
- for (const { kind, entity, path, fields } of reversals) {
205
- if (kind === "update") {
206
- (0, EntityMetadata_1.getMetadata)(entity).config.__data.reactiveRules.push({
207
- source: entity,
208
- cstr: meta.cstr,
209
- name,
210
- fields,
211
- path,
212
- fn,
213
- });
214
- }
215
- }
216
- }
217
- }
218
- // Look for reactions to reverse
219
- for (const { name, hint, fn, runOnce } of meta.config.__data.reactions) {
220
- const reversals = (0, reactiveHints_1.reverseReactiveHint)(meta.cstr, meta.cstr, hint);
221
- // For each reversal, tell its config about the reverse hint to force-rerun
222
- // the original reaction's instance any time it changes.
223
- for (const { kind, entity, path, fields } of reversals) {
224
- (0, EntityMetadata_1.getMetadata)(entity).config.__data.reactables.push({
225
- kind: "reaction",
226
- source: entity,
227
- cstr: meta.cstr,
228
- isReadOnly: kind === "read-only",
229
- name,
230
- fields,
231
- path,
232
- fn,
233
- runOnce,
234
- });
235
- }
236
- }
237
- // Look for ReactiveFields, ReactiveReferences, & ReactiveManyToManys to reverse
238
- const reactiveRelations = Object.values(meta.allFields).filter((f) => f.kind === "primitive" ||
239
- (f.kind === "m2o" && f.derived === "async") ||
240
- (f.kind === "enum" && f.derived === "async") ||
241
- (f.kind === "m2m" && f.derived === "async"));
242
- for (const field of reactiveRelations) {
243
- const ap = (0, getProperties_1.getProperties)(meta)[field.fieldName];
244
- // We might have an async property configured in joist-config.json that has not yet
245
- // been made a `hasReactiveField` in the entity file, so avoid continuing
246
- // if we don't actually have a property/loadHint available.
247
- if (ap?.reactiveHint) {
248
- const reversals = (0, reactiveHints_1.reverseReactiveHint)(meta.cstr, meta.cstr, ap.reactiveHint);
249
- for (const { kind, entity, path, fields } of reversals) {
250
- (0, EntityMetadata_1.getMetadata)(entity).config.__data.reactables.push({
251
- kind: ap instanceof ReactiveQueryField_1.ReactiveQueryFieldImpl ? "query" : "populate",
252
- cstr: meta.cstr,
253
- isReadOnly: kind === "read-only",
254
- name: field.fieldName,
255
- path,
256
- fields,
257
- runOnce: false,
258
- });
259
- }
260
- }
261
- }
262
- }
263
- }
264
- /**
265
- * In addition to the canonical `meta.allFields`, we populate a `meta.polyComponentFields` to
266
- * disaggregates the poly's components into individual fields so that `em.find` / `parseFindQuery`
267
- * can support component-specific find queries.
268
- */
269
- function populatePolyComponentFields(metas) {
270
- for (const meta of metas) {
271
- for (const [key, field] of Object.entries(meta.allFields)) {
272
- if (field.kind === "poly") {
273
- meta.polyComponentFields ??= {};
274
- for (const comp of field.components) {
275
- const fieldName = `${key}${comp.otherMetadata().type}`;
276
- // Synthesize a m2o component that won't be used for any actual read/write serde,
277
- // but just to help `parseFindQuery` build `WHERE` clauses.
278
- meta.polyComponentFields[fieldName] = {
279
- kind: "m2o",
280
- fieldName,
281
- fieldIdName: `${fieldName}Id`,
282
- required: false,
283
- immutable: false,
284
- derived: false,
285
- serde: new serde_1.KeySerde(comp.otherMetadata().tagName, fieldName, comp.columnName, field.serde.columns[0].dbType),
286
- ...comp,
287
- aliasSuffix: field.aliasSuffix,
288
- };
289
- }
290
- }
291
- else if (field.kind === "m2o") {
292
- field.otherMetadata().subTypes.forEach((st) => {
293
- const fieldName = `${key}${st.type}`;
294
- meta.polyComponentFields ??= {};
295
- meta.polyComponentFields[fieldName] = {
296
- ...field,
297
- // a subtype specific sub-field (i.e. `publisherLargePublishers`) cannot be required (which turns into
298
- // an `inner join`), even if its parent is, since it won't always be present (i.e. the pointed-at publisher
299
- // might be a small publisher).
300
- required: false,
301
- fieldName,
302
- fieldIdName: `${fieldName}Id`,
303
- otherMetadata: () => st,
304
- };
305
- });
306
- }
307
- else if (field.kind === "o2m") {
308
- field.otherMetadata().subTypes.forEach((st) => {
309
- const fieldName = `${key}${st.type}`;
310
- meta.polyComponentFields ??= {};
311
- meta.polyComponentFields[fieldName] = {
312
- ...field,
313
- fieldName,
314
- fieldIdName: `${fieldName}Id`,
315
- otherMetadata: () => st,
316
- };
317
- });
318
- }
319
- }
320
- }
321
- }
322
- function copyRunBeforeBooksToBaseType(meta) {
323
- for (const m of meta) {
324
- for (const b of m.baseTypes) {
325
- b.config.__data.runHooksBefore.push(...m.config.__data.runHooksBefore);
326
- }
327
- }
328
- }
329
- //# sourceMappingURL=configure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":";;AAsBA,8CAyBC;AAuBD,kDAEC;AAED,sDAEC;AAED,gEAGC;AAED,kDAEC;AAED,gDAEC;AAED,4EAKC;AA9FD,qDAA+F;AAC/F,qCAA6D;AAC7D,yCAA0C;AAC1C,mDAAgD;AAChD,iCAA8D;AAC9D,mDAAsD;AAGtD,uEAAwE;AACxE,mCAAgD;AAChD,mCAAmC;AACnC,mCAA+B;AAE/B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+C,CAAC;AACnF,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;AAExD,IAAI,iBAAsB,CAAC;AAE3B,yEAAyE;AACzE,SAAgB,iBAAiB,CAAC,KAAuB;IACvD,mGAAmG;IACnG,8FAA8F;IAC9F,kFAAkF;IAClF,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC;QACH,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACnC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,mFAAmF;QACnF,0CAA0C;QAC1C,IAAA,kBAAS,GAAE,CAAC;QACZ,iGAAiG;QACjG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,mBAAmB,CAAC,KAAuB;IAClD,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACrC,CAAC;AAED,qFAAqF;AACrF,SAAS,sBAAsB,CAAC,CAAiB,EAAE,CAAiB;IAClE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAuB;IACjD,IAAA,+BAAsB,GAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB;YAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAA,YAAI,EAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,0BAA0B,CAAC,EAAY;IACrD,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,CAAC;IAC1B,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAA,YAAI,EAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAA,YAAI,EAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,gCAAgC,CAC9C,KAA6D;IAE7D,MAAM,EAAE,GAAG,IAAA,gCAAyB,EAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAuB;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,iFAAiF;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,IAAI,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACvG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,+CAA+C;QAC/C,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,kBAAkB,CAAC,KAAuB;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,sEAAsE;QACtE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACxD,uDAAuD;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC7C,8DAA8D;gBAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gBAChD,wCAAwC;gBACxC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvG,CAAC;gBACD,IAAI,SAAS;oBAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1C,IAAI,SAAS;oBAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,2BAA2B;AAC3B,SAAS,yBAAyB,CAAC,KAAuB;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACT,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAoC,CACrC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,mEAAmE;QACnE,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;QACF,gGAAgG;QAChG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,sFAAsF;YACtF,oFAAoF;YACpF,kFAAkF;YAClF,wBAAwB;YACxB,EAAE;YACF,oFAAoF;YACpF,qFAAqF;YACrF,yFAAyF;YACzF,WAAW;YACX,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBACjD,mGAAmG;gBACnG,MAAM,WAAW,GAAG,CAAC,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACzC,mGAAmG;oBACnG,qGAAqG;oBACrG,gGAAgG;oBAChG,gGAAgG;oBAChG,+CAA+C;oBAC/C,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,8GAA8G;AAC9G,SAAS,iBAAiB,CAAC,KAAuB;IAChD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,8DAA8D;YAC9D,KAAK,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9C,4FAA4F;oBAC5F,mDAAmD;oBACnD,0EAA0E;oBAC1E,+CAA+C;oBAC/C,mFAAmF;oBACnF,mDAAmD;oBACnD,EAAE;oBACF,wFAAwF;oBACxF,sFAAsF;oBACtF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,uBAAY,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,SAAS,sBAAsB,CAAC,KAAuB;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,gDAAgD;QAChD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1D,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,SAAS,GAAG,IAAA,mCAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClE,iFAAiF;gBACjF,oDAAoD;gBACpD,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBACvD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtB,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;4BACnD,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,IAAI;4BACJ,MAAM;4BACN,IAAI;4BACJ,EAAE;yBACH,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACvE,MAAM,SAAS,GAAG,IAAA,mCAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClE,2EAA2E;YAC3E,wDAAwD;YACxD,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBACvD,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;oBAChD,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU,EAAE,IAAI,KAAK,WAAW;oBAChC,IAAI;oBACJ,MAAM;oBACN,IAAI;oBACJ,EAAE;oBACF,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,WAAW;YACtB,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;YAC3C,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;YAC5C,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAC9C,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACtC,MAAM,EAAE,GAAI,IAAA,6BAAa,EAAC,IAAI,CAAS,CAAC,KAAK,CAAC,SAAS,CAK1C,CAAC;YACd,mFAAmF;YACnF,yEAAyE;YACzE,2DAA2D;YAC3D,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,IAAA,mCAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC7E,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBACvD,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;wBAChD,IAAI,EAAE,EAAE,YAAY,2CAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;wBACjE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,UAAU,EAAE,IAAI,KAAK,WAAW;wBAChC,IAAI,EAAE,KAAK,CAAC,SAAS;wBACrB,IAAI;wBACJ,MAAM;wBACN,OAAO,EAAE,KAAK;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,2BAA2B,CAAC,KAAuB;IAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC;gBAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC;oBACvD,iFAAiF;oBACjF,2DAA2D;oBAC3D,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG;wBACpC,IAAI,EAAE,KAAK;wBACX,SAAS;wBACT,WAAW,EAAE,GAAG,SAAS,IAAI;wBAC7B,QAAQ,EAAE,KAAK;wBACf,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,IAAI,gBAAQ,CACjB,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAC5B,SAAS,EACT,IAAI,CAAC,UAAU,EACf,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAa,CACrC;wBACD,GAAG,IAAI;wBACP,WAAW,EAAE,KAAK,CAAC,WAAW;qBACoB,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBAC5C,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;oBACrC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG;wBACpC,GAAG,KAAK;wBACR,sGAAsG;wBACtG,2GAA2G;wBAC3G,+BAA+B;wBAC/B,QAAQ,EAAE,KAAK;wBACf,SAAS;wBACT,WAAW,EAAE,GAAG,SAAS,IAAI;wBAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;qBAC2B,CAAC;gBACvD,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBAC5C,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;oBACrC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG;wBACpC,GAAG,KAAK;wBACR,SAAS;wBACT,WAAW,EAAE,GAAG,SAAS,IAAI;wBAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;qBAC2B,CAAC;gBACvD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAsB;IAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,7 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { EntityManager, MaybeAbstractEntityConstructor } from "../EntityManager";
4
- import { Field } from "../EntityMetadata";
5
- export declare const findByUniqueOperation = "find-by-unique";
6
- export declare function findByUniqueDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, field: Field, softDeletes: "include" | "exclude"): DataLoader<any, unknown | undefined>;
7
- //# sourceMappingURL=findByUniqueDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findByUniqueDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findByUniqueDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAUvD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,GAAG,SAAS,GACjC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,CA2CtC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findByUniqueOperation = void 0;
4
- exports.findByUniqueDataLoader = findByUniqueDataLoader;
5
- const EntityMetadata_1 = require("../EntityMetadata");
6
- const QueryParser_1 = require("../QueryParser");
7
- const utils_1 = require("../utils");
8
- exports.findByUniqueOperation = "find-by-unique";
9
- function findByUniqueDataLoader(em, type, field, softDeletes) {
10
- const batchKey = `${type.name}-${field.fieldName}-${softDeletes}`;
11
- return em.getLoader(exports.findByUniqueOperation, batchKey, async (values) => {
12
- const meta = (0, EntityMetadata_1.getMetadata)(type);
13
- const alias = (0, utils_1.abbreviation)(meta.tableName);
14
- const conditions = [];
15
- const query = {
16
- selects: [`${alias}.*`],
17
- tables: [{ alias, join: "primary", table: meta.tableName }],
18
- condition: { kind: "exp", op: "and", conditions },
19
- orderBys: [],
20
- };
21
- (0, QueryParser_1.addTablePerClassJoinsAndClassTag)(query, meta, alias, true);
22
- (0, QueryParser_1.maybeAddNotSoftDeleted)(conditions, meta, alias, softDeletes);
23
- let column;
24
- switch (field.kind) {
25
- case "primitive":
26
- column = field.serde.columns[0];
27
- conditions.push({
28
- kind: "column",
29
- alias,
30
- column: column.columnName,
31
- dbType: column.dbType,
32
- cond: { kind: "in", value: values.map((v) => column.mapToDb(v)) },
33
- });
34
- break;
35
- default:
36
- throw new Error(`Unsupported field ${field.fieldName}`);
37
- }
38
- const rows = await em["executeFind"](meta, exports.findByUniqueOperation, query, {});
39
- const rowsByValue = (0, utils_1.groupBy)(rows, (row) => row[column.columnName]);
40
- // Re-order the output by the batched input
41
- return values.map((value) => {
42
- const result = rowsByValue.get(value) ?? [];
43
- return result[0];
44
- });
45
- });
46
- }
47
- //# sourceMappingURL=findByUniqueDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findByUniqueDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findByUniqueDataLoader.ts"],"names":[],"mappings":";;;AAeA,wDAgDC;AA5DD,sDAAuD;AACvD,gDAKwB;AAExB,oCAAiD;AAEpC,QAAA,qBAAqB,GAAG,gBAAgB,CAAC;AAEtD,SAAgB,sBAAsB,CACpC,EAAiB,EACjB,IAAuC,EACvC,KAAY,EACZ,WAAkC;IAElC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;IAClE,OAAO,EAAE,CAAC,SAAS,CAAC,6BAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC;YACvB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;YACjD,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,IAAA,8CAAgC,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAA,oCAAsB,EAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAE7D,IAAI,MAAc,CAAC;QACnB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,QAAQ;oBACd,KAAK;oBACL,MAAM,EAAE,MAAM,CAAC,UAAU;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBAClE,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,6BAAqB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAE7E,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,2CAA2C;QAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { FilterAndSettings } from "../EntityFilter";
4
- import { EntityManager, MaybeAbstractEntityConstructor } from "../EntityManager";
5
- export declare const findCountOperation = "find-count";
6
- export declare function findCountDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>): DataLoader<FilterAndSettings<T>, number>;
7
- //# sourceMappingURL=findCountDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findCountDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findCountDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAajF,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CA0E1C"}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findCountOperation = void 0;
4
- exports.findCountDataLoader = findCountDataLoader;
5
- const EntityMetadata_1 = require("../EntityMetadata");
6
- const keywords_1 = require("../keywords");
7
- const QueryParser_1 = require("../QueryParser");
8
- const unnest_1 = require("../unnest");
9
- const utils_1 = require("../utils");
10
- const findDataLoader_1 = require("./findDataLoader");
11
- exports.findCountOperation = "find-count";
12
- function findCountDataLoader(em, type, filter) {
13
- const { where, ...opts } = filter;
14
- if (opts.limit || opts.offset) {
15
- throw new Error("Cannot use limit/offset with findCountDataLoader");
16
- }
17
- const meta = (0, EntityMetadata_1.getMetadata)(type);
18
- const query = (0, QueryParser_1.parseFindQuery)(meta, where, opts);
19
- const batchKey = (0, findDataLoader_1.getBatchKeyFromGenericStructure)(meta, query);
20
- return em.getLoader(exports.findCountOperation, batchKey, async (queries) => {
21
- // We're guaranteed that these queries all have the same structure
22
- // Don't bother with the CTE if there's only 1 query (or each query has exactly the same filter values)
23
- if (queries.length === 1) {
24
- const { where, ...options } = queries[0];
25
- const meta = (0, EntityMetadata_1.getMetadata)(type);
26
- const query = (0, QueryParser_1.parseFindQuery)(meta, where, options);
27
- const primary = query.tables.find((t) => t.join === "primary") ?? (0, utils_1.fail)("No primary");
28
- query.selects = [`count(distinct ${(0, keywords_1.kq)(primary.alias)}.id) as count`];
29
- query.orderBys = [];
30
- const rows = await em["executeFind"](meta, exports.findCountOperation, query, {});
31
- return [Number(rows[0].count)];
32
- }
33
- // WITH _find (tag, arg1, arg2) AS (
34
- // SELECT unnest($0::int[]), unnest($0::varchar[]), unnest($0::varchar[])
35
- // )
36
- // SELECT _find.tag, _data.count
37
- // FROM _find
38
- // CROSS JOIN LATERAL (
39
- // SELECT count(*) as count
40
- // FROM author a WHERE a.first_name = _find.arg1 OR a.last_name = _find.arg2
41
- // ) _data
42
- // Build the list of 'arg1', 'arg2', ... strings
43
- const { where, ...options } = queries[0];
44
- const query = (0, QueryParser_1.parseFindQuery)((0, EntityMetadata_1.getMetadata)(type), where, options);
45
- const argsColumns = (0, findDataLoader_1.collectAndReplaceArgs)(query);
46
- argsColumns.unshift({ columnName: "tag", dbType: "int" });
47
- // We're not returning the entities, just counting them...
48
- const primary = query.tables.find((t) => t.join === "primary") ?? (0, utils_1.fail)("No primary");
49
- query.selects = [`count(distinct ${(0, keywords_1.kq)(primary.alias)}.id) as count`];
50
- query.orderBys = [];
51
- const query2 = {
52
- selects: ["_find.tag as tag", "_data.count as count"],
53
- tables: [
54
- { join: "primary", table: "_find", alias: "_find" },
55
- // Not sure what fromAlias is for/that it matters...
56
- { join: "lateral", query: query, table: meta.tableName, alias: "_data", fromAlias: "_f" },
57
- ],
58
- // For each unique query, capture its filter values in `bindings` to populate the CTE _find table
59
- ctes: [(0, unnest_1.buildUnnestCte)("_find", argsColumns, (0, findDataLoader_1.createColumnValues)(meta, argsColumns, queries))],
60
- orderBys: [],
61
- };
62
- const rows = await em["executeFind"](meta, exports.findCountOperation, query2, {});
63
- // Make an empty array for each batched query, per the dataloader contract
64
- const results = queries.map(() => 0);
65
- // Then put each row into the tagged query it matched
66
- for (const row of rows) {
67
- results[row.tag] = Number(row.count);
68
- }
69
- return results;
70
- },
71
- // Our filter/order tuple is a complex object, so object-hash it to ensure caching works
72
- { cacheKeyFn: findDataLoader_1.whereFilterHash });
73
- }
74
- //# sourceMappingURL=findCountDataLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findCountDataLoader.js","sourceRoot":"","sources":["../../src/dataloaders/findCountDataLoader.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import DataLoader from "dataloader";
2
- import { Entity } from "../Entity";
3
- import { FilterAndSettings } from "../EntityFilter";
4
- import { EntityManager, MaybeAbstractEntityConstructor } from "../EntityManager";
5
- import { EntityMetadata } from "../EntityMetadata";
6
- import { ParsedCteClause, ParsedFindQuery } from "../QueryParser";
7
- import { OpColumn } from "../drivers/EntityWriter";
8
- import { LoadHint } from "../loadHints";
9
- export declare const findOperation = "find";
10
- export declare function findDataLoader<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>, filter: FilterAndSettings<T>, hint: LoadHint<T> | undefined): DataLoader<FilterAndSettings<T>, T[]>;
11
- export declare function whereFilterHash(where: FilterAndSettings<any>): any;
12
- /**
13
- * Recursively finds args in `query` and replaces them with `_find.argX` placeholders.
14
- *
15
- * We also return the name/type of each found/rewritten arg so we can build the `_find` CTE table.
16
- */
17
- export declare function collectAndReplaceArgs(query: ParsedFindQuery): {
18
- columnName: string;
19
- dbType: string;
20
- }[];
21
- export declare function createColumnValues(meta: EntityMetadata, columns: OpColumn[], queries: readonly FilterAndSettings<any>[]): any[][];
22
- /**
23
- * Creates a `VALUES (...), (...)` SQL string for use in a CTE, typically for our
24
- * batch INSERTs/UPDATEs where the CTE is how we inject N rows of data/params into
25
- * the single INSERT/UPDATE statement.
26
- *
27
- * The caller is responsible for filling in the `bindings`, which should have 1
28
- * entry for each `rows x columns` cell.
29
- *
30
- * @deprecated Use newUnnestCte instead because it uses arrays to have a bounded number of parameters.
31
- */
32
- export declare function buildValuesCte(alias: string, columns: {
33
- columnName: string;
34
- dbType: string;
35
- }[], rows: readonly any[], bindings: readonly any[]): ParsedCteClause;
36
- export declare function getBatchKeyFromGenericStructure(meta: EntityMetadata, query: ParsedFindQuery): string;
37
- //# sourceMappingURL=findDataLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findDataLoader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/findDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAY,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAoB,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAe,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAEL,eAAe,EACf,eAAe,EAMhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,GAC5B,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CA0GvC;AA0BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,CAElE;AASD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAiCtG;AAaD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,QAAQ,EAAE,EACnB,OAAO,EAAE,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,GACzC,GAAG,EAAE,EAAE,CAcT;AA2ED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,EACjD,IAAI,EAAE,SAAS,GAAG,EAAE,EAEpB,QAAQ,EAAE,SAAS,GAAG,EAAE,GACvB,eAAe,CAYjB;AAQD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAUpG"}