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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1357) hide show
  1. package/build/AliasAssigner.cjs +36 -0
  2. package/build/AliasAssigner.cjs.map +1 -0
  3. package/build/AliasAssigner.d.cts +13 -0
  4. package/build/AliasAssigner.d.cts.map +1 -0
  5. package/build/AliasAssigner.d.mts +13 -0
  6. package/build/AliasAssigner.d.mts.map +1 -0
  7. package/build/AliasAssigner.js +34 -38
  8. package/build/AliasAssigner.js.map +1 -1
  9. package/build/Aliases.cjs +293 -0
  10. package/build/Aliases.cjs.map +1 -0
  11. package/build/Aliases.d.cts +115 -0
  12. package/build/Aliases.d.cts.map +1 -0
  13. package/build/Aliases.d.mts +115 -0
  14. package/build/Aliases.d.mts.map +1 -0
  15. package/build/Aliases.js +270 -442
  16. package/build/Aliases.js.map +1 -1
  17. package/build/BaseEntity.cjs +112 -0
  18. package/build/BaseEntity.cjs.map +1 -0
  19. package/build/BaseEntity.d.cts +73 -0
  20. package/build/BaseEntity.d.cts.map +1 -0
  21. package/build/BaseEntity.d.mts +73 -0
  22. package/build/BaseEntity.d.mts.map +1 -0
  23. package/build/BaseEntity.js +99 -110
  24. package/build/BaseEntity.js.map +1 -1
  25. package/build/ConditionBuilder.cjs +107 -0
  26. package/build/ConditionBuilder.cjs.map +1 -0
  27. package/build/ConditionBuilder.d.cts +31 -0
  28. package/build/ConditionBuilder.d.cts.map +1 -0
  29. package/build/ConditionBuilder.d.mts +31 -0
  30. package/build/ConditionBuilder.d.mts.map +1 -0
  31. package/build/ConditionBuilder.js +101 -107
  32. package/build/ConditionBuilder.js.map +1 -1
  33. package/build/DeferredAlias.cjs +26 -0
  34. package/build/DeferredAlias.cjs.map +1 -0
  35. package/build/DeferredAlias.d.cts +23 -0
  36. package/build/DeferredAlias.d.cts.map +1 -0
  37. package/build/DeferredAlias.d.mts +23 -0
  38. package/build/DeferredAlias.d.mts.map +1 -0
  39. package/build/DeferredAlias.js +23 -0
  40. package/build/DeferredAlias.js.map +1 -0
  41. package/build/Entity.cjs +12 -0
  42. package/build/Entity.cjs.map +1 -0
  43. package/build/Entity.d.cts +42 -0
  44. package/build/Entity.d.cts.map +1 -0
  45. package/build/Entity.d.mts +42 -0
  46. package/build/Entity.d.mts.map +1 -0
  47. package/build/Entity.js +8 -5
  48. package/build/Entity.js.map +1 -1
  49. package/build/EntityFields.cjs +1 -0
  50. package/build/EntityFields.d.cts +36 -0
  51. package/build/EntityFields.d.cts.map +1 -0
  52. package/build/EntityFields.d.mts +36 -0
  53. package/build/EntityFields.d.mts.map +1 -0
  54. package/build/EntityFields.js +1 -3
  55. package/build/EntityFilter.cjs +32 -0
  56. package/build/EntityFilter.cjs.map +1 -0
  57. package/build/EntityFilter.d.cts +135 -0
  58. package/build/EntityFilter.d.cts.map +1 -0
  59. package/build/EntityFilter.d.mts +135 -0
  60. package/build/EntityFilter.d.mts.map +1 -0
  61. package/build/EntityFilter.js +27 -17
  62. package/build/EntityFilter.js.map +1 -1
  63. package/build/EntityGraphQLFilter.cjs +56 -0
  64. package/build/EntityGraphQLFilter.cjs.map +1 -0
  65. package/build/EntityGraphQLFilter.d.cts +59 -0
  66. package/build/EntityGraphQLFilter.d.cts.map +1 -0
  67. package/build/EntityGraphQLFilter.d.mts +59 -0
  68. package/build/EntityGraphQLFilter.d.mts.map +1 -0
  69. package/build/EntityGraphQLFilter.js +51 -50
  70. package/build/EntityGraphQLFilter.js.map +1 -1
  71. package/build/EntityManager.cjs +1939 -0
  72. package/build/EntityManager.cjs.map +1 -0
  73. package/build/EntityManager.d.cts +834 -0
  74. package/build/EntityManager.d.cts.map +1 -0
  75. package/build/EntityManager.d.mts +834 -0
  76. package/build/EntityManager.d.mts.map +1 -0
  77. package/build/EntityManager.js +1816 -2223
  78. package/build/EntityManager.js.map +1 -1
  79. package/build/EntityMetadata.cjs +77 -0
  80. package/build/EntityMetadata.cjs.map +1 -0
  81. package/build/EntityMetadata.d.cts +262 -0
  82. package/build/EntityMetadata.d.cts.map +1 -0
  83. package/build/EntityMetadata.d.mts +262 -0
  84. package/build/EntityMetadata.d.mts.map +1 -0
  85. package/build/EntityMetadata.js +33 -48
  86. package/build/EntityMetadata.js.map +1 -1
  87. package/build/EnumMetadata.cjs +1 -0
  88. package/build/EnumMetadata.d.cts +18 -0
  89. package/build/EnumMetadata.d.cts.map +1 -0
  90. package/build/EnumMetadata.d.mts +18 -0
  91. package/build/EnumMetadata.d.mts.map +1 -0
  92. package/build/EnumMetadata.js +1 -3
  93. package/build/Expr.cjs +474 -0
  94. package/build/Expr.cjs.map +1 -0
  95. package/build/Expr.d.cts +258 -0
  96. package/build/Expr.d.cts.map +1 -0
  97. package/build/Expr.d.mts +258 -0
  98. package/build/Expr.d.mts.map +1 -0
  99. package/build/Expr.js +459 -0
  100. package/build/Expr.js.map +1 -0
  101. package/build/FlushLock.cjs +51 -0
  102. package/build/FlushLock.cjs.map +1 -0
  103. package/build/FlushLock.d.cts +29 -0
  104. package/build/FlushLock.d.cts.map +1 -0
  105. package/build/FlushLock.d.mts +29 -0
  106. package/build/FlushLock.d.mts.map +1 -0
  107. package/build/FlushLock.js +48 -54
  108. package/build/FlushLock.js.map +1 -1
  109. package/build/HintTree.cjs +70 -0
  110. package/build/HintTree.cjs.map +1 -0
  111. package/build/HintTree.d.cts +45 -0
  112. package/build/HintTree.d.cts.map +1 -0
  113. package/build/HintTree.d.mts +45 -0
  114. package/build/HintTree.d.mts.map +1 -0
  115. package/build/HintTree.js +63 -58
  116. package/build/HintTree.js.map +1 -1
  117. package/build/IndexManager.cjs +176 -0
  118. package/build/IndexManager.cjs.map +1 -0
  119. package/build/IndexManager.d.cts +36 -0
  120. package/build/IndexManager.d.cts.map +1 -0
  121. package/build/IndexManager.d.mts +36 -0
  122. package/build/IndexManager.d.mts.map +1 -0
  123. package/build/IndexManager.js +167 -218
  124. package/build/IndexManager.js.map +1 -1
  125. package/build/InstanceData.cjs +218 -0
  126. package/build/InstanceData.cjs.map +1 -0
  127. package/build/InstanceData.d.cts +98 -0
  128. package/build/InstanceData.d.cts.map +1 -0
  129. package/build/InstanceData.d.mts +98 -0
  130. package/build/InstanceData.d.mts.map +1 -0
  131. package/build/InstanceData.js +215 -222
  132. package/build/InstanceData.js.map +1 -1
  133. package/build/IsLoadedCache.cjs +59 -0
  134. package/build/IsLoadedCache.cjs.map +1 -0
  135. package/build/IsLoadedCache.d.cts +35 -0
  136. package/build/IsLoadedCache.d.cts.map +1 -0
  137. package/build/IsLoadedCache.d.mts +35 -0
  138. package/build/IsLoadedCache.d.mts.map +1 -0
  139. package/build/IsLoadedCache.js +57 -90
  140. package/build/IsLoadedCache.js.map +1 -1
  141. package/build/JoinRows.cjs +266 -0
  142. package/build/JoinRows.cjs.map +1 -0
  143. package/build/JoinRows.d.cts +120 -0
  144. package/build/JoinRows.d.cts.map +1 -0
  145. package/build/JoinRows.d.mts +120 -0
  146. package/build/JoinRows.d.mts.map +1 -0
  147. package/build/JoinRows.js +257 -313
  148. package/build/JoinRows.js.map +1 -1
  149. package/build/PendingChanges.cjs +2 -0
  150. package/build/PendingChanges.d.cts +29 -0
  151. package/build/PendingChanges.d.cts.map +1 -0
  152. package/build/PendingChanges.d.mts +29 -0
  153. package/build/PendingChanges.d.mts.map +1 -0
  154. package/build/PendingChanges.js +2 -3
  155. package/build/PluginManager.cjs +91 -0
  156. package/build/PluginManager.cjs.map +1 -0
  157. package/build/PluginManager.d.cts +112 -0
  158. package/build/PluginManager.d.cts.map +1 -0
  159. package/build/PluginManager.d.mts +112 -0
  160. package/build/PluginManager.d.mts.map +1 -0
  161. package/build/PluginManager.js +82 -106
  162. package/build/PluginManager.js.map +1 -1
  163. package/build/QueryParser.cjs +828 -0
  164. package/build/QueryParser.cjs.map +1 -0
  165. package/build/QueryParser.collectionJoins.cjs +353 -0
  166. package/build/QueryParser.collectionJoins.cjs.map +1 -0
  167. package/build/QueryParser.collectionJoins.d.cts +30 -0
  168. package/build/QueryParser.collectionJoins.d.cts.map +1 -0
  169. package/build/QueryParser.collectionJoins.d.mts +30 -0
  170. package/build/QueryParser.collectionJoins.d.mts.map +1 -0
  171. package/build/QueryParser.collectionJoins.js +258 -372
  172. package/build/QueryParser.collectionJoins.js.map +1 -1
  173. package/build/QueryParser.d.cts +346 -0
  174. package/build/QueryParser.d.cts.map +1 -0
  175. package/build/QueryParser.d.mts +346 -0
  176. package/build/QueryParser.d.mts.map +1 -0
  177. package/build/QueryParser.js +763 -915
  178. package/build/QueryParser.js.map +1 -1
  179. package/build/QueryParser.pruning.cjs +129 -0
  180. package/build/QueryParser.pruning.cjs.map +1 -0
  181. package/build/QueryParser.pruning.d.cts +10 -0
  182. package/build/QueryParser.pruning.d.cts.map +1 -0
  183. package/build/QueryParser.pruning.d.mts +10 -0
  184. package/build/QueryParser.pruning.d.mts.map +1 -0
  185. package/build/QueryParser.pruning.js +104 -173
  186. package/build/QueryParser.pruning.js.map +1 -1
  187. package/build/QueryVisitor.cjs +61 -0
  188. package/build/QueryVisitor.cjs.map +1 -0
  189. package/build/QueryVisitor.d.cts +21 -0
  190. package/build/QueryVisitor.d.cts.map +1 -0
  191. package/build/QueryVisitor.d.mts +21 -0
  192. package/build/QueryVisitor.d.mts.map +1 -0
  193. package/build/QueryVisitor.js +50 -97
  194. package/build/QueryVisitor.js.map +1 -1
  195. package/build/ReactionsManager.cjs +266 -0
  196. package/build/ReactionsManager.cjs.map +1 -0
  197. package/build/ReactionsManager.d.cts +99 -0
  198. package/build/ReactionsManager.d.cts.map +1 -0
  199. package/build/ReactionsManager.d.mts +99 -0
  200. package/build/ReactionsManager.d.mts.map +1 -0
  201. package/build/ReactionsManager.js +263 -313
  202. package/build/ReactionsManager.js.map +1 -1
  203. package/build/RowData.cjs +37 -0
  204. package/build/RowData.cjs.map +1 -0
  205. package/build/RowData.d.cts +53 -0
  206. package/build/RowData.d.cts.map +1 -0
  207. package/build/RowData.d.mts +53 -0
  208. package/build/RowData.d.mts.map +1 -0
  209. package/build/RowData.js +35 -0
  210. package/build/RowData.js.map +1 -0
  211. package/build/Tables.cjs +630 -0
  212. package/build/Tables.cjs.map +1 -0
  213. package/build/Tables.d.cts +231 -0
  214. package/build/Tables.d.cts.map +1 -0
  215. package/build/Tables.d.mts +231 -0
  216. package/build/Tables.d.mts.map +1 -0
  217. package/build/Tables.js +620 -0
  218. package/build/Tables.js.map +1 -0
  219. package/build/Todo.cjs +73 -0
  220. package/build/Todo.cjs.map +1 -0
  221. package/build/Todo.d.cts +38 -0
  222. package/build/Todo.d.cts.map +1 -0
  223. package/build/Todo.d.mts +38 -0
  224. package/build/Todo.d.mts.map +1 -0
  225. package/build/Todo.js +57 -61
  226. package/build/Todo.js.map +1 -1
  227. package/build/TypeInfo.cjs +80 -0
  228. package/build/TypeInfo.cjs.map +1 -0
  229. package/build/TypeInfo.d.cts +57 -0
  230. package/build/TypeInfo.d.cts.map +1 -0
  231. package/build/TypeInfo.d.mts +57 -0
  232. package/build/TypeInfo.d.mts.map +1 -0
  233. package/build/TypeInfo.js +78 -0
  234. package/build/TypeInfo.js.map +1 -0
  235. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  236. package/build/batchloaders/BatchLoader.cjs +49 -0
  237. package/build/batchloaders/BatchLoader.cjs.map +1 -0
  238. package/build/batchloaders/BatchLoader.d.cts +17 -0
  239. package/build/batchloaders/BatchLoader.d.cts.map +1 -0
  240. package/build/batchloaders/BatchLoader.d.mts +17 -0
  241. package/build/batchloaders/BatchLoader.d.mts.map +1 -0
  242. package/build/batchloaders/BatchLoader.js +45 -54
  243. package/build/batchloaders/BatchLoader.js.map +1 -1
  244. package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
  245. package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
  246. package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
  247. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
  248. package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
  249. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
  250. package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
  251. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
  252. package/build/batchloaders/loadBatchLoader.cjs +78 -0
  253. package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
  254. package/build/batchloaders/loadBatchLoader.d.cts +20 -0
  255. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
  256. package/build/batchloaders/loadBatchLoader.d.mts +20 -0
  257. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
  258. package/build/batchloaders/loadBatchLoader.js +72 -51
  259. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  260. package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
  261. package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
  262. package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
  263. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
  264. package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
  265. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
  266. package/build/batchloaders/manyToManyBatchLoader.js +70 -61
  267. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  268. package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
  269. package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
  270. package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
  271. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
  272. package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
  273. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
  274. package/build/batchloaders/oneToManyBatchLoader.js +58 -48
  275. package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
  276. package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
  277. package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
  278. package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
  279. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
  280. package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
  281. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
  282. package/build/batchloaders/oneToOneBatchLoader.js +59 -50
  283. package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
  284. package/build/batchloaders/populateBatchLoader.cjs +156 -0
  285. package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
  286. package/build/batchloaders/populateBatchLoader.d.cts +17 -0
  287. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
  288. package/build/batchloaders/populateBatchLoader.d.mts +17 -0
  289. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
  290. package/build/batchloaders/populateBatchLoader.js +148 -203
  291. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  292. package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
  293. package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
  294. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
  295. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
  296. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
  297. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
  298. package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
  299. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  300. package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
  301. package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
  302. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
  303. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
  304. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
  305. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
  306. package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
  307. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  308. package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
  309. package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
  310. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
  311. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
  312. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
  313. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
  314. package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
  315. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  316. package/build/changes.cjs +222 -0
  317. package/build/changes.cjs.map +1 -0
  318. package/build/changes.d.cts +95 -0
  319. package/build/changes.d.cts.map +1 -0
  320. package/build/changes.d.mts +95 -0
  321. package/build/changes.d.mts.map +1 -0
  322. package/build/changes.js +209 -285
  323. package/build/changes.js.map +1 -1
  324. package/build/columns.cjs +63 -0
  325. package/build/columns.cjs.map +1 -0
  326. package/build/columns.d.cts +38 -0
  327. package/build/columns.d.cts.map +1 -0
  328. package/build/columns.d.mts +38 -0
  329. package/build/columns.d.mts.map +1 -0
  330. package/build/columns.js +62 -0
  331. package/build/columns.js.map +1 -0
  332. package/build/config.cjs +295 -0
  333. package/build/config.cjs.map +1 -0
  334. package/build/config.d.cts +277 -0
  335. package/build/config.d.cts.map +1 -0
  336. package/build/config.d.mts +277 -0
  337. package/build/config.d.mts.map +1 -0
  338. package/build/config.js +255 -301
  339. package/build/config.js.map +1 -1
  340. package/build/configure.cjs +324 -0
  341. package/build/configure.cjs.map +1 -0
  342. package/build/configure.d.cts +19 -0
  343. package/build/configure.d.cts.map +1 -0
  344. package/build/configure.d.mts +19 -0
  345. package/build/configure.d.mts.map +1 -0
  346. package/build/configure.js +265 -348
  347. package/build/configure.js.map +1 -1
  348. package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
  349. package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
  350. package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
  351. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
  352. package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
  353. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
  354. package/build/dataloaders/fastWhereFilterHash.js +108 -133
  355. package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
  356. package/build/dataloaders/findByUniqueDataLoader.cjs +59 -0
  357. package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
  358. package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
  359. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
  360. package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
  361. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
  362. package/build/dataloaders/findByUniqueDataLoader.js +54 -44
  363. package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
  364. package/build/dataloaders/findCountDataLoader.cjs +124 -0
  365. package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
  366. package/build/dataloaders/findCountDataLoader.d.cts +19 -0
  367. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
  368. package/build/dataloaders/findCountDataLoader.d.mts +19 -0
  369. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
  370. package/build/dataloaders/findCountDataLoader.js +113 -109
  371. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  372. package/build/dataloaders/findDataLoader.cjs +368 -0
  373. package/build/dataloaders/findDataLoader.cjs.map +1 -0
  374. package/build/dataloaders/findDataLoader.d.cts +79 -0
  375. package/build/dataloaders/findDataLoader.d.cts.map +1 -0
  376. package/build/dataloaders/findDataLoader.d.mts +79 -0
  377. package/build/dataloaders/findDataLoader.d.mts.map +1 -0
  378. package/build/dataloaders/findDataLoader.js +301 -382
  379. package/build/dataloaders/findDataLoader.js.map +1 -1
  380. package/build/dataloaders/findIdsDataLoader.cjs +83 -0
  381. package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
  382. package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
  383. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
  384. package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
  385. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
  386. package/build/dataloaders/findIdsDataLoader.js +78 -74
  387. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  388. package/build/dataloaders/findOrCreateDataLoader.cjs +121 -0
  389. package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
  390. package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
  391. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
  392. package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
  393. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
  394. package/build/dataloaders/findOrCreateDataLoader.js +103 -164
  395. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  396. package/build/dataloaders/findPaginatedDataLoader.cjs +99 -0
  397. package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
  398. package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
  399. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
  400. package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
  401. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
  402. package/build/dataloaders/findPaginatedDataLoader.js +94 -80
  403. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  404. package/build/dataloaders/lensDataLoader.cjs +178 -0
  405. package/build/dataloaders/lensDataLoader.cjs.map +1 -0
  406. package/build/dataloaders/lensDataLoader.d.cts +15 -0
  407. package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
  408. package/build/dataloaders/lensDataLoader.d.mts +15 -0
  409. package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
  410. package/build/dataloaders/lensDataLoader.js +172 -176
  411. package/build/dataloaders/lensDataLoader.js.map +1 -1
  412. package/build/dataloaders/manyToManyFindDataLoader.cjs +87 -0
  413. package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
  414. package/build/dataloaders/manyToManyFindDataLoader.d.cts +13 -0
  415. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
  416. package/build/dataloaders/manyToManyFindDataLoader.d.mts +13 -0
  417. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
  418. package/build/dataloaders/manyToManyFindDataLoader.js +79 -70
  419. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  420. package/build/dataloaders/oneToManyFindDataLoader.cjs +80 -0
  421. package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
  422. package/build/dataloaders/oneToManyFindDataLoader.d.cts +13 -0
  423. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
  424. package/build/dataloaders/oneToManyFindDataLoader.d.mts +13 -0
  425. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
  426. package/build/dataloaders/oneToManyFindDataLoader.js +74 -67
  427. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  428. package/build/defaults.cjs +195 -0
  429. package/build/defaults.cjs.map +1 -0
  430. package/build/defaults.d.cts +56 -0
  431. package/build/defaults.d.cts.map +1 -0
  432. package/build/defaults.d.mts +56 -0
  433. package/build/defaults.d.mts.map +1 -0
  434. package/build/defaults.js +171 -271
  435. package/build/defaults.js.map +1 -1
  436. package/build/driverApi.cjs +19 -0
  437. package/build/driverApi.cjs.map +1 -0
  438. package/build/driverApi.d.cts +22 -0
  439. package/build/driverApi.d.cts.map +1 -0
  440. package/build/driverApi.d.mts +22 -0
  441. package/build/driverApi.d.mts.map +1 -0
  442. package/build/driverApi.js +16 -15
  443. package/build/driverApi.js.map +1 -1
  444. package/build/drivers/Driver.cjs +5 -0
  445. package/build/drivers/Driver.d.cts +51 -0
  446. package/build/drivers/Driver.d.cts.map +1 -0
  447. package/build/drivers/Driver.d.mts +51 -0
  448. package/build/drivers/Driver.d.mts.map +1 -0
  449. package/build/drivers/Driver.js +5 -3
  450. package/build/drivers/EntityWriter.cjs +213 -0
  451. package/build/drivers/EntityWriter.cjs.map +1 -0
  452. package/build/drivers/EntityWriter.d.cts +66 -0
  453. package/build/drivers/EntityWriter.d.cts.map +1 -0
  454. package/build/drivers/EntityWriter.d.mts +66 -0
  455. package/build/drivers/EntityWriter.d.mts.map +1 -0
  456. package/build/drivers/EntityWriter.js +188 -219
  457. package/build/drivers/EntityWriter.js.map +1 -1
  458. package/build/drivers/IdAssigner.cjs +90 -0
  459. package/build/drivers/IdAssigner.cjs.map +1 -0
  460. package/build/drivers/IdAssigner.d.cts +50 -0
  461. package/build/drivers/IdAssigner.d.cts.map +1 -0
  462. package/build/drivers/IdAssigner.d.mts +50 -0
  463. package/build/drivers/IdAssigner.d.mts.map +1 -0
  464. package/build/drivers/IdAssigner.js +81 -124
  465. package/build/drivers/IdAssigner.js.map +1 -1
  466. package/build/drivers/buildRawQuery.cjs +113 -0
  467. package/build/drivers/buildRawQuery.cjs.map +1 -0
  468. package/build/drivers/buildRawQuery.d.cts +24 -0
  469. package/build/drivers/buildRawQuery.d.cts.map +1 -0
  470. package/build/drivers/buildRawQuery.d.mts +24 -0
  471. package/build/drivers/buildRawQuery.d.mts.map +1 -0
  472. package/build/drivers/buildRawQuery.js +102 -144
  473. package/build/drivers/buildRawQuery.js.map +1 -1
  474. package/build/drivers/buildUtils.cjs +67 -0
  475. package/build/drivers/buildUtils.cjs.map +1 -0
  476. package/build/drivers/buildUtils.d.cts +14 -0
  477. package/build/drivers/buildUtils.d.cts.map +1 -0
  478. package/build/drivers/buildUtils.d.mts +14 -0
  479. package/build/drivers/buildUtils.d.mts.map +1 -0
  480. package/build/drivers/buildUtils.js +54 -77
  481. package/build/drivers/buildUtils.js.map +1 -1
  482. package/build/drivers/index.cjs +13 -0
  483. package/build/drivers/index.d.cts +6 -0
  484. package/build/drivers/index.d.mts +6 -0
  485. package/build/drivers/index.js +5 -22
  486. package/build/execute.cjs +223 -0
  487. package/build/execute.cjs.map +1 -0
  488. package/build/execute.d.cts +188 -0
  489. package/build/execute.d.cts.map +1 -0
  490. package/build/execute.d.mts +188 -0
  491. package/build/execute.d.mts.map +1 -0
  492. package/build/execute.js +220 -0
  493. package/build/execute.js.map +1 -0
  494. package/build/fieldSerde.cjs +188 -0
  495. package/build/fieldSerde.cjs.map +1 -0
  496. package/build/fieldSerde.d.cts +87 -0
  497. package/build/fieldSerde.d.cts.map +1 -0
  498. package/build/fieldSerde.d.mts +87 -0
  499. package/build/fieldSerde.d.mts.map +1 -0
  500. package/build/fieldSerde.js +182 -0
  501. package/build/fieldSerde.js.map +1 -0
  502. package/build/fields.cjs +127 -0
  503. package/build/fields.cjs.map +1 -0
  504. package/build/fields.d.cts +29 -0
  505. package/build/fields.d.cts.map +1 -0
  506. package/build/fields.d.mts +29 -0
  507. package/build/fields.d.mts.map +1 -0
  508. package/build/fields.js +98 -160
  509. package/build/fields.js.map +1 -1
  510. package/build/getProperties.cjs +87 -0
  511. package/build/getProperties.cjs.map +1 -0
  512. package/build/getProperties.d.cts +30 -0
  513. package/build/getProperties.d.cts.map +1 -0
  514. package/build/getProperties.d.mts +30 -0
  515. package/build/getProperties.d.mts.map +1 -0
  516. package/build/getProperties.js +71 -128
  517. package/build/getProperties.js.map +1 -1
  518. package/build/index.cjs +515 -0
  519. package/build/index.cjs.map +1 -0
  520. package/build/index.d.cts +171 -0
  521. package/build/index.d.cts.map +1 -0
  522. package/build/index.d.mts +171 -0
  523. package/build/index.d.mts.map +1 -0
  524. package/build/index.js +167 -292
  525. package/build/index.js.map +1 -1
  526. package/build/json.cjs +79 -0
  527. package/build/json.cjs.map +1 -0
  528. package/build/json.d.cts +76 -0
  529. package/build/json.d.cts.map +1 -0
  530. package/build/json.d.mts +76 -0
  531. package/build/json.d.mts.map +1 -0
  532. package/build/json.js +68 -106
  533. package/build/json.js.map +1 -1
  534. package/build/k.cjs +9 -0
  535. package/build/k.cjs.map +1 -0
  536. package/build/k.d.cts +1 -0
  537. package/build/k.d.mts +1 -0
  538. package/build/k.js +6 -6
  539. package/build/k.js.map +1 -1
  540. package/build/keys.cjs +176 -0
  541. package/build/keys.cjs.map +1 -0
  542. package/build/keys.d.cts +53 -0
  543. package/build/keys.d.cts.map +1 -0
  544. package/build/keys.d.mts +53 -0
  545. package/build/keys.d.mts.map +1 -0
  546. package/build/keys.js +125 -162
  547. package/build/keys.js.map +1 -1
  548. package/build/keywords.cjs +136 -0
  549. package/build/keywords.cjs.map +1 -0
  550. package/build/keywords.d.cts +18 -0
  551. package/build/keywords.d.cts.map +1 -0
  552. package/build/keywords.d.mts +18 -0
  553. package/build/keywords.d.mts.map +1 -0
  554. package/build/keywords.js +124 -116
  555. package/build/keywords.js.map +1 -1
  556. package/build/loadHints.cjs +100 -0
  557. package/build/loadHints.cjs.map +1 -0
  558. package/build/loadHints.d.cts +116 -0
  559. package/build/loadHints.d.cts.map +1 -0
  560. package/build/loadHints.d.mts +116 -0
  561. package/build/loadHints.d.mts.map +1 -0
  562. package/build/loadHints.js +72 -108
  563. package/build/loadHints.js.map +1 -1
  564. package/build/loadLens.cjs +213 -0
  565. package/build/loadLens.cjs.map +1 -0
  566. package/build/loadLens.d.cts +77 -0
  567. package/build/loadLens.d.cts.map +1 -0
  568. package/build/loadLens.d.mts +77 -0
  569. package/build/loadLens.d.mts.map +1 -0
  570. package/build/loadLens.js +152 -270
  571. package/build/loadLens.js.map +1 -1
  572. package/build/logging/FactoryLogger.cjs +66 -0
  573. package/build/logging/FactoryLogger.cjs.map +1 -0
  574. package/build/logging/FactoryLogger.d.cts +27 -0
  575. package/build/logging/FactoryLogger.d.cts.map +1 -0
  576. package/build/logging/FactoryLogger.d.mts +27 -0
  577. package/build/logging/FactoryLogger.d.mts.map +1 -0
  578. package/build/logging/FactoryLogger.js +58 -73
  579. package/build/logging/FactoryLogger.js.map +1 -1
  580. package/build/logging/FieldLogger.cjs +57 -0
  581. package/build/logging/FieldLogger.cjs.map +1 -0
  582. package/build/logging/FieldLogger.d.cts +32 -0
  583. package/build/logging/FieldLogger.d.cts.map +1 -0
  584. package/build/logging/FieldLogger.d.mts +32 -0
  585. package/build/logging/FieldLogger.d.mts.map +1 -0
  586. package/build/logging/FieldLogger.js +51 -67
  587. package/build/logging/FieldLogger.js.map +1 -1
  588. package/build/logging/ReactionLogger.cjs +95 -0
  589. package/build/logging/ReactionLogger.cjs.map +1 -0
  590. package/build/logging/ReactionLogger.d.cts +37 -0
  591. package/build/logging/ReactionLogger.d.cts.map +1 -0
  592. package/build/logging/ReactionLogger.d.mts +37 -0
  593. package/build/logging/ReactionLogger.d.mts.map +1 -0
  594. package/build/logging/ReactionLogger.js +78 -66
  595. package/build/logging/ReactionLogger.js.map +1 -1
  596. package/build/newEntity.cjs +89 -0
  597. package/build/newEntity.cjs.map +1 -0
  598. package/build/newEntity.d.cts +48 -0
  599. package/build/newEntity.d.cts.map +1 -0
  600. package/build/newEntity.d.mts +48 -0
  601. package/build/newEntity.d.mts.map +1 -0
  602. package/build/newEntity.js +71 -94
  603. package/build/newEntity.js.map +1 -1
  604. package/build/newTestInstance.cjs +539 -0
  605. package/build/newTestInstance.cjs.map +1 -0
  606. package/build/newTestInstance.d.cts +207 -0
  607. package/build/newTestInstance.d.cts.map +1 -0
  608. package/build/newTestInstance.d.mts +207 -0
  609. package/build/newTestInstance.d.mts.map +1 -0
  610. package/build/newTestInstance.js +459 -721
  611. package/build/newTestInstance.js.map +1 -1
  612. package/build/normalizeHints.cjs +60 -0
  613. package/build/normalizeHints.cjs.map +1 -0
  614. package/build/normalizeHints.d.cts +24 -0
  615. package/build/normalizeHints.d.cts.map +1 -0
  616. package/build/normalizeHints.d.mts +24 -0
  617. package/build/normalizeHints.d.mts.map +1 -0
  618. package/build/normalizeHints.js +42 -55
  619. package/build/normalizeHints.js.map +1 -1
  620. package/build/nowUTC.cjs +15 -0
  621. package/build/nowUTC.cjs.map +1 -0
  622. package/build/nowUTC.d.cts +10 -0
  623. package/build/nowUTC.d.cts.map +1 -0
  624. package/build/nowUTC.d.mts +10 -0
  625. package/build/nowUTC.d.mts.map +1 -0
  626. package/build/nowUTC.js +14 -0
  627. package/build/nowUTC.js.map +1 -0
  628. package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
  629. package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
  630. package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
  631. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
  632. package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
  633. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
  634. package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
  635. package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
  636. package/build/plugins/PreloadPlugin.cjs +6 -0
  637. package/build/plugins/PreloadPlugin.d.cts +77 -0
  638. package/build/plugins/PreloadPlugin.d.cts.map +1 -0
  639. package/build/plugins/PreloadPlugin.d.mts +77 -0
  640. package/build/plugins/PreloadPlugin.d.mts.map +1 -0
  641. package/build/plugins/PreloadPlugin.js +6 -3
  642. package/build/preloading/JsonAggregatePreloader.cjs +283 -0
  643. package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
  644. package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
  645. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
  646. package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
  647. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
  648. package/build/preloading/JsonAggregatePreloader.js +273 -320
  649. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  650. package/build/preloading/canPreload.cjs +19 -0
  651. package/build/preloading/canPreload.cjs.map +1 -0
  652. package/build/preloading/canPreload.d.cts +6 -0
  653. package/build/preloading/canPreload.d.cts.map +1 -0
  654. package/build/preloading/canPreload.d.mts +6 -0
  655. package/build/preloading/canPreload.d.mts.map +1 -0
  656. package/build/preloading/canPreload.js +15 -21
  657. package/build/preloading/canPreload.js.map +1 -1
  658. package/build/preloading/partitionHint.cjs +44 -0
  659. package/build/preloading/partitionHint.cjs.map +1 -0
  660. package/build/preloading/partitionHint.d.cts +8 -0
  661. package/build/preloading/partitionHint.d.cts.map +1 -0
  662. package/build/preloading/partitionHint.d.mts +8 -0
  663. package/build/preloading/partitionHint.d.mts.map +1 -0
  664. package/build/preloading/partitionHint.js +37 -56
  665. package/build/preloading/partitionHint.js.map +1 -1
  666. package/build/query.cjs +1065 -0
  667. package/build/query.cjs.map +1 -0
  668. package/build/query.d.cts +3864 -0
  669. package/build/query.d.cts.map +1 -0
  670. package/build/query.d.mts +3864 -0
  671. package/build/query.d.mts.map +1 -0
  672. package/build/query.js +1054 -0
  673. package/build/query.js.map +1 -0
  674. package/build/reactiveHints.cjs +332 -0
  675. package/build/reactiveHints.cjs.map +1 -0
  676. package/build/reactiveHints.d.cts +143 -0
  677. package/build/reactiveHints.d.cts.map +1 -0
  678. package/build/reactiveHints.d.mts +143 -0
  679. package/build/reactiveHints.d.mts.map +1 -0
  680. package/build/reactiveHints.js +291 -475
  681. package/build/reactiveHints.js.map +1 -1
  682. package/build/relations/AbstractPropertyImpl.cjs +16 -0
  683. package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
  684. package/build/relations/AbstractPropertyImpl.d.cts +11 -0
  685. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
  686. package/build/relations/AbstractPropertyImpl.d.mts +11 -0
  687. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
  688. package/build/relations/AbstractPropertyImpl.js +13 -13
  689. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  690. package/build/relations/AbstractRelationImpl.cjs +20 -0
  691. package/build/relations/AbstractRelationImpl.cjs.map +1 -0
  692. package/build/relations/AbstractRelationImpl.d.cts +44 -0
  693. package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
  694. package/build/relations/AbstractRelationImpl.d.mts +44 -0
  695. package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
  696. package/build/relations/AbstractRelationImpl.js +14 -15
  697. package/build/relations/AbstractRelationImpl.js.map +1 -1
  698. package/build/relations/AsyncProperty.cjs +75 -0
  699. package/build/relations/AsyncProperty.cjs.map +1 -0
  700. package/build/relations/AsyncProperty.d.cts +40 -0
  701. package/build/relations/AsyncProperty.d.cts.map +1 -0
  702. package/build/relations/AsyncProperty.d.mts +40 -0
  703. package/build/relations/AsyncProperty.d.mts.map +1 -0
  704. package/build/relations/AsyncProperty.js +61 -70
  705. package/build/relations/AsyncProperty.js.map +1 -1
  706. package/build/relations/AsyncReactiveField.cjs +110 -0
  707. package/build/relations/AsyncReactiveField.cjs.map +1 -0
  708. package/build/relations/AsyncReactiveField.d.cts +50 -0
  709. package/build/relations/AsyncReactiveField.d.cts.map +1 -0
  710. package/build/relations/AsyncReactiveField.d.mts +50 -0
  711. package/build/relations/AsyncReactiveField.d.mts.map +1 -0
  712. package/build/relations/AsyncReactiveField.js +97 -116
  713. package/build/relations/AsyncReactiveField.js.map +1 -1
  714. package/build/relations/Collection.cjs +23 -0
  715. package/build/relations/Collection.cjs.map +1 -0
  716. package/build/relations/Collection.d.cts +37 -0
  717. package/build/relations/Collection.d.cts.map +1 -0
  718. package/build/relations/Collection.d.mts +37 -0
  719. package/build/relations/Collection.d.mts.map +1 -0
  720. package/build/relations/Collection.js +14 -11
  721. package/build/relations/Collection.js.map +1 -1
  722. package/build/relations/CustomCollection.cjs +144 -0
  723. package/build/relations/CustomCollection.cjs.map +1 -0
  724. package/build/relations/CustomCollection.d.cts +74 -0
  725. package/build/relations/CustomCollection.d.cts.map +1 -0
  726. package/build/relations/CustomCollection.d.mts +74 -0
  727. package/build/relations/CustomCollection.d.mts.map +1 -0
  728. package/build/relations/CustomCollection.js +138 -162
  729. package/build/relations/CustomCollection.js.map +1 -1
  730. package/build/relations/CustomReference.cjs +142 -0
  731. package/build/relations/CustomReference.cjs.map +1 -0
  732. package/build/relations/CustomReference.d.cts +76 -0
  733. package/build/relations/CustomReference.d.cts.map +1 -0
  734. package/build/relations/CustomReference.d.mts +76 -0
  735. package/build/relations/CustomReference.d.mts.map +1 -0
  736. package/build/relations/CustomReference.js +135 -147
  737. package/build/relations/CustomReference.js.map +1 -1
  738. package/build/relations/EnumCollection.cjs +178 -0
  739. package/build/relations/EnumCollection.cjs.map +1 -0
  740. package/build/relations/EnumCollection.d.cts +86 -0
  741. package/build/relations/EnumCollection.d.cts.map +1 -0
  742. package/build/relations/EnumCollection.d.mts +86 -0
  743. package/build/relations/EnumCollection.d.mts.map +1 -0
  744. package/build/relations/EnumCollection.js +172 -207
  745. package/build/relations/EnumCollection.js.map +1 -1
  746. package/build/relations/LargeCollection.cjs +4 -0
  747. package/build/relations/LargeCollection.d.cts +22 -0
  748. package/build/relations/LargeCollection.d.cts.map +1 -0
  749. package/build/relations/LargeCollection.d.mts +22 -0
  750. package/build/relations/LargeCollection.d.mts.map +1 -0
  751. package/build/relations/LargeCollection.js +4 -3
  752. package/build/relations/LazyField.cjs +141 -0
  753. package/build/relations/LazyField.cjs.map +1 -0
  754. package/build/relations/LazyField.d.cts +51 -0
  755. package/build/relations/LazyField.d.cts.map +1 -0
  756. package/build/relations/LazyField.d.mts +51 -0
  757. package/build/relations/LazyField.d.mts.map +1 -0
  758. package/build/relations/LazyField.js +135 -0
  759. package/build/relations/LazyField.js.map +1 -0
  760. package/build/relations/ManyToManyCollection.cjs +420 -0
  761. package/build/relations/ManyToManyCollection.cjs.map +1 -0
  762. package/build/relations/ManyToManyCollection.d.cts +59 -0
  763. package/build/relations/ManyToManyCollection.d.cts.map +1 -0
  764. package/build/relations/ManyToManyCollection.d.mts +59 -0
  765. package/build/relations/ManyToManyCollection.d.mts.map +1 -0
  766. package/build/relations/ManyToManyCollection.js +410 -471
  767. package/build/relations/ManyToManyCollection.js.map +1 -1
  768. package/build/relations/ManyToManyLargeCollection.cjs +91 -0
  769. package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
  770. package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
  771. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
  772. package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
  773. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
  774. package/build/relations/ManyToManyLargeCollection.js +85 -118
  775. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  776. package/build/relations/ManyToOneReference.cjs +363 -0
  777. package/build/relations/ManyToOneReference.cjs.map +1 -0
  778. package/build/relations/ManyToOneReference.d.cts +121 -0
  779. package/build/relations/ManyToOneReference.d.cts.map +1 -0
  780. package/build/relations/ManyToOneReference.d.mts +121 -0
  781. package/build/relations/ManyToOneReference.d.mts.map +1 -0
  782. package/build/relations/ManyToOneReference.js +343 -411
  783. package/build/relations/ManyToOneReference.js.map +1 -1
  784. package/build/relations/OneToManyCollection.cjs +492 -0
  785. package/build/relations/OneToManyCollection.cjs.map +1 -0
  786. package/build/relations/OneToManyCollection.d.cts +69 -0
  787. package/build/relations/OneToManyCollection.d.cts.map +1 -0
  788. package/build/relations/OneToManyCollection.d.mts +69 -0
  789. package/build/relations/OneToManyCollection.d.mts.map +1 -0
  790. package/build/relations/OneToManyCollection.js +480 -579
  791. package/build/relations/OneToManyCollection.js.map +1 -1
  792. package/build/relations/OneToManyLargeCollection.cjs +85 -0
  793. package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
  794. package/build/relations/OneToManyLargeCollection.d.cts +29 -0
  795. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
  796. package/build/relations/OneToManyLargeCollection.d.mts +29 -0
  797. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
  798. package/build/relations/OneToManyLargeCollection.js +79 -99
  799. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  800. package/build/relations/OneToOneReference.cjs +208 -0
  801. package/build/relations/OneToOneReference.cjs.map +1 -0
  802. package/build/relations/OneToOneReference.d.cts +97 -0
  803. package/build/relations/OneToOneReference.d.cts.map +1 -0
  804. package/build/relations/OneToOneReference.d.mts +97 -0
  805. package/build/relations/OneToOneReference.d.mts.map +1 -0
  806. package/build/relations/OneToOneReference.js +192 -221
  807. package/build/relations/OneToOneReference.js.map +1 -1
  808. package/build/relations/PolymorphicReference.cjs +209 -0
  809. package/build/relations/PolymorphicReference.cjs.map +1 -0
  810. package/build/relations/PolymorphicReference.d.cts +93 -0
  811. package/build/relations/PolymorphicReference.d.cts.map +1 -0
  812. package/build/relations/PolymorphicReference.d.mts +93 -0
  813. package/build/relations/PolymorphicReference.d.mts.map +1 -0
  814. package/build/relations/PolymorphicReference.js +199 -237
  815. package/build/relations/PolymorphicReference.js.map +1 -1
  816. package/build/relations/PropertySymbols.cjs +7 -0
  817. package/build/relations/PropertySymbols.cjs.map +1 -0
  818. package/build/relations/PropertySymbols.d.cts +5 -0
  819. package/build/relations/PropertySymbols.d.cts.map +1 -0
  820. package/build/relations/PropertySymbols.d.mts +5 -0
  821. package/build/relations/PropertySymbols.d.mts.map +1 -0
  822. package/build/relations/PropertySymbols.js +6 -0
  823. package/build/relations/PropertySymbols.js.map +1 -0
  824. package/build/relations/ReactiveField.cjs +115 -0
  825. package/build/relations/ReactiveField.cjs.map +1 -0
  826. package/build/relations/ReactiveField.d.cts +88 -0
  827. package/build/relations/ReactiveField.d.cts.map +1 -0
  828. package/build/relations/ReactiveField.d.mts +88 -0
  829. package/build/relations/ReactiveField.d.mts.map +1 -0
  830. package/build/relations/ReactiveField.js +105 -137
  831. package/build/relations/ReactiveField.js.map +1 -1
  832. package/build/relations/ReactiveGetter.cjs +41 -0
  833. package/build/relations/ReactiveGetter.cjs.map +1 -0
  834. package/build/relations/ReactiveGetter.d.cts +33 -0
  835. package/build/relations/ReactiveGetter.d.cts.map +1 -0
  836. package/build/relations/ReactiveGetter.d.mts +33 -0
  837. package/build/relations/ReactiveGetter.d.mts.map +1 -0
  838. package/build/relations/ReactiveGetter.js +31 -31
  839. package/build/relations/ReactiveGetter.js.map +1 -1
  840. package/build/relations/ReactiveManyToMany.cjs +198 -0
  841. package/build/relations/ReactiveManyToMany.cjs.map +1 -0
  842. package/build/relations/ReactiveManyToMany.d.cts +63 -0
  843. package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
  844. package/build/relations/ReactiveManyToMany.d.mts +63 -0
  845. package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
  846. package/build/relations/ReactiveManyToMany.js +187 -238
  847. package/build/relations/ReactiveManyToMany.js.map +1 -1
  848. package/build/relations/ReactiveManyToManyOtherSide.cjs +150 -0
  849. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
  850. package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
  851. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
  852. package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
  853. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
  854. package/build/relations/ReactiveManyToManyOtherSide.js +141 -152
  855. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  856. package/build/relations/ReactiveReference.cjs +336 -0
  857. package/build/relations/ReactiveReference.cjs.map +1 -0
  858. package/build/relations/ReactiveReference.d.cts +124 -0
  859. package/build/relations/ReactiveReference.d.cts.map +1 -0
  860. package/build/relations/ReactiveReference.d.mts +124 -0
  861. package/build/relations/ReactiveReference.d.mts.map +1 -0
  862. package/build/relations/ReactiveReference.js +321 -385
  863. package/build/relations/ReactiveReference.js.map +1 -1
  864. package/build/relations/ReadOnlyCollection.cjs +18 -0
  865. package/build/relations/ReadOnlyCollection.cjs.map +1 -0
  866. package/build/relations/ReadOnlyCollection.d.cts +22 -0
  867. package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
  868. package/build/relations/ReadOnlyCollection.d.mts +22 -0
  869. package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
  870. package/build/relations/ReadOnlyCollection.js +9 -9
  871. package/build/relations/ReadOnlyCollection.js.map +1 -1
  872. package/build/relations/RecursiveCollection.cjs +387 -0
  873. package/build/relations/RecursiveCollection.cjs.map +1 -0
  874. package/build/relations/RecursiveCollection.d.cts +112 -0
  875. package/build/relations/RecursiveCollection.d.cts.map +1 -0
  876. package/build/relations/RecursiveCollection.d.mts +112 -0
  877. package/build/relations/RecursiveCollection.d.mts.map +1 -0
  878. package/build/relations/RecursiveCollection.js +368 -427
  879. package/build/relations/RecursiveCollection.js.map +1 -1
  880. package/build/relations/RecursiveCycleError.cjs +17 -0
  881. package/build/relations/RecursiveCycleError.cjs.map +1 -0
  882. package/build/relations/RecursiveCycleError.d.cts +15 -0
  883. package/build/relations/RecursiveCycleError.d.cts.map +1 -0
  884. package/build/relations/RecursiveCycleError.d.mts +15 -0
  885. package/build/relations/RecursiveCycleError.d.mts.map +1 -0
  886. package/build/relations/RecursiveCycleError.js +14 -13
  887. package/build/relations/RecursiveCycleError.js.map +1 -1
  888. package/build/relations/Reference.cjs +25 -0
  889. package/build/relations/Reference.cjs.map +1 -0
  890. package/build/relations/Reference.d.cts +39 -0
  891. package/build/relations/Reference.d.cts.map +1 -0
  892. package/build/relations/Reference.d.mts +39 -0
  893. package/build/relations/Reference.d.mts.map +1 -0
  894. package/build/relations/Reference.js +15 -14
  895. package/build/relations/Reference.js.map +1 -1
  896. package/build/relations/ReferenceSymbols.cjs +7 -0
  897. package/build/relations/ReferenceSymbols.cjs.map +1 -0
  898. package/build/relations/ReferenceSymbols.d.cts +5 -0
  899. package/build/relations/ReferenceSymbols.d.cts.map +1 -0
  900. package/build/relations/ReferenceSymbols.d.mts +5 -0
  901. package/build/relations/ReferenceSymbols.d.mts.map +1 -0
  902. package/build/relations/ReferenceSymbols.js +6 -0
  903. package/build/relations/ReferenceSymbols.js.map +1 -0
  904. package/build/relations/Relation.cjs +17 -0
  905. package/build/relations/Relation.cjs.map +1 -0
  906. package/build/relations/Relation.d.cts +16 -0
  907. package/build/relations/Relation.d.cts.map +1 -0
  908. package/build/relations/Relation.d.mts +16 -0
  909. package/build/relations/Relation.d.mts.map +1 -0
  910. package/build/relations/Relation.js +10 -8
  911. package/build/relations/Relation.js.map +1 -1
  912. package/build/relations/RelationSymbols.cjs +9 -0
  913. package/build/relations/RelationSymbols.cjs.map +1 -0
  914. package/build/relations/RelationSymbols.d.cts +6 -0
  915. package/build/relations/RelationSymbols.d.cts.map +1 -0
  916. package/build/relations/RelationSymbols.d.mts +6 -0
  917. package/build/relations/RelationSymbols.d.mts.map +1 -0
  918. package/build/relations/RelationSymbols.js +7 -0
  919. package/build/relations/RelationSymbols.js.map +1 -0
  920. package/build/relations/hasAsyncMethod.cjs +47 -0
  921. package/build/relations/hasAsyncMethod.cjs.map +1 -0
  922. package/build/relations/hasAsyncMethod.d.cts +29 -0
  923. package/build/relations/hasAsyncMethod.d.cts.map +1 -0
  924. package/build/relations/hasAsyncMethod.d.mts +29 -0
  925. package/build/relations/hasAsyncMethod.d.mts.map +1 -0
  926. package/build/relations/hasAsyncMethod.js +40 -43
  927. package/build/relations/hasAsyncMethod.js.map +1 -1
  928. package/build/relations/hasManyDerived.cjs +35 -0
  929. package/build/relations/hasManyDerived.cjs.map +1 -0
  930. package/build/relations/hasManyDerived.d.cts +25 -0
  931. package/build/relations/hasManyDerived.d.cts.map +1 -0
  932. package/build/relations/hasManyDerived.d.mts +25 -0
  933. package/build/relations/hasManyDerived.d.mts.map +1 -0
  934. package/build/relations/hasManyDerived.js +30 -28
  935. package/build/relations/hasManyDerived.js.map +1 -1
  936. package/build/relations/hasManyThrough.cjs +29 -0
  937. package/build/relations/hasManyThrough.cjs.map +1 -0
  938. package/build/relations/hasManyThrough.d.cts +16 -0
  939. package/build/relations/hasManyThrough.d.cts.map +1 -0
  940. package/build/relations/hasManyThrough.d.mts +16 -0
  941. package/build/relations/hasManyThrough.d.mts.map +1 -0
  942. package/build/relations/hasManyThrough.js +24 -20
  943. package/build/relations/hasManyThrough.js.map +1 -1
  944. package/build/relations/hasOneDerived.cjs +32 -0
  945. package/build/relations/hasOneDerived.cjs.map +1 -0
  946. package/build/relations/hasOneDerived.d.cts +15 -0
  947. package/build/relations/hasOneDerived.d.cts.map +1 -0
  948. package/build/relations/hasOneDerived.d.mts +15 -0
  949. package/build/relations/hasOneDerived.d.mts.map +1 -0
  950. package/build/relations/hasOneDerived.js +27 -20
  951. package/build/relations/hasOneDerived.js.map +1 -1
  952. package/build/relations/hasOneThrough.cjs +31 -0
  953. package/build/relations/hasOneThrough.cjs.map +1 -0
  954. package/build/relations/hasOneThrough.d.cts +16 -0
  955. package/build/relations/hasOneThrough.d.cts.map +1 -0
  956. package/build/relations/hasOneThrough.d.mts +16 -0
  957. package/build/relations/hasOneThrough.d.mts.map +1 -0
  958. package/build/relations/hasOneThrough.js +26 -22
  959. package/build/relations/hasOneThrough.js.map +1 -1
  960. package/build/relations/hasProperty.cjs +109 -0
  961. package/build/relations/hasProperty.cjs.map +1 -0
  962. package/build/relations/hasProperty.d.cts +53 -0
  963. package/build/relations/hasProperty.d.cts.map +1 -0
  964. package/build/relations/hasProperty.d.mts +53 -0
  965. package/build/relations/hasProperty.d.mts.map +1 -0
  966. package/build/relations/hasProperty.js +90 -95
  967. package/build/relations/hasProperty.js.map +1 -1
  968. package/build/relations/index.cjs +99 -0
  969. package/build/relations/index.d.cts +32 -0
  970. package/build/relations/index.d.mts +32 -0
  971. package/build/relations/index.js +31 -97
  972. package/build/resurrection.cjs +74 -0
  973. package/build/resurrection.cjs.map +1 -0
  974. package/build/resurrection.d.cts +13 -0
  975. package/build/resurrection.d.cts.map +1 -0
  976. package/build/resurrection.d.mts +13 -0
  977. package/build/resurrection.d.mts.map +1 -0
  978. package/build/resurrection.js +48 -69
  979. package/build/resurrection.js.map +1 -1
  980. package/build/rules.cjs +228 -0
  981. package/build/rules.cjs.map +1 -0
  982. package/build/rules.d.cts +145 -0
  983. package/build/rules.d.cts.map +1 -0
  984. package/build/rules.d.mts +145 -0
  985. package/build/rules.d.mts.map +1 -0
  986. package/build/rules.js +190 -204
  987. package/build/rules.js.map +1 -1
  988. package/build/runtimeConfig.cjs +25 -0
  989. package/build/runtimeConfig.cjs.map +1 -0
  990. package/build/runtimeConfig.d.cts +24 -0
  991. package/build/runtimeConfig.d.cts.map +1 -0
  992. package/build/runtimeConfig.d.mts +24 -0
  993. package/build/runtimeConfig.d.mts.map +1 -0
  994. package/build/runtimeConfig.js +16 -12
  995. package/build/runtimeConfig.js.map +1 -1
  996. package/build/scopes.cjs +302 -0
  997. package/build/scopes.cjs.map +1 -0
  998. package/build/scopes.d.cts +188 -0
  999. package/build/scopes.d.cts.map +1 -0
  1000. package/build/scopes.d.mts +188 -0
  1001. package/build/scopes.d.mts.map +1 -0
  1002. package/build/scopes.js +240 -245
  1003. package/build/scopes.js.map +1 -1
  1004. package/build/serde.cjs +500 -0
  1005. package/build/serde.cjs.map +1 -0
  1006. package/build/serde.d.cts +248 -0
  1007. package/build/serde.d.cts.map +1 -0
  1008. package/build/serde.d.mts +248 -0
  1009. package/build/serde.d.mts.map +1 -0
  1010. package/build/serde.js +474 -505
  1011. package/build/serde.js.map +1 -1
  1012. package/build/skipCondition.cjs +15 -0
  1013. package/build/skipCondition.cjs.map +1 -0
  1014. package/build/skipCondition.d.cts +7 -0
  1015. package/build/skipCondition.d.cts.map +1 -0
  1016. package/build/skipCondition.d.mts +7 -0
  1017. package/build/skipCondition.d.mts.map +1 -0
  1018. package/build/skipCondition.js +14 -0
  1019. package/build/skipCondition.js.map +1 -0
  1020. package/build/temporal.cjs +57 -0
  1021. package/build/temporal.cjs.map +1 -0
  1022. package/build/temporal.d.cts +44 -0
  1023. package/build/temporal.d.cts.map +1 -0
  1024. package/build/temporal.d.mts +44 -0
  1025. package/build/temporal.d.mts.map +1 -0
  1026. package/build/temporal.js +47 -58
  1027. package/build/temporal.js.map +1 -1
  1028. package/build/temporalMappers.cjs +63 -0
  1029. package/build/temporalMappers.cjs.map +1 -0
  1030. package/build/temporalMappers.d.cts +36 -0
  1031. package/build/temporalMappers.d.cts.map +1 -0
  1032. package/build/temporalMappers.d.mts +36 -0
  1033. package/build/temporalMappers.d.mts.map +1 -0
  1034. package/build/temporalMappers.js +55 -55
  1035. package/build/temporalMappers.js.map +1 -1
  1036. package/build/trusted.cjs +16 -0
  1037. package/build/trusted.cjs.map +1 -0
  1038. package/build/trusted.d.cts +8 -0
  1039. package/build/trusted.d.cts.map +1 -0
  1040. package/build/trusted.d.mts +8 -0
  1041. package/build/trusted.d.mts.map +1 -0
  1042. package/build/trusted.js +8 -8
  1043. package/build/trusted.js.map +1 -1
  1044. package/build/typeMap.cjs +3 -0
  1045. package/build/typeMap.d.cts +88 -0
  1046. package/build/typeMap.d.cts.map +1 -0
  1047. package/build/typeMap.d.mts +88 -0
  1048. package/build/typeMap.d.mts.map +1 -0
  1049. package/build/typeMap.js +3 -3
  1050. package/build/unnest.cjs +64 -0
  1051. package/build/unnest.cjs.map +1 -0
  1052. package/build/unnest.d.cts +16 -0
  1053. package/build/unnest.d.cts.map +1 -0
  1054. package/build/unnest.d.mts +16 -0
  1055. package/build/unnest.d.mts.map +1 -0
  1056. package/build/unnest.js +50 -73
  1057. package/build/unnest.js.map +1 -1
  1058. package/build/upsert.cjs +175 -0
  1059. package/build/upsert.cjs.map +1 -0
  1060. package/build/upsert.d.cts +42 -0
  1061. package/build/upsert.d.cts.map +1 -0
  1062. package/build/upsert.d.mts +42 -0
  1063. package/build/upsert.d.mts.map +1 -0
  1064. package/build/upsert.js +159 -274
  1065. package/build/upsert.js.map +1 -1
  1066. package/build/utils.cjs +206 -0
  1067. package/build/utils.cjs.map +1 -0
  1068. package/build/utils.d.cts +65 -0
  1069. package/build/utils.d.cts.map +1 -0
  1070. package/build/utils.d.mts +65 -0
  1071. package/build/utils.d.mts.map +1 -0
  1072. package/build/utils.js +125 -192
  1073. package/build/utils.js.map +1 -1
  1074. package/build/withLoaded.cjs +65 -0
  1075. package/build/withLoaded.cjs.map +1 -0
  1076. package/build/withLoaded.d.cts +65 -0
  1077. package/build/withLoaded.d.cts.map +1 -0
  1078. package/build/withLoaded.d.mts +65 -0
  1079. package/build/withLoaded.d.mts.map +1 -0
  1080. package/build/withLoaded.js +56 -70
  1081. package/build/withLoaded.js.map +1 -1
  1082. package/package.json +34 -14
  1083. package/build/AliasAssigner.d.ts +0 -10
  1084. package/build/AliasAssigner.d.ts.map +0 -1
  1085. package/build/Aliases.d.ts +0 -117
  1086. package/build/Aliases.d.ts.map +0 -1
  1087. package/build/BaseEntity.d.ts +0 -68
  1088. package/build/BaseEntity.d.ts.map +0 -1
  1089. package/build/ConditionBuilder.d.ts +0 -29
  1090. package/build/ConditionBuilder.d.ts.map +0 -1
  1091. package/build/Entity.d.ts +0 -39
  1092. package/build/Entity.d.ts.map +0 -1
  1093. package/build/EntityFields.d.ts +0 -37
  1094. package/build/EntityFields.d.ts.map +0 -1
  1095. package/build/EntityFields.js.map +0 -1
  1096. package/build/EntityFilter.d.ts +0 -134
  1097. package/build/EntityFilter.d.ts.map +0 -1
  1098. package/build/EntityGraphQLFilter.d.ts +0 -56
  1099. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  1100. package/build/EntityManager.d.ts +0 -740
  1101. package/build/EntityManager.d.ts.map +0 -1
  1102. package/build/EntityMetadata.d.ts +0 -233
  1103. package/build/EntityMetadata.d.ts.map +0 -1
  1104. package/build/EnumMetadata.d.ts +0 -15
  1105. package/build/EnumMetadata.d.ts.map +0 -1
  1106. package/build/EnumMetadata.js.map +0 -1
  1107. package/build/FlushLock.d.ts +0 -26
  1108. package/build/FlushLock.d.ts.map +0 -1
  1109. package/build/HintTree.d.ts +0 -42
  1110. package/build/HintTree.d.ts.map +0 -1
  1111. package/build/IndexManager.d.ts +0 -31
  1112. package/build/IndexManager.d.ts.map +0 -1
  1113. package/build/InstanceData.d.ts +0 -79
  1114. package/build/InstanceData.d.ts.map +0 -1
  1115. package/build/IsLoadedCache.d.ts +0 -32
  1116. package/build/IsLoadedCache.d.ts.map +0 -1
  1117. package/build/JoinRows.d.ts +0 -117
  1118. package/build/JoinRows.d.ts.map +0 -1
  1119. package/build/PendingChanges.d.ts +0 -26
  1120. package/build/PendingChanges.d.ts.map +0 -1
  1121. package/build/PendingChanges.js.map +0 -1
  1122. package/build/PluginManager.d.ts +0 -102
  1123. package/build/PluginManager.d.ts.map +0 -1
  1124. package/build/QueryParser.collectionJoins.d.ts +0 -27
  1125. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  1126. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  1127. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  1128. package/build/QueryParser.collectionJoins.test.js +0 -772
  1129. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  1130. package/build/QueryParser.d.ts +0 -336
  1131. package/build/QueryParser.d.ts.map +0 -1
  1132. package/build/QueryParser.pruning.d.ts +0 -7
  1133. package/build/QueryParser.pruning.d.ts.map +0 -1
  1134. package/build/QueryParser.pruning.test.d.ts +0 -2
  1135. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  1136. package/build/QueryParser.pruning.test.js +0 -106
  1137. package/build/QueryParser.pruning.test.js.map +0 -1
  1138. package/build/QueryParser.test.d.ts +0 -2
  1139. package/build/QueryParser.test.d.ts.map +0 -1
  1140. package/build/QueryParser.test.js +0 -27
  1141. package/build/QueryParser.test.js.map +0 -1
  1142. package/build/QueryVisitor.d.ts +0 -19
  1143. package/build/QueryVisitor.d.ts.map +0 -1
  1144. package/build/ReactionsManager.d.ts +0 -85
  1145. package/build/ReactionsManager.d.ts.map +0 -1
  1146. package/build/Todo.d.ts +0 -35
  1147. package/build/Todo.d.ts.map +0 -1
  1148. package/build/batchloaders/BatchLoader.d.ts +0 -14
  1149. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  1150. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
  1151. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  1152. package/build/batchloaders/loadBatchLoader.d.ts +0 -17
  1153. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  1154. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
  1155. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  1156. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
  1157. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  1158. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
  1159. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  1160. package/build/batchloaders/populateBatchLoader.d.ts +0 -13
  1161. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  1162. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
  1163. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  1164. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
  1165. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  1166. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
  1167. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  1168. package/build/changes.d.ts +0 -92
  1169. package/build/changes.d.ts.map +0 -1
  1170. package/build/config.d.ts +0 -250
  1171. package/build/config.d.ts.map +0 -1
  1172. package/build/config.test.d.ts +0 -2
  1173. package/build/config.test.d.ts.map +0 -1
  1174. package/build/config.test.js +0 -53
  1175. package/build/config.test.js.map +0 -1
  1176. package/build/configure.d.ts +0 -15
  1177. package/build/configure.d.ts.map +0 -1
  1178. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
  1179. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  1180. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  1181. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  1182. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  1183. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  1184. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  1185. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  1186. package/build/dataloaders/findCountDataLoader.d.ts +0 -16
  1187. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  1188. package/build/dataloaders/findDataLoader.d.ts +0 -76
  1189. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  1190. package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
  1191. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  1192. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  1193. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  1194. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
  1195. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  1196. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  1197. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  1198. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  1199. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  1200. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  1201. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  1202. package/build/defaults.d.ts +0 -54
  1203. package/build/defaults.d.ts.map +0 -1
  1204. package/build/driverApi.d.ts +0 -19
  1205. package/build/driverApi.d.ts.map +0 -1
  1206. package/build/drivers/Driver.d.ts +0 -26
  1207. package/build/drivers/Driver.d.ts.map +0 -1
  1208. package/build/drivers/Driver.js.map +0 -1
  1209. package/build/drivers/EntityWriter.d.ts +0 -64
  1210. package/build/drivers/EntityWriter.d.ts.map +0 -1
  1211. package/build/drivers/IdAssigner.d.ts +0 -48
  1212. package/build/drivers/IdAssigner.d.ts.map +0 -1
  1213. package/build/drivers/buildRawQuery.d.ts +0 -22
  1214. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  1215. package/build/drivers/buildUtils.d.ts +0 -9
  1216. package/build/drivers/buildUtils.d.ts.map +0 -1
  1217. package/build/drivers/index.d.ts +0 -6
  1218. package/build/drivers/index.d.ts.map +0 -1
  1219. package/build/drivers/index.js.map +0 -1
  1220. package/build/fields.d.ts +0 -26
  1221. package/build/fields.d.ts.map +0 -1
  1222. package/build/getProperties.d.ts +0 -28
  1223. package/build/getProperties.d.ts.map +0 -1
  1224. package/build/index.d.ts +0 -133
  1225. package/build/index.d.ts.map +0 -1
  1226. package/build/json.d.ts +0 -77
  1227. package/build/json.d.ts.map +0 -1
  1228. package/build/k.d.ts +0 -2
  1229. package/build/k.d.ts.map +0 -1
  1230. package/build/keys.d.ts +0 -49
  1231. package/build/keys.d.ts.map +0 -1
  1232. package/build/keywords.d.ts +0 -5
  1233. package/build/keywords.d.ts.map +0 -1
  1234. package/build/loadHints.d.ts +0 -121
  1235. package/build/loadHints.d.ts.map +0 -1
  1236. package/build/loadLens.d.ts +0 -77
  1237. package/build/loadLens.d.ts.map +0 -1
  1238. package/build/logging/FactoryLogger.d.ts +0 -24
  1239. package/build/logging/FactoryLogger.d.ts.map +0 -1
  1240. package/build/logging/FieldLogger.d.ts +0 -27
  1241. package/build/logging/FieldLogger.d.ts.map +0 -1
  1242. package/build/logging/ReactionLogger.d.ts +0 -27
  1243. package/build/logging/ReactionLogger.d.ts.map +0 -1
  1244. package/build/newEntity.d.ts +0 -45
  1245. package/build/newEntity.d.ts.map +0 -1
  1246. package/build/newTestInstance.d.ts +0 -208
  1247. package/build/newTestInstance.d.ts.map +0 -1
  1248. package/build/normalizeHints.d.ts +0 -23
  1249. package/build/normalizeHints.d.ts.map +0 -1
  1250. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  1251. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  1252. package/build/plugins/PreloadPlugin.d.ts +0 -69
  1253. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  1254. package/build/plugins/PreloadPlugin.js.map +0 -1
  1255. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  1256. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  1257. package/build/preloading/canPreload.d.ts +0 -3
  1258. package/build/preloading/canPreload.d.ts.map +0 -1
  1259. package/build/preloading/partitionHint.d.ts +0 -5
  1260. package/build/preloading/partitionHint.d.ts.map +0 -1
  1261. package/build/reactiveHints.d.ts +0 -146
  1262. package/build/reactiveHints.d.ts.map +0 -1
  1263. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  1264. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  1265. package/build/relations/AbstractRelationImpl.d.ts +0 -41
  1266. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  1267. package/build/relations/AsyncProperty.d.ts +0 -36
  1268. package/build/relations/AsyncProperty.d.ts.map +0 -1
  1269. package/build/relations/AsyncReactiveField.d.ts +0 -41
  1270. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  1271. package/build/relations/Collection.d.ts +0 -33
  1272. package/build/relations/Collection.d.ts.map +0 -1
  1273. package/build/relations/CustomCollection.d.ts +0 -69
  1274. package/build/relations/CustomCollection.d.ts.map +0 -1
  1275. package/build/relations/CustomReference.d.ts +0 -71
  1276. package/build/relations/CustomReference.d.ts.map +0 -1
  1277. package/build/relations/EnumCollection.d.ts +0 -81
  1278. package/build/relations/EnumCollection.d.ts.map +0 -1
  1279. package/build/relations/LargeCollection.d.ts +0 -19
  1280. package/build/relations/LargeCollection.d.ts.map +0 -1
  1281. package/build/relations/LargeCollection.js.map +0 -1
  1282. package/build/relations/ManyToManyCollection.d.ts +0 -52
  1283. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  1284. package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
  1285. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  1286. package/build/relations/ManyToOneReference.d.ts +0 -117
  1287. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  1288. package/build/relations/OneToManyCollection.d.ts +0 -62
  1289. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  1290. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  1291. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  1292. package/build/relations/OneToOneReference.d.ts +0 -93
  1293. package/build/relations/OneToOneReference.d.ts.map +0 -1
  1294. package/build/relations/PolymorphicReference.d.ts +0 -89
  1295. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  1296. package/build/relations/ReactiveField.d.ts +0 -85
  1297. package/build/relations/ReactiveField.d.ts.map +0 -1
  1298. package/build/relations/ReactiveGetter.d.ts +0 -30
  1299. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  1300. package/build/relations/ReactiveManyToMany.d.ts +0 -57
  1301. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  1302. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
  1303. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  1304. package/build/relations/ReactiveReference.d.ts +0 -119
  1305. package/build/relations/ReactiveReference.d.ts.map +0 -1
  1306. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  1307. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  1308. package/build/relations/RecursiveCollection.d.ts +0 -108
  1309. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  1310. package/build/relations/RecursiveCycleError.d.ts +0 -13
  1311. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  1312. package/build/relations/Reference.d.ts +0 -35
  1313. package/build/relations/Reference.d.ts.map +0 -1
  1314. package/build/relations/Relation.d.ts +0 -14
  1315. package/build/relations/Relation.d.ts.map +0 -1
  1316. package/build/relations/hasAsyncMethod.d.ts +0 -27
  1317. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  1318. package/build/relations/hasManyDerived.d.ts +0 -22
  1319. package/build/relations/hasManyDerived.d.ts.map +0 -1
  1320. package/build/relations/hasManyThrough.d.ts +0 -10
  1321. package/build/relations/hasManyThrough.d.ts.map +0 -1
  1322. package/build/relations/hasOneDerived.d.ts +0 -12
  1323. package/build/relations/hasOneDerived.d.ts.map +0 -1
  1324. package/build/relations/hasOneThrough.d.ts +0 -10
  1325. package/build/relations/hasOneThrough.d.ts.map +0 -1
  1326. package/build/relations/hasProperty.d.ts +0 -50
  1327. package/build/relations/hasProperty.d.ts.map +0 -1
  1328. package/build/relations/index.d.ts +0 -30
  1329. package/build/relations/index.d.ts.map +0 -1
  1330. package/build/relations/index.js.map +0 -1
  1331. package/build/resurrection.d.ts +0 -10
  1332. package/build/resurrection.d.ts.map +0 -1
  1333. package/build/rules.d.ts +0 -123
  1334. package/build/rules.d.ts.map +0 -1
  1335. package/build/runtimeConfig.d.ts +0 -17
  1336. package/build/runtimeConfig.d.ts.map +0 -1
  1337. package/build/scopes.d.ts +0 -185
  1338. package/build/scopes.d.ts.map +0 -1
  1339. package/build/serde.d.ts +0 -277
  1340. package/build/serde.d.ts.map +0 -1
  1341. package/build/temporal.d.ts +0 -46
  1342. package/build/temporal.d.ts.map +0 -1
  1343. package/build/temporalMappers.d.ts +0 -25
  1344. package/build/temporalMappers.d.ts.map +0 -1
  1345. package/build/trusted.d.ts +0 -5
  1346. package/build/trusted.d.ts.map +0 -1
  1347. package/build/typeMap.d.ts +0 -68
  1348. package/build/typeMap.d.ts.map +0 -1
  1349. package/build/typeMap.js.map +0 -1
  1350. package/build/unnest.d.ts +0 -13
  1351. package/build/unnest.d.ts.map +0 -1
  1352. package/build/upsert.d.ts +0 -42
  1353. package/build/upsert.d.ts.map +0 -1
  1354. package/build/utils.d.ts +0 -60
  1355. package/build/utils.d.ts.map +0 -1
  1356. package/build/withLoaded.d.ts +0 -56
  1357. package/build/withLoaded.d.ts.map +0 -1
