joist-core 2.3.0-next.7 → 2.3.0-next.71

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 (1357) hide show
  1. package/build/AliasAssigner.cjs +36 -0
  2. package/build/AliasAssigner.cjs.map +1 -0
  3. package/build/AliasAssigner.d.cts +13 -0
  4. package/build/AliasAssigner.d.cts.map +1 -0
  5. package/build/AliasAssigner.d.mts +13 -0
  6. package/build/AliasAssigner.d.mts.map +1 -0
  7. package/build/AliasAssigner.js +34 -38
  8. package/build/AliasAssigner.js.map +1 -1
  9. package/build/Aliases.cjs +293 -0
  10. package/build/Aliases.cjs.map +1 -0
  11. package/build/Aliases.d.cts +115 -0
  12. package/build/Aliases.d.cts.map +1 -0
  13. package/build/Aliases.d.mts +115 -0
  14. package/build/Aliases.d.mts.map +1 -0
  15. package/build/Aliases.js +270 -442
  16. package/build/Aliases.js.map +1 -1
  17. package/build/BaseEntity.cjs +112 -0
  18. package/build/BaseEntity.cjs.map +1 -0
  19. package/build/BaseEntity.d.cts +73 -0
  20. package/build/BaseEntity.d.cts.map +1 -0
  21. package/build/BaseEntity.d.mts +73 -0
  22. package/build/BaseEntity.d.mts.map +1 -0
  23. package/build/BaseEntity.js +99 -110
  24. package/build/BaseEntity.js.map +1 -1
  25. package/build/ConditionBuilder.cjs +107 -0
  26. package/build/ConditionBuilder.cjs.map +1 -0
  27. package/build/ConditionBuilder.d.cts +31 -0
  28. package/build/ConditionBuilder.d.cts.map +1 -0
  29. package/build/ConditionBuilder.d.mts +31 -0
  30. package/build/ConditionBuilder.d.mts.map +1 -0
  31. package/build/ConditionBuilder.js +101 -107
  32. package/build/ConditionBuilder.js.map +1 -1
  33. package/build/DeferredAlias.cjs +26 -0
  34. package/build/DeferredAlias.cjs.map +1 -0
  35. package/build/DeferredAlias.d.cts +23 -0
  36. package/build/DeferredAlias.d.cts.map +1 -0
  37. package/build/DeferredAlias.d.mts +23 -0
  38. package/build/DeferredAlias.d.mts.map +1 -0
  39. package/build/DeferredAlias.js +23 -0
  40. package/build/DeferredAlias.js.map +1 -0
  41. package/build/Entity.cjs +12 -0
  42. package/build/Entity.cjs.map +1 -0
  43. package/build/Entity.d.cts +42 -0
  44. package/build/Entity.d.cts.map +1 -0
  45. package/build/Entity.d.mts +42 -0
  46. package/build/Entity.d.mts.map +1 -0
  47. package/build/Entity.js +8 -5
  48. package/build/Entity.js.map +1 -1
  49. package/build/EntityFields.cjs +1 -0
  50. package/build/EntityFields.d.cts +36 -0
  51. package/build/EntityFields.d.cts.map +1 -0
  52. package/build/EntityFields.d.mts +36 -0
  53. package/build/EntityFields.d.mts.map +1 -0
  54. package/build/EntityFields.js +1 -3
  55. package/build/EntityFilter.cjs +32 -0
  56. package/build/EntityFilter.cjs.map +1 -0
  57. package/build/EntityFilter.d.cts +135 -0
  58. package/build/EntityFilter.d.cts.map +1 -0
  59. package/build/EntityFilter.d.mts +135 -0
  60. package/build/EntityFilter.d.mts.map +1 -0
  61. package/build/EntityFilter.js +27 -17
  62. package/build/EntityFilter.js.map +1 -1
  63. package/build/EntityGraphQLFilter.cjs +56 -0
  64. package/build/EntityGraphQLFilter.cjs.map +1 -0
  65. package/build/EntityGraphQLFilter.d.cts +59 -0
  66. package/build/EntityGraphQLFilter.d.cts.map +1 -0
  67. package/build/EntityGraphQLFilter.d.mts +59 -0
  68. package/build/EntityGraphQLFilter.d.mts.map +1 -0
  69. package/build/EntityGraphQLFilter.js +51 -50
  70. package/build/EntityGraphQLFilter.js.map +1 -1
  71. package/build/EntityManager.cjs +1939 -0
  72. package/build/EntityManager.cjs.map +1 -0
  73. package/build/EntityManager.d.cts +834 -0
  74. package/build/EntityManager.d.cts.map +1 -0
  75. package/build/EntityManager.d.mts +834 -0
  76. package/build/EntityManager.d.mts.map +1 -0
  77. package/build/EntityManager.js +1816 -2223
  78. package/build/EntityManager.js.map +1 -1
  79. package/build/EntityMetadata.cjs +77 -0
  80. package/build/EntityMetadata.cjs.map +1 -0
  81. package/build/EntityMetadata.d.cts +262 -0
  82. package/build/EntityMetadata.d.cts.map +1 -0
  83. package/build/EntityMetadata.d.mts +262 -0
  84. package/build/EntityMetadata.d.mts.map +1 -0
  85. package/build/EntityMetadata.js +33 -48
  86. package/build/EntityMetadata.js.map +1 -1
  87. package/build/EnumMetadata.cjs +1 -0
  88. package/build/EnumMetadata.d.cts +18 -0
  89. package/build/EnumMetadata.d.cts.map +1 -0
  90. package/build/EnumMetadata.d.mts +18 -0
  91. package/build/EnumMetadata.d.mts.map +1 -0
  92. package/build/EnumMetadata.js +1 -3
  93. package/build/Expr.cjs +474 -0
  94. package/build/Expr.cjs.map +1 -0
  95. package/build/Expr.d.cts +258 -0
  96. package/build/Expr.d.cts.map +1 -0
  97. package/build/Expr.d.mts +258 -0
  98. package/build/Expr.d.mts.map +1 -0
  99. package/build/Expr.js +459 -0
  100. package/build/Expr.js.map +1 -0
  101. package/build/FlushLock.cjs +51 -0
  102. package/build/FlushLock.cjs.map +1 -0
  103. package/build/FlushLock.d.cts +29 -0
  104. package/build/FlushLock.d.cts.map +1 -0
  105. package/build/FlushLock.d.mts +29 -0
  106. package/build/FlushLock.d.mts.map +1 -0
  107. package/build/FlushLock.js +48 -54
  108. package/build/FlushLock.js.map +1 -1
  109. package/build/HintTree.cjs +70 -0
  110. package/build/HintTree.cjs.map +1 -0
  111. package/build/HintTree.d.cts +45 -0
  112. package/build/HintTree.d.cts.map +1 -0
  113. package/build/HintTree.d.mts +45 -0
  114. package/build/HintTree.d.mts.map +1 -0
  115. package/build/HintTree.js +63 -58
  116. package/build/HintTree.js.map +1 -1
  117. package/build/IndexManager.cjs +176 -0
  118. package/build/IndexManager.cjs.map +1 -0
  119. package/build/IndexManager.d.cts +36 -0
  120. package/build/IndexManager.d.cts.map +1 -0
  121. package/build/IndexManager.d.mts +36 -0
  122. package/build/IndexManager.d.mts.map +1 -0
  123. package/build/IndexManager.js +167 -218
  124. package/build/IndexManager.js.map +1 -1
  125. package/build/InstanceData.cjs +218 -0
  126. package/build/InstanceData.cjs.map +1 -0
  127. package/build/InstanceData.d.cts +98 -0
  128. package/build/InstanceData.d.cts.map +1 -0
  129. package/build/InstanceData.d.mts +98 -0
  130. package/build/InstanceData.d.mts.map +1 -0
  131. package/build/InstanceData.js +215 -222
  132. package/build/InstanceData.js.map +1 -1
  133. package/build/IsLoadedCache.cjs +59 -0
  134. package/build/IsLoadedCache.cjs.map +1 -0
  135. package/build/IsLoadedCache.d.cts +35 -0
  136. package/build/IsLoadedCache.d.cts.map +1 -0
  137. package/build/IsLoadedCache.d.mts +35 -0
  138. package/build/IsLoadedCache.d.mts.map +1 -0
  139. package/build/IsLoadedCache.js +57 -90
  140. package/build/IsLoadedCache.js.map +1 -1
  141. package/build/JoinRows.cjs +266 -0
  142. package/build/JoinRows.cjs.map +1 -0
  143. package/build/JoinRows.d.cts +120 -0
  144. package/build/JoinRows.d.cts.map +1 -0
  145. package/build/JoinRows.d.mts +120 -0
  146. package/build/JoinRows.d.mts.map +1 -0
  147. package/build/JoinRows.js +257 -313
  148. package/build/JoinRows.js.map +1 -1
  149. package/build/PendingChanges.cjs +2 -0
  150. package/build/PendingChanges.d.cts +29 -0
  151. package/build/PendingChanges.d.cts.map +1 -0
  152. package/build/PendingChanges.d.mts +29 -0
  153. package/build/PendingChanges.d.mts.map +1 -0
  154. package/build/PendingChanges.js +2 -3
  155. package/build/PluginManager.cjs +91 -0
  156. package/build/PluginManager.cjs.map +1 -0
  157. package/build/PluginManager.d.cts +112 -0
  158. package/build/PluginManager.d.cts.map +1 -0
  159. package/build/PluginManager.d.mts +112 -0
  160. package/build/PluginManager.d.mts.map +1 -0
  161. package/build/PluginManager.js +82 -106
  162. package/build/PluginManager.js.map +1 -1
  163. package/build/QueryParser.cjs +828 -0
  164. package/build/QueryParser.cjs.map +1 -0
  165. package/build/QueryParser.collectionJoins.cjs +353 -0
  166. package/build/QueryParser.collectionJoins.cjs.map +1 -0
  167. package/build/QueryParser.collectionJoins.d.cts +30 -0
  168. package/build/QueryParser.collectionJoins.d.cts.map +1 -0
  169. package/build/QueryParser.collectionJoins.d.mts +30 -0
  170. package/build/QueryParser.collectionJoins.d.mts.map +1 -0
  171. package/build/QueryParser.collectionJoins.js +258 -372
  172. package/build/QueryParser.collectionJoins.js.map +1 -1
  173. package/build/QueryParser.d.cts +346 -0
  174. package/build/QueryParser.d.cts.map +1 -0
  175. package/build/QueryParser.d.mts +346 -0
  176. package/build/QueryParser.d.mts.map +1 -0
  177. package/build/QueryParser.js +763 -915
  178. package/build/QueryParser.js.map +1 -1
  179. package/build/QueryParser.pruning.cjs +129 -0
  180. package/build/QueryParser.pruning.cjs.map +1 -0
  181. package/build/QueryParser.pruning.d.cts +10 -0
  182. package/build/QueryParser.pruning.d.cts.map +1 -0
  183. package/build/QueryParser.pruning.d.mts +10 -0
  184. package/build/QueryParser.pruning.d.mts.map +1 -0
  185. package/build/QueryParser.pruning.js +104 -173
  186. package/build/QueryParser.pruning.js.map +1 -1
  187. package/build/QueryVisitor.cjs +61 -0
  188. package/build/QueryVisitor.cjs.map +1 -0
  189. package/build/QueryVisitor.d.cts +21 -0
  190. package/build/QueryVisitor.d.cts.map +1 -0
  191. package/build/QueryVisitor.d.mts +21 -0
  192. package/build/QueryVisitor.d.mts.map +1 -0
  193. package/build/QueryVisitor.js +50 -97
  194. package/build/QueryVisitor.js.map +1 -1
  195. package/build/ReactionsManager.cjs +266 -0
  196. package/build/ReactionsManager.cjs.map +1 -0
  197. package/build/ReactionsManager.d.cts +99 -0
  198. package/build/ReactionsManager.d.cts.map +1 -0
  199. package/build/ReactionsManager.d.mts +99 -0
  200. package/build/ReactionsManager.d.mts.map +1 -0
  201. package/build/ReactionsManager.js +263 -313
  202. package/build/ReactionsManager.js.map +1 -1
  203. package/build/RowData.cjs +37 -0
  204. package/build/RowData.cjs.map +1 -0
  205. package/build/RowData.d.cts +53 -0
  206. package/build/RowData.d.cts.map +1 -0
  207. package/build/RowData.d.mts +53 -0
  208. package/build/RowData.d.mts.map +1 -0
  209. package/build/RowData.js +35 -0
  210. package/build/RowData.js.map +1 -0
  211. package/build/Tables.cjs +630 -0
  212. package/build/Tables.cjs.map +1 -0
  213. package/build/Tables.d.cts +231 -0
  214. package/build/Tables.d.cts.map +1 -0
  215. package/build/Tables.d.mts +231 -0
  216. package/build/Tables.d.mts.map +1 -0
  217. package/build/Tables.js +620 -0
  218. package/build/Tables.js.map +1 -0
  219. package/build/Todo.cjs +73 -0
  220. package/build/Todo.cjs.map +1 -0
  221. package/build/Todo.d.cts +38 -0
  222. package/build/Todo.d.cts.map +1 -0
  223. package/build/Todo.d.mts +38 -0
  224. package/build/Todo.d.mts.map +1 -0
  225. package/build/Todo.js +57 -61
  226. package/build/Todo.js.map +1 -1
  227. package/build/TypeInfo.cjs +80 -0
  228. package/build/TypeInfo.cjs.map +1 -0
  229. package/build/TypeInfo.d.cts +57 -0
  230. package/build/TypeInfo.d.cts.map +1 -0
  231. package/build/TypeInfo.d.mts +57 -0
  232. package/build/TypeInfo.d.mts.map +1 -0
  233. package/build/TypeInfo.js +78 -0
  234. package/build/TypeInfo.js.map +1 -0
  235. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  236. package/build/batchloaders/BatchLoader.cjs +49 -0
  237. package/build/batchloaders/BatchLoader.cjs.map +1 -0
  238. package/build/batchloaders/BatchLoader.d.cts +17 -0
  239. package/build/batchloaders/BatchLoader.d.cts.map +1 -0
  240. package/build/batchloaders/BatchLoader.d.mts +17 -0
  241. package/build/batchloaders/BatchLoader.d.mts.map +1 -0
  242. package/build/batchloaders/BatchLoader.js +45 -54
  243. package/build/batchloaders/BatchLoader.js.map +1 -1
  244. package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
  245. package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
  246. package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
  247. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
  248. package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
  249. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
  250. package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
  251. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
  252. package/build/batchloaders/loadBatchLoader.cjs +78 -0
  253. package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
  254. package/build/batchloaders/loadBatchLoader.d.cts +20 -0
  255. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
  256. package/build/batchloaders/loadBatchLoader.d.mts +20 -0
  257. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
  258. package/build/batchloaders/loadBatchLoader.js +72 -51
  259. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  260. package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
  261. package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
  262. package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
  263. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
  264. package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
  265. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
  266. package/build/batchloaders/manyToManyBatchLoader.js +70 -61
  267. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  268. package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
  269. package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
  270. package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
  271. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
  272. package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
  273. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
  274. package/build/batchloaders/oneToManyBatchLoader.js +58 -48
  275. package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
  276. package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
  277. package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
  278. package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
  279. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
  280. package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
  281. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
  282. package/build/batchloaders/oneToOneBatchLoader.js +59 -50
  283. package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
  284. package/build/batchloaders/populateBatchLoader.cjs +156 -0
  285. package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
  286. package/build/batchloaders/populateBatchLoader.d.cts +17 -0
  287. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
  288. package/build/batchloaders/populateBatchLoader.d.mts +17 -0
  289. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
  290. package/build/batchloaders/populateBatchLoader.js +148 -203
  291. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  292. package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
  293. package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
  294. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
  295. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
  296. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
  297. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
  298. package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
  299. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  300. package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
  301. package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
  302. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
  303. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
  304. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
  305. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
  306. package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
  307. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  308. package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
  309. package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
  310. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
  311. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
  312. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
  313. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
  314. package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
  315. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  316. package/build/changes.cjs +222 -0
  317. package/build/changes.cjs.map +1 -0
  318. package/build/changes.d.cts +95 -0
  319. package/build/changes.d.cts.map +1 -0
  320. package/build/changes.d.mts +95 -0
  321. package/build/changes.d.mts.map +1 -0
  322. package/build/changes.js +209 -285
  323. package/build/changes.js.map +1 -1
  324. package/build/columns.cjs +63 -0
  325. package/build/columns.cjs.map +1 -0
  326. package/build/columns.d.cts +38 -0
  327. package/build/columns.d.cts.map +1 -0
  328. package/build/columns.d.mts +38 -0
  329. package/build/columns.d.mts.map +1 -0
  330. package/build/columns.js +62 -0
  331. package/build/columns.js.map +1 -0
  332. package/build/config.cjs +295 -0
  333. package/build/config.cjs.map +1 -0
  334. package/build/config.d.cts +277 -0
  335. package/build/config.d.cts.map +1 -0
  336. package/build/config.d.mts +277 -0
  337. package/build/config.d.mts.map +1 -0
  338. package/build/config.js +255 -301
  339. package/build/config.js.map +1 -1
  340. package/build/configure.cjs +324 -0
  341. package/build/configure.cjs.map +1 -0
  342. package/build/configure.d.cts +19 -0
  343. package/build/configure.d.cts.map +1 -0
  344. package/build/configure.d.mts +19 -0
  345. package/build/configure.d.mts.map +1 -0
  346. package/build/configure.js +265 -348
  347. package/build/configure.js.map +1 -1
  348. package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
  349. package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
  350. package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
  351. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
  352. package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
  353. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
  354. package/build/dataloaders/fastWhereFilterHash.js +108 -133
  355. package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
  356. package/build/dataloaders/findByUniqueDataLoader.cjs +59 -0
  357. package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
  358. package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
  359. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
  360. package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
  361. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
  362. package/build/dataloaders/findByUniqueDataLoader.js +54 -44
  363. package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
  364. package/build/dataloaders/findCountDataLoader.cjs +124 -0
  365. package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
  366. package/build/dataloaders/findCountDataLoader.d.cts +19 -0
  367. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
  368. package/build/dataloaders/findCountDataLoader.d.mts +19 -0
  369. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
  370. package/build/dataloaders/findCountDataLoader.js +113 -109
  371. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  372. package/build/dataloaders/findDataLoader.cjs +368 -0
  373. package/build/dataloaders/findDataLoader.cjs.map +1 -0
  374. package/build/dataloaders/findDataLoader.d.cts +79 -0
  375. package/build/dataloaders/findDataLoader.d.cts.map +1 -0
  376. package/build/dataloaders/findDataLoader.d.mts +79 -0
  377. package/build/dataloaders/findDataLoader.d.mts.map +1 -0
  378. package/build/dataloaders/findDataLoader.js +301 -382
  379. package/build/dataloaders/findDataLoader.js.map +1 -1
  380. package/build/dataloaders/findIdsDataLoader.cjs +83 -0
  381. package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
  382. package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
  383. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
  384. package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
  385. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
  386. package/build/dataloaders/findIdsDataLoader.js +78 -74
  387. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  388. package/build/dataloaders/findOrCreateDataLoader.cjs +121 -0
  389. package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
  390. package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
  391. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
  392. package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
  393. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
  394. package/build/dataloaders/findOrCreateDataLoader.js +103 -164
  395. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  396. package/build/dataloaders/findPaginatedDataLoader.cjs +99 -0
  397. package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
  398. package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
  399. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
  400. package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
  401. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
  402. package/build/dataloaders/findPaginatedDataLoader.js +94 -80
  403. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  404. package/build/dataloaders/lensDataLoader.cjs +178 -0
  405. package/build/dataloaders/lensDataLoader.cjs.map +1 -0
  406. package/build/dataloaders/lensDataLoader.d.cts +15 -0
  407. package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
  408. package/build/dataloaders/lensDataLoader.d.mts +15 -0
  409. package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
  410. package/build/dataloaders/lensDataLoader.js +172 -176
  411. package/build/dataloaders/lensDataLoader.js.map +1 -1
  412. package/build/dataloaders/manyToManyFindDataLoader.cjs +87 -0
  413. package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
  414. package/build/dataloaders/manyToManyFindDataLoader.d.cts +13 -0
  415. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
  416. package/build/dataloaders/manyToManyFindDataLoader.d.mts +13 -0
  417. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
  418. package/build/dataloaders/manyToManyFindDataLoader.js +79 -70
  419. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  420. package/build/dataloaders/oneToManyFindDataLoader.cjs +80 -0
  421. package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
  422. package/build/dataloaders/oneToManyFindDataLoader.d.cts +13 -0
  423. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
  424. package/build/dataloaders/oneToManyFindDataLoader.d.mts +13 -0
  425. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
  426. package/build/dataloaders/oneToManyFindDataLoader.js +74 -67
  427. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  428. package/build/defaults.cjs +195 -0
  429. package/build/defaults.cjs.map +1 -0
  430. package/build/defaults.d.cts +56 -0
  431. package/build/defaults.d.cts.map +1 -0
  432. package/build/defaults.d.mts +56 -0
  433. package/build/defaults.d.mts.map +1 -0
  434. package/build/defaults.js +171 -271
  435. package/build/defaults.js.map +1 -1
  436. package/build/driverApi.cjs +19 -0
  437. package/build/driverApi.cjs.map +1 -0
  438. package/build/driverApi.d.cts +22 -0
  439. package/build/driverApi.d.cts.map +1 -0
  440. package/build/driverApi.d.mts +22 -0
  441. package/build/driverApi.d.mts.map +1 -0
  442. package/build/driverApi.js +16 -15
  443. package/build/driverApi.js.map +1 -1
  444. package/build/drivers/Driver.cjs +5 -0
  445. package/build/drivers/Driver.d.cts +51 -0
  446. package/build/drivers/Driver.d.cts.map +1 -0
  447. package/build/drivers/Driver.d.mts +51 -0
  448. package/build/drivers/Driver.d.mts.map +1 -0
  449. package/build/drivers/Driver.js +5 -3
  450. package/build/drivers/EntityWriter.cjs +213 -0
  451. package/build/drivers/EntityWriter.cjs.map +1 -0
  452. package/build/drivers/EntityWriter.d.cts +66 -0
  453. package/build/drivers/EntityWriter.d.cts.map +1 -0
  454. package/build/drivers/EntityWriter.d.mts +66 -0
  455. package/build/drivers/EntityWriter.d.mts.map +1 -0
  456. package/build/drivers/EntityWriter.js +188 -219
  457. package/build/drivers/EntityWriter.js.map +1 -1
  458. package/build/drivers/IdAssigner.cjs +90 -0
  459. package/build/drivers/IdAssigner.cjs.map +1 -0
  460. package/build/drivers/IdAssigner.d.cts +50 -0
  461. package/build/drivers/IdAssigner.d.cts.map +1 -0
  462. package/build/drivers/IdAssigner.d.mts +50 -0
  463. package/build/drivers/IdAssigner.d.mts.map +1 -0
  464. package/build/drivers/IdAssigner.js +81 -124
  465. package/build/drivers/IdAssigner.js.map +1 -1
  466. package/build/drivers/buildRawQuery.cjs +113 -0
  467. package/build/drivers/buildRawQuery.cjs.map +1 -0
  468. package/build/drivers/buildRawQuery.d.cts +24 -0
  469. package/build/drivers/buildRawQuery.d.cts.map +1 -0
  470. package/build/drivers/buildRawQuery.d.mts +24 -0
  471. package/build/drivers/buildRawQuery.d.mts.map +1 -0
  472. package/build/drivers/buildRawQuery.js +102 -144
  473. package/build/drivers/buildRawQuery.js.map +1 -1
  474. package/build/drivers/buildUtils.cjs +67 -0
  475. package/build/drivers/buildUtils.cjs.map +1 -0
  476. package/build/drivers/buildUtils.d.cts +14 -0
  477. package/build/drivers/buildUtils.d.cts.map +1 -0
  478. package/build/drivers/buildUtils.d.mts +14 -0
  479. package/build/drivers/buildUtils.d.mts.map +1 -0
  480. package/build/drivers/buildUtils.js +54 -77
  481. package/build/drivers/buildUtils.js.map +1 -1
  482. package/build/drivers/index.cjs +13 -0
  483. package/build/drivers/index.d.cts +6 -0
  484. package/build/drivers/index.d.mts +6 -0
  485. package/build/drivers/index.js +5 -22
  486. package/build/execute.cjs +223 -0
  487. package/build/execute.cjs.map +1 -0
  488. package/build/execute.d.cts +188 -0
  489. package/build/execute.d.cts.map +1 -0
  490. package/build/execute.d.mts +188 -0
  491. package/build/execute.d.mts.map +1 -0
  492. package/build/execute.js +220 -0
  493. package/build/execute.js.map +1 -0
  494. package/build/fieldSerde.cjs +188 -0
  495. package/build/fieldSerde.cjs.map +1 -0
  496. package/build/fieldSerde.d.cts +87 -0
  497. package/build/fieldSerde.d.cts.map +1 -0
  498. package/build/fieldSerde.d.mts +87 -0
  499. package/build/fieldSerde.d.mts.map +1 -0
  500. package/build/fieldSerde.js +182 -0
  501. package/build/fieldSerde.js.map +1 -0
  502. package/build/fields.cjs +127 -0
  503. package/build/fields.cjs.map +1 -0
  504. package/build/fields.d.cts +29 -0
  505. package/build/fields.d.cts.map +1 -0
  506. package/build/fields.d.mts +29 -0
  507. package/build/fields.d.mts.map +1 -0
  508. package/build/fields.js +98 -160
  509. package/build/fields.js.map +1 -1
  510. package/build/getProperties.cjs +87 -0
  511. package/build/getProperties.cjs.map +1 -0
  512. package/build/getProperties.d.cts +30 -0
  513. package/build/getProperties.d.cts.map +1 -0
  514. package/build/getProperties.d.mts +30 -0
  515. package/build/getProperties.d.mts.map +1 -0
  516. package/build/getProperties.js +71 -128
  517. package/build/getProperties.js.map +1 -1
  518. package/build/index.cjs +515 -0
  519. package/build/index.cjs.map +1 -0
  520. package/build/index.d.cts +171 -0
  521. package/build/index.d.cts.map +1 -0
  522. package/build/index.d.mts +171 -0
  523. package/build/index.d.mts.map +1 -0
  524. package/build/index.js +167 -292
  525. package/build/index.js.map +1 -1
  526. package/build/json.cjs +79 -0
  527. package/build/json.cjs.map +1 -0
  528. package/build/json.d.cts +76 -0
  529. package/build/json.d.cts.map +1 -0
  530. package/build/json.d.mts +76 -0
  531. package/build/json.d.mts.map +1 -0
  532. package/build/json.js +68 -106
  533. package/build/json.js.map +1 -1
  534. package/build/k.cjs +9 -0
  535. package/build/k.cjs.map +1 -0
  536. package/build/k.d.cts +1 -0
  537. package/build/k.d.mts +1 -0
  538. package/build/k.js +6 -6
  539. package/build/k.js.map +1 -1
  540. package/build/keys.cjs +176 -0
  541. package/build/keys.cjs.map +1 -0
  542. package/build/keys.d.cts +53 -0
  543. package/build/keys.d.cts.map +1 -0
  544. package/build/keys.d.mts +53 -0
  545. package/build/keys.d.mts.map +1 -0
  546. package/build/keys.js +125 -162
  547. package/build/keys.js.map +1 -1
  548. package/build/keywords.cjs +136 -0
  549. package/build/keywords.cjs.map +1 -0
  550. package/build/keywords.d.cts +18 -0
  551. package/build/keywords.d.cts.map +1 -0
  552. package/build/keywords.d.mts +18 -0
  553. package/build/keywords.d.mts.map +1 -0
  554. package/build/keywords.js +124 -116
  555. package/build/keywords.js.map +1 -1
  556. package/build/loadHints.cjs +100 -0
  557. package/build/loadHints.cjs.map +1 -0
  558. package/build/loadHints.d.cts +116 -0
  559. package/build/loadHints.d.cts.map +1 -0
  560. package/build/loadHints.d.mts +116 -0
  561. package/build/loadHints.d.mts.map +1 -0
  562. package/build/loadHints.js +72 -108
  563. package/build/loadHints.js.map +1 -1
  564. package/build/loadLens.cjs +213 -0
  565. package/build/loadLens.cjs.map +1 -0
  566. package/build/loadLens.d.cts +77 -0
  567. package/build/loadLens.d.cts.map +1 -0
  568. package/build/loadLens.d.mts +77 -0
  569. package/build/loadLens.d.mts.map +1 -0
  570. package/build/loadLens.js +152 -270
  571. package/build/loadLens.js.map +1 -1
  572. package/build/logging/FactoryLogger.cjs +66 -0
  573. package/build/logging/FactoryLogger.cjs.map +1 -0
  574. package/build/logging/FactoryLogger.d.cts +27 -0
  575. package/build/logging/FactoryLogger.d.cts.map +1 -0
  576. package/build/logging/FactoryLogger.d.mts +27 -0
  577. package/build/logging/FactoryLogger.d.mts.map +1 -0
  578. package/build/logging/FactoryLogger.js +58 -73
  579. package/build/logging/FactoryLogger.js.map +1 -1
  580. package/build/logging/FieldLogger.cjs +57 -0
  581. package/build/logging/FieldLogger.cjs.map +1 -0
  582. package/build/logging/FieldLogger.d.cts +32 -0
  583. package/build/logging/FieldLogger.d.cts.map +1 -0
  584. package/build/logging/FieldLogger.d.mts +32 -0
  585. package/build/logging/FieldLogger.d.mts.map +1 -0
  586. package/build/logging/FieldLogger.js +51 -67
  587. package/build/logging/FieldLogger.js.map +1 -1
  588. package/build/logging/ReactionLogger.cjs +95 -0
  589. package/build/logging/ReactionLogger.cjs.map +1 -0
  590. package/build/logging/ReactionLogger.d.cts +37 -0
  591. package/build/logging/ReactionLogger.d.cts.map +1 -0
  592. package/build/logging/ReactionLogger.d.mts +37 -0
  593. package/build/logging/ReactionLogger.d.mts.map +1 -0
  594. package/build/logging/ReactionLogger.js +78 -66
  595. package/build/logging/ReactionLogger.js.map +1 -1
  596. package/build/newEntity.cjs +89 -0
  597. package/build/newEntity.cjs.map +1 -0
  598. package/build/newEntity.d.cts +48 -0
  599. package/build/newEntity.d.cts.map +1 -0
  600. package/build/newEntity.d.mts +48 -0
  601. package/build/newEntity.d.mts.map +1 -0
  602. package/build/newEntity.js +71 -94
  603. package/build/newEntity.js.map +1 -1
  604. package/build/newTestInstance.cjs +539 -0
  605. package/build/newTestInstance.cjs.map +1 -0
  606. package/build/newTestInstance.d.cts +207 -0
  607. package/build/newTestInstance.d.cts.map +1 -0
  608. package/build/newTestInstance.d.mts +207 -0
  609. package/build/newTestInstance.d.mts.map +1 -0
  610. package/build/newTestInstance.js +459 -721
  611. package/build/newTestInstance.js.map +1 -1
  612. package/build/normalizeHints.cjs +60 -0
  613. package/build/normalizeHints.cjs.map +1 -0
  614. package/build/normalizeHints.d.cts +24 -0
  615. package/build/normalizeHints.d.cts.map +1 -0
  616. package/build/normalizeHints.d.mts +24 -0
  617. package/build/normalizeHints.d.mts.map +1 -0
  618. package/build/normalizeHints.js +42 -55
  619. package/build/normalizeHints.js.map +1 -1
  620. package/build/nowUTC.cjs +15 -0
  621. package/build/nowUTC.cjs.map +1 -0
  622. package/build/nowUTC.d.cts +10 -0
  623. package/build/nowUTC.d.cts.map +1 -0
  624. package/build/nowUTC.d.mts +10 -0
  625. package/build/nowUTC.d.mts.map +1 -0
  626. package/build/nowUTC.js +14 -0
  627. package/build/nowUTC.js.map +1 -0
  628. package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
  629. package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
  630. package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
  631. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
  632. package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
  633. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
  634. package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
  635. package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
  636. package/build/plugins/PreloadPlugin.cjs +6 -0
  637. package/build/plugins/PreloadPlugin.d.cts +77 -0
  638. package/build/plugins/PreloadPlugin.d.cts.map +1 -0
  639. package/build/plugins/PreloadPlugin.d.mts +77 -0
  640. package/build/plugins/PreloadPlugin.d.mts.map +1 -0
  641. package/build/plugins/PreloadPlugin.js +6 -3
  642. package/build/preloading/JsonAggregatePreloader.cjs +283 -0
  643. package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
  644. package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
  645. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
  646. package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
  647. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
  648. package/build/preloading/JsonAggregatePreloader.js +273 -320
  649. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  650. package/build/preloading/canPreload.cjs +19 -0
  651. package/build/preloading/canPreload.cjs.map +1 -0
  652. package/build/preloading/canPreload.d.cts +6 -0
  653. package/build/preloading/canPreload.d.cts.map +1 -0
  654. package/build/preloading/canPreload.d.mts +6 -0
  655. package/build/preloading/canPreload.d.mts.map +1 -0
  656. package/build/preloading/canPreload.js +15 -21
  657. package/build/preloading/canPreload.js.map +1 -1
  658. package/build/preloading/partitionHint.cjs +44 -0
  659. package/build/preloading/partitionHint.cjs.map +1 -0
  660. package/build/preloading/partitionHint.d.cts +8 -0
  661. package/build/preloading/partitionHint.d.cts.map +1 -0
  662. package/build/preloading/partitionHint.d.mts +8 -0
  663. package/build/preloading/partitionHint.d.mts.map +1 -0
  664. package/build/preloading/partitionHint.js +37 -56
  665. package/build/preloading/partitionHint.js.map +1 -1
  666. package/build/query.cjs +1065 -0
  667. package/build/query.cjs.map +1 -0
  668. package/build/query.d.cts +3864 -0
  669. package/build/query.d.cts.map +1 -0
  670. package/build/query.d.mts +3864 -0
  671. package/build/query.d.mts.map +1 -0
  672. package/build/query.js +1054 -0
  673. package/build/query.js.map +1 -0
  674. package/build/reactiveHints.cjs +332 -0
  675. package/build/reactiveHints.cjs.map +1 -0
  676. package/build/reactiveHints.d.cts +143 -0
  677. package/build/reactiveHints.d.cts.map +1 -0
  678. package/build/reactiveHints.d.mts +143 -0
  679. package/build/reactiveHints.d.mts.map +1 -0
  680. package/build/reactiveHints.js +291 -475
  681. package/build/reactiveHints.js.map +1 -1
  682. package/build/relations/AbstractPropertyImpl.cjs +16 -0
  683. package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
  684. package/build/relations/AbstractPropertyImpl.d.cts +11 -0
  685. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
  686. package/build/relations/AbstractPropertyImpl.d.mts +11 -0
  687. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
  688. package/build/relations/AbstractPropertyImpl.js +13 -13
  689. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  690. package/build/relations/AbstractRelationImpl.cjs +20 -0
  691. package/build/relations/AbstractRelationImpl.cjs.map +1 -0
  692. package/build/relations/AbstractRelationImpl.d.cts +44 -0
  693. package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
  694. package/build/relations/AbstractRelationImpl.d.mts +44 -0
  695. package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
  696. package/build/relations/AbstractRelationImpl.js +14 -15
  697. package/build/relations/AbstractRelationImpl.js.map +1 -1
  698. package/build/relations/AsyncProperty.cjs +75 -0
  699. package/build/relations/AsyncProperty.cjs.map +1 -0
  700. package/build/relations/AsyncProperty.d.cts +40 -0
  701. package/build/relations/AsyncProperty.d.cts.map +1 -0
  702. package/build/relations/AsyncProperty.d.mts +40 -0
  703. package/build/relations/AsyncProperty.d.mts.map +1 -0
  704. package/build/relations/AsyncProperty.js +61 -70
  705. package/build/relations/AsyncProperty.js.map +1 -1
  706. package/build/relations/AsyncReactiveField.cjs +110 -0
  707. package/build/relations/AsyncReactiveField.cjs.map +1 -0
  708. package/build/relations/AsyncReactiveField.d.cts +50 -0
  709. package/build/relations/AsyncReactiveField.d.cts.map +1 -0
  710. package/build/relations/AsyncReactiveField.d.mts +50 -0
  711. package/build/relations/AsyncReactiveField.d.mts.map +1 -0
  712. package/build/relations/AsyncReactiveField.js +97 -116
  713. package/build/relations/AsyncReactiveField.js.map +1 -1
  714. package/build/relations/Collection.cjs +23 -0
  715. package/build/relations/Collection.cjs.map +1 -0
  716. package/build/relations/Collection.d.cts +37 -0
  717. package/build/relations/Collection.d.cts.map +1 -0
  718. package/build/relations/Collection.d.mts +37 -0
  719. package/build/relations/Collection.d.mts.map +1 -0
  720. package/build/relations/Collection.js +14 -11
  721. package/build/relations/Collection.js.map +1 -1
  722. package/build/relations/CustomCollection.cjs +144 -0
  723. package/build/relations/CustomCollection.cjs.map +1 -0
  724. package/build/relations/CustomCollection.d.cts +74 -0
  725. package/build/relations/CustomCollection.d.cts.map +1 -0
  726. package/build/relations/CustomCollection.d.mts +74 -0
  727. package/build/relations/CustomCollection.d.mts.map +1 -0
  728. package/build/relations/CustomCollection.js +138 -162
  729. package/build/relations/CustomCollection.js.map +1 -1
  730. package/build/relations/CustomReference.cjs +142 -0
  731. package/build/relations/CustomReference.cjs.map +1 -0
  732. package/build/relations/CustomReference.d.cts +76 -0
  733. package/build/relations/CustomReference.d.cts.map +1 -0
  734. package/build/relations/CustomReference.d.mts +76 -0
  735. package/build/relations/CustomReference.d.mts.map +1 -0
  736. package/build/relations/CustomReference.js +135 -147
  737. package/build/relations/CustomReference.js.map +1 -1
  738. package/build/relations/EnumCollection.cjs +178 -0
  739. package/build/relations/EnumCollection.cjs.map +1 -0
  740. package/build/relations/EnumCollection.d.cts +86 -0
  741. package/build/relations/EnumCollection.d.cts.map +1 -0
  742. package/build/relations/EnumCollection.d.mts +86 -0
  743. package/build/relations/EnumCollection.d.mts.map +1 -0
  744. package/build/relations/EnumCollection.js +172 -207
  745. package/build/relations/EnumCollection.js.map +1 -1
  746. package/build/relations/LargeCollection.cjs +4 -0
  747. package/build/relations/LargeCollection.d.cts +22 -0
  748. package/build/relations/LargeCollection.d.cts.map +1 -0
  749. package/build/relations/LargeCollection.d.mts +22 -0
  750. package/build/relations/LargeCollection.d.mts.map +1 -0
  751. package/build/relations/LargeCollection.js +4 -3
  752. package/build/relations/LazyField.cjs +141 -0
  753. package/build/relations/LazyField.cjs.map +1 -0
  754. package/build/relations/LazyField.d.cts +51 -0
  755. package/build/relations/LazyField.d.cts.map +1 -0
  756. package/build/relations/LazyField.d.mts +51 -0
  757. package/build/relations/LazyField.d.mts.map +1 -0
  758. package/build/relations/LazyField.js +135 -0
  759. package/build/relations/LazyField.js.map +1 -0
  760. package/build/relations/ManyToManyCollection.cjs +420 -0
  761. package/build/relations/ManyToManyCollection.cjs.map +1 -0
  762. package/build/relations/ManyToManyCollection.d.cts +59 -0
  763. package/build/relations/ManyToManyCollection.d.cts.map +1 -0
  764. package/build/relations/ManyToManyCollection.d.mts +59 -0
  765. package/build/relations/ManyToManyCollection.d.mts.map +1 -0
  766. package/build/relations/ManyToManyCollection.js +410 -471
  767. package/build/relations/ManyToManyCollection.js.map +1 -1
  768. package/build/relations/ManyToManyLargeCollection.cjs +91 -0
  769. package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
  770. package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
  771. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
  772. package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
  773. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
  774. package/build/relations/ManyToManyLargeCollection.js +85 -118
  775. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  776. package/build/relations/ManyToOneReference.cjs +363 -0
  777. package/build/relations/ManyToOneReference.cjs.map +1 -0
  778. package/build/relations/ManyToOneReference.d.cts +121 -0
  779. package/build/relations/ManyToOneReference.d.cts.map +1 -0
  780. package/build/relations/ManyToOneReference.d.mts +121 -0
  781. package/build/relations/ManyToOneReference.d.mts.map +1 -0
  782. package/build/relations/ManyToOneReference.js +343 -411
  783. package/build/relations/ManyToOneReference.js.map +1 -1
  784. package/build/relations/OneToManyCollection.cjs +492 -0
  785. package/build/relations/OneToManyCollection.cjs.map +1 -0
  786. package/build/relations/OneToManyCollection.d.cts +69 -0
  787. package/build/relations/OneToManyCollection.d.cts.map +1 -0
  788. package/build/relations/OneToManyCollection.d.mts +69 -0
  789. package/build/relations/OneToManyCollection.d.mts.map +1 -0
  790. package/build/relations/OneToManyCollection.js +480 -579
  791. package/build/relations/OneToManyCollection.js.map +1 -1
  792. package/build/relations/OneToManyLargeCollection.cjs +85 -0
  793. package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
  794. package/build/relations/OneToManyLargeCollection.d.cts +29 -0
  795. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
  796. package/build/relations/OneToManyLargeCollection.d.mts +29 -0
  797. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
  798. package/build/relations/OneToManyLargeCollection.js +79 -99
  799. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  800. package/build/relations/OneToOneReference.cjs +208 -0
  801. package/build/relations/OneToOneReference.cjs.map +1 -0
  802. package/build/relations/OneToOneReference.d.cts +97 -0
  803. package/build/relations/OneToOneReference.d.cts.map +1 -0
  804. package/build/relations/OneToOneReference.d.mts +97 -0
  805. package/build/relations/OneToOneReference.d.mts.map +1 -0
  806. package/build/relations/OneToOneReference.js +192 -221
  807. package/build/relations/OneToOneReference.js.map +1 -1
  808. package/build/relations/PolymorphicReference.cjs +209 -0
  809. package/build/relations/PolymorphicReference.cjs.map +1 -0
  810. package/build/relations/PolymorphicReference.d.cts +93 -0
  811. package/build/relations/PolymorphicReference.d.cts.map +1 -0
  812. package/build/relations/PolymorphicReference.d.mts +93 -0
  813. package/build/relations/PolymorphicReference.d.mts.map +1 -0
  814. package/build/relations/PolymorphicReference.js +199 -237
  815. package/build/relations/PolymorphicReference.js.map +1 -1
  816. package/build/relations/PropertySymbols.cjs +7 -0
  817. package/build/relations/PropertySymbols.cjs.map +1 -0
  818. package/build/relations/PropertySymbols.d.cts +5 -0
  819. package/build/relations/PropertySymbols.d.cts.map +1 -0
  820. package/build/relations/PropertySymbols.d.mts +5 -0
  821. package/build/relations/PropertySymbols.d.mts.map +1 -0
  822. package/build/relations/PropertySymbols.js +6 -0
  823. package/build/relations/PropertySymbols.js.map +1 -0
  824. package/build/relations/ReactiveField.cjs +115 -0
  825. package/build/relations/ReactiveField.cjs.map +1 -0
  826. package/build/relations/ReactiveField.d.cts +88 -0
  827. package/build/relations/ReactiveField.d.cts.map +1 -0
  828. package/build/relations/ReactiveField.d.mts +88 -0
  829. package/build/relations/ReactiveField.d.mts.map +1 -0
  830. package/build/relations/ReactiveField.js +105 -137
  831. package/build/relations/ReactiveField.js.map +1 -1
  832. package/build/relations/ReactiveGetter.cjs +41 -0
  833. package/build/relations/ReactiveGetter.cjs.map +1 -0
  834. package/build/relations/ReactiveGetter.d.cts +33 -0
  835. package/build/relations/ReactiveGetter.d.cts.map +1 -0
  836. package/build/relations/ReactiveGetter.d.mts +33 -0
  837. package/build/relations/ReactiveGetter.d.mts.map +1 -0
  838. package/build/relations/ReactiveGetter.js +31 -31
  839. package/build/relations/ReactiveGetter.js.map +1 -1
  840. package/build/relations/ReactiveManyToMany.cjs +198 -0
  841. package/build/relations/ReactiveManyToMany.cjs.map +1 -0
  842. package/build/relations/ReactiveManyToMany.d.cts +63 -0
  843. package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
  844. package/build/relations/ReactiveManyToMany.d.mts +63 -0
  845. package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
  846. package/build/relations/ReactiveManyToMany.js +187 -238
  847. package/build/relations/ReactiveManyToMany.js.map +1 -1
  848. package/build/relations/ReactiveManyToManyOtherSide.cjs +150 -0
  849. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
  850. package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
  851. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
  852. package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
  853. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
  854. package/build/relations/ReactiveManyToManyOtherSide.js +141 -152
  855. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  856. package/build/relations/ReactiveReference.cjs +336 -0
  857. package/build/relations/ReactiveReference.cjs.map +1 -0
  858. package/build/relations/ReactiveReference.d.cts +124 -0
  859. package/build/relations/ReactiveReference.d.cts.map +1 -0
  860. package/build/relations/ReactiveReference.d.mts +124 -0
  861. package/build/relations/ReactiveReference.d.mts.map +1 -0
  862. package/build/relations/ReactiveReference.js +321 -385
  863. package/build/relations/ReactiveReference.js.map +1 -1
  864. package/build/relations/ReadOnlyCollection.cjs +18 -0
  865. package/build/relations/ReadOnlyCollection.cjs.map +1 -0
  866. package/build/relations/ReadOnlyCollection.d.cts +22 -0
  867. package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
  868. package/build/relations/ReadOnlyCollection.d.mts +22 -0
  869. package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
  870. package/build/relations/ReadOnlyCollection.js +9 -9
  871. package/build/relations/ReadOnlyCollection.js.map +1 -1
  872. package/build/relations/RecursiveCollection.cjs +387 -0
  873. package/build/relations/RecursiveCollection.cjs.map +1 -0
  874. package/build/relations/RecursiveCollection.d.cts +112 -0
  875. package/build/relations/RecursiveCollection.d.cts.map +1 -0
  876. package/build/relations/RecursiveCollection.d.mts +112 -0
  877. package/build/relations/RecursiveCollection.d.mts.map +1 -0
  878. package/build/relations/RecursiveCollection.js +368 -427
  879. package/build/relations/RecursiveCollection.js.map +1 -1
  880. package/build/relations/RecursiveCycleError.cjs +17 -0
  881. package/build/relations/RecursiveCycleError.cjs.map +1 -0
  882. package/build/relations/RecursiveCycleError.d.cts +15 -0
  883. package/build/relations/RecursiveCycleError.d.cts.map +1 -0
  884. package/build/relations/RecursiveCycleError.d.mts +15 -0
  885. package/build/relations/RecursiveCycleError.d.mts.map +1 -0
  886. package/build/relations/RecursiveCycleError.js +14 -13
  887. package/build/relations/RecursiveCycleError.js.map +1 -1
  888. package/build/relations/Reference.cjs +25 -0
  889. package/build/relations/Reference.cjs.map +1 -0
  890. package/build/relations/Reference.d.cts +39 -0
  891. package/build/relations/Reference.d.cts.map +1 -0
  892. package/build/relations/Reference.d.mts +39 -0
  893. package/build/relations/Reference.d.mts.map +1 -0
  894. package/build/relations/Reference.js +15 -14
  895. package/build/relations/Reference.js.map +1 -1
  896. package/build/relations/ReferenceSymbols.cjs +7 -0
  897. package/build/relations/ReferenceSymbols.cjs.map +1 -0
  898. package/build/relations/ReferenceSymbols.d.cts +5 -0
  899. package/build/relations/ReferenceSymbols.d.cts.map +1 -0
  900. package/build/relations/ReferenceSymbols.d.mts +5 -0
  901. package/build/relations/ReferenceSymbols.d.mts.map +1 -0
  902. package/build/relations/ReferenceSymbols.js +6 -0
  903. package/build/relations/ReferenceSymbols.js.map +1 -0
  904. package/build/relations/Relation.cjs +17 -0
  905. package/build/relations/Relation.cjs.map +1 -0
  906. package/build/relations/Relation.d.cts +16 -0
  907. package/build/relations/Relation.d.cts.map +1 -0
  908. package/build/relations/Relation.d.mts +16 -0
  909. package/build/relations/Relation.d.mts.map +1 -0
  910. package/build/relations/Relation.js +10 -8
  911. package/build/relations/Relation.js.map +1 -1
  912. package/build/relations/RelationSymbols.cjs +9 -0
  913. package/build/relations/RelationSymbols.cjs.map +1 -0
  914. package/build/relations/RelationSymbols.d.cts +6 -0
  915. package/build/relations/RelationSymbols.d.cts.map +1 -0
  916. package/build/relations/RelationSymbols.d.mts +6 -0
  917. package/build/relations/RelationSymbols.d.mts.map +1 -0
  918. package/build/relations/RelationSymbols.js +7 -0
  919. package/build/relations/RelationSymbols.js.map +1 -0
  920. package/build/relations/hasAsyncMethod.cjs +47 -0
  921. package/build/relations/hasAsyncMethod.cjs.map +1 -0
  922. package/build/relations/hasAsyncMethod.d.cts +29 -0
  923. package/build/relations/hasAsyncMethod.d.cts.map +1 -0
  924. package/build/relations/hasAsyncMethod.d.mts +29 -0
  925. package/build/relations/hasAsyncMethod.d.mts.map +1 -0
  926. package/build/relations/hasAsyncMethod.js +40 -43
  927. package/build/relations/hasAsyncMethod.js.map +1 -1
  928. package/build/relations/hasManyDerived.cjs +35 -0
  929. package/build/relations/hasManyDerived.cjs.map +1 -0
  930. package/build/relations/hasManyDerived.d.cts +25 -0
  931. package/build/relations/hasManyDerived.d.cts.map +1 -0
  932. package/build/relations/hasManyDerived.d.mts +25 -0
  933. package/build/relations/hasManyDerived.d.mts.map +1 -0
  934. package/build/relations/hasManyDerived.js +30 -28
  935. package/build/relations/hasManyDerived.js.map +1 -1
  936. package/build/relations/hasManyThrough.cjs +29 -0
  937. package/build/relations/hasManyThrough.cjs.map +1 -0
  938. package/build/relations/hasManyThrough.d.cts +16 -0
  939. package/build/relations/hasManyThrough.d.cts.map +1 -0
  940. package/build/relations/hasManyThrough.d.mts +16 -0
  941. package/build/relations/hasManyThrough.d.mts.map +1 -0
  942. package/build/relations/hasManyThrough.js +24 -20
  943. package/build/relations/hasManyThrough.js.map +1 -1
  944. package/build/relations/hasOneDerived.cjs +32 -0
  945. package/build/relations/hasOneDerived.cjs.map +1 -0
  946. package/build/relations/hasOneDerived.d.cts +15 -0
  947. package/build/relations/hasOneDerived.d.cts.map +1 -0
  948. package/build/relations/hasOneDerived.d.mts +15 -0
  949. package/build/relations/hasOneDerived.d.mts.map +1 -0
  950. package/build/relations/hasOneDerived.js +27 -20
  951. package/build/relations/hasOneDerived.js.map +1 -1
  952. package/build/relations/hasOneThrough.cjs +31 -0
  953. package/build/relations/hasOneThrough.cjs.map +1 -0
  954. package/build/relations/hasOneThrough.d.cts +16 -0
  955. package/build/relations/hasOneThrough.d.cts.map +1 -0
  956. package/build/relations/hasOneThrough.d.mts +16 -0
  957. package/build/relations/hasOneThrough.d.mts.map +1 -0
  958. package/build/relations/hasOneThrough.js +26 -22
  959. package/build/relations/hasOneThrough.js.map +1 -1
  960. package/build/relations/hasProperty.cjs +109 -0
  961. package/build/relations/hasProperty.cjs.map +1 -0
  962. package/build/relations/hasProperty.d.cts +53 -0
  963. package/build/relations/hasProperty.d.cts.map +1 -0
  964. package/build/relations/hasProperty.d.mts +53 -0
  965. package/build/relations/hasProperty.d.mts.map +1 -0
  966. package/build/relations/hasProperty.js +90 -95
  967. package/build/relations/hasProperty.js.map +1 -1
  968. package/build/relations/index.cjs +99 -0
  969. package/build/relations/index.d.cts +32 -0
  970. package/build/relations/index.d.mts +32 -0
  971. package/build/relations/index.js +31 -97
  972. package/build/resurrection.cjs +74 -0
  973. package/build/resurrection.cjs.map +1 -0
  974. package/build/resurrection.d.cts +13 -0
  975. package/build/resurrection.d.cts.map +1 -0
  976. package/build/resurrection.d.mts +13 -0
  977. package/build/resurrection.d.mts.map +1 -0
  978. package/build/resurrection.js +48 -69
  979. package/build/resurrection.js.map +1 -1
  980. package/build/rules.cjs +228 -0
  981. package/build/rules.cjs.map +1 -0
  982. package/build/rules.d.cts +145 -0
  983. package/build/rules.d.cts.map +1 -0
  984. package/build/rules.d.mts +145 -0
  985. package/build/rules.d.mts.map +1 -0
  986. package/build/rules.js +190 -204
  987. package/build/rules.js.map +1 -1
  988. package/build/runtimeConfig.cjs +25 -0
  989. package/build/runtimeConfig.cjs.map +1 -0
  990. package/build/runtimeConfig.d.cts +24 -0
  991. package/build/runtimeConfig.d.cts.map +1 -0
  992. package/build/runtimeConfig.d.mts +24 -0
  993. package/build/runtimeConfig.d.mts.map +1 -0
  994. package/build/runtimeConfig.js +16 -12
  995. package/build/runtimeConfig.js.map +1 -1
  996. package/build/scopes.cjs +302 -0
  997. package/build/scopes.cjs.map +1 -0
  998. package/build/scopes.d.cts +188 -0
  999. package/build/scopes.d.cts.map +1 -0
  1000. package/build/scopes.d.mts +188 -0
  1001. package/build/scopes.d.mts.map +1 -0
  1002. package/build/scopes.js +240 -245
  1003. package/build/scopes.js.map +1 -1
  1004. package/build/serde.cjs +500 -0
  1005. package/build/serde.cjs.map +1 -0
  1006. package/build/serde.d.cts +248 -0
  1007. package/build/serde.d.cts.map +1 -0
  1008. package/build/serde.d.mts +248 -0
  1009. package/build/serde.d.mts.map +1 -0
  1010. package/build/serde.js +474 -505
  1011. package/build/serde.js.map +1 -1
  1012. package/build/skipCondition.cjs +15 -0
  1013. package/build/skipCondition.cjs.map +1 -0
  1014. package/build/skipCondition.d.cts +7 -0
  1015. package/build/skipCondition.d.cts.map +1 -0
  1016. package/build/skipCondition.d.mts +7 -0
  1017. package/build/skipCondition.d.mts.map +1 -0
  1018. package/build/skipCondition.js +14 -0
  1019. package/build/skipCondition.js.map +1 -0
  1020. package/build/temporal.cjs +57 -0
  1021. package/build/temporal.cjs.map +1 -0
  1022. package/build/temporal.d.cts +44 -0
  1023. package/build/temporal.d.cts.map +1 -0
  1024. package/build/temporal.d.mts +44 -0
  1025. package/build/temporal.d.mts.map +1 -0
  1026. package/build/temporal.js +47 -58
  1027. package/build/temporal.js.map +1 -1
  1028. package/build/temporalMappers.cjs +63 -0
  1029. package/build/temporalMappers.cjs.map +1 -0
  1030. package/build/temporalMappers.d.cts +36 -0
  1031. package/build/temporalMappers.d.cts.map +1 -0
  1032. package/build/temporalMappers.d.mts +36 -0
  1033. package/build/temporalMappers.d.mts.map +1 -0
  1034. package/build/temporalMappers.js +55 -55
  1035. package/build/temporalMappers.js.map +1 -1
  1036. package/build/trusted.cjs +16 -0
  1037. package/build/trusted.cjs.map +1 -0
  1038. package/build/trusted.d.cts +8 -0
  1039. package/build/trusted.d.cts.map +1 -0
  1040. package/build/trusted.d.mts +8 -0
  1041. package/build/trusted.d.mts.map +1 -0
  1042. package/build/trusted.js +8 -8
  1043. package/build/trusted.js.map +1 -1
  1044. package/build/typeMap.cjs +3 -0
  1045. package/build/typeMap.d.cts +88 -0
  1046. package/build/typeMap.d.cts.map +1 -0
  1047. package/build/typeMap.d.mts +88 -0
  1048. package/build/typeMap.d.mts.map +1 -0
  1049. package/build/typeMap.js +3 -3
  1050. package/build/unnest.cjs +64 -0
  1051. package/build/unnest.cjs.map +1 -0
  1052. package/build/unnest.d.cts +16 -0
  1053. package/build/unnest.d.cts.map +1 -0
  1054. package/build/unnest.d.mts +16 -0
  1055. package/build/unnest.d.mts.map +1 -0
  1056. package/build/unnest.js +50 -73
  1057. package/build/unnest.js.map +1 -1
  1058. package/build/upsert.cjs +175 -0
  1059. package/build/upsert.cjs.map +1 -0
  1060. package/build/upsert.d.cts +42 -0
  1061. package/build/upsert.d.cts.map +1 -0
  1062. package/build/upsert.d.mts +42 -0
  1063. package/build/upsert.d.mts.map +1 -0
  1064. package/build/upsert.js +159 -274
  1065. package/build/upsert.js.map +1 -1
  1066. package/build/utils.cjs +206 -0
  1067. package/build/utils.cjs.map +1 -0
  1068. package/build/utils.d.cts +65 -0
  1069. package/build/utils.d.cts.map +1 -0
  1070. package/build/utils.d.mts +65 -0
  1071. package/build/utils.d.mts.map +1 -0
  1072. package/build/utils.js +125 -192
  1073. package/build/utils.js.map +1 -1
  1074. package/build/withLoaded.cjs +65 -0
  1075. package/build/withLoaded.cjs.map +1 -0
  1076. package/build/withLoaded.d.cts +65 -0
  1077. package/build/withLoaded.d.cts.map +1 -0
  1078. package/build/withLoaded.d.mts +65 -0
  1079. package/build/withLoaded.d.mts.map +1 -0
  1080. package/build/withLoaded.js +56 -70
  1081. package/build/withLoaded.js.map +1 -1
  1082. package/package.json +34 -14
  1083. package/build/AliasAssigner.d.ts +0 -10
  1084. package/build/AliasAssigner.d.ts.map +0 -1
  1085. package/build/Aliases.d.ts +0 -117
  1086. package/build/Aliases.d.ts.map +0 -1
  1087. package/build/BaseEntity.d.ts +0 -68
  1088. package/build/BaseEntity.d.ts.map +0 -1
  1089. package/build/ConditionBuilder.d.ts +0 -29
  1090. package/build/ConditionBuilder.d.ts.map +0 -1
  1091. package/build/Entity.d.ts +0 -39
  1092. package/build/Entity.d.ts.map +0 -1
  1093. package/build/EntityFields.d.ts +0 -37
  1094. package/build/EntityFields.d.ts.map +0 -1
  1095. package/build/EntityFields.js.map +0 -1
  1096. package/build/EntityFilter.d.ts +0 -134
  1097. package/build/EntityFilter.d.ts.map +0 -1
  1098. package/build/EntityGraphQLFilter.d.ts +0 -56
  1099. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  1100. package/build/EntityManager.d.ts +0 -740
  1101. package/build/EntityManager.d.ts.map +0 -1
  1102. package/build/EntityMetadata.d.ts +0 -233
  1103. package/build/EntityMetadata.d.ts.map +0 -1
  1104. package/build/EnumMetadata.d.ts +0 -15
  1105. package/build/EnumMetadata.d.ts.map +0 -1
  1106. package/build/EnumMetadata.js.map +0 -1
  1107. package/build/FlushLock.d.ts +0 -26
  1108. package/build/FlushLock.d.ts.map +0 -1
  1109. package/build/HintTree.d.ts +0 -42
  1110. package/build/HintTree.d.ts.map +0 -1
  1111. package/build/IndexManager.d.ts +0 -31
  1112. package/build/IndexManager.d.ts.map +0 -1
  1113. package/build/InstanceData.d.ts +0 -79
  1114. package/build/InstanceData.d.ts.map +0 -1
  1115. package/build/IsLoadedCache.d.ts +0 -32
  1116. package/build/IsLoadedCache.d.ts.map +0 -1
  1117. package/build/JoinRows.d.ts +0 -117
  1118. package/build/JoinRows.d.ts.map +0 -1
  1119. package/build/PendingChanges.d.ts +0 -26
  1120. package/build/PendingChanges.d.ts.map +0 -1
  1121. package/build/PendingChanges.js.map +0 -1
  1122. package/build/PluginManager.d.ts +0 -102
  1123. package/build/PluginManager.d.ts.map +0 -1
  1124. package/build/QueryParser.collectionJoins.d.ts +0 -27
  1125. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  1126. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  1127. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  1128. package/build/QueryParser.collectionJoins.test.js +0 -772
  1129. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  1130. package/build/QueryParser.d.ts +0 -336
  1131. package/build/QueryParser.d.ts.map +0 -1
  1132. package/build/QueryParser.pruning.d.ts +0 -7
  1133. package/build/QueryParser.pruning.d.ts.map +0 -1
  1134. package/build/QueryParser.pruning.test.d.ts +0 -2
  1135. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  1136. package/build/QueryParser.pruning.test.js +0 -106
  1137. package/build/QueryParser.pruning.test.js.map +0 -1
  1138. package/build/QueryParser.test.d.ts +0 -2
  1139. package/build/QueryParser.test.d.ts.map +0 -1
  1140. package/build/QueryParser.test.js +0 -27
  1141. package/build/QueryParser.test.js.map +0 -1
  1142. package/build/QueryVisitor.d.ts +0 -19
  1143. package/build/QueryVisitor.d.ts.map +0 -1
  1144. package/build/ReactionsManager.d.ts +0 -85
  1145. package/build/ReactionsManager.d.ts.map +0 -1
  1146. package/build/Todo.d.ts +0 -35
  1147. package/build/Todo.d.ts.map +0 -1
  1148. package/build/batchloaders/BatchLoader.d.ts +0 -14
  1149. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  1150. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
  1151. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  1152. package/build/batchloaders/loadBatchLoader.d.ts +0 -17
  1153. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  1154. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
  1155. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  1156. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
  1157. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  1158. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
  1159. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  1160. package/build/batchloaders/populateBatchLoader.d.ts +0 -13
  1161. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  1162. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
  1163. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  1164. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
  1165. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  1166. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
  1167. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  1168. package/build/changes.d.ts +0 -92
  1169. package/build/changes.d.ts.map +0 -1
  1170. package/build/config.d.ts +0 -250
  1171. package/build/config.d.ts.map +0 -1
  1172. package/build/config.test.d.ts +0 -2
  1173. package/build/config.test.d.ts.map +0 -1
  1174. package/build/config.test.js +0 -53
  1175. package/build/config.test.js.map +0 -1
  1176. package/build/configure.d.ts +0 -15
  1177. package/build/configure.d.ts.map +0 -1
  1178. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
  1179. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  1180. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  1181. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  1182. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  1183. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  1184. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  1185. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  1186. package/build/dataloaders/findCountDataLoader.d.ts +0 -16
  1187. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  1188. package/build/dataloaders/findDataLoader.d.ts +0 -76
  1189. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  1190. package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
  1191. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  1192. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  1193. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  1194. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
  1195. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  1196. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  1197. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  1198. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  1199. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  1200. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  1201. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  1202. package/build/defaults.d.ts +0 -54
  1203. package/build/defaults.d.ts.map +0 -1
  1204. package/build/driverApi.d.ts +0 -19
  1205. package/build/driverApi.d.ts.map +0 -1
  1206. package/build/drivers/Driver.d.ts +0 -26
  1207. package/build/drivers/Driver.d.ts.map +0 -1
  1208. package/build/drivers/Driver.js.map +0 -1
  1209. package/build/drivers/EntityWriter.d.ts +0 -64
  1210. package/build/drivers/EntityWriter.d.ts.map +0 -1
  1211. package/build/drivers/IdAssigner.d.ts +0 -48
  1212. package/build/drivers/IdAssigner.d.ts.map +0 -1
  1213. package/build/drivers/buildRawQuery.d.ts +0 -22
  1214. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  1215. package/build/drivers/buildUtils.d.ts +0 -9
  1216. package/build/drivers/buildUtils.d.ts.map +0 -1
  1217. package/build/drivers/index.d.ts +0 -6
  1218. package/build/drivers/index.d.ts.map +0 -1
  1219. package/build/drivers/index.js.map +0 -1
  1220. package/build/fields.d.ts +0 -26
  1221. package/build/fields.d.ts.map +0 -1
  1222. package/build/getProperties.d.ts +0 -28
  1223. package/build/getProperties.d.ts.map +0 -1
  1224. package/build/index.d.ts +0 -133
  1225. package/build/index.d.ts.map +0 -1
  1226. package/build/json.d.ts +0 -77
  1227. package/build/json.d.ts.map +0 -1
  1228. package/build/k.d.ts +0 -2
  1229. package/build/k.d.ts.map +0 -1
  1230. package/build/keys.d.ts +0 -49
  1231. package/build/keys.d.ts.map +0 -1
  1232. package/build/keywords.d.ts +0 -5
  1233. package/build/keywords.d.ts.map +0 -1
  1234. package/build/loadHints.d.ts +0 -121
  1235. package/build/loadHints.d.ts.map +0 -1
  1236. package/build/loadLens.d.ts +0 -77
  1237. package/build/loadLens.d.ts.map +0 -1
  1238. package/build/logging/FactoryLogger.d.ts +0 -24
  1239. package/build/logging/FactoryLogger.d.ts.map +0 -1
  1240. package/build/logging/FieldLogger.d.ts +0 -27
  1241. package/build/logging/FieldLogger.d.ts.map +0 -1
  1242. package/build/logging/ReactionLogger.d.ts +0 -27
  1243. package/build/logging/ReactionLogger.d.ts.map +0 -1
  1244. package/build/newEntity.d.ts +0 -45
  1245. package/build/newEntity.d.ts.map +0 -1
  1246. package/build/newTestInstance.d.ts +0 -208
  1247. package/build/newTestInstance.d.ts.map +0 -1
  1248. package/build/normalizeHints.d.ts +0 -23
  1249. package/build/normalizeHints.d.ts.map +0 -1
  1250. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  1251. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  1252. package/build/plugins/PreloadPlugin.d.ts +0 -69
  1253. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  1254. package/build/plugins/PreloadPlugin.js.map +0 -1
  1255. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  1256. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  1257. package/build/preloading/canPreload.d.ts +0 -3
  1258. package/build/preloading/canPreload.d.ts.map +0 -1
  1259. package/build/preloading/partitionHint.d.ts +0 -5
  1260. package/build/preloading/partitionHint.d.ts.map +0 -1
  1261. package/build/reactiveHints.d.ts +0 -146
  1262. package/build/reactiveHints.d.ts.map +0 -1
  1263. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  1264. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  1265. package/build/relations/AbstractRelationImpl.d.ts +0 -41
  1266. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  1267. package/build/relations/AsyncProperty.d.ts +0 -36
  1268. package/build/relations/AsyncProperty.d.ts.map +0 -1
  1269. package/build/relations/AsyncReactiveField.d.ts +0 -41
  1270. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  1271. package/build/relations/Collection.d.ts +0 -33
  1272. package/build/relations/Collection.d.ts.map +0 -1
  1273. package/build/relations/CustomCollection.d.ts +0 -69
  1274. package/build/relations/CustomCollection.d.ts.map +0 -1
  1275. package/build/relations/CustomReference.d.ts +0 -71
  1276. package/build/relations/CustomReference.d.ts.map +0 -1
  1277. package/build/relations/EnumCollection.d.ts +0 -81
  1278. package/build/relations/EnumCollection.d.ts.map +0 -1
  1279. package/build/relations/LargeCollection.d.ts +0 -19
  1280. package/build/relations/LargeCollection.d.ts.map +0 -1
  1281. package/build/relations/LargeCollection.js.map +0 -1
  1282. package/build/relations/ManyToManyCollection.d.ts +0 -52
  1283. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  1284. package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
  1285. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  1286. package/build/relations/ManyToOneReference.d.ts +0 -117
  1287. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  1288. package/build/relations/OneToManyCollection.d.ts +0 -62
  1289. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  1290. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  1291. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  1292. package/build/relations/OneToOneReference.d.ts +0 -93
  1293. package/build/relations/OneToOneReference.d.ts.map +0 -1
  1294. package/build/relations/PolymorphicReference.d.ts +0 -89
  1295. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  1296. package/build/relations/ReactiveField.d.ts +0 -85
  1297. package/build/relations/ReactiveField.d.ts.map +0 -1
  1298. package/build/relations/ReactiveGetter.d.ts +0 -30
  1299. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  1300. package/build/relations/ReactiveManyToMany.d.ts +0 -57
  1301. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  1302. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
  1303. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  1304. package/build/relations/ReactiveReference.d.ts +0 -119
  1305. package/build/relations/ReactiveReference.d.ts.map +0 -1
  1306. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  1307. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  1308. package/build/relations/RecursiveCollection.d.ts +0 -108
  1309. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  1310. package/build/relations/RecursiveCycleError.d.ts +0 -13
  1311. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  1312. package/build/relations/Reference.d.ts +0 -35
  1313. package/build/relations/Reference.d.ts.map +0 -1
  1314. package/build/relations/Relation.d.ts +0 -14
  1315. package/build/relations/Relation.d.ts.map +0 -1
  1316. package/build/relations/hasAsyncMethod.d.ts +0 -27
  1317. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  1318. package/build/relations/hasManyDerived.d.ts +0 -22
  1319. package/build/relations/hasManyDerived.d.ts.map +0 -1
  1320. package/build/relations/hasManyThrough.d.ts +0 -10
  1321. package/build/relations/hasManyThrough.d.ts.map +0 -1
  1322. package/build/relations/hasOneDerived.d.ts +0 -12
  1323. package/build/relations/hasOneDerived.d.ts.map +0 -1
  1324. package/build/relations/hasOneThrough.d.ts +0 -10
  1325. package/build/relations/hasOneThrough.d.ts.map +0 -1
  1326. package/build/relations/hasProperty.d.ts +0 -50
  1327. package/build/relations/hasProperty.d.ts.map +0 -1
  1328. package/build/relations/index.d.ts +0 -30
  1329. package/build/relations/index.d.ts.map +0 -1
  1330. package/build/relations/index.js.map +0 -1
  1331. package/build/resurrection.d.ts +0 -10
  1332. package/build/resurrection.d.ts.map +0 -1
  1333. package/build/rules.d.ts +0 -123
  1334. package/build/rules.d.ts.map +0 -1
  1335. package/build/runtimeConfig.d.ts +0 -17
  1336. package/build/runtimeConfig.d.ts.map +0 -1
  1337. package/build/scopes.d.ts +0 -185
  1338. package/build/scopes.d.ts.map +0 -1
  1339. package/build/serde.d.ts +0 -277
  1340. package/build/serde.d.ts.map +0 -1
  1341. package/build/temporal.d.ts +0 -46
  1342. package/build/temporal.d.ts.map +0 -1
  1343. package/build/temporalMappers.d.ts +0 -25
  1344. package/build/temporalMappers.d.ts.map +0 -1
  1345. package/build/trusted.d.ts +0 -5
  1346. package/build/trusted.d.ts.map +0 -1
  1347. package/build/typeMap.d.ts +0 -68
  1348. package/build/typeMap.d.ts.map +0 -1
  1349. package/build/typeMap.js.map +0 -1
  1350. package/build/unnest.d.ts +0 -13
  1351. package/build/unnest.d.ts.map +0 -1
  1352. package/build/upsert.d.ts +0 -42
  1353. package/build/upsert.d.ts.map +0 -1
  1354. package/build/utils.d.ts +0 -60
  1355. package/build/utils.d.ts.map +0 -1
  1356. package/build/withLoaded.d.ts +0 -56
  1357. package/build/withLoaded.d.ts.map +0 -1
