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 +1 @@
1
- {"version":3,"file":"QueryParser.collectionJoins.js","sourceRoot":"","sources":["../src/QueryParser.collectionJoins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryParser.collectionJoins.js","names":[],"sources":["../src/QueryParser.collectionJoins.ts"],"sourcesContent":["import { pruneUnusedJoins, selectReferencesAlias } from \"./QueryParser.pruning.ts\";\nimport {\n type ExistsCondition,\n type JoinTable,\n type ParsedExpressionCondition,\n type ParsedExpressionFilter,\n type ParsedFindQuery,\n type PrimaryTable,\n type RawCondition,\n maybeAddIdNotNulls,\n parseAlias,\n} from \"./QueryParser.ts\";\nimport { assertNever } from \"./utils.ts\";\n\n/** A collection root plus every join nested under it, i.e. `books b` with `book_reviews br`. */\ninterface CollectionRoot {\n /** The top-level collection join that becomes the EXISTS FROM table, i.e. `books b`. */\n table: JoinTable;\n /** Every alias in this collection subtree, i.e. `b` and `br` for `authors -> books -> reviews`. */\n aliases: Set<string>;\n /** Every join table in this collection subtree, i.e. `att` and `t` for an m2m tag filter. */\n joinTables: JoinTable[];\n}\n\n/**\n * Rewrites eligible logical collection LEFT JOINs into EXISTS after plugins have mutated the AST.\n *\n * QueryParser intentionally leaves collection filters as ordinary joins so `beforeFind` plugins see\n * stabler/simpler input than \"sometimes JOINs / sometimes EXISTS\".\n *\n * This pass runs after plugins and before SQL rendering:\n *\n * 1. `rewriteCollectionJoins` finds top-level collection joins and moves conditions that reference only\n * that subtree into a correlated EXISTS subquery. I.e. `{ books: { title: \"b1\" } }` becomes\n * `EXISTS (SELECT 1 FROM books b WHERE a.id = b.author_id AND b.title = 'b1')`.\n * 2. The same helper recurses into the generated subquery, so nested collections become nested EXISTS clauses.\n * I.e. `{ books: { reviews: { rating: 5 } } }` becomes EXISTS(books WHERE EXISTS(reviews)).\n * 3. Conditions that cannot be safely moved stay as LEFT JOINs. I.e. `OR(b.title = 'x', a.first_name = 'x')`\n * needs both aliases in one SQL scope, so `b` remains a join instead of becoming an EXISTS.\n * 4. Remaining fanout LEFT JOIN roots are rejected unless `allowMultipleLeftJoins` is set,\n * because they can produce cross-product row explosions.\n * 5. Finally, `maybeAddIdNotNulls` and `pruneUnusedJoins` clean up the joins that remain.\n */\nexport function optimizeCollectionJoins(\n query: ParsedFindQuery,\n opts: {\n allowMultipleLeftJoins?: boolean;\n optimizeJoinsToExists?: boolean;\n pruneJoins?: boolean;\n keepAliases?: string[];\n } = {},\n): void {\n const { allowMultipleLeftJoins = false, optimizeJoinsToExists = true, pruneJoins = true, keepAliases = [] } = opts;\n for (const table of query.tables) {\n // I.e. batched find/count queries wrap the real query in a LATERAL subquery; optimize that inner query too,\n // but let the outer query decide final pruning so it can keep the lateral alias itself.\n if (table.join === \"lateral\") optimizeCollectionJoins(table.query, { ...opts, pruneJoins: false });\n }\n if (optimizeJoinsToExists) rewriteCollectionJoins(query, keepAliases);\n\n // I.e. collection LEFT JOINs now fall into three buckets:\n // 1. local real filters, like `{ books: { title: \"b1\" } }`, were rewritten to EXISTS above;\n // 2. no local real filters, like `{ books: {}, comments: {} }`, are safe because pruning will remove them;\n // 3. blocked real filters, like cross-scope ORs, must stay as LEFT JOINs and can multiply rows.\n // Only the third bucket should trip the fanout guard.\n const fanoutLeftJoinAliases = getCollectionRoots(query)\n .filter((root) => conditionBlocksExistsRewrite(query.condition, root.aliases))\n .map((root) => root.table.alias);\n if (optimizeJoinsToExists && !allowMultipleLeftJoins && fanoutLeftJoinAliases.length > 1) {\n throw new Error(\n `em.find would issue multiple LEFT JOINs across collection relations (${fanoutLeftJoinAliases.join(\n \", \",\n )}); pass allowMultipleLeftJoins: true if this fanout is intentional`,\n );\n }\n\n if (query.tables.some((t) => t.join === \"outer\")) {\n // I.e. preserve legacy LEFT JOIN null semantics for any joins that could not become EXISTS.\n maybeAddIdNotNulls(query);\n }\n if (pruneJoins) {\n // I.e. remove logical collection joins that were replaced by EXISTS and any joins only needed before plugin edits.\n pruneUnusedJoins(query, keepAliases);\n }\n}\n\n/**\n * Rewrites root-level collection join subtrees into EXISTS when their conditions are locally scoped.\n *\n * I.e. for `authors a -> books b -> book_reviews br`, `b` is the collection root and `br` is part of its subtree.\n */\nfunction rewriteCollectionJoins(query: ParsedFindQuery, keepAliases: string[] = []): void {\n const roots = getCollectionRoots(query);\n if (query.condition) rewriteSiblingOrExpression(query, query.condition, roots, keepAliases);\n for (const root of roots) {\n if (queryReferencesAliasesOutsideConditions(query, root.aliases, keepAliases)) continue;\n if (conditionHasCrossScopeReference(query.condition, root.aliases)) continue;\n // I.e. move `b.title = 'x'` and `(br.rating = 5 OR br.rating = 4)`, but not `b.title = 'x' OR a.first_name = 'x'`.\n const moved = query.condition ? removeLocallyScopedConditions(query.condition, root.aliases) : [];\n if (moved.length === 0) continue;\n const exists = createExistsCondition(query, root, moved);\n if (!exists) {\n addConditions(query, moved);\n continue;\n }\n addConditions(query, [exists]);\n // I.e. after adding EXISTS, remove `books b` and its children from the outer FROM list.\n query.tables = query.tables.filter((t) => !root.aliases.has(t.alias));\n }\n removeEmptyExpressions(query.condition);\n}\n\n/** Rewrites eligible sibling collection ORs while preserving outer/mixed-scope ORs as joins. */\nfunction rewriteSiblingOrExpression(\n query: ParsedFindQuery,\n condition: ParsedExpressionCondition,\n roots: CollectionRoot[],\n keepAliases: string[],\n): void {\n if (condition.kind !== \"exp\") return;\n if (condition.op === \"or\" && rewriteSiblingOrExpressionChildren(query, condition, roots, keepAliases)) return;\n if (condition.op === \"and\") {\n for (const child of condition.conditions) rewriteSiblingOrExpression(query, child, roots, keepAliases);\n }\n}\n\n/** Returns true when OR branches that are scoped to collection subtrees became EXISTS conditions. */\nfunction rewriteSiblingOrExpressionChildren(\n query: ParsedFindQuery,\n exp: ParsedExpressionFilter,\n roots: CollectionRoot[],\n keepAliases: string[],\n): boolean {\n const matches: { collectionRoot: CollectionRoot; condition: ParsedExpressionCondition }[] = [];\n const usedAliases = new Set<string>();\n const usedRoots = new Set<string>();\n let hasAntiJoinBranch = false;\n for (const condition of exp.conditions) {\n if (!isRealCondition(condition)) return false;\n const match = roots.find((root) => conditionReferencesOnlyAliases(condition, root.aliases));\n if (!match) {\n const found = conditionAliases(condition);\n // I.e. `a.first_name = 'x'` can stay in the OR while `b.title = 'x'` becomes EXISTS, but\n // `a.first_name = 'x' AND b.title = 'x'` must stay joined because one branch spans both scopes.\n if (roots.some((root) => hasAnyAlias(found, root.aliases))) return false;\n continue;\n }\n matches.push({ collectionRoot: match, condition });\n usedRoots.add(match.table.alias);\n hasAntiJoinBranch ||= isCollectionAntiJoin(condition, match);\n for (const alias of match.aliases) usedAliases.add(alias);\n }\n if (matches.length === 0) return false;\n // I.e. rewrite true sibling collection ORs like `b.id IS NOT NULL OR c.id IS NOT NULL`, and same-root\n // anti-join ORs like `b.id IS NULL OR br.rating = 5` that need `b.id IS NULL` to become `NOT EXISTS`.\n // skip positive-only single-root ORs, i.e. ORs with no `b.id IS NULL` anti-join branch like\n // `b.title = 'x' OR br.rating = 5`; mixed ordinary/collection ORs like `a.first_name = 'x' OR b.title = 'x'`\n // are safe because only the collection branch is replaced. Aliases are also filtered elsewhere like\n // `b.order = 1 AND (b.title = 'x' OR c.text = 'x')`, and aliases that must stay projected/sorted like\n // `SELECT b.title` or `ORDER BY b.title`.\n if (\n (matches.length === exp.conditions.length && usedRoots.size < 2 && !hasAntiJoinBranch) ||\n conditionReferencesAliasesOutside(query.condition, exp, usedAliases) ||\n queryReferencesAliasesOutsideConditions(query, usedAliases, keepAliases)\n ) {\n return false;\n }\n\n const existsConditions = new Map<ParsedExpressionCondition, ExistsCondition>();\n for (const match of matches) {\n const exists = createExistsCondition(query, match.collectionRoot, [match.condition]);\n if (!exists) return false;\n existsConditions.set(match.condition, exists);\n }\n exp.conditions = exp.conditions.map((condition) => existsConditions.get(condition) ?? condition);\n // I.e. leave the collection joins in place for now; pruning removes them after all rewrites.\n return true;\n}\n\n/** Creates an EXISTS/NOT EXISTS condition for moved collection filters, or undefined when a LEFT JOIN must stay. */\nfunction createExistsCondition(\n query: ParsedFindQuery,\n collectionRoot: CollectionRoot,\n moved: ParsedExpressionCondition[],\n): ExistsCondition | undefined {\n const root = collectionRoot.table;\n const hasOnlyAntiJoin = moved.length === 1 && isCollectionAntiJoin(moved[0], collectionRoot);\n if (!hasOnlyAntiJoin && !moved.some(isRealCondition)) {\n // I.e. only soft-delete/STI conditions moved; don't create an EXISTS that changes nothing.\n return undefined;\n }\n if (!hasOnlyAntiJoin && moved.some((c) => conditionContainsCollectionAntiJoin(c, collectionRoot))) {\n // 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.\n return undefined;\n }\n\n // I.e. `rpm` may correlate through `_pp_version.id = rpm.ready_plan_version_id`, so pruning must keep\n // `_pp_version` even when the collection metadata's parent alias is only `pp`.\n const correlationAliases = joinDependencies(root);\n const correlation: RawCondition = {\n kind: \"raw\",\n aliases: [root.alias, ...correlationAliases],\n condition: `${root.col1} = ${root.col2}`,\n bindings: [],\n pruneable: false,\n };\n // I.e. a pure `b.id IS NULL` anti-join becomes `NOT EXISTS (SELECT 1 FROM books b WHERE a.id = b.author_id)`.\n const conditions = hasOnlyAntiJoin ? [correlation] : [correlation, ...moved];\n const subquery: ParsedFindQuery = {\n selects: [\"1\"],\n tables: query.tables\n .filter((t) => (hasOnlyAntiJoin ? t.alias === root.alias : collectionRoot.aliases.has(t.alias)))\n .map((t) => {\n // I.e. the collection root becomes the subquery's FROM table; children remain joins off that root.\n if (t.alias === root.alias) return { join: \"primary\", alias: t.alias, table: t.table } satisfies PrimaryTable;\n // I.e. preserve nullable paths like `LEFT JOIN p ... LEFT JOIN sp ... WHERE p.id = 1 OR sp.id = 1`; forcing\n // children to INNER JOIN would require every optional branch to exist before the OR can match any branch.\n if (t.join === \"outer\") return { ...t, distinct: false };\n return t;\n }),\n condition: { kind: \"exp\", op: \"and\", conditions },\n orderBys: [],\n };\n // I.e. nested `books.reviews` first creates an EXISTS for books, then this recursive call creates EXISTS for reviews.\n rewriteCollectionJoins(subquery);\n return {\n kind: \"exists\",\n negate: hasOnlyAntiJoin,\n subquery,\n outerAliases: correlationAliases,\n };\n}\n\n/** Appends conditions to the top-level expression, creating an AND wrapper when needed. */\nfunction addConditions(query: ParsedFindQuery, conditions: ParsedExpressionCondition[]): void {\n query.condition ??= { kind: \"exp\", op: \"and\", conditions: [] };\n query.condition.conditions.push(...conditions);\n}\n\n/** Returns top-level collection roots with their full join subtrees. */\nfunction getCollectionRoots(query: ParsedFindQuery): CollectionRoot[] {\n return getTopLevelCollectionRoots(query).map((table) => {\n const aliases = collectJoinSubtreeAliases(query, table.alias);\n return {\n table,\n aliases,\n joinTables: query.tables.filter((t): t is JoinTable => isJoinTable(t) && aliases.has(t.alias)),\n };\n });\n}\n\n/** Returns top-level collection roots, i.e. `books b` but not nested `book_reviews br`. */\nfunction getTopLevelCollectionRoots(query: ParsedFindQuery): JoinTable[] {\n // I.e. if `books b` is nested under another collection root, the parent pass should absorb it; don't rewrite it here.\n const joinTables = query.tables.filter(isJoinTable);\n const collectionAliases = new Set(joinTables.flatMap((t) => (t.collection ? [t.alias] : [])));\n return joinTables.filter(\n (t) => t.collection?.rootAlias === t.alias && !collectionAliases.has(t.collection.parentAlias),\n );\n}\n\n/** Returns true if a remaining real condition prevents this subtree from becoming EXISTS, i.e. a cross-scope OR. */\nfunction conditionBlocksExistsRewrite(condition: ParsedExpressionCondition | undefined, aliases: Set<string>): boolean {\n if (!condition || !isRealCondition(condition)) return false;\n if (condition.kind === \"exp\" && condition.op === \"and\") {\n return condition.conditions.some((c) => conditionBlocksExistsRewrite(c, aliases));\n }\n return conditionReferencesAnyAlias(condition, aliases);\n}\n\n/** Collects a collection root and all joins that depend on it, i.e. `b -> br -> c`. */\nfunction collectJoinSubtreeAliases(query: ParsedFindQuery, rootAlias: string): Set<string> {\n const aliases = new Set([rootAlias]);\n let changed = true;\n while (changed) {\n changed = false;\n for (const table of query.tables) {\n if (!isJoinTable(table)) continue;\n // I.e. `book_reviews br ON b.id = br.book_id` depends on `b`, so `br` belongs in the `b` subtree.\n if (!aliases.has(table.alias) && joinReferencesAnyAlias(table, aliases)) {\n aliases.add(table.alias);\n changed = true;\n }\n }\n }\n return aliases;\n}\n\n/**\n * Removes AND-safe conditions whose aliases all live inside one collection subtree.\n *\n * I.e. in `a.age = 1 AND b.title = 'x'`, only `b.title = 'x'` moves. In `b.title = 'x' OR br.rating = 5`,\n * the whole OR moves only if every alias is inside the same subtree.\n */\nfunction removeLocallyScopedConditions(exp: ParsedExpressionFilter, aliases: Set<string>): ParsedExpressionCondition[] {\n if (exp.op === \"or\") {\n // I.e. OR cannot be split across scopes; either move the whole OR into the EXISTS, or leave it outside.\n if (!conditionReferencesOnlyAliases(exp, aliases)) return [];\n const moved = { ...exp, conditions: [...exp.conditions] } satisfies ParsedExpressionFilter;\n exp.conditions = [];\n return [moved];\n }\n const moved: ParsedExpressionCondition[] = [];\n for (let i = exp.conditions.length - 1; i >= 0; i--) {\n const condition = exp.conditions[i];\n if (condition.kind === \"exp\" && condition.op === \"and\") {\n // I.e. flatten nested AND movement so `a AND (b AND br)` can still move `b` and `br` into the EXISTS.\n moved.push(...removeLocallyScopedConditions(condition, aliases));\n if (condition.conditions.length === 0) exp.conditions.splice(i, 1);\n } else if (conditionReferencesOnlyAliases(condition, aliases)) {\n // I.e. move `b.title = 'x'` out of the parent AND and into the collection EXISTS.\n moved.unshift(condition);\n exp.conditions.splice(i, 1);\n }\n }\n return moved;\n}\n\n/** Returns true when a condition references at least one alias and all aliases are in `aliases`, i.e. only `b`/`br`. */\nfunction conditionReferencesOnlyAliases(condition: ParsedExpressionCondition, aliases: Set<string>): boolean {\n const found = conditionAliases(condition);\n return found.size > 0 && [...found].every((alias) => aliases.has(alias));\n}\n\n/** Returns true when `aliases` are referenced by a real condition other than the targeted OR expression. */\nfunction conditionReferencesAliasesOutside(\n condition: ParsedExpressionCondition | undefined,\n target: ParsedExpressionCondition,\n aliases: Set<string>,\n): boolean {\n if (!condition || condition === target || !isRealCondition(condition)) return false;\n if (condition.kind === \"exp\") {\n return condition.conditions.some((child) => conditionReferencesAliasesOutside(child, target, aliases));\n }\n return conditionReferencesAnyAlias(condition, aliases);\n}\n\n/** Returns true when selected/ordered aliases would force these joins to remain in the outer query. */\nfunction queryReferencesAliasesOutsideConditions(\n query: ParsedFindQuery,\n aliases: Set<string>,\n keepAliases: string[],\n): boolean {\n const requiredAliases = queryRequiredAliasesOutsideConditions(query, keepAliases);\n // I.e. if `array_agg(br.rating)` requires `br`, then `b` is required too because `br` joins through `b`; don't\n // move `b` under EXISTS just because the select references only its child alias directly.\n return hasAnyAlias(requiredAliases, aliases);\n}\n\n/**\n * Returns aliases needed by SELECT/GROUP/ORDER plus their join dependencies.\n *\n * I.e. `array_agg(br.rating)` requires `br`, and then `br` requires `b` because it joins through `b`.\n */\nfunction queryRequiredAliasesOutsideConditions(query: ParsedFindQuery, keepAliases: string[]): Set<string> {\n const required = new Set<string>();\n for (const alias of keepAliases) required.add(alias);\n for (const orderBy of query.orderBys) required.add(orderBy.alias);\n for (const groupBy of query.groupBys ?? []) {\n if (\"expression\" in groupBy) {\n addSelectAliases(query, required, groupBy.expression);\n } else {\n required.add(groupBy.alias);\n }\n }\n for (const select of query.selects) {\n if (typeof select === \"string\") {\n addSelectAliases(query, required, select);\n } else if (\"aliases\" in select) {\n for (const alias of select.aliases) required.add(alias);\n addSelectAliases(query, required, select.sql);\n }\n }\n\n const todo = [...required];\n while (todo.length > 0) {\n const alias = todo.pop()!;\n const table = query.tables.find((t) => t.alias === alias);\n if (!table || !isJoinTable(table)) continue;\n for (const dependency of joinDependencies(table)) {\n if (!required.has(dependency)) {\n required.add(dependency);\n todo.push(dependency);\n }\n }\n }\n return required;\n}\n\n/** Adds aliases referenced by raw select SQL, i.e. `array_agg(br.rating)` requires `br`. */\nfunction addSelectAliases(query: ParsedFindQuery, required: Set<string>, select: string): void {\n for (const table of query.tables) {\n if (selectReferencesAlias(select, table.alias)) required.add(table.alias);\n }\n}\n\n/** Returns the aliases needed to evaluate a join's ON clause, excluding the joined alias itself. */\nfunction joinDependencies(table: JoinTable): string[] {\n return [parseAlias(table.col1), parseAlias(table.col2)].filter((alias) => alias !== table.alias);\n}\n\n/** Returns true when a condition references this subtree and another scope, i.e. `b.title = 'x' OR c.text = 'x'`. */\nfunction conditionHasCrossScopeReference(\n condition: ParsedExpressionCondition | undefined,\n aliases: Set<string>,\n): boolean {\n if (!condition || !isRealCondition(condition)) return false;\n if (condition.kind === \"exp\" && condition.op === \"and\") {\n return condition.conditions.some((child) => conditionHasCrossScopeReference(child, aliases));\n }\n const found = conditionAliases(condition);\n return hasAnyAlias(found, aliases) && ![...found].every((alias) => aliases.has(alias));\n}\n\n/** Returns true when a condition references any alias in `aliases`, i.e. `b` in `b.title = c.text`. */\nfunction conditionReferencesAnyAlias(condition: ParsedExpressionCondition, aliases: Set<string>): boolean {\n return hasAnyAlias(conditionAliases(condition), aliases);\n}\n\n/** Returns true when `table` is an ordinary SQL join. */\nfunction isJoinTable(table: ParsedFindQuery[\"tables\"][number]): table is JoinTable {\n return table.join === \"inner\" || table.join === \"outer\";\n}\n\n/** Returns true when a join's ON clause references any alias in `aliases`. */\nfunction joinReferencesAnyAlias(table: JoinTable, aliases: Set<string>): boolean {\n return joinDependencies(table).some((alias) => aliases.has(alias));\n}\n\n/** Returns true when two alias sets overlap. */\nfunction hasAnyAlias(found: Set<string>, aliases: Set<string>): boolean {\n return [...found].some((alias) => aliases.has(alias));\n}\n\n/** Returns true for collection anti-joins, i.e. `b.id IS NULL` or m2m target `t.id IS NULL` for root `att`. */\nfunction isCollectionAntiJoin(condition: ParsedExpressionCondition, root: CollectionRoot): boolean {\n return collectionAntiJoinAliases(root).some((alias) => isAliasIdNull(condition, alias));\n}\n\n/** Returns aliases whose `id IS NULL` means the collection root has no matching row. */\nfunction collectionAntiJoinAliases(root: CollectionRoot): string[] {\n return [...root.aliases].filter((alias) => {\n if (alias === root.table.alias) return true;\n const table = rootTable(root, alias);\n // I.e. for m2m `authors -> authors_to_tags att -> tags t`, `t.id IS NULL` means no tag membership.\n return table?.collection?.rootAlias === root.table.alias;\n });\n}\n\n/** Returns a join table from a collection subtree by alias. */\nfunction rootTable(root: CollectionRoot, alias: string): JoinTable | undefined {\n return root.joinTables.find((table) => table.alias === alias);\n}\n\n/** Returns true for `alias.id IS NULL`, i.e. the parse shape for `{ books: { id: null } }`. */\nfunction isAliasIdNull(condition: ParsedExpressionCondition, alias: string): boolean {\n return (\n condition.kind === \"column\" &&\n condition.alias === alias &&\n condition.column === \"id\" &&\n condition.cond.kind === \"is-null\"\n );\n}\n\n/** Returns true when a condition tree contains a collection anti-join branch inside an OR. */\nfunction conditionContainsCollectionAntiJoin(condition: ParsedExpressionCondition, root: CollectionRoot): boolean {\n if (isCollectionAntiJoin(condition, root)) return true;\n if (condition.kind === \"exp\") return condition.conditions.some((c) => conditionContainsCollectionAntiJoin(c, root));\n return false;\n}\n\n/** Removes empty expression wrappers left behind by condition movement, i.e. `AND []` after all children moved. */\nfunction removeEmptyExpressions(exp: ParsedExpressionFilter | undefined): void {\n if (!exp) return;\n for (let i = exp.conditions.length - 1; i >= 0; i--) {\n const condition = exp.conditions[i];\n if (condition.kind === \"exp\") {\n removeEmptyExpressions(condition);\n if (condition.conditions.length === 0) exp.conditions.splice(i, 1);\n }\n }\n}\n\n/** Returns true if a condition must be preserved to maintain query semantics, i.e. user filters vs soft-delete filters. */\nfunction isRealCondition(condition: ParsedExpressionCondition): boolean {\n if (condition.kind === \"column\" || condition.kind === \"raw\") {\n return !condition.pruneable;\n } else if (condition.kind === \"exists\") {\n return true;\n } else if (condition.kind === \"exp\") {\n return condition.conditions.some(isRealCondition);\n } else {\n assertNever(condition);\n }\n}\n\n/** Returns all aliases referenced by a condition, i.e. `b` and `a` in an OR. */\nfunction conditionAliases(condition: ParsedExpressionCondition): Set<string> {\n const aliases = new Set<string>();\n collectAllAliases(condition, aliases);\n return aliases;\n}\n\n/** Collects all aliases referenced by a condition, including inside nested expressions, i.e. `b` and `a` in an OR. */\nfunction collectAllAliases(cond: ParsedExpressionCondition, out: Set<string>): void {\n if (cond.kind === \"column\") {\n out.add(cond.alias);\n } else if (cond.kind === \"raw\") {\n for (const a of cond.aliases) out.add(a);\n } else if (cond.kind === \"exp\") {\n for (const c of cond.conditions) collectAllAliases(c, out);\n } else if (cond.kind === \"exists\") {\n // I.e. an EXISTS subquery is already a scoped unit; outer movement decisions should not inspect its internals.\n } else {\n assertNever(cond);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,346 @@
1
+ import { Column } from "./columns.cjs";
2
+ import { EntityMetadata, Field } from "./EntityMetadata.cjs";
3
+ import "./index.cjs";
4
+ import { ExpressionFilter, OrderBy, ValueFilter } from "./EntityFilter.cjs";
5
+ //#region src/QueryParser.d.ts
6
+ /** A tree of ANDs/ORs with conditions or nested conditions. */
7
+ interface ParsedExpressionFilter {
8
+ kind: "exp";
9
+ op: "and" | "or";
10
+ conditions: ParsedExpressionCondition[];
11
+ }
12
+ /** A condition or nested condition in a `ParsedExpressionFilter`. */
13
+ type ParsedExpressionCondition = ParsedExpressionFilter | ColumnCondition | RawCondition | ExistsCondition;
14
+ interface ColumnCondition {
15
+ kind: "column";
16
+ alias: string;
17
+ column: string;
18
+ dbType: string;
19
+ cond: ParsedValueFilter<any>;
20
+ /**
21
+ * A pruneable condition is one that was auto-added by something like soft-delete, and shouldn't
22
+ * be something that marks a join as actually used by the user's query.
23
+ */
24
+ pruneable?: boolean;
25
+ }
26
+ /** A user-provided condition like `SUM(${alias}.amount) > 1000` or `a1.last_name = b1.title`. */
27
+ interface RawCondition {
28
+ kind: "raw";
29
+ /** The aliases, i.e. `[a, b]`, used within the condition, to ensure we don't prune them. */
30
+ aliases: string[];
31
+ /** The condition itself, i.e. `SUM(a.age) DESC`. */
32
+ condition: string;
33
+ /** The bindings within `condition`, i.e. `SUM(${alias}.amount) > ?`. */
34
+ bindings: readonly any[];
35
+ /** Used to mark system-added conditions (like `LATERAL JOIN` conditions), which can be ignored when pruning unused joins. */
36
+ pruneable: boolean;
37
+ }
38
+ /** An EXISTS or NOT EXISTS subquery condition. */
39
+ interface ExistsCondition {
40
+ kind: "exists";
41
+ /** When true, renders as NOT EXISTS. */
42
+ negate: boolean;
43
+ /** The subquery: SELECT 1 FROM child WHERE correlation AND filter. */
44
+ subquery: ParsedFindQuery;
45
+ /** Outer aliases referenced by the correlation predicate, for join pruning. */
46
+ outerAliases: string[];
47
+ }
48
+ interface PrimaryTable {
49
+ join: "primary";
50
+ alias: string;
51
+ table: string;
52
+ }
53
+ interface JoinTable {
54
+ join: "inner" | "outer";
55
+ alias: string;
56
+ table: string;
57
+ col1: string;
58
+ col2: string;
59
+ distinct?: boolean;
60
+ /**
61
+ * Metadata used by `optimizeCollectionJoins` to rewrite collection joins into EXISTS.
62
+ *
63
+ * I.e. for `Author.books.reviews`:
64
+ * ```sql
65
+ * authors a
66
+ * LEFT JOIN books b ON a.id = b.author_id
67
+ * LEFT JOIN book_reviews br ON b.id = br.book_id
68
+ * ```
69
+ * `books b` has `parentAlias: "a"` and `rootAlias: "b"`, while `book_reviews br` has
70
+ * `parentAlias: "b"` and `rootAlias: "br"`.
71
+ *
72
+ * I.e. for `Author.tags`, the m2m join table is the collection root:
73
+ * ```sql
74
+ * authors a
75
+ * LEFT JOIN authors_to_tags att ON a.id = att.author_id
76
+ * LEFT JOIN tags t ON att.tag_id = t.id
77
+ * ```
78
+ * `authors_to_tags att` has `alias: "att"` and `rootAlias: "att"`, while `tags t` has `alias: "t"`
79
+ * but still has `rootAlias: "att"` because it belongs to the m2m subtree rooted at the join table.
80
+ */
81
+ collection?: {
82
+ /** The collection relation type, i.e. `o2m` for `Author.books`, or `m2m` for `Author.tags`. */
83
+ kind: "o2m" | "m2m";
84
+ /** The alias that owns this collection path, i.e. `a` for `Author.books`, or `att` for `Author.tags -> tags`. */
85
+ parentAlias: string;
86
+ /** The top-level alias in this collection subtree, i.e. `b` for `Author.books.reviews`, or `att` for `Author.tags`. */
87
+ rootAlias: string;
88
+ };
89
+ }
90
+ /**
91
+ * Creates a `CROSS JOIN`, currently used for our `em.find` batching.
92
+ *
93
+ * I.e. queries like:
94
+ *
95
+ * ```sql
96
+ * WITH _find (tag, arg1, arg2) AS (VALUES
97
+ * (0::int, 'a'::varchar, 'a'::varchar),
98
+ * (1, 'b', 'b'),
99
+ * (2, 'c', 'c')
100
+ * )
101
+ * SELECT a.*, array_agg(_find.tag) AS _tags
102
+ * FROM authors a
103
+ * CROSS JOIN _find AS _find
104
+ * WHERE a.first_name = _find.arg0 OR a.last_name = _find.arg1
105
+ * GROUP BY a.id
106
+ * ```
107
+ */
108
+ interface CrossJoinTable {
109
+ join: "cross";
110
+ /** The new alias for the joined table. */
111
+ alias: string;
112
+ /** The table name to join into the query. */
113
+ table: string;
114
+ }
115
+ /**
116
+ * Adds `WITH` CTE clauses to the query.
117
+ *
118
+ * I.e. queries like:
119
+ *
120
+ * ```sql
121
+ * WITH _find (tag, arg0, arg1) AS (
122
+ * VALUES ($1::int, $2::character varying, $3::character varying), ($4, $5, $6)
123
+ * )
124
+ * ```
125
+ */
126
+ interface ParsedCteClause {
127
+ /** The new alias for the CTE, i.e. `_find` in the above query. */
128
+ alias: string;
129
+ /** The columns, i.e. `tag, arg0, arg1` in the above query. */
130
+ columns?: {
131
+ columnName: string;
132
+ dbType: string;
133
+ }[];
134
+ /** The subquery for the AS of the CTE clause. */
135
+ query: {
136
+ kind: "raw";
137
+ sql: string;
138
+ bindings: readonly any[];
139
+ } | {
140
+ kind: "ast";
141
+ query: ParsedFindQuery;
142
+ };
143
+ /** Whether to include a `RECURSIVE` keyword after the `WITH`. */
144
+ recursive?: boolean;
145
+ }
146
+ /**
147
+ * Creates `LATERAL JOIN`s, currently used by `findCount` and JSON preloading.
148
+ */
149
+ interface LateralJoinTable {
150
+ join: "lateral";
151
+ alias: string;
152
+ /** Used for join dependency tracking. */
153
+ fromAlias: string;
154
+ /** Used more for bookkeeping/consistency with other join tables than the query itself. */
155
+ table: string;
156
+ /** The subquery that will look for/roll-up N children. */
157
+ query: ParsedFindQuery;
158
+ /** Optional settings for the subquery, i.e. per-parent pagination. */
159
+ settings?: {
160
+ limit?: number;
161
+ offset?: number;
162
+ };
163
+ }
164
+ type ParsedTable = PrimaryTable | JoinTable | CrossJoinTable | LateralJoinTable;
165
+ interface ParsedOrderBy {
166
+ alias: string;
167
+ column: string;
168
+ order: OrderBy;
169
+ }
170
+ type ParsedGroupBy = {
171
+ alias: string;
172
+ column: string;
173
+ } | {
174
+ expression: string;
175
+ };
176
+ type ParsedSelect = string | ParsedSelectWithBindings;
177
+ type ParsedSelectWithBindings = {
178
+ sql: string;
179
+ bindings: any[];
180
+ aliases: string[];
181
+ };
182
+ /** The result of parsing an `em.find` filter. */
183
+ interface ParsedFindQuery {
184
+ selects: ParsedSelect[];
185
+ /** The primary table plus any joins. */
186
+ tables: ParsedTable[];
187
+ /** The query's conditions. */
188
+ condition?: ParsedExpressionFilter;
189
+ /** Extremely optional group bys; we generally don't support adhoc/aggregate queries, but the auto-batching infra uses these. */
190
+ groupBys?: ParsedGroupBy[];
191
+ /** Any optional orders to add before the default 'order by id'. */
192
+ orderBys: ParsedOrderBy[];
193
+ /** Optional CTE to prefix to the query, i.e. for recursive relations. */
194
+ ctes?: ParsedCteClause[];
195
+ }
196
+ /**
197
+ * Parses an `em.find` filter into a logical `ParsedFindQuery` AST, leaving optimization/pruning to callers.
198
+ *
199
+ * The main execution flow is:
200
+ * parseFindQuery -> beforeFind plugins -> optimizeCollectionJoins -> pruneUnusedJoins -> execute SQL.
201
+ */
202
+ declare function parseFindQuery(meta: EntityMetadata, filter: any, opts?: {
203
+ conditions?: ExpressionFilter;
204
+ orderBy?: any;
205
+ pruneJoins?: boolean;
206
+ keepAliases?: string[];
207
+ softDeletes?: "include" | "exclude";
208
+ allowMultipleLeftJoins?: boolean;
209
+ optimizeJoinsToExists?: boolean;
210
+ }): ParsedFindQuery;
211
+ /**
212
+ * Look for conditions doing `some_column IS NULL` in an outer join that
213
+ * need an `id IS NOT NULL` to make sure they don't match inadvertently on
214
+ * the child row simply not existing.
215
+ *
216
+ * Note: Instead of injecting an extra `id IS NOT NULL` condition, I had tried
217
+ * using all INNER JOINs and flipping joins to OUTER only if the user explicit
218
+ * had `id IS NULL` in their filter, but that didn't work for queries that wanted
219
+ * to do an `OR` across two different children (which queries both children being
220
+ * OUTER JOINs, and detecting that case seemed complicated).
221
+ */
222
+ declare function maybeAddIdNotNulls(query: ParsedFindQuery): void;
223
+ /** Returns the `a` from `"a".*`. */
224
+ declare function parseAlias(alias: string): string;
225
+ /** An ADT version of `EntityFilter`. */
226
+ type ParsedEntityFilter = ParsedValueFilter<string | number> | {
227
+ kind: "join";
228
+ subFilter: object;
229
+ };
230
+ /** Parses an entity filter, which could be "just an id", an array of ids, or a nested filter. */
231
+ declare function parseEntityFilter(meta: EntityMetadata, filter: any): ParsedEntityFilter | undefined;
232
+ /** Finds a filter field by fieldName or generated fieldIdName. */
233
+ declare function findFilterField(meta: EntityMetadata, key: string): (Field & {
234
+ aliasSuffix: string;
235
+ }) | undefined;
236
+ /**
237
+ * An ADT version of `ValueFilter`.
238
+ *
239
+ * The ValueFilter is a
240
+ */
241
+ type ParsedValueFilter<V> = {
242
+ kind: "eq";
243
+ value: V;
244
+ } | {
245
+ kind: "in";
246
+ value: readonly V[];
247
+ } | {
248
+ kind: "nin";
249
+ value: readonly V[];
250
+ } | {
251
+ kind: "gt";
252
+ value: V;
253
+ } | {
254
+ kind: "gte";
255
+ value: V;
256
+ } | {
257
+ kind: "ne";
258
+ value: V;
259
+ } | {
260
+ kind: "is-null";
261
+ } | {
262
+ kind: "not-null";
263
+ } | {
264
+ kind: "lt";
265
+ value: V;
266
+ } | {
267
+ kind: "lte";
268
+ value: V;
269
+ } | {
270
+ kind: "like";
271
+ value: V;
272
+ } | {
273
+ kind: "nlike";
274
+ value: V;
275
+ } | {
276
+ kind: "ilike";
277
+ value: V;
278
+ } | {
279
+ kind: "nilike";
280
+ value: V;
281
+ } | {
282
+ kind: "regex";
283
+ value: V;
284
+ } | {
285
+ kind: "nregex";
286
+ value: V;
287
+ } | {
288
+ kind: "iregex";
289
+ value: V;
290
+ } | {
291
+ kind: "niregex";
292
+ value: V;
293
+ } | {
294
+ kind: "contains";
295
+ value: readonly V[];
296
+ } | {
297
+ kind: "ncontains";
298
+ value: readonly V[];
299
+ } | {
300
+ kind: "overlaps";
301
+ value: readonly V[];
302
+ } | {
303
+ kind: "noverlaps";
304
+ value: readonly V[];
305
+ } | {
306
+ kind: "containedBy";
307
+ value: readonly V[];
308
+ } | {
309
+ kind: "between";
310
+ value: [V, V];
311
+ } | {
312
+ kind: "jsonPathExists";
313
+ value: string;
314
+ } | {
315
+ kind: "jsonPathPredicate";
316
+ value: string;
317
+ };
318
+ /**
319
+ * Parses the many/hodgepodge (ergonomic!) patterns of value filters into a `ParsedValueFilter[]`.
320
+ *
321
+ * Note we return an array because filter might be a `ValueGraphQLFilter` that is allowed to have
322
+ * multiple conditions, i.e. `{ lt: 10, gt: 5 }`.
323
+ */
324
+ declare function parseValueFilter<V>(filter: ValueFilter<V, any>): ParsedValueFilter<V>[];
325
+ /** Converts domain-level values like string ids/enums into their db equivalent. */
326
+ declare function mapToDb(column: Column, filter: ParsedValueFilter<any>): ParsedValueFilter<any>;
327
+ /** Adds any user-configured default order, plus an "always order by id" for determinism. */
328
+ declare function maybeAddOrderBy(query: ParsedFindQuery, meta: EntityMetadata, alias: string): void;
329
+ declare function addTablePerClassJoinsAndClassTag(query: ParsedFindQuery, meta: EntityMetadata, alias: string, isPrimary: boolean): void;
330
+ /**
331
+ * Builds the primary table's SELECT columns explicitly, i.e. excluding any `lazy` columns.
332
+ *
333
+ * Only used when `meta.hasLazyColumns` is true; otherwise callers keep their plain `alias.*`, so
334
+ * that entities without lazy columns emit byte-identical SQL to before this feature existed.
335
+ */
336
+ declare function lazyExcludedSelects(meta: EntityMetadata, alias: string): string[];
337
+ declare function maybeAddNotSoftDeleted(conditions: ColumnCondition[], meta: EntityMetadata, alias: string, softDeletes: "include" | "exclude"): void;
338
+ declare function filterSoftDeletes(meta: EntityMetadata, softDeletes: "include" | "exclude"): boolean;
339
+ declare function getTables(query: ParsedFindQuery): [PrimaryTable, JoinTable[], LateralJoinTable[], CrossJoinTable[]];
340
+ /** The `type_id = X` discriminator condition for an STI subtype, shared by em.find and em.query. */
341
+ declare function stiSubtypeFilter(meta: EntityMetadata, alias: string): ColumnCondition | undefined;
342
+ /** Converts a search term like `foo bar` into a SQL `like` pattern like `%foo%bar%`. */
343
+ declare function makeLike(search: any | undefined): any;
344
+ //#endregion
345
+ export { ColumnCondition, CrossJoinTable, ExistsCondition, JoinTable, LateralJoinTable, ParsedCteClause, ParsedEntityFilter, ParsedExpressionCondition, ParsedExpressionFilter, ParsedFindQuery, ParsedGroupBy, ParsedOrderBy, ParsedSelect, ParsedTable, ParsedValueFilter, PrimaryTable, RawCondition, addTablePerClassJoinsAndClassTag, filterSoftDeletes, findFilterField, getTables, lazyExcludedSelects, makeLike, mapToDb, maybeAddIdNotNulls, maybeAddNotSoftDeleted, maybeAddOrderBy, parseAlias, parseEntityFilter, parseFindQuery, parseValueFilter, stiSubtypeFilter };
346
+ //# sourceMappingURL=QueryParser.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParser.d.cts","names":[],"sources":["../src/QueryParser.ts"],"mappings":";;;;;;UAuBiB;EACf;EACA;EACA,YAAY;;;KAIF,4BAA4B,yBAAyB,kBAAkB,eAAe;UAEjF;EACf;EACA;EACA;EACA;EACA,MAAM;;;;;EAKN;;;UAIe;EACf;;EAEA;;EAEA;;EAEA;;EAEA;;;UAIe;EACf;;EAEA;;EAEA,UAAU;;EAEV;;UAMe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;;;;;;;;;;;;;;;;;;;;;EAsBA;;IAEE;;IAEA;;IAEA;;;;;;;;;;;;;;;;;;;;;UAsBa;EACf;;EAEA;;EAEA;;;;;;;;;;;;;UAce;;EAEf;;EAEA;IAAY;IAAoB;;;EAEhC;IAAS;IAAa;IAAa;;IAA+B;IAAa,OAAO;;;EAEtF;;;;;UAMe;EACf;EACA;;EAEA;;EAEA;;EAEA,OAAO;;EAEP;IAAa;IAAgB;;;KAGnB,cAAc,eAAe,YAAY,iBAAiB;UAErD;EACf;EACA;EACA,OAAO;;KAGG;EAAkB;EAAe;;EAAqB;;KAEtD,wBAAwB;KAC/B;EAA6B;EAAa;EAAiB;;;UAG/C;EACf,SAAS;;EAET,QAAQ;;EAER,YAAY;;EAEZ,WAAW;;EAEX,UAAU;;EAEV,OAAO;;;;;;;;iBASO,eACd,MAAM,gBACN,aACA;EACE,aAAa;EACb;EACA;EACA;EACA;EACA;EACA;IAED;;;;;;;;;;;;iBAqhBa,mBAAmB,OAAO;;iBAgC1B,WAAW;;KAKf,qBAER;EAEE;EAAc;;;iBAGJ,kBAAkB,MAAM,gBAAgB,cAAc;;iBA+GtD,gBAAgB,MAAM,gBAAgB,eAAe;EAAU;;;;;;;KAcnE,kBAAkB;EACxB;EAAY,OAAO;;EACnB;EAAY,gBAAgB;;EAC5B;EAAa,gBAAgB;;EAC7B;EAAY,OAAO;;EACnB;EAAa,OAAO;;EACpB;EAAY,OAAO;;EACnB;;EACA;;EACA;EAAY,OAAO;;EACnB;EAAa,OAAO;;EACpB;EAAc,OAAO;;EACrB;EAAe,OAAO;;EACtB;EAAe,OAAO;;EACtB;EAAgB,OAAO;;EACvB;EAAe,OAAO;;EACtB;EAAgB,OAAO;;EACvB;EAAgB,OAAO;;EACvB;EAAiB,OAAO;;EACxB;EAAkB,gBAAgB;;EAClC;EAAmB,gBAAgB;;EACnC;EAAkB,gBAAgB;;EAClC;EAAmB,gBAAgB;;EACnC;EAAqB,gBAAgB;;EACrC;EAAiB,QAAQ,GAAG;;EAC5B;EAAwB;;EACxB;EAA2B;;;;;;;;iBAQjB,iBAAiB,GAAG,QAAQ,YAAY,UAAU,kBAAkB;;iBAqFpE,QAAQ,QAAQ,QAAQ,QAAQ,yBAAyB;;iBAoEzD,gBAAgB,OAAO,iBAAiB,MAAM,gBAAgB;iBAiB9D,iCACd,OAAO,iBACP,MAAM,gBACN,eACA;;;;;;;iBAyEc,oBAAoB,MAAM,gBAAgB;iBAwB1C,uBACd,YAAY,mBACZ,MAAM,gBACN,eACA;iBAcc,kBAAkB,MAAM,gBAAgB;iBASxC,UAAU,OAAO,mBAAmB,cAAc,aAAa,oBAAoB;;iBAiCnF,iBAAiB,MAAM,gBAAgB,gBAAgB;;iBAevD,SAAS"}