package/build/changes.js CHANGED
@@ -1,297 +1,221 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.newChangesProxy = newChangesProxy;
4
- const BaseEntity_1 = require("./BaseEntity");
5
- const fields_1 = require("./fields");
6
- const index_1 = require("./index");
1
+ import "./typeMap.js";
2
+ import "./relations/EnumCollection.js";
3
+ import { notLoadedValue } from "./relations/LazyField.js";
4
+ import "./JoinRows.js";
5
+ import { getMetadata } from "./EntityMetadata.js";
6
+ import { getField, isChangeableField } from "./fields.js";
7
+ import { assertNever } from "./utils.js";
8
+ import "./index.js";
9
+ import { getEmInternalApi, isId } from "./EntityManager.js";
10
+ import { isEntity } from "./Entity.js";
11
+ import { getInstanceData } from "./BaseEntity.js";
12
+ //#region src/changes.ts
7
13
  /**
8
- * Provides a base class for field/primitive & m2o status impls.
9
- *
10
- * We use a separate base class so that the primitive & m2o subtypes can have their own
11
- * `kind: ...` consts, that if the m2o just subtyped the primitive directly, wouldn't be
12
- * allowed.
13
- */
14
- class BaseFieldStatusImpl {
15
- entity;
16
- fieldName;
17
- constructor(entity, fieldName) {
18
- this.entity = entity;
19
- this.fieldName = fieldName;
20
- }
21
- get originalValue() {
22
- const { originalData, data } = (0, BaseEntity_1.getInstanceData)(this.entity);
23
- // If `p` is in originalData, always respect that, even if it's undefined
24
- return this.fieldName in originalData ? originalData[this.fieldName] : (0, fields_1.getField)(this.entity, this.fieldName);
25
- }
26
- get hasChanged() {
27
- const { originalData, data } = (0, BaseEntity_1.getInstanceData)(this.entity);
28
- // Use `__orm.data[p] !== undefined` instead of `p in entity.__orm.data` because if a new (or cloned) entity
29
- // sets-then-unsets a value, it will return to `undefined` but still be present in `__orm.data`.
30
- return this.entity.isNewEntity ? data[this.fieldName] !== undefined : this.fieldName in originalData;
31
- }
32
- get hasUpdated() {
33
- const { originalData } = (0, BaseEntity_1.getInstanceData)(this.entity);
34
- return !this.entity.isNewEntity && this.fieldName in originalData;
35
- }
36
- }
14
+ * Provides a base class for field/primitive & m2o status impls.
15
+ *
16
+ * We use a separate base class so that the primitive & m2o subtypes can have their own
17
+ * `kind: ...` consts, that if the m2o just subtyped the primitive directly, wouldn't be
18
+ * allowed.
19
+ */
20
+ var BaseFieldStatusImpl = class {
21
+ entity;
22
+ fieldName;
23
+ constructor(entity, fieldName) {
24
+ this.entity = entity;
25
+ this.fieldName = fieldName;
26
+ }
27
+ get originalValue() {
28
+ const { originalData, data } = getInstanceData(this.entity);
29
+ const value = this.fieldName in originalData ? originalData[this.fieldName] : getField(this.entity, this.fieldName);
30
+ return value === notLoadedValue ? void 0 : value;
31
+ }
32
+ get hasChanged() {
33
+ const { originalData, data } = getInstanceData(this.entity);
34
+ return this.entity.isNewEntity ? data[this.fieldName] !== void 0 : this.fieldName in originalData;
35
+ }
36
+ get hasUpdated() {
37
+ const { originalData } = getInstanceData(this.entity);
38
+ return !this.entity.isNewEntity && this.fieldName in originalData;
39
+ }
40
+ };
37
41
  /** Implements the primitive field status, by extend base & just adding our `kind` const. */