@@ -1,466 +1,352 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.optimizeCollectionJoins = optimizeCollectionJoins;
4
- const QueryParser_1 = require("./QueryParser");
5
- const QueryParser_pruning_1 = require("./QueryParser.pruning");
6
- const utils_1 = require("./utils");
1
+ import { assertNever } from "./utils.js";
2
+ import { pruneUnusedJoins, selectReferencesAlias } from "./QueryParser.pruning.js";
3
+ import { maybeAddIdNotNulls, parseAlias } from "./QueryParser.js";
4
+ //#region src/QueryParser.collectionJoins.ts
7
5
  /**
8
- * Rewrites eligible logical collection LEFT JOINs into EXISTS after plugins have mutated the AST.
9
- *
10
- * QueryParser intentionally leaves collection filters as ordinary joins so `beforeFind` plugins see
11
- * stabler/simpler input than "sometimes JOINs / sometimes EXISTS".
12
- *
13
- * This pass runs after plugins and before SQL rendering:
14
- *
15
- * 1. `rewriteCollectionJoins` finds top-level collection joins and moves conditions that reference only
16
- * that subtree into a correlated EXISTS subquery. I.e. `{ books: { title: "b1" } }` becomes
17
- * `EXISTS (SELECT 1 FROM books b WHERE a.id = b.author_id AND b.title = 'b1')`.
18
- * 2. The same helper recurses into the generated subquery, so nested collections become nested EXISTS clauses.
19
- * I.e. `{ books: { reviews: { rating: 5 } } }` becomes EXISTS(books WHERE EXISTS(reviews)).
20
- * 3. Conditions that cannot be safely moved stay as LEFT JOINs. I.e. `OR(b.title = 'x', a.first_name = 'x')`
21
- * needs both aliases in one SQL scope, so `b` remains a join instead of becoming an EXISTS.
22
- * 4. Remaining fanout LEFT JOIN roots are rejected unless `allowMultipleLeftJoins` is set,
23
- * because they can produce cross-product row explosions.
24
- * 5. Finally, `maybeAddIdNotNulls` and `pruneUnusedJoins` clean up the joins that remain.
25
- */
6
+ * Rewrites eligible logical collection LEFT JOINs into EXISTS after plugins have mutated the AST.
7
+ *
8
+ * QueryParser intentionally leaves collection filters as ordinary joins so `beforeFind` plugins see
9
+ * stabler/simpler input than "sometimes JOINs / sometimes EXISTS".
10
+ *
11
+ * This pass runs after plugins and before SQL rendering:
12
+ *
13
+ * 1. `rewriteCollectionJoins` finds top-level collection joins and moves conditions that reference only
14
+ * that subtree into a correlated EXISTS subquery. I.e. `{ books: { title: "b1" } }` becomes
15
+ * `EXISTS (SELECT 1 FROM books b WHERE a.id = b.author_id AND b.title = 'b1')`.
16
+ * 2. The same helper recurses into the generated subquery, so nested collections become nested EXISTS clauses.
17
+ * I.e. `{ books: { reviews: { rating: 5 } } }` becomes EXISTS(books WHERE EXISTS(reviews)).
18
+ * 3. Conditions that cannot be safely moved stay as LEFT JOINs. I.e. `OR(b.title = 'x', a.first_name = 'x')`
19
+ * needs both aliases in one SQL scope, so `b` remains a join instead of becoming an EXISTS.
20
+ * 4. Remaining fanout LEFT JOIN roots are rejected unless `allowMultipleLeftJoins` is set,
21
+ * because they can produce cross-product row explosions.
22
+ * 5. Finally, `maybeAddIdNotNulls` and `pruneUnusedJoins` clean up the joins that remain.
23
+ */
26
24
  function optimizeCollectionJoins(query, opts = {}) {
27
- const { allowMultipleLeftJoins = false, optimizeJoinsToExists = true, pruneJoins = true, keepAliases = [] } = opts;
28
- for (const table of query.tables) {
29
- // I.e. batched find/count queries wrap the real query in a LATERAL subquery; optimize that inner query too,
30
- // but let the outer query decide final pruning so it can keep the lateral alias itself.
31
- if (table.join === "lateral")
32
- optimizeCollectionJoins(table.query, { ...opts, pruneJoins: false });
33
- }
34
- if (optimizeJoinsToExists)
35
- rewriteCollectionJoins(query, keepAliases);
36
- // I.e. collection LEFT JOINs now fall into three buckets:
37
- // 1. local real filters, like `{ books: { title: "b1" } }`, were rewritten to EXISTS above;
38
- // 2. no local real filters, like `{ books: {}, comments: {} }`, are safe because pruning will remove them;
39
- // 3. blocked real filters, like cross-scope ORs, must stay as LEFT JOINs and can multiply rows.
40
- // Only the third bucket should trip the fanout guard.
41
- const fanoutLeftJoinAliases = getCollectionRoots(query)
42
- .filter((root) => conditionBlocksExistsRewrite(query.condition, root.aliases))
43
- .map((root) => root.table.alias);
44
- if (optimizeJoinsToExists && !allowMultipleLeftJoins && fanoutLeftJoinAliases.length > 1) {
45
- throw new Error(`em.find would issue multiple LEFT JOINs across collection relations (${fanoutLeftJoinAliases.join(", ")}); pass allowMultipleLeftJoins: true if this fanout is intentional`);
46
- }
47
- if (query.tables.some((t) => t.join === "outer")) {
48
- // I.e. preserve legacy LEFT JOIN null semantics for any joins that could not become EXISTS.
49
- (0, QueryParser_1.maybeAddIdNotNulls)(query);
50
- }
51
- if (pruneJoins) {
52
- // I.e. remove logical collection joins that were replaced by EXISTS and any joins only needed before plugin edits.
53
- (0, QueryParser_pruning_1.pruneUnusedJoins)(query, keepAliases);
54
- }
25
+ const { allowMultipleLeftJoins = false, optimizeJoinsToExists = true, pruneJoins = true, keepAliases = [] } = opts;
26
+ for (const table of query.tables) if (table.join === "lateral") optimizeCollectionJoins(table.query, {
27
+ ...opts,
28
+ pruneJoins: false
29
+ });
30
+ if (optimizeJoinsToExists) rewriteCollectionJoins(query, keepAliases);
31
+ const fanoutLeftJoinAliases = getCollectionRoots(query).filter((root) => conditionBlocksExistsRewrite(query.condition, root.aliases)).map((root) => root.table.alias);
32
+ if (optimizeJoinsToExists && !allowMultipleLeftJoins && fanoutLeftJoinAliases.length > 1) throw new Error(`em.find would issue multiple LEFT JOINs across collection relations (${fanoutLeftJoinAliases.join(", ")}); pass allowMultipleLeftJoins: true if this fanout is intentional`);
33
+ if (query.tables.some((t) => t.join === "outer")) maybeAddIdNotNulls(query);
34
+ if (pruneJoins) pruneUnusedJoins(query, keepAliases);
55
35
  }
