joist-core 2.3.0 → 2.4.0-next.2

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 (1548) hide show
  1. package/build/BaseEntity.cjs +112 -0
  2. package/build/BaseEntity.cjs.map +1 -0
  3. package/build/BaseEntity.d.cts +73 -0
  4. package/build/BaseEntity.d.cts.map +1 -0
  5. package/build/BaseEntity.d.mts +73 -0
  6. package/build/BaseEntity.d.mts.map +1 -0
  7. package/build/BaseEntity.js +99 -110
  8. package/build/BaseEntity.js.map +1 -1
  9. package/build/Entity.cjs +12 -0
  10. package/build/Entity.cjs.map +1 -0
  11. package/build/Entity.d.cts +42 -0
  12. package/build/Entity.d.cts.map +1 -0
  13. package/build/Entity.d.mts +42 -0
  14. package/build/Entity.d.mts.map +1 -0
  15. package/build/Entity.js +8 -5
  16. package/build/Entity.js.map +1 -1
  17. package/build/EntityFields.cjs +1 -0
  18. package/build/EntityFields.d.cts +36 -0
  19. package/build/EntityFields.d.cts.map +1 -0
  20. package/build/EntityFields.d.mts +36 -0
  21. package/build/EntityFields.d.mts.map +1 -0
  22. package/build/EntityFields.js +1 -3
  23. package/build/EntityManager.cjs +1935 -0
  24. package/build/EntityManager.cjs.map +1 -0
  25. package/build/EntityManager.d.cts +835 -0
  26. package/build/EntityManager.d.cts.map +1 -0
  27. package/build/EntityManager.d.mts +835 -0
  28. package/build/EntityManager.d.mts.map +1 -0
  29. package/build/EntityManager.js +1812 -2211
  30. package/build/EntityManager.js.map +1 -1
  31. package/build/EntityMetadata.cjs +75 -0
  32. package/build/EntityMetadata.cjs.map +1 -0
  33. package/build/EntityMetadata.d.cts +262 -0
  34. package/build/EntityMetadata.d.cts.map +1 -0
  35. package/build/EntityMetadata.d.mts +262 -0
  36. package/build/EntityMetadata.d.mts.map +1 -0
  37. package/build/EntityMetadata.js +31 -48
  38. package/build/EntityMetadata.js.map +1 -1
  39. package/build/EnumMetadata.cjs +1 -0
  40. package/build/EnumMetadata.d.cts +18 -0
  41. package/build/EnumMetadata.d.cts.map +1 -0
  42. package/build/EnumMetadata.d.mts +18 -0
  43. package/build/EnumMetadata.d.mts.map +1 -0
  44. package/build/EnumMetadata.js +1 -3
  45. package/build/IndexManager.cjs +178 -0
  46. package/build/IndexManager.cjs.map +1 -0
  47. package/build/IndexManager.d.cts +36 -0
  48. package/build/IndexManager.d.cts.map +1 -0
  49. package/build/IndexManager.d.mts +36 -0
  50. package/build/IndexManager.d.mts.map +1 -0
  51. package/build/IndexManager.js +169 -218
  52. package/build/IndexManager.js.map +1 -1
  53. package/build/InstanceData.cjs +218 -0
  54. package/build/InstanceData.cjs.map +1 -0
  55. package/build/InstanceData.d.cts +98 -0
  56. package/build/InstanceData.d.cts.map +1 -0
  57. package/build/InstanceData.d.mts +98 -0
  58. package/build/InstanceData.d.mts.map +1 -0
  59. package/build/InstanceData.js +215 -222
  60. package/build/InstanceData.js.map +1 -1
  61. package/build/PluginManager.cjs +89 -0
  62. package/build/PluginManager.cjs.map +1 -0
  63. package/build/PluginManager.d.cts +112 -0
  64. package/build/PluginManager.d.cts.map +1 -0
  65. package/build/PluginManager.d.mts +112 -0
  66. package/build/PluginManager.d.mts.map +1 -0
  67. package/build/PluginManager.js +80 -106
  68. package/build/PluginManager.js.map +1 -1
  69. package/build/RowData.cjs +37 -0
  70. package/build/RowData.cjs.map +1 -0
  71. package/build/RowData.d.cts +53 -0
  72. package/build/RowData.d.cts.map +1 -0
  73. package/build/RowData.d.mts +53 -0
  74. package/build/RowData.d.mts.map +1 -0
  75. package/build/RowData.js +35 -0
  76. package/build/RowData.js.map +1 -0
  77. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  78. package/build/batchloaders/BatchLoader.cjs +49 -0
  79. package/build/batchloaders/BatchLoader.cjs.map +1 -0
  80. package/build/batchloaders/BatchLoader.d.cts +17 -0
  81. package/build/batchloaders/BatchLoader.d.cts.map +1 -0
  82. package/build/batchloaders/BatchLoader.d.mts +17 -0
  83. package/build/batchloaders/BatchLoader.d.mts.map +1 -0
  84. package/build/batchloaders/BatchLoader.js +45 -54
  85. package/build/batchloaders/BatchLoader.js.map +1 -1
  86. package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
  87. package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
  88. package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
  89. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
  90. package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
  91. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
  92. package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
  93. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
  94. package/build/batchloaders/loadBatchLoader.cjs +78 -0
  95. package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
  96. package/build/batchloaders/loadBatchLoader.d.cts +20 -0
  97. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
  98. package/build/batchloaders/loadBatchLoader.d.mts +20 -0
  99. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
  100. package/build/batchloaders/loadBatchLoader.js +72 -51
  101. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  102. package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
  103. package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
  104. package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
  105. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
  106. package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
  107. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
  108. package/build/batchloaders/manyToManyBatchLoader.js +70 -61
  109. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  110. package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
  111. package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
  112. package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
  113. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
  114. package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
  115. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
  116. package/build/batchloaders/oneToManyBatchLoader.js +58 -48
  117. package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
  118. package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
  119. package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
  120. package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
  121. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
  122. package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
  123. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
  124. package/build/batchloaders/oneToOneBatchLoader.js +59 -50
  125. package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
  126. package/build/batchloaders/populateBatchLoader.cjs +155 -0
  127. package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
  128. package/build/batchloaders/populateBatchLoader.d.cts +17 -0
  129. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
  130. package/build/batchloaders/populateBatchLoader.d.mts +17 -0
  131. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
  132. package/build/batchloaders/populateBatchLoader.js +147 -203
  133. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  134. package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
  135. package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
  136. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
  137. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
  138. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
  139. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
  140. package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
  141. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  142. package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
  143. package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
  144. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
  145. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
  146. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
  147. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
  148. package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
  149. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  150. package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
  151. package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
  152. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
  153. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
  154. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
  155. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
  156. package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
  157. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  158. package/build/changes.cjs +221 -0
  159. package/build/changes.cjs.map +1 -0
  160. package/build/changes.d.cts +95 -0
  161. package/build/changes.d.cts.map +1 -0
  162. package/build/changes.d.mts +95 -0
  163. package/build/changes.d.mts.map +1 -0
  164. package/build/changes.js +208 -285
  165. package/build/changes.js.map +1 -1
  166. package/build/config.cjs +295 -0
  167. package/build/config.cjs.map +1 -0
  168. package/build/config.d.cts +277 -0
  169. package/build/config.d.cts.map +1 -0
  170. package/build/config.d.mts +277 -0
  171. package/build/config.d.mts.map +1 -0
  172. package/build/config.js +255 -301
  173. package/build/config.js.map +1 -1
  174. package/build/configure.cjs +324 -0
  175. package/build/configure.cjs.map +1 -0
  176. package/build/configure.d.cts +19 -0
  177. package/build/configure.d.cts.map +1 -0
  178. package/build/configure.d.mts +19 -0
  179. package/build/configure.d.mts.map +1 -0
  180. package/build/configure.js +265 -348
  181. package/build/configure.js.map +1 -1
  182. package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
  183. package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
  184. package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
  185. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
  186. package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
  187. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
  188. package/build/dataloaders/fastWhereFilterHash.js +108 -133
  189. package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
  190. package/build/dataloaders/findByUniqueDataLoader.cjs +58 -0
  191. package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
  192. package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
  193. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
  194. package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
  195. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
  196. package/build/dataloaders/findByUniqueDataLoader.js +53 -44
  197. package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
  198. package/build/dataloaders/findCountDataLoader.cjs +123 -0
  199. package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
  200. package/build/dataloaders/findCountDataLoader.d.cts +19 -0
  201. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
  202. package/build/dataloaders/findCountDataLoader.d.mts +19 -0
  203. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
  204. package/build/dataloaders/findCountDataLoader.js +112 -109
  205. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  206. package/build/dataloaders/findDataLoader.cjs +365 -0
  207. package/build/dataloaders/findDataLoader.cjs.map +1 -0
  208. package/build/dataloaders/findDataLoader.d.cts +79 -0
  209. package/build/dataloaders/findDataLoader.d.cts.map +1 -0
  210. package/build/dataloaders/findDataLoader.d.mts +79 -0
  211. package/build/dataloaders/findDataLoader.d.mts.map +1 -0
  212. package/build/dataloaders/findDataLoader.js +298 -382
  213. package/build/dataloaders/findDataLoader.js.map +1 -1
  214. package/build/dataloaders/findIdsDataLoader.cjs +82 -0
  215. package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
  216. package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
  217. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
  218. package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
  219. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
  220. package/build/dataloaders/findIdsDataLoader.js +77 -74
  221. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  222. package/build/dataloaders/findOrCreateDataLoader.cjs +120 -0
  223. package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
  224. package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
  225. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
  226. package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
  227. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
  228. package/build/dataloaders/findOrCreateDataLoader.js +102 -164
  229. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  230. package/build/dataloaders/findPaginatedDataLoader.cjs +98 -0
  231. package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
  232. package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
  233. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
  234. package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
  235. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
  236. package/build/dataloaders/findPaginatedDataLoader.js +93 -80
  237. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  238. package/build/dataloaders/lensDataLoader.cjs +178 -0
  239. package/build/dataloaders/lensDataLoader.cjs.map +1 -0
  240. package/build/dataloaders/lensDataLoader.d.cts +15 -0
  241. package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
  242. package/build/dataloaders/lensDataLoader.d.mts +15 -0
  243. package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
  244. package/build/dataloaders/lensDataLoader.js +172 -176
  245. package/build/dataloaders/lensDataLoader.js.map +1 -1
  246. package/build/dataloaders/manyToManyFindDataLoader.cjs +84 -0
  247. package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
  248. package/build/dataloaders/manyToManyFindDataLoader.d.cts +12 -0
  249. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
  250. package/build/dataloaders/manyToManyFindDataLoader.d.mts +12 -0
  251. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
  252. package/build/dataloaders/manyToManyFindDataLoader.js +76 -70
  253. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  254. package/build/dataloaders/oneToManyFindDataLoader.cjs +77 -0
  255. package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
  256. package/build/dataloaders/oneToManyFindDataLoader.d.cts +12 -0
  257. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
  258. package/build/dataloaders/oneToManyFindDataLoader.d.mts +12 -0
  259. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
  260. package/build/dataloaders/oneToManyFindDataLoader.js +71 -67
  261. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  262. package/build/defaults.cjs +195 -0
  263. package/build/defaults.cjs.map +1 -0
  264. package/build/defaults.d.cts +56 -0
  265. package/build/defaults.d.cts.map +1 -0
  266. package/build/defaults.d.mts +56 -0
  267. package/build/defaults.d.mts.map +1 -0
  268. package/build/defaults.js +171 -271
  269. package/build/defaults.js.map +1 -1
  270. package/build/drivers/Driver.cjs +3 -0
  271. package/build/drivers/Driver.d.cts +51 -0
  272. package/build/drivers/Driver.d.cts.map +1 -0
  273. package/build/drivers/Driver.d.mts +51 -0
  274. package/build/drivers/Driver.d.mts.map +1 -0
  275. package/build/drivers/Driver.js +3 -3
  276. package/build/drivers/EntityWriter.cjs +208 -0
  277. package/build/drivers/EntityWriter.cjs.map +1 -0
  278. package/build/drivers/EntityWriter.d.cts +66 -0
  279. package/build/drivers/EntityWriter.d.cts.map +1 -0
  280. package/build/drivers/EntityWriter.d.mts +66 -0
  281. package/build/drivers/EntityWriter.d.mts.map +1 -0
  282. package/build/drivers/EntityWriter.js +183 -219
  283. package/build/drivers/EntityWriter.js.map +1 -1
  284. package/build/drivers/IdAssigner.cjs +89 -0
  285. package/build/drivers/IdAssigner.cjs.map +1 -0
  286. package/build/drivers/IdAssigner.d.cts +50 -0
  287. package/build/drivers/IdAssigner.d.cts.map +1 -0
  288. package/build/drivers/IdAssigner.d.mts +50 -0
  289. package/build/drivers/IdAssigner.d.mts.map +1 -0
  290. package/build/drivers/IdAssigner.js +80 -124
  291. package/build/drivers/IdAssigner.js.map +1 -1
  292. package/build/drivers/driverApi.cjs +19 -0
  293. package/build/drivers/driverApi.cjs.map +1 -0
  294. package/build/drivers/driverApi.d.cts +22 -0
  295. package/build/drivers/driverApi.d.cts.map +1 -0
  296. package/build/drivers/driverApi.d.mts +22 -0
  297. package/build/drivers/driverApi.d.mts.map +1 -0
  298. package/build/drivers/driverApi.js +18 -0
  299. package/build/drivers/driverApi.js.map +1 -0
  300. package/build/drivers/index.cjs +7 -0
  301. package/build/drivers/index.d.cts +4 -0
  302. package/build/drivers/index.d.mts +4 -0
  303. package/build/drivers/index.js +3 -22
  304. package/build/fields.cjs +127 -0
  305. package/build/fields.cjs.map +1 -0
  306. package/build/fields.d.cts +29 -0
  307. package/build/fields.d.cts.map +1 -0
  308. package/build/fields.d.mts +29 -0
  309. package/build/fields.d.mts.map +1 -0
  310. package/build/fields.js +98 -160
  311. package/build/fields.js.map +1 -1
  312. package/build/flush/FlushLock.cjs +51 -0
  313. package/build/flush/FlushLock.cjs.map +1 -0
  314. package/build/flush/FlushLock.d.cts +29 -0
  315. package/build/flush/FlushLock.d.cts.map +1 -0
  316. package/build/flush/FlushLock.d.mts +29 -0
  317. package/build/flush/FlushLock.d.mts.map +1 -0
  318. package/build/flush/FlushLock.js +51 -0
  319. package/build/flush/FlushLock.js.map +1 -0
  320. package/build/flush/JoinRows.cjs +263 -0
  321. package/build/flush/JoinRows.cjs.map +1 -0
  322. package/build/flush/JoinRows.d.cts +120 -0
  323. package/build/flush/JoinRows.d.cts.map +1 -0
  324. package/build/flush/JoinRows.d.mts +120 -0
  325. package/build/flush/JoinRows.d.mts.map +1 -0
  326. package/build/flush/JoinRows.js +261 -0
  327. package/build/flush/JoinRows.js.map +1 -0
  328. package/build/flush/PendingChanges.cjs +1 -0
  329. package/build/flush/PendingChanges.d.cts +29 -0
  330. package/build/flush/PendingChanges.d.cts.map +1 -0
  331. package/build/flush/PendingChanges.d.mts +29 -0
  332. package/build/flush/PendingChanges.d.mts.map +1 -0
  333. package/build/flush/PendingChanges.js +1 -0
  334. package/build/flush/Todo.cjs +71 -0
  335. package/build/flush/Todo.cjs.map +1 -0
  336. package/build/flush/Todo.d.cts +38 -0
  337. package/build/flush/Todo.d.cts.map +1 -0
  338. package/build/flush/Todo.d.mts +38 -0
  339. package/build/flush/Todo.d.mts.map +1 -0
  340. package/build/flush/Todo.js +67 -0
  341. package/build/flush/Todo.js.map +1 -0
  342. package/build/getProperties.cjs +87 -0
  343. package/build/getProperties.cjs.map +1 -0
  344. package/build/getProperties.d.cts +30 -0
  345. package/build/getProperties.d.cts.map +1 -0
  346. package/build/getProperties.d.mts +30 -0
  347. package/build/getProperties.d.mts.map +1 -0
  348. package/build/getProperties.js +71 -128
  349. package/build/getProperties.js.map +1 -1
  350. package/build/index.cjs +524 -0
  351. package/build/index.cjs.map +1 -0
  352. package/build/index.d.cts +180 -0
  353. package/build/index.d.cts.map +1 -0
  354. package/build/index.d.mts +180 -0
  355. package/build/index.d.mts.map +1 -0
  356. package/build/index.js +171 -292
  357. package/build/index.js.map +1 -1
  358. package/build/json.cjs +79 -0
  359. package/build/json.cjs.map +1 -0
  360. package/build/json.d.cts +76 -0
  361. package/build/json.d.cts.map +1 -0
  362. package/build/json.d.mts +76 -0
  363. package/build/json.d.mts.map +1 -0
  364. package/build/json.js +68 -106
  365. package/build/json.js.map +1 -1
  366. package/build/k.cjs +9 -0
  367. package/build/k.cjs.map +1 -0
  368. package/build/k.d.cts +1 -0
  369. package/build/k.d.mts +1 -0
  370. package/build/k.js +6 -6
  371. package/build/k.js.map +1 -1
  372. package/build/keys.cjs +181 -0
  373. package/build/keys.cjs.map +1 -0
  374. package/build/keys.d.cts +55 -0
  375. package/build/keys.d.cts.map +1 -0
  376. package/build/keys.d.mts +55 -0
  377. package/build/keys.d.mts.map +1 -0
  378. package/build/keys.js +129 -162
  379. package/build/keys.js.map +1 -1
  380. package/build/loading/HintTree.cjs +67 -0
  381. package/build/loading/HintTree.cjs.map +1 -0
  382. package/build/loading/HintTree.d.cts +45 -0
  383. package/build/loading/HintTree.d.cts.map +1 -0
  384. package/build/loading/HintTree.d.mts +45 -0
  385. package/build/loading/HintTree.d.mts.map +1 -0
  386. package/build/loading/HintTree.js +66 -0
  387. package/build/loading/HintTree.js.map +1 -0
  388. package/build/loading/IsLoadedCache.cjs +58 -0
  389. package/build/loading/IsLoadedCache.cjs.map +1 -0
  390. package/build/loading/IsLoadedCache.d.cts +35 -0
  391. package/build/loading/IsLoadedCache.d.cts.map +1 -0
  392. package/build/loading/IsLoadedCache.d.mts +35 -0
  393. package/build/loading/IsLoadedCache.d.mts.map +1 -0
  394. package/build/loading/IsLoadedCache.js +57 -0
  395. package/build/loading/IsLoadedCache.js.map +1 -0
  396. package/build/loading/loadHints.cjs +95 -0
  397. package/build/loading/loadHints.cjs.map +1 -0
  398. package/build/loading/loadHints.d.cts +116 -0
  399. package/build/loading/loadHints.d.cts.map +1 -0
  400. package/build/loading/loadHints.d.mts +116 -0
  401. package/build/loading/loadHints.d.mts.map +1 -0
  402. package/build/loading/loadHints.js +88 -0
  403. package/build/loading/loadHints.js.map +1 -0
  404. package/build/loading/loadLens.cjs +212 -0
  405. package/build/loading/loadLens.cjs.map +1 -0
  406. package/build/loading/loadLens.d.cts +77 -0
  407. package/build/loading/loadLens.d.cts.map +1 -0
  408. package/build/loading/loadLens.d.mts +77 -0
  409. package/build/loading/loadLens.d.mts.map +1 -0
  410. package/build/loading/loadLens.js +201 -0
  411. package/build/loading/loadLens.js.map +1 -0
  412. package/build/loading/withLoaded.cjs +64 -0
  413. package/build/loading/withLoaded.cjs.map +1 -0
  414. package/build/loading/withLoaded.d.cts +65 -0
  415. package/build/loading/withLoaded.d.cts.map +1 -0
  416. package/build/loading/withLoaded.d.mts +65 -0
  417. package/build/loading/withLoaded.d.mts.map +1 -0
  418. package/build/loading/withLoaded.js +61 -0
  419. package/build/loading/withLoaded.js.map +1 -0
  420. package/build/logging/FactoryLogger.cjs +66 -0
  421. package/build/logging/FactoryLogger.cjs.map +1 -0
  422. package/build/logging/FactoryLogger.d.cts +27 -0
  423. package/build/logging/FactoryLogger.d.cts.map +1 -0
  424. package/build/logging/FactoryLogger.d.mts +27 -0
  425. package/build/logging/FactoryLogger.d.mts.map +1 -0
  426. package/build/logging/FactoryLogger.js +58 -73
  427. package/build/logging/FactoryLogger.js.map +1 -1
  428. package/build/logging/FieldLogger.cjs +57 -0
  429. package/build/logging/FieldLogger.cjs.map +1 -0
  430. package/build/logging/FieldLogger.d.cts +32 -0
  431. package/build/logging/FieldLogger.d.cts.map +1 -0
  432. package/build/logging/FieldLogger.d.mts +32 -0
  433. package/build/logging/FieldLogger.d.mts.map +1 -0
  434. package/build/logging/FieldLogger.js +51 -67
  435. package/build/logging/FieldLogger.js.map +1 -1
  436. package/build/logging/ReactionLogger.cjs +93 -0
  437. package/build/logging/ReactionLogger.cjs.map +1 -0
  438. package/build/logging/ReactionLogger.d.cts +37 -0
  439. package/build/logging/ReactionLogger.d.cts.map +1 -0
  440. package/build/logging/ReactionLogger.d.mts +37 -0
  441. package/build/logging/ReactionLogger.d.mts.map +1 -0
  442. package/build/logging/ReactionLogger.js +76 -66
  443. package/build/logging/ReactionLogger.js.map +1 -1
  444. package/build/newEntity.cjs +89 -0
  445. package/build/newEntity.cjs.map +1 -0
  446. package/build/newEntity.d.cts +48 -0
  447. package/build/newEntity.d.cts.map +1 -0
  448. package/build/newEntity.d.mts +48 -0
  449. package/build/newEntity.d.mts.map +1 -0
  450. package/build/newEntity.js +71 -94
  451. package/build/newEntity.js.map +1 -1
  452. package/build/newTestInstance.cjs +539 -0
  453. package/build/newTestInstance.cjs.map +1 -0
  454. package/build/newTestInstance.d.cts +207 -0
  455. package/build/newTestInstance.d.cts.map +1 -0
  456. package/build/newTestInstance.d.mts +207 -0
  457. package/build/newTestInstance.d.mts.map +1 -0
  458. package/build/newTestInstance.js +459 -721
  459. package/build/newTestInstance.js.map +1 -1
  460. package/build/normalizeHints.cjs +58 -0
  461. package/build/normalizeHints.cjs.map +1 -0
  462. package/build/normalizeHints.d.cts +24 -0
  463. package/build/normalizeHints.d.cts.map +1 -0
  464. package/build/normalizeHints.d.mts +24 -0
  465. package/build/normalizeHints.d.mts.map +1 -0
  466. package/build/normalizeHints.js +40 -55
  467. package/build/normalizeHints.js.map +1 -1
  468. package/build/nowUTC.cjs +15 -0
  469. package/build/nowUTC.cjs.map +1 -0
  470. package/build/nowUTC.d.cts +10 -0
  471. package/build/nowUTC.d.cts.map +1 -0
  472. package/build/nowUTC.d.mts +10 -0
  473. package/build/nowUTC.d.mts.map +1 -0
  474. package/build/nowUTC.js +14 -0
  475. package/build/nowUTC.js.map +1 -0
  476. package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
  477. package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
  478. package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
  479. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
  480. package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
  481. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
  482. package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
  483. package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
  484. package/build/plugins/PreloadPlugin.cjs +3 -0
  485. package/build/plugins/PreloadPlugin.d.cts +77 -0
  486. package/build/plugins/PreloadPlugin.d.cts.map +1 -0
  487. package/build/plugins/PreloadPlugin.d.mts +77 -0
  488. package/build/plugins/PreloadPlugin.d.mts.map +1 -0
  489. package/build/plugins/PreloadPlugin.js +3 -3
  490. package/build/preloading/JsonAggregatePreloader.cjs +280 -0
  491. package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
  492. package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
  493. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
  494. package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
  495. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
  496. package/build/preloading/JsonAggregatePreloader.js +270 -320
  497. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  498. package/build/preloading/canPreload.cjs +19 -0
  499. package/build/preloading/canPreload.cjs.map +1 -0
  500. package/build/preloading/canPreload.d.cts +6 -0
  501. package/build/preloading/canPreload.d.cts.map +1 -0
  502. package/build/preloading/canPreload.d.mts +6 -0
  503. package/build/preloading/canPreload.d.mts.map +1 -0
  504. package/build/preloading/canPreload.js +15 -21
  505. package/build/preloading/canPreload.js.map +1 -1
  506. package/build/preloading/partitionHint.cjs +43 -0
  507. package/build/preloading/partitionHint.cjs.map +1 -0
  508. package/build/preloading/partitionHint.d.cts +8 -0
  509. package/build/preloading/partitionHint.d.cts.map +1 -0
  510. package/build/preloading/partitionHint.d.mts +8 -0
  511. package/build/preloading/partitionHint.d.mts.map +1 -0
  512. package/build/preloading/partitionHint.js +36 -56
  513. package/build/preloading/partitionHint.js.map +1 -1
  514. package/build/queries/ConditionBuilder.cjs +106 -0
  515. package/build/queries/ConditionBuilder.cjs.map +1 -0
  516. package/build/queries/ConditionBuilder.d.cts +31 -0
  517. package/build/queries/ConditionBuilder.d.cts.map +1 -0
  518. package/build/queries/ConditionBuilder.d.mts +31 -0
  519. package/build/queries/ConditionBuilder.d.mts.map +1 -0
  520. package/build/queries/ConditionBuilder.js +105 -0
  521. package/build/queries/ConditionBuilder.js.map +1 -0
  522. package/build/queries/conditions.cjs +15 -0
  523. package/build/queries/conditions.cjs.map +1 -0
  524. package/build/queries/conditions.d.cts +38 -0
  525. package/build/queries/conditions.d.cts.map +1 -0
  526. package/build/queries/conditions.d.mts +38 -0
  527. package/build/queries/conditions.d.mts.map +1 -0
  528. package/build/queries/conditions.js +13 -0
  529. package/build/queries/conditions.js.map +1 -0
  530. package/build/queries/entityQueryUtils.cjs +60 -0
  531. package/build/queries/entityQueryUtils.cjs.map +1 -0
  532. package/build/queries/entityQueryUtils.d.cts +19 -0
  533. package/build/queries/entityQueryUtils.d.cts.map +1 -0
  534. package/build/queries/entityQueryUtils.d.mts +19 -0
  535. package/build/queries/entityQueryUtils.d.mts.map +1 -0
  536. package/build/queries/entityQueryUtils.js +56 -0
  537. package/build/queries/entityQueryUtils.js.map +1 -0
  538. package/build/queries/find/Aliases.cjs +301 -0
  539. package/build/queries/find/Aliases.cjs.map +1 -0
  540. package/build/queries/find/Aliases.d.cts +122 -0
  541. package/build/queries/find/Aliases.d.cts.map +1 -0
  542. package/build/queries/find/Aliases.d.mts +122 -0
  543. package/build/queries/find/Aliases.d.mts.map +1 -0
  544. package/build/queries/find/Aliases.js +293 -0
  545. package/build/queries/find/Aliases.js.map +1 -0
  546. package/build/queries/find/DeferredAlias.cjs +25 -0
  547. package/build/queries/find/DeferredAlias.cjs.map +1 -0
  548. package/build/queries/find/DeferredAlias.d.cts +22 -0
  549. package/build/queries/find/DeferredAlias.d.cts.map +1 -0
  550. package/build/queries/find/DeferredAlias.d.mts +22 -0
  551. package/build/queries/find/DeferredAlias.d.mts.map +1 -0
  552. package/build/queries/find/DeferredAlias.js +22 -0
  553. package/build/queries/find/DeferredAlias.js.map +1 -0
  554. package/build/queries/find/EntityFilter.cjs +27 -0
  555. package/build/queries/find/EntityFilter.cjs.map +1 -0
  556. package/build/queries/find/EntityFilter.d.cts +127 -0
  557. package/build/queries/find/EntityFilter.d.cts.map +1 -0
  558. package/build/queries/find/EntityFilter.d.mts +127 -0
  559. package/build/queries/find/EntityFilter.d.mts.map +1 -0
  560. package/build/queries/find/EntityFilter.js +26 -0
  561. package/build/queries/find/EntityFilter.js.map +1 -0
  562. package/build/queries/find/EntityGraphQLFilter.cjs +52 -0
  563. package/build/queries/find/EntityGraphQLFilter.cjs.map +1 -0
  564. package/build/queries/find/EntityGraphQLFilter.d.cts +59 -0
  565. package/build/queries/find/EntityGraphQLFilter.d.cts.map +1 -0
  566. package/build/queries/find/EntityGraphQLFilter.d.mts +59 -0
  567. package/build/queries/find/EntityGraphQLFilter.d.mts.map +1 -0
  568. package/build/queries/find/EntityGraphQLFilter.js +50 -0
  569. package/build/queries/find/EntityGraphQLFilter.js.map +1 -0
  570. package/build/queries/find/QueryParser.cjs +553 -0
  571. package/build/queries/find/QueryParser.cjs.map +1 -0
  572. package/build/queries/find/QueryParser.collectionJoins.cjs +353 -0
  573. package/build/queries/find/QueryParser.collectionJoins.cjs.map +1 -0
  574. package/build/queries/find/QueryParser.collectionJoins.d.cts +30 -0
  575. package/build/queries/find/QueryParser.collectionJoins.d.cts.map +1 -0
  576. package/build/queries/find/QueryParser.collectionJoins.d.mts +30 -0
  577. package/build/queries/find/QueryParser.collectionJoins.d.mts.map +1 -0
  578. package/build/queries/find/QueryParser.collectionJoins.js +352 -0
  579. package/build/queries/find/QueryParser.collectionJoins.js.map +1 -0
  580. package/build/queries/find/QueryParser.d.cts +192 -0
  581. package/build/queries/find/QueryParser.d.cts.map +1 -0
  582. package/build/queries/find/QueryParser.d.mts +192 -0
  583. package/build/queries/find/QueryParser.d.mts.map +1 -0
  584. package/build/queries/find/QueryParser.js +546 -0
  585. package/build/queries/find/QueryParser.js.map +1 -0
  586. package/build/queries/find/QueryParser.pruning.cjs +115 -0
  587. package/build/queries/find/QueryParser.pruning.cjs.map +1 -0
  588. package/build/queries/find/QueryParser.pruning.d.cts +8 -0
  589. package/build/queries/find/QueryParser.pruning.d.cts.map +1 -0
  590. package/build/queries/find/QueryParser.pruning.d.mts +8 -0
  591. package/build/queries/find/QueryParser.pruning.d.mts.map +1 -0
  592. package/build/queries/find/QueryParser.pruning.js +113 -0
  593. package/build/queries/find/QueryParser.pruning.js.map +1 -0
  594. package/build/queries/find/QueryVisitor.cjs +77 -0
  595. package/build/queries/find/QueryVisitor.cjs.map +1 -0
  596. package/build/queries/find/QueryVisitor.d.cts +24 -0
  597. package/build/queries/find/QueryVisitor.d.cts.map +1 -0
  598. package/build/queries/find/QueryVisitor.d.mts +24 -0
  599. package/build/queries/find/QueryVisitor.d.mts.map +1 -0
  600. package/build/queries/find/QueryVisitor.js +74 -0
  601. package/build/queries/find/QueryVisitor.js.map +1 -0
  602. package/build/queries/find/buildFindQuery.cjs +112 -0
  603. package/build/queries/find/buildFindQuery.cjs.map +1 -0
  604. package/build/queries/find/buildFindQuery.d.cts +24 -0
  605. package/build/queries/find/buildFindQuery.d.cts.map +1 -0
  606. package/build/queries/find/buildFindQuery.d.mts +24 -0
  607. package/build/queries/find/buildFindQuery.d.mts.map +1 -0
  608. package/build/queries/find/buildFindQuery.js +110 -0
  609. package/build/queries/find/buildFindQuery.js.map +1 -0
  610. package/build/queries/find/scopes.cjs +301 -0
  611. package/build/queries/find/scopes.cjs.map +1 -0
  612. package/build/queries/find/scopes.d.cts +188 -0
  613. package/build/queries/find/scopes.d.cts.map +1 -0
  614. package/build/queries/find/scopes.d.mts +188 -0
  615. package/build/queries/find/scopes.d.mts.map +1 -0
  616. package/build/queries/find/scopes.js +296 -0
  617. package/build/queries/find/scopes.js.map +1 -0
  618. package/build/queries/parsedConditions.cjs +21 -0
  619. package/build/queries/parsedConditions.cjs.map +1 -0
  620. package/build/queries/parsedConditions.d.cts +127 -0
  621. package/build/queries/parsedConditions.d.cts.map +1 -0
  622. package/build/queries/parsedConditions.d.mts +127 -0
  623. package/build/queries/parsedConditions.d.mts.map +1 -0
  624. package/build/queries/parsedConditions.js +20 -0
  625. package/build/queries/parsedConditions.js.map +1 -0
  626. package/build/queries/renderConditions.cjs +66 -0
  627. package/build/queries/renderConditions.cjs.map +1 -0
  628. package/build/queries/renderConditions.d.cts +15 -0
  629. package/build/queries/renderConditions.d.cts.map +1 -0
  630. package/build/queries/renderConditions.d.mts +15 -0
  631. package/build/queries/renderConditions.d.mts.map +1 -0
  632. package/build/queries/renderConditions.js +64 -0
  633. package/build/queries/renderConditions.js.map +1 -0
  634. package/build/queries/skipCondition.cjs +14 -0
  635. package/build/queries/skipCondition.cjs.map +1 -0
  636. package/build/queries/skipCondition.d.cts +7 -0
  637. package/build/queries/skipCondition.d.cts.map +1 -0
  638. package/build/queries/skipCondition.d.mts +7 -0
  639. package/build/queries/skipCondition.d.mts.map +1 -0
  640. package/build/queries/skipCondition.js +13 -0
  641. package/build/queries/skipCondition.js.map +1 -0
  642. package/build/queries/sql/AliasAssigner.cjs +35 -0
  643. package/build/queries/sql/AliasAssigner.cjs.map +1 -0
  644. package/build/queries/sql/AliasAssigner.d.cts +13 -0
  645. package/build/queries/sql/AliasAssigner.d.cts.map +1 -0
  646. package/build/queries/sql/AliasAssigner.d.mts +13 -0
  647. package/build/queries/sql/AliasAssigner.d.mts.map +1 -0
  648. package/build/queries/sql/AliasAssigner.js +34 -0
  649. package/build/queries/sql/AliasAssigner.js.map +1 -0
  650. package/build/queries/sql/Expr.cjs +529 -0
  651. package/build/queries/sql/Expr.cjs.map +1 -0
  652. package/build/queries/sql/Expr.d.cts +284 -0
  653. package/build/queries/sql/Expr.d.cts.map +1 -0
  654. package/build/queries/sql/Expr.d.mts +284 -0
  655. package/build/queries/sql/Expr.d.mts.map +1 -0
  656. package/build/queries/sql/Expr.js +512 -0
  657. package/build/queries/sql/Expr.js.map +1 -0
  658. package/build/queries/sql/JoinTree.cjs +72 -0
  659. package/build/queries/sql/JoinTree.cjs.map +1 -0
  660. package/build/queries/sql/JoinTree.d.cts +107 -0
  661. package/build/queries/sql/JoinTree.d.cts.map +1 -0
  662. package/build/queries/sql/JoinTree.d.mts +107 -0
  663. package/build/queries/sql/JoinTree.d.mts.map +1 -0
  664. package/build/queries/sql/JoinTree.js +71 -0
  665. package/build/queries/sql/JoinTree.js.map +1 -0
  666. package/build/queries/sql/Tables.cjs +803 -0
  667. package/build/queries/sql/Tables.cjs.map +1 -0
  668. package/build/queries/sql/Tables.d.cts +322 -0
  669. package/build/queries/sql/Tables.d.cts.map +1 -0
  670. package/build/queries/sql/Tables.d.mts +322 -0
  671. package/build/queries/sql/Tables.d.mts.map +1 -0
  672. package/build/queries/sql/Tables.js +786 -0
  673. package/build/queries/sql/Tables.js.map +1 -0
  674. package/build/queries/sql/custom.cjs +52 -0
  675. package/build/queries/sql/custom.cjs.map +1 -0
  676. package/build/queries/sql/custom.d.cts +85 -0
  677. package/build/queries/sql/custom.d.cts.map +1 -0
  678. package/build/queries/sql/custom.d.mts +85 -0
  679. package/build/queries/sql/custom.d.mts.map +1 -0
  680. package/build/queries/sql/custom.js +49 -0
  681. package/build/queries/sql/custom.js.map +1 -0
  682. package/build/queries/sql/execute.cjs +276 -0
  683. package/build/queries/sql/execute.cjs.map +1 -0
  684. package/build/queries/sql/execute.d.cts +294 -0
  685. package/build/queries/sql/execute.d.cts.map +1 -0
  686. package/build/queries/sql/execute.d.mts +294 -0
  687. package/build/queries/sql/execute.d.mts.map +1 -0
  688. package/build/queries/sql/execute.js +273 -0
  689. package/build/queries/sql/execute.js.map +1 -0
  690. package/build/queries/sql/expressions/arrayAgg.cjs +63 -0
  691. package/build/queries/sql/expressions/arrayAgg.cjs.map +1 -0
  692. package/build/queries/sql/expressions/arrayAgg.d.cts +24 -0
  693. package/build/queries/sql/expressions/arrayAgg.d.cts.map +1 -0
  694. package/build/queries/sql/expressions/arrayAgg.d.mts +24 -0
  695. package/build/queries/sql/expressions/arrayAgg.d.mts.map +1 -0
  696. package/build/queries/sql/expressions/arrayAgg.js +61 -0
  697. package/build/queries/sql/expressions/arrayAgg.js.map +1 -0
  698. package/build/queries/sql/expressions/case.cjs +71 -0
  699. package/build/queries/sql/expressions/case.cjs.map +1 -0
  700. package/build/queries/sql/expressions/case.d.cts +57 -0
  701. package/build/queries/sql/expressions/case.d.cts.map +1 -0
  702. package/build/queries/sql/expressions/case.d.mts +57 -0
  703. package/build/queries/sql/expressions/case.d.mts.map +1 -0
  704. package/build/queries/sql/expressions/case.js +68 -0
  705. package/build/queries/sql/expressions/case.js.map +1 -0
  706. package/build/queries/sql/expressions/coalesce.cjs +25 -0
  707. package/build/queries/sql/expressions/coalesce.cjs.map +1 -0
  708. package/build/queries/sql/expressions/coalesce.d.cts +21 -0
  709. package/build/queries/sql/expressions/coalesce.d.cts.map +1 -0
  710. package/build/queries/sql/expressions/coalesce.d.mts +21 -0
  711. package/build/queries/sql/expressions/coalesce.d.mts.map +1 -0
  712. package/build/queries/sql/expressions/coalesce.js +22 -0
  713. package/build/queries/sql/expressions/coalesce.js.map +1 -0
  714. package/build/queries/sql/expressions/codecs.cjs +126 -0
  715. package/build/queries/sql/expressions/codecs.cjs.map +1 -0
  716. package/build/queries/sql/expressions/codecs.d.cts +11 -0
  717. package/build/queries/sql/expressions/codecs.d.cts.map +1 -0
  718. package/build/queries/sql/expressions/codecs.d.mts +11 -0
  719. package/build/queries/sql/expressions/codecs.d.mts.map +1 -0
  720. package/build/queries/sql/expressions/codecs.js +125 -0
  721. package/build/queries/sql/expressions/codecs.js.map +1 -0
  722. package/build/queries/sql/expressions/expression.cjs +102 -0
  723. package/build/queries/sql/expressions/expression.cjs.map +1 -0
  724. package/build/queries/sql/expressions/expression.d.cts +23 -0
  725. package/build/queries/sql/expressions/expression.d.cts.map +1 -0
  726. package/build/queries/sql/expressions/expression.d.mts +23 -0
  727. package/build/queries/sql/expressions/expression.d.mts.map +1 -0
  728. package/build/queries/sql/expressions/expression.js +97 -0
  729. package/build/queries/sql/expressions/expression.js.map +1 -0
  730. package/build/queries/sql/expressions/greatest.cjs +25 -0
  731. package/build/queries/sql/expressions/greatest.cjs.map +1 -0
  732. package/build/queries/sql/expressions/greatest.d.cts +21 -0
  733. package/build/queries/sql/expressions/greatest.d.cts.map +1 -0
  734. package/build/queries/sql/expressions/greatest.d.mts +21 -0
  735. package/build/queries/sql/expressions/greatest.d.mts.map +1 -0
  736. package/build/queries/sql/expressions/greatest.js +22 -0
  737. package/build/queries/sql/expressions/greatest.js.map +1 -0
  738. package/build/queries/sql/expressions/least.cjs +25 -0
  739. package/build/queries/sql/expressions/least.cjs.map +1 -0
  740. package/build/queries/sql/expressions/least.d.cts +21 -0
  741. package/build/queries/sql/expressions/least.d.cts.map +1 -0
  742. package/build/queries/sql/expressions/least.d.mts +21 -0
  743. package/build/queries/sql/expressions/least.d.mts.map +1 -0
  744. package/build/queries/sql/expressions/least.js +22 -0
  745. package/build/queries/sql/expressions/least.js.map +1 -0
  746. package/build/queries/sql/expressions/nullIf.cjs +27 -0
  747. package/build/queries/sql/expressions/nullIf.cjs.map +1 -0
  748. package/build/queries/sql/expressions/nullIf.d.cts +22 -0
  749. package/build/queries/sql/expressions/nullIf.d.cts.map +1 -0
  750. package/build/queries/sql/expressions/nullIf.d.mts +22 -0
  751. package/build/queries/sql/expressions/nullIf.d.mts.map +1 -0
  752. package/build/queries/sql/expressions/nullIf.js +24 -0
  753. package/build/queries/sql/expressions/nullIf.js.map +1 -0
  754. package/build/queries/sql/expressions/parseExpression.cjs +75 -0
  755. package/build/queries/sql/expressions/parseExpression.cjs.map +1 -0
  756. package/build/queries/sql/expressions/parseExpression.d.cts +19 -0
  757. package/build/queries/sql/expressions/parseExpression.d.cts.map +1 -0
  758. package/build/queries/sql/expressions/parseExpression.d.mts +19 -0
  759. package/build/queries/sql/expressions/parseExpression.d.mts.map +1 -0
  760. package/build/queries/sql/expressions/parseExpression.js +70 -0
  761. package/build/queries/sql/expressions/parseExpression.js.map +1 -0
  762. package/build/queries/sql/expressions/types.cjs +1 -0
  763. package/build/queries/sql/expressions/types.d.cts +114 -0
  764. package/build/queries/sql/expressions/types.d.cts.map +1 -0
  765. package/build/queries/sql/expressions/types.d.mts +114 -0
  766. package/build/queries/sql/expressions/types.d.mts.map +1 -0
  767. package/build/queries/sql/expressions/types.js +1 -0
  768. package/build/queries/sql/keywords.cjs +136 -0
  769. package/build/queries/sql/keywords.cjs.map +1 -0
  770. package/build/queries/sql/keywords.d.cts +18 -0
  771. package/build/queries/sql/keywords.d.cts.map +1 -0
  772. package/build/queries/sql/keywords.d.mts +18 -0
  773. package/build/queries/sql/keywords.d.mts.map +1 -0
  774. package/build/queries/sql/keywords.js +132 -0
  775. package/build/queries/sql/keywords.js.map +1 -0
  776. package/build/queries/sql/query.cjs +1610 -0
  777. package/build/queries/sql/query.cjs.map +1 -0
  778. package/build/queries/sql/query.d.cts +844 -0
  779. package/build/queries/sql/query.d.cts.map +1 -0
  780. package/build/queries/sql/query.d.mts +844 -0
  781. package/build/queries/sql/query.d.mts.map +1 -0
  782. package/build/queries/sql/query.js +1592 -0
  783. package/build/queries/sql/query.js.map +1 -0
  784. package/build/queries/unnest.cjs +62 -0
  785. package/build/queries/unnest.cjs.map +1 -0
  786. package/build/queries/unnest.d.cts +16 -0
  787. package/build/queries/unnest.d.cts.map +1 -0
  788. package/build/queries/unnest.d.mts +16 -0
  789. package/build/queries/unnest.d.mts.map +1 -0
  790. package/build/queries/unnest.js +60 -0
  791. package/build/queries/unnest.js.map +1 -0
  792. package/build/queries/valueFilters.cjs +240 -0
  793. package/build/queries/valueFilters.cjs.map +1 -0
  794. package/build/queries/valueFilters.d.cts +26 -0
  795. package/build/queries/valueFilters.d.cts.map +1 -0
  796. package/build/queries/valueFilters.d.mts +26 -0
  797. package/build/queries/valueFilters.d.mts.map +1 -0
  798. package/build/queries/valueFilters.js +236 -0
  799. package/build/queries/valueFilters.js.map +1 -0
  800. package/build/reactivity/ReactionsManager.cjs +264 -0
  801. package/build/reactivity/ReactionsManager.cjs.map +1 -0
  802. package/build/reactivity/ReactionsManager.d.cts +98 -0
  803. package/build/reactivity/ReactionsManager.d.cts.map +1 -0
  804. package/build/reactivity/ReactionsManager.d.mts +98 -0
  805. package/build/reactivity/ReactionsManager.d.mts.map +1 -0
  806. package/build/reactivity/ReactionsManager.js +263 -0
  807. package/build/reactivity/ReactionsManager.js.map +1 -0
  808. package/build/reactivity/reactiveHints.cjs +328 -0
  809. package/build/reactivity/reactiveHints.cjs.map +1 -0
  810. package/build/reactivity/reactiveHints.d.cts +143 -0
  811. package/build/reactivity/reactiveHints.d.cts.map +1 -0
  812. package/build/reactivity/reactiveHints.d.mts +143 -0
  813. package/build/reactivity/reactiveHints.d.mts.map +1 -0
  814. package/build/reactivity/reactiveHints.js +321 -0
  815. package/build/reactivity/reactiveHints.js.map +1 -0
  816. package/build/relations/AbstractPropertyImpl.cjs +16 -0
  817. package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
  818. package/build/relations/AbstractPropertyImpl.d.cts +11 -0
  819. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
  820. package/build/relations/AbstractPropertyImpl.d.mts +11 -0
  821. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
  822. package/build/relations/AbstractPropertyImpl.js +13 -13
  823. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  824. package/build/relations/AbstractRelationImpl.cjs +15 -0
  825. package/build/relations/AbstractRelationImpl.cjs.map +1 -0
  826. package/build/relations/AbstractRelationImpl.d.cts +43 -0
  827. package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
  828. package/build/relations/AbstractRelationImpl.d.mts +43 -0
  829. package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
  830. package/build/relations/AbstractRelationImpl.js +12 -17
  831. package/build/relations/AbstractRelationImpl.js.map +1 -1
  832. package/build/relations/AsyncProperty.cjs +75 -0
  833. package/build/relations/AsyncProperty.cjs.map +1 -0
  834. package/build/relations/AsyncProperty.d.cts +40 -0
  835. package/build/relations/AsyncProperty.d.cts.map +1 -0
  836. package/build/relations/AsyncProperty.d.mts +40 -0
  837. package/build/relations/AsyncProperty.d.mts.map +1 -0
  838. package/build/relations/AsyncProperty.js +61 -70
  839. package/build/relations/AsyncProperty.js.map +1 -1
  840. package/build/relations/AsyncReactiveField.cjs +110 -0
  841. package/build/relations/AsyncReactiveField.cjs.map +1 -0
  842. package/build/relations/AsyncReactiveField.d.cts +50 -0
  843. package/build/relations/AsyncReactiveField.d.cts.map +1 -0
  844. package/build/relations/AsyncReactiveField.d.mts +50 -0
  845. package/build/relations/AsyncReactiveField.d.mts.map +1 -0
  846. package/build/relations/AsyncReactiveField.js +97 -116
  847. package/build/relations/AsyncReactiveField.js.map +1 -1
  848. package/build/relations/Collection.cjs +23 -0
  849. package/build/relations/Collection.cjs.map +1 -0
  850. package/build/relations/Collection.d.cts +37 -0
  851. package/build/relations/Collection.d.cts.map +1 -0
  852. package/build/relations/Collection.d.mts +37 -0
  853. package/build/relations/Collection.d.mts.map +1 -0
  854. package/build/relations/Collection.js +14 -11
  855. package/build/relations/Collection.js.map +1 -1
  856. package/build/relations/CustomCollection.cjs +144 -0
  857. package/build/relations/CustomCollection.cjs.map +1 -0
  858. package/build/relations/CustomCollection.d.cts +74 -0
  859. package/build/relations/CustomCollection.d.cts.map +1 -0
  860. package/build/relations/CustomCollection.d.mts +74 -0
  861. package/build/relations/CustomCollection.d.mts.map +1 -0
  862. package/build/relations/CustomCollection.js +138 -162
  863. package/build/relations/CustomCollection.js.map +1 -1
  864. package/build/relations/CustomReference.cjs +142 -0
  865. package/build/relations/CustomReference.cjs.map +1 -0
  866. package/build/relations/CustomReference.d.cts +76 -0
  867. package/build/relations/CustomReference.d.cts.map +1 -0
  868. package/build/relations/CustomReference.d.mts +76 -0
  869. package/build/relations/CustomReference.d.mts.map +1 -0
  870. package/build/relations/CustomReference.js +135 -147
  871. package/build/relations/CustomReference.js.map +1 -1
  872. package/build/relations/EnumCollection.cjs +178 -0
  873. package/build/relations/EnumCollection.cjs.map +1 -0
  874. package/build/relations/EnumCollection.d.cts +86 -0
  875. package/build/relations/EnumCollection.d.cts.map +1 -0
  876. package/build/relations/EnumCollection.d.mts +86 -0
  877. package/build/relations/EnumCollection.d.mts.map +1 -0
  878. package/build/relations/EnumCollection.js +172 -207
  879. package/build/relations/EnumCollection.js.map +1 -1
  880. package/build/relations/LargeCollection.cjs +4 -0
  881. package/build/relations/LargeCollection.d.cts +22 -0
  882. package/build/relations/LargeCollection.d.cts.map +1 -0
  883. package/build/relations/LargeCollection.d.mts +22 -0
  884. package/build/relations/LargeCollection.d.mts.map +1 -0
  885. package/build/relations/LargeCollection.js +4 -3
  886. package/build/relations/LazyField.cjs +140 -0
  887. package/build/relations/LazyField.cjs.map +1 -0
  888. package/build/relations/LazyField.d.cts +51 -0
  889. package/build/relations/LazyField.d.cts.map +1 -0
  890. package/build/relations/LazyField.d.mts +51 -0
  891. package/build/relations/LazyField.d.mts.map +1 -0
  892. package/build/relations/LazyField.js +134 -0
  893. package/build/relations/LazyField.js.map +1 -0
  894. package/build/relations/ManyToManyCollection.cjs +421 -0
  895. package/build/relations/ManyToManyCollection.cjs.map +1 -0
  896. package/build/relations/ManyToManyCollection.d.cts +59 -0
  897. package/build/relations/ManyToManyCollection.d.cts.map +1 -0
  898. package/build/relations/ManyToManyCollection.d.mts +59 -0
  899. package/build/relations/ManyToManyCollection.d.mts.map +1 -0
  900. package/build/relations/ManyToManyCollection.js +411 -471
  901. package/build/relations/ManyToManyCollection.js.map +1 -1
  902. package/build/relations/ManyToManyLargeCollection.cjs +91 -0
  903. package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
  904. package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
  905. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
  906. package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
  907. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
  908. package/build/relations/ManyToManyLargeCollection.js +85 -118
  909. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  910. package/build/relations/ManyToOneReference.cjs +364 -0
  911. package/build/relations/ManyToOneReference.cjs.map +1 -0
  912. package/build/relations/ManyToOneReference.d.cts +121 -0
  913. package/build/relations/ManyToOneReference.d.cts.map +1 -0
  914. package/build/relations/ManyToOneReference.d.mts +121 -0
  915. package/build/relations/ManyToOneReference.d.mts.map +1 -0
  916. package/build/relations/ManyToOneReference.js +344 -411
  917. package/build/relations/ManyToOneReference.js.map +1 -1
  918. package/build/relations/OneToManyCollection.cjs +492 -0
  919. package/build/relations/OneToManyCollection.cjs.map +1 -0
  920. package/build/relations/OneToManyCollection.d.cts +69 -0
  921. package/build/relations/OneToManyCollection.d.cts.map +1 -0
  922. package/build/relations/OneToManyCollection.d.mts +69 -0
  923. package/build/relations/OneToManyCollection.d.mts.map +1 -0
  924. package/build/relations/OneToManyCollection.js +480 -579
  925. package/build/relations/OneToManyCollection.js.map +1 -1
  926. package/build/relations/OneToManyLargeCollection.cjs +85 -0
  927. package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
  928. package/build/relations/OneToManyLargeCollection.d.cts +29 -0
  929. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
  930. package/build/relations/OneToManyLargeCollection.d.mts +29 -0
  931. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
  932. package/build/relations/OneToManyLargeCollection.js +79 -99
  933. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  934. package/build/relations/OneToOneReference.cjs +209 -0
  935. package/build/relations/OneToOneReference.cjs.map +1 -0
  936. package/build/relations/OneToOneReference.d.cts +97 -0
  937. package/build/relations/OneToOneReference.d.cts.map +1 -0
  938. package/build/relations/OneToOneReference.d.mts +97 -0
  939. package/build/relations/OneToOneReference.d.mts.map +1 -0
  940. package/build/relations/OneToOneReference.js +193 -221
  941. package/build/relations/OneToOneReference.js.map +1 -1
  942. package/build/relations/PolymorphicReference.cjs +210 -0
  943. package/build/relations/PolymorphicReference.cjs.map +1 -0
  944. package/build/relations/PolymorphicReference.d.cts +93 -0
  945. package/build/relations/PolymorphicReference.d.cts.map +1 -0
  946. package/build/relations/PolymorphicReference.d.mts +93 -0
  947. package/build/relations/PolymorphicReference.d.mts.map +1 -0
  948. package/build/relations/PolymorphicReference.js +200 -237
  949. package/build/relations/PolymorphicReference.js.map +1 -1
  950. package/build/relations/PropertySymbols.cjs +7 -0
  951. package/build/relations/PropertySymbols.cjs.map +1 -0
  952. package/build/relations/PropertySymbols.d.cts +5 -0
  953. package/build/relations/PropertySymbols.d.cts.map +1 -0
  954. package/build/relations/PropertySymbols.d.mts +5 -0
  955. package/build/relations/PropertySymbols.d.mts.map +1 -0
  956. package/build/relations/PropertySymbols.js +6 -0
  957. package/build/relations/PropertySymbols.js.map +1 -0
  958. package/build/relations/ReactiveField.cjs +114 -0
  959. package/build/relations/ReactiveField.cjs.map +1 -0
  960. package/build/relations/ReactiveField.d.cts +88 -0
  961. package/build/relations/ReactiveField.d.cts.map +1 -0
  962. package/build/relations/ReactiveField.d.mts +88 -0
  963. package/build/relations/ReactiveField.d.mts.map +1 -0
  964. package/build/relations/ReactiveField.js +104 -137
  965. package/build/relations/ReactiveField.js.map +1 -1
  966. package/build/relations/ReactiveGetter.cjs +40 -0
  967. package/build/relations/ReactiveGetter.cjs.map +1 -0
  968. package/build/relations/ReactiveGetter.d.cts +33 -0
  969. package/build/relations/ReactiveGetter.d.cts.map +1 -0
  970. package/build/relations/ReactiveGetter.d.mts +33 -0
  971. package/build/relations/ReactiveGetter.d.mts.map +1 -0
  972. package/build/relations/ReactiveGetter.js +30 -31
  973. package/build/relations/ReactiveGetter.js.map +1 -1
  974. package/build/relations/ReactiveManyToMany.cjs +198 -0
  975. package/build/relations/ReactiveManyToMany.cjs.map +1 -0
  976. package/build/relations/ReactiveManyToMany.d.cts +63 -0
  977. package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
  978. package/build/relations/ReactiveManyToMany.d.mts +63 -0
  979. package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
  980. package/build/relations/ReactiveManyToMany.js +187 -238
  981. package/build/relations/ReactiveManyToMany.js.map +1 -1
  982. package/build/relations/ReactiveManyToManyOtherSide.cjs +148 -0
  983. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
  984. package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
  985. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
  986. package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
  987. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
  988. package/build/relations/ReactiveManyToManyOtherSide.js +139 -152
  989. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  990. package/build/relations/ReactiveReference.cjs +336 -0
  991. package/build/relations/ReactiveReference.cjs.map +1 -0
  992. package/build/relations/ReactiveReference.d.cts +124 -0
  993. package/build/relations/ReactiveReference.d.cts.map +1 -0
  994. package/build/relations/ReactiveReference.d.mts +124 -0
  995. package/build/relations/ReactiveReference.d.mts.map +1 -0
  996. package/build/relations/ReactiveReference.js +321 -385
  997. package/build/relations/ReactiveReference.js.map +1 -1
  998. package/build/relations/ReadOnlyCollection.cjs +18 -0
  999. package/build/relations/ReadOnlyCollection.cjs.map +1 -0
  1000. package/build/relations/ReadOnlyCollection.d.cts +22 -0
  1001. package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
  1002. package/build/relations/ReadOnlyCollection.d.mts +22 -0
  1003. package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
  1004. package/build/relations/ReadOnlyCollection.js +9 -9
  1005. package/build/relations/ReadOnlyCollection.js.map +1 -1
  1006. package/build/relations/RecursiveCollection.cjs +386 -0
  1007. package/build/relations/RecursiveCollection.cjs.map +1 -0
  1008. package/build/relations/RecursiveCollection.d.cts +112 -0
  1009. package/build/relations/RecursiveCollection.d.cts.map +1 -0
  1010. package/build/relations/RecursiveCollection.d.mts +112 -0
  1011. package/build/relations/RecursiveCollection.d.mts.map +1 -0
  1012. package/build/relations/RecursiveCollection.js +367 -427
  1013. package/build/relations/RecursiveCollection.js.map +1 -1
  1014. package/build/relations/RecursiveCycleError.cjs +17 -0
  1015. package/build/relations/RecursiveCycleError.cjs.map +1 -0
  1016. package/build/relations/RecursiveCycleError.d.cts +15 -0
  1017. package/build/relations/RecursiveCycleError.d.cts.map +1 -0
  1018. package/build/relations/RecursiveCycleError.d.mts +15 -0
  1019. package/build/relations/RecursiveCycleError.d.mts.map +1 -0
  1020. package/build/relations/RecursiveCycleError.js +14 -13
  1021. package/build/relations/RecursiveCycleError.js.map +1 -1
  1022. package/build/relations/Reference.cjs +25 -0
  1023. package/build/relations/Reference.cjs.map +1 -0
  1024. package/build/relations/Reference.d.cts +39 -0
  1025. package/build/relations/Reference.d.cts.map +1 -0
  1026. package/build/relations/Reference.d.mts +39 -0
  1027. package/build/relations/Reference.d.mts.map +1 -0
  1028. package/build/relations/Reference.js +15 -14
  1029. package/build/relations/Reference.js.map +1 -1
  1030. package/build/relations/ReferenceSymbols.cjs +7 -0
  1031. package/build/relations/ReferenceSymbols.cjs.map +1 -0
  1032. package/build/relations/ReferenceSymbols.d.cts +5 -0
  1033. package/build/relations/ReferenceSymbols.d.cts.map +1 -0
  1034. package/build/relations/ReferenceSymbols.d.mts +5 -0
  1035. package/build/relations/ReferenceSymbols.d.mts.map +1 -0
  1036. package/build/relations/ReferenceSymbols.js +6 -0
  1037. package/build/relations/ReferenceSymbols.js.map +1 -0
  1038. package/build/relations/Relation.cjs +17 -0
  1039. package/build/relations/Relation.cjs.map +1 -0
  1040. package/build/relations/Relation.d.cts +16 -0
  1041. package/build/relations/Relation.d.cts.map +1 -0
  1042. package/build/relations/Relation.d.mts +16 -0
  1043. package/build/relations/Relation.d.mts.map +1 -0
  1044. package/build/relations/Relation.js +10 -8
  1045. package/build/relations/Relation.js.map +1 -1
  1046. package/build/relations/RelationSymbols.cjs +9 -0
  1047. package/build/relations/RelationSymbols.cjs.map +1 -0
  1048. package/build/relations/RelationSymbols.d.cts +6 -0
  1049. package/build/relations/RelationSymbols.d.cts.map +1 -0
  1050. package/build/relations/RelationSymbols.d.mts +6 -0
  1051. package/build/relations/RelationSymbols.d.mts.map +1 -0
  1052. package/build/relations/RelationSymbols.js +7 -0
  1053. package/build/relations/RelationSymbols.js.map +1 -0
  1054. package/build/relations/hasAsyncMethod.cjs +47 -0
  1055. package/build/relations/hasAsyncMethod.cjs.map +1 -0
  1056. package/build/relations/hasAsyncMethod.d.cts +29 -0
  1057. package/build/relations/hasAsyncMethod.d.cts.map +1 -0
  1058. package/build/relations/hasAsyncMethod.d.mts +29 -0
  1059. package/build/relations/hasAsyncMethod.d.mts.map +1 -0
  1060. package/build/relations/hasAsyncMethod.js +40 -43
  1061. package/build/relations/hasAsyncMethod.js.map +1 -1
  1062. package/build/relations/hasManyDerived.cjs +35 -0
  1063. package/build/relations/hasManyDerived.cjs.map +1 -0
  1064. package/build/relations/hasManyDerived.d.cts +25 -0
  1065. package/build/relations/hasManyDerived.d.cts.map +1 -0
  1066. package/build/relations/hasManyDerived.d.mts +25 -0
  1067. package/build/relations/hasManyDerived.d.mts.map +1 -0
  1068. package/build/relations/hasManyDerived.js +30 -28
  1069. package/build/relations/hasManyDerived.js.map +1 -1
  1070. package/build/relations/hasManyThrough.cjs +29 -0
  1071. package/build/relations/hasManyThrough.cjs.map +1 -0
  1072. package/build/relations/hasManyThrough.d.cts +16 -0
  1073. package/build/relations/hasManyThrough.d.cts.map +1 -0
  1074. package/build/relations/hasManyThrough.d.mts +16 -0
  1075. package/build/relations/hasManyThrough.d.mts.map +1 -0
  1076. package/build/relations/hasManyThrough.js +24 -20
  1077. package/build/relations/hasManyThrough.js.map +1 -1
  1078. package/build/relations/hasOneDerived.cjs +32 -0
  1079. package/build/relations/hasOneDerived.cjs.map +1 -0
  1080. package/build/relations/hasOneDerived.d.cts +15 -0
  1081. package/build/relations/hasOneDerived.d.cts.map +1 -0
  1082. package/build/relations/hasOneDerived.d.mts +15 -0
  1083. package/build/relations/hasOneDerived.d.mts.map +1 -0
  1084. package/build/relations/hasOneDerived.js +27 -20
  1085. package/build/relations/hasOneDerived.js.map +1 -1
  1086. package/build/relations/hasOneThrough.cjs +31 -0
  1087. package/build/relations/hasOneThrough.cjs.map +1 -0
  1088. package/build/relations/hasOneThrough.d.cts +16 -0
  1089. package/build/relations/hasOneThrough.d.cts.map +1 -0
  1090. package/build/relations/hasOneThrough.d.mts +16 -0
  1091. package/build/relations/hasOneThrough.d.mts.map +1 -0
  1092. package/build/relations/hasOneThrough.js +26 -22
  1093. package/build/relations/hasOneThrough.js.map +1 -1
  1094. package/build/relations/hasProperty.cjs +109 -0
  1095. package/build/relations/hasProperty.cjs.map +1 -0
  1096. package/build/relations/hasProperty.d.cts +53 -0
  1097. package/build/relations/hasProperty.d.cts.map +1 -0
  1098. package/build/relations/hasProperty.d.mts +53 -0
  1099. package/build/relations/hasProperty.d.mts.map +1 -0
  1100. package/build/relations/hasProperty.js +90 -95
  1101. package/build/relations/hasProperty.js.map +1 -1
  1102. package/build/relations/index.cjs +99 -0
  1103. package/build/relations/index.d.cts +32 -0
  1104. package/build/relations/index.d.mts +32 -0
  1105. package/build/relations/index.js +31 -97
  1106. package/build/relations/isCascadeDelete.cjs +11 -0
  1107. package/build/relations/isCascadeDelete.cjs.map +1 -0
  1108. package/build/relations/isCascadeDelete.d.cts +7 -0
  1109. package/build/relations/isCascadeDelete.d.cts.map +1 -0
  1110. package/build/relations/isCascadeDelete.d.mts +7 -0
  1111. package/build/relations/isCascadeDelete.d.mts.map +1 -0
  1112. package/build/relations/isCascadeDelete.js +10 -0
  1113. package/build/relations/isCascadeDelete.js.map +1 -0
  1114. package/build/resurrection.cjs +74 -0
  1115. package/build/resurrection.cjs.map +1 -0
  1116. package/build/resurrection.d.cts +13 -0
  1117. package/build/resurrection.d.cts.map +1 -0
  1118. package/build/resurrection.d.mts +13 -0
  1119. package/build/resurrection.d.mts.map +1 -0
  1120. package/build/resurrection.js +48 -69
  1121. package/build/resurrection.js.map +1 -1
  1122. package/build/rules.cjs +227 -0
  1123. package/build/rules.cjs.map +1 -0
  1124. package/build/rules.d.cts +145 -0
  1125. package/build/rules.d.cts.map +1 -0
  1126. package/build/rules.d.mts +145 -0
  1127. package/build/rules.d.mts.map +1 -0
  1128. package/build/rules.js +189 -204
  1129. package/build/rules.js.map +1 -1
  1130. package/build/runtimeConfig.cjs +25 -0
  1131. package/build/runtimeConfig.cjs.map +1 -0
  1132. package/build/runtimeConfig.d.cts +24 -0
  1133. package/build/runtimeConfig.d.cts.map +1 -0
  1134. package/build/runtimeConfig.d.mts +24 -0
  1135. package/build/runtimeConfig.d.mts.map +1 -0
  1136. package/build/runtimeConfig.js +16 -12
  1137. package/build/runtimeConfig.js.map +1 -1
  1138. package/build/serde/TypeInfo.cjs +80 -0
  1139. package/build/serde/TypeInfo.cjs.map +1 -0
  1140. package/build/serde/TypeInfo.d.cts +57 -0
  1141. package/build/serde/TypeInfo.d.cts.map +1 -0
  1142. package/build/serde/TypeInfo.d.mts +57 -0
  1143. package/build/serde/TypeInfo.d.mts.map +1 -0
  1144. package/build/serde/TypeInfo.js +78 -0
  1145. package/build/serde/TypeInfo.js.map +1 -0
  1146. package/build/serde/columns.cjs +63 -0
  1147. package/build/serde/columns.cjs.map +1 -0
  1148. package/build/serde/columns.d.cts +38 -0
  1149. package/build/serde/columns.d.cts.map +1 -0
  1150. package/build/serde/columns.d.mts +38 -0
  1151. package/build/serde/columns.d.mts.map +1 -0
  1152. package/build/serde/columns.js +62 -0
  1153. package/build/serde/columns.js.map +1 -0
  1154. package/build/serde/fieldSerde.cjs +188 -0
  1155. package/build/serde/fieldSerde.cjs.map +1 -0
  1156. package/build/serde/fieldSerde.d.cts +87 -0
  1157. package/build/serde/fieldSerde.d.cts.map +1 -0
  1158. package/build/serde/fieldSerde.d.mts +87 -0
  1159. package/build/serde/fieldSerde.d.mts.map +1 -0
  1160. package/build/serde/fieldSerde.js +182 -0
  1161. package/build/serde/fieldSerde.js.map +1 -0
  1162. package/build/serde/serde.cjs +499 -0
  1163. package/build/serde/serde.cjs.map +1 -0
  1164. package/build/serde/serde.d.cts +248 -0
  1165. package/build/serde/serde.d.cts.map +1 -0
  1166. package/build/serde/serde.d.mts +248 -0
  1167. package/build/serde/serde.d.mts.map +1 -0
  1168. package/build/serde/serde.js +485 -0
  1169. package/build/serde/serde.js.map +1 -0
  1170. package/build/serde/temporal.cjs +57 -0
  1171. package/build/serde/temporal.cjs.map +1 -0
  1172. package/build/serde/temporal.d.cts +44 -0
  1173. package/build/serde/temporal.d.cts.map +1 -0
  1174. package/build/serde/temporal.d.mts +44 -0
  1175. package/build/serde/temporal.d.mts.map +1 -0
  1176. package/build/serde/temporal.js +55 -0
  1177. package/build/serde/temporal.js.map +1 -0
  1178. package/build/serde/temporalMappers.cjs +62 -0
  1179. package/build/serde/temporalMappers.cjs.map +1 -0
  1180. package/build/serde/temporalMappers.d.cts +36 -0
  1181. package/build/serde/temporalMappers.d.cts.map +1 -0
  1182. package/build/serde/temporalMappers.d.mts +36 -0
  1183. package/build/serde/temporalMappers.d.mts.map +1 -0
  1184. package/build/serde/temporalMappers.js +58 -0
  1185. package/build/serde/temporalMappers.js.map +1 -0
  1186. package/build/trusted.cjs +16 -0
  1187. package/build/trusted.cjs.map +1 -0
  1188. package/build/trusted.d.cts +8 -0
  1189. package/build/trusted.d.cts.map +1 -0
  1190. package/build/trusted.d.mts +8 -0
  1191. package/build/trusted.d.mts.map +1 -0
  1192. package/build/trusted.js +8 -8
  1193. package/build/trusted.js.map +1 -1
  1194. package/build/typeMap.cjs +3 -0
  1195. package/build/typeMap.d.cts +88 -0
  1196. package/build/typeMap.d.cts.map +1 -0
  1197. package/build/typeMap.d.mts +88 -0
  1198. package/build/typeMap.d.mts.map +1 -0
  1199. package/build/typeMap.js +3 -3
  1200. package/build/upsert.cjs +175 -0
  1201. package/build/upsert.cjs.map +1 -0
  1202. package/build/upsert.d.cts +42 -0
  1203. package/build/upsert.d.cts.map +1 -0
  1204. package/build/upsert.d.mts +42 -0
  1205. package/build/upsert.d.mts.map +1 -0
  1206. package/build/upsert.js +159 -274
  1207. package/build/upsert.js.map +1 -1
  1208. package/build/utils.cjs +204 -0
  1209. package/build/utils.cjs.map +1 -0
  1210. package/build/utils.d.cts +65 -0
  1211. package/build/utils.d.cts.map +1 -0
  1212. package/build/utils.d.mts +65 -0
  1213. package/build/utils.d.mts.map +1 -0
  1214. package/build/utils.js +123 -192
  1215. package/build/utils.js.map +1 -1
  1216. package/package.json +34 -14
  1217. package/build/AliasAssigner.d.ts +0 -10
  1218. package/build/AliasAssigner.d.ts.map +0 -1
  1219. package/build/AliasAssigner.js +0 -39
  1220. package/build/AliasAssigner.js.map +0 -1
  1221. package/build/Aliases.d.ts +0 -117
  1222. package/build/Aliases.d.ts.map +0 -1
  1223. package/build/Aliases.js +0 -457
  1224. package/build/Aliases.js.map +0 -1
  1225. package/build/BaseEntity.d.ts +0 -68
  1226. package/build/BaseEntity.d.ts.map +0 -1
  1227. package/build/ConditionBuilder.d.ts +0 -29
  1228. package/build/ConditionBuilder.d.ts.map +0 -1
  1229. package/build/ConditionBuilder.js +0 -112
  1230. package/build/ConditionBuilder.js.map +0 -1
  1231. package/build/Entity.d.ts +0 -39
  1232. package/build/Entity.d.ts.map +0 -1
  1233. package/build/EntityFields.d.ts +0 -37
  1234. package/build/EntityFields.d.ts.map +0 -1
  1235. package/build/EntityFields.js.map +0 -1
  1236. package/build/EntityFilter.d.ts +0 -134
  1237. package/build/EntityFilter.d.ts.map +0 -1
  1238. package/build/EntityFilter.js +0 -21
  1239. package/build/EntityFilter.js.map +0 -1
  1240. package/build/EntityGraphQLFilter.d.ts +0 -56
  1241. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  1242. package/build/EntityGraphQLFilter.js +0 -53
  1243. package/build/EntityGraphQLFilter.js.map +0 -1
  1244. package/build/EntityManager.d.ts +0 -740
  1245. package/build/EntityManager.d.ts.map +0 -1
  1246. package/build/EntityMetadata.d.ts +0 -233
  1247. package/build/EntityMetadata.d.ts.map +0 -1
  1248. package/build/EnumMetadata.d.ts +0 -15
  1249. package/build/EnumMetadata.d.ts.map +0 -1
  1250. package/build/EnumMetadata.js.map +0 -1
  1251. package/build/FlushLock.d.ts +0 -26
  1252. package/build/FlushLock.d.ts.map +0 -1
  1253. package/build/FlushLock.js +0 -57
  1254. package/build/FlushLock.js.map +0 -1
  1255. package/build/HintTree.d.ts +0 -42
  1256. package/build/HintTree.d.ts.map +0 -1
  1257. package/build/HintTree.js +0 -64
  1258. package/build/HintTree.js.map +0 -1
  1259. package/build/IndexManager.d.ts +0 -31
  1260. package/build/IndexManager.d.ts.map +0 -1
  1261. package/build/InstanceData.d.ts +0 -79
  1262. package/build/InstanceData.d.ts.map +0 -1
  1263. package/build/IsLoadedCache.d.ts +0 -32
  1264. package/build/IsLoadedCache.d.ts.map +0 -1
  1265. package/build/IsLoadedCache.js +0 -91
  1266. package/build/IsLoadedCache.js.map +0 -1
  1267. package/build/JoinRows.d.ts +0 -117
  1268. package/build/JoinRows.d.ts.map +0 -1
  1269. package/build/JoinRows.js +0 -320
  1270. package/build/JoinRows.js.map +0 -1
  1271. package/build/PendingChanges.d.ts +0 -26
  1272. package/build/PendingChanges.d.ts.map +0 -1
  1273. package/build/PendingChanges.js +0 -3
  1274. package/build/PendingChanges.js.map +0 -1
  1275. package/build/PluginManager.d.ts +0 -102
  1276. package/build/PluginManager.d.ts.map +0 -1
  1277. package/build/QueryParser.collectionJoins.d.ts +0 -27
  1278. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  1279. package/build/QueryParser.collectionJoins.js +0 -466
  1280. package/build/QueryParser.collectionJoins.js.map +0 -1
  1281. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  1282. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  1283. package/build/QueryParser.collectionJoins.test.js +0 -772
  1284. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  1285. package/build/QueryParser.d.ts +0 -336
  1286. package/build/QueryParser.d.ts.map +0 -1
  1287. package/build/QueryParser.js +0 -965
  1288. package/build/QueryParser.js.map +0 -1
  1289. package/build/QueryParser.pruning.d.ts +0 -7
  1290. package/build/QueryParser.pruning.d.ts.map +0 -1
  1291. package/build/QueryParser.pruning.js +0 -195
  1292. package/build/QueryParser.pruning.js.map +0 -1
  1293. package/build/QueryParser.pruning.test.d.ts +0 -2
  1294. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  1295. package/build/QueryParser.pruning.test.js +0 -106
  1296. package/build/QueryParser.pruning.test.js.map +0 -1
  1297. package/build/QueryParser.test.d.ts +0 -2
  1298. package/build/QueryParser.test.d.ts.map +0 -1
  1299. package/build/QueryParser.test.js +0 -27
  1300. package/build/QueryParser.test.js.map +0 -1
  1301. package/build/QueryVisitor.d.ts +0 -19
  1302. package/build/QueryVisitor.d.ts.map +0 -1
  1303. package/build/QueryVisitor.js +0 -106
  1304. package/build/QueryVisitor.js.map +0 -1
  1305. package/build/ReactionsManager.d.ts +0 -85
  1306. package/build/ReactionsManager.d.ts.map +0 -1
  1307. package/build/ReactionsManager.js +0 -315
  1308. package/build/ReactionsManager.js.map +0 -1
  1309. package/build/Todo.d.ts +0 -35
  1310. package/build/Todo.d.ts.map +0 -1
  1311. package/build/Todo.js +0 -73
  1312. package/build/Todo.js.map +0 -1
  1313. package/build/batchloaders/BatchLoader.d.ts +0 -14
  1314. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  1315. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
  1316. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  1317. package/build/batchloaders/loadBatchLoader.d.ts +0 -17
  1318. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  1319. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
  1320. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  1321. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
  1322. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  1323. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
  1324. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  1325. package/build/batchloaders/populateBatchLoader.d.ts +0 -13
  1326. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  1327. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
  1328. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  1329. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
  1330. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  1331. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
  1332. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  1333. package/build/changes.d.ts +0 -92
  1334. package/build/changes.d.ts.map +0 -1
  1335. package/build/config.d.ts +0 -250
  1336. package/build/config.d.ts.map +0 -1
  1337. package/build/config.test.d.ts +0 -2
  1338. package/build/config.test.d.ts.map +0 -1
  1339. package/build/config.test.js +0 -53
  1340. package/build/config.test.js.map +0 -1
  1341. package/build/configure.d.ts +0 -15
  1342. package/build/configure.d.ts.map +0 -1
  1343. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
  1344. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  1345. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  1346. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  1347. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  1348. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  1349. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  1350. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  1351. package/build/dataloaders/findCountDataLoader.d.ts +0 -16
  1352. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  1353. package/build/dataloaders/findDataLoader.d.ts +0 -76
  1354. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  1355. package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
  1356. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  1357. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  1358. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  1359. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
  1360. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  1361. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  1362. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  1363. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  1364. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  1365. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  1366. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  1367. package/build/defaults.d.ts +0 -54
  1368. package/build/defaults.d.ts.map +0 -1
  1369. package/build/driverApi.d.ts +0 -19
  1370. package/build/driverApi.d.ts.map +0 -1
  1371. package/build/driverApi.js +0 -17
  1372. package/build/driverApi.js.map +0 -1
  1373. package/build/drivers/Driver.d.ts +0 -26
  1374. package/build/drivers/Driver.d.ts.map +0 -1
  1375. package/build/drivers/Driver.js.map +0 -1
  1376. package/build/drivers/EntityWriter.d.ts +0 -64
  1377. package/build/drivers/EntityWriter.d.ts.map +0 -1
  1378. package/build/drivers/IdAssigner.d.ts +0 -48
  1379. package/build/drivers/IdAssigner.d.ts.map +0 -1
  1380. package/build/drivers/buildRawQuery.d.ts +0 -22
  1381. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  1382. package/build/drivers/buildRawQuery.js +0 -153
  1383. package/build/drivers/buildRawQuery.js.map +0 -1
  1384. package/build/drivers/buildUtils.d.ts +0 -9
  1385. package/build/drivers/buildUtils.d.ts.map +0 -1
  1386. package/build/drivers/buildUtils.js +0 -88
  1387. package/build/drivers/buildUtils.js.map +0 -1
  1388. package/build/drivers/index.d.ts +0 -6
  1389. package/build/drivers/index.d.ts.map +0 -1
  1390. package/build/drivers/index.js.map +0 -1
  1391. package/build/fields.d.ts +0 -26
  1392. package/build/fields.d.ts.map +0 -1
  1393. package/build/getProperties.d.ts +0 -28
  1394. package/build/getProperties.d.ts.map +0 -1
  1395. package/build/index.d.ts +0 -133
  1396. package/build/index.d.ts.map +0 -1
  1397. package/build/json.d.ts +0 -77
  1398. package/build/json.d.ts.map +0 -1
  1399. package/build/k.d.ts +0 -2
  1400. package/build/k.d.ts.map +0 -1
  1401. package/build/keys.d.ts +0 -49
  1402. package/build/keys.d.ts.map +0 -1
  1403. package/build/keywords.d.ts +0 -5
  1404. package/build/keywords.d.ts.map +0 -1
  1405. package/build/keywords.js +0 -124
  1406. package/build/keywords.js.map +0 -1
  1407. package/build/loadHints.d.ts +0 -121
  1408. package/build/loadHints.d.ts.map +0 -1
  1409. package/build/loadHints.js +0 -129
  1410. package/build/loadHints.js.map +0 -1
  1411. package/build/loadLens.d.ts +0 -77
  1412. package/build/loadLens.d.ts.map +0 -1
  1413. package/build/loadLens.js +0 -320
  1414. package/build/loadLens.js.map +0 -1
  1415. package/build/logging/FactoryLogger.d.ts +0 -24
  1416. package/build/logging/FactoryLogger.d.ts.map +0 -1
  1417. package/build/logging/FieldLogger.d.ts +0 -27
  1418. package/build/logging/FieldLogger.d.ts.map +0 -1
  1419. package/build/logging/ReactionLogger.d.ts +0 -27
  1420. package/build/logging/ReactionLogger.d.ts.map +0 -1
  1421. package/build/newEntity.d.ts +0 -45
  1422. package/build/newEntity.d.ts.map +0 -1
  1423. package/build/newTestInstance.d.ts +0 -208
  1424. package/build/newTestInstance.d.ts.map +0 -1
  1425. package/build/normalizeHints.d.ts +0 -23
  1426. package/build/normalizeHints.d.ts.map +0 -1
  1427. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  1428. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  1429. package/build/plugins/PreloadPlugin.d.ts +0 -69
  1430. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  1431. package/build/plugins/PreloadPlugin.js.map +0 -1
  1432. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  1433. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  1434. package/build/preloading/canPreload.d.ts +0 -3
  1435. package/build/preloading/canPreload.d.ts.map +0 -1
  1436. package/build/preloading/partitionHint.d.ts +0 -5
  1437. package/build/preloading/partitionHint.d.ts.map +0 -1
  1438. package/build/reactiveHints.d.ts +0 -146
  1439. package/build/reactiveHints.d.ts.map +0 -1
  1440. package/build/reactiveHints.js +0 -509
  1441. package/build/reactiveHints.js.map +0 -1
  1442. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  1443. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  1444. package/build/relations/AbstractRelationImpl.d.ts +0 -41
  1445. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  1446. package/build/relations/AsyncProperty.d.ts +0 -36
  1447. package/build/relations/AsyncProperty.d.ts.map +0 -1
  1448. package/build/relations/AsyncReactiveField.d.ts +0 -41
  1449. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  1450. package/build/relations/Collection.d.ts +0 -33
  1451. package/build/relations/Collection.d.ts.map +0 -1
  1452. package/build/relations/CustomCollection.d.ts +0 -69
  1453. package/build/relations/CustomCollection.d.ts.map +0 -1
  1454. package/build/relations/CustomReference.d.ts +0 -71
  1455. package/build/relations/CustomReference.d.ts.map +0 -1
  1456. package/build/relations/EnumCollection.d.ts +0 -81
  1457. package/build/relations/EnumCollection.d.ts.map +0 -1
  1458. package/build/relations/LargeCollection.d.ts +0 -19
  1459. package/build/relations/LargeCollection.d.ts.map +0 -1
  1460. package/build/relations/LargeCollection.js.map +0 -1
  1461. package/build/relations/ManyToManyCollection.d.ts +0 -52
  1462. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  1463. package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
  1464. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  1465. package/build/relations/ManyToOneReference.d.ts +0 -117
  1466. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  1467. package/build/relations/OneToManyCollection.d.ts +0 -62
  1468. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  1469. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  1470. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  1471. package/build/relations/OneToOneReference.d.ts +0 -93
  1472. package/build/relations/OneToOneReference.d.ts.map +0 -1
  1473. package/build/relations/PolymorphicReference.d.ts +0 -89
  1474. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  1475. package/build/relations/ReactiveField.d.ts +0 -85
  1476. package/build/relations/ReactiveField.d.ts.map +0 -1
  1477. package/build/relations/ReactiveGetter.d.ts +0 -30
  1478. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  1479. package/build/relations/ReactiveManyToMany.d.ts +0 -57
  1480. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  1481. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
  1482. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  1483. package/build/relations/ReactiveReference.d.ts +0 -119
  1484. package/build/relations/ReactiveReference.d.ts.map +0 -1
  1485. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  1486. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  1487. package/build/relations/RecursiveCollection.d.ts +0 -108
  1488. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  1489. package/build/relations/RecursiveCycleError.d.ts +0 -13
  1490. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  1491. package/build/relations/Reference.d.ts +0 -35
  1492. package/build/relations/Reference.d.ts.map +0 -1
  1493. package/build/relations/Relation.d.ts +0 -14
  1494. package/build/relations/Relation.d.ts.map +0 -1
  1495. package/build/relations/hasAsyncMethod.d.ts +0 -27
  1496. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  1497. package/build/relations/hasManyDerived.d.ts +0 -22
  1498. package/build/relations/hasManyDerived.d.ts.map +0 -1
  1499. package/build/relations/hasManyThrough.d.ts +0 -10
  1500. package/build/relations/hasManyThrough.d.ts.map +0 -1
  1501. package/build/relations/hasOneDerived.d.ts +0 -12
  1502. package/build/relations/hasOneDerived.d.ts.map +0 -1
  1503. package/build/relations/hasOneThrough.d.ts +0 -10
  1504. package/build/relations/hasOneThrough.d.ts.map +0 -1
  1505. package/build/relations/hasProperty.d.ts +0 -50
  1506. package/build/relations/hasProperty.d.ts.map +0 -1
  1507. package/build/relations/index.d.ts +0 -30
  1508. package/build/relations/index.d.ts.map +0 -1
  1509. package/build/relations/index.js.map +0 -1
  1510. package/build/resurrection.d.ts +0 -10
  1511. package/build/resurrection.d.ts.map +0 -1
  1512. package/build/rules.d.ts +0 -123
  1513. package/build/rules.d.ts.map +0 -1
  1514. package/build/runtimeConfig.d.ts +0 -17
  1515. package/build/runtimeConfig.d.ts.map +0 -1
  1516. package/build/scopes.d.ts +0 -185
  1517. package/build/scopes.d.ts.map +0 -1
  1518. package/build/scopes.js +0 -302
  1519. package/build/scopes.js.map +0 -1
  1520. package/build/serde.d.ts +0 -277
  1521. package/build/serde.d.ts.map +0 -1
  1522. package/build/serde.js +0 -517
  1523. package/build/serde.js.map +0 -1
  1524. package/build/temporal.d.ts +0 -46
  1525. package/build/temporal.d.ts.map +0 -1
  1526. package/build/temporal.js +0 -66
  1527. package/build/temporal.js.map +0 -1
  1528. package/build/temporalMappers.d.ts +0 -25
  1529. package/build/temporalMappers.d.ts.map +0 -1
  1530. package/build/temporalMappers.js +0 -59
  1531. package/build/temporalMappers.js.map +0 -1
  1532. package/build/trusted.d.ts +0 -5
  1533. package/build/trusted.d.ts.map +0 -1
  1534. package/build/typeMap.d.ts +0 -68
  1535. package/build/typeMap.d.ts.map +0 -1
  1536. package/build/typeMap.js.map +0 -1
  1537. package/build/unnest.d.ts +0 -13
  1538. package/build/unnest.d.ts.map +0 -1
  1539. package/build/unnest.js +0 -85
  1540. package/build/unnest.js.map +0 -1
  1541. package/build/upsert.d.ts +0 -42
  1542. package/build/upsert.d.ts.map +0 -1
  1543. package/build/utils.d.ts +0 -60
  1544. package/build/utils.d.ts.map +0 -1
  1545. package/build/withLoaded.d.ts +0 -56
  1546. package/build/withLoaded.d.ts.map +0 -1
  1547. package/build/withLoaded.js +0 -76
  1548. package/build/withLoaded.js.map +0 -1