38
- class PrimitiveFieldStatusImpl extends BaseFieldStatusImpl {
39
- kind = "field";
40
- }
42
+ var PrimitiveFieldStatusImpl = class extends BaseFieldStatusImpl {
43
+ kind = "field";
44
+ };
41
45
  /** Implements the m2o field status, by extend base, & adding `originalEntity`. */
42
- class ManyToOneFieldStatusImpl extends BaseFieldStatusImpl {
43
- kind = "m2o";
44
- /**
45
- * Returns our original entity's `id`.
46
- *
47
- * We can know `originalValue` has an `id` available (i.e. is not new), b/c original values defacto
48
- * came from the database.
49
- *
50
- * We also return the id so that `entity.changes.m2oField.originalValue` has a consistent API,
51
- * regardless of whether the `entity.m2oField` itself is loaded or unloaded.
52
- */
53
- get originalValue() {
54
- const originalValue = super.originalValue;
55
- return (0, index_1.isEntity)(originalValue) ? originalValue.id : originalValue;
56
- }
57
- /** Returns the original entity instance, which may not be loaded into memory yet, or undefined. */
58
- get originalEntity() {
59
- const originalValue = this.originalValue;
60
- if ((0, index_1.isId)(originalValue)) {
61
- return this.entity.em.load(originalValue);
62
- }
63
- else {
64
- return Promise.resolve(undefined);
65
- }
66
- }
67
- }
68
- class ManyToManyFieldStatusImpl {
69
- kind = "m2m";
70
- #entity;
71
- #m2m;
72
- #joinRows;
73
- constructor(entity, fieldName) {
74
- this.#entity = entity;
75
- this.#m2m = entity[fieldName];
76
- this.#joinRows = (0, index_1.getEmInternalApi)(entity.em).joinRows(this.#m2m);
77
- }
78
- // Similar to the o2m.added/removed methods, these don't have to be async because currently
79
- // any m2m mutation requires having both entities in-memory anyway, i.e. we can't do id-only/unloaded
80
- // mutation of m2m relations.
81
- get added() {
82
- return this.#added.sort(entityCompare);
83
- }
84
- get removed() {
85
- return this.#removed.sort(entityCompare);
86
- }
87
- get changed() {
88
- return [...this.#added, ...this.#removed].sort(entityCompare);
89
- }
90
- get hasChanged() {
91
- // Calculating `changed: U[]` can be expensive if we sort, so just look at added/removed
92
- return this.#added.length > 0 || this.#removed.length > 0;
93
- }
94
- get hasUpdated() {
95
- return !this.#entity.isNewEntity && this.hasChanged;
96
- }
97
- get originalEntities() {
98
- return this.#m2m.load().then((list) => {
99
- const set = new Set(this.added);
100
- const copy = list.filter((e) => !set.has(e));
101
- copy.push(...this.removed);
102
- return copy.sort(entityCompare);
103
- });
104
- }
105
- get #added() {
106
- return this.#joinRows.addedFor(this.#m2m, this.#entity);
107
- }
108
- get #removed() {
109
- return this.#joinRows.removedFor(this.#m2m, this.#entity);
110
- }
111
- }
112
- class EnumCollectionFieldStatusImpl {
113
- kind = "m2mEnum";
114
- #entity;
115
- #collection;
116
- #joinRows;
117
- constructor(entity, fieldName) {
118
- this.#entity = entity;
119
- this.#collection = entity[fieldName];
120
- this.#joinRows = (0, index_1.getEmInternalApi)(entity.em).joinRows(this.#collection);
121
- }
122
- get added() {
123
- return this.#toCodes(this.#joinRows.addedFor(this.#collection, this.#entity));
124
- }
125
- get removed() {
126
- return this.#toCodes(this.#joinRows.removedFor(this.#collection, this.#entity));
127
- }
128
- get changed() {
129
- return [...this.added, ...this.removed];
130
- }
131
- get hasChanged() {
132
- return this.added.length > 0 || this.removed.length > 0;
133
- }
134
- get hasUpdated() {
135
- return !this.#entity.isNewEntity && this.hasChanged;
136
- }
137
- get originalValues() {
138
- // `load()` ensures the persisted (db) rows are in memory, then diff out our pending changes.
139
- return this.#collection.load().then((codes) => {
140
- const added = new Set(this.added);
141
- const enumDetail = this.#collection.otherEnum;
142
- return [...codes.filter((c) => !added.has(c)), ...this.removed].sort((a, b) => enumDetail.getByCode(a).id - enumDetail.getByCode(b).id);
143
- });
144
- }
145
- /** Maps the join rows' enum ids to codes, sorted by enum id for a stable order. */
146
- #toCodes(ids) {
147
- const enumDetail = this.#collection.otherEnum;
148
- return ids.sort((a, b) => a - b).map((id) => enumDetail.findById(id).code);
149
- }
150
- }
46
+ var ManyToOneFieldStatusImpl = class extends BaseFieldStatusImpl {
47
+ kind = "m2o";
48
+ /**
49
+ * Returns our original entity's `id`.
50
+ *
51
+ * We can know `originalValue` has an `id` available (i.e. is not new), b/c original values defacto
52
+ * came from the database.
53
+ *
54
+ * We also return the id so that `entity.changes.m2oField.originalValue` has a consistent API,
55
+ * regardless of whether the `entity.m2oField` itself is loaded or unloaded.
56
+ */
57
+ get originalValue() {
58
+ const originalValue = super.originalValue;
59
+ return isEntity(originalValue) ? originalValue.id : originalValue;
60
+ }
61
+ /** Returns the original entity instance, which may not be loaded into memory yet, or undefined. */
62
+ get originalEntity() {
63
+ const originalValue = this.originalValue;
64
+ if (isId(originalValue)) return this.entity.em.load(originalValue);
65
+ else return Promise.resolve(void 0);
66
+ }
67
+ };
68
+ var ManyToManyFieldStatusImpl = class {
69
+ kind = "m2m";
70
+ #entity;
71
+ #m2m;
72
+ #joinRows;
73
+ constructor(entity, fieldName) {
74
+ this.#entity = entity;
75
+ this.#m2m = entity[fieldName];
76
+ this.#joinRows = getEmInternalApi(entity.em).joinRows(this.#m2m);
77
+ }
78
+ get added() {
79
+ return this.#added.sort(entityCompare);
80
+ }
81
+ get removed() {
82
+ return this.#removed.sort(entityCompare);
83
+ }
84
+ get changed() {
85
+ return [...this.#added, ...this.#removed].sort(entityCompare);
86
+ }
87
+ get hasChanged() {
88
+ return this.#added.length > 0 || this.#removed.length > 0;
89
+ }
90
+ get hasUpdated() {
91
+ return !this.#entity.isNewEntity && this.hasChanged;
92
+ }
93
+ get originalEntities() {
94
+ return this.#m2m.load().then((list) => {
95
+ const set = new Set(this.added);
96
+ const copy = list.filter((e) => !set.has(e));
97
+ copy.push(...this.removed);
98
+ return copy.sort(entityCompare);
99
+ });
100
+ }
101
+ get #added() {
102
+ return this.#joinRows.addedFor(this.#m2m, this.#entity);
103
+ }
104
+ get #removed() {
105
+ return this.#joinRows.removedFor(this.#m2m, this.#entity);
106
+ }
107
+ };
108
+ var EnumCollectionFieldStatusImpl = class {
109
+ kind = "m2mEnum";
110
+ #entity;
111
+ #collection;
112
+ #joinRows;
113
+ constructor(entity, fieldName) {
114
+ this.#entity = entity;
115
+ this.#collection = entity[fieldName];
116
+ this.#joinRows = getEmInternalApi(entity.em).joinRows(this.#collection);
117
+ }
118
+ get added() {
119
+ return this.#toCodes(this.#joinRows.addedFor(this.#collection, this.#entity));
120
+ }
121
+ get removed() {
122
+ return this.#toCodes(this.#joinRows.removedFor(this.#collection, this.#entity));
123
+ }
124
+ get changed() {
125
+ return [...this.added, ...this.removed];
126
+ }
127
+ get hasChanged() {
128
+ return this.added.length > 0 || this.removed.length > 0;
129
+ }
130
+ get hasUpdated() {
131
+ return !this.#entity.isNewEntity && this.hasChanged;
132
+ }
133
+ get originalValues() {
134
+ return this.#collection.load().then((codes) => {
135
+ const added = new Set(this.added);
136
+ const enumDetail = this.#collection.otherEnum;
137
+ return [...codes.filter((c) => !added.has(c)), ...this.removed].sort((a, b) => enumDetail.getByCode(a).id - enumDetail.getByCode(b).id);
138
+ });
139
+ }
140
+ /** Maps the join rows' enum ids to codes, sorted by enum id for a stable order. */
141
+ #toCodes(ids) {
142
+ const enumDetail = this.#collection.otherEnum;
143
+ return ids.sort((a, b) => a - b).map((id) => enumDetail.findById(id).code);
144
+ }
145
+ };
151
146
  /** Provides access to an o2m relation's added/removed/changed entities. */