56
36
  /**
57
- * Rewrites root-level collection join subtrees into EXISTS when their conditions are locally scoped.
58
- *
59
- * I.e. for `authors a -> books b -> book_reviews br`, `b` is the collection root and `br` is part of its subtree.
60
- */
37
+ * Rewrites root-level collection join subtrees into EXISTS when their conditions are locally scoped.
38
+ *
39
+ * I.e. for `authors a -> books b -> book_reviews br`, `b` is the collection root and `br` is part of its subtree.
40
+ */
61
41
  function rewriteCollectionJoins(query, keepAliases = []) {
62
- const roots = getCollectionRoots(query);
63
- if (query.condition)
64
- rewriteSiblingOrExpression(query, query.condition, roots, keepAliases);
65
- for (const root of roots) {
66
- if (queryReferencesAliasesOutsideConditions(query, root.aliases, keepAliases))
67
- continue;
68
- if (conditionHasCrossScopeReference(query.condition, root.aliases))
69
- continue;
70
- // I.e. move `b.title = 'x'` and `(br.rating = 5 OR br.rating = 4)`, but not `b.title = 'x' OR a.first_name = 'x'`.
71
- const moved = query.condition ? removeLocallyScopedConditions(query.condition, root.aliases) : [];
72
- if (moved.length === 0)
73
- continue;
74
- const exists = createExistsCondition(query, root, moved);
75
- if (!exists) {
76
- addConditions(query, moved);
77
- continue;
78
- }
79
- addConditions(query, [exists]);
80
- // I.e. after adding EXISTS, remove `books b` and its children from the outer FROM list.
81
- query.tables = query.tables.filter((t) => !root.aliases.has(t.alias));
82
- }
83
- removeEmptyExpressions(query.condition);
42
+ const roots = getCollectionRoots(query);
43
+ if (query.condition) rewriteSiblingOrExpression(query, query.condition, roots, keepAliases);
44
+ for (const root of roots) {
45
+ if (queryReferencesAliasesOutsideConditions(query, root.aliases, keepAliases)) continue;
46
+ if (conditionHasCrossScopeReference(query.condition, root.aliases)) continue;
47
+ const moved = query.condition ? removeLocallyScopedConditions(query.condition, root.aliases) : [];
48
+ if (moved.length === 0) continue;
49
+ const exists = createExistsCondition(query, root, moved);
50
+ if (!exists) {
51
+ addConditions(query, moved);
52
+ continue;
53
+ }
54
+ addConditions(query, [exists]);
55
+ query.tables = query.tables.filter((t) => !root.aliases.has(t.alias));
56
+ }
57
+ removeEmptyExpressions(query.condition);
84
58
  }
