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
@@ -0,0 +1,364 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_relations_AbstractRelationImpl = require("./AbstractRelationImpl.cjs");
3
+ const require_relations_RelationSymbols = require("./RelationSymbols.cjs");
4
+ const require_relations_ReferenceSymbols = require("./ReferenceSymbols.cjs");
5
+ const require_fields = require("../fields.cjs");
6
+ const require_keys = require("../keys.cjs");
7
+ const require_relations_isCascadeDelete = require("./isCascadeDelete.cjs");
8
+ const require_relations_OneToManyCollection = require("./OneToManyCollection.cjs");
9
+ const require_relations_OneToManyLargeCollection = require("./OneToManyLargeCollection.cjs");
10
+ const require_relations_OneToOneReference = require("./OneToOneReference.cjs");
11
+ const require_utils = require("../utils.cjs");
12
+ const require_newEntity = require("../newEntity.cjs");
13
+ const require_EntityMetadata = require("../EntityMetadata.cjs");
14
+ const require_index = require("../index.cjs");
15
+ const require_EntityManager = require("../EntityManager.cjs");
16
+ const require_Entity = require("../Entity.cjs");
17
+ const require_BaseEntity = require("../BaseEntity.cjs");
18
+ //#region src/relations/ManyToOneReference.ts
19
+ /** An alias for creating `ManyToOneReference`s. */
20
+ function hasOne() {
21
+ return require_newEntity.lazyField((entity, fieldName) => {
22
+ const m2o = require_EntityMetadata.getMetadata(entity).allFields[fieldName];
23
+ return new ManyToOneReferenceImpl(entity, m2o);
24
+ });
25
+ }
26
+ /** Type guard utility for determining if an entity field is a ManyToOneReference. */
27
+ function isManyToOneReference(maybeReference) {
28
+ return maybeReference instanceof ManyToOneReferenceImpl;
29
+ }
30
+ /**
31
+ * Manages a foreign key from one entity to another, i.e. `Book.author --> Author`.
32
+ *
33
+ * We keep the current `author` / `author_id` value in the `__orm.data` hash, where the
34
+ * current value could be either the (string) author id from the database, or an entity
35
+ * `Author` that the user has set.
36
+ *
37
+ * Note that if our `images.author_id` column is unique, this `ManyToOneReference` will essentially
38
+ * be half of a one-to-one relationship, but we'll keep using this `ManyToOneReference` on the "many"
39
+ * side, and the other side, i.e. `Author.image` will use a `OneToOneReference` to point back to us.
40
+ */
41
+ var ManyToOneReferenceImpl = class extends require_relations_AbstractRelationImpl.AbstractRelationImpl {
42
+ #field;
43
+ #state;
44
+ #loadPromise;
45
+ #hasBeenSet = false;
46
+ constructor(entity, field) {
47
+ super(entity);
48
+ this.#field = field;
49
+ this.#state = require_BaseEntity.getInstanceData(entity).isOrWasNew ? new M2OLoadedState(this, void 0) : new M2OUnloadedState(this);
50
+ }
51
+ async load(opts = {}) {
52
+ require_index.ensureNotDeleted(this.entity, "pending");
53
+ this.#state = this.#state.maybeInstantLoad();
54
+ if (!this.#state.isLoaded || opts.forceReload) {
55
+ const current = this.current();
56
+ if (require_Entity.isEntity(current) || current === void 0) this.#state = new M2OLoadedState(this, current);
57
+ else await (this.#loadPromise ??= this.entity.em.load(this.otherMeta.cstr, current).then((entity) => {
58
+ this.#loadPromise = void 0;
59
+ if (require_EntityManager.sameEntity(entity, this.current())) this.#state = this.#state.applyLoad(entity);
60
+ }));
61
+ }
62
+ return this.filterDeleted(this.#state.doGet(), opts);
63
+ }
64
+ set(other) {
65
+ this.#setImpl(other);
66
+ }
67
+ get isSet() {
68
+ return this.current() !== void 0;
69
+ }
70
+ get isLoaded() {
71
+ this.#state = this.#state.maybeInstantLoad();
72
+ return this.#state.isLoaded;
73
+ }
74
+ get isPreloaded() {
75
+ return !!this.maybeFindEntity();
76
+ }
77
+ preload() {
78
+ this.#state = new M2OLoadedState(this, this.maybeFindEntity());
79
+ }
80
+ unload() {
81
+ this.#state = new M2OUnloadedState(this);
82
+ this.#loadPromise = void 0;
83
+ }
84
+ /** Copy another em's `source` relation into our state. */
85
+ import(source, findEntity) {
86
+ this.#state = source.#state.import(this, findEntity);
87
+ }
88
+ doGet(opts) {
89
+ require_index.ensureNotDeleted(this.entity, "pending");
90
+ this.#state = this.#state.maybeInstantLoad();
91
+ return this.filterDeleted(this.#state.doGet(), opts);
92
+ }
93
+ get getWithDeleted() {
94
+ return this.doGet({ withDeleted: true });
95
+ }
96
+ get get() {
97
+ return this.doGet({ withDeleted: false });
98
+ }
99
+ /** Returns the id of the current value. */
100
+ get id() {
101
+ return this.idMaybe || failNoId(this.entity, this.fieldName, this.current());
102
+ }
103
+ /** Sets the m2o to `id`, and allows accepting `undefined` (`N`) if this is a nullable relation. */
104
+ set id(id) {
105
+ require_index.ensureNotDeleted(this.entity, "pending");
106
+ const newId = require_keys.toTaggedId(this.otherMeta, id);
107
+ const previousId = this.idTaggedMaybe;
108
+ const previous = this.maybeFindEntity();
109
+ if (!require_fields.setField(this.entity, this.fieldName, id)) return;
110
+ const loaded = newId ? this.entity.em.getEntity(newId) : void 0;
111
+ this.#state = loaded ? new M2OLoadedState(this, loaded) : new M2OUnloadedState(this);
112
+ this.#loadPromise = void 0;
113
+ this.#percolateRemove(previousId, previous);
114
+ this.#percolateAdd();
115
+ }
116
+ get idIfSet() {
117
+ return this.idMaybe || failIfNewEntity(this.entity, this.fieldName, this.current());
118
+ }
119
+ get idUntagged() {
120
+ return this.idUntaggedMaybe || failNoId(this.entity, this.fieldName, this.current());
121
+ }
122
+ get idUntaggedIfSet() {
123
+ return this.idUntaggedMaybe || failIfNewEntity(this.entity, this.fieldName, this.current());
124
+ }
125
+ get idMaybe() {
126
+ require_index.ensureNotDeleted(this.entity, "pending");
127
+ return require_keys.toIdOf(this.otherMeta, this.idTaggedMaybe);
128
+ }
129
+ /** Returns the tagged id of the current value, or undefined if unset or a new entity. */
130
+ get idTaggedMaybe() {
131
+ return require_keys.maybeResolveReferenceToId(this.current());
132
+ }
133
+ get fieldName() {
134
+ return this.#field.fieldName;
135
+ }
136
+ get otherFieldName() {
137
+ return this.#field.otherFieldName;
138
+ }
139
+ get idUntaggedMaybe() {
140
+ return require_keys.deTagId(this.otherMeta, this.idMaybe);
141
+ }
142
+ #setImpl(_other) {
143
+ require_index.ensureNotDeleted(this.entity, "pending");
144
+ this.#hasBeenSet = true;
145
+ const other = require_keys.ensureTagged(this.otherMeta, _other);
146
+ if (require_EntityManager.sameEntity(other, this.current({ withDeleted: true }))) return;
147
+ const previousId = this.idTaggedMaybe;
148
+ const previous = this.maybeFindEntity();
149
+ require_fields.setField(this.entity, this.fieldName, require_Entity.isEntity(other) ? other?.idTaggedMaybe ?? other : other);
150
+ const maybeEntity = require_Entity.isEntity(other) ? other : other ? this.entity.em.getEntity(other) : void 0;
151
+ if (maybeEntity || other === void 0) this.#state = new M2OLoadedState(this, maybeEntity ?? other);
152
+ else this.#state = new M2OUnloadedState(this);
153
+ this.#loadPromise = void 0;
154
+ this.#percolateRemove(previousId, previous);
155
+ this.#percolateAdd();
156
+ }
157
+ setFromOpts(other) {
158
+ this.#setImpl(other);
159
+ }
160
+ maybeCascadeDelete() {
161
+ if (this.isCascadeDelete) {
162
+ const current = this.current({ withDeleted: true });
163
+ if (current !== void 0) {
164
+ if (typeof current === "string") {
165
+ const other = this.entity.em.getEntity(current);
166
+ if (other) this.entity.em.delete(other);
167
+ } else this.entity.em.delete(current);
168
+ }
169
+ }
170
+ }
171
+ async cleanupOnEntityDeleted() {
172
+ if (this.isCascadeDelete) return;
173
+ const current = await this.load({ withDeleted: true });
174
+ if (current !== void 0) {
175
+ const o2m = this.getOtherRelation(current);
176
+ if (o2m instanceof require_relations_OneToManyCollection.OneToManyCollection) o2m.remove(this.entity, { requireLoaded: false });
177
+ else if (o2m instanceof require_relations_OneToManyLargeCollection.OneToManyLargeCollection) o2m.remove(this.entity);
178
+ else if (o2m instanceof require_relations_OneToOneReference.OneToOneReferenceImpl) o2m.set(void 0);
179
+ else throw new Error(`Unhandled ${o2m}`);
180
+ }
181
+ require_fields.setField(this.entity, this.fieldName, void 0);
182
+ this.#state = new M2OLoadedState(this, void 0);
183
+ }
184
+ #percolateRemove(prevId, prevEntity) {
185
+ if (prevEntity) {
186
+ const prevRelation = this.getOtherRelation(prevEntity);
187
+ if (prevRelation instanceof require_relations_OneToManyCollection.OneToManyCollection) prevRelation.removeIfLoaded(this.entity);
188
+ else if (prevRelation instanceof require_relations_OneToManyLargeCollection.OneToManyLargeCollection) prevRelation.remove(this.entity);
189
+ else prevRelation.set(void 0, { percolating: true });
190
+ } else if (prevId) {
191
+ const { em } = this.entity;
192
+ let map = require_EntityManager.getEmInternalApi(em).pendingPercolate.get(prevId);
193
+ if (!map) {
194
+ map = /* @__PURE__ */ new Map();
195
+ require_EntityManager.getEmInternalApi(em).pendingPercolate.set(prevId, map);
196
+ }
197
+ let pending = map.get(this.otherFieldName);
198
+ if (!pending) {
199
+ pending = {
200
+ adds: [],
201
+ removes: []
202
+ };
203
+ map.set(this.otherFieldName, pending);
204
+ }
205
+ require_utils.maybeAdd(pending.removes, this.entity);
206
+ require_utils.maybeRemove(pending.adds, this.entity);
207
+ }
208
+ }
209
+ #percolateAdd() {
210
+ const id = this.current();
211
+ const other = this.maybeFindEntity();
212
+ if (other) {
213
+ const newRelation = this.getOtherRelation(other);
214
+ if (newRelation instanceof require_relations_OneToManyCollection.OneToManyCollection) newRelation.add(this.entity);
215
+ else if (newRelation instanceof require_relations_OneToManyLargeCollection.OneToManyLargeCollection) newRelation.add(this.entity);
216
+ else if (newRelation) newRelation.set(this.entity, { percolating: true });
217
+ } else if (typeof id === "string") {
218
+ const { em } = this.entity;
219
+ let map = require_EntityManager.getEmInternalApi(em).pendingPercolate.get(id);
220
+ if (!map) {
221
+ map = /* @__PURE__ */ new Map();
222
+ require_EntityManager.getEmInternalApi(em).pendingPercolate.set(id, map);
223
+ }
224
+ let pending = map.get(this.otherFieldName);
225
+ if (!pending) {
226
+ pending = {
227
+ adds: [],
228
+ removes: []
229
+ };
230
+ map.set(this.otherFieldName, pending);
231
+ }
232
+ require_utils.maybeAdd(pending.adds, this.entity);
233
+ require_utils.maybeRemove(pending.removes, this.entity);
234
+ }
235
+ }
236
+ current(opts) {
237
+ const current = require_fields.getField(this.entity, this.fieldName);
238
+ if (current !== void 0 && require_Entity.isEntity(current)) return this.filterDeleted(current, opts);
239
+ return current;
240
+ }
241
+ get otherMeta() {
242
+ return this.#field.otherMetadata();
243
+ }
244
+ get hasBeenSet() {
245
+ return this.#hasBeenSet;
246
+ }
247
+ toString() {
248
+ return `ManyToOneReference(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${this.otherMeta.type}, otherFieldName: ${this.otherFieldName}, id: ${this.idMaybe})`;
249
+ }
250
+ /**
251
+ * Removes pending-hard-delete (but not soft-deleted), unless explicitly asked for.
252
+ *
253
+ * Note that we leave soft-deleted entities b/c the call signature of a `book.author.get`
254
+ * very likely does not expect a soft-deleted entity to result in `undefined`.
255
+ *
256
+ * (Contrasted with `author.books.get` which is more intuitive to have soft-deleted
257
+ * entities filtered out, i.e. it doesn't fundamentally change the return type.)
258
+ */
259
+ filterDeleted(entity, opts) {
260
+ if (entity && (!opts || !opts.withDeleted) && entity.isDeletedEntity) return;
261
+ return entity;
262
+ }
263
+ /** Returns the other relation that points back at us, i.e. we're `book.author_id` and this is `Author.books`. */
264
+ getOtherRelation(other) {
265
+ return other[this.otherFieldName];
266
+ }
267
+ get isCascadeDelete() {
268
+ return require_relations_isCascadeDelete.isCascadeDelete(this, this.fieldName);
269
+ }
270
+ /**
271
+ * Looks for an entity in `EntityManager`, b/c we may have it in memory even if
272
+ * our reference is not specifically loaded.
273
+ */
274
+ maybeFindEntity() {
275
+ const current = this.current();
276
+ if (require_Entity.isEntity(current)) return current;
277
+ const { idTaggedMaybe } = this;
278
+ return idTaggedMaybe !== void 0 ? this.entity.em.getEntity(idTaggedMaybe) : void 0;
279
+ }
280
+ [require_relations_RelationSymbols.RelationT] = null;
281
+ [require_relations_RelationSymbols.RelationU] = null;
282
+ [require_relations_ReferenceSymbols.ReferenceN] = null;
283
+ };
284
+ /**
285
+ * Fails when we can't return an `.id` for a reference, i.e. it's unset or a new entity.
286
+ *
287
+ * We strictly type `book.author.id` as `AuthorId`, even if `book.author` is nullable, to
288
+ * avoid users calling `.id` and getting back `undefined`, but not because "there is no
289
+ * author", but only because "the assigned author doesn't have an id assigned yet".
290
+ *
291
+ * To handle nullable references, set `.idIfSet`.
292
+ *
293
+ * Assumes being called like `return idMaybe ?? failNoId()`, i.e. if we're called we
294
+ * know the id is not available.
295
+ */
296
+ function failNoId(entity, fieldName, current) {
297
+ if (!current) require_utils.fail(`Reference ${entity}.${fieldName} is unset`);
298
+ if (current instanceof require_BaseEntity.BaseEntity) throw new require_index.NoIdError(`Reference ${entity}.${fieldName} is assigned to a new entity`);
299
+ require_utils.fail(`Unreachable`);
300
+ }
301
+ /**
302
+ * Fails when we can't return an `.idIfSet` for a reference, i.e. it's a new entity.
303
+ *
304
+ * Assumes being called like `return idMaybe ?? failIfNewEntity()`, i.e. if we're called we
305
+ * know the id is not available.
306
+ */
307
+ function failIfNewEntity(entity, fieldName, current) {
308
+ if (current instanceof require_BaseEntity.BaseEntity) throw new require_index.NoIdError(`Reference ${entity}.${fieldName} is assigned to a new entity`);
309
+ }
310
+ var M2OUnloadedState = class M2OUnloadedState {
311
+ isLoaded = false;
312
+ #m2o;
313
+ constructor(m2o) {
314
+ this.#m2o = m2o;
315
+ }
316
+ applyLoad(loaded) {
317
+ return new M2OLoadedState(this.#m2o, loaded);
318
+ }
319
+ import(target) {
320
+ return new M2OUnloadedState(target);
321
+ }
322
+ maybeInstantLoad() {
323
+ const current = this.#m2o.current();
324
+ if (current === void 0 || require_Entity.isEntity(current)) return new M2OLoadedState(this.#m2o, current);
325
+ else {
326
+ const maybeFound = this.#m2o.entity.em.getEntity(current);
327
+ if (maybeFound) return new M2OLoadedState(this.#m2o, maybeFound);
328
+ }
329
+ return this;
330
+ }
331
+ doGet() {
332
+ throw new Error(`${this.#m2o.entity}.${this.#m2o.fieldName} was not loaded`);
333
+ }
334
+ };
335
+ /** The when loaded, with either the loaded entity or undefined. */
336
+ var M2OLoadedState = class M2OLoadedState {
337
+ isLoaded = true;
338
+ #m2o;
339
+ #loaded;
340
+ constructor(m2o, loaded) {
341
+ this.#loaded = loaded;
342
+ this.#m2o = m2o;
343
+ }
344
+ applyLoad(loaded) {
345
+ return new M2OLoadedState(this.#m2o, loaded);
346
+ }
347
+ import(target, findEntity) {
348
+ return new M2OLoadedState(target, require_Entity.isEntity(this.#loaded) ? findEntity(this.#loaded) : void 0);
349
+ }
350
+ maybeInstantLoad() {
351
+ return this;
352
+ }
353
+ doGet() {
354
+ return this.#loaded;
355
+ }
356
+ };
357
+ //#endregion
358
+ exports.ManyToOneReferenceImpl = ManyToOneReferenceImpl;
359
+ exports.failIfNewEntity = failIfNewEntity;
360
+ exports.failNoId = failNoId;
361
+ exports.hasOne = hasOne;
362
+ exports.isManyToOneReference = isManyToOneReference;
363
+
364
+ //# sourceMappingURL=ManyToOneReference.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManyToOneReference.cjs","names":["lazyField","getMetadata","AbstractRelationImpl","#field","#state","getInstanceData","isEntity","#loadPromise","sameEntity","#setImpl","toTaggedId","setField","#percolateRemove","#percolateAdd","toIdOf","maybeResolveReferenceToId","deTagId","#hasBeenSet","ensureTagged","OneToManyCollection","OneToManyLargeCollection","OneToOneReferenceImpl","getEmInternalApi","getField","isCascadeDelete","RelationT","RelationU","ReferenceN","BaseEntity","NoIdError","#m2o","#loaded"],"sources":["../../src/relations/ManyToOneReference.ts"],"sourcesContent":["import { type Entity, isEntity } from \"src/Entity.ts\";\nimport { type IdOf, type TaggedId, getEmInternalApi, sameEntity } from \"src/EntityManager.ts\";\nimport { type EntityMetadata, type ManyToOneField, getMetadata } from \"src/EntityMetadata.ts\";\nimport { getField, setField } from \"src/fields.ts\";\nimport {\n BaseEntity,\n NoIdError,\n OneToManyLargeCollection,\n OneToOneReferenceImpl,\n type Reference,\n deTagId,\n ensureNotDeleted,\n ensureTagged,\n fail,\n getInstanceData,\n maybeResolveReferenceToId,\n toIdOf,\n toTaggedId,\n} from \"src/index.ts\";\nimport { lazyField } from \"src/newEntity.ts\";\nimport { AbstractRelationImpl } from \"src/relations/AbstractRelationImpl.ts\";\nimport { isCascadeDelete } from \"src/relations/isCascadeDelete.ts\";\nimport { OneToManyCollection } from \"src/relations/OneToManyCollection.ts\";\nimport { ReferenceN } from \"src/relations/ReferenceSymbols.ts\";\nimport { RelationT, RelationU } from \"src/relations/RelationSymbols.ts\";\nimport { maybeAdd, maybeRemove } from \"src/utils.ts\";\n\n/** An alias for creating `ManyToOneReference`s. */\nexport function hasOne<T extends Entity, U extends Entity, N extends never | undefined>(): ManyToOneReference<T, U, N> {\n return lazyField((entity: T, fieldName) => {\n const m2o = getMetadata(entity).allFields[fieldName] as ManyToOneField;\n return new ManyToOneReferenceImpl<T, U, N>(entity, m2o);\n });\n}\n\n/** Type guard utility for determining if an entity field is a ManyToOneReference. */\nexport function isManyToOneReference(maybeReference: any): maybeReference is ManyToOneReference<any, any, any> {\n return maybeReference instanceof ManyToOneReferenceImpl;\n}\n\nexport interface ManyToOneReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<\n T,\n U,\n N\n> {\n /** Returns the id of the current assigned entity, or a runtime error if either 1) unset or 2) set to a new entity that doesn't have an `id` yet. */\n id: IdOf<U>;\n\n /** Returns the id of the current assigned entity, undefined if unset, or a runtime error if set to a new entity. */\n idIfSet: IdOf<U> | undefined;\n\n /** Returns the id of the current assigned entity, undefined if unset, or undefined if set to a new entity. */\n idMaybe: IdOf<U> | undefined;\n\n idUntagged: string;\n\n idUntaggedIfSet: string | undefined;\n\n /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */\n readonly isSet: boolean;\n}\n\n/**\n * Manages a foreign key from one entity to another, i.e. `Book.author --> Author`.\n *\n * We keep the current `author` / `author_id` value in the `__orm.data` hash, where the\n * current value could be either the (string) author id from the database, or an entity\n * `Author` that the user has set.\n *\n * Note that if our `images.author_id` column is unique, this `ManyToOneReference` will essentially\n * be half of a one-to-one relationship, but we'll keep using this `ManyToOneReference` on the \"many\"\n * side, and the other side, i.e. `Author.image` will use a `OneToOneReference` to point back to us.\n */\nexport class ManyToOneReferenceImpl<T extends Entity, U extends Entity, N extends never | undefined>\n extends AbstractRelationImpl<T, U>\n implements ManyToOneReference<T, U, N>\n{\n readonly #field: ManyToOneField;\n #state: M2OState<U, N>;\n #loadPromise: Promise<void> | undefined;\n #hasBeenSet = false;\n\n constructor(entity: T, field: ManyToOneField) {\n super(entity);\n this.#field = field;\n this.#state = getInstanceData(entity).isOrWasNew\n ? new M2OLoadedState<U, N>(this, undefined)\n : new M2OUnloadedState<U, N>(this);\n }\n\n async load(opts: { withDeleted?: boolean; forceReload?: boolean } = {}): Promise<U | N> {\n ensureNotDeleted(this.entity, \"pending\");\n this.#state = this.#state.maybeInstantLoad();\n if (!this.#state.isLoaded || opts.forceReload) {\n const current = this.current();\n if (isEntity(current) || current === undefined) {\n this.#state = new M2OLoadedState<U, N>(this, current as U | N | undefined);\n } else {\n await (this.#loadPromise ??= this.entity.em.load(this.otherMeta.cstr, current).then((entity) => {\n this.#loadPromise = undefined;\n // In extremely rare cases, someone might have called `set` while this promise was in-flight,\n // so make sure our current value is still the same as the fetched entity.\n if (sameEntity(entity, this.current())) {\n this.#state = this.#state.applyLoad(entity);\n }\n }));\n }\n }\n return this.filterDeleted(this.#state.doGet() as U | N, opts);\n }\n\n set(other: U | N): void {\n this.#setImpl(other);\n }\n\n get isSet(): boolean {\n return this.current() !== undefined;\n }\n\n get isLoaded(): boolean {\n // Even if `.load()` has not been called, `.get` will detect\n this.#state = this.#state.maybeInstantLoad();\n return this.#state.isLoaded;\n }\n\n get isPreloaded(): boolean {\n return !!this.maybeFindEntity();\n }\n\n preload(): void {\n this.#state = new M2OLoadedState<U, N>(this, this.maybeFindEntity());\n }\n\n private unload(): void {\n this.#state = new M2OUnloadedState<U, N>(this);\n this.#loadPromise = undefined;\n }\n\n /** Copy another em's `source` relation into our state. */\n import(source: ManyToOneReferenceImpl<T, U, N>, findEntity: (e: U) => U): void {\n this.#state = source.#state.import(this, findEntity);\n }\n\n private doGet(opts?: { withDeleted?: boolean }): U | N {\n ensureNotDeleted(this.entity, \"pending\");\n this.#state = this.#state.maybeInstantLoad();\n return this.filterDeleted(this.#state.doGet() as U | N, opts);\n }\n\n get getWithDeleted(): U | N {\n return this.doGet({ withDeleted: true });\n }\n\n get get(): U | N {\n return this.doGet({ withDeleted: false });\n }\n\n /** Returns the id of the current value. */\n get id(): IdOf<U> {\n return this.idMaybe || failNoId(this.entity, this.fieldName, this.current());\n }\n\n /** Sets the m2o to `id`, and allows accepting `undefined` (`N`) if this is a nullable relation. */\n set id(id: IdOf<U> | N) {\n ensureNotDeleted(this.entity, \"pending\");\n const newId = toTaggedId(this.otherMeta, id);\n\n const previousId = this.idTaggedMaybe;\n const previous = this.maybeFindEntity();\n const changed = setField(this.entity, this.fieldName, id);\n if (!changed) {\n return;\n }\n\n const loaded = newId ? (this.entity.em.getEntity(newId) as U) : undefined;\n this.#state = loaded ? new M2OLoadedState<U, N>(this, loaded) : new M2OUnloadedState<U, N>(this);\n this.#loadPromise = undefined;\n this.#percolateRemove(previousId, previous);\n this.#percolateAdd();\n }\n\n get idIfSet(): IdOf<U> | N | undefined {\n return this.idMaybe || failIfNewEntity(this.entity, this.fieldName, this.current());\n }\n\n get idUntagged(): string {\n return this.idUntaggedMaybe || failNoId(this.entity, this.fieldName, this.current());\n }\n\n get idUntaggedIfSet(): string | undefined {\n return this.idUntaggedMaybe || failIfNewEntity(this.entity, this.fieldName, this.current());\n }\n\n get idMaybe(): IdOf<U> | N | undefined {\n ensureNotDeleted(this.entity, \"pending\");\n return toIdOf(this.otherMeta, this.idTaggedMaybe);\n }\n\n /** Returns the tagged id of the current value, or undefined if unset or a new entity. */\n get idTaggedMaybe(): TaggedId | undefined {\n // Skip the deleted check so that `isPreloaded` doesn't blow up during em.refreshes/populates\n // ensureNotDeleted(this.entity, \"pending\");\n return maybeResolveReferenceToId(this.current());\n }\n\n get fieldName(): string {\n return this.#field.fieldName;\n }\n\n get otherFieldName(): keyof U & string {\n return this.#field.otherFieldName as keyof U & string;\n }\n\n private get idUntaggedMaybe(): string | undefined {\n return deTagId(this.otherMeta, this.idMaybe);\n }\n\n #setImpl(_other: U | IdOf<U> | N): void {\n ensureNotDeleted(this.entity, \"pending\");\n this.#hasBeenSet = true;\n\n // If the project is not using tagged ids, we still want it tagged internally\n const other = ensureTagged(this.otherMeta, _other);\n if (sameEntity(other, this.current({ withDeleted: true }))) {\n return;\n }\n\n const previousId = this.idTaggedMaybe;\n const previous = this.maybeFindEntity();\n // Prefer to keep the id in our data hash, but if this is a new entity w/o an id, use the entity itself\n setField(this.entity, this.fieldName, isEntity(other) ? (other?.idTaggedMaybe ?? other) : other);\n\n // Setting to an entity | undefined => loaded, setting to an id might reverse to unloaded\n const maybeEntity = isEntity(other) ? (other as U) : other ? this.entity.em.getEntity(other) : undefined;\n if (maybeEntity || other === undefined) {\n this.#state = new M2OLoadedState<U, N>(this, (maybeEntity ?? other) as U | N);\n } else {\n this.#state = new M2OUnloadedState<U, N>(this);\n }\n this.#loadPromise = undefined;\n this.#percolateRemove(previousId, previous);\n this.#percolateAdd();\n }\n\n // private impl\n\n setFromOpts(other: U | IdOf<U> | N): void {\n this.#setImpl(other);\n }\n\n maybeCascadeDelete(): void {\n if (this.isCascadeDelete) {\n const current = this.current({ withDeleted: true });\n if (current !== undefined) {\n if (typeof current === \"string\") {\n // We're invoked twice, once sync on em.delete, and again in em.flush when we're loaded;\n // but even when loaded, current might still be the tagged id, but we can find the entity in the EM\n const other = this.entity.em.getEntity(current);\n if (other) this.entity.em.delete(other as U);\n } else {\n this.entity.em.delete(current as U);\n }\n }\n }\n }\n\n async cleanupOnEntityDeleted(): Promise<void> {\n // if we are going to delete this relation as well, then we don't need to clean it up\n if (this.isCascadeDelete) return;\n const current = await this.load({ withDeleted: true });\n if (current !== undefined) {\n const o2m = this.getOtherRelation(current);\n if (o2m instanceof OneToManyCollection) {\n o2m.remove(this.entity, { requireLoaded: false });\n } else if (o2m instanceof OneToManyLargeCollection) {\n o2m.remove(this.entity);\n } else if (o2m instanceof OneToOneReferenceImpl) {\n o2m.set(undefined as any);\n } else {\n throw new Error(`Unhandled ${o2m}`);\n }\n }\n setField(this.entity, this.fieldName, undefined);\n this.#state = new M2OLoadedState<U, N>(this, undefined as any);\n }\n\n // Called on `book.author.set(...)` with our previous value, to percolate a `author.books.remove`. */\n #percolateRemove(prevId: string | undefined, prevEntity: U | undefined) {\n if (prevEntity) {\n const prevRelation = this.getOtherRelation(prevEntity);\n if (prevRelation instanceof OneToManyCollection) {\n prevRelation.removeIfLoaded(this.entity);\n } else if (prevRelation instanceof OneToManyLargeCollection) {\n prevRelation.remove(this.entity);\n } else {\n prevRelation.set(undefined as any, { percolating: true });\n }\n } else if (prevId) {\n // prevEntity is not loaded in memory, but cache it in case our other side is later loaded\n const { em } = this.entity;\n let map = getEmInternalApi(em).pendingPercolate.get(prevId);\n if (!map) {\n map = new Map();\n getEmInternalApi(em).pendingPercolate.set(prevId, map);\n }\n let pending = map.get(this.otherFieldName);\n if (!pending) {\n pending = { adds: [], removes: [] };\n map.set(this.otherFieldName, pending);\n }\n maybeAdd(pending.removes, this.entity);\n maybeRemove(pending.adds, this.entity);\n }\n }\n\n #percolateAdd() {\n const id = this.current();\n const other = this.maybeFindEntity();\n if (other) {\n // Other is already loaded in memory, immediately hook it up\n const newRelation = this.getOtherRelation(other);\n if (newRelation instanceof OneToManyCollection) {\n newRelation.add(this.entity);\n } else if (newRelation instanceof OneToManyLargeCollection) {\n newRelation.add(this.entity);\n } else if (newRelation) {\n newRelation.set(this.entity, { percolating: true });\n } else {\n // Something is wrong, we should always have a relation, but instead\n // of blowing up here, let this finish b/c it will probably turn into\n // a validation error.\n }\n } else if (typeof id === \"string\") {\n // Other is not loaded in memory, but cache it in case our other side is later loaded\n const { em } = this.entity;\n let map = getEmInternalApi(em).pendingPercolate.get(id);\n if (!map) {\n map = new Map();\n getEmInternalApi(em).pendingPercolate.set(id, map);\n }\n let pending = map.get(this.otherFieldName);\n if (!pending) {\n pending = { adds: [], removes: [] };\n map.set(this.otherFieldName, pending);\n }\n maybeAdd(pending.adds, this.entity);\n maybeRemove(pending.removes, this.entity);\n }\n }\n\n // We need to keep U in data[fieldName] to handle entities without an id assigned yet.\n current(opts?: { withDeleted?: boolean }): U | TaggedId | N {\n const current = getField(this.entity, this.fieldName);\n if (current !== undefined && isEntity(current)) {\n return this.filterDeleted(current as U, opts);\n }\n return current;\n }\n\n get otherMeta(): EntityMetadata<U> {\n return this.#field.otherMetadata();\n }\n\n get hasBeenSet(): boolean {\n return this.#hasBeenSet;\n }\n\n public toString(): string {\n return `ManyToOneReference(entity: ${this.entity}, fieldName: ${this.fieldName}, otherType: ${this.otherMeta.type}, otherFieldName: ${this.otherFieldName}, id: ${this.idMaybe})`;\n }\n\n /**\n * Removes pending-hard-delete (but not soft-deleted), unless explicitly asked for.\n *\n * Note that we leave soft-deleted entities b/c the call signature of a `book.author.get`\n * very likely does not expect a soft-deleted entity to result in `undefined`.\n *\n * (Contrasted with `author.books.get` which is more intuitive to have soft-deleted\n * entities filtered out, i.e. it doesn't fundamentally change the return type.)\n */\n private filterDeleted(entity: U | N, opts?: { withDeleted?: boolean }): U | N {\n if (entity && (!opts || !opts.withDeleted) && entity.isDeletedEntity) {\n return undefined!;\n }\n return entity;\n }\n\n /** Returns the other relation that points back at us, i.e. we're `book.author_id` and this is `Author.books`. */\n private getOtherRelation(\n other: U,\n ): OneToManyCollection<U, T> | OneToOneReferenceImpl<U, T> | OneToManyLargeCollection<U, T> {\n return (other as U)[this.otherFieldName] as any;\n }\n\n private get isCascadeDelete(): boolean {\n return isCascadeDelete(this, this.fieldName);\n }\n\n /**\n * Looks for an entity in `EntityManager`, b/c we may have it in memory even if\n * our reference is not specifically loaded.\n */\n maybeFindEntity(): U | undefined {\n // Check current() first b/c a new entity won't have an id yet\n const current = this.current();\n if (isEntity(current)) return current as U;\n const { idTaggedMaybe } = this;\n return idTaggedMaybe !== undefined ? (this.entity.em.getEntity(idTaggedMaybe) as U) : undefined;\n }\n\n [RelationT]: T = null!;\n [RelationU]: U = null!;\n [ReferenceN]: N = null!;\n}\n\n/**\n * Fails when we can't return an `.id` for a reference, i.e. it's unset or a new entity.\n *\n * We strictly type `book.author.id` as `AuthorId`, even if `book.author` is nullable, to\n * avoid users calling `.id` and getting back `undefined`, but not because \"there is no\n * author\", but only because \"the assigned author doesn't have an id assigned yet\".\n *\n * To handle nullable references, set `.idIfSet`.\n *\n * Assumes being called like `return idMaybe ?? failNoId()`, i.e. if we're called we\n * know the id is not available.\n */\nexport function failNoId(entity: Entity, fieldName: string, current: string | Entity | undefined): never {\n if (!current) fail(`Reference ${entity}.${fieldName} is unset`);\n // Throw NoIdError, which lets ReactionsManager will handle reactive fields gracefully\n if (current instanceof BaseEntity)\n throw new NoIdError(`Reference ${entity}.${fieldName} is assigned to a new entity`);\n fail(`Unreachable`);\n}\n\n/**\n * Fails when we can't return an `.idIfSet` for a reference, i.e. it's a new entity.\n *\n * Assumes being called like `return idMaybe ?? failIfNewEntity()`, i.e. if we're called we\n * know the id is not available.\n */\nexport function failIfNewEntity(entity: Entity, fieldName: string, current: string | Entity | undefined): undefined {\n if (current instanceof BaseEntity) {\n throw new NoIdError(`Reference ${entity}.${fieldName} is assigned to a new entity`);\n }\n // Since this is a `.idIfSet`, having no `current` is fine, return undefined.\n return undefined;\n}\n\ninterface M2OState<U extends Entity, N extends never | undefined> {\n readonly isLoaded: boolean;\n maybeInstantLoad(): M2OState<U, N>;\n applyLoad(loaded: U | N | undefined): M2OLoadedState<U, N>;\n import(target: ManyToOneReferenceImpl<any, any, any>, findEntity: (e: U) => U): M2OState<U, N>;\n doGet(): U | N | undefined;\n}\n\nclass M2OUnloadedState<U extends Entity, N extends never | undefined> implements M2OState<U, N> {\n readonly isLoaded = false;\n #m2o: ManyToOneReferenceImpl<any, any, any>;\n constructor(m2o: ManyToOneReferenceImpl<any, any, any>) {\n this.#m2o = m2o;\n }\n applyLoad(loaded: U | N | undefined): M2OLoadedState<U, N> {\n return new M2OLoadedState<U, N>(this.#m2o, loaded);\n }\n import(target: ManyToOneReferenceImpl<any, any, any>): M2OState<U, N> {\n return new M2OUnloadedState<U, N>(target);\n }\n maybeInstantLoad(): M2OState<U, N> {\n const current = this.#m2o.current();\n if (current === undefined || isEntity(current)) {\n return new M2OLoadedState<U, N>(this.#m2o, current as U | undefined);\n } else {\n const maybeFound = this.#m2o.entity.em.getEntity(current);\n if (maybeFound) {\n return new M2OLoadedState<U, N>(this.#m2o, maybeFound as U);\n }\n }\n return this;\n }\n doGet(): U | N | undefined {\n throw new Error(`${this.#m2o.entity}.${this.#m2o.fieldName} was not loaded`);\n }\n}\n\n/** The when loaded, with either the loaded entity or undefined. */\nclass M2OLoadedState<U extends Entity, N extends never | undefined> implements M2OState<U, N> {\n readonly isLoaded = true;\n #m2o: ManyToOneReferenceImpl<any, any, any>;\n #loaded: U | N | undefined;\n constructor(m2o: ManyToOneReferenceImpl<any, any, any>, loaded: U | N | undefined) {\n this.#loaded = loaded;\n this.#m2o = m2o;\n }\n applyLoad(loaded: U | N | undefined): M2OLoadedState<U, N> {\n return new M2OLoadedState<U, N>(this.#m2o, loaded);\n }\n import(target: ManyToOneReferenceImpl<any, any, any>, findEntity: (e: U) => U): M2OState<U, N> {\n return new M2OLoadedState<U, N>(target, isEntity(this.#loaded) ? findEntity(this.#loaded) : undefined);\n }\n maybeInstantLoad(): M2OState<U, N> {\n return this;\n }\n doGet(): U | N | undefined {\n return this.#loaded;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { AbstractRelationImpl } from "./AbstractRelationImpl.cjs";
2
+ import { RelationT, RelationU } from "./RelationSymbols.cjs";
3
+ import { ReferenceN } from "./ReferenceSymbols.cjs";
4
+ import { Reference } from "./Reference.cjs";
5
+ import { EntityMetadata, ManyToOneField } from "../EntityMetadata.cjs";
6
+ import "../index.cjs";
7
+ import { IdOf, TaggedId } from "../EntityManager.cjs";
8
+ import { Entity } from "../Entity.cjs";
9
+ //#region src/relations/ManyToOneReference.d.ts
10
+ /** An alias for creating `ManyToOneReference`s. */
11
+ declare function hasOne<T extends Entity, U extends Entity, N extends never | undefined>(): ManyToOneReference<T, U, N>;
12
+ /** Type guard utility for determining if an entity field is a ManyToOneReference. */
13
+ declare function isManyToOneReference(maybeReference: any): maybeReference is ManyToOneReference<any, any, any>;
14
+ interface ManyToOneReference<T extends Entity, U extends Entity, N extends never | undefined> extends Reference<T, U, N> {
15
+ /** Returns the id of the current assigned entity, or a runtime error if either 1) unset or 2) set to a new entity that doesn't have an `id` yet. */
16
+ id: IdOf<U>;
17
+ /** Returns the id of the current assigned entity, undefined if unset, or a runtime error if set to a new entity. */
18
+ idIfSet: IdOf<U> | undefined;
19
+ /** Returns the id of the current assigned entity, undefined if unset, or undefined if set to a new entity. */
20
+ idMaybe: IdOf<U> | undefined;
21
+ idUntagged: string;
22
+ idUntaggedIfSet: string | undefined;
23
+ /** Returns `true` if this relation is currently set (i.e. regardless of whether it's loaded, or if it is set but the assigned entity doesn't have an id saved. */
24
+ readonly isSet: boolean;
25
+ }
26
+ /**
27
+ * Manages a foreign key from one entity to another, i.e. `Book.author --> Author`.
28
+ *
29
+ * We keep the current `author` / `author_id` value in the `__orm.data` hash, where the
30
+ * current value could be either the (string) author id from the database, or an entity
31
+ * `Author` that the user has set.
32
+ *
33
+ * Note that if our `images.author_id` column is unique, this `ManyToOneReference` will essentially
34
+ * be half of a one-to-one relationship, but we'll keep using this `ManyToOneReference` on the "many"
35
+ * side, and the other side, i.e. `Author.image` will use a `OneToOneReference` to point back to us.
36
+ */
37
+ declare class ManyToOneReferenceImpl<T extends Entity, U extends Entity, N extends never | undefined> extends AbstractRelationImpl<T, U> implements ManyToOneReference<T, U, N> {
38
+ #private;
39
+ constructor(entity: T, field: ManyToOneField);
40
+ load(opts?: {
41
+ withDeleted?: boolean;
42
+ forceReload?: boolean;
43
+ }): Promise<U | N>;
44
+ set(other: U | N): void;
45
+ get isSet(): boolean;
46
+ get isLoaded(): boolean;
47
+ get isPreloaded(): boolean;
48
+ preload(): void;
49
+ private unload;
50
+ /** Copy another em's `source` relation into our state. */
51
+ import(source: ManyToOneReferenceImpl<T, U, N>, findEntity: (e: U) => U): void;
52
+ private doGet;
53
+ get getWithDeleted(): U | N;
54
+ get get(): U | N;
55
+ /** Returns the id of the current value. */
56
+ get id(): IdOf<U>;
57
+ /** Sets the m2o to `id`, and allows accepting `undefined` (`N`) if this is a nullable relation. */
58
+ set id(id: IdOf<U> | N);
59
+ get idIfSet(): IdOf<U> | N | undefined;
60
+ get idUntagged(): string;
61
+ get idUntaggedIfSet(): string | undefined;
62
+ get idMaybe(): IdOf<U> | N | undefined;
63
+ /** Returns the tagged id of the current value, or undefined if unset or a new entity. */
64
+ get idTaggedMaybe(): TaggedId | undefined;
65
+ get fieldName(): string;
66
+ get otherFieldName(): keyof U & string;
67
+ private get idUntaggedMaybe();
68
+ setFromOpts(other: U | IdOf<U> | N): void;
69
+ maybeCascadeDelete(): void;
70
+ cleanupOnEntityDeleted(): Promise<void>;
71
+ current(opts?: {
72
+ withDeleted?: boolean;
73
+ }): U | TaggedId | N;
74
+ get otherMeta(): EntityMetadata<U>;
75
+ get hasBeenSet(): boolean;
76
+ toString(): string;
77
+ /**
78
+ * Removes pending-hard-delete (but not soft-deleted), unless explicitly asked for.
79
+ *
80
+ * Note that we leave soft-deleted entities b/c the call signature of a `book.author.get`
81
+ * very likely does not expect a soft-deleted entity to result in `undefined`.
82
+ *
83
+ * (Contrasted with `author.books.get` which is more intuitive to have soft-deleted
84
+ * entities filtered out, i.e. it doesn't fundamentally change the return type.)
85
+ */
86
+ private filterDeleted;
87
+ /** Returns the other relation that points back at us, i.e. we're `book.author_id` and this is `Author.books`. */
88
+ private getOtherRelation;
89
+ private get isCascadeDelete();
90
+ /**
91
+ * Looks for an entity in `EntityManager`, b/c we may have it in memory even if
92
+ * our reference is not specifically loaded.
93
+ */
94
+ maybeFindEntity(): U | undefined;
95
+ [RelationT]: T;
96
+ [RelationU]: U;
97
+ [ReferenceN]: N;
98
+ }
99
+ /**
100
+ * Fails when we can't return an `.id` for a reference, i.e. it's unset or a new entity.
101
+ *
102
+ * We strictly type `book.author.id` as `AuthorId`, even if `book.author` is nullable, to
103
+ * avoid users calling `.id` and getting back `undefined`, but not because "there is no
104
+ * author", but only because "the assigned author doesn't have an id assigned yet".
105
+ *
106
+ * To handle nullable references, set `.idIfSet`.
107
+ *
108
+ * Assumes being called like `return idMaybe ?? failNoId()`, i.e. if we're called we
109
+ * know the id is not available.
110
+ */
111
+ declare function failNoId(entity: Entity, fieldName: string, current: string | Entity | undefined): never;
112
+ /**
113
+ * Fails when we can't return an `.idIfSet` for a reference, i.e. it's a new entity.
114
+ *
115
+ * Assumes being called like `return idMaybe ?? failIfNewEntity()`, i.e. if we're called we
116
+ * know the id is not available.
117
+ */
118
+ declare function failIfNewEntity(entity: Entity, fieldName: string, current: string | Entity | undefined): undefined;
119
+ //#endregion
120
+ export { ManyToOneReference, ManyToOneReferenceImpl, failIfNewEntity, failNoId, hasOne, isManyToOneReference };
121
+ //# sourceMappingURL=ManyToOneReference.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManyToOneReference.d.cts","names":[],"sources":["../../src/relations/ManyToOneReference.ts"],"mappings":";;;;;;;;;;iBA4BgB,OAAO,UAAU,QAAQ,UAAU,QAAQ,gCAAgC,mBAAmB,GAAG,GAAG;;iBAQpG,qBAAqB,sBAAsB,kBAAkB;UAI5D,mBAAmB,UAAU,QAAQ,UAAU,QAAQ,qCAAqC,UAC3G,GACA,GACA;;EAGA,IAAI,KAAK;;EAGT,SAAS,KAAK;;EAGd,SAAS,KAAK;EAEd;EAEA;;WAGS;;;;;;;;;;;;;cAcE,uBAAuB,UAAU,QAAQ,UAAU,QAAQ,qCAC9D,qBAAqB,GAAG,cACrB,mBAAmB,GAAG,GAAG;;EAOpC,YAAY,QAAQ,GAAG,OAAO;EAQxB,KAAK;IAAQ;IAAuB;MAA+B,QAAQ,IAAI;EAqBrF,IAAI,OAAO,IAAI;MAIX;MAIA;MAMA;EAIJ;UAIQ;;EAMR,OAAO,QAAQ,uBAAuB,GAAG,GAAG,IAAI,aAAa,GAAG,MAAM;UAI9D;MAMJ,kBAAkB,IAAI;MAItB,OAAO,IAAI;;MAKX,MAAM,KAAK;;MAKX,GAAG,IAAI,KAAK,KAAK;MAkBjB,WAAW,KAAK,KAAK;MAIrB;MAIA;MAIA,WAAW,KAAK,KAAK;;MAMrB,iBAAiB;MAMjB;MAIA,wBAAwB;cAIhB;EAiCZ,YAAY,OAAO,IAAI,KAAK,KAAK;EAIjC;EAgBM,0BAA0B;EAqFhC,QAAQ;IAAS;MAA0B,IAAI,WAAW;MAQtD,aAAa,eAAe;MAI5B;EAIG;;;;;;;;;;UAaC;;UAQA;cAMI;;;;;EAQZ,mBAAmB;GAQlB,YAAY;GACZ,YAAY;GACZ,aAAa;;;;;;;;;;;;;;iBAeA,SAAS,QAAQ,QAAQ,mBAAmB,kBAAkB;;;;;;;iBAc9D,gBAAgB,QAAQ,QAAQ,mBAAmB,kBAAkB"}