152
- class OneToManyFieldStatusImpl {
153
- kind = "o2m";
154
- #entity;
155
- #o2m;
156
- constructor(entity, fieldName) {
157
- this.#entity = entity;
158
- this.#o2m = entity[fieldName];
159
- }
160
- // This doesn't have to be a promise, b/c even if o2m is unloaded, to mutate
161
- // the o2m (calling `add(other)` or `remove(other)` or `other.otherField = me`), all
162
- // require having the "other entity" in memory.
163
- get added() {
164
- return this.#added.sort(entityCompare);
165
- }
166
- get removed() {
167
- return this.#removed.sort(entityCompare);
168
- }
169
- get changed() {
170
- return [...this.added, ...this.removed].sort(entityCompare);
171
- }
172
- get hasChanged() {
173
- // Calculating `changed: U[]` can be expensive if we sort, so just look at added/removed
174
- return this.#added.length > 0 || this.#removed.length > 0;
175
- }
176
- get hasUpdated() {
177
- return !this.#entity.isNewEntity && this.hasChanged;
178
- }
179
- get originalEntities() {
180
- return this.#o2m.load().then((list) => {
181
- const set = new Set(this.added);
182
- const copy = list.filter((e) => !set.has(e));
183
- copy.push(...this.removed);
184
- return copy.sort(entityCompare);
185
- });
186
- }
187
- // This doesn't have to be a promise, b/c even if o2m is unloaded, to mutate
188
- // the o2m (calling `add(other)` or `remove(other)` or `other.otherField = me`), all
189
- // require having the "other entity" in memory.
190
- get #added() {
191
- return [
192
- ...this.#o2m.added(),
193
- ...(this.#entity.isNewEntity
194
- ? []
195
- : ((0, index_1.getEmInternalApi)(this.#entity.em).pendingPercolate.get(this.#entity.idTagged)?.get(this.#o2m.fieldName)
196
- ?.adds ?? [])),
197
- ];
198
- }
199
- get #removed() {
200
- return [
201
- ...this.#o2m.removed(),
202
- ...(this.#entity.isNewEntity
203
- ? []
204
- : ((0, index_1.getEmInternalApi)(this.#entity.em).pendingPercolate.get(this.#entity.idTagged)?.get(this.#o2m.fieldName)
205
- ?.removes ?? [])),
206
- ];
207
- }
208
- }
147
+ var OneToManyFieldStatusImpl = class {
148
+ kind = "o2m";
149
+ #entity;
150
+ #o2m;
151
+ constructor(entity, fieldName) {
152
+ this.#entity = entity;
153
+ this.#o2m = entity[fieldName];
154
+ }
155
+ get added() {
156
+ return this.#added.sort(entityCompare);
157
+ }
158
+ get removed() {
159
+ return this.#removed.sort(entityCompare);
160
+ }
161
+ get changed() {
162
+ return [...this.added, ...this.removed].sort(entityCompare);
163
+ }
164
+ get hasChanged() {
165
+ return this.#added.length > 0 || this.#removed.length > 0;
166
+ }
167
+ get hasUpdated() {
168
+ return !this.#entity.isNewEntity && this.hasChanged;
169
+ }
170
+ get originalEntities() {
171
+ return this.#o2m.load().then((list) => {
172
+ const set = new Set(this.added);
173
+ const copy = list.filter((e) => !set.has(e));
174
+ copy.push(...this.removed);
175
+ return copy.sort(entityCompare);
176
+ });
177
+ }
178
+ get #added() {
179
+ return [...this.#o2m.added(), ...this.#entity.isNewEntity ? [] : getEmInternalApi(this.#entity.em).pendingPercolate.get(this.#entity.idTagged)?.get(this.#o2m.fieldName)?.adds ?? []];
180
+ }
181
+ get #removed() {
182
+ return [...this.#o2m.removed(), ...this.#entity.isNewEntity ? [] : getEmInternalApi(this.#entity.em).pendingPercolate.get(this.#entity.idTagged)?.get(this.#o2m.fieldName)?.removes ?? []];
183
+ }
184
+ };
209
185
  function newChangesProxy(entity) {
210
- return new Proxy(entity, {
211
- get(target, p) {
212
- if (p === "fields") {
213
- return getChangedFieldNames(entity, true);
214
- }
215
- else if (p === "fieldsWithoutRelations") {
216
- return getChangedFieldNames(entity, false);
217
- }
218
- else if (typeof p === "symbol") {
219
- throw new Error(`Unsupported call to ${String(p)}`);
220
- }
221
- const kind = (0, index_1.getMetadata)(entity).allFields[p]?.kind;
222
- if (kind === "m2m") {
223
- return new ManyToManyFieldStatusImpl(entity, p);
224
- }
225
- else if (kind === "m2mEnum") {
226
- return new EnumCollectionFieldStatusImpl(entity, p);
227
- }
228
- else if (kind === "o2m") {
229
- return new OneToManyFieldStatusImpl(entity, p);
230
- }
231
- else if (!(0, fields_1.isChangeableField)(entity, p)) {
232
- throw new Error(`Invalid changes field ${p}`);
233
- }
234
- else if (kind === "m2o" || kind === "poly") {
235
- return new ManyToOneFieldStatusImpl(entity, p);
236
- }
237
- else if (kind === "enum" || kind === "primitive" || kind === "primaryKey") {
238
- return new PrimitiveFieldStatusImpl(entity, p);
239
- }
240
- else if (kind === "lo2m" || kind === "o2o") {
241
- throw new Error(`changes are not supported for ${kind} ${p}`);
242
- }
243
- else {
244
- return (0, index_1.assertNever)(kind);
245
- }
246
- },
247
- });
186
+ return new Proxy(entity, { get(target, p) {
187
+ if (p === "fields") return getChangedFieldNames(entity, true);
188
+ else if (p === "fieldsWithoutRelations") return getChangedFieldNames(entity, false);
189
+ else if (typeof p === "symbol") throw new Error(`Unsupported call to ${String(p)}`);
190
+ const kind = getMetadata(entity).allFields[p]?.kind;
191
+ if (kind === "m2m") return new ManyToManyFieldStatusImpl(entity, p);
192
+ else if (kind === "m2mEnum") return new EnumCollectionFieldStatusImpl(entity, p);
193
+ else if (kind === "o2m") return new OneToManyFieldStatusImpl(entity, p);
194
+ else if (!isChangeableField(entity, p)) throw new Error(`Invalid changes field ${p}`);
195
+ else if (kind === "m2o" || kind === "poly") return new ManyToOneFieldStatusImpl(entity, p);
196
+ else if (kind === "enum" || kind === "primitive" || kind === "primaryKey") return new PrimitiveFieldStatusImpl(entity, p);
197
+ else if (kind === "lo2m" || kind === "o2o") throw new Error(`changes are not supported for ${kind} ${p}`);
198
+ else return assertNever(kind);
199
+ } });
248
200
  }