85
59
  /** Rewrites eligible sibling collection ORs while preserving outer/mixed-scope ORs as joins. */
86
60
  function rewriteSiblingOrExpression(query, condition, roots, keepAliases) {
87
- if (condition.kind !== "exp")
88
- return;
89
- if (condition.op === "or" && rewriteSiblingOrExpressionChildren(query, condition, roots, keepAliases))
90
- return;
91
- if (condition.op === "and") {
92
- for (const child of condition.conditions)
93
- rewriteSiblingOrExpression(query, child, roots, keepAliases);
94
- }
61
+ if (condition.kind !== "exp") return;
62
+ if (condition.op === "or" && rewriteSiblingOrExpressionChildren(query, condition, roots, keepAliases)) return;
63
+ if (condition.op === "and") for (const child of condition.conditions) rewriteSiblingOrExpression(query, child, roots, keepAliases);
95
64
  }
96
65
  /** Returns true when OR branches that are scoped to collection subtrees became EXISTS conditions. */
97
66
  function rewriteSiblingOrExpressionChildren(query, exp, roots, keepAliases) {
98
- const matches = [];
99
- const usedAliases = new Set();
100
- const usedRoots = new Set();
101
- let hasAntiJoinBranch = false;
102
- for (const condition of exp.conditions) {
103
- if (!isRealCondition(condition))
104
- return false;
105
- const match = roots.find((root) => conditionReferencesOnlyAliases(condition, root.aliases));
106
- if (!match) {
107
- const found = conditionAliases(condition);
108
- // I.e. `a.first_name = 'x'` can stay in the OR while `b.title = 'x'` becomes EXISTS, but
109
- // `a.first_name = 'x' AND b.title = 'x'` must stay joined because one branch spans both scopes.
110
- if (roots.some((root) => hasAnyAlias(found, root.aliases)))
111
- return false;
112
- continue;
113
- }
114
- matches.push({ collectionRoot: match, condition });
115
- usedRoots.add(match.table.alias);
116
- hasAntiJoinBranch ||= isCollectionAntiJoin(condition, match);
117
- for (const alias of match.aliases)
118
- usedAliases.add(alias);
119
- }
120
- if (matches.length === 0)
121
- return false;
122
- // I.e. rewrite true sibling collection ORs like `b.id IS NOT NULL OR c.id IS NOT NULL`, and same-root
123
- // anti-join ORs like `b.id IS NULL OR br.rating = 5` that need `b.id IS NULL` to become `NOT EXISTS`.
124
- // skip positive-only single-root ORs, i.e. ORs with no `b.id IS NULL` anti-join branch like
125
- // `b.title = 'x' OR br.rating = 5`; mixed ordinary/collection ORs like `a.first_name = 'x' OR b.title = 'x'`
126
- // are safe because only the collection branch is replaced. Aliases are also filtered elsewhere like
127
- // `b.order = 1 AND (b.title = 'x' OR c.text = 'x')`, and aliases that must stay projected/sorted like
128
- // `SELECT b.title` or `ORDER BY b.title`.
129
- if ((matches.length === exp.conditions.length && usedRoots.size < 2 && !hasAntiJoinBranch) ||
130
- conditionReferencesAliasesOutside(query.condition, exp, usedAliases) ||
131
- queryReferencesAliasesOutsideConditions(query, usedAliases, keepAliases)) {
132
- return false;
133
- }
134
- const existsConditions = new Map();
135
- for (const match of matches) {
136
- const exists = createExistsCondition(query, match.collectionRoot, [match.condition]);
137
- if (!exists)
138
- return false;
139
- existsConditions.set(match.condition, exists);
140
- }
141
- exp.conditions = exp.conditions.map((condition) => existsConditions.get(condition) ?? condition);
142
- // I.e. leave the collection joins in place for now; pruning removes them after all rewrites.
143
- return true;
67
+ const matches = [];
68
+ const usedAliases = /* @__PURE__ */ new Set();
69
+ const usedRoots = /* @__PURE__ */ new Set();
70
+ let hasAntiJoinBranch = false;
71
+ for (const condition of exp.conditions) {
72
+ if (!isRealCondition(condition)) return false;
73
+ const match = roots.find((root) => conditionReferencesOnlyAliases(condition, root.aliases));
74
+ if (!match) {
75
+ const found = conditionAliases(condition);
76
+ if (roots.some((root) => hasAnyAlias(found, root.aliases))) return false;
77
+ continue;
78
+ }
79
+ matches.push({
80
+ collectionRoot: match,
81
+ condition
82
+ });
83
+ usedRoots.add(match.table.alias);
84
+ hasAntiJoinBranch ||= isCollectionAntiJoin(condition, match);
85
+ for (const alias of match.aliases) usedAliases.add(alias);
86
+ }
87
+ if (matches.length === 0) return false;
88
+ if (matches.length === exp.conditions.length && usedRoots.size < 2 && !hasAntiJoinBranch || conditionReferencesAliasesOutside(query.condition, exp, usedAliases) || queryReferencesAliasesOutsideConditions(query, usedAliases, keepAliases)) return false;
89
+ const existsConditions = /* @__PURE__ */ new Map();
90
+ for (const match of matches) {
91
+ const exists = createExistsCondition(query, match.collectionRoot, [match.condition]);
92
+ if (!exists) return false;
93
+ existsConditions.set(match.condition, exists);
94
+ }
95
+ exp.conditions = exp.conditions.map((condition) => existsConditions.get(condition) ?? condition);
96
+ return true;
144
97
  }
