joist-orm 1.293.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/build/{drivers/PostgresDriver.d.ts → PostgresDriver.d.ts} +1 -4
  2. package/build/PostgresDriver.d.ts.map +1 -0
  3. package/build/{drivers/PostgresDriver.js → PostgresDriver.js} +49 -58
  4. package/build/PostgresDriver.js.map +1 -0
  5. package/build/codegen.d.ts +2 -0
  6. package/build/codegen.d.ts.map +1 -0
  7. package/build/codegen.js +29 -0
  8. package/build/codegen.js.map +1 -0
  9. package/build/graphql-codegen-export.d.ts +2 -0
  10. package/build/graphql-codegen-export.d.ts.map +1 -0
  11. package/build/{drivers/index.js → graphql-codegen-export.js} +3 -5
  12. package/build/graphql-codegen-export.js.map +1 -0
  13. package/build/graphql-export.d.ts +2 -0
  14. package/build/graphql-export.d.ts.map +1 -0
  15. package/build/graphql-export.js +19 -0
  16. package/build/graphql-export.js.map +1 -0
  17. package/build/index.d.ts +3 -127
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +8 -282
  20. package/build/index.js.map +1 -1
  21. package/build/knex-export.d.ts +2 -0
  22. package/build/knex-export.d.ts.map +1 -0
  23. package/build/knex-export.js +19 -0
  24. package/build/knex-export.js.map +1 -0
  25. package/build/pg-migrate.d.ts +2 -0
  26. package/build/pg-migrate.d.ts.map +1 -0
  27. package/build/pg-migrate.js +30 -0
  28. package/build/pg-migrate.js.map +1 -0
  29. package/build/postgres-driver.d.ts +2 -0
  30. package/build/postgres-driver.d.ts.map +1 -0
  31. package/build/postgres-driver.js +7 -0
  32. package/build/postgres-driver.js.map +1 -0
  33. package/build/tests-export.d.ts +2 -0
  34. package/build/tests-export.d.ts.map +1 -0
  35. package/build/tests-export.js +19 -0
  36. package/build/tests-export.js.map +1 -0
  37. package/build/trusted.d.ts +5 -0
  38. package/build/trusted.d.ts.map +1 -0
  39. package/build/trusted.js +15 -0
  40. package/build/trusted.js.map +1 -0
  41. package/package.json +85 -16
  42. package/build/AliasAssigner.d.ts +0 -7
  43. package/build/AliasAssigner.d.ts.map +0 -1
  44. package/build/AliasAssigner.js +0 -30
  45. package/build/AliasAssigner.js.map +0 -1
  46. package/build/Aliases.d.ts +0 -110
  47. package/build/Aliases.d.ts.map +0 -1
  48. package/build/Aliases.js +0 -456
  49. package/build/Aliases.js.map +0 -1
  50. package/build/BaseEntity.d.ts +0 -66
  51. package/build/BaseEntity.d.ts.map +0 -1
  52. package/build/BaseEntity.js +0 -120
  53. package/build/BaseEntity.js.map +0 -1
  54. package/build/ConditionBuilder.d.ts +0 -50
  55. package/build/ConditionBuilder.d.ts.map +0 -1
  56. package/build/ConditionBuilder.js +0 -178
  57. package/build/ConditionBuilder.js.map +0 -1
  58. package/build/Entity.d.ts +0 -38
  59. package/build/Entity.d.ts.map +0 -1
  60. package/build/Entity.js +0 -8
  61. package/build/Entity.js.map +0 -1
  62. package/build/EntityFields.d.ts +0 -37
  63. package/build/EntityFields.d.ts.map +0 -1
  64. package/build/EntityFields.js +0 -3
  65. package/build/EntityFields.js.map +0 -1
  66. package/build/EntityFilter.d.ts +0 -113
  67. package/build/EntityFilter.d.ts.map +0 -1
  68. package/build/EntityFilter.js +0 -3
  69. package/build/EntityFilter.js.map +0 -1
  70. package/build/EntityGraphQLFilter.d.ts +0 -51
  71. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  72. package/build/EntityGraphQLFilter.js +0 -54
  73. package/build/EntityGraphQLFilter.js.map +0 -1
  74. package/build/EntityManager.d.ts +0 -734
  75. package/build/EntityManager.d.ts.map +0 -1
  76. package/build/EntityManager.js +0 -2069
  77. package/build/EntityManager.js.map +0 -1
  78. package/build/EntityMetadata.d.ts +0 -185
  79. package/build/EntityMetadata.d.ts.map +0 -1
  80. package/build/EntityMetadata.js +0 -61
  81. package/build/EntityMetadata.js.map +0 -1
  82. package/build/EnumMetadata.d.ts +0 -15
  83. package/build/EnumMetadata.d.ts.map +0 -1
  84. package/build/EnumMetadata.js +0 -3
  85. package/build/EnumMetadata.js.map +0 -1
  86. package/build/FlushLock.d.ts +0 -26
  87. package/build/FlushLock.d.ts.map +0 -1
  88. package/build/FlushLock.js +0 -57
  89. package/build/FlushLock.js.map +0 -1
  90. package/build/HintTree.d.ts +0 -42
  91. package/build/HintTree.d.ts.map +0 -1
  92. package/build/HintTree.js +0 -64
  93. package/build/HintTree.js.map +0 -1
  94. package/build/IndexManager.d.ts +0 -30
  95. package/build/IndexManager.d.ts.map +0 -1
  96. package/build/IndexManager.js +0 -206
  97. package/build/IndexManager.js.map +0 -1
  98. package/build/InstanceData.d.ts +0 -59
  99. package/build/InstanceData.d.ts.map +0 -1
  100. package/build/InstanceData.js +0 -162
  101. package/build/InstanceData.js.map +0 -1
  102. package/build/IsLoadedCache.d.ts +0 -32
  103. package/build/IsLoadedCache.d.ts.map +0 -1
  104. package/build/IsLoadedCache.js +0 -80
  105. package/build/IsLoadedCache.js.map +0 -1
  106. package/build/JoinRows.d.ts +0 -75
  107. package/build/JoinRows.d.ts.map +0 -1
  108. package/build/JoinRows.js +0 -246
  109. package/build/JoinRows.js.map +0 -1
  110. package/build/PluginManager.d.ts +0 -90
  111. package/build/PluginManager.d.ts.map +0 -1
  112. package/build/PluginManager.js +0 -97
  113. package/build/PluginManager.js.map +0 -1
  114. package/build/QueryParser.d.ts +0 -271
  115. package/build/QueryParser.d.ts.map +0 -1
  116. package/build/QueryParser.js +0 -853
  117. package/build/QueryParser.js.map +0 -1
  118. package/build/QueryParser.pruning.d.ts +0 -5
  119. package/build/QueryParser.pruning.d.ts.map +0 -1
  120. package/build/QueryParser.pruning.js +0 -118
  121. package/build/QueryParser.pruning.js.map +0 -1
  122. package/build/QueryVisitor.d.ts +0 -19
  123. package/build/QueryVisitor.d.ts.map +0 -1
  124. package/build/QueryVisitor.js +0 -84
  125. package/build/QueryVisitor.js.map +0 -1
  126. package/build/ReactionsManager.d.ts +0 -84
  127. package/build/ReactionsManager.d.ts.map +0 -1
  128. package/build/ReactionsManager.js +0 -307
  129. package/build/ReactionsManager.js.map +0 -1
  130. package/build/Todo.d.ts +0 -31
  131. package/build/Todo.d.ts.map +0 -1
  132. package/build/Todo.js +0 -73
  133. package/build/Todo.js.map +0 -1
  134. package/build/caches.d.ts +0 -6
  135. package/build/caches.d.ts.map +0 -1
  136. package/build/caches.js +0 -42
  137. package/build/caches.js.map +0 -1
  138. package/build/changes.d.ts +0 -79
  139. package/build/changes.d.ts.map +0 -1
  140. package/build/changes.js +0 -251
  141. package/build/changes.js.map +0 -1
  142. package/build/config.d.ts +0 -237
  143. package/build/config.d.ts.map +0 -1
  144. package/build/config.js +0 -298
  145. package/build/config.js.map +0 -1
  146. package/build/config.test.d.ts +0 -2
  147. package/build/config.test.d.ts.map +0 -1
  148. package/build/config.test.js +0 -53
  149. package/build/config.test.js.map +0 -1
  150. package/build/configure.d.ts +0 -13
  151. package/build/configure.d.ts.map +0 -1
  152. package/build/configure.js +0 -329
  153. package/build/configure.js.map +0 -1
  154. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  155. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  156. package/build/dataloaders/findByUniqueDataLoader.js +0 -47
  157. package/build/dataloaders/findByUniqueDataLoader.js.map +0 -1
  158. package/build/dataloaders/findCountDataLoader.d.ts +0 -7
  159. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  160. package/build/dataloaders/findCountDataLoader.js +0 -74
  161. package/build/dataloaders/findCountDataLoader.js.map +0 -1
  162. package/build/dataloaders/findDataLoader.d.ts +0 -37
  163. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  164. package/build/dataloaders/findDataLoader.js +0 -337
  165. package/build/dataloaders/findDataLoader.js.map +0 -1
  166. package/build/dataloaders/findIdsDataLoader.d.ts +0 -7
  167. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  168. package/build/dataloaders/findIdsDataLoader.js +0 -74
  169. package/build/dataloaders/findIdsDataLoader.js.map +0 -1
  170. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  171. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  172. package/build/dataloaders/findOrCreateDataLoader.js +0 -174
  173. package/build/dataloaders/findOrCreateDataLoader.js.map +0 -1
  174. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  175. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  176. package/build/dataloaders/lensDataLoader.js +0 -180
  177. package/build/dataloaders/lensDataLoader.js.map +0 -1
  178. package/build/dataloaders/loadDataLoader.d.ts +0 -11
  179. package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
  180. package/build/dataloaders/loadDataLoader.js +0 -54
  181. package/build/dataloaders/loadDataLoader.js.map +0 -1
  182. package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
  183. package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
  184. package/build/dataloaders/manyToManyDataLoader.js +0 -74
  185. package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
  186. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  187. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  188. package/build/dataloaders/manyToManyFindDataLoader.js +0 -70
  189. package/build/dataloaders/manyToManyFindDataLoader.js.map +0 -1
  190. package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
  191. package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
  192. package/build/dataloaders/oneToManyDataLoader.js +0 -60
  193. package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
  194. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  195. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  196. package/build/dataloaders/oneToManyFindDataLoader.js +0 -71
  197. package/build/dataloaders/oneToManyFindDataLoader.js.map +0 -1
  198. package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
  199. package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
  200. package/build/dataloaders/oneToOneDataLoader.js +0 -59
  201. package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
  202. package/build/dataloaders/populateDataLoader.d.ts +0 -13
  203. package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
  204. package/build/dataloaders/populateDataLoader.js +0 -148
  205. package/build/dataloaders/populateDataLoader.js.map +0 -1
  206. package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
  207. package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
  208. package/build/dataloaders/recursiveChildrenDataLoader.js +0 -77
  209. package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
  210. package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
  211. package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
  212. package/build/dataloaders/recursiveParentsDataLoader.js +0 -59
  213. package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
  214. package/build/defaults.d.ts +0 -54
  215. package/build/defaults.d.ts.map +0 -1
  216. package/build/defaults.js +0 -282
  217. package/build/defaults.js.map +0 -1
  218. package/build/driverApi.d.ts +0 -19
  219. package/build/driverApi.d.ts.map +0 -1
  220. package/build/driverApi.js +0 -17
  221. package/build/driverApi.js.map +0 -1
  222. package/build/drivers/Driver.d.ts +0 -26
  223. package/build/drivers/Driver.d.ts.map +0 -1
  224. package/build/drivers/Driver.js +0 -3
  225. package/build/drivers/Driver.js.map +0 -1
  226. package/build/drivers/EntityWriter.d.ts +0 -64
  227. package/build/drivers/EntityWriter.d.ts.map +0 -1
  228. package/build/drivers/EntityWriter.js +0 -237
  229. package/build/drivers/EntityWriter.js.map +0 -1
  230. package/build/drivers/IdAssigner.d.ts +0 -50
  231. package/build/drivers/IdAssigner.d.ts.map +0 -1
  232. package/build/drivers/IdAssigner.js +0 -133
  233. package/build/drivers/IdAssigner.js.map +0 -1
  234. package/build/drivers/PostgresDriver.d.ts.map +0 -1
  235. package/build/drivers/PostgresDriver.js.map +0 -1
  236. package/build/drivers/buildRawQuery.d.ts +0 -20
  237. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  238. package/build/drivers/buildRawQuery.js +0 -148
  239. package/build/drivers/buildRawQuery.js.map +0 -1
  240. package/build/drivers/buildUtils.d.ts +0 -4
  241. package/build/drivers/buildUtils.d.ts.map +0 -1
  242. package/build/drivers/buildUtils.js +0 -79
  243. package/build/drivers/buildUtils.js.map +0 -1
  244. package/build/drivers/index.d.ts +0 -5
  245. package/build/drivers/index.d.ts.map +0 -1
  246. package/build/drivers/index.js.map +0 -1
  247. package/build/fields.d.ts +0 -24
  248. package/build/fields.d.ts.map +0 -1
  249. package/build/fields.js +0 -161
  250. package/build/fields.js.map +0 -1
  251. package/build/getProperties.d.ts +0 -28
  252. package/build/getProperties.d.ts.map +0 -1
  253. package/build/getProperties.js +0 -141
  254. package/build/getProperties.js.map +0 -1
  255. package/build/json.d.ts +0 -77
  256. package/build/json.d.ts.map +0 -1
  257. package/build/json.js +0 -116
  258. package/build/json.js.map +0 -1
  259. package/build/k.d.ts +0 -2
  260. package/build/k.d.ts.map +0 -1
  261. package/build/k.js +0 -9
  262. package/build/k.js.map +0 -1
  263. package/build/keys.d.ts +0 -49
  264. package/build/keys.d.ts.map +0 -1
  265. package/build/keys.js +0 -195
  266. package/build/keys.js.map +0 -1
  267. package/build/keywords.d.ts +0 -5
  268. package/build/keywords.d.ts.map +0 -1
  269. package/build/keywords.js +0 -124
  270. package/build/keywords.js.map +0 -1
  271. package/build/loadHints.d.ts +0 -112
  272. package/build/loadHints.d.ts.map +0 -1
  273. package/build/loadHints.js +0 -75
  274. package/build/loadHints.js.map +0 -1
  275. package/build/loadLens.d.ts +0 -66
  276. package/build/loadLens.d.ts.map +0 -1
  277. package/build/loadLens.js +0 -287
  278. package/build/loadLens.js.map +0 -1
  279. package/build/logging/FactoryLogger.d.ts +0 -24
  280. package/build/logging/FactoryLogger.d.ts.map +0 -1
  281. package/build/logging/FactoryLogger.js +0 -77
  282. package/build/logging/FactoryLogger.js.map +0 -1
  283. package/build/logging/FieldLogger.d.ts +0 -27
  284. package/build/logging/FieldLogger.d.ts.map +0 -1
  285. package/build/logging/FieldLogger.js +0 -69
  286. package/build/logging/FieldLogger.js.map +0 -1
  287. package/build/logging/ReactionLogger.d.ts +0 -23
  288. package/build/logging/ReactionLogger.d.ts.map +0 -1
  289. package/build/logging/ReactionLogger.js +0 -65
  290. package/build/logging/ReactionLogger.js.map +0 -1
  291. package/build/newEntity.d.ts +0 -45
  292. package/build/newEntity.d.ts.map +0 -1
  293. package/build/newEntity.js +0 -106
  294. package/build/newEntity.js.map +0 -1
  295. package/build/newTestInstance.d.ts +0 -193
  296. package/build/newTestInstance.d.ts.map +0 -1
  297. package/build/newTestInstance.js +0 -738
  298. package/build/newTestInstance.js.map +0 -1
  299. package/build/normalizeHints.d.ts +0 -16
  300. package/build/normalizeHints.d.ts.map +0 -1
  301. package/build/normalizeHints.js +0 -31
  302. package/build/normalizeHints.js.map +0 -1
  303. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  304. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  305. package/build/plugins/ImmutableEntitiesPlugin.js +0 -21
  306. package/build/plugins/ImmutableEntitiesPlugin.js.map +0 -1
  307. package/build/plugins/PreloadPlugin.d.ts +0 -69
  308. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  309. package/build/plugins/PreloadPlugin.js +0 -3
  310. package/build/plugins/PreloadPlugin.js.map +0 -1
  311. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  312. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  313. package/build/preloading/JsonAggregatePreloader.js +0 -238
  314. package/build/preloading/JsonAggregatePreloader.js.map +0 -1
  315. package/build/preloading/canPreload.d.ts +0 -3
  316. package/build/preloading/canPreload.d.ts.map +0 -1
  317. package/build/preloading/canPreload.js +0 -21
  318. package/build/preloading/canPreload.js.map +0 -1
  319. package/build/preloading/partitionHint.d.ts +0 -5
  320. package/build/preloading/partitionHint.d.ts.map +0 -1
  321. package/build/preloading/partitionHint.js +0 -56
  322. package/build/preloading/partitionHint.js.map +0 -1
  323. package/build/reactiveHints.d.ts +0 -129
  324. package/build/reactiveHints.d.ts.map +0 -1
  325. package/build/reactiveHints.js +0 -458
  326. package/build/reactiveHints.js.map +0 -1
  327. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  328. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  329. package/build/relations/AbstractPropertyImpl.js +0 -15
  330. package/build/relations/AbstractPropertyImpl.js.map +0 -1
  331. package/build/relations/AbstractRelationImpl.d.ts +0 -36
  332. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  333. package/build/relations/AbstractRelationImpl.js +0 -19
  334. package/build/relations/AbstractRelationImpl.js.map +0 -1
  335. package/build/relations/Collection.d.ts +0 -28
  336. package/build/relations/Collection.d.ts.map +0 -1
  337. package/build/relations/Collection.js +0 -18
  338. package/build/relations/Collection.js.map +0 -1
  339. package/build/relations/CustomCollection.d.ts +0 -69
  340. package/build/relations/CustomCollection.d.ts.map +0 -1
  341. package/build/relations/CustomCollection.js +0 -166
  342. package/build/relations/CustomCollection.js.map +0 -1
  343. package/build/relations/CustomReference.d.ts +0 -71
  344. package/build/relations/CustomReference.d.ts.map +0 -1
  345. package/build/relations/CustomReference.js +0 -152
  346. package/build/relations/CustomReference.js.map +0 -1
  347. package/build/relations/LargeCollection.d.ts +0 -19
  348. package/build/relations/LargeCollection.d.ts.map +0 -1
  349. package/build/relations/LargeCollection.js +0 -3
  350. package/build/relations/LargeCollection.js.map +0 -1
  351. package/build/relations/ManyToManyCollection.d.ts +0 -44
  352. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  353. package/build/relations/ManyToManyCollection.js +0 -268
  354. package/build/relations/ManyToManyCollection.js.map +0 -1
  355. package/build/relations/ManyToManyLargeCollection.d.ts +0 -30
  356. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  357. package/build/relations/ManyToManyLargeCollection.js +0 -119
  358. package/build/relations/ManyToManyLargeCollection.js.map +0 -1
  359. package/build/relations/ManyToOneReference.d.ts +0 -121
  360. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  361. package/build/relations/ManyToOneReference.js +0 -389
  362. package/build/relations/ManyToOneReference.js.map +0 -1
  363. package/build/relations/OneToManyCollection.d.ts +0 -58
  364. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  365. package/build/relations/OneToManyCollection.js +0 -347
  366. package/build/relations/OneToManyCollection.js.map +0 -1
  367. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  368. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  369. package/build/relations/OneToManyLargeCollection.js +0 -102
  370. package/build/relations/OneToManyLargeCollection.js.map +0 -1
  371. package/build/relations/OneToOneReference.d.ts +0 -93
  372. package/build/relations/OneToOneReference.d.ts.map +0 -1
  373. package/build/relations/OneToOneReference.js +0 -228
  374. package/build/relations/OneToOneReference.js.map +0 -1
  375. package/build/relations/PolymorphicReference.d.ts +0 -89
  376. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  377. package/build/relations/PolymorphicReference.js +0 -244
  378. package/build/relations/PolymorphicReference.js.map +0 -1
  379. package/build/relations/ReactiveField.d.ts +0 -87
  380. package/build/relations/ReactiveField.d.ts.map +0 -1
  381. package/build/relations/ReactiveField.js +0 -149
  382. package/build/relations/ReactiveField.js.map +0 -1
  383. package/build/relations/ReactiveGetter.d.ts +0 -30
  384. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  385. package/build/relations/ReactiveGetter.js +0 -38
  386. package/build/relations/ReactiveGetter.js.map +0 -1
  387. package/build/relations/ReactiveManyToMany.d.ts +0 -56
  388. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  389. package/build/relations/ReactiveManyToMany.js +0 -243
  390. package/build/relations/ReactiveManyToMany.js.map +0 -1
  391. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -47
  392. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  393. package/build/relations/ReactiveManyToManyOtherSide.js +0 -155
  394. package/build/relations/ReactiveManyToManyOtherSide.js.map +0 -1
  395. package/build/relations/ReactiveQueryField.d.ts +0 -41
  396. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  397. package/build/relations/ReactiveQueryField.js +0 -125
  398. package/build/relations/ReactiveQueryField.js.map +0 -1
  399. package/build/relations/ReactiveReference.d.ts +0 -119
  400. package/build/relations/ReactiveReference.d.ts.map +0 -1
  401. package/build/relations/ReactiveReference.js +0 -333
  402. package/build/relations/ReactiveReference.js.map +0 -1
  403. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  404. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  405. package/build/relations/ReadOnlyCollection.js +0 -15
  406. package/build/relations/ReadOnlyCollection.js.map +0 -1
  407. package/build/relations/RecursiveCollection.d.ts +0 -84
  408. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  409. package/build/relations/RecursiveCollection.js +0 -296
  410. package/build/relations/RecursiveCollection.js.map +0 -1
  411. package/build/relations/Reference.d.ts +0 -35
  412. package/build/relations/Reference.d.ts.map +0 -1
  413. package/build/relations/Reference.js +0 -21
  414. package/build/relations/Reference.js.map +0 -1
  415. package/build/relations/Relation.d.ts +0 -14
  416. package/build/relations/Relation.d.ts.map +0 -1
  417. package/build/relations/Relation.js +0 -12
  418. package/build/relations/Relation.js.map +0 -1
  419. package/build/relations/hasAsyncMethod.d.ts +0 -27
  420. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  421. package/build/relations/hasAsyncMethod.js +0 -47
  422. package/build/relations/hasAsyncMethod.js.map +0 -1
  423. package/build/relations/hasAsyncProperty.d.ts +0 -49
  424. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  425. package/build/relations/hasAsyncProperty.js +0 -98
  426. package/build/relations/hasAsyncProperty.js.map +0 -1
  427. package/build/relations/hasManyDerived.d.ts +0 -22
  428. package/build/relations/hasManyDerived.d.ts.map +0 -1
  429. package/build/relations/hasManyDerived.js +0 -32
  430. package/build/relations/hasManyDerived.js.map +0 -1
  431. package/build/relations/hasManyThrough.d.ts +0 -10
  432. package/build/relations/hasManyThrough.d.ts.map +0 -1
  433. package/build/relations/hasManyThrough.js +0 -24
  434. package/build/relations/hasManyThrough.js.map +0 -1
  435. package/build/relations/hasOneDerived.d.ts +0 -12
  436. package/build/relations/hasOneDerived.d.ts.map +0 -1
  437. package/build/relations/hasOneDerived.js +0 -24
  438. package/build/relations/hasOneDerived.js.map +0 -1
  439. package/build/relations/hasOneThrough.d.ts +0 -10
  440. package/build/relations/hasOneThrough.d.ts.map +0 -1
  441. package/build/relations/hasOneThrough.js +0 -24
  442. package/build/relations/hasOneThrough.js.map +0 -1
  443. package/build/relations/index.d.ts +0 -28
  444. package/build/relations/index.d.ts.map +0 -1
  445. package/build/relations/index.js +0 -88
  446. package/build/relations/index.js.map +0 -1
  447. package/build/rules.d.ts +0 -123
  448. package/build/rules.d.ts.map +0 -1
  449. package/build/rules.js +0 -231
  450. package/build/rules.js.map +0 -1
  451. package/build/runtimeConfig.d.ts +0 -17
  452. package/build/runtimeConfig.d.ts.map +0 -1
  453. package/build/runtimeConfig.js +0 -18
  454. package/build/runtimeConfig.js.map +0 -1
  455. package/build/serde.d.ts +0 -277
  456. package/build/serde.d.ts.map +0 -1
  457. package/build/serde.js +0 -517
  458. package/build/serde.js.map +0 -1
  459. package/build/temporal.d.ts +0 -16
  460. package/build/temporal.d.ts.map +0 -1
  461. package/build/temporal.js +0 -48
  462. package/build/temporal.js.map +0 -1
  463. package/build/temporalMappers.d.ts +0 -25
  464. package/build/temporalMappers.d.ts.map +0 -1
  465. package/build/temporalMappers.js +0 -59
  466. package/build/temporalMappers.js.map +0 -1
  467. package/build/typeMap.d.ts +0 -68
  468. package/build/typeMap.d.ts.map +0 -1
  469. package/build/typeMap.js +0 -3
  470. package/build/typeMap.js.map +0 -1
  471. package/build/unnest.d.ts +0 -13
  472. package/build/unnest.d.ts.map +0 -1
  473. package/build/unnest.js +0 -85
  474. package/build/unnest.js.map +0 -1
  475. package/build/upsert.d.ts +0 -42
  476. package/build/upsert.d.ts.map +0 -1
  477. package/build/upsert.js +0 -265
  478. package/build/upsert.js.map +0 -1
  479. package/build/utils.d.ts +0 -58
  480. package/build/utils.d.ts.map +0 -1
  481. package/build/utils.js +0 -236
  482. package/build/utils.js.map +0 -1
  483. package/build/withLoaded.d.ts +0 -56
  484. package/build/withLoaded.d.ts.map +0 -1
  485. package/build/withLoaded.js +0 -76
  486. package/build/withLoaded.js.map +0 -1