249
- const addOriginalEntity = {
250
- m2o: true,
251
- poly: true,
252
- m2mEnum: false,
253
- enum: false,
254
- lo2m: false,
255
- m2m: false,
256
- o2m: false,
257
- o2o: false,
258
- primaryKey: false,
259
- primitive: false,
260
- };
261
201
  /** Scans `entity` for changes primitive + m2m/o2m fields. */
262
202
  function getChangedFieldNames(entity, includeRelations) {
263
- const fieldsChanged = entity.isNewEntity
264
- ? // Cloning sometimes leaves unset keys in data as undefined, so drop them
265
- Object.entries((0, BaseEntity_1.getInstanceData)(entity).data)
266
- .filter(([, value]) => value !== undefined)
267
- .map(([key]) => key)
268
- : Object.keys((0, BaseEntity_1.getInstanceData)(entity).originalData);
269
- // Calling `hasChanged` on these can be expensive, and we call this in a loop during em.flush
270
- if (includeRelations) {
271
- for (const field of Object.values((0, index_1.getMetadata)(entity).allFields)) {
272
- if (field.kind === "m2m") {
273
- const status = new ManyToManyFieldStatusImpl(entity, field.fieldName);
274
- if (status.hasChanged) {
275
- fieldsChanged.push(field.fieldName);
276
- }
277
- }
278
- else if (field.kind === "o2m") {
279
- const status = new OneToManyFieldStatusImpl(entity, field.fieldName);
280
- if (status.hasChanged) {
281
- fieldsChanged.push(field.fieldName);
282
- }
283
- }
284
- else if (field.kind === "m2mEnum") {
285
- const status = new EnumCollectionFieldStatusImpl(entity, field.fieldName);
286
- if (status.hasChanged) {
287
- fieldsChanged.push(field.fieldName);
288
- }
289
- }
290
- }
291
- }
292
- return fieldsChanged;
203
+ const fieldsChanged = entity.isNewEntity ? Object.entries(getInstanceData(entity).data).filter(([, value]) => value !== void 0).map(([key]) => key) : Object.keys(getInstanceData(entity).originalData);
204
+ if (includeRelations) {
205
+ for (const field of Object.values(getMetadata(entity).allFields)) if (field.kind === "m2m") {
206
+ if (new ManyToManyFieldStatusImpl(entity, field.fieldName).hasChanged) fieldsChanged.push(field.fieldName);
207
+ } else if (field.kind === "o2m") {
208
+ if (new OneToManyFieldStatusImpl(entity, field.fieldName).hasChanged) fieldsChanged.push(field.fieldName);
209
+ } else if (field.kind === "m2mEnum") {
210
+ if (new EnumCollectionFieldStatusImpl(entity, field.fieldName).hasChanged) fieldsChanged.push(field.fieldName);
211
+ }
212
+ }
213
+ return fieldsChanged;
293
214
  }