@@ -0,0 +1,115 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_queries_parsedConditions = require("../parsedConditions.cjs");
3
+ const require_queries_find_QueryParser = require("./QueryParser.cjs");
4
+ const require_utils = require("../../utils.cjs");
5
+ //#region src/queries/find/QueryParser.pruning.ts
6
+ function pruneUnusedJoins(parsed, keepAliases) {
7
+ const dt = new DependencyTracker();
8
+ const todo = [...parsed.tables];
9
+ while (todo.length > 0) {
10
+ const t = todo.pop();
11
+ if (t.join === "lateral") {
12
+ dt.addAlias(t.alias, [t.fromAlias]);
13
+ todo.push(...t.query.tables);
14
+ } else if (t.join === "cross") dt.markRequired(t.alias);
15
+ else if (t.join === "primary") dt.markRequired(t.alias);
16
+ else if (parsed.ctes?.some((cte) => cte.alias === t.table)) {
17
+ dt.addAlias(t.alias, joinDependencies(t));
18
+ dt.markRequired(t.alias);
19
+ } else dt.addAlias(t.alias, joinDependencies(t));
20
+ }
21
+ parsed.selects.forEach((s) => {
22
+ if (typeof s === "string") markSelectAliases(dt, parsed, s);
23
+ else if ("aliases" in s) {
24
+ for (const a of s.aliases) dt.markRequired(a);
25
+ markSelectAliases(dt, parsed, s.sql);
26
+ }
27
+ });
28
+ parsed.orderBys.forEach((o) => dt.markRequired(o.alias));
29
+ parsed.groupBys?.forEach((g) => {
30
+ if ("expression" in g) markSelectAliases(dt, parsed, g.expression);
31
+ else dt.markRequired(g.alias);
32
+ });
33
+ keepAliases.forEach((a) => dt.markRequired(a));
34
+ const todo2 = [{
35
+ query: parsed,
36
+ filterPruneable: true
37
+ }];
38
+ while (todo2.length > 0) {
39
+ const { query, filterPruneable } = todo2.pop();
40
+ require_queries_parsedConditions.deepFindConditions(query.condition, filterPruneable).forEach((c) => {
41
+ if (c.kind === "column") dt.markRequired(c.alias);
42
+ else if (c.kind === "raw") for (const alias of c.aliases) dt.markRequired(alias);
43
+ else if (c.kind === "exists") for (const alias of c.outerAliases) dt.markRequired(alias);
44
+ else require_utils.assertNever(c);
45
+ });
46
+ todo2.push(...query.tables.filter((t) => t.join === "lateral").map((t) => ({
47
+ query: t.query,
48
+ filterPruneable: false
49
+ })));
50
+ }
51
+ parsed.tables = parsed.tables.filter((t) => dt.required.has(t.alias));
52
+ if (parsed.condition && parsed.condition.op === "and") parsed.condition.conditions = parsed.condition.conditions.filter((c) => {
53
+ if (c.kind === "column") return !(c.pruneable && !dt.required.has(c.alias));
54
+ else return c;
55
+ });
56
+ if (parsed.condition && parsed.condition.conditions.length === 0) parsed.condition = void 0;
57
+ }
58
+ /** Returns the aliases needed to evaluate a join's ON clause, excluding the joined alias itself. */
59
+ function joinDependencies(t) {
60
+ return [require_queries_find_QueryParser.parseAlias(t.col1), require_queries_find_QueryParser.parseAlias(t.col2)].filter((alias) => alias !== t.alias);
61
+ }
62
+ /** Marks aliases used by select strings, including generated CTI expressions like `COALESCE(st0.col, st1.col)`. */
63
+ function markSelectAliases(dt, parsed, select) {
64
+ for (const table of parsed.tables) if (selectReferencesAlias(select, table.alias)) dt.markRequired(table.alias);
65
+ }
66
+ /** Returns true if a raw select expression references `alias.column` or the whole-row `alias`. */
67
+ function selectReferencesAlias(select, alias) {
68
+ return selectReferencesCandidate(select, `${alias}.`) || selectReferencesCandidate(select, `"${alias}".`) || selectReferencesCandidate(select, alias) || selectReferencesCandidate(select, `"${alias}"`);
69
+ }
70
+ /**
71
+ * Returns true when `candidate` is present at a SQL identifier boundary.
72
+ *
73
+ * Scans the select string for literal candidate matches, then verifies the characters before/after the match are not
74
+ * part of a larger identifier or dotted path. I.e. `row_to_json("ap")` matches, but `foo_"ap"` and `foo.ap` do not.
75
+ */
76
+ function selectReferencesCandidate(select, candidate) {
77
+ let index = select.indexOf(candidate);
78
+ const quoted = candidate.startsWith("\"");
79
+ while (index !== -1) {
80
+ const previous = select[index - 1];
81
+ const next = select[index + candidate.length];
82
+ if ((index === 0 || previous !== "." && !isSqlIdentifierChar(previous)) && !isSqlIdentifierChar(next) && (quoted || previous !== "\"" && next !== "\"")) return true;
83
+ index = select.indexOf(candidate, index + candidate.length);
84
+ }
85
+ return false;
86
+ }
87
+ /** Returns true for characters that can be part of an unquoted SQL identifier. */
88
+ function isSqlIdentifierChar(char) {
89
+ return char !== void 0 && /[A-Za-z0-9_]/.test(char);
90
+ }
91
+ /** Track join dependencies for `pruneUnusedJoins`. */
92
+ var DependencyTracker = class {
93
+ nodes = /* @__PURE__ */ new Map();
94
+ required = /* @__PURE__ */ new Set();
95
+ addAlias(alias, dependencies = []) {
96
+ this.nodes.set(alias, dependencies);
97
+ }
98
+ markRequired(alias) {
99
+ const marked = /* @__PURE__ */ new Set();
100
+ const todo = [alias];
101
+ while (todo.length > 0) {
102
+ const alias = todo.pop();
103
+ if (!marked.has(alias)) {
104
+ marked.add(alias);
105
+ todo.push(...this.nodes.get(alias) || []);
106
+ }
107
+ }
108
+ this.required = /* @__PURE__ */ new Set([...this.required, ...marked]);
109
+ }
110
+ };
111
+ //#endregion
112
+ exports.pruneUnusedJoins = pruneUnusedJoins;
113
+ exports.selectReferencesAlias = selectReferencesAlias;
114
+
115
+ //# sourceMappingURL=QueryParser.pruning.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParser.pruning.cjs","names":["parseAlias"],"sources":["../../../src/queries/find/QueryParser.pruning.ts"],"sourcesContent":["import { type JoinTable, type ParsedFindQuery, parseAlias } from \"src/queries/find/QueryParser.ts\";\nimport { deepFindConditions } from \"src/queries/parsedConditions.ts\";\nimport { assertNever } from \"src/utils.ts\";\n\n// Remove any joins that are not used in the select or conditions\nexport function pruneUnusedJoins(parsed: ParsedFindQuery, keepAliases: string[]): void {\n const dt = new DependencyTracker();\n\n // First setup the alias -> alias dependencies...\n const todo = [...parsed.tables];\n while (todo.length > 0) {\n const t = todo.pop()!;\n if (t.join === \"lateral\") {\n dt.addAlias(t.alias, [t.fromAlias]);\n // Recurse into lateral joins...\n todo.push(...t.query.tables);\n } else if (t.join === \"cross\") {\n dt.markRequired(t.alias);\n } else if (t.join === \"primary\") {\n dt.markRequired(t.alias);\n } else if (parsed.ctes?.some((cte) => cte.alias === t.table)) {\n dt.addAlias(t.alias, joinDependencies(t));\n dt.markRequired(t.alias);\n } else {\n dt.addAlias(t.alias, joinDependencies(t));\n }\n }\n\n // Mark all terminal usages\n parsed.selects.forEach((s) => {\n if (typeof s === \"string\") {\n markSelectAliases(dt, parsed, s);\n } else if (\"aliases\" in s) {\n for (const a of s.aliases) dt.markRequired(a);\n markSelectAliases(dt, parsed, s.sql);\n }\n });\n parsed.orderBys.forEach((o) => dt.markRequired(o.alias));\n parsed.groupBys?.forEach((g) => {\n if (\"expression\" in g) {\n markSelectAliases(dt, parsed, g.expression);\n } else {\n dt.markRequired(g.alias);\n }\n });\n keepAliases.forEach((a) => dt.markRequired(a));\n // Look recursively into CTE & lateral join conditions\n const todo2 = [{ query: parsed, filterPruneable: true }];\n while (todo2.length > 0) {\n const { query, filterPruneable } = todo2.pop()!;\n deepFindConditions(query.condition, filterPruneable).forEach((c) => {\n if (c.kind === \"column\") {\n dt.markRequired(c.alias);\n } else if (c.kind === \"raw\") {\n for (const alias of c.aliases) dt.markRequired(alias);\n } else if (c.kind === \"exists\") {\n for (const alias of c.outerAliases) dt.markRequired(alias);\n } else {\n assertNever(c);\n }\n });\n todo2.push(\n ...query.tables.filter((t) => t.join === \"lateral\").map((t) => ({ query: t.query, filterPruneable: false })),\n );\n }\n\n // Now remove any unused joins\n parsed.tables = parsed.tables.filter((t) => dt.required.has(t.alias));\n\n // And then remove any inline soft-delete conditions we don't need anymore\n if (parsed.condition && parsed.condition.op === \"and\") {\n parsed.condition.conditions = parsed.condition.conditions.filter((c) => {\n if (c.kind === \"column\") {\n const prune = c.pruneable && !dt.required.has(c.alias);\n // if (prune) console.log(`DROPPING`, c);\n return !prune;\n } else {\n return c;\n }\n });\n }\n\n // Remove any `{ and: [...] }`s that are empty; we should probably do this deeply?\n if (parsed.condition && parsed.condition.conditions.length === 0) {\n parsed.condition = undefined;\n }\n}\n\n/** Returns the aliases needed to evaluate a join's ON clause, excluding the joined alias itself. */\nfunction joinDependencies(t: JoinTable): string[] {\n return [parseAlias(t.col1), parseAlias(t.col2)].filter((alias) => alias !== t.alias);\n}\n\n/** Marks aliases used by select strings, including generated CTI expressions like `COALESCE(st0.col, st1.col)`. */\nfunction markSelectAliases(dt: DependencyTracker, parsed: ParsedFindQuery, select: string): void {\n for (const table of parsed.tables) {\n if (selectReferencesAlias(select, table.alias)) {\n dt.markRequired(table.alias);\n }\n }\n}\n\n/** Returns true if a raw select expression references `alias.column` or the whole-row `alias`. */\nexport function selectReferencesAlias(select: string, alias: string): boolean {\n // Most selects are simple `a.*`, but CTI adds expressions like\n // `COALESCE(p_s0.shared_column, p_s1.shared_column) as shared_column`.\n // Those expressions must keep the subtype joins, but `parseAlias` only sees\n // the leading function name. Instead of parsing SQL, scan for the only alias\n // forms Joist generates in selects: `alias.column`, `\"alias\".column`, and whole-row aliases.\n return (\n selectReferencesCandidate(select, `${alias}.`) ||\n selectReferencesCandidate(select, `\"${alias}\".`) ||\n selectReferencesCandidate(select, alias) ||\n selectReferencesCandidate(select, `\"${alias}\"`)\n );\n}\n\n/**\n * Returns true when `candidate` is present at a SQL identifier boundary.\n *\n * Scans the select string for literal candidate matches, then verifies the characters before/after the match are not\n * part of a larger identifier or dotted path. I.e. `row_to_json(\"ap\")` matches, but `foo_\"ap\"` and `foo.ap` do not.\n */\nfunction selectReferencesCandidate(select: string, candidate: string): boolean {\n let index = select.indexOf(candidate);\n const quoted = candidate.startsWith('\"');\n while (index !== -1) {\n // Each loop inspects one literal occurrence of `candidate`, then either accepts it as a real alias reference or\n // advances to the next occurrence if the surrounding characters show it is part of a larger token.\n // Avoid treating `foo.a.id` as a reference to `a`; Joist-generated aliases\n // appear at the start of an expression or after punctuation/whitespace.\n const previous = select[index - 1];\n const next = select[index + candidate.length];\n if (\n (index === 0 || (previous !== \".\" && !isSqlIdentifierChar(previous))) &&\n !isSqlIdentifierChar(next) &&\n (quoted || (previous !== '\"' && next !== '\"'))\n ) {\n return true;\n }\n // Continue scanning after the current occurrence; `indexOf` returns -1 once there are no more candidates.\n index = select.indexOf(candidate, index + candidate.length);\n }\n return false;\n}\n\n/** Returns true for characters that can be part of an unquoted SQL identifier. */\nfunction isSqlIdentifierChar(char: string | undefined): boolean {\n return char !== undefined && /[A-Za-z0-9_]/.test(char);\n}\n\n/** Track join dependencies for `pruneUnusedJoins`. */\nclass DependencyTracker {\n private nodes: Map<string, string[]> = new Map();\n required: Set<string> = new Set();\n\n addAlias(alias: string, dependencies: string[] = []): void {\n this.nodes.set(alias, dependencies);\n }\n\n markRequired(alias: string): void {\n const marked = new Set<string>();\n const todo = [alias];\n while (todo.length > 0) {\n const alias = todo.pop()!;\n if (!marked.has(alias)) {\n marked.add(alias);\n todo.push(...(this.nodes.get(alias) || []));\n }\n }\n this.required = new Set([...this.required, ...marked]);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ParsedFindQuery } from "./QueryParser.cjs";
2
+ //#region src/queries/find/QueryParser.pruning.d.ts
3
+ declare function pruneUnusedJoins(parsed: ParsedFindQuery, keepAliases: string[]): void;
4
+ /** Returns true if a raw select expression references `alias.column` or the whole-row `alias`. */
5
+ declare function selectReferencesAlias(select: string, alias: string): boolean;
6
+ //#endregion
7
+ export { pruneUnusedJoins, selectReferencesAlias };
8
+ //# sourceMappingURL=QueryParser.pruning.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParser.pruning.d.cts","names":[],"sources":["../../../src/queries/find/QueryParser.pruning.ts"],"mappings":";;iBAKgB,iBAAiB,QAAQ,iBAAiB;;iBAkG1C,sBAAsB,gBAAgB"}
@@ -0,0 +1,8 @@
1
+ import { ParsedFindQuery } from "./QueryParser.mjs";
2
+ //#region src/queries/find/QueryParser.pruning.d.ts
3
+ declare function pruneUnusedJoins(parsed: ParsedFindQuery, keepAliases: string[]): void;
4
+ /** Returns true if a raw select expression references `alias.column` or the whole-row `alias`. */
5
+ declare function selectReferencesAlias(select: string, alias: string): boolean;
6
+ //#endregion
7
+ export { pruneUnusedJoins, selectReferencesAlias };
8
+ //# sourceMappingURL=QueryParser.pruning.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParser.pruning.d.mts","names":[],"sources":["../../../src/queries/find/QueryParser.pruning.ts"],"mappings":";;iBAKgB,iBAAiB,QAAQ,iBAAiB;;iBAkG1C,sBAAsB,gBAAgB"}
@@ -0,0 +1,113 @@
1
+ import { deepFindConditions } from "../parsedConditions.js";
2
+ import { parseAlias } from "./QueryParser.js";
3
+ import { assertNever } from "../../utils.js";
4
+ //#region src/queries/find/QueryParser.pruning.ts
5
+ function pruneUnusedJoins(parsed, keepAliases) {
6
+ const dt = new DependencyTracker();
7
+ const todo = [...parsed.tables];
8
+ while (todo.length > 0) {
9
+ const t = todo.pop();
10
+ if (t.join === "lateral") {
11
+ dt.addAlias(t.alias, [t.fromAlias]);
12
+ todo.push(...t.query.tables);
13
+ } else if (t.join === "cross") dt.markRequired(t.alias);
14
+ else if (t.join === "primary") dt.markRequired(t.alias);
15
+ else if (parsed.ctes?.some((cte) => cte.alias === t.table)) {
16
+ dt.addAlias(t.alias, joinDependencies(t));
17
+ dt.markRequired(t.alias);
18
+ } else dt.addAlias(t.alias, joinDependencies(t));
19
+ }
20
+ parsed.selects.forEach((s) => {
21
+ if (typeof s === "string") markSelectAliases(dt, parsed, s);
22
+ else if ("aliases" in s) {
23
+ for (const a of s.aliases) dt.markRequired(a);
24
+ markSelectAliases(dt, parsed, s.sql);
25
+ }
26
+ });
27
+ parsed.orderBys.forEach((o) => dt.markRequired(o.alias));
28
+ parsed.groupBys?.forEach((g) => {
29
+ if ("expression" in g) markSelectAliases(dt, parsed, g.expression);
30
+ else dt.markRequired(g.alias);
31
+ });
32
+ keepAliases.forEach((a) => dt.markRequired(a));
33
+ const todo2 = [{
34
+ query: parsed,
35
+ filterPruneable: true
36
+ }];
37
+ while (todo2.length > 0) {
38
+ const { query, filterPruneable } = todo2.pop();
39
+ deepFindConditions(query.condition, filterPruneable).forEach((c) => {
40
+ if (c.kind === "column") dt.markRequired(c.alias);
41
+ else if (c.kind === "raw") for (const alias of c.aliases) dt.markRequired(alias);
42
+ else if (c.kind === "exists") for (const alias of c.outerAliases) dt.markRequired(alias);
43
+ else assertNever(c);
44
+ });
45
+ todo2.push(...query.tables.filter((t) => t.join === "lateral").map((t) => ({
46
+ query: t.query,
47
+ filterPruneable: false
48
+ })));
49
+ }
50
+ parsed.tables = parsed.tables.filter((t) => dt.required.has(t.alias));
51
+ if (parsed.condition && parsed.condition.op === "and") parsed.condition.conditions = parsed.condition.conditions.filter((c) => {
52
+ if (c.kind === "column") return !(c.pruneable && !dt.required.has(c.alias));
53
+ else return c;
54
+ });
55
+ if (parsed.condition && parsed.condition.conditions.length === 0) parsed.condition = void 0;
56
+ }
57
+ /** Returns the aliases needed to evaluate a join's ON clause, excluding the joined alias itself. */
58
+ function joinDependencies(t) {
59
+ return [parseAlias(t.col1), parseAlias(t.col2)].filter((alias) => alias !== t.alias);
60
+ }
61
+ /** Marks aliases used by select strings, including generated CTI expressions like `COALESCE(st0.col, st1.col)`. */
62
+ function markSelectAliases(dt, parsed, select) {
63
+ for (const table of parsed.tables) if (selectReferencesAlias(select, table.alias)) dt.markRequired(table.alias);
64
+ }
65
+ /** Returns true if a raw select expression references `alias.column` or the whole-row `alias`. */
66
+ function selectReferencesAlias(select, alias) {
67
+ return selectReferencesCandidate(select, `${alias}.`) || selectReferencesCandidate(select, `"${alias}".`) || selectReferencesCandidate(select, alias) || selectReferencesCandidate(select, `"${alias}"`);
68
+ }
69
+ /**
70
+ * Returns true when `candidate` is present at a SQL identifier boundary.
71
+ *
72
+ * Scans the select string for literal candidate matches, then verifies the characters before/after the match are not
73
+ * part of a larger identifier or dotted path. I.e. `row_to_json("ap")` matches, but `foo_"ap"` and `foo.ap` do not.
74
+ */
75
+ function selectReferencesCandidate(select, candidate) {
76
+ let index = select.indexOf(candidate);
77
+ const quoted = candidate.startsWith("\"");
78
+ while (index !== -1) {
79
+ const previous = select[index - 1];
80
+ const next = select[index + candidate.length];
81
+ if ((index === 0 || previous !== "." && !isSqlIdentifierChar(previous)) && !isSqlIdentifierChar(next) && (quoted || previous !== "\"" && next !== "\"")) return true;
82
+ index = select.indexOf(candidate, index + candidate.length);
83
+ }
84
+ return false;
85
+ }
86
+ /** Returns true for characters that can be part of an unquoted SQL identifier. */
87
+ function isSqlIdentifierChar(char) {
88
+ return char !== void 0 && /[A-Za-z0-9_]/.test(char);
89
+ }
90
+ /** Track join dependencies for `pruneUnusedJoins`. */
91
+ var DependencyTracker = class {
92
+ nodes = /* @__PURE__ */ new Map();
93
+ required = /* @__PURE__ */ new Set();
94
+ addAlias(alias, dependencies = []) {
95
+ this.nodes.set(alias, dependencies);
96
+ }
97
+ markRequired(alias) {
98
+ const marked = /* @__PURE__ */ new Set();
99
+ const todo = [alias];
100
+ while (todo.length > 0) {
101
+ const alias = todo.pop();
102
+ if (!marked.has(alias)) {
103
+ marked.add(alias);
104
+ todo.push(...this.nodes.get(alias) || []);
105
+ }
106
+ }
107
+ this.required = /* @__PURE__ */ new Set([...this.required, ...marked]);
108
+ }
109
+ };
110
+ //#endregion
111
+ export { pruneUnusedJoins, selectReferencesAlias };
112
+
113
+ //# sourceMappingURL=QueryParser.pruning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParser.pruning.js","names":[],"sources":["../../../src/queries/find/QueryParser.pruning.ts"],"sourcesContent":["import { type JoinTable, type ParsedFindQuery, parseAlias } from \"src/queries/find/QueryParser.ts\";\nimport { deepFindConditions } from \"src/queries/parsedConditions.ts\";\nimport { assertNever } from \"src/utils.ts\";\n\n// Remove any joins that are not used in the select or conditions\nexport function pruneUnusedJoins(parsed: ParsedFindQuery, keepAliases: string[]): void {\n const dt = new DependencyTracker();\n\n // First setup the alias -> alias dependencies...\n const todo = [...parsed.tables];\n while (todo.length > 0) {\n const t = todo.pop()!;\n if (t.join === \"lateral\") {\n dt.addAlias(t.alias, [t.fromAlias]);\n // Recurse into lateral joins...\n todo.push(...t.query.tables);\n } else if (t.join === \"cross\") {\n dt.markRequired(t.alias);\n } else if (t.join === \"primary\") {\n dt.markRequired(t.alias);\n } else if (parsed.ctes?.some((cte) => cte.alias === t.table)) {\n dt.addAlias(t.alias, joinDependencies(t));\n dt.markRequired(t.alias);\n } else {\n dt.addAlias(t.alias, joinDependencies(t));\n }\n }\n\n // Mark all terminal usages\n parsed.selects.forEach((s) => {\n if (typeof s === \"string\") {\n markSelectAliases(dt, parsed, s);\n } else if (\"aliases\" in s) {\n for (const a of s.aliases) dt.markRequired(a);\n markSelectAliases(dt, parsed, s.sql);\n }\n });\n parsed.orderBys.forEach((o) => dt.markRequired(o.alias));\n parsed.groupBys?.forEach((g) => {\n if (\"expression\" in g) {\n markSelectAliases(dt, parsed, g.expression);\n } else {\n dt.markRequired(g.alias);\n }\n });\n keepAliases.forEach((a) => dt.markRequired(a));\n // Look recursively into CTE & lateral join conditions\n const todo2 = [{ query: parsed, filterPruneable: true }];\n while (todo2.length > 0) {\n const { query, filterPruneable } = todo2.pop()!;\n deepFindConditions(query.condition, filterPruneable).forEach((c) => {\n if (c.kind === \"column\") {\n dt.markRequired(c.alias);\n } else if (c.kind === \"raw\") {\n for (const alias of c.aliases) dt.markRequired(alias);\n } else if (c.kind === \"exists\") {\n for (const alias of c.outerAliases) dt.markRequired(alias);\n } else {\n assertNever(c);\n }\n });\n todo2.push(\n ...query.tables.filter((t) => t.join === \"lateral\").map((t) => ({ query: t.query, filterPruneable: false })),\n );\n }\n\n // Now remove any unused joins\n parsed.tables = parsed.tables.filter((t) => dt.required.has(t.alias));\n\n // And then remove any inline soft-delete conditions we don't need anymore\n if (parsed.condition && parsed.condition.op === \"and\") {\n parsed.condition.conditions = parsed.condition.conditions.filter((c) => {\n if (c.kind === \"column\") {\n const prune = c.pruneable && !dt.required.has(c.alias);\n // if (prune) console.log(`DROPPING`, c);\n return !prune;\n } else {\n return c;\n }\n });\n }\n\n // Remove any `{ and: [...] }`s that are empty; we should probably do this deeply?\n if (parsed.condition && parsed.condition.conditions.length === 0) {\n parsed.condition = undefined;\n }\n}\n\n/** Returns the aliases needed to evaluate a join's ON clause, excluding the joined alias itself. */\nfunction joinDependencies(t: JoinTable): string[] {\n return [parseAlias(t.col1), parseAlias(t.col2)].filter((alias) => alias !== t.alias);\n}\n\n/** Marks aliases used by select strings, including generated CTI expressions like `COALESCE(st0.col, st1.col)`. */\nfunction markSelectAliases(dt: DependencyTracker, parsed: ParsedFindQuery, select: string): void {\n for (const table of parsed.tables) {\n if (selectReferencesAlias(select, table.alias)) {\n dt.markRequired(table.alias);\n }\n }\n}\n\n/** Returns true if a raw select expression references `alias.column` or the whole-row `alias`. */\nexport function selectReferencesAlias(select: string, alias: string): boolean {\n // Most selects are simple `a.*`, but CTI adds expressions like\n // `COALESCE(p_s0.shared_column, p_s1.shared_column) as shared_column`.\n // Those expressions must keep the subtype joins, but `parseAlias` only sees\n // the leading function name. Instead of parsing SQL, scan for the only alias\n // forms Joist generates in selects: `alias.column`, `\"alias\".column`, and whole-row aliases.\n return (\n selectReferencesCandidate(select, `${alias}.`) ||\n selectReferencesCandidate(select, `\"${alias}\".`) ||\n selectReferencesCandidate(select, alias) ||\n selectReferencesCandidate(select, `\"${alias}\"`)\n );\n}\n\n/**\n * Returns true when `candidate` is present at a SQL identifier boundary.\n *\n * Scans the select string for literal candidate matches, then verifies the characters before/after the match are not\n * part of a larger identifier or dotted path. I.e. `row_to_json(\"ap\")` matches, but `foo_\"ap\"` and `foo.ap` do not.\n */\nfunction selectReferencesCandidate(select: string, candidate: string): boolean {\n let index = select.indexOf(candidate);\n const quoted = candidate.startsWith('\"');\n while (index !== -1) {\n // Each loop inspects one literal occurrence of `candidate`, then either accepts it as a real alias reference or\n // advances to the next occurrence if the surrounding characters show it is part of a larger token.\n // Avoid treating `foo.a.id` as a reference to `a`; Joist-generated aliases\n // appear at the start of an expression or after punctuation/whitespace.\n const previous = select[index - 1];\n const next = select[index + candidate.length];\n if (\n (index === 0 || (previous !== \".\" && !isSqlIdentifierChar(previous))) &&\n !isSqlIdentifierChar(next) &&\n (quoted || (previous !== '\"' && next !== '\"'))\n ) {\n return true;\n }\n // Continue scanning after the current occurrence; `indexOf` returns -1 once there are no more candidates.\n index = select.indexOf(candidate, index + candidate.length);\n }\n return false;\n}\n\n/** Returns true for characters that can be part of an unquoted SQL identifier. */\nfunction isSqlIdentifierChar(char: string | undefined): boolean {\n return char !== undefined && /[A-Za-z0-9_]/.test(char);\n}\n\n/** Track join dependencies for `pruneUnusedJoins`. */\nclass DependencyTracker {\n private nodes: Map<string, string[]> = new Map();\n required: Set<string> = new Set();\n\n addAlias(alias: string, dependencies: string[] = []): void {\n this.nodes.set(alias, dependencies);\n }\n\n markRequired(alias: string): void {\n const marked = new Set<string>();\n const todo = [alias];\n while (todo.length > 0) {\n const alias = todo.pop()!;\n if (!marked.has(alias)) {\n marked.add(alias);\n todo.push(...(this.nodes.get(alias) || []));\n }\n }\n this.required = new Set([...this.required, ...marked]);\n }\n}\n"],"mappings":";;;;AAKA,SAAgB,iBAAiB,QAAyB,aAA6B;CACrF,MAAM,KAAK,IAAI,kBAAkB;CAGjC,MAAM,OAAO,CAAC,GAAG,OAAO,MAAM;CAC9B,OAAO,KAAK,SAAS,GAAG;EACtB,MAAM,IAAI,KAAK,IAAI;EACnB,IAAI,EAAE,SAAS,WAAW;GACxB,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC;GAElC,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM;EAC7B,OAAO,IAAI,EAAE,SAAS,SACpB,GAAG,aAAa,EAAE,KAAK;OAClB,IAAI,EAAE,SAAS,WACpB,GAAG,aAAa,EAAE,KAAK;OAClB,IAAI,OAAO,MAAM,MAAM,QAAQ,IAAI,UAAU,EAAE,KAAK,GAAG;GAC5D,GAAG,SAAS,EAAE,OAAO,iBAAiB,CAAC,CAAC;GACxC,GAAG,aAAa,EAAE,KAAK;EACzB,OACE,GAAG,SAAS,EAAE,OAAO,iBAAiB,CAAC,CAAC;CAE5C;CAGA,OAAO,QAAQ,SAAS,MAAM;EAC5B,IAAI,OAAO,MAAM,UACf,kBAAkB,IAAI,QAAQ,CAAC;OAC1B,IAAI,aAAa,GAAG;GACzB,KAAK,MAAM,KAAK,EAAE,SAAS,GAAG,aAAa,CAAC;GAC5C,kBAAkB,IAAI,QAAQ,EAAE,GAAG;EACrC;CACF,CAAC;CACD,OAAO,SAAS,SAAS,MAAM,GAAG,aAAa,EAAE,KAAK,CAAC;CACvD,OAAO,UAAU,SAAS,MAAM;EAC9B,IAAI,gBAAgB,GAClB,kBAAkB,IAAI,QAAQ,EAAE,UAAU;OAE1C,GAAG,aAAa,EAAE,KAAK;CAE3B,CAAC;CACD,YAAY,SAAS,MAAM,GAAG,aAAa,CAAC,CAAC;CAE7C,MAAM,QAAQ,CAAC;EAAE,OAAO;EAAQ,iBAAiB;CAAK,CAAC;CACvD,OAAO,MAAM,SAAS,GAAG;EACvB,MAAM,EAAE,OAAO,oBAAoB,MAAM,IAAI;EAC7C,mBAAmB,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM;GAClE,IAAI,EAAE,SAAS,UACb,GAAG,aAAa,EAAE,KAAK;QAClB,IAAI,EAAE,SAAS,OACpB,KAAK,MAAM,SAAS,EAAE,SAAS,GAAG,aAAa,KAAK;QAC/C,IAAI,EAAE,SAAS,UACpB,KAAK,MAAM,SAAS,EAAE,cAAc,GAAG,aAAa,KAAK;QAEzD,YAAY,CAAC;EAEjB,CAAC;EACD,MAAM,KACJ,GAAG,MAAM,OAAO,QAAQ,MAAM,EAAE,SAAS,SAAS,CAAC,CAAC,KAAK,OAAO;GAAE,OAAO,EAAE;GAAO,iBAAiB;EAAM,EAAE,CAC7G;CACF;CAGA,OAAO,SAAS,OAAO,OAAO,QAAQ,MAAM,GAAG,SAAS,IAAI,EAAE,KAAK,CAAC;CAGpE,IAAI,OAAO,aAAa,OAAO,UAAU,OAAO,OAC9C,OAAO,UAAU,aAAa,OAAO,UAAU,WAAW,QAAQ,MAAM;EACtE,IAAI,EAAE,SAAS,UAGb,OAAO,EAFO,EAAE,aAAa,CAAC,GAAG,SAAS,IAAI,EAAE,KAAK;OAIrD,OAAO;CAEX,CAAC;CAIH,IAAI,OAAO,aAAa,OAAO,UAAU,WAAW,WAAW,GAC7D,OAAO,YAAY,KAAA;AAEvB;;AAGA,SAAS,iBAAiB,GAAwB;CAChD,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,UAAU,UAAU,EAAE,KAAK;AACrF;;AAGA,SAAS,kBAAkB,IAAuB,QAAyB,QAAsB;CAC/F,KAAK,MAAM,SAAS,OAAO,QACzB,IAAI,sBAAsB,QAAQ,MAAM,KAAK,GAC3C,GAAG,aAAa,MAAM,KAAK;AAGjC;;AAGA,SAAgB,sBAAsB,QAAgB,OAAwB;CAM5E,OACE,0BAA0B,QAAQ,GAAG,MAAM,EAAE,KAC7C,0BAA0B,QAAQ,IAAI,MAAM,GAAG,KAC/C,0BAA0B,QAAQ,KAAK,KACvC,0BAA0B,QAAQ,IAAI,MAAM,EAAE;AAElD;;;;;;;AAQA,SAAS,0BAA0B,QAAgB,WAA4B;CAC7E,IAAI,QAAQ,OAAO,QAAQ,SAAS;CACpC,MAAM,SAAS,UAAU,WAAW,IAAG;CACvC,OAAO,UAAU,IAAI;EAKnB,MAAM,WAAW,OAAO,QAAQ;EAChC,MAAM,OAAO,OAAO,QAAQ,UAAU;EACtC,KACG,UAAU,KAAM,aAAa,OAAO,CAAC,oBAAoB,QAAQ,MAClE,CAAC,oBAAoB,IAAI,MACxB,UAAW,aAAa,QAAO,SAAS,OAEzC,OAAO;EAGT,QAAQ,OAAO,QAAQ,WAAW,QAAQ,UAAU,MAAM;CAC5D;CACA,OAAO;AACT;;AAGA,SAAS,oBAAoB,MAAmC;CAC9D,OAAO,SAAS,KAAA,KAAa,eAAe,KAAK,IAAI;AACvD;;AAGA,IAAM,oBAAN,MAAwB;CACtB,wBAAuC,IAAI,IAAI;CAC/C,2BAAwB,IAAI,IAAI;CAEhC,SAAS,OAAe,eAAyB,CAAC,GAAS;EACzD,KAAK,MAAM,IAAI,OAAO,YAAY;CACpC;CAEA,aAAa,OAAqB;EAChC,MAAM,yBAAS,IAAI,IAAY;EAC/B,MAAM,OAAO,CAAC,KAAK;EACnB,OAAO,KAAK,SAAS,GAAG;GACtB,MAAM,QAAQ,KAAK,IAAI;GACvB,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG;IACtB,OAAO,IAAI,KAAK;IAChB,KAAK,KAAK,GAAI,KAAK,MAAM,IAAI,KAAK,KAAK,CAAC,CAAE;GAC5C;EACF;EACA,KAAK,2BAAW,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,GAAG,MAAM,CAAC;CACvD;AACF"}
@@ -0,0 +1,77 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_utils = require("../../utils.cjs");
3
+ //#region src/queries/find/QueryVisitor.ts
4
+ /**
5
+ * Visits the nested conditions within `query`.
6
+ *
7
+ * If the visitors return a new condition or expression, the returned expression
8
+ * will replace the original one at that location in the expression.
9
+ *
10
+ * If the visitor returns null, the condition or expression will be removed from the tree.
11
+ */
12
+ function visitConditions(query, visitor) {
13
+ const todo = [query];
14
+ while (todo.length > 0) {
15
+ const query = todo.pop();
16
+ if (query.condition) visitFilter(query.condition, visitor);
17
+ for (const table of query.tables) if (table.join === "lateral") todo.push(table.query);
18
+ if (query.condition) visitExistsSubqueries(query.condition, todo);
19
+ }
20
+ }
21
+ /** Returns whether a parsed query contains a condition tree that cannot match any database row. */
22
+ function isQueryProvablyEmpty(query) {
23
+ return query.condition ? isConditionProvablyFalse(query.condition) : false;
24
+ }
25
+ /** Finds ExistsCondition nodes in a condition tree and pushes their subqueries onto the todo list. */
26
+ function visitExistsSubqueries(condition, todo) {
27
+ if (condition.kind === "exp") for (const c of condition.conditions) visitExistsSubqueries(c, todo);
28
+ else if (condition.kind === "exists") todo.push(condition.subquery);
29
+ }
30
+ function visitFilter(pc, visitor) {
31
+ if (pc.kind === "exp") {
32
+ const toRemove = /* @__PURE__ */ new Set();
33
+ pc.conditions.forEach((c, i) => {
34
+ if (c.kind === "column") {
35
+ const result = visitor.visitCond(c);
36
+ if (result === null) toRemove.add(i);
37
+ else if (result) pc.conditions[i] = result;
38
+ } else if (c.kind === "exp") {
39
+ const result = visitor.visitExp?.(c);
40
+ if (result === null) {
41
+ toRemove.add(i);
42
+ return;
43
+ } else if (result) pc.conditions[i] = result;
44
+ visitFilter(result ?? c, visitor);
45
+ } else if (c.kind === "raw") {
46
+ const result = visitor.visitRaw?.(c);
47
+ if (result === null) toRemove.add(i);
48
+ else if (result) pc.conditions[i] = result;
49
+ } else if (c.kind === "exists") {} else require_utils.assertNever(c);
50
+ });
51
+ if (toRemove.size > 0) pc.conditions = pc.conditions.filter((_, i) => !toRemove.has(i));
52
+ } else if (pc.kind === "column") {
53
+ const result = visitor.visitCond(pc);
54
+ if (result || result === null) throw new Error("ParsedExpressionCondition overload not support mutating the condition");
55
+ } else if (pc.kind === "raw") {
56
+ const result = visitor.visitRaw?.(pc);
57
+ if (result || result === null) throw new Error("ParsedExpressionCondition overload not support mutating the condition");
58
+ } else if (pc.kind === "exists") {} else require_utils.assertNever(pc);
59
+ }
60
+ /** Evaluates only conditions whose false result can be proven without querying the database. */
61
+ function isConditionProvablyFalse(condition) {
62
+ switch (condition.kind) {
63
+ case "column": return condition.cond.kind === "in" && condition.cond.value.length === 0;
64
+ case "exp":
65
+ if (condition.conditions.length === 0) return false;
66
+ return condition.op === "and" ? condition.conditions.some(isConditionProvablyFalse) : condition.conditions.every(isConditionProvablyFalse);
67
+ case "exists": return !condition.negate && isQueryProvablyEmpty(condition.subquery);
68
+ case "raw": return false;
69
+ default: return require_utils.assertNever(condition);
70
+ }
71
+ }
72
+ //#endregion
73
+ exports.isQueryProvablyEmpty = isQueryProvablyEmpty;
74
+ exports.visitConditions = visitConditions;
75
+ exports.visitFilter = visitFilter;
76
+
77
+ //# sourceMappingURL=QueryVisitor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryVisitor.cjs","names":["assertNever"],"sources":["../../../src/queries/find/QueryVisitor.ts"],"sourcesContent":["import type { ParsedFindQuery } from \"src/queries/find/QueryParser.ts\";\nimport type {\n ColumnCondition,\n ParsedExpressionCondition,\n ParsedExpressionFilter,\n RawCondition,\n} from \"src/queries/parsedConditions.ts\";\nimport { assertNever } from \"src/utils.ts\";\n\n/** A generic visitor over the simple & complex conditions of a query. */\ninterface Visitor {\n visitExp?(c: ParsedExpressionFilter): ParsedExpressionFilter | void;\n visitRaw?(c: RawCondition): RawCondition | ParsedExpressionFilter | void;\n visitCond(c: ColumnCondition): ColumnCondition | ParsedExpressionFilter | RawCondition | null | void;\n}\n\n/**\n * Visits the nested conditions within `query`.\n *\n * If the visitors return a new condition or expression, the returned expression\n * will replace the original one at that location in the expression.\n *\n * If the visitor returns null, the condition or expression will be removed from the tree.\n */\nexport function visitConditions(query: ParsedFindQuery, visitor: Visitor): void {\n const todo = [query];\n while (todo.length > 0) {\n const query = todo.pop()!;\n if (query.condition) visitFilter(query.condition, visitor);\n // Recurse into lateral subqueries (used by batching/preloading, not EXISTS rewrite)\n for (const table of query.tables) {\n if (table.join === \"lateral\") {\n todo.push(table.query);\n }\n }\n // Recurse into EXISTS subqueries so batching visitors can rewrite conditions inside them\n if (query.condition) {\n visitExistsSubqueries(query.condition, todo);\n }\n }\n}\n\n/** Returns whether a parsed query contains a condition tree that cannot match any database row. */\nexport function isQueryProvablyEmpty(query: ParsedFindQuery): boolean {\n return query.condition ? isConditionProvablyFalse(query.condition) : false;\n}\n\n/** Finds ExistsCondition nodes in a condition tree and pushes their subqueries onto the todo list. */\nfunction visitExistsSubqueries(condition: ParsedExpressionCondition, todo: ParsedFindQuery[]): void {\n if (condition.kind === \"exp\") {\n for (const c of condition.conditions) {\n visitExistsSubqueries(c, todo);\n }\n } else if (condition.kind === \"exists\") {\n todo.push(condition.subquery);\n }\n}\n\nexport function visitFilter(pc: ParsedExpressionCondition, visitor: Visitor) {\n if (pc.kind === \"exp\") {\n const toRemove = new Set<number>();\n pc.conditions.forEach((c, i) => {\n if (c.kind === \"column\") {\n const result = visitor.visitCond(c);\n if (result === null) {\n toRemove.add(i);\n } else if (result) {\n pc.conditions[i] = result;\n }\n } else if (c.kind === \"exp\") {\n const result = visitor.visitExp?.(c);\n if (result === null) {\n toRemove.add(i);\n return;\n } else if (result) {\n pc.conditions[i] = result;\n }\n visitFilter(result ?? c, visitor);\n } else if (c.kind === \"raw\") {\n const result = visitor.visitRaw?.(c);\n if (result === null) {\n toRemove.add(i);\n } else if (result) {\n pc.conditions[i] = result;\n }\n } else if (c.kind === \"exists\") {\n // EXISTS conditions are visited via visitExistsSubqueries, not inline\n } else {\n assertNever(c);\n }\n });\n // do this after visiting the children, so we can do it in one pass and don't mess up the indices\n if (toRemove.size > 0) pc.conditions = pc.conditions.filter((_, i) => !toRemove.has(i));\n } else if (pc.kind === \"column\") {\n const result = visitor.visitCond(pc);\n if (result || result === null) {\n throw new Error(\"ParsedExpressionCondition overload not support mutating the condition\");\n }\n } else if (pc.kind === \"raw\") {\n const result = visitor.visitRaw?.(pc);\n if (result || result === null) {\n throw new Error(\"ParsedExpressionCondition overload not support mutating the condition\");\n }\n } else if (pc.kind === \"exists\") {\n // EXISTS conditions are handled at the query level\n } else {\n assertNever(pc);\n }\n}\n\n/** Evaluates only conditions whose false result can be proven without querying the database. */\nfunction isConditionProvablyFalse(condition: ParsedExpressionCondition): boolean {\n switch (condition.kind) {\n case \"column\":\n return condition.cond.kind === \"in\" && condition.cond.value.length === 0;\n case \"exp\":\n // Pruning can leave an empty group, which buildWhereClause drops as no predicate instead of rendering as FALSE.\n if (condition.conditions.length === 0) return false;\n return condition.op === \"and\"\n ? condition.conditions.some(isConditionProvablyFalse)\n : condition.conditions.every(isConditionProvablyFalse);\n case \"exists\":\n return !condition.negate && isQueryProvablyEmpty(condition.subquery);\n case \"raw\":\n return false;\n default:\n return assertNever(condition);\n }\n}\n"],"mappings":";;;;;;;;;;;AAwBA,SAAgB,gBAAgB,OAAwB,SAAwB;CAC9E,MAAM,OAAO,CAAC,KAAK;CACnB,OAAO,KAAK,SAAS,GAAG;EACtB,MAAM,QAAQ,KAAK,IAAI;EACvB,IAAI,MAAM,WAAW,YAAY,MAAM,WAAW,OAAO;EAEzD,KAAK,MAAM,SAAS,MAAM,QACxB,IAAI,MAAM,SAAS,WACjB,KAAK,KAAK,MAAM,KAAK;EAIzB,IAAI,MAAM,WACR,sBAAsB,MAAM,WAAW,IAAI;CAE/C;AACF;;AAGA,SAAgB,qBAAqB,OAAiC;CACpE,OAAO,MAAM,YAAY,yBAAyB,MAAM,SAAS,IAAI;AACvE;;AAGA,SAAS,sBAAsB,WAAsC,MAA+B;CAClG,IAAI,UAAU,SAAS,OACrB,KAAK,MAAM,KAAK,UAAU,YACxB,sBAAsB,GAAG,IAAI;MAE1B,IAAI,UAAU,SAAS,UAC5B,KAAK,KAAK,UAAU,QAAQ;AAEhC;AAEA,SAAgB,YAAY,IAA+B,SAAkB;CAC3E,IAAI,GAAG,SAAS,OAAO;EACrB,MAAM,2BAAW,IAAI,IAAY;EACjC,GAAG,WAAW,SAAS,GAAG,MAAM;GAC9B,IAAI,EAAE,SAAS,UAAU;IACvB,MAAM,SAAS,QAAQ,UAAU,CAAC;IAClC,IAAI,WAAW,MACb,SAAS,IAAI,CAAC;SACT,IAAI,QACT,GAAG,WAAW,KAAK;GAEvB,OAAO,IAAI,EAAE,SAAS,OAAO;IAC3B,MAAM,SAAS,QAAQ,WAAW,CAAC;IACnC,IAAI,WAAW,MAAM;KACnB,SAAS,IAAI,CAAC;KACd;IACF,OAAO,IAAI,QACT,GAAG,WAAW,KAAK;IAErB,YAAY,UAAU,GAAG,OAAO;GAClC,OAAO,IAAI,EAAE,SAAS,OAAO;IAC3B,MAAM,SAAS,QAAQ,WAAW,CAAC;IACnC,IAAI,WAAW,MACb,SAAS,IAAI,CAAC;SACT,IAAI,QACT,GAAG,WAAW,KAAK;GAEvB,OAAO,IAAI,EAAE,SAAS,UAAU,CAEhC,OACE,cAAA,YAAY,CAAC;EAEjB,CAAC;EAED,IAAI,SAAS,OAAO,GAAG,GAAG,aAAa,GAAG,WAAW,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;CACxF,OAAO,IAAI,GAAG,SAAS,UAAU;EAC/B,MAAM,SAAS,QAAQ,UAAU,EAAE;EACnC,IAAI,UAAU,WAAW,MACvB,MAAM,IAAI,MAAM,uEAAuE;CAE3F,OAAO,IAAI,GAAG,SAAS,OAAO;EAC5B,MAAM,SAAS,QAAQ,WAAW,EAAE;EACpC,IAAI,UAAU,WAAW,MACvB,MAAM,IAAI,MAAM,uEAAuE;CAE3F,OAAO,IAAI,GAAG,SAAS,UAAU,CAEjC,OACE,cAAA,YAAY,EAAE;AAElB;;AAGA,SAAS,yBAAyB,WAA+C;CAC/E,QAAQ,UAAU,MAAlB;EACE,KAAK,UACH,OAAO,UAAU,KAAK,SAAS,QAAQ,UAAU,KAAK,MAAM,WAAW;EACzE,KAAK;GAEH,IAAI,UAAU,WAAW,WAAW,GAAG,OAAO;GAC9C,OAAO,UAAU,OAAO,QACpB,UAAU,WAAW,KAAK,wBAAwB,IAClD,UAAU,WAAW,MAAM,wBAAwB;EACzD,KAAK,UACH,OAAO,CAAC,UAAU,UAAU,qBAAqB,UAAU,QAAQ;EACrE,KAAK,OACH,OAAO;EACT,SACE,OAAOA,cAAAA,YAAY,SAAS;CAChC;AACF"}
@@ -0,0 +1,24 @@
1
+ import { ParsedFindQuery } from "./QueryParser.cjs";
2
+ import { ColumnCondition, ParsedExpressionCondition, ParsedExpressionFilter, RawCondition } from "../parsedConditions.cjs";
3
+ //#region src/queries/find/QueryVisitor.d.ts
4
+ /** A generic visitor over the simple & complex conditions of a query. */
5
+ interface Visitor {
6
+ visitExp?(c: ParsedExpressionFilter): ParsedExpressionFilter | void;
7
+ visitRaw?(c: RawCondition): RawCondition | ParsedExpressionFilter | void;
8
+ visitCond(c: ColumnCondition): ColumnCondition | ParsedExpressionFilter | RawCondition | null | void;
9
+ }
10
+ /**
11
+ * Visits the nested conditions within `query`.
12
+ *
13
+ * If the visitors return a new condition or expression, the returned expression
14
+ * will replace the original one at that location in the expression.
15
+ *
16
+ * If the visitor returns null, the condition or expression will be removed from the tree.
17
+ */
18
+ declare function visitConditions(query: ParsedFindQuery, visitor: Visitor): void;
19
+ /** Returns whether a parsed query contains a condition tree that cannot match any database row. */
20
+ declare function isQueryProvablyEmpty(query: ParsedFindQuery): boolean;
21
+ declare function visitFilter(pc: ParsedExpressionCondition, visitor: Visitor): void;
22
+ //#endregion
23
+ export { isQueryProvablyEmpty, visitConditions, visitFilter };
24
+ //# sourceMappingURL=QueryVisitor.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryVisitor.d.cts","names":[],"sources":["../../../src/queries/find/QueryVisitor.ts"],"mappings":";;;;UAUU;EACR,UAAU,GAAG,yBAAyB;EACtC,UAAU,GAAG,eAAe,eAAe;EAC3C,UAAU,GAAG,kBAAkB,kBAAkB,yBAAyB;;;;;;;;;;iBAW5D,gBAAgB,OAAO,iBAAiB,SAAS;;iBAmBjD,qBAAqB,OAAO;iBAe5B,YAAY,IAAI,2BAA2B,SAAS"}
@@ -0,0 +1,24 @@
1
+ import { ParsedFindQuery } from "./QueryParser.mjs";
2
+ import { ColumnCondition, ParsedExpressionCondition, ParsedExpressionFilter, RawCondition } from "../parsedConditions.mjs";
3
+ //#region src/queries/find/QueryVisitor.d.ts
4
+ /** A generic visitor over the simple & complex conditions of a query. */
5
+ interface Visitor {
6
+ visitExp?(c: ParsedExpressionFilter): ParsedExpressionFilter | void;
7
+ visitRaw?(c: RawCondition): RawCondition | ParsedExpressionFilter | void;
8
+ visitCond(c: ColumnCondition): ColumnCondition | ParsedExpressionFilter | RawCondition | null | void;
9
+ }
10
+ /**
11
+ * Visits the nested conditions within `query`.
12
+ *
13
+ * If the visitors return a new condition or expression, the returned expression
14
+ * will replace the original one at that location in the expression.
15
+ *
16
+ * If the visitor returns null, the condition or expression will be removed from the tree.
17
+ */
18
+ declare function visitConditions(query: ParsedFindQuery, visitor: Visitor): void;
19
+ /** Returns whether a parsed query contains a condition tree that cannot match any database row. */
20
+ declare function isQueryProvablyEmpty(query: ParsedFindQuery): boolean;
21
+ declare function visitFilter(pc: ParsedExpressionCondition, visitor: Visitor): void;
22
+ //#endregion
23
+ export { isQueryProvablyEmpty, visitConditions, visitFilter };
24
+ //# sourceMappingURL=QueryVisitor.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryVisitor.d.mts","names":[],"sources":["../../../src/queries/find/QueryVisitor.ts"],"mappings":";;;;UAUU;EACR,UAAU,GAAG,yBAAyB;EACtC,UAAU,GAAG,eAAe,eAAe;EAC3C,UAAU,GAAG,kBAAkB,kBAAkB,yBAAyB;;;;;;;;;;iBAW5D,gBAAgB,OAAO,iBAAiB,SAAS;;iBAmBjD,qBAAqB,OAAO;iBAe5B,YAAY,IAAI,2BAA2B,SAAS"}
@@ -0,0 +1,74 @@
1
+ import { assertNever } from "../../utils.js";
2
+ //#region src/queries/find/QueryVisitor.ts
3
+ /**
4
+ * Visits the nested conditions within `query`.
5
+ *
6
+ * If the visitors return a new condition or expression, the returned expression
7
+ * will replace the original one at that location in the expression.
8
+ *
9
+ * If the visitor returns null, the condition or expression will be removed from the tree.
10
+ */
11
+ function visitConditions(query, visitor) {
12
+ const todo = [query];
13
+ while (todo.length > 0) {
14
+ const query = todo.pop();
15
+ if (query.condition) visitFilter(query.condition, visitor);
16
+ for (const table of query.tables) if (table.join === "lateral") todo.push(table.query);
17
+ if (query.condition) visitExistsSubqueries(query.condition, todo);
18
+ }
19
+ }
20
+ /** Returns whether a parsed query contains a condition tree that cannot match any database row. */
21
+ function isQueryProvablyEmpty(query) {
22
+ return query.condition ? isConditionProvablyFalse(query.condition) : false;
23
+ }
24
+ /** Finds ExistsCondition nodes in a condition tree and pushes their subqueries onto the todo list. */
25
+ function visitExistsSubqueries(condition, todo) {
26
+ if (condition.kind === "exp") for (const c of condition.conditions) visitExistsSubqueries(c, todo);
27
+ else if (condition.kind === "exists") todo.push(condition.subquery);
28
+ }
29
+ function visitFilter(pc, visitor) {
30
+ if (pc.kind === "exp") {
31
+ const toRemove = /* @__PURE__ */ new Set();
32
+ pc.conditions.forEach((c, i) => {
33
+ if (c.kind === "column") {
34
+ const result = visitor.visitCond(c);
35
+ if (result === null) toRemove.add(i);
36
+ else if (result) pc.conditions[i] = result;
37
+ } else if (c.kind === "exp") {
38
+ const result = visitor.visitExp?.(c);
39
+ if (result === null) {
40
+ toRemove.add(i);
41
+ return;
42
+ } else if (result) pc.conditions[i] = result;
43
+ visitFilter(result ?? c, visitor);
44
+ } else if (c.kind === "raw") {
45
+ const result = visitor.visitRaw?.(c);
46
+ if (result === null) toRemove.add(i);
47
+ else if (result) pc.conditions[i] = result;
48
+ } else if (c.kind === "exists") {} else assertNever(c);
49
+ });
50
+ if (toRemove.size > 0) pc.conditions = pc.conditions.filter((_, i) => !toRemove.has(i));
51
+ } else if (pc.kind === "column") {
52
+ const result = visitor.visitCond(pc);
53
+ if (result || result === null) throw new Error("ParsedExpressionCondition overload not support mutating the condition");
54
+ } else if (pc.kind === "raw") {
55
+ const result = visitor.visitRaw?.(pc);
56
+ if (result || result === null) throw new Error("ParsedExpressionCondition overload not support mutating the condition");
57
+ } else if (pc.kind === "exists") {} else assertNever(pc);
58
+ }
59
+ /** Evaluates only conditions whose false result can be proven without querying the database. */
60
+ function isConditionProvablyFalse(condition) {
61
+ switch (condition.kind) {
62
+ case "column": return condition.cond.kind === "in" && condition.cond.value.length === 0;
63
+ case "exp":
64
+ if (condition.conditions.length === 0) return false;
65
+ return condition.op === "and" ? condition.conditions.some(isConditionProvablyFalse) : condition.conditions.every(isConditionProvablyFalse);
66
+ case "exists": return !condition.negate && isQueryProvablyEmpty(condition.subquery);
67
+ case "raw": return false;
68
+ default: return assertNever(condition);
69
+ }
70
+ }
71
+ //#endregion
72
+ export { isQueryProvablyEmpty, visitConditions, visitFilter };
73
+
74
+ //# sourceMappingURL=QueryVisitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryVisitor.js","names":[],"sources":["../../../src/queries/find/QueryVisitor.ts"],"sourcesContent":["import type { ParsedFindQuery } from \"src/queries/find/QueryParser.ts\";\nimport type {\n ColumnCondition,\n ParsedExpressionCondition,\n ParsedExpressionFilter,\n RawCondition,\n} from \"src/queries/parsedConditions.ts\";\nimport { assertNever } from \"src/utils.ts\";\n\n/** A generic visitor over the simple & complex conditions of a query. */\ninterface Visitor {\n visitExp?(c: ParsedExpressionFilter): ParsedExpressionFilter | void;\n visitRaw?(c: RawCondition): RawCondition | ParsedExpressionFilter | void;\n visitCond(c: ColumnCondition): ColumnCondition | ParsedExpressionFilter | RawCondition | null | void;\n}\n\n/**\n * Visits the nested conditions within `query`.\n *\n * If the visitors return a new condition or expression, the returned expression\n * will replace the original one at that location in the expression.\n *\n * If the visitor returns null, the condition or expression will be removed from the tree.\n */\nexport function visitConditions(query: ParsedFindQuery, visitor: Visitor): void {\n const todo = [query];\n while (todo.length > 0) {\n const query = todo.pop()!;\n if (query.condition) visitFilter(query.condition, visitor);\n // Recurse into lateral subqueries (used by batching/preloading, not EXISTS rewrite)\n for (const table of query.tables) {\n if (table.join === \"lateral\") {\n todo.push(table.query);\n }\n }\n // Recurse into EXISTS subqueries so batching visitors can rewrite conditions inside them\n if (query.condition) {\n visitExistsSubqueries(query.condition, todo);\n }\n }\n}\n\n/** Returns whether a parsed query contains a condition tree that cannot match any database row. */\nexport function isQueryProvablyEmpty(query: ParsedFindQuery): boolean {\n return query.condition ? isConditionProvablyFalse(query.condition) : false;\n}\n\n/** Finds ExistsCondition nodes in a condition tree and pushes their subqueries onto the todo list. */\nfunction visitExistsSubqueries(condition: ParsedExpressionCondition, todo: ParsedFindQuery[]): void {\n if (condition.kind === \"exp\") {\n for (const c of condition.conditions) {\n visitExistsSubqueries(c, todo);\n }\n } else if (condition.kind === \"exists\") {\n todo.push(condition.subquery);\n }\n}\n\nexport function visitFilter(pc: ParsedExpressionCondition, visitor: Visitor) {\n if (pc.kind === \"exp\") {\n const toRemove = new Set<number>();\n pc.conditions.forEach((c, i) => {\n if (c.kind === \"column\") {\n const result = visitor.visitCond(c);\n if (result === null) {\n toRemove.add(i);\n } else if (result) {\n pc.conditions[i] = result;\n }\n } else if (c.kind === \"exp\") {\n const result = visitor.visitExp?.(c);\n if (result === null) {\n toRemove.add(i);\n return;\n } else if (result) {\n pc.conditions[i] = result;\n }\n visitFilter(result ?? c, visitor);\n } else if (c.kind === \"raw\") {\n const result = visitor.visitRaw?.(c);\n if (result === null) {\n toRemove.add(i);\n } else if (result) {\n pc.conditions[i] = result;\n }\n } else if (c.kind === \"exists\") {\n // EXISTS conditions are visited via visitExistsSubqueries, not inline\n } else {\n assertNever(c);\n }\n });\n // do this after visiting the children, so we can do it in one pass and don't mess up the indices\n if (toRemove.size > 0) pc.conditions = pc.conditions.filter((_, i) => !toRemove.has(i));\n } else if (pc.kind === \"column\") {\n const result = visitor.visitCond(pc);\n if (result || result === null) {\n throw new Error(\"ParsedExpressionCondition overload not support mutating the condition\");\n }\n } else if (pc.kind === \"raw\") {\n const result = visitor.visitRaw?.(pc);\n if (result || result === null) {\n throw new Error(\"ParsedExpressionCondition overload not support mutating the condition\");\n }\n } else if (pc.kind === \"exists\") {\n // EXISTS conditions are handled at the query level\n } else {\n assertNever(pc);\n }\n}\n\n/** Evaluates only conditions whose false result can be proven without querying the database. */\nfunction isConditionProvablyFalse(condition: ParsedExpressionCondition): boolean {\n switch (condition.kind) {\n case \"column\":\n return condition.cond.kind === \"in\" && condition.cond.value.length === 0;\n case \"exp\":\n // Pruning can leave an empty group, which buildWhereClause drops as no predicate instead of rendering as FALSE.\n if (condition.conditions.length === 0) return false;\n return condition.op === \"and\"\n ? condition.conditions.some(isConditionProvablyFalse)\n : condition.conditions.every(isConditionProvablyFalse);\n case \"exists\":\n return !condition.negate && isQueryProvablyEmpty(condition.subquery);\n case \"raw\":\n return false;\n default:\n return assertNever(condition);\n }\n}\n"],"mappings":";;;;;;;;;;AAwBA,SAAgB,gBAAgB,OAAwB,SAAwB;CAC9E,MAAM,OAAO,CAAC,KAAK;CACnB,OAAO,KAAK,SAAS,GAAG;EACtB,MAAM,QAAQ,KAAK,IAAI;EACvB,IAAI,MAAM,WAAW,YAAY,MAAM,WAAW,OAAO;EAEzD,KAAK,MAAM,SAAS,MAAM,QACxB,IAAI,MAAM,SAAS,WACjB,KAAK,KAAK,MAAM,KAAK;EAIzB,IAAI,MAAM,WACR,sBAAsB,MAAM,WAAW,IAAI;CAE/C;AACF;;AAGA,SAAgB,qBAAqB,OAAiC;CACpE,OAAO,MAAM,YAAY,yBAAyB,MAAM,SAAS,IAAI;AACvE;;AAGA,SAAS,sBAAsB,WAAsC,MAA+B;CAClG,IAAI,UAAU,SAAS,OACrB,KAAK,MAAM,KAAK,UAAU,YACxB,sBAAsB,GAAG,IAAI;MAE1B,IAAI,UAAU,SAAS,UAC5B,KAAK,KAAK,UAAU,QAAQ;AAEhC;AAEA,SAAgB,YAAY,IAA+B,SAAkB;CAC3E,IAAI,GAAG,SAAS,OAAO;EACrB,MAAM,2BAAW,IAAI,IAAY;EACjC,GAAG,WAAW,SAAS,GAAG,MAAM;GAC9B,IAAI,EAAE,SAAS,UAAU;IACvB,MAAM,SAAS,QAAQ,UAAU,CAAC;IAClC,IAAI,WAAW,MACb,SAAS,IAAI,CAAC;SACT,IAAI,QACT,GAAG,WAAW,KAAK;GAEvB,OAAO,IAAI,EAAE,SAAS,OAAO;IAC3B,MAAM,SAAS,QAAQ,WAAW,CAAC;IACnC,IAAI,WAAW,MAAM;KACnB,SAAS,IAAI,CAAC;KACd;IACF,OAAO,IAAI,QACT,GAAG,WAAW,KAAK;IAErB,YAAY,UAAU,GAAG,OAAO;GAClC,OAAO,IAAI,EAAE,SAAS,OAAO;IAC3B,MAAM,SAAS,QAAQ,WAAW,CAAC;IACnC,IAAI,WAAW,MACb,SAAS,IAAI,CAAC;SACT,IAAI,QACT,GAAG,WAAW,KAAK;GAEvB,OAAO,IAAI,EAAE,SAAS,UAAU,CAEhC,OACE,YAAY,CAAC;EAEjB,CAAC;EAED,IAAI,SAAS,OAAO,GAAG,GAAG,aAAa,GAAG,WAAW,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;CACxF,OAAO,IAAI,GAAG,SAAS,UAAU;EAC/B,MAAM,SAAS,QAAQ,UAAU,EAAE;EACnC,IAAI,UAAU,WAAW,MACvB,MAAM,IAAI,MAAM,uEAAuE;CAE3F,OAAO,IAAI,GAAG,SAAS,OAAO;EAC5B,MAAM,SAAS,QAAQ,WAAW,EAAE;EACpC,IAAI,UAAU,WAAW,MACvB,MAAM,IAAI,MAAM,uEAAuE;CAE3F,OAAO,IAAI,GAAG,SAAS,UAAU,CAEjC,OACE,YAAY,EAAE;AAElB;;AAGA,SAAS,yBAAyB,WAA+C;CAC/E,QAAQ,UAAU,MAAlB;EACE,KAAK,UACH,OAAO,UAAU,KAAK,SAAS,QAAQ,UAAU,KAAK,MAAM,WAAW;EACzE,KAAK;GAEH,IAAI,UAAU,WAAW,WAAW,GAAG,OAAO;GAC9C,OAAO,UAAU,OAAO,QACpB,UAAU,WAAW,KAAK,wBAAwB,IAClD,UAAU,WAAW,MAAM,wBAAwB;EACzD,KAAK,UACH,OAAO,CAAC,UAAU,UAAU,qBAAqB,UAAU,QAAQ;EACrE,KAAK,OACH,OAAO;EACT,SACE,OAAO,YAAY,SAAS;CAChC;AACF"}