145
98
  /** Creates an EXISTS/NOT EXISTS condition for moved collection filters, or undefined when a LEFT JOIN must stay. */
146
99
  function createExistsCondition(query, collectionRoot, moved) {
147
- const root = collectionRoot.table;
148
- const hasOnlyAntiJoin = moved.length === 1 && isCollectionAntiJoin(moved[0], collectionRoot);
149
- if (!hasOnlyAntiJoin && !moved.some(isRealCondition)) {
150
- // I.e. only soft-delete/STI conditions moved; don't create an EXISTS that changes nothing.
151
- return undefined;
152
- }
153
- if (!hasOnlyAntiJoin && moved.some((c) => conditionContainsCollectionAntiJoin(c, collectionRoot))) {
154
- // I.e. `b.id IS NULL OR br.rating = 5` is not a pure anti-join; leave it as a LEFT JOIN for SQL semantics.
155
- return undefined;
156
- }
157
- // I.e. `rpm` may correlate through `_pp_version.id = rpm.ready_plan_version_id`, so pruning must keep
158
- // `_pp_version` even when the collection metadata's parent alias is only `pp`.
159
- const correlationAliases = joinDependencies(root);
160
- const correlation = {
161
- kind: "raw",
162
- aliases: [root.alias, ...correlationAliases],
163
- condition: `${root.col1} = ${root.col2}`,
164
- bindings: [],
165
- pruneable: false,
166
- };
167
- // I.e. a pure `b.id IS NULL` anti-join becomes `NOT EXISTS (SELECT 1 FROM books b WHERE a.id = b.author_id)`.
168
- const conditions = hasOnlyAntiJoin ? [correlation] : [correlation, ...moved];
169
- const subquery = {
170
- selects: ["1"],
171
- tables: query.tables
172
- .filter((t) => (hasOnlyAntiJoin ? t.alias === root.alias : collectionRoot.aliases.has(t.alias)))
173
- .map((t) => {
174
- // I.e. the collection root becomes the subquery's FROM table; children remain joins off that root.
175
- if (t.alias === root.alias)
176
- return { join: "primary", alias: t.alias, table: t.table };
177
- // I.e. preserve nullable paths like `LEFT JOIN p ... LEFT JOIN sp ... WHERE p.id = 1 OR sp.id = 1`; forcing
178
- // children to INNER JOIN would require every optional branch to exist before the OR can match any branch.
179
- if (t.join === "outer")
180
- return { ...t, distinct: false };
181
- return t;
182
- }),
183
- condition: { kind: "exp", op: "and", conditions },
184
- orderBys: [],
185
- };
186
- // I.e. nested `books.reviews` first creates an EXISTS for books, then this recursive call creates EXISTS for reviews.
187
- rewriteCollectionJoins(subquery);
188
- return {
189
- kind: "exists",
190
- negate: hasOnlyAntiJoin,
191
- subquery,
192
- outerAliases: correlationAliases,
193
- };
100
+ const root = collectionRoot.table;
101
+ const hasOnlyAntiJoin = moved.length === 1 && isCollectionAntiJoin(moved[0], collectionRoot);
102
+ if (!hasOnlyAntiJoin && !moved.some(isRealCondition)) return;
103
+ if (!hasOnlyAntiJoin && moved.some((c) => conditionContainsCollectionAntiJoin(c, collectionRoot))) return;
104
+ const correlationAliases = joinDependencies(root);
105
+ const correlation = {
106
+ kind: "raw",
107
+ aliases: [root.alias, ...correlationAliases],
108
+ condition: `${root.col1} = ${root.col2}`,
109
+ bindings: [],
110
+ pruneable: false
111
+ };
112
+ const conditions = hasOnlyAntiJoin ? [correlation] : [correlation, ...moved];
113
+ const subquery = {
114
+ selects: ["1"],
115
+ tables: query.tables.filter((t) => hasOnlyAntiJoin ? t.alias === root.alias : collectionRoot.aliases.has(t.alias)).map((t) => {
116
+ if (t.alias === root.alias) return {
117
+ join: "primary",
118
+ alias: t.alias,
119
+ table: t.table
120
+ };
121
+ if (t.join === "outer") return {
122
+ ...t,
123
+ distinct: false
124
+ };
125
+ return t;
126
+ }),
127
+ condition: {
128
+ kind: "exp",
129
+ op: "and",
130
+ conditions
131
+ },
132
+ orderBys: []
133
+ };
134
+ rewriteCollectionJoins(subquery);
135
+ return {
136
+ kind: "exists",
137
+ negate: hasOnlyAntiJoin,
138
+ subquery,
139
+ outerAliases: correlationAliases
140
+ };
194
141
  }