294
215
  const entityCompare = (a, b) => {
295
- return a.toString().localeCompare(b.toString());
216
+ return a.toString().localeCompare(b.toString());
296
217
  };
218
+ //#endregion
219
+ export { newChangesProxy };
220
+
297
221
  //# sourceMappingURL=changes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"changes.js","sourceRoot":"","sources":["../src/changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changes.js","names":["#entity","#m2m","#joinRows","#added","#removed","#collection","#toCodes","#o2m"],"sources":["../src/changes.ts"],"sourcesContent":["import { getInstanceData } from \"./BaseEntity.ts\";\nimport { type Entity } from \"./Entity.ts\";\nimport { type IdOf } from \"./EntityManager.ts\";\nimport { getField, isChangeableField } from \"./fields.ts\";\nimport {\n type Field,\n type ManyToManyCollection,\n type OneToManyCollection,\n type RelationsOf,\n assertNever,\n getEmInternalApi,\n getMetadata,\n isEntity,\n isId,\n} from \"./index.ts\";\nimport { type JoinColumnValue, type JoinRows } from \"./JoinRows.ts\";\nimport { type EnumCollectionImpl } from \"./relations/EnumCollection.ts\";\nimport { notLoadedValue } from \"./relations/LazyField.ts\";\nimport { type FieldsOf, type OptsOf } from \"./typeMap.ts\";\n\n/** Exposes a field's changed/original value in each entity's `this.changes` property. */\nexport interface FieldStatus<T> {\n /** True if the field has been changed on either create or update. */\n hasChanged: boolean;\n /** True only if the field has been updated i.e. not on the initial create. */\n hasUpdated: boolean;\n /** The original value, will be `undefined` if the entity new. */\n originalValue?: T;\n}\n\n/**\n * Provides a base class for field/primitive & m2o status impls.\n *\n * We use a separate base class so that the primitive & m2o subtypes can have their own\n * `kind: ...` consts, that if the m2o just subtyped the primitive directly, wouldn't be\n * allowed.\n */\nabstract class BaseFieldStatusImpl<T> {\n entity: Entity;\n fieldName: string;\n\n constructor(entity: Entity, fieldName: string) {\n this.entity = entity;\n this.fieldName = fieldName;\n }\n\n get originalValue(): T | undefined {\n const { originalData, data } = getInstanceData(this.entity);\n // If `p` is in originalData, always respect that, even if it's undefined\n const value =\n this.fieldName in originalData ? originalData[this.fieldName] : getField(this.entity, this.fieldName as any);\n // An unloaded lazy column's original value is unknown\n return value === notLoadedValue ? undefined : value;\n }\n\n get hasChanged(): boolean {\n const { originalData, data } = getInstanceData(this.entity);\n // Use `__orm.data[p] !== undefined` instead of `p in entity.__orm.data` because if a new (or cloned) entity\n // sets-then-unsets a value, it will return to `undefined` but still be present in `__orm.data`.\n return this.entity.isNewEntity ? data[this.fieldName] !== undefined : this.fieldName in originalData;\n }\n\n get hasUpdated(): boolean {\n const { originalData } = getInstanceData(this.entity);\n return !this.entity.isNewEntity && this.fieldName in originalData;\n }\n}\n\n/** Field status for primitive, enum, & primary key columns. */\nexport interface PrimitiveFieldStatus<T> extends FieldStatus<T> {\n kind: \"field\";\n}\n\n/** Implements the primitive field status, by extend base & just adding our `kind` const. */\nclass PrimitiveFieldStatusImpl<T> extends BaseFieldStatusImpl<T> implements PrimitiveFieldStatus<T> {\n kind = \"field\" as const;\n}\n\n/** Implements the m2o field status, by extend base, & adding `originalEntity`. */\nclass ManyToOneFieldStatusImpl<T extends Entity>\n extends BaseFieldStatusImpl<IdOf<T>>\n implements ManyToOneFieldStatus<T>\n{\n kind = \"m2o\" as const;\n\n /**\n * Returns our original entity's `id`.\n *\n * We can know `originalValue` has an `id` available (i.e. is not new), b/c original values defacto\n * came from the database.\n *\n * We also return the id so that `entity.changes.m2oField.originalValue` has a consistent API,\n * regardless of whether the `entity.m2oField` itself is loaded or unloaded.\n */\n get originalValue() {\n const originalValue = super.originalValue;\n return isEntity(originalValue) ? (originalValue.id as IdOf<T>) : originalValue;\n }\n\n /** Returns the original entity instance, which may not be loaded into memory yet, or undefined. */\n get originalEntity(): Promise<T | undefined> {\n const originalValue = this.originalValue;\n if (isId(originalValue)) {\n return this.entity.em.load(originalValue) as Promise<T>;\n } else {\n return Promise.resolve(undefined);\n }\n }\n}\n\n/** Provides a m2o/reference field's changed/original value in the entity's `this.changes` property. */\nexport interface ManyToOneFieldStatus<T extends Entity> extends FieldStatus<IdOf<T>> {\n kind: \"m2o\";\n /** The original entity, will be `undefined` if the entity new or the m2o was `null`. */\n originalEntity: Promise<T | undefined>;\n}\n\n/** Provides a m2m relation's added/removed/changed/original values. */\nexport interface ManyToManyFieldStatus<U extends Entity> {\n kind: \"m2m\";\n added: U[];\n removed: U[];\n changed: U[];\n hasChanged: boolean;\n hasUpdated: boolean;\n originalEntities: Promise<readonly U[]>;\n}\n\nclass ManyToManyFieldStatusImpl<T extends Entity, U extends Entity> implements ManyToManyFieldStatus<U> {\n readonly kind = \"m2m\";\n readonly #entity: T;\n readonly #m2m: ManyToManyCollection<T, any>;\n readonly #joinRows: JoinRows;\n\n constructor(entity: T, fieldName: keyof T) {\n this.#entity = entity;\n this.#m2m = entity[fieldName] as ManyToManyCollection<T, any>;\n this.#joinRows = getEmInternalApi(entity.em).joinRows(this.#m2m);\n }\n\n // Similar to the o2m.added/removed methods, these don't have to be async because currently\n // any m2m mutation requires having both entities in-memory anyway, i.e. we can't do id-only/unloaded\n // mutation of m2m relations.\n get added(): U[] {\n return this.#added.sort(entityCompare);\n }\n\n get removed(): U[] {\n return this.#removed.sort(entityCompare);\n }\n\n get changed(): U[] {\n return [...this.#added, ...this.#removed].sort(entityCompare);\n }\n\n get hasChanged(): boolean {\n // Calculating `changed: U[]` can be expensive if we sort, so just look at added/removed\n return this.#added.length > 0 || this.#removed.length > 0;\n }\n\n get hasUpdated(): boolean {\n return !this.#entity.isNewEntity && this.hasChanged;\n }\n\n get originalEntities(): Promise<readonly U[]> {\n return this.#m2m.load().then((list) => {\n const set = new Set(this.added);\n const copy = list.filter((e) => !set.has(e));\n copy.push(...this.removed);\n return copy.sort(entityCompare);\n });\n }\n\n get #added(): U[] {\n return this.#joinRows.addedFor(this.#m2m, this.#entity) as U[];\n }\n\n get #removed(): U[] {\n return this.#joinRows.removedFor(this.#m2m, this.#entity) as U[];\n }\n}\n\n/** Provides an enum m2m's added/removed/changed/original codes (e.g. `Publisher.logoColors`). */\nexport interface EnumCollectionFieldStatus<E> {\n kind: \"m2mEnum\";\n added: E[];\n removed: E[];\n changed: E[];\n hasChanged: boolean;\n hasUpdated: boolean;\n originalValues: Promise<readonly E[]>;\n}\n\nclass EnumCollectionFieldStatusImpl<T extends Entity, E> implements EnumCollectionFieldStatus<E> {\n readonly kind = \"m2mEnum\";\n readonly #entity: T;\n readonly #collection: EnumCollectionImpl<T, E>;\n readonly #joinRows: JoinRows;\n\n constructor(entity: T, fieldName: keyof T) {\n this.#entity = entity;\n this.#collection = entity[fieldName] as EnumCollectionImpl<T, E>;\n this.#joinRows = getEmInternalApi(entity.em).joinRows(this.#collection);\n }\n\n get added(): E[] {\n return this.#toCodes(this.#joinRows.addedFor(this.#collection, this.#entity));\n }\n\n get removed(): E[] {\n return this.#toCodes(this.#joinRows.removedFor(this.#collection, this.#entity));\n }\n\n get changed(): E[] {\n return [...this.added, ...this.removed];\n }\n\n get hasChanged(): boolean {\n return this.added.length > 0 || this.removed.length > 0;\n }\n\n get hasUpdated(): boolean {\n return !this.#entity.isNewEntity && this.hasChanged;\n }\n\n get originalValues(): Promise<readonly E[]> {\n // `load()` ensures the persisted (db) rows are in memory, then diff out our pending changes.\n return this.#collection.load().then((codes) => {\n const added = new Set(this.added);\n const enumDetail = this.#collection.otherEnum;\n return [...codes.filter((c) => !added.has(c)), ...this.removed].sort(\n (a, b) => enumDetail.getByCode(a).id - enumDetail.getByCode(b).id,\n );\n });\n }\n\n /** Maps the join rows' enum ids to codes, sorted by enum id for a stable order. */\n #toCodes(ids: JoinColumnValue[]): E[] {\n const enumDetail = this.#collection.otherEnum;\n return (ids as number[]).sort((a, b) => a - b).map((id) => enumDetail.findById(id)!.code as E);\n }\n}\n\nexport interface OneToManyFieldStatus<U extends Entity> {\n kind: \"o2m\";\n added: U[];\n removed: U[];\n changed: U[];\n hasChanged: boolean;\n hasUpdated: boolean;\n originalEntities: Promise<readonly U[]>;\n}\n\n/** Provides access to an o2m relation's added/removed/changed entities. */\nclass OneToManyFieldStatusImpl<T extends Entity, U extends Entity> implements OneToManyFieldStatus<U> {\n readonly kind = \"o2m\";\n readonly #entity: T;\n readonly #o2m: OneToManyCollection<T, U>;\n\n constructor(entity: T, fieldName: keyof T) {\n this.#entity = entity;\n this.#o2m = entity[fieldName] as OneToManyCollection<T, U>;\n }\n\n // This doesn't have to be a promise, b/c even if o2m is unloaded, to mutate\n // the o2m (calling `add(other)` or `remove(other)` or `other.otherField = me`), all\n // require having the \"other entity\" in memory.\n get added(): U[] {\n return this.#added.sort(entityCompare);\n }\n\n get removed(): U[] {\n return this.#removed.sort(entityCompare);\n }\n\n get changed(): U[] {\n return [...this.added, ...this.removed].sort(entityCompare);\n }\n\n get hasChanged(): boolean {\n // Calculating `changed: U[]` can be expensive if we sort, so just look at added/removed\n return this.#added.length > 0 || this.#removed.length > 0;\n }\n\n get hasUpdated(): boolean {\n return !this.#entity.isNewEntity && this.hasChanged;\n }\n\n get originalEntities(): Promise<readonly U[]> {\n return this.#o2m.load().then((list) => {\n const set = new Set(this.added);\n const copy = list.filter((e) => !set.has(e));\n copy.push(...this.removed);\n return copy.sort(entityCompare);\n });\n }\n\n // This doesn't have to be a promise, b/c even if o2m is unloaded, to mutate\n // the o2m (calling `add(other)` or `remove(other)` or `other.otherField = me`), all\n // require having the \"other entity\" in memory.\n get #added(): U[] {\n return [\n ...this.#o2m.added(),\n ...(this.#entity.isNewEntity\n ? []\n : ((getEmInternalApi(this.#entity.em).pendingPercolate.get(this.#entity.idTagged)?.get(this.#o2m.fieldName)\n ?.adds as U[]) ?? [])),\n ];\n }\n\n get #removed(): U[] {\n return [\n ...this.#o2m.removed(),\n ...(this.#entity.isNewEntity\n ? []\n : ((getEmInternalApi(this.#entity.em).pendingPercolate.get(this.#entity.idTagged)?.get(this.#o2m.fieldName)\n ?.removes as U[]) ?? [])),\n ];\n }\n}\n\n/**\n * Creates the `this.changes.firstName` changes API for a given entity `T`.\n *\n * We use `FieldsOf` because that already excludes collection, and then also\n * convert reference fields to `ManyToOneFieldStatus` to be the id type\n * because the reference may not be loaded.\n *\n * @typeParam K The fields of the entity, or potentially the union of the entity and its subtypes,\n * i.e. `Publisher.changes` is typed as `Changes<Publisher, keyof Publisher | keyof SmallPub | keyof LargePub>`\n * @typeParam R An optional list of restrictions, i.e for `Reacted` for to provide `changes` to its subset of fields.\n */\nexport type Changes<T extends Entity, K = keyof (FieldsOf<T> & RelationsOf<T>), R = K> = {\n /** Array of changed field names. */\n fields: NonNullable<K>[];\n /** Array of changed field names w/o o2m & m2m relations (which can be expensive). */\n fieldsWithoutRelations: NonNullable<K>[];\n} & {\n // The o2o branch is `never`: the FK lives on the other entity, so changes never track o2o fields.\n // (The exclusion must stay in the value position: a conditional in the `[P in ...]` clause defers on\n // a generic `T` and collapses `keyof Changes<T>` at inference time, i.e. in `cannotBeUpdated` calls.)\n [P in keyof FieldsOf<T> & R]: FieldsOf<T>[P] extends { kind: \"m2m\"; type: infer U extends Entity }\n ? ManyToManyFieldStatus<U>\n : FieldsOf<T>[P] extends { kind: \"m2mEnum\"; type: infer E }\n ? EnumCollectionFieldStatus<E>\n : FieldsOf<T>[P] extends { kind: \"o2m\"; type: infer U extends Entity }\n ? OneToManyFieldStatus<U>\n : FieldsOf<T>[P] extends { kind: \"o2o\" }\n ? never\n : FieldsOf<T>[P] extends { type: (infer U) | undefined }\n ? U extends Entity\n ? ManyToOneFieldStatus<U>\n : PrimitiveFieldStatus<U>\n : never;\n};\n\n// type A1 = never extends string ? 1 : 2;\n// type A2 = Book extends Entity | undefined ? 1 : 2;\n// type A2a = string extends Entity | string | undefined ? 1 : 2;\n// type A3 = Book | undefined extends Entity ? 1 : 2;\n// type A4 = Book | undefined | null extends (infer E extends Entity) | undefined | null ? E : 2;\n\n/**\n * A strongly-typed Entity with its changes field.\n *\n * Ideally this would live on `Entity` directly, but results in circular type issues.\n */\nexport interface EntityChanges<T extends Entity> {\n changes: Changes<T>;\n}\n\nexport function newChangesProxy<T extends Entity>(entity: T): Changes<T> {\n return new Proxy(entity, {\n get(\n target,\n p: PropertyKey & string,\n ):\n | FieldStatus<any>\n | ManyToOneFieldStatus<any>\n | ManyToManyFieldStatus<any>\n | OneToManyFieldStatus<any>\n | (keyof OptsOf<T>)[] {\n if (p === \"fields\") {\n return getChangedFieldNames(entity, true);\n } else if (p === \"fieldsWithoutRelations\") {\n return getChangedFieldNames(entity, false);\n } else if (typeof p === \"symbol\") {\n throw new Error(`Unsupported call to ${String(p)}`);\n }\n const kind = getMetadata(entity).allFields[p]?.kind;\n if (kind === \"m2m\") {\n return new ManyToManyFieldStatusImpl(entity, p as keyof T);\n } else if (kind === \"m2mEnum\") {\n return new EnumCollectionFieldStatusImpl(entity, p as keyof T);\n } else if (kind === \"o2m\") {\n return new OneToManyFieldStatusImpl(entity, p as keyof T);\n } else if (!isChangeableField(entity, p as any)) {\n throw new Error(`Invalid changes field ${p}`);\n } else if (kind === \"m2o\" || kind === \"poly\") {\n return new ManyToOneFieldStatusImpl(entity, p);\n } else if (kind === \"enum\" || kind === \"primitive\" || kind === \"primaryKey\") {\n return new PrimitiveFieldStatusImpl(entity, p);\n } else if (kind === \"lo2m\" || kind === \"o2o\") {\n throw new Error(`changes are not supported for ${kind} ${p}`);\n } else {\n return assertNever(kind);\n }\n },\n }) as any;\n}\n\nconst addOriginalEntity: Record<Field[\"kind\"], boolean> = {\n m2o: true,\n poly: true,\n m2mEnum: false,\n enum: false,\n lo2m: false,\n m2m: false,\n o2m: false,\n o2o: false,\n primaryKey: false,\n primitive: false,\n};\n\n/** Scans `entity` for changes primitive + m2m/o2m fields. */\nfunction getChangedFieldNames<T extends Entity>(entity: T, includeRelations: boolean): (keyof OptsOf<T>)[] {\n const fieldsChanged = entity.isNewEntity\n ? // Cloning sometimes leaves unset keys in data as undefined, so drop them\n Object.entries(getInstanceData(entity).data)\n .filter(([, value]) => value !== undefined)\n .map(([key]) => key)\n : Object.keys(getInstanceData(entity).originalData);\n\n // Calling `hasChanged` on these can be expensive, and we call this in a loop during em.flush\n if (includeRelations) {\n for (const field of Object.values(getMetadata(entity).allFields)) {\n if (field.kind === \"m2m\") {\n const status = new ManyToManyFieldStatusImpl(entity, field.fieldName as keyof T);\n if (status.hasChanged) {\n fieldsChanged.push(field.fieldName);\n }\n } else if (field.kind === \"o2m\") {\n const status = new OneToManyFieldStatusImpl(entity, field.fieldName as keyof T);\n if (status.hasChanged) {\n fieldsChanged.push(field.fieldName);\n }\n } else if (field.kind === \"m2mEnum\") {\n const status = new EnumCollectionFieldStatusImpl(entity, field.fieldName as keyof T);\n if (status.hasChanged) {\n fieldsChanged.push(field.fieldName);\n }\n }\n }\n }\n\n return fieldsChanged as any;\n}\n\nconst entityCompare: (a: Entity, b: Entity) => number = (a, b) => {\n return a.toString().localeCompare(b.toString());\n};\n"],"mappings":"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"}