joist-core 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +176 -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 +167 -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
@@ -1 +1 @@
1
- {"version":3,"file":"JsonAggregatePreloader.js","sourceRoot":"","sources":["../../src/preloading/JsonAggregatePreloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonAggregatePreloader.js","names":[],"sources":["../../src/preloading/JsonAggregatePreloader.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport { getEmInternalApi } from \"src/EntityManager.ts\";\nimport { type EntityMetadata, type ManyToManyEnumField, getMetadata, getMetadataForField } from \"src/EntityMetadata.ts\";\nimport type { ManyToManyLike } from \"src/flush/JoinRows.ts\";\nimport { keyToNumber, keyToTaggedId } from \"src/keys.ts\";\nimport type { EntityOrId, HintNode } from \"src/loading/HintTree.ts\";\nimport type { LoadHint, NestedLoadHint } from \"src/loading/loadHints.ts\";\nimport { type JoinResult, type PreloadHydrator, type PreloadPlugin } from \"src/plugins/PreloadPlugin.ts\";\nimport { canPreload } from \"src/preloading/canPreload.ts\";\nimport { partitionHint } from \"src/preloading/partitionHint.ts\";\nimport { ConditionBuilder } from \"src/queries/ConditionBuilder.ts\";\nimport {\n type JoinTable,\n type LateralJoinTable,\n type ParsedFindQuery,\n getTables,\n} from \"src/queries/find/QueryParser.ts\";\nimport { AliasAssigner } from \"src/queries/sql/AliasAssigner.ts\";\nimport { kq, kqDot } from \"src/queries/sql/keywords.ts\";\nimport { type RowData } from \"src/RowData.ts\";\nimport { fail } from \"src/utils.ts\";\n\n/**\n * A PreloadPlugin implementation that uses `CROSS LATERAL JOIN` and `json_aggregate`\n * to preload/reduce a subtree of data while still being a single row of data.\n */\nexport class JsonAggregatePreloader implements PreloadPlugin {\n partitionHint(\n meta: EntityMetadata | undefined,\n hint: LoadHint<any>,\n ): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined] {\n return partitionHint(meta, hint);\n }\n\n addPreloading<T extends Entity>(\n meta: EntityMetadata,\n root: HintNode<T>,\n query: ParsedFindQuery,\n ): PreloadHydrator | undefined {\n const assigner = new AliasAssigner(query);\n\n // Get the existing primary alias\n const alias = getTables(query)[0].alias;\n const joins = calcLateralJoins(assigner, { tree: root, alias, meta }, root, alias, meta);\n // If there are no sql-based preload in the hints, just return\n if (joins.length === 0) return undefined;\n\n // Include the aggregate `_b1._ as _prequel`, `_c._ as _randomComment`\n for (const { alias, relationAlias, join } of joins) {\n query.selects.push({\n sql: `${kqDot(alias, \"_\")} as ${kq(relationAlias)}`,\n aliases: [alias],\n bindings: [],\n });\n query.tables.push(join);\n }\n\n return (rows, entities) => {\n for (let i = 0; i < entities.length; i++) {\n const parent = entities[i];\n for (const { relationAlias, hydrator } of joins) {\n hydrator(parent, parent, readRowValue(rows, i, relationAlias) ?? []);\n }\n }\n };\n }\n\n getPreloadJoins<T extends Entity>(meta: EntityMetadata, root: HintNode<T>, query: ParsedFindQuery): JoinResult[] {\n const assigner = new AliasAssigner(query);\n\n // Get the existing primary alias\n const alias = getTables(query)[0].alias;\n const joins = calcLateralJoins(assigner, { tree: root, alias, meta }, root, alias, meta);\n // If there are no sql-based preload in the hints, just return\n\n // Adapt our json aggregate joins to the higher-level JoinResult\n return joins.map((join) => {\n return {\n selects: [{ value: kqDot(join.alias, \"_\"), as: join.relationAlias }],\n join: join.join,\n hydrator: (rows, entities) => {\n for (let i = 0; i < entities.length; i++) {\n const parent = entities[i];\n join.hydrator(parent, parent, readRowValue(rows, i, join.relationAlias) ?? []);\n }\n },\n };\n });\n }\n}\n\n/** Decodes an array-of-arrays of children entries, and stores them the `parent`'s relation. */\ntype AggregateJsonHydrator = (root: Entity, parent: Entity, arrays: unknown[][]) => void;\n\n/**\n * For a given hint tree `hint`, finds all SQL-able relations and preloads them.\n *\n * Specifically we use `json_agg` & `json_build_array` to `CROSS LATERAL JOIN`\n * children/grand children back as arbitrarily-deeply nested arrays, and then\n * stash the results in the `EntityManager` `joinLoadedRelations` cache, which\n * each join-instrumented relation will check before making its SQL calls.\n *\n * https://sqlfum.pt/?n=60&indent=2&spaces=1&simplify=1&align=0&case=lower&sql=c2VsZWN0IGEuaWQsIGIuXyBhcyBiLCBjMS5fIGFzIGMxLCBhMS5fIGFzIGExIGZyb20gYXV0aG9ycyBhIGNyb3NzIGpvaW4gbGF0ZXJhbCAoIHNlbGVjdCBqc29uX2FnZyhqc29uX2J1aWxkX2FycmF5KGIuaWQsIGIudGl0bGUsIGIuIm9yZGVyIiwgYi5kZWxldGVkX2F0LCBiLmNyZWF0ZWRfYXQsIGIudXBkYXRlZF9hdCwgYi5hdXRob3JfaWQsIGJyLl8pKSBhcyBfIGZyb20gYm9va3MgYiBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShici5pZCwgYnIucmF0aW5nLCBici5pc19wdWJsaWMsIGJyLmlzX3Rlc3QsIGJyLmNyZWF0ZWRfYXQsIGJyLnVwZGF0ZWRfYXQsIGJyLmJvb2tfaWQsIGMuXykpIGFzIF8gZnJvbSBib29rX3Jldmlld3MgYnIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYy5pZCwgYy50ZXh0LCBjLmNyZWF0ZWRfYXQsIGMudXBkYXRlZF9hdCwgYy51c2VyX2lkLCBjLnBhcmVudF9hdXRob3JfaWQsIGMucGFyZW50X2Jvb2tfaWQsIGMucGFyZW50X2Jvb2tfcmV2aWV3X2lkLCBjLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYyB3aGVyZSBjLnBhcmVudF9ib29rX3Jldmlld19pZCA9IGJyLmlkICkgYyB3aGVyZSBici5ib29rX2lkID0gYi5pZCApIGJyIHdoZXJlIGIuYXV0aG9yX2lkID0gYS5pZCApIGIgY3Jvc3Mgam9pbiBsYXRlcmFsICggc2VsZWN0IGpzb25fYWdnKGpzb25fYnVpbGRfYXJyYXkoYzEuaWQsIGMxLnRleHQsIGMxLmNyZWF0ZWRfYXQsIGMxLnVwZGF0ZWRfYXQsIGMxLnVzZXJfaWQsIGMxLnBhcmVudF9hdXRob3JfaWQsIGMxLnBhcmVudF9ib29rX2lkLCBjMS5wYXJlbnRfYm9va19yZXZpZXdfaWQsIGMxLnBhcmVudF9wdWJsaXNoZXJfaWQpKSBhcyBfIGZyb20gY29tbWVudHMgYzEgd2hlcmUgYzEucGFyZW50X2F1dGhvcl9pZCA9IGEuaWQgKSBjMSBjcm9zcyBqb2luIGxhdGVyYWwgKCBzZWxlY3QganNvbl9hZ2coanNvbl9idWlsZF9hcnJheShhMS5pZCwgYTEuZmlyc3RfbmFtZSwgYTEubGFzdF9uYW1lLCBhMS5zc24sIGExLmluaXRpYWxzLCBhMS5udW1iZXJfb2ZfYm9va3MsIGExLmJvb2tfY29tbWVudHMsIGExLmlzX3BvcHVsYXIsIGExLmFnZSwgYTEuZ3JhZHVhdGVkLCBhMS5uaWNrX25hbWVzLCBhMS53YXNfZXZlcl9wb3B1bGFyLCBhMS5hZGRyZXNzLCBhMS5idXNpbmVzc19hZGRyZXNzLCBhMS5xdW90ZXMsIGExLm51bWJlcl9vZl9hdG9tcywgYTEuZGVsZXRlZF9hdCwgYTEubnVtYmVyX29mX3B1YmxpY19yZXZpZXdzLCBhMS4ibnVtYmVyT2ZQdWJsaWNSZXZpZXdzMiIsIGExLnRhZ3Nfb2ZfYWxsX2Jvb2tzLCBhMS5jcmVhdGVkX2F0LCBhMS51cGRhdGVkX2F0LCBhMS5mYXZvcml0ZV9zaGFwZSwgYTEuZmF2b3JpdGVfY29sb3JzLCBhMS5tZW50b3JfaWQsIGExLmN1cnJlbnRfZHJhZnRfYm9va19pZCwgYTEuZmF2b3JpdGVfYm9va19pZCwgYTEucHVibGlzaGVyX2lkKSkgYXMgXyBmcm9tIGF1dGhvcnMgYTEgd2hlcmUgYTEuaWQgPSBhLm1lbnRvcl9pZCApIGExIHdoZXJlIGEuaWQgPSAxOw%3D%3D\n */\n\n/**\n * Given a `parent` like Author, and a hint of `{ books: ..., comments: ... }`, create `CROSS JOIN LATERAL`s\n * that will pull in the `books` & `comments` children.\n */\nfunction calcLateralJoins<I extends EntityOrId>(\n assigner: AliasAssigner,\n root: { tree: HintNode<I>; alias: string; meta: EntityMetadata },\n tree: HintNode<I>,\n parentAlias: string,\n parentMeta: EntityMetadata,\n pathPrefix: string = \"\",\n): AggregateJoinResult[] {\n const results: AggregateJoinResult[] = [];\n\n // Join in SQL-able hints from parent\n Object.entries(tree.hints).forEach(([key, subTree]) => {\n const field = parentMeta.allFields[key];\n // AsyncProperties don't have fields, which is fine, skip for now...\n if (field && canPreload(parentMeta, field)) {\n // Enum m2ms have no \"other\" entity to join/hydrate; just aggregate the join table's enum ids.\n if (field.kind === \"m2mEnum\") {\n results.push(calcEnumLateralJoin(assigner, root, subTree, parentAlias, field, key, pathPrefix));\n return;\n }\n const otherMeta = field.otherMetadata();\n const otherField = otherMeta.allFields[field.otherFieldName];\n\n // Short table alias for column refs inside the subquery, e.g. `_b1`\n const otherAlias = `_${assigner.getAlias(otherMeta.tableName)}`;\n // Readable path-based column alias for the outer AS clause, e.g. `_books_reviews`\n const pathKey = key.toLowerCase();\n const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${pathKey}`)}`;\n\n // Do the recursion up-front, so we can work it into our own join/hydrator\n const subJoins = calcLateralJoins(assigner, root, subTree, otherAlias, otherMeta, `${pathPrefix}${pathKey}_`);\n\n // Get all fields with serdes and flatten out the columns, skipping `lazy` columns (fetched on-demand)\n const columns = Object.values(otherMeta.allFields)\n .filter((f) => f.serde && !(f.kind === \"primitive\" && f.lazy))\n .flatMap((f) => f.serde!.columns);\n const selects = [\n ...columns.map((c) => kqDot(otherAlias, c.columnName)),\n // We eventually need to handle parent types/subtypes here...\n // Combine any grandchilden\n ...subJoins.map((sb) => kqDot(sb.alias, \"_\")),\n ];\n\n const aliasMaybeSuffix = kq(`${parentAlias}${field.aliasSuffix}`);\n\n const cb = new ConditionBuilder();\n let m2mTable: JoinTable | undefined;\n let m2mAlias: string | undefined;\n if (otherField.kind === \"m2o\") {\n cb.addRawCondition({\n aliases: [otherAlias, parentAlias],\n condition: `${kqDot(otherAlias, otherField.serde.columns[0].columnName)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"poly\") {\n // Get the component that points to us\n // const comp = otherField.components.find((c) => getAllMetas(parentMeta).some((m) => m.cstr === c.otherMetadata().cstr)) ??\n const comp =\n otherField.components.find((c) => parentMeta.cstr === c.otherMetadata().cstr) ??\n fail(`No component found for ${field.fieldName} -> ${otherField.fieldName}`);\n cb.addRawCondition({\n aliases: [otherAlias, parentAlias],\n condition: `${kqDot(otherAlias, comp.columnName)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"o2m\" || otherField.kind === \"lo2m\") {\n cb.addRawCondition({\n aliases: [otherAlias, aliasMaybeSuffix],\n condition: `${kqDot(otherAlias, \"id\")} = ${aliasMaybeSuffix}.${kq(field.serde!.columns[0].columnName)}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"o2o\") {\n cb.addRawCondition({\n aliases: [otherAlias, aliasMaybeSuffix],\n condition: `${kqDot(otherAlias, \"id\")} = ${aliasMaybeSuffix}.${kq(field.serde!.columns[0].columnName)}`,\n pruneable: true,\n });\n } else if (otherField.kind === \"m2m\") {\n m2mAlias = assigner.getAlias(otherField.joinTableName);\n // Get the m2m row's id to track in JoinRows; id-less tables have no surrogate id.\n if (otherField.hasJoinTableId) selects.unshift(kqDot(m2mAlias, \"id\"));\n m2mTable = {\n join: \"inner\",\n table: otherField.joinTableName,\n alias: m2mAlias,\n col1: kqDot(parentAlias, \"id\"),\n col2: kqDot(m2mAlias, otherField.columnNames[1]),\n };\n cb.addRawCondition({\n aliases: [m2mAlias, otherAlias],\n condition: `${kqDot(m2mAlias, otherField.columnNames[0])} = ${kqDot(otherAlias, \"id\")}`,\n pruneable: true,\n });\n } else {\n throw new Error(`Unsupported otherField.kind ${otherField.kind}`);\n }\n\n const needsSubSelect = subTree.entities.size !== root.tree.entities.size;\n if (needsSubSelect) {\n cb.addRawCondition({\n aliases: [root.alias],\n condition: `${kqDot(root.alias, \"id\")} = ANY(?)`,\n bindings: [\n [...subTree.entities]\n .filter((e) => typeof e === \"string\" || !e.isNewEntity)\n .map((e) => keyToNumber(root.meta, typeof e === \"string\" ? e : e.id)),\n ],\n pruneable: true,\n });\n }\n\n // For m2m, order by the join-row's id so preloaded results match the order the lazy batch\n // loader returns (which orders by join-row id). Id-less join tables have no surrogate id,\n // so order by the other entity's FK column (matching the lazy loader & getOthers). Otherwise,\n // order by the target entity's id.\n const orderBy =\n otherField.kind === \"m2m\" && !otherField.hasJoinTableId\n ? `${kq(m2mAlias!)}.${kq(otherField.columnNames[0])}`\n : `${kq(m2mAlias ?? otherAlias)}.id`;\n\n const join: LateralJoinTable = {\n join: \"lateral\",\n alias: otherAlias,\n // Do we need to say which alias we're coming from, to avoid having it pruned?\n // ...maybe not because preloading is always on the primary table?\n fromAlias: \"unset\",\n table: otherMeta.tableName,\n query: {\n selects: [`json_agg(json_build_array(${selects.join(\", \")}) order by ${orderBy}) as _`],\n tables: [\n { join: \"primary\", table: otherMeta.tableName, alias: otherAlias },\n ...(m2mTable ? [m2mTable] : []),\n ...subJoins.map((sj) => sj.join),\n ],\n condition: cb.toExpressionFilter(),\n orderBys: [],\n },\n };\n\n // Pre-compute column names so we don't re-read them per entity\n const columnNames = columns.map((c) => c.columnName);\n // If we've snuck the m2m row id into the json array, ignore it (id-less tables have no id)\n const m2mOffset = field.kind === \"m2m\" && field.hasJoinTableId ? 1 : 0;\n\n const hydrator: AggregateJsonHydrator = (root, parent, arrays) => {\n const { em } = root;\n\n // If we had overlapping load hints, i.e. `author.books` for [a1, a2] and `author.comments` for [a1], and\n // we're processing the arrays of comments, but for a root author like `a2` that didn't ask for our load\n // hint, then skip it to keep the relation unloaded.\n if (subTree.entitiesKind === \"instances\" && !subTree.entities.has(root as any)) return;\n if (subTree.entitiesKind === \"ids\" && !subTree.entities.has(root.idTagged as any)) return;\n\n // We get back an array of [[1, title], [2, title], [3, title]]\n const children = arrays.map((array) => {\n const taggedId = keyToTaggedId(otherMeta, array[m2mOffset] as any)!;\n const row: Record<string, any> = {};\n for (let i = 0; i < columns.length; i++) {\n row[columnNames[i]] = columns[i].mapFromJsonAgg(array[m2mOffset + i]);\n }\n const entity =\n em.findExistingInstance<Entity>(taggedId) ??\n (em.hydrate(otherMeta.cstr, [row], { overwriteExisting: false }) as Entity[])[0];\n // Tell the internal JoinRow booking-keeping about this m2m row\n if (field.kind === \"m2m\") {\n // TODO This `addExisting` needs to be pulled up, out of the `arrays.map`, so we can do a `loadRows`-ish\n // call that passes all now-known m2m rows into JoinRows as a single list, so that it can mark any\n // deleted-from-under-us m2m rows as deleted.\n const m2m = (parent as any)[key];\n getEmInternalApi(em)\n .joinRows(m2m)\n .addPreloadedRow(m2m, field.hasJoinTableId ? (array[0] as any) : undefined, parent, entity);\n }\n // Within each child, look for grandchildren\n subJoins.forEach((sub, i) => {\n // array[i] could be null if there are no grandchildren, but still call `sub` to\n // process it so that we store the empty array into the em.joinLoadedRelations, to\n // avoid the relation.load method later doing a SQL for rows we know are not there.\n sub.hydrator(root, entity, (array[m2mOffset + columns.length + i] as any) ?? []);\n });\n return entity;\n });\n // Cache the entities so `.load`s will see them\n getEmInternalApi(em).setPreloadedRelation(parent.idTagged, key, children);\n };\n\n results.push({ alias: otherAlias, relationAlias, join, hydrator });\n }\n });\n\n return results;\n}\n\n/**\n * Builds the `CROSS JOIN LATERAL` that aggregates an enum-m2m join table (e.g. `publisher_logo_colors`)\n * into a json array of enum ids, e.g. `[[1], [3]]` (or `[[1, id], [3, id]]` for id-ful join tables).\n */\nfunction calcEnumLateralJoin<I extends EntityOrId>(\n assigner: AliasAssigner,\n root: { tree: HintNode<I>; alias: string; meta: EntityMetadata },\n subTree: HintNode<I>,\n parentAlias: string,\n field: ManyToManyEnumField,\n key: string,\n pathPrefix: string,\n): AggregateJoinResult {\n const [entityColumn, enumColumn] = field.columnNames;\n const jtAlias = `_${assigner.getAlias(field.joinTableName)}`;\n const relationAlias = `_${assigner.getLiteralAlias(`${pathPrefix}${key.toLowerCase()}`)}`;\n\n const parts = [kqDot(jtAlias, enumColumn)];\n if (field.hasJoinTableId) parts.push(kqDot(jtAlias, \"id\"));\n\n const cb = new ConditionBuilder();\n cb.addRawCondition({\n aliases: [jtAlias, parentAlias],\n condition: `${kqDot(jtAlias, entityColumn)} = ${kqDot(parentAlias, \"id\")}`,\n pruneable: true,\n });\n\n const needsSubSelect = subTree.entities.size !== root.tree.entities.size;\n if (needsSubSelect) {\n cb.addRawCondition({\n aliases: [root.alias],\n condition: `${kqDot(root.alias, \"id\")} = ANY(?)`,\n bindings: [\n [...subTree.entities]\n .filter((e) => typeof e === \"string\" || !e.isNewEntity)\n .map((e) => keyToNumber(root.meta, typeof e === \"string\" ? e : e.id)),\n ],\n pruneable: true,\n });\n }\n\n const orderBy = `${kq(jtAlias)}.${kq(field.hasJoinTableId ? \"id\" : enumColumn)}`;\n const join: LateralJoinTable = {\n join: \"lateral\",\n alias: jtAlias,\n fromAlias: \"unset\",\n table: field.joinTableName,\n query: {\n selects: [`json_agg(json_build_array(${parts.join(\", \")}) order by ${orderBy}) as _`],\n tables: [{ join: \"primary\", table: field.joinTableName, alias: jtAlias }],\n condition: cb.toExpressionFilter(),\n orderBys: [],\n },\n };\n\n const hydrator: AggregateJsonHydrator = (root, parent, arrays) => {\n const { em } = root;\n if (subTree.entitiesKind === \"instances\" && !subTree.entities.has(root as any)) return;\n if (subTree.entitiesKind === \"ids\" && !subTree.entities.has(root.idTagged as any)) return;\n const like: ManyToManyLike = {\n entity: parent,\n joinTableName: field.joinTableName,\n columnName: entityColumn,\n otherColumnName: enumColumn,\n fieldName: key,\n meta: getMetadataForField(getMetadata(parent), key),\n otherEnum: field.enumDetailType,\n hasJoinTableId: field.hasJoinTableId,\n };\n const api = getEmInternalApi(em);\n const joinRows = api.joinRows(like);\n const codes: any[] = [];\n for (const array of arrays) {\n const enumId = array[0] as number;\n joinRows.addPreloadedRow(like, field.hasJoinTableId ? (array[1] as number) : undefined, parent, enumId);\n codes.push(field.enumDetailType.findById(enumId)!.code);\n }\n api.setPreloadedRelation(parent.idTagged, key, codes);\n };\n\n return { alias: jtAlias, relationAlias, join, hydrator };\n}\n\n/** A preload-loadable join for a given child, with potentially grand-child joins contained within it. */\ntype AggregateJoinResult = {\n /** The short table alias used for column references inside the subquery, e.g. `_b1`. */\n alias: string;\n /** The readable relation-name alias used in the outer `AS` clause, e.g. `_prequel`. */\n relationAlias: string;\n /** The SQL for this child's lateral join, which itself might have recursive lateral joins. */\n join: LateralJoinTable;\n /** The hydrator for this child's lateral join, which itself might recursively hydrator subjoins. */\n hydrator: AggregateJsonHydrator;\n};\n\n/** Reads one column from either classic POJO rows or a lazy `RowData` result. */\nfunction readRowValue(rows: any[] | RowData, rowIndex: number, columnName: string): any {\n return Array.isArray(rows) ? rows[rowIndex][columnName] : rows.get(rowIndex, columnName);\n}\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../EntityMetadata.cjs");
3
+ //#region src/preloading/canPreload.ts
4
+ function canPreload(meta, field) {
5
+ if (field.kind === "m2mEnum") return true;
6
+ if (field.kind === "o2m" || field.kind === "o2o" || field.kind === "m2o" || field.kind === "m2m") {
7
+ const otherMeta = field.otherMetadata();
8
+ if (!!otherMeta.baseType || otherMeta.subTypes.length > 0) return false;
9
+ const otherField = otherMeta.allFields[field.otherFieldName];
10
+ if (!otherField) return false;
11
+ if (otherField.kind === "poly" && !otherField.components.some((c) => c.otherMetadata() === meta)) return false;
12
+ return true;
13
+ }
14
+ return false;
15
+ }
16
+ //#endregion
17
+ exports.canPreload = canPreload;
18
+
19
+ //# sourceMappingURL=canPreload.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canPreload.cjs","names":[],"sources":["../../src/preloading/canPreload.ts"],"sourcesContent":["import {\n type EntityMetadata,\n type Field,\n type ManyToManyEnumField,\n type ManyToManyField,\n type ManyToOneField,\n type OneToManyField,\n type OneToOneField,\n} from \"src/EntityMetadata.ts\";\n\nexport function canPreload(\n meta: EntityMetadata,\n field: Field,\n): field is OneToManyField | ManyToOneField | ManyToManyField | ManyToManyEnumField | OneToOneField {\n // Enum m2ms have no \"other\" entity table (the join target is an enum), so they're always preloadable.\n if (field.kind === \"m2mEnum\") return true;\n if (field.kind === \"o2m\" || field.kind === \"o2o\" || field.kind === \"m2o\" || field.kind === \"m2m\") {\n const otherMeta = field.otherMetadata();\n // We don't support preloading tables with inheritance yet\n if (!!otherMeta.baseType || otherMeta.subTypes.length > 0) return false;\n // If `otherField` is missing, this could be a large collection which currently can't be loaded...\n const otherField = otherMeta.allFields[field.otherFieldName];\n if (!otherField) return false;\n // If otherField is a poly that points to a sub/base component, we don't support that yet\n if (otherField.kind === \"poly\" && !otherField.components.some((c) => c.otherMetadata() === meta)) return false;\n return true;\n }\n return false;\n}\n"],"mappings":";;;AAUA,SAAgB,WACd,MACA,OACkG;CAElG,IAAI,MAAM,SAAS,WAAW,OAAO;CACrC,IAAI,MAAM,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS,OAAO;EAChG,MAAM,YAAY,MAAM,cAAc;EAEtC,IAAI,CAAC,CAAC,UAAU,YAAY,UAAU,SAAS,SAAS,GAAG,OAAO;EAElE,MAAM,aAAa,UAAU,UAAU,MAAM;EAC7C,IAAI,CAAC,YAAY,OAAO;EAExB,IAAI,WAAW,SAAS,UAAU,CAAC,WAAW,WAAW,MAAM,MAAM,EAAE,cAAc,MAAM,IAAI,GAAG,OAAO;EACzG,OAAO;CACT;CACA,OAAO;AACT"}
@@ -0,0 +1,6 @@
1
+ import { EntityMetadata, Field, ManyToManyEnumField, ManyToManyField, ManyToOneField, OneToManyField, OneToOneField } from "../EntityMetadata.cjs";
2
+ //#region src/preloading/canPreload.d.ts
3
+ declare function canPreload(meta: EntityMetadata, field: Field): field is OneToManyField | ManyToOneField | ManyToManyField | ManyToManyEnumField | OneToOneField;
4
+ //#endregion
5
+ export { canPreload };
6
+ //# sourceMappingURL=canPreload.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canPreload.d.cts","names":[],"sources":["../../src/preloading/canPreload.ts"],"mappings":";;iBAUgB,WACd,MAAM,gBACN,OAAO,QACN,SAAS,iBAAiB,iBAAiB,kBAAkB,sBAAsB"}
@@ -0,0 +1,6 @@
1
+ import { EntityMetadata, Field, ManyToManyEnumField, ManyToManyField, ManyToOneField, OneToManyField, OneToOneField } from "../EntityMetadata.mjs";
2
+ //#region src/preloading/canPreload.d.ts
3
+ declare function canPreload(meta: EntityMetadata, field: Field): field is OneToManyField | ManyToOneField | ManyToManyField | ManyToManyEnumField | OneToOneField;
4
+ //#endregion
5
+ export { canPreload };
6
+ //# sourceMappingURL=canPreload.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canPreload.d.mts","names":[],"sources":["../../src/preloading/canPreload.ts"],"mappings":";;iBAUgB,WACd,MAAM,gBACN,OAAO,QACN,SAAS,iBAAiB,iBAAiB,kBAAkB,sBAAsB"}
@@ -1,24 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.canPreload = canPreload;
1
+ import "../EntityMetadata.js";
2
+ //#region src/preloading/canPreload.ts
4
3
  function canPreload(meta, field) {
5
- // Enum m2ms have no "other" entity table (the join target is an enum), so they're always preloadable.
6
- if (field.kind === "m2mEnum")
7
- return true;
8
- if (field.kind === "o2m" || field.kind === "o2o" || field.kind === "m2o" || field.kind === "m2m") {
9
- const otherMeta = field.otherMetadata();
10
- // We don't support preloading tables with inheritance yet
11
- if (!!otherMeta.baseType || otherMeta.subTypes.length > 0)
12
- return false;
13
- // If `otherField` is missing, this could be a large collection which currently can't be loaded...
14
- const otherField = otherMeta.allFields[field.otherFieldName];
15
- if (!otherField)
16
- return false;
17
- // If otherField is a poly that points to a sub/base component, we don't support that yet
18
- if (otherField.kind === "poly" && !otherField.components.some((c) => c.otherMetadata() === meta))
19
- return false;
20
- return true;
21
- }
22
- return false;
4
+ if (field.kind === "m2mEnum") return true;
5
+ if (field.kind === "o2m" || field.kind === "o2o" || field.kind === "m2o" || field.kind === "m2m") {
6
+ const otherMeta = field.otherMetadata();
7
+ if (!!otherMeta.baseType || otherMeta.subTypes.length > 0) return false;
8
+ const otherField = otherMeta.allFields[field.otherFieldName];
9
+ if (!otherField) return false;
10
+ if (otherField.kind === "poly" && !otherField.components.some((c) => c.otherMetadata() === meta)) return false;
11
+ return true;
12
+ }
13
+ return false;
23
14
  }
15
+ //#endregion
16
+ export { canPreload };
17
+
24
18
  //# sourceMappingURL=canPreload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canPreload.js","sourceRoot":"","sources":["../../src/preloading/canPreload.ts"],"names":[],"mappings":";;AAUA,gCAkBC;AAlBD,SAAgB,UAAU,CACxB,IAAoB,EACpB,KAAY;IAEZ,sGAAsG;IACtG,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACjG,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,0DAA0D;QAC1D,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,kGAAkG;QAClG,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,yFAAyF;QACzF,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"canPreload.js","names":[],"sources":["../../src/preloading/canPreload.ts"],"sourcesContent":["import {\n type EntityMetadata,\n type Field,\n type ManyToManyEnumField,\n type ManyToManyField,\n type ManyToOneField,\n type OneToManyField,\n type OneToOneField,\n} from \"src/EntityMetadata.ts\";\n\nexport function canPreload(\n meta: EntityMetadata,\n field: Field,\n): field is OneToManyField | ManyToOneField | ManyToManyField | ManyToManyEnumField | OneToOneField {\n // Enum m2ms have no \"other\" entity table (the join target is an enum), so they're always preloadable.\n if (field.kind === \"m2mEnum\") return true;\n if (field.kind === \"o2m\" || field.kind === \"o2o\" || field.kind === \"m2o\" || field.kind === \"m2m\") {\n const otherMeta = field.otherMetadata();\n // We don't support preloading tables with inheritance yet\n if (!!otherMeta.baseType || otherMeta.subTypes.length > 0) return false;\n // If `otherField` is missing, this could be a large collection which currently can't be loaded...\n const otherField = otherMeta.allFields[field.otherFieldName];\n if (!otherField) return false;\n // If otherField is a poly that points to a sub/base component, we don't support that yet\n if (otherField.kind === \"poly\" && !otherField.components.some((c) => c.otherMetadata() === meta)) return false;\n return true;\n }\n return false;\n}\n"],"mappings":";;AAUA,SAAgB,WACd,MACA,OACkG;CAElG,IAAI,MAAM,SAAS,WAAW,OAAO;CACrC,IAAI,MAAM,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS,OAAO;EAChG,MAAM,YAAY,MAAM,cAAc;EAEtC,IAAI,CAAC,CAAC,UAAU,YAAY,UAAU,SAAS,SAAS,GAAG,OAAO;EAElE,MAAM,aAAa,UAAU,UAAU,MAAM;EAC7C,IAAI,CAAC,YAAY,OAAO;EAExB,IAAI,WAAW,SAAS,UAAU,CAAC,WAAW,WAAW,MAAM,MAAM,EAAE,cAAc,MAAM,IAAI,GAAG,OAAO;EACzG,OAAO;CACT;CACA,OAAO;AACT"}
@@ -0,0 +1,43 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_normalizeHints = require("../normalizeHints.cjs");
3
+ const require_relations_ReactiveReference = require("../relations/ReactiveReference.cjs");
4
+ require("../relations/index.cjs");
5
+ const require_getProperties = require("../getProperties.cjs");
6
+ require("../EntityMetadata.cjs");
7
+ const require_preloading_canPreload = require("./canPreload.cjs");
8
+ //#region src/preloading/partitionHint.ts
9
+ /** Partitions a hint into SQL-able and non-SQL-able hints. */
10
+ function partitionHint(meta, hint) {
11
+ let sql = void 0;
12
+ let non = void 0;
13
+ for (const [key, subHint] of Object.entries(require_normalizeHints.normalizeHint(hint))) {
14
+ const field = meta?.allFields[key];
15
+ if (field && require_preloading_canPreload.canPreload(meta, field)) {
16
+ if (field.kind === "m2mEnum") (sql ??= {})[key] ??= {};
17
+ else {
18
+ const [_sql, _non] = partitionHint(field.otherMetadata(), subHint);
19
+ deepMerge((sql ??= {})[key] ??= {}, _sql ?? {});
20
+ if (_non) deepMerge((non ??= {})[key] ??= {}, _non);
21
+ }
22
+ } else {
23
+ const p = meta && require_getProperties.getProperties(meta)[key];
24
+ if (p && p.loadHint) {
25
+ if (p instanceof require_relations_ReactiveReference.ReactiveReferenceImpl) {
26
+ const [_sql, _non] = partitionHint(p.otherMeta, subHint);
27
+ deepMerge((sql ??= {})[key] ??= {}, _sql ?? {});
28
+ if (_non) deepMerge((non ??= {})[key] ??= {}, _non);
29
+ continue;
30
+ }
31
+ }
32
+ deepMerge((non ??= {})[key] ??= {}, require_normalizeHints.deepNormalizeHint(subHint));
33
+ }
34
+ }
35
+ return [sql, non];
36
+ }
37
+ function deepMerge(a, b) {
38
+ for (const [key, value] of Object.entries(b)) deepMerge(a[key] ??= {}, value);
39
+ }
40
+ //#endregion
41
+ exports.partitionHint = partitionHint;
42
+
43
+ //# sourceMappingURL=partitionHint.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitionHint.cjs","names":["normalizeHint","canPreload","getProperties","ReactiveReferenceImpl","deepNormalizeHint"],"sources":["../../src/preloading/partitionHint.ts"],"sourcesContent":["import { type EntityMetadata } from \"src/EntityMetadata.ts\";\nimport { getProperties } from \"src/getProperties.ts\";\nimport type { LoadHint, NestedLoadHint } from \"src/loading/loadHints.ts\";\nimport { deepNormalizeHint, normalizeHint } from \"src/normalizeHints.ts\";\nimport { canPreload } from \"src/preloading/canPreload.ts\";\nimport { ReactiveReferenceImpl } from \"src/relations/index.ts\";\n\n/** Partitions a hint into SQL-able and non-SQL-able hints. */\nexport function partitionHint(\n meta: EntityMetadata | undefined,\n hint: LoadHint<any>,\n): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined] {\n let sql: NestedLoadHint<any> | undefined = undefined;\n let non: NestedLoadHint<any> | undefined = undefined;\n for (const [key, subHint] of Object.entries(normalizeHint(hint))) {\n const field = meta?.allFields[key];\n if (field && canPreload(meta!, field)) {\n if (field.kind === \"m2mEnum\") {\n // Enum m2ms are a leaf relation (enum codes have no sub-hint to recurse into).\n (sql ??= {})[key] ??= {};\n } else {\n const [_sql, _non] = partitionHint(field.otherMetadata(), subHint);\n deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});\n if (_non) deepMerge(((non ??= {})[key] ??= {}), _non);\n }\n } else {\n // If this isn't a raw SQL relation, but it exposes a load-hint, inline that into our SQL.\n // This will get the non-SQL relation's underlying SQL data preloaded.\n const p = meta && getProperties(meta)[key];\n if (p && p.loadHint) {\n // Maybe we could have `PersistedAsyncReferenceImpl` internally/dynamically return us the right\n // load hint, instead of special casing it like this? Like it could internally check \"needs calc?\"\n if (p instanceof ReactiveReferenceImpl) {\n // Instead of using p.loadHint, we'll just follow the FK in the database and go to the subHint\n const [_sql, _non] = partitionHint(p.otherMeta, subHint);\n deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});\n if (_non) deepMerge(((non ??= {})[key] ??= {}), _non);\n continue;\n } else {\n // It's not clear what to do with the subHint here, if anything--ideally it could stitch\n // on top of load hint but only in the places that made sense. But we'd risk over-fetching.\n // ...also we don't want to preload ReactiveField full hint vs. just using their\n // calculated values.\n // const [_sql, _non] = partitionHint(meta, p.loadHint);\n // if (_sql) deepMerge((sql ??= {}), _sql);\n // if (_non) deepMerge((non ??= {}), _non);\n }\n }\n // Even if we did some SQL preloads, the subHint needs to go through the non-sql path.\n deepMerge(((non ??= {})[key] ??= {}), deepNormalizeHint(subHint));\n }\n }\n return [sql, non];\n}\n\nfunction deepMerge<T extends object>(a: T, b: T): void {\n for (const [key, value] of Object.entries(b)) {\n deepMerge(((a as any)[key] ??= {}), value);\n }\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,cACd,MACA,MACoE;CACpE,IAAI,MAAuC,KAAA;CAC3C,IAAI,MAAuC,KAAA;CAC3C,KAAK,MAAM,CAAC,KAAK,YAAY,OAAO,QAAQA,uBAAAA,cAAc,IAAI,CAAC,GAAG;EAChE,MAAM,QAAQ,MAAM,UAAU;EAC9B,IAAI,SAASC,8BAAAA,WAAW,MAAO,KAAK,GAAG;GACrC,IAAI,MAAM,SAAS,WAEjB,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC;QAClB;IACL,MAAM,CAAC,MAAM,QAAQ,cAAc,MAAM,cAAc,GAAG,OAAO;IACjE,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,IAAI;GACtD;EACF,OAAO;GAGL,MAAM,IAAI,QAAQC,sBAAAA,cAAc,IAAI,CAAC,CAAC;GACtC,IAAI,KAAK,EAAE,UAGL;QAAA,aAAaC,oCAAAA,uBAAuB;KAEtC,MAAM,CAAC,MAAM,QAAQ,cAAc,EAAE,WAAW,OAAO;KACvD,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,QAAQ,CAAC,CAAC;KAChD,IAAI,MAAM,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,IAAI;KACpD;IACF;;GAWF,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAIC,uBAAAA,kBAAkB,OAAO,CAAC;EAClE;CACF;CACA,OAAO,CAAC,KAAK,GAAG;AAClB;AAEA,SAAS,UAA4B,GAAM,GAAY;CACrD,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,CAAC,GACzC,UAAW,EAAW,SAAS,CAAC,GAAI,KAAK;AAE7C"}
@@ -0,0 +1,8 @@
1
+ import { LoadHint, NestedLoadHint } from "../loading/loadHints.cjs";
2
+ import { EntityMetadata } from "../EntityMetadata.cjs";
3
+ //#region src/preloading/partitionHint.d.ts
4
+ /** Partitions a hint into SQL-able and non-SQL-able hints. */
5
+ declare function partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
6
+ //#endregion
7
+ export { partitionHint };
8
+ //# sourceMappingURL=partitionHint.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitionHint.d.cts","names":[],"sources":["../../src/preloading/partitionHint.ts"],"mappings":";;;;iBAQgB,cACd,MAAM,4BACN,MAAM,iBACJ,iCAAiC"}
@@ -0,0 +1,8 @@
1
+ import { LoadHint, NestedLoadHint } from "../loading/loadHints.mjs";
2
+ import { EntityMetadata } from "../EntityMetadata.mjs";
3
+ //#region src/preloading/partitionHint.d.ts
4
+ /** Partitions a hint into SQL-able and non-SQL-able hints. */
5
+ declare function partitionHint(meta: EntityMetadata | undefined, hint: LoadHint<any>): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined];
6
+ //#endregion
7
+ export { partitionHint };
8
+ //# sourceMappingURL=partitionHint.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitionHint.d.mts","names":[],"sources":["../../src/preloading/partitionHint.ts"],"mappings":";;;;iBAQgB,cACd,MAAM,4BACN,MAAM,iBACJ,iCAAiC"}
@@ -1,62 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.partitionHint = partitionHint;
4
- const getProperties_1 = require("../getProperties");
5
- const normalizeHints_1 = require("../normalizeHints");
6
- const relations_1 = require("../relations");
7
- const canPreload_1 = require("./canPreload");
1
+ import { deepNormalizeHint, normalizeHint } from "../normalizeHints.js";
2
+ import { ReactiveReferenceImpl } from "../relations/ReactiveReference.js";
3
+ import "../relations/index.js";
4
+ import { getProperties } from "../getProperties.js";
5
+ import "../EntityMetadata.js";
6
+ import { canPreload } from "./canPreload.js";
7
+ //#region src/preloading/partitionHint.ts
8
8
  /** Partitions a hint into SQL-able and non-SQL-able hints. */
9
9
  function partitionHint(meta, hint) {
10
- let sql = undefined;
11
- let non = undefined;
12
- for (const [key, subHint] of Object.entries((0, normalizeHints_1.normalizeHint)(hint))) {
13
- const field = meta?.allFields[key];
14
- if (field && (0, canPreload_1.canPreload)(meta, field)) {
15
- if (field.kind === "m2mEnum") {
16
- // Enum m2ms are a leaf relation (enum codes have no sub-hint to recurse into).
17
- (sql ??= {})[key] ??= {};
18
- }
19
- else {
20
- const [_sql, _non] = partitionHint(field.otherMetadata(), subHint);
21
- deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});
22
- if (_non)
23
- deepMerge(((non ??= {})[key] ??= {}), _non);
24
- }
25
- }
26
- else {
27
- // If this isn't a raw SQL relation, but it exposes a load-hint, inline that into our SQL.
28
- // This will get the non-SQL relation's underlying SQL data preloaded.
29
- const p = meta && (0, getProperties_1.getProperties)(meta)[key];
30
- if (p && p.loadHint) {
31
- // Maybe we could have `PersistedAsyncReferenceImpl` internally/dynamically return us the right
32
- // load hint, instead of special casing it like this? Like it could internally check "needs calc?"
33
- if (p instanceof relations_1.ReactiveReferenceImpl) {
34
- // Instead of using p.loadHint, we'll just follow the FK in the database and go to the subHint
35
- const [_sql, _non] = partitionHint(p.otherMeta, subHint);
36
- deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});
37
- if (_non)
38
- deepMerge(((non ??= {})[key] ??= {}), _non);
39
- continue;
40
- }
41
- else {
42
- // It's not clear what to do with the subHint here, if anything--ideally it could stitch
43
- // on top of load hint but only in the places that made sense. But we'd risk over-fetching.
44
- // ...also we don't want to preload ReactiveField full hint vs. just using their
45
- // calculated values.
46
- // const [_sql, _non] = partitionHint(meta, p.loadHint);
47
- // if (_sql) deepMerge((sql ??= {}), _sql);
48
- // if (_non) deepMerge((non ??= {}), _non);
49
- }
50
- }
51
- // Even if we did some SQL preloads, the subHint needs to go through the non-sql path.
52
- deepMerge(((non ??= {})[key] ??= {}), (0, normalizeHints_1.deepNormalizeHint)(subHint));
53
- }
54
- }
55
- return [sql, non];
10
+ let sql = void 0;
11
+ let non = void 0;
12
+ for (const [key, subHint] of Object.entries(normalizeHint(hint))) {
13
+ const field = meta?.allFields[key];
14
+ if (field && canPreload(meta, field)) {
15
+ if (field.kind === "m2mEnum") (sql ??= {})[key] ??= {};
16
+ else {
17
+ const [_sql, _non] = partitionHint(field.otherMetadata(), subHint);
18
+ deepMerge((sql ??= {})[key] ??= {}, _sql ?? {});
19
+ if (_non) deepMerge((non ??= {})[key] ??= {}, _non);
20
+ }
21
+ } else {
22
+ const p = meta && getProperties(meta)[key];
23
+ if (p && p.loadHint) {
24
+ if (p instanceof ReactiveReferenceImpl) {
25
+ const [_sql, _non] = partitionHint(p.otherMeta, subHint);
26
+ deepMerge((sql ??= {})[key] ??= {}, _sql ?? {});
27
+ if (_non) deepMerge((non ??= {})[key] ??= {}, _non);
28
+ continue;
29
+ }
30
+ }
31
+ deepMerge((non ??= {})[key] ??= {}, deepNormalizeHint(subHint));
32
+ }
33
+ }
34
+ return [sql, non];
56
35
  }