195
142
  /** Appends conditions to the top-level expression, creating an AND wrapper when needed. */
196
143
  function addConditions(query, conditions) {
197
- query.condition ??= { kind: "exp", op: "and", conditions: [] };
198
- query.condition.conditions.push(...conditions);
144
+ query.condition ??= {
145
+ kind: "exp",
146
+ op: "and",
147
+ conditions: []
148
+ };
149
+ query.condition.conditions.push(...conditions);
199
150
  }
200
151
  /** Returns top-level collection roots with their full join subtrees. */
201
152
  function getCollectionRoots(query) {
202
- return getTopLevelCollectionRoots(query).map((table) => {
203
- const aliases = collectJoinSubtreeAliases(query, table.alias);
204
- return {
205
- table,
206
- aliases,
207
- joinTables: query.tables.filter((t) => isJoinTable(t) && aliases.has(t.alias)),
208
- };
209
- });
153
+ return getTopLevelCollectionRoots(query).map((table) => {
154
+ const aliases = collectJoinSubtreeAliases(query, table.alias);
155
+ return {
156
+ table,
157
+ aliases,
158
+ joinTables: query.tables.filter((t) => isJoinTable(t) && aliases.has(t.alias))
159
+ };
160
+ });
210
161
  }
211
162
  /** Returns top-level collection roots, i.e. `books b` but not nested `book_reviews br`. */