@@ -1,47 +0,0 @@
1
- import { Entity, EntityMetadata, ManyToManyField, ReadOnlyCollection } from "..";
2
- import { IsLoadedCachable } from "../IsLoadedCache";
3
- import { ManyToManyLike } from "../JoinRows";
4
- import { AbstractRelationImpl } from "./AbstractRelationImpl";
5
- import { RelationT, RelationU } from "./Relation";
6
- /**
7
- * A read-only collection representing the "other side" of a ReactiveManyToMany.
8
- *
9
- * I.e. when `Author.bestReviews` is a `ReactiveManyToMany` (controlling side), `BookReview.bestReviewAuthors`
10
- * the `ReactiveManyToManyOtherSide` (read-only view).
11
- */
12
- export interface ReactiveManyToManyOtherSide<T extends Entity, U extends Entity> extends ReadOnlyCollection<T, U> {
13
- }
14
- /** Creates a ReactiveManyToManyOtherSide, the read-only other side of a ReactiveManyToMany. */
15
- export declare function hasReactiveManyToManyOtherSide<T extends Entity, U extends Entity>(): ReactiveManyToManyOtherSide<T, U>;
16
- export declare class ReactiveManyToManyOtherSideImpl<T extends Entity, U extends Entity> extends AbstractRelationImpl<T, U[]> implements ReactiveManyToManyOtherSide<T, U>, ManyToManyLike, IsLoadedCachable {
17
- #private;
18
- constructor(entity: T, field: ManyToManyField);
19
- load(opts?: {
20
- withDeleted?: boolean;
21
- forceReload?: boolean;
22
- }): Promise<readonly U[]>;
23
- get isLoaded(): boolean;
24
- resetIsLoaded(): void;
25
- get get(): U[];
26
- get getWithDeleted(): U[];
27
- set(): void;
28
- setFromOpts(_others: U[]): void;
29
- maybeCascadeDelete(): void;
30
- cleanupOnEntityDeleted(): Promise<void>;
31
- get fieldName(): string;
32
- get meta(): EntityMetadata;
33
- get otherMeta(): EntityMetadata;
34
- get joinTableName(): string;
35
- get columnName(): string;
36
- get otherColumnName(): string;
37
- get otherFieldName(): string;
38
- get hasBeenSet(): boolean;
39
- get isPreloaded(): boolean;
40
- preload(): void;
41
- import(other: ReactiveManyToManyOtherSideImpl<T, U>, _: unknown, mapEntities: (e: U[] | undefined) => U[] | undefined): void;
42
- toString(): string;
43
- [RelationT]: T;
44
- [RelationU]: U;
45
- }
46
- export declare function isReactiveManyToManyOtherSide(maybeCollection: any): maybeCollection is ReactiveManyToManyOtherSide<any, any>;
47
- //# sourceMappingURL=ReactiveManyToManyOtherSide.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReactiveManyToManyOtherSide.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveManyToManyOtherSide.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,cAAc,EAId,eAAe,EACf,kBAAkB,EACnB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEpH,+FAA+F;AAC/F,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,KAAK,2BAA2B,CAC/G,CAAC,EACD,CAAC,CACF,CAKA;AAED,qBAAa,+BAA+B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAC7E,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CACnC,YAAW,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB;;gBAWlE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe;IAMvC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAe1F,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,aAAa,IAAI,IAAI;IAIrB,IAAI,GAAG,IAAI,CAAC,EAAE,CAEb;IAED,IAAI,cAAc,IAAI,CAAC,EAAE,CAExB;IAED,GAAG,IAAI,IAAI;IAIX,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI;IAI/B,kBAAkB,IAAI,IAAI;IAIpB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7C,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,IAAI,IAAI,IAAI,cAAc,CAEzB;IAED,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,IAAI,IAAI;IAIf,MAAM,CACJ,KAAK,EAAE,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5C,CAAC,EAAE,OAAO,EACV,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,KAAK,CAAC,EAAE,GAAG,SAAS,GACnD,IAAI;IAMA,QAAQ,IAAI,MAAM;IA0CzB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAS;IACvB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAS;CACxB;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,GAAG,GACnB,eAAe,IAAI,2BAA2B,CAAC,GAAG,EAAE,GAAG,CAAC,CAE1D"}
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReactiveManyToManyOtherSideImpl = void 0;
4
- exports.hasReactiveManyToManyOtherSide = hasReactiveManyToManyOtherSide;
5
- exports.isReactiveManyToManyOtherSide = isReactiveManyToManyOtherSide;
6
- const __1 = require("..");
7
- const manyToManyDataLoader_1 = require("../dataloaders/manyToManyDataLoader");
8
- const newEntity_1 = require("../newEntity");
9
- const AbstractRelationImpl_1 = require("./AbstractRelationImpl");
10
- const Relation_1 = require("./Relation");
11
- /** Creates a ReactiveManyToManyOtherSide, the read-only other side of a ReactiveManyToMany. */
12
- function hasReactiveManyToManyOtherSide() {
13
- return (0, newEntity_1.lazyField)((entity, fieldName) => {
14
- const m2m = (0, __1.getMetadata)(entity).allFields[fieldName];
15
- return new ReactiveManyToManyOtherSideImpl(entity, m2m);
16
- });
17
- }
18
- class ReactiveManyToManyOtherSideImpl extends AbstractRelationImpl_1.AbstractRelationImpl {
19
- #field;
20
- // Loading state
21
- #loaded;
22
- #isLoaded = false;
23
- #loadPromise;
24
- // Cached result of applyPendingChanges (without deleted filtering)
25
- #cached;
26
- #isCached = false;
27
- constructor(entity, field) {
28
- super(entity);
29
- this.#field = field;
30
- (0, __1.getInstanceData)(entity).relations[field.fieldName] = this;
31
- }
32
- async load(opts) {
33
- (0, __1.ensureNotDeleted)(this.entity, "pending");
34
- if (!this.#isLoaded || opts?.forceReload) {
35
- this.#isCached = false;
36
- return (this.#loadPromise ??= this.#loadFromJoinTable().then((loaded) => {
37
- this.#loadPromise = undefined;
38
- this.#loaded = loaded;
39
- this.#isLoaded = true;
40
- (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.addNaive(this);
41
- return this.#doGet(opts);
42
- }));
43
- }
44
- return this.#doGet(opts);
45
- }
46
- get isLoaded() {
47
- return this.#isLoaded;
48
- }
49
- resetIsLoaded() {
50
- this.#isCached = false;
51
- }
52
- get get() {
53
- return this.#doGet({ withDeleted: false });
54
- }
55
- get getWithDeleted() {
56
- return this.#doGet({ withDeleted: true });
57
- }
58
- set() {
59
- throw new Error(`ReactiveManyToManyOtherSide ${this.entity}.${this.fieldName} cannot be set`);
60
- }
61
- setFromOpts(_others) {
62
- throw new Error(`ReactiveManyToManyOtherSide ${this.entity}.${this.fieldName} cannot be set via opts`);
63
- }
64
- maybeCascadeDelete() {
65
- // Don't cascade - the controlling side handles this
66
- }
67
- async cleanupOnEntityDeleted() {
68
- this.#loaded = [];
69
- this.#cached = undefined;
70
- this.#isCached = false;
71
- this.#isLoaded = false;
72
- }
73
- get fieldName() {
74
- return this.#field.fieldName;
75
- }
76
- // Properties for JoinRows/ManyToManyCollection compatibility
77
- get meta() {
78
- return (0, __1.getMetadata)(this.entity);
79
- }
80
- get otherMeta() {
81
- return this.#field.otherMetadata();
82
- }
83
- get joinTableName() {
84
- return this.#field.joinTableName;
85
- }
86
- get columnName() {
87
- return this.#field.columnNames[0];
88
- }
89
- get otherColumnName() {
90
- return this.#field.columnNames[1];
91
- }
92
- get otherFieldName() {
93
- return this.#field.otherFieldName;
94
- }
95
- get hasBeenSet() {
96
- return false;
97
- }
98
- get isPreloaded() {
99
- return false;
100
- }
101
- preload() {
102
- // No-op for reactive m2m other side
103
- }
104
- import(other, _, mapEntities) {
105
- this.#loaded = mapEntities(other.#loaded);
106
- this.#isLoaded = other.#isLoaded;
107
- // Don't copy #cached/#isCached since it assumes we're registered in `isLoaded`, let #doGet do that
108
- }
109
- toString() {
110
- return `ReactiveManyToManyOtherSide(entity: ${this.entity}, fieldName: ${this.fieldName}, otherMeta: ${this.otherMeta.type})`;
111
- }
112
- #doGet(opts) {
113
- (0, __1.ensureNotDeleted)(this.entity, "pending");
114
- if (!this.#isLoaded) {
115
- throw new Error(`${this.entity}.${this.fieldName} has not been loaded yet`);
116
- }
117
- if (!this.#isCached) {
118
- this.#cached = this.#applyPendingChanges(this.#loaded ?? []);
119
- this.#isCached = true;
120
- (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.addNaive(this);
121
- }
122
- return this.#filterDeleted(this.#cached, opts);
123
- }
124
- async #loadFromJoinTable() {
125
- const { em } = this.entity;
126
- const key = `${this.columnName}=${this.entity.id}`;
127
- const result = await (0, manyToManyDataLoader_1.manyToManyDataLoader)(em, this).load(key);
128
- return result;
129
- }
130
- /** Apply pending changes from the controlling side. */
131
- #applyPendingChanges(baseEntities) {
132
- const result = new Set(baseEntities);
133
- const jr = (0, __1.getEmInternalApi)(this.entity.em).joinRows(this);
134
- const added = jr.addedFor(this, this.entity);
135
- for (const other of added)
136
- result.add(other);
137
- const removed = jr.removedFor(this, this.entity);
138
- for (const other of removed)
139
- result.delete(other);
140
- return [...result];
141
- }
142
- #filterDeleted(entities, opts) {
143
- if (opts?.withDeleted === true) {
144
- return entities;
145
- }
146
- return entities.filter((e) => !e.isDeletedEntity && !e.isSoftDeletedEntity);
147
- }
148
- [Relation_1.RelationT] = null;
149
- [Relation_1.RelationU] = null;
150
- }
151
- exports.ReactiveManyToManyOtherSideImpl = ReactiveManyToManyOtherSideImpl;
152
- function isReactiveManyToManyOtherSide(maybeCollection) {
153
- return maybeCollection instanceof ReactiveManyToManyOtherSideImpl;
154
- }
155
- //# sourceMappingURL=ReactiveManyToManyOtherSide.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReactiveManyToManyOtherSide.js","sourceRoot":"","sources":["../../src/relations/ReactiveManyToManyOtherSide.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { Entity } from "../Entity";
2
- import { ReactiveField } from "../index";
3
- import { Reacted, ReactiveHint } from "../reactiveHints";
4
- import { AbstractPropertyImpl } from "./AbstractPropertyImpl";
5
- import { AsyncPropertyT } from "./hasAsyncProperty";
6
- /**
7
- * A `ReactiveQueryField` is a value that is derived from a SQL query, similar to
8
- * a `ReactiveField`, but when the value needs to be calculated from SQL because
9
- * it would be too expensive to calculate in-memory.
10
- *
11
- * The `fn` lambda will be called when any data referred to by either the `paramHint` or
12
- * `dbHint` reactive hints have changed, but only the `paramHint`'s data will be pulled
13
- * into memory.
14
- */
15
- export declare function hasReactiveQueryField<T extends Entity, const H1 extends ReactiveHint<T>, const H2 extends ReactiveHint<T>, V>(paramHint: H1, dbHint: H2, fn: (entity: Reacted<T, H1>) => Promise<V>): ReactiveField<T, V>;
16
- export declare class ReactiveQueryFieldImpl<T extends Entity, H1 extends ReactiveHint<T>, H2 extends ReactiveHint<T>, V> extends AbstractPropertyImpl<T> implements ReactiveField<T, V> {
17
- #private;
18
- fieldName: keyof T & string;
19
- paramHint: H1;
20
- dbHint: H2;
21
- private fn;
22
- constructor(entity: T, fieldName: keyof T & string, paramHint: H1, dbHint: H2, fn: (entity: Reacted<T, H1>) => Promise<V>);
23
- /** Our combined param + db reactivity hint, so that we react to changes within both. */
24
- get reactiveHint(): ReactiveHint<any>;
25
- load(opts?: {
26
- forceReload?: boolean;
27
- }): Promise<V>;
28
- /** Returns the previously-calculated value. */
29
- get get(): V;
30
- get fieldValue(): V;
31
- get isSet(): boolean;
32
- get isLoaded(): boolean;
33
- get loadHint(): any;
34
- setFactoryValue(newValue: any): void;
35
- [AsyncPropertyT]: T;
36
- }
37
- /** Type guard utility for determining if an entity field is an ReactiveQueryField. */
38
- export declare function isReactiveQueryField(maybe: any): maybe is ReactiveField<any, any>;
39
- /** Type guard utility for determining if an entity field is a loaded ReactiveQueryField. */
40
- export declare function isLoadedReactiveQueryField(maybe: any): maybe is ReactiveField<any, any>;
41
- //# sourceMappingURL=ReactiveQueryField.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReactiveQueryField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,OAAO,EAAE,aAAa,EAA+B,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS,MAAM,EAChB,KAAK,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAChC,KAAK,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAChC,CAAC,EACD,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAI5F;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7G,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAUrB,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM;IAC3B,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACjB,OAAO,CAAC,EAAE;gBAJV,MAAM,EAAE,CAAC,EACF,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAC3B,SAAS,EAAE,EAAE,EACb,MAAM,EAAE,EAAE,EACT,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IAQpD,wFAAwF;IACxF,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAMpC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBlD,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,CASX;IAED,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,IAAI,KAAK,YAER;IAED,IAAI,QAAQ,YAMX;IAED,IAAI,QAAQ,IAAI,GAAG,CAIlB;IAED,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpC,CAAC,cAAc,CAAC,EAAuB,CAAC,CAAC;CAC1C;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEjF;AAED,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEvF"}
@@ -1,125 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReactiveQueryFieldImpl = void 0;
4
- exports.hasReactiveQueryField = hasReactiveQueryField;
5
- exports.isReactiveQueryField = isReactiveQueryField;
6
- exports.isLoadedReactiveQueryField = isLoadedReactiveQueryField;
7
- const EntityMetadata_1 = require("../EntityMetadata");
8
- const fields_1 = require("../fields");
9
- const index_1 = require("../index");
10
- const newEntity_1 = require("../newEntity");
11
- const reactiveHints_1 = require("../reactiveHints");
12
- const utils_1 = require("../utils");
13
- const AbstractPropertyImpl_1 = require("./AbstractPropertyImpl");
14
- const hasAsyncProperty_1 = require("./hasAsyncProperty");
15
- /**
16
- * A `ReactiveQueryField` is a value that is derived from a SQL query, similar to
17
- * a `ReactiveField`, but when the value needs to be calculated from SQL because
18
- * it would be too expensive to calculate in-memory.
19
- *
20
- * The `fn` lambda will be called when any data referred to by either the `paramHint` or
21
- * `dbHint` reactive hints have changed, but only the `paramHint`'s data will be pulled
22
- * into memory.
23
- */
24
- function hasReactiveQueryField(paramHint, dbHint, fn) {
25
- return (0, newEntity_1.lazyField)((entity, fieldName) => {
26
- return new ReactiveQueryFieldImpl(entity, fieldName, paramHint, dbHint, fn);
27
- });
28
- }
29
- class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
30
- fieldName;
31
- paramHint;
32
- dbHint;
33
- fn;
34
- #paramHint;
35
- #dbHint;
36
- #loadPromise;
37
- #loaded;
38
- #useFactoryValue = false;
39
- constructor(entity, fieldName, paramHint, dbHint, fn) {
40
- super(entity);
41
- this.fieldName = fieldName;
42
- this.paramHint = paramHint;
43
- this.dbHint = dbHint;
44
- this.fn = fn;
45
- this.#paramHint = paramHint;
46
- this.#dbHint = dbHint;
47
- this.#loaded = false;
48
- }
49
- /** Our combined param + db reactivity hint, so that we react to changes within both. */
50
- get reactiveHint() {
51
- // We do this in a getter (instead of the constructor) b/c it might be a little expensive,
52
- // and I'm pretty sure this is only called on boot, when hooking up the reactivity.
53
- const hint = (0, index_1.deepNormalizeHint)(this.#paramHint);
54
- (0, utils_1.mergeNormalizedHints)(hint, (0, index_1.deepNormalizeHint)(this.#dbHint));
55
- return hint;
56
- }
57
- load(opts) {
58
- // if (!this.isSet || opts?.forceReload) {
59
- return (this.#loadPromise ??= this.entity.em
60
- .populate(this.entity, { hint: this.loadHint })
61
- .then(() => {
62
- // Even if the factory used a `with...`, we'll still go through the RFQ logic, but just ignore the new value
63
- return this.#useFactoryValue ? this.fieldValue : this.fn(this.entity);
64
- })
65
- .then((newValue) => {
66
- (0, fields_1.setField)(this.entity, this.fieldName, newValue);
67
- this.#loadPromise = undefined;
68
- this.#loaded = true;
69
- return newValue;
70
- })
71
- .catch((e) => {
72
- // If we blow up calling `this.fn` i.e. due to a NoIdError, we want to make
73
- // sure that the next `.load` call tries again.
74
- this.#loadPromise = undefined;
75
- throw e;
76
- }));
77
- // }
78
- // return tryResolve(() => this.get);
79
- }
80
- /** Returns the previously-calculated value. */
81
- get get() {
82
- // Regular ReactiveFields repeatedly call their `fn` lambda to calculate the value, to ensure
83
- // they always return the latest/correct value, but because ReactiveQueryFields are fundamentally
84
- // calculated from DB queries, we can only return the previously-calculated value, if set.
85
- if (this.isSet) {
86
- return this.fieldValue;
87
- }
88
- else {
89
- throw new Error(`${this.fieldName} has not been derived yet`);
90
- }
91
- }
92
- get fieldValue() {
93
- return (0, fields_1.getField)(this.entity, this.fieldName);
94
- }
95
- get isSet() {
96
- return (0, fields_1.isFieldSet)(this.entity, this.fieldName);
97
- }
98
- get isLoaded() {
99
- const hintLoaded = (0, index_1.isLoaded)(this.entity, this.loadHint);
100
- if (hintLoaded) {
101
- this.#loaded = true;
102
- }
103
- return hintLoaded;
104
- }
105
- get loadHint() {
106
- // Only convert the paramHint, so we don't pull the dbHint-referenced data into memory
107
- const meta = (0, EntityMetadata_1.getMetadata)(this.entity);
108
- return (meta.config.__data.cachedReactiveLoadHints[this.fieldName] ??= (0, reactiveHints_1.convertToLoadHint)(meta, this.#paramHint));
109
- }
110
- setFactoryValue(newValue) {
111
- this.#useFactoryValue = true;
112
- (0, fields_1.setField)(this.entity, this.fieldName, newValue);
113
- }
114
- [hasAsyncProperty_1.AsyncPropertyT] = undefined;
115
- }
116
- exports.ReactiveQueryFieldImpl = ReactiveQueryFieldImpl;
117
- /** Type guard utility for determining if an entity field is an ReactiveQueryField. */
118
- function isReactiveQueryField(maybe) {
119
- return maybe instanceof ReactiveQueryFieldImpl;
120
- }
121
- /** Type guard utility for determining if an entity field is a loaded ReactiveQueryField. */
122
- function isLoadedReactiveQueryField(maybe) {
123
- return isReactiveQueryField(maybe) && maybe.isLoaded;
124
- }
125
- //# sourceMappingURL=ReactiveQueryField.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReactiveQueryField.js","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import { EntityMetadata, ManyToOneField, TaggedId } from "..";
2
- import { Entity } from "../Entity";
3
- import { IdOf } from "../EntityManager";
4
- import { IsLoadedCachable } from "../IsLoadedCache";
5
- import { MaybeReactedEntity, Reacted, ReactiveHint } from "../reactiveHints";
6
- import { AbstractRelationImpl } from "./AbstractRelationImpl";
7
- import { Reference, ReferenceN } from "./Reference";
8
- import { RelationT, RelationU } from "./Relation";
9
- export interface ReactiveReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
10
- isLoaded: boolean;
11
- isSet: boolean;
12
- load(opts?: {
13
- withDeleted?: boolean;
14
- forceReload?: true;
15
- }): Promise<U | N>;
16
- /**
17
- * Returns the as-of-last-flush previously-calculated entity.
18
- *
19
- * This is useful if you have to purposefully avoid using the lambda to calc the latest entity,
20
- * i.e. if you're in a test and want to watch a calculated entity change from some dummy entity
21
- * to the new derived entity.
22
- * */
23
- fieldValue: U | N;
24
- /** Returns the id of the current assigned entity, or a runtime error if either 1) unset or 2) set to a new entity that doesn't have an `id` yet. */
25
- id: IdOf<U>;
26
- /** Returns the id of the current assigned entity, undefined if unset, or a runtime error if set to a new entity. */
27
- idIfSet: IdOf<U> | undefined;
28
- idUntagged: string;
29
- idUntaggedIfSet: string | undefined;
30
- }
31
- export declare function hasReactiveReference<T extends Entity, U extends Entity, const H extends ReactiveHint<T>>(hint: H, fn: (entity: Reacted<T, H>) => MaybeReactedEntity<U>): ReactiveReference<T, U, never>;
32
- export declare function hasReactiveReference<T extends Entity, U extends Entity, const H extends ReactiveHint<T>>(hint: H, fn: (entity: Reacted<T, H>) => MaybeReactedEntity<U> | undefined): ReactiveReference<T, U, undefined>;
33
- /**
34
- * Implements ReactiveReferences.
35
- *
36
- * This is a bit trickier than ReactiveFields, because we have to differentiate our loaded
37
- * between:
38
- *
39
- * - our load hint is loaded, and we can directly calculate the referenced entity, or
40
- * - we've fetched the calculated/stored entity from the database, but not purposefully
41
- * not re-calculating it (which would require fetching the load hint, which might be
42
- * expensive, and defeat the point of having our field materialized in the database)
43
- *
44
- * Further, want to support all of:
45
- *
46
- * - When loaded & `.get` has been called, we cache the value
47
- *
48
- * - If a WIP mutation happens, we invalidate `.get` *but* if we check `.isLoaded`,
49
- * we can return the live/updated value, without an `await`.
50
- *
51
- * - If a WIP mutation happens, we invalidate `.isLoaded`, and if we're *no longer loaded*,
52
- * we want to keep returning the stale value (as asserted by the tests), but the next
53
- * `load` / `populate` should load the graph & recalculate the value.
54
- */
55
- export declare class ReactiveReferenceImpl<T extends Entity, U extends Entity, H extends ReactiveHint<T>, N extends never | undefined> extends AbstractRelationImpl<T, U> implements ReactiveReference<T, U, N>, IsLoadedCachable {
56
- #private;
57
- reactiveHint: H;
58
- private fn;
59
- constructor(entity: T, field: ManyToOneField, reactiveHint: H, fn: (entity: Reacted<T, H>) => MaybeReactedEntity<U> | N);
60
- load(opts?: {
61
- withDeleted?: true;
62
- forceReload?: true;
63
- }): Promise<U | N>;
64
- get isLoaded(): boolean;
65
- resetIsLoaded(): void;
66
- private doGet;
67
- get fieldValue(): U;
68
- get getWithDeleted(): U | N;
69
- get get(): U | N;
70
- set(_: U | N): void;
71
- get isSet(): boolean;
72
- setImpl(entity: U | N): void;
73
- get isPreloaded(): boolean;
74
- preload(): void;
75
- private unload;
76
- import(other: ReactiveReferenceImpl<T, U, H, N>, findEntity: (e: U) => U): void;
77
- /** Returns the tagged id of the current value. */
78
- get idTaggedMaybe(): TaggedId | N;
79
- get id(): IdOf<U>;
80
- get idUntagged(): string;
81
- get idIfSet(): IdOf<U> | N | undefined;
82
- get idUntaggedIfSet(): string | undefined;
83
- get loadHint(): any;
84
- /** Returns the id of the current value. */
85
- private get idMaybe();
86
- private get idUntaggedMaybe();
87
- setFromOpts(_: U | IdOf<U> | N): void;
88
- maybeCascadeDelete(): void;
89
- cleanupOnEntityDeleted(): Promise<void>;
90
- current(opts?: {
91
- withDeleted?: boolean;
92
- }): U | string | N;
93
- get fieldName(): string;
94
- get otherMeta(): EntityMetadata<U>;
95
- get hasBeenSet(): boolean;
96
- toString(): string;
97
- /**
98
- * Removes pending-hard-delete (but not soft-deleted), unless explicitly asked for.
99
- *
100
- * Note that we leave soft-deleted entities b/c the call signature of a `book.author.get`
101
- * very likely does not expect a soft-deleted entity to result in `undefined`.
102
- *
103
- * (Contrasted with `author.books.get` which is more intuitive to have soft-deleted
104
- * entities filtered out, i.e. it doesn't fundamentally change the return type.)
105
- */
106
- private filterDeleted;
107
- private get isCascadeDelete();
108
- /**
109
- * Looks for an entity in `EntityManager`, b/c we may have it in memory even if
110
- * our reference is not specifically loaded.
111
- */
112
- maybeFindEntity(): U | N;
113
- [RelationT]: T;
114
- [RelationU]: U;
115
- [ReferenceN]: N;
116
- }
117
- /** Type guard utility for determining if an entity field is a ReactiveReference. */
118
- export declare function isReactiveReference(maybeReactiveRef: any): maybeReactiveRef is ReactiveReference<any, any, any>;
119
- //# sourceMappingURL=ReactiveReference.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReactiveReference.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}