57
36
  function deepMerge(a, b) {
58
- for (const [key, value] of Object.entries(b)) {
59
- deepMerge((a[key] ??= {}), value);
60
- }
37
+ for (const [key, value] of Object.entries(b)) deepMerge(a[key] ??= {}, value);
61
38
  }
39
+ //#endregion
40
+ export { partitionHint };
41
+
62
42
  //# sourceMappingURL=partitionHint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"partitionHint.js","sourceRoot":"","sources":["../../src/preloading/partitionHint.ts"],"names":[],"mappings":";;AAQA,sCA6CC;AApDD,oDAAiD;AAEjD,sDAAqE;AACrE,4CAAqD;AACrD,6CAA0C;AAE1C,8DAA8D;AAC9D,SAAgB,aAAa,CAC3B,IAAgC,EAChC,IAAmB;IAEnB,IAAI,GAAG,GAAoC,SAAS,CAAC;IACrD,IAAI,GAAG,GAAoC,SAAS,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,IAAA,uBAAU,EAAC,IAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,+EAA+E;gBAC/E,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;gBACnE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,IAAI,IAAI;oBAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0FAA0F;YAC1F,sEAAsE;YACtE,MAAM,CAAC,GAAG,IAAI,IAAI,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpB,+FAA+F;gBAC/F,kGAAkG;gBAClG,IAAI,CAAC,YAAY,iCAAqB,EAAE,CAAC;oBACvC,8FAA8F;oBAC9F,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBACzD,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;oBAClD,IAAI,IAAI;wBAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBACtD,SAAS;gBACX,CAAC;qBAAM,CAAC;oBACN,wFAAwF;oBACxF,2FAA2F;oBAC3F,gFAAgF;oBAChF,qBAAqB;oBACrB,wDAAwD;oBACxD,2CAA2C;oBAC3C,2CAA2C;gBAC7C,CAAC;YACH,CAAC;YACD,sFAAsF;YACtF,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAAmB,CAAI,EAAE,CAAI;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,SAAS,CAAC,CAAE,CAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"partitionHint.js","names":[],"sources":["../../src/preloading/partitionHint.ts"],"sourcesContent":["import { type EntityMetadata } from \"src/EntityMetadata.ts\";\nimport { getProperties } from \"src/getProperties.ts\";\nimport type { LoadHint, NestedLoadHint } from \"src/loading/loadHints.ts\";\nimport { deepNormalizeHint, normalizeHint } from \"src/normalizeHints.ts\";\nimport { canPreload } from \"src/preloading/canPreload.ts\";\nimport { ReactiveReferenceImpl } from \"src/relations/index.ts\";\n\n/** Partitions a hint into SQL-able and non-SQL-able hints. */\nexport function partitionHint(\n meta: EntityMetadata | undefined,\n hint: LoadHint<any>,\n): [NestedLoadHint<any> | undefined, NestedLoadHint<any> | undefined] {\n let sql: NestedLoadHint<any> | undefined = undefined;\n let non: NestedLoadHint<any> | undefined = undefined;\n for (const [key, subHint] of Object.entries(normalizeHint(hint))) {\n const field = meta?.allFields[key];\n if (field && canPreload(meta!, field)) {\n if (field.kind === \"m2mEnum\") {\n // Enum m2ms are a leaf relation (enum codes have no sub-hint to recurse into).\n (sql ??= {})[key] ??= {};\n } else {\n const [_sql, _non] = partitionHint(field.otherMetadata(), subHint);\n deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});\n if (_non) deepMerge(((non ??= {})[key] ??= {}), _non);\n }\n } else {\n // If this isn't a raw SQL relation, but it exposes a load-hint, inline that into our SQL.\n // This will get the non-SQL relation's underlying SQL data preloaded.\n const p = meta && getProperties(meta)[key];\n if (p && p.loadHint) {\n // Maybe we could have `PersistedAsyncReferenceImpl` internally/dynamically return us the right\n // load hint, instead of special casing it like this? Like it could internally check \"needs calc?\"\n if (p instanceof ReactiveReferenceImpl) {\n // Instead of using p.loadHint, we'll just follow the FK in the database and go to the subHint\n const [_sql, _non] = partitionHint(p.otherMeta, subHint);\n deepMerge(((sql ??= {})[key] ??= {}), _sql ?? {});\n if (_non) deepMerge(((non ??= {})[key] ??= {}), _non);\n continue;\n } else {\n // It's not clear what to do with the subHint here, if anything--ideally it could stitch\n // on top of load hint but only in the places that made sense. But we'd risk over-fetching.\n // ...also we don't want to preload ReactiveField full hint vs. just using their\n // calculated values.\n // const [_sql, _non] = partitionHint(meta, p.loadHint);\n // if (_sql) deepMerge((sql ??= {}), _sql);\n // if (_non) deepMerge((non ??= {}), _non);\n }\n }\n // Even if we did some SQL preloads, the subHint needs to go through the non-sql path.\n deepMerge(((non ??= {})[key] ??= {}), deepNormalizeHint(subHint));\n }\n }\n return [sql, non];\n}\n\nfunction deepMerge<T extends object>(a: T, b: T): void {\n for (const [key, value] of Object.entries(b)) {\n deepMerge(((a as any)[key] ??= {}), value);\n }\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,cACd,MACA,MACoE;CACpE,IAAI,MAAuC,KAAA;CAC3C,IAAI,MAAuC,KAAA;CAC3C,KAAK,MAAM,CAAC,KAAK,YAAY,OAAO,QAAQ,cAAc,IAAI,CAAC,GAAG;EAChE,MAAM,QAAQ,MAAM,UAAU;EAC9B,IAAI,SAAS,WAAW,MAAO,KAAK,GAAG;GACrC,IAAI,MAAM,SAAS,WAEjB,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC;QAClB;IACL,MAAM,CAAC,MAAM,QAAQ,cAAc,MAAM,cAAc,GAAG,OAAO;IACjE,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,QAAQ,CAAC,CAAC;IAChD,IAAI,MAAM,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,IAAI;GACtD;EACF,OAAO;GAGL,MAAM,IAAI,QAAQ,cAAc,IAAI,CAAC,CAAC;GACtC,IAAI,KAAK,EAAE,UAGL;QAAA,aAAa,uBAAuB;KAEtC,MAAM,CAAC,MAAM,QAAQ,cAAc,EAAE,WAAW,OAAO;KACvD,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,QAAQ,CAAC,CAAC;KAChD,IAAI,MAAM,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,IAAI;KACpD;IACF;;GAWF,UAAW,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,CAAC,GAAI,kBAAkB,OAAO,CAAC;EAClE;CACF;CACA,OAAO,CAAC,KAAK,GAAG;AAClB;AAEA,SAAS,UAA4B,GAAM,GAAY;CACrD,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,CAAC,GACzC,UAAW,EAAW,SAAS,CAAC,GAAI,KAAK;AAE7C"}