212
163
  function getTopLevelCollectionRoots(query) {
213
- // I.e. if `books b` is nested under another collection root, the parent pass should absorb it; don't rewrite it here.
214
- const joinTables = query.tables.filter(isJoinTable);
215
- const collectionAliases = new Set(joinTables.flatMap((t) => (t.collection ? [t.alias] : [])));
216
- return joinTables.filter((t) => t.collection?.rootAlias === t.alias && !collectionAliases.has(t.collection.parentAlias));
164
+ const joinTables = query.tables.filter(isJoinTable);
165
+ const collectionAliases = new Set(joinTables.flatMap((t) => t.collection ? [t.alias] : []));
166
+ return joinTables.filter((t) => t.collection?.rootAlias === t.alias && !collectionAliases.has(t.collection.parentAlias));
217
167
  }
218
168
  /** Returns true if a remaining real condition prevents this subtree from becoming EXISTS, i.e. a cross-scope OR. */
219
169
  function conditionBlocksExistsRewrite(condition, aliases) {
220
- if (!condition || !isRealCondition(condition))
221
- return false;
222
- if (condition.kind === "exp" && condition.op === "and") {
223
- return condition.conditions.some((c) => conditionBlocksExistsRewrite(c, aliases));
224
- }
225
- return conditionReferencesAnyAlias(condition, aliases);
170
+ if (!condition || !isRealCondition(condition)) return false;
171
+ if (condition.kind === "exp" && condition.op === "and") return condition.conditions.some((c) => conditionBlocksExistsRewrite(c, aliases));
172
+ return conditionReferencesAnyAlias(condition, aliases);
226
173
  }
227
174
  /** Collects a collection root and all joins that depend on it, i.e. `b -> br -> c`. */
228
175
  function collectJoinSubtreeAliases(query, rootAlias) {
229
- const aliases = new Set([rootAlias]);
230
- let changed = true;
231
- while (changed) {
232
- changed = false;
233
- for (const table of query.tables) {
234
- if (!isJoinTable(table))
235
- continue;
236
- // I.e. `book_reviews br ON b.id = br.book_id` depends on `b`, so `br` belongs in the `b` subtree.
237
- if (!aliases.has(table.alias) && joinReferencesAnyAlias(table, aliases)) {
238
- aliases.add(table.alias);
239
- changed = true;
240
- }
241
- }
242
- }
243
- return aliases;
176
+ const aliases = /* @__PURE__ */ new Set([rootAlias]);
177
+ let changed = true;
178
+ while (changed) {
179
+ changed = false;
180
+ for (const table of query.tables) {
181
+ if (!isJoinTable(table)) continue;
182
+ if (!aliases.has(table.alias) && joinReferencesAnyAlias(table, aliases)) {
183
+ aliases.add(table.alias);
184
+ changed = true;
185
+ }
186
+ }
187
+ }
188
+ return aliases;
244
189
  }
245
190
  /**
246
- * Removes AND-safe conditions whose aliases all live inside one collection subtree.
247
- *
248
- * I.e. in `a.age = 1 AND b.title = 'x'`, only `b.title = 'x'` moves. In `b.title = 'x' OR br.rating = 5`,
249
- * the whole OR moves only if every alias is inside the same subtree.
250
- */
191
+ * Removes AND-safe conditions whose aliases all live inside one collection subtree.
192
+ *
193
+ * I.e. in `a.age = 1 AND b.title = 'x'`, only `b.title = 'x'` moves. In `b.title = 'x' OR br.rating = 5`,
194
+ * the whole OR moves only if every alias is inside the same subtree.
195
+ */
251
196
  function removeLocallyScopedConditions(exp, aliases) {
252
- if (exp.op === "or") {
253
- // I.e. OR cannot be split across scopes; either move the whole OR into the EXISTS, or leave it outside.
254
- if (!conditionReferencesOnlyAliases(exp, aliases))
255
- return [];
256
- const moved = { ...exp, conditions: [...exp.conditions] };
257
- exp.conditions = [];
258
- return [moved];
259
- }
260
- const moved = [];
261
- for (let i = exp.conditions.length - 1; i >= 0; i--) {
262
- const condition = exp.conditions[i];
263
- if (condition.kind === "exp" && condition.op === "and") {
264
- // I.e. flatten nested AND movement so `a AND (b AND br)` can still move `b` and `br` into the EXISTS.
265
- moved.push(...removeLocallyScopedConditions(condition, aliases));
266
- if (condition.conditions.length === 0)
267
- exp.conditions.splice(i, 1);
268
- }
269
- else if (conditionReferencesOnlyAliases(condition, aliases)) {
270
- // I.e. move `b.title = 'x'` out of the parent AND and into the collection EXISTS.
271
- moved.unshift(condition);
272
- exp.conditions.splice(i, 1);
273
- }
274
- }
275
- return moved;
197
+ if (exp.op === "or") {
198
+ if (!conditionReferencesOnlyAliases(exp, aliases)) return [];
199
+ const moved = {
200
+ ...exp,
201
+ conditions: [...exp.conditions]
202
+ };
203
+ exp.conditions = [];
204
+ return [moved];
205
+ }
206
+ const moved = [];
207
+ for (let i = exp.conditions.length - 1; i >= 0; i--) {
208
+ const condition = exp.conditions[i];
209
+ if (condition.kind === "exp" && condition.op === "and") {
210
+ moved.push(...removeLocallyScopedConditions(condition, aliases));
211
+ if (condition.conditions.length === 0) exp.conditions.splice(i, 1);
212
+ } else if (conditionReferencesOnlyAliases(condition, aliases)) {
213
+ moved.unshift(condition);
214
+ exp.conditions.splice(i, 1);
215
+ }
216
+ }
217
+ return moved;
276
218
  }
277
219
  /** Returns true when a condition references at least one alias and all aliases are in `aliases`, i.e. only `b`/`br`. */
278
220
  function conditionReferencesOnlyAliases(condition, aliases) {
279
- const found = conditionAliases(condition);
280
- return found.size > 0 && [...found].every((alias) => aliases.has(alias));
221
+ const found = conditionAliases(condition);
222
+ return found.size > 0 && [...found].every((alias) => aliases.has(alias));
281
223
  }
282
224
  /** Returns true when `aliases` are referenced by a real condition other than the targeted OR expression. */
283
225
  function conditionReferencesAliasesOutside(condition, target, aliases) {
284
- if (!condition || condition === target || !isRealCondition(condition))
285
- return false;
286
- if (condition.kind === "exp") {
287
- return condition.conditions.some((child) => conditionReferencesAliasesOutside(child, target, aliases));
288
- }
289
- return conditionReferencesAnyAlias(condition, aliases);
226
+ if (!condition || condition === target || !isRealCondition(condition)) return false;
227
+ if (condition.kind === "exp") return condition.conditions.some((child) => conditionReferencesAliasesOutside(child, target, aliases));
228
+ return conditionReferencesAnyAlias(condition, aliases);
290
229
  }
291
230
  /** Returns true when selected/ordered aliases would force these joins to remain in the outer query. */
292
231
  function queryReferencesAliasesOutsideConditions(query, aliases, keepAliases) {
293
- const requiredAliases = queryRequiredAliasesOutsideConditions(query, keepAliases);
294
- // I.e. if `array_agg(br.rating)` requires `br`, then `b` is required too because `br` joins through `b`; don't
295
- // move `b` under EXISTS just because the select references only its child alias directly.
296
- return hasAnyAlias(requiredAliases, aliases);
232
+ return hasAnyAlias(queryRequiredAliasesOutsideConditions(query, keepAliases), aliases);
297
233
  }
298
234
  /**
299
- * Returns aliases needed by SELECT/GROUP/ORDER plus their join dependencies.
300
- *
301
- * I.e. `array_agg(br.rating)` requires `br`, and then `br` requires `b` because it joins through `b`.
302
- */
235
+ * Returns aliases needed by SELECT/GROUP/ORDER plus their join dependencies.
236
+ *
237
+ * I.e. `array_agg(br.rating)` requires `br`, and then `br` requires `b` because it joins through `b`.
238
+ */
303
239
  function queryRequiredAliasesOutsideConditions(query, keepAliases) {
304
- const required = new Set();
305
- for (const alias of keepAliases)
306
- required.add(alias);
307
- for (const orderBy of query.orderBys)
308
- required.add(orderBy.alias);
309
- for (const groupBy of query.groupBys ?? []) {
310
- if ("expression" in groupBy) {
311
- addSelectAliases(query, required, groupBy.expression);
312
- }
313
- else {
314
- required.add(groupBy.alias);
315
- }
316
- }
317
- for (const select of query.selects) {
318
- if (typeof select === "string") {
319
- addSelectAliases(query, required, select);
320
- }
321
- else if ("aliases" in select) {
322
- for (const alias of select.aliases)
323
- required.add(alias);
324
- addSelectAliases(query, required, select.sql);
325
- }
326
- }
327
- const todo = [...required];
328
- while (todo.length > 0) {
329
- const alias = todo.pop();
330
- const table = query.tables.find((t) => t.alias === alias);
331
- if (!table || !isJoinTable(table))
332
- continue;
333
- for (const dependency of joinDependencies(table)) {
334
- if (!required.has(dependency)) {
335
- required.add(dependency);
336
- todo.push(dependency);
337
- }
338
- }
339
- }
340
- return required;
240
+ const required = /* @__PURE__ */ new Set();
241
+ for (const alias of keepAliases) required.add(alias);
242
+ for (const orderBy of query.orderBys) required.add(orderBy.alias);
243
+ for (const groupBy of query.groupBys ?? []) if ("expression" in groupBy) addSelectAliases(query, required, groupBy.expression);
244
+ else required.add(groupBy.alias);
245
+ for (const select of query.selects) if (typeof select === "string") addSelectAliases(query, required, select);
246
+ else if ("aliases" in select) {
247
+ for (const alias of select.aliases) required.add(alias);
248
+ addSelectAliases(query, required, select.sql);
249
+ }
250
+ const todo = [...required];
251
+ while (todo.length > 0) {
252
+ const alias = todo.pop();
253
+ const table = query.tables.find((t) => t.alias === alias);
254
+ if (!table || !isJoinTable(table)) continue;
255
+ for (const dependency of joinDependencies(table)) if (!required.has(dependency)) {
256
+ required.add(dependency);
257
+ todo.push(dependency);
258
+ }
259
+ }
260
+ return required;
341
261
  }
342
262
  /** Adds aliases referenced by raw select SQL, i.e. `array_agg(br.rating)` requires `br`. */
343
263
  function addSelectAliases(query, required, select) {
344
- for (const table of query.tables) {
345
- if ((0, QueryParser_pruning_1.selectReferencesAlias)(select, table.alias))
346
- required.add(table.alias);
347
- }
264
+ for (const table of query.tables) if (selectReferencesAlias(select, table.alias)) required.add(table.alias);
348
265
  }
349
266
  /** Returns the aliases needed to evaluate a join's ON clause, excluding the joined alias itself. */
350
267
  function joinDependencies(table) {
351
- return [(0, QueryParser_1.parseAlias)(table.col1), (0, QueryParser_1.parseAlias)(table.col2)].filter((alias) => alias !== table.alias);
268
+ return [parseAlias(table.col1), parseAlias(table.col2)].filter((alias) => alias !== table.alias);
352
269
  }
353
270
  /** Returns true when a condition references this subtree and another scope, i.e. `b.title = 'x' OR c.text = 'x'`. */
354
271
  function conditionHasCrossScopeReference(condition, aliases) {
355
- if (!condition || !isRealCondition(condition))
356
- return false;
357
- if (condition.kind === "exp" && condition.op === "and") {
358
- return condition.conditions.some((child) => conditionHasCrossScopeReference(child, aliases));
359
- }
360
- const found = conditionAliases(condition);
361
- return hasAnyAlias(found, aliases) && ![...found].every((alias) => aliases.has(alias));
272
+ if (!condition || !isRealCondition(condition)) return false;
273
+ if (condition.kind === "exp" && condition.op === "and") return condition.conditions.some((child) => conditionHasCrossScopeReference(child, aliases));
274
+ const found = conditionAliases(condition);
275
+ return hasAnyAlias(found, aliases) && ![...found].every((alias) => aliases.has(alias));
362
276
  }
363
277
  /** Returns true when a condition references any alias in `aliases`, i.e. `b` in `b.title = c.text`. */
364
278
  function conditionReferencesAnyAlias(condition, aliases) {
365
- return hasAnyAlias(conditionAliases(condition), aliases);
279
+ return hasAnyAlias(conditionAliases(condition), aliases);
366
280
  }
367
281
  /** Returns true when `table` is an ordinary SQL join. */
368
282
  function isJoinTable(table) {
369
- return table.join === "inner" || table.join === "outer";
283
+ return table.join === "inner" || table.join === "outer";
370
284
  }
371
285
  /** Returns true when a join's ON clause references any alias in `aliases`. */
372
286
  function joinReferencesAnyAlias(table, aliases) {
373
- return joinDependencies(table).some((alias) => aliases.has(alias));
287
+ return joinDependencies(table).some((alias) => aliases.has(alias));
374
288
  }
375
289
  /** Returns true when two alias sets overlap. */
376
290
  function hasAnyAlias(found, aliases) {
377
- return [...found].some((alias) => aliases.has(alias));
291
+ return [...found].some((alias) => aliases.has(alias));
378
292
  }
379
293
  /** Returns true for collection anti-joins, i.e. `b.id IS NULL` or m2m target `t.id IS NULL` for root `att`. */
380
294
  function isCollectionAntiJoin(condition, root) {
381
- return collectionAntiJoinAliases(root).some((alias) => isAliasIdNull(condition, alias));
295
+ return collectionAntiJoinAliases(root).some((alias) => isAliasIdNull(condition, alias));
382
296
  }
383
297
  /** Returns aliases whose `id IS NULL` means the collection root has no matching row. */
384
298
  function collectionAntiJoinAliases(root) {
385
- return [...root.aliases].filter((alias) => {
386
- if (alias === root.table.alias)
387
- return true;
388
- const table = rootTable(root, alias);
389
- // I.e. for m2m `authors -> authors_to_tags att -> tags t`, `t.id IS NULL` means no tag membership.
390
- return table?.collection?.rootAlias === root.table.alias;
391
- });
299
+ return [...root.aliases].filter((alias) => {
300
+ if (alias === root.table.alias) return true;
301
+ return rootTable(root, alias)?.collection?.rootAlias === root.table.alias;
302
+ });
392
303
  }
393
304
  /** Returns a join table from a collection subtree by alias. */
394
305
  function rootTable(root, alias) {
395
- return root.joinTables.find((table) => table.alias === alias);
306
+ return root.joinTables.find((table) => table.alias === alias);
396
307
  }
397
308
  /** Returns true for `alias.id IS NULL`, i.e. the parse shape for `{ books: { id: null } }`. */
398
309
  function isAliasIdNull(condition, alias) {
399
- return (condition.kind === "column" &&
400
- condition.alias === alias &&
401
- condition.column === "id" &&
402
- condition.cond.kind === "is-null");
310
+ return condition.kind === "column" && condition.alias === alias && condition.column === "id" && condition.cond.kind === "is-null";
403
311
  }
404
312
  /** Returns true when a condition tree contains a collection anti-join branch inside an OR. */
405
313
  function conditionContainsCollectionAntiJoin(condition, root) {
406
- if (isCollectionAntiJoin(condition, root))
407
- return true;
408
- if (condition.kind === "exp")
409
- return condition.conditions.some((c) => conditionContainsCollectionAntiJoin(c, root));
410
- return false;
314
+ if (isCollectionAntiJoin(condition, root)) return true;
315
+ if (condition.kind === "exp") return condition.conditions.some((c) => conditionContainsCollectionAntiJoin(c, root));
316
+ return false;
411
317
  }
412
318
  /** Removes empty expression wrappers left behind by condition movement, i.e. `AND []` after all children moved. */
413
319
  function removeEmptyExpressions(exp) {
414
- if (!exp)
415
- return;
416
- for (let i = exp.conditions.length - 1; i >= 0; i--) {
417
- const condition = exp.conditions[i];
418
- if (condition.kind === "exp") {
419
- removeEmptyExpressions(condition);
420
- if (condition.conditions.length === 0)
421
- exp.conditions.splice(i, 1);
422
- }
423
- }
320
+ if (!exp) return;
321
+ for (let i = exp.conditions.length - 1; i >= 0; i--) {
322
+ const condition = exp.conditions[i];
323
+ if (condition.kind === "exp") {
324
+ removeEmptyExpressions(condition);
325
+ if (condition.conditions.length === 0) exp.conditions.splice(i, 1);
326
+ }
327
+ }
424
328
  }
425
329
  /** Returns true if a condition must be preserved to maintain query semantics, i.e. user filters vs soft-delete filters. */
426
330
  function isRealCondition(condition) {
427
- if (condition.kind === "column" || condition.kind === "raw") {
428
- return !condition.pruneable;
429
- }
430
- else if (condition.kind === "exists") {
431
- return true;
432
- }
433
- else if (condition.kind === "exp") {
434
- return condition.conditions.some(isRealCondition);
435
- }
436
- else {
437
- (0, utils_1.assertNever)(condition);
438
- }
331
+ if (condition.kind === "column" || condition.kind === "raw") return !condition.pruneable;
332
+ else if (condition.kind === "exists") return true;
333
+ else if (condition.kind === "exp") return condition.conditions.some(isRealCondition);
334
+ else assertNever(condition);
439
335
  }
440
336
  /** Returns all aliases referenced by a condition, i.e. `b` and `a` in an OR. */
441
337
  function conditionAliases(condition) {
442
- const aliases = new Set();
443
- collectAllAliases(condition, aliases);
444
- return aliases;
338
+ const aliases = /* @__PURE__ */ new Set();
339
+ collectAllAliases(condition, aliases);
340
+ return aliases;
445
341
  }
446
342
  /** Collects all aliases referenced by a condition, including inside nested expressions, i.e. `b` and `a` in an OR. */
447
343
  function collectAllAliases(cond, out) {
448
- if (cond.kind === "column") {
449
- out.add(cond.alias);
450
- }
451
- else if (cond.kind === "raw") {
452
- for (const a of cond.aliases)
453
- out.add(a);
454
- }
455
- else if (cond.kind === "exp") {
456
- for (const c of cond.conditions)
457
- collectAllAliases(c, out);
458
- }
459
- else if (cond.kind === "exists") {
460
- // I.e. an EXISTS subquery is already a scoped unit; outer movement decisions should not inspect its internals.
461
- }
462
- else {
463
- (0, utils_1.assertNever)(cond);
464
- }
344
+ if (cond.kind === "column") out.add(cond.alias);
345
+ else if (cond.kind === "raw") for (const a of cond.aliases) out.add(a);
346
+ else if (cond.kind === "exp") for (const c of cond.conditions) collectAllAliases(c, out);
347
+ else if (cond.kind === "exists") {} else assertNever(cond);
465
348
  }
349
+ //#endregion
350
+ export { optimizeCollectionJoins };
351
+
466
352
  //# sourceMappingURL=QueryParser.collectionJoins.js.map