@@ -0,0 +1,106 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_queries_skipCondition = require("./skipCondition.cjs");
3
+ const require_queries_valueFilters = require("./valueFilters.cjs");
4
+ const require_utils = require("../utils.cjs");
5
+ const require_EntityManager = require("../EntityManager.cjs");
6
+ //#region src/queries/ConditionBuilder.ts
7
+ /** Converts domain-level values like string ids/enums into their db equivalent. */
8
+ var ConditionBuilder = class {
9
+ /** Simple, single-column conditions, which will be AND-d together. */
10
+ conditions = [];
11
+ /** Complex expressions, which will also be AND-d together with `conditions`. */
12
+ expressions = [];
13
+ /** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
14
+ maybeAddExpression(expression) {
15
+ const parsed = parseExpression(expression);
16
+ if (parsed) this.expressions.push(parsed);
17
+ }
18
+ /** Adds an already-db-level condition to the simple conditions list. */
19
+ addSimpleCondition(condition) {
20
+ this.conditions.push(condition);
21
+ }
22
+ /** Adds an already-db-level condition to the simple conditions list. */
23
+ addRawCondition(condition) {
24
+ this.conditions.push({
25
+ kind: "raw",
26
+ bindings: [],
27
+ ...condition
28
+ });
29
+ }
30
+ /** Adds an already-db-level expression to the expressions list. */
31
+ addParsedExpression(parsed) {
32
+ this.expressions.push(parsed);
33
+ }
34
+ /**
35
+ * Adds a user-facing `ParsedValueFilter` to the inline conditions.
36
+ *
37
+ * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
38
+ */
39
+ addValueFilter(alias, column, filter) {
40
+ if (filter.kind === "in" && filter.value.includes(null)) {
41
+ const isNull = {
42
+ kind: "column",
43
+ alias,
44
+ column: column.columnName,
45
+ dbType: column.dbType,
46
+ cond: { kind: "is-null" }
47
+ };
48
+ const inValues = {
49
+ kind: "column",
50
+ alias,
51
+ column: column.columnName,
52
+ dbType: column.dbType,
53
+ cond: {
54
+ kind: "in",
55
+ value: filter.value.filter((v) => v !== null).map((v) => column.mapToDb(v))
56
+ }
57
+ };
58
+ this.expressions.push({
59
+ kind: "exp",
60
+ op: "or",
61
+ conditions: [isNull, inValues]
62
+ });
63
+ } else {
64
+ const cond = {
65
+ kind: "column",
66
+ alias,
67
+ column: column.columnName,
68
+ dbType: column.dbType,
69
+ cond: require_queries_valueFilters.mapToDb(column, filter)
70
+ };
71
+ this.conditions.push(cond);
72
+ }
73
+ }
74
+ /** Combines our collected `conditions` and `expressions` into a single `ParsedExpressionFilter`. */
75
+ toExpressionFilter() {
76
+ const { expressions, conditions } = this;
77
+ const allSimple = [...conditions];
78
+ if (allSimple.length === 0 && expressions.length === 1) return expressions[0];
79
+ else if (expressions.length === 1 && expressions[0].op === "and") return {
80
+ kind: "exp",
81
+ op: "and",
82
+ conditions: [...allSimple, ...expressions[0].conditions]
83
+ };
84
+ else if (allSimple.length > 0 || expressions.length > 0) return {
85
+ kind: "exp",
86
+ op: "and",
87
+ conditions: [...allSimple, ...expressions]
88
+ };
89
+ }
90
+ };
91
+ /** Parses user-facing `{ and: ... }` or `{ or: ... }` into a `ParsedExpressionFilter`. */
92
+ function parseExpression(expression) {
93
+ const [op, expressions] = "and" in expression && expression.and ? ["and", expression.and] : "or" in expression && expression.or ? ["or", expression.or] : require_utils.fail(`Invalid expression ${expression}`);
94
+ const conditions = expressions.map((exp) => exp && ("and" in exp || "or" in exp) ? parseExpression(exp) : exp);
95
+ const [skip, valid] = require_utils.partition(conditions, (cond) => cond === void 0 || cond === require_queries_skipCondition.skipCondition);
96
+ if (skip.length > 0 && expression.pruneIfUndefined === "any" || valid.length === 0) return;
97
+ return {
98
+ kind: "exp",
99
+ op,
100
+ conditions: valid.filter(require_EntityManager.isDefined)
101
+ };
102
+ }
103
+ //#endregion
104
+ exports.ConditionBuilder = ConditionBuilder;
105
+
106
+ //# sourceMappingURL=ConditionBuilder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionBuilder.cjs","names":["mapToDb","fail","partition","skipCondition","isDefined"],"sources":["../../src/queries/ConditionBuilder.ts"],"sourcesContent":["import { isDefined } from \"src/EntityManager.ts\";\nimport type { ConditionGroup, ConditionInput } from \"src/queries/conditions.ts\";\nimport type {\n ColumnCondition,\n ParsedExpressionCondition,\n ParsedExpressionFilter,\n ParsedValueFilter,\n RawCondition,\n} from \"src/queries/parsedConditions.ts\";\nimport { skipCondition } from \"src/queries/skipCondition.ts\";\nimport { mapToDb } from \"src/queries/valueFilters.ts\";\nimport type { Column } from \"src/serde/columns.ts\";\nimport { fail, partition } from \"src/utils.ts\";\n\ntype PartialSome<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\n/** Converts domain-level values like string ids/enums into their db equivalent. */\nexport class ConditionBuilder {\n /** Simple, single-column conditions, which will be AND-d together. */\n private conditions: (ColumnCondition | RawCondition)[] = [];\n /** Complex expressions, which will also be AND-d together with `conditions`. */\n private expressions: ParsedExpressionFilter[] = [];\n\n /** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */\n maybeAddExpression(expression: ConditionGroup<ConditionInput>): void {\n const parsed = parseExpression(expression);\n if (parsed) this.expressions.push(parsed);\n }\n\n /** Adds an already-db-level condition to the simple conditions list. */\n addSimpleCondition(condition: ColumnCondition): void {\n this.conditions.push(condition);\n }\n\n /** Adds an already-db-level condition to the simple conditions list. */\n addRawCondition(condition: PartialSome<RawCondition, \"kind\" | \"bindings\">): void {\n this.conditions.push({\n kind: \"raw\",\n bindings: [],\n ...condition,\n });\n }\n\n /** Adds an already-db-level expression to the expressions list. */\n addParsedExpression(parsed: ParsedExpressionFilter): void {\n this.expressions.push(parsed);\n }\n\n /**\n * Adds a user-facing `ParsedValueFilter` to the inline conditions.\n *\n * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.\n */\n addValueFilter(alias: string, column: Column, filter: ParsedValueFilter<any>): void {\n if (filter.kind === \"in\" && filter.value.includes(null)) {\n // If the filter contains a null, we need to split it into an `is-null` and `in` condition\n const isNull = {\n kind: \"column\",\n alias,\n column: column.columnName,\n dbType: column.dbType,\n cond: { kind: \"is-null\" },\n } satisfies ColumnCondition;\n const inValues = {\n kind: \"column\",\n alias,\n column: column.columnName,\n dbType: column.dbType,\n cond: {\n kind: \"in\",\n // Filter out the nulls from the in condition\n value: filter.value.filter((v) => v !== null).map((v) => column.mapToDb(v)),\n },\n } satisfies ColumnCondition;\n // Now OR them back together\n this.expressions.push({ kind: \"exp\", op: \"or\", conditions: [isNull, inValues] });\n } else {\n const cond = {\n kind: \"column\",\n alias,\n column: column.columnName,\n dbType: column.dbType,\n // Rewrite the user-facing domain values to db values\n cond: mapToDb(column, filter),\n } satisfies ColumnCondition;\n this.conditions.push(cond);\n }\n }\n\n /** Combines our collected `conditions` and `expressions` into a single `ParsedExpressionFilter`. */\n toExpressionFilter(): ParsedExpressionFilter | undefined {\n const { expressions, conditions } = this;\n const allSimple: ParsedExpressionCondition[] = [...conditions];\n if (allSimple.length === 0 && expressions.length === 1) {\n // If no inline conditions, and just 1 opt expression, just use that\n return expressions[0];\n } else if (expressions.length === 1 && expressions[0].op === \"and\") {\n // Merge the 1 `AND` expression with the other simple conditions\n return { kind: \"exp\", op: \"and\", conditions: [...allSimple, ...expressions[0].conditions] };\n } else if (allSimple.length > 0 || expressions.length > 0) {\n // Combine the conditions within the `em.find` join literal & the `conditions` as ANDs\n return { kind: \"exp\", op: \"and\", conditions: [...allSimple, ...expressions] };\n }\n return undefined;\n }\n}\n\n/** Parses user-facing `{ and: ... }` or `{ or: ... }` into a `ParsedExpressionFilter`. */\nfunction parseExpression(expression: ConditionGroup<ConditionInput>): ParsedExpressionFilter | undefined {\n // Look for `{ and: [...] }` or `{ or: [...] }`\n const [op, expressions] =\n \"and\" in expression && expression.and\n ? [\"and\" as const, expression.and]\n : \"or\" in expression && expression.or\n ? [\"or\" as const, expression.or]\n : fail(`Invalid expression ${expression}`);\n // Potentially recurse into nested expressions\n const conditions = expressions.map((exp) => (exp && (\"and\" in exp || \"or\" in exp) ? parseExpression(exp) : exp));\n const [skip, valid] = partition(conditions, (cond) => cond === undefined || cond === skipCondition);\n if ((skip.length > 0 && expression.pruneIfUndefined === \"any\") || valid.length === 0) {\n return undefined;\n }\n return { kind: \"exp\", op, conditions: valid.filter(isDefined) };\n}\n"],"mappings":";;;;;;;AAiBA,IAAa,mBAAb,MAA8B;;CAE5B,aAAyD,CAAC;;CAE1D,cAAgD,CAAC;;CAGjD,mBAAmB,YAAkD;EACnE,MAAM,SAAS,gBAAgB,UAAU;EACzC,IAAI,QAAQ,KAAK,YAAY,KAAK,MAAM;CAC1C;;CAGA,mBAAmB,WAAkC;EACnD,KAAK,WAAW,KAAK,SAAS;CAChC;;CAGA,gBAAgB,WAAiE;EAC/E,KAAK,WAAW,KAAK;GACnB,MAAM;GACN,UAAU,CAAC;GACX,GAAG;EACL,CAAC;CACH;;CAGA,oBAAoB,QAAsC;EACxD,KAAK,YAAY,KAAK,MAAM;CAC9B;;;;;;CAOA,eAAe,OAAe,QAAgB,QAAsC;EAClF,IAAI,OAAO,SAAS,QAAQ,OAAO,MAAM,SAAS,IAAI,GAAG;GAEvD,MAAM,SAAS;IACb,MAAM;IACN;IACA,QAAQ,OAAO;IACf,QAAQ,OAAO;IACf,MAAM,EAAE,MAAM,UAAU;GAC1B;GACA,MAAM,WAAW;IACf,MAAM;IACN;IACA,QAAQ,OAAO;IACf,QAAQ,OAAO;IACf,MAAM;KACJ,MAAM;KAEN,OAAO,OAAO,MAAM,QAAQ,MAAM,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,OAAO,QAAQ,CAAC,CAAC;IAC5E;GACF;GAEA,KAAK,YAAY,KAAK;IAAE,MAAM;IAAO,IAAI;IAAM,YAAY,CAAC,QAAQ,QAAQ;GAAE,CAAC;EACjF,OAAO;GACL,MAAM,OAAO;IACX,MAAM;IACN;IACA,QAAQ,OAAO;IACf,QAAQ,OAAO;IAEf,MAAMA,6BAAAA,QAAQ,QAAQ,MAAM;GAC9B;GACA,KAAK,WAAW,KAAK,IAAI;EAC3B;CACF;;CAGA,qBAAyD;EACvD,MAAM,EAAE,aAAa,eAAe;EACpC,MAAM,YAAyC,CAAC,GAAG,UAAU;EAC7D,IAAI,UAAU,WAAW,KAAK,YAAY,WAAW,GAEnD,OAAO,YAAY;OACd,IAAI,YAAY,WAAW,KAAK,YAAY,EAAE,CAAC,OAAO,OAE3D,OAAO;GAAE,MAAM;GAAO,IAAI;GAAO,YAAY,CAAC,GAAG,WAAW,GAAG,YAAY,EAAE,CAAC,UAAU;EAAE;OACrF,IAAI,UAAU,SAAS,KAAK,YAAY,SAAS,GAEtD,OAAO;GAAE,MAAM;GAAO,IAAI;GAAO,YAAY,CAAC,GAAG,WAAW,GAAG,WAAW;EAAE;CAGhF;AACF;;AAGA,SAAS,gBAAgB,YAAgF;CAEvG,MAAM,CAAC,IAAI,eACT,SAAS,cAAc,WAAW,MAC9B,CAAC,OAAgB,WAAW,GAAG,IAC/B,QAAQ,cAAc,WAAW,KAC/B,CAAC,MAAe,WAAW,EAAE,IAC7BC,cAAAA,KAAK,sBAAsB,YAAY;CAE/C,MAAM,aAAa,YAAY,KAAK,QAAS,QAAQ,SAAS,OAAO,QAAQ,OAAO,gBAAgB,GAAG,IAAI,GAAI;CAC/G,MAAM,CAAC,MAAM,SAASC,cAAAA,UAAU,aAAa,SAAS,SAAS,KAAA,KAAa,SAASC,8BAAAA,aAAa;CAClG,IAAK,KAAK,SAAS,KAAK,WAAW,qBAAqB,SAAU,MAAM,WAAW,GACjF;CAEF,OAAO;EAAE,MAAM;EAAO;EAAI,YAAY,MAAM,OAAOC,sBAAAA,SAAS;CAAE;AAChE"}
@@ -0,0 +1,31 @@
1
+ import { ColumnCondition, ParsedExpressionFilter, ParsedValueFilter, RawCondition } from "./parsedConditions.cjs";
2
+ import { ConditionGroup, ConditionInput } from "./conditions.cjs";
3
+ import { Column } from "../serde/columns.cjs";
4
+ //#region src/queries/ConditionBuilder.d.ts
5
+ type PartialSome<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
6
+ /** Converts domain-level values like string ids/enums into their db equivalent. */
7
+ declare class ConditionBuilder {
8
+ /** Simple, single-column conditions, which will be AND-d together. */
9
+ private conditions;
10
+ /** Complex expressions, which will also be AND-d together with `conditions`. */
11
+ private expressions;
12
+ /** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
13
+ maybeAddExpression(expression: ConditionGroup<ConditionInput>): void;
14
+ /** Adds an already-db-level condition to the simple conditions list. */
15
+ addSimpleCondition(condition: ColumnCondition): void;
16
+ /** Adds an already-db-level condition to the simple conditions list. */
17
+ addRawCondition(condition: PartialSome<RawCondition, "kind" | "bindings">): void;
18
+ /** Adds an already-db-level expression to the expressions list. */
19
+ addParsedExpression(parsed: ParsedExpressionFilter): void;
20
+ /**
21
+ * Adds a user-facing `ParsedValueFilter` to the inline conditions.
22
+ *
23
+ * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
24
+ */
25
+ addValueFilter(alias: string, column: Column, filter: ParsedValueFilter<any>): void;
26
+ /** Combines our collected `conditions` and `expressions` into a single `ParsedExpressionFilter`. */
27
+ toExpressionFilter(): ParsedExpressionFilter | undefined;
28
+ }
29
+ //#endregion
30
+ export { ConditionBuilder };
31
+ //# sourceMappingURL=ConditionBuilder.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionBuilder.d.cts","names":[],"sources":["../../src/queries/ConditionBuilder.ts"],"mappings":";;;;KAcK,YAAY,GAAG,gBAAgB,KAAK,KAAK,GAAG,KAAK,QAAQ,KAAK,GAAG;;cAGzD;;UAEH;;UAEA;;EAGR,mBAAmB,YAAY,eAAe;;EAM9C,mBAAmB,WAAW;;EAK9B,gBAAgB,WAAW,YAAY;;EASvC,oBAAoB,QAAQ;;;;;;EAS5B,eAAe,eAAe,QAAQ,QAAQ,QAAQ;;EAqCtD,sBAAsB"}
@@ -0,0 +1,31 @@
1
+ import { ColumnCondition, ParsedExpressionFilter, ParsedValueFilter, RawCondition } from "./parsedConditions.mjs";
2
+ import { ConditionGroup, ConditionInput } from "./conditions.mjs";
3
+ import { Column } from "../serde/columns.mjs";
4
+ //#region src/queries/ConditionBuilder.d.ts
5
+ type PartialSome<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
6
+ /** Converts domain-level values like string ids/enums into their db equivalent. */
7
+ declare class ConditionBuilder {
8
+ /** Simple, single-column conditions, which will be AND-d together. */
9
+ private conditions;
10
+ /** Complex expressions, which will also be AND-d together with `conditions`. */
11
+ private expressions;
12
+ /** Accepts a raw user-facing DSL filter, and parses it into a `ParsedExpressionFilter`. */
13
+ maybeAddExpression(expression: ConditionGroup<ConditionInput>): void;
14
+ /** Adds an already-db-level condition to the simple conditions list. */
15
+ addSimpleCondition(condition: ColumnCondition): void;
16
+ /** Adds an already-db-level condition to the simple conditions list. */
17
+ addRawCondition(condition: PartialSome<RawCondition, "kind" | "bindings">): void;
18
+ /** Adds an already-db-level expression to the expressions list. */
19
+ addParsedExpression(parsed: ParsedExpressionFilter): void;
20
+ /**
21
+ * Adds a user-facing `ParsedValueFilter` to the inline conditions.
22
+ *
23
+ * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
24
+ */
25
+ addValueFilter(alias: string, column: Column, filter: ParsedValueFilter<any>): void;
26
+ /** Combines our collected `conditions` and `expressions` into a single `ParsedExpressionFilter`. */
27
+ toExpressionFilter(): ParsedExpressionFilter | undefined;
28
+ }
29
+ //#endregion
30
+ export { ConditionBuilder };
31
+ //# sourceMappingURL=ConditionBuilder.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConditionBuilder.d.mts","names":[],"sources":["../../src/queries/ConditionBuilder.ts"],"mappings":";;;;KAcK,YAAY,GAAG,gBAAgB,KAAK,KAAK,GAAG,KAAK,QAAQ,KAAK,GAAG;;cAGzD;;UAEH;;UAEA;;EAGR,mBAAmB,YAAY,eAAe;;EAM9C,mBAAmB,WAAW;;EAK9B,gBAAgB,WAAW,YAAY;;EASvC,oBAAoB,QAAQ;;;;;;EAS5B,eAAe,eAAe,QAAQ,QAAQ,QAAQ;;EAqCtD,sBAAsB"}