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
@@ -0,0 +1,188 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_keys = require("./keys.cjs");
3
+ const require_EntityMetadata = require("./EntityMetadata.cjs");
4
+ const require_utils = require("./utils.cjs");
5
+ const require_Entity = require("./Entity.cjs");
6
+ const require_configure = require("./configure.cjs");
7
+ //#region src/fieldSerde.ts
8
+ function hasSerde(field) {
9
+ return !!field.serde;
10
+ }
11
+ /** Binds a physical column to entity data without adding a second codec or storage declaration. */
12
+ var FieldColumn = class {
13
+ fieldName;
14
+ column;
15
+ constructor(fieldName, column) {
16
+ this.fieldName = fieldName;
17
+ this.column = column;
18
+ }
19
+ get codec() {
20
+ return this.column.codec;
21
+ }
22
+ get insertOptional() {
23
+ return this.column.insertOptional;
24
+ }
25
+ get writable() {
26
+ return this.column.writable;
27
+ }
28
+ get insert() {
29
+ return this.column.insert;
30
+ }
31
+ get update() {
32
+ return this.column.update;
33
+ }
34
+ get idMetadata() {
35
+ return this.column.idMetadata;
36
+ }
37
+ get columnName() {
38
+ return this.column.columnName;
39
+ }
40
+ get dbType() {
41
+ return this.column.dbType;
42
+ }
43
+ get isArray() {
44
+ return this.column.isArray;
45
+ }
46
+ get isNullableArray() {
47
+ return this.column.isNullableArray;
48
+ }
49
+ get sqlNullable() {
50
+ return this.column.sqlNullable;
51
+ }
52
+ get hasDefault() {
53
+ return this.column.hasDefault;
54
+ }
55
+ get isGenerated() {
56
+ return this.column.isGenerated;
57
+ }
58
+ get outputType() {
59
+ return this.column.outputType;
60
+ }
61
+ mapToDb(value) {
62
+ return this.column.mapToDb(value);
63
+ }
64
+ mapToDbValue(value) {
65
+ return this.column.mapToDbValue(value);
66
+ }
67
+ mapFromDb(value) {
68
+ return this.column.mapFromDb(value);
69
+ }
70
+ mapFromJsonAgg(value) {
71
+ return this.column.mapFromJsonAgg(value);
72
+ }
73
+ /** Defers FK writes whose new target must be inserted after this entity. */
74
+ dbValue(data, entity, tableName, fixups) {
75
+ const value = data[this.fieldName];
76
+ if (this.column.idMetadata && fixups && require_Entity.isEntity(value) && value.isNewEntity && require_EntityMetadata.getMetadata(value).nonDeferredFkOrder && require_EntityMetadata.getMetadata(entity).nonDeferredFkOrder && require_EntityMetadata.getMetadata(value).nonDeferredFkOrder >= require_EntityMetadata.getMetadata(entity).nonDeferredFkOrder) {
77
+ fixups.push({
78
+ entity,
79
+ tableName,
80
+ column: this,
81
+ value: this.mapToDbValue(require_keys.maybeResolveReferenceToId(value))
82
+ });
83
+ return null;
84
+ }
85
+ return this.mapToDbValue(value);
86
+ }
87
+ /** Reconstruct the driver's row representation, which can differ from write bindings for Date and JSON. */
88
+ rowValue(data) {
89
+ return this.column.codec.mapToRow(data[this.fieldName]);
90
+ }
91
+ };
92
+ /** Binds one entity field to its physical column. */
93
+ var SimpleFieldSerde = class extends FieldColumn {
94
+ columns = [this];
95
+ /** Decode this field's physical column without changing entity data. */
96
+ fromRow(rowData, rowIndex) {
97
+ return this.column.mapFromDb(rowData.get(rowIndex, this.column.columnName));
98
+ }
99
+ mapFromNow(now) {
100
+ return this.column.codec.mapFromNow(now);
101
+ }
102
+ };
103
+ /** A polymorphic field selects exactly one component while each physical column retains a scalar ID codec. */
104
+ var PolymorphicKeySerde = class {
105
+ fieldName;
106
+ columns;
107
+ constructor(fieldName, components) {
108
+ this.fieldName = fieldName;
109
+ this.columns = components.map((component) => new PolymorphicFieldColumn(fieldName, component, components));
110
+ }
111
+ /** Select the first truthy component whose decoded ID is not nullish. */
112
+ fromRow(rowData, rowIndex) {
113
+ let decoded;
114
+ for (const column of this.columns) {
115
+ const value = rowData.get(rowIndex, column.columnName);
116
+ if (value) {
117
+ decoded = column.mapFromDb(value);
118
+ if (decoded != null) return decoded;
119
+ }
120
+ }
121
+ return decoded;
122
+ }
123
+ };
124
+ /** Shares domain components between relationship traversal and entity write selection. */
125
+ function polymorphicField(fieldName, required, components) {
126
+ return {
127
+ kind: "poly",
128
+ fieldName,
129
+ fieldIdName: `${fieldName}Id`,
130
+ required,
131
+ components,
132
+ serde: new PolymorphicKeySerde(fieldName, components),
133
+ immutable: false
134
+ };
135
+ }
136
+ /** A domain relationship component references storage and only overrides a specialized domain target. */
137
+ var PolyComponent = class {
138
+ column;
139
+ otherFieldName;
140
+ target;
141
+ constructor(column, otherFieldName, target) {
142
+ this.column = column;
143
+ this.otherFieldName = otherFieldName;
144
+ this.target = target;
145
+ }
146
+ get columnName() {
147
+ return this.column.columnName;
148
+ }
149
+ get otherMetadata() {
150
+ return this.target ?? this.column.idMetadata;
151
+ }
152
+ };
153
+ /** Selects a relationship component for entity writes only; direct SQL writes use its scalar column codec. */
154
+ var PolymorphicFieldColumn = class extends FieldColumn {
155
+ component;
156
+ components;
157
+ constructor(fieldName, component, components) {
158
+ super(fieldName, component.column);
159
+ this.component = component;
160
+ this.components = components;
161
+ }
162
+ get otherMetadata() {
163
+ return this.component.otherMetadata;
164
+ }
165
+ /** Preserve exact subtype selection when multiple components share a base type. */
166
+ mapToDbValue(value) {
167
+ const id = require_keys.maybeResolveReferenceToId(value);
168
+ const cstr = require_Entity.isEntity(value) ? require_EntityMetadata.getMetadata(value).cstr : id ? require_configure.getConstructorFromTaggedId(id) : void 0;
169
+ const hasMultipleComponentsWithSameBaseType = [...require_utils.groupBy(this.components, (component) => require_EntityMetadata.getBaseMeta(component.otherMetadata()).type).values()].some((group) => group.length > 1);
170
+ const otherMeta = this.otherMetadata();
171
+ return (hasMultipleComponentsWithSameBaseType ? cstr === otherMeta.cstr : cstr === otherMeta.cstr || cstr === require_EntityMetadata.getBaseMeta(otherMeta).cstr || otherMeta.subTypes.some((subTypeMeta) => cstr === subTypeMeta.cstr)) ? this.column.mapToDbValue(id) : void 0;
172
+ }
173
+ dbValue(data) {
174
+ return this.mapToDbValue(data[this.fieldName]);
175
+ }
176
+ rowValue(data) {
177
+ return this.dbValue(data);
178
+ }
179
+ };
180
+ //#endregion
181
+ exports.FieldColumn = FieldColumn;
182
+ exports.PolyComponent = PolyComponent;
183
+ exports.PolymorphicKeySerde = PolymorphicKeySerde;
184
+ exports.SimpleFieldSerde = SimpleFieldSerde;
185
+ exports.hasSerde = hasSerde;
186
+ exports.polymorphicField = polymorphicField;
187
+
188
+ //# sourceMappingURL=fieldSerde.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldSerde.cjs","names":["isEntity","getMetadata","maybeResolveReferenceToId","getConstructorFromTaggedId","groupBy","getBaseMeta"],"sources":["../src/fieldSerde.ts"],"sourcesContent":["import type { Column } from \"./columns.ts\";\nimport { getConstructorFromTaggedId } from \"./configure.ts\";\nimport type { InsertFixup } from \"./drivers/EntityWriter.ts\";\nimport { type Entity, isEntity } from \"./Entity.ts\";\nimport {\n type EntityMetadata,\n type Field,\n type PolymorphicField,\n type PolymorphicFieldComponent,\n type SerdeField,\n getBaseMeta,\n getMetadata,\n} from \"./EntityMetadata.ts\";\nimport { maybeResolveReferenceToId } from \"./keys.ts\";\nimport type { RowData } from \"./RowData.ts\";\nimport type { TimestampCodec } from \"./serde.ts\";\nimport { groupBy } from \"./utils.ts\";\n\nexport function hasSerde(field: Field): field is SerdeField {\n return !!field.serde;\n}\n\n/** Entity hydration and flush bindings; a polymorphic relationship spans several physical columns. */\nexport interface FieldSerde {\n columns: FieldColumn[];\n /** Decode one domain value from accessed cells; callers own entity assignment and caching. */\n fromRow(rowData: RowData, rowIndex: number): unknown;\n}\n\nexport interface TimestampSerde<T> extends FieldSerde {\n mapFromNow(now: Date): T;\n dbValue(data: any): any;\n}\n\n/** Binds a physical column to entity data without adding a second codec or storage declaration. */\nexport class FieldColumn {\n constructor(\n readonly fieldName: string,\n readonly column: Column,\n ) {}\n get codec() {\n return this.column.codec;\n }\n get insertOptional() {\n return this.column.insertOptional;\n }\n get writable() {\n return this.column.writable;\n }\n get insert() {\n return this.column.insert;\n }\n get update() {\n return this.column.update;\n }\n get idMetadata() {\n return this.column.idMetadata;\n }\n get columnName(): string {\n return this.column.columnName;\n }\n get dbType(): string {\n return this.column.dbType;\n }\n get isArray(): boolean {\n return this.column.isArray;\n }\n get isNullableArray(): boolean {\n return this.column.isNullableArray;\n }\n get sqlNullable(): boolean {\n return this.column.sqlNullable;\n }\n get hasDefault(): boolean {\n return this.column.hasDefault;\n }\n get isGenerated(): boolean {\n return this.column.isGenerated;\n }\n get outputType() {\n return this.column.outputType;\n }\n mapToDb(value: any): any {\n return this.column.mapToDb(value);\n }\n mapToDbValue(value: unknown): unknown {\n return this.column.mapToDbValue(value);\n }\n mapFromDb(value: unknown): unknown {\n return this.column.mapFromDb(value);\n }\n mapFromJsonAgg(value: any): any {\n return this.column.mapFromJsonAgg(value);\n }\n\n /** Defers FK writes whose new target must be inserted after this entity. */\n dbValue(data: any, entity: Entity, tableName: string, fixups: InsertFixup[] | undefined): any {\n const value = data[this.fieldName];\n if (\n this.column.idMetadata &&\n fixups &&\n isEntity(value) &&\n value.isNewEntity &&\n getMetadata(value).nonDeferredFkOrder &&\n getMetadata(entity).nonDeferredFkOrder &&\n getMetadata(value).nonDeferredFkOrder! >= getMetadata(entity).nonDeferredFkOrder!\n ) {\n fixups.push({ entity, tableName, column: this, value: this.mapToDbValue(maybeResolveReferenceToId(value)) });\n return null;\n }\n return this.mapToDbValue(value);\n }\n\n /** Reconstruct the driver's row representation, which can differ from write bindings for Date and JSON. */\n rowValue(data: any): any {\n return this.column.codec.mapToRow(data[this.fieldName]);\n }\n}\n\n/** Binds one entity field to its physical column. */\nexport class SimpleFieldSerde extends FieldColumn implements FieldSerde {\n readonly columns: FieldColumn[] = [this];\n /** Decode this field's physical column without changing entity data. */\n fromRow(rowData: RowData, rowIndex: number): unknown {\n return this.column.mapFromDb(rowData.get(rowIndex, this.column.columnName));\n }\n mapFromNow(now: Date): unknown {\n return (this.column.codec as TimestampCodec<unknown>).mapFromNow(now);\n }\n}\n\n/** A polymorphic field selects exactly one component while each physical column retains a scalar ID codec. */\nexport class PolymorphicKeySerde implements FieldSerde {\n readonly columns: PolymorphicFieldColumn[];\n constructor(\n readonly fieldName: string,\n components: PolymorphicFieldComponent[],\n ) {\n this.columns = components.map((component) => new PolymorphicFieldColumn(fieldName, component, components));\n }\n /** Select the first truthy component whose decoded ID is not nullish. */\n fromRow(rowData: RowData, rowIndex: number): unknown {\n let decoded: unknown;\n for (const column of this.columns) {\n const value = rowData.get(rowIndex, column.columnName);\n if (value) {\n decoded = column.mapFromDb(value);\n if (decoded != null) return decoded;\n }\n }\n return decoded;\n }\n}\n\n/** Shares domain components between relationship traversal and entity write selection. */\nexport function polymorphicField(\n fieldName: string,\n required: boolean,\n components: PolymorphicFieldComponent[],\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldIdName: `${fieldName}Id`,\n required,\n components,\n serde: new PolymorphicKeySerde(fieldName, components),\n immutable: false,\n };\n}\n\n/** A domain relationship component references storage and only overrides a specialized domain target. */\nexport class PolyComponent implements PolymorphicFieldComponent {\n constructor(\n readonly column: Column,\n readonly otherFieldName: string,\n private readonly target?: () => EntityMetadata,\n ) {}\n get columnName(): string {\n return this.column.columnName;\n }\n get otherMetadata(): () => EntityMetadata {\n return this.target ?? this.column.idMetadata!;\n }\n}\n\n/** Selects a relationship component for entity writes only; direct SQL writes use its scalar column codec. */\nclass PolymorphicFieldColumn extends FieldColumn {\n constructor(\n fieldName: string,\n private readonly component: PolymorphicFieldComponent,\n private readonly components: PolymorphicFieldComponent[],\n ) {\n super(fieldName, component.column);\n }\n get otherMetadata() {\n return this.component.otherMetadata;\n }\n\n /** Preserve exact subtype selection when multiple components share a base type. */\n mapToDbValue(value: unknown): unknown {\n const id = maybeResolveReferenceToId(value as Parameters<typeof maybeResolveReferenceToId>[0]);\n const cstr = isEntity(value) ? getMetadata(value).cstr : id ? getConstructorFromTaggedId(id) : undefined;\n // If our poly has multiple components from the same base type, i.e.\n // `parent_small_publisher_id` and `parent_large_publisher_id`, then we\n // need slightly different logic...\n const hasMultipleComponentsWithSameBaseType = [\n ...groupBy(this.components, (component) => getBaseMeta(component.otherMetadata()).type).values(),\n ].some((group) => group.length > 1);\n const otherMeta = this.otherMetadata();\n // We'll have multiple columns, i.e. [parent_author_id, parent_book_id], and each column\n // will only return a value if the `id` matches its type, i.e. `parent_author_id=a:1` will\n // return 1, but `parent_book_id` will return null.\n const applies = hasMultipleComponentsWithSameBaseType\n ? cstr === otherMeta.cstr\n : cstr === otherMeta.cstr ||\n cstr === getBaseMeta(otherMeta).cstr ||\n otherMeta.subTypes.some((subTypeMeta) => cstr === subTypeMeta.cstr);\n return applies ? this.column.mapToDbValue(id) : undefined;\n }\n // Polymorphic writes historically do not schedule non-deferred FK fixups.\n dbValue(data: any): any {\n return this.mapToDbValue(data[this.fieldName]);\n }\n rowValue(data: any): any {\n return this.dbValue(data);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { TypeInfo } from "./TypeInfo.cjs";
2
+ import { ScalarCodec } from "./serde.cjs";
3
+ import { Column } from "./columns.cjs";
4
+ import { InsertFixup } from "./drivers/EntityWriter.cjs";
5
+ import { RowData } from "./RowData.cjs";
6
+ import { EntityMetadata, Field, PolymorphicField, PolymorphicFieldComponent, SerdeField } from "./EntityMetadata.cjs";
7
+ import { Entity } from "./Entity.cjs";
8
+ //#region src/fieldSerde.d.ts
9
+ declare function hasSerde(field: Field): field is SerdeField;
10
+ /** Entity hydration and flush bindings; a polymorphic relationship spans several physical columns. */
11
+ interface FieldSerde {
12
+ columns: FieldColumn[];
13
+ /** Decode one domain value from accessed cells; callers own entity assignment and caching. */
14
+ fromRow(rowData: RowData, rowIndex: number): unknown;
15
+ }
16
+ interface TimestampSerde<T> extends FieldSerde {
17
+ mapFromNow(now: Date): T;
18
+ dbValue(data: any): any;
19
+ }
20
+ /** Binds a physical column to entity data without adding a second codec or storage declaration. */
21
+ declare class FieldColumn {
22
+ readonly fieldName: string;
23
+ readonly column: Column;
24
+ constructor(fieldName: string, column: Column);
25
+ get codec(): ScalarCodec;
26
+ get insertOptional(): boolean;
27
+ get writable(): boolean;
28
+ get insert(): "never" | "optional" | "required";
29
+ get update(): boolean;
30
+ get idMetadata(): (() => EntityMetadata) | undefined;
31
+ get columnName(): string;
32
+ get dbType(): string;
33
+ get isArray(): boolean;
34
+ get isNullableArray(): boolean;
35
+ get sqlNullable(): boolean;
36
+ get hasDefault(): boolean;
37
+ get isGenerated(): boolean;
38
+ get outputType(): TypeInfo | undefined;
39
+ mapToDb(value: any): any;
40
+ mapToDbValue(value: unknown): unknown;
41
+ mapFromDb(value: unknown): unknown;
42
+ mapFromJsonAgg(value: any): any;
43
+ /** Defers FK writes whose new target must be inserted after this entity. */
44
+ dbValue(data: any, entity: Entity, tableName: string, fixups: InsertFixup[] | undefined): any;
45
+ /** Reconstruct the driver's row representation, which can differ from write bindings for Date and JSON. */
46
+ rowValue(data: any): any;
47
+ }
48
+ /** Binds one entity field to its physical column. */
49
+ declare class SimpleFieldSerde extends FieldColumn implements FieldSerde {
50
+ readonly columns: FieldColumn[];
51
+ /** Decode this field's physical column without changing entity data. */
52
+ fromRow(rowData: RowData, rowIndex: number): unknown;
53
+ mapFromNow(now: Date): unknown;
54
+ }
55
+ /** A polymorphic field selects exactly one component while each physical column retains a scalar ID codec. */
56
+ declare class PolymorphicKeySerde implements FieldSerde {
57
+ readonly fieldName: string;
58
+ readonly columns: PolymorphicFieldColumn[];
59
+ constructor(fieldName: string, components: PolymorphicFieldComponent[]);
60
+ /** Select the first truthy component whose decoded ID is not nullish. */
61
+ fromRow(rowData: RowData, rowIndex: number): unknown;
62
+ }
63
+ /** Shares domain components between relationship traversal and entity write selection. */
64
+ declare function polymorphicField(fieldName: string, required: boolean, components: PolymorphicFieldComponent[]): PolymorphicField;
65
+ /** A domain relationship component references storage and only overrides a specialized domain target. */
66
+ declare class PolyComponent implements PolymorphicFieldComponent {
67
+ readonly column: Column;
68
+ readonly otherFieldName: string;
69
+ private readonly target?;
70
+ constructor(column: Column, otherFieldName: string, target?: (() => EntityMetadata) | undefined);
71
+ get columnName(): string;
72
+ get otherMetadata(): () => EntityMetadata;
73
+ }
74
+ /** Selects a relationship component for entity writes only; direct SQL writes use its scalar column codec. */
75
+ declare class PolymorphicFieldColumn extends FieldColumn {
76
+ private readonly component;
77
+ private readonly components;
78
+ constructor(fieldName: string, component: PolymorphicFieldComponent, components: PolymorphicFieldComponent[]);
79
+ get otherMetadata(): () => EntityMetadata;
80
+ /** Preserve exact subtype selection when multiple components share a base type. */
81
+ mapToDbValue(value: unknown): unknown;
82
+ dbValue(data: any): any;
83
+ rowValue(data: any): any;
84
+ }
85
+ //#endregion
86
+ export { FieldColumn, FieldSerde, PolyComponent, PolymorphicKeySerde, SimpleFieldSerde, TimestampSerde, hasSerde, polymorphicField };
87
+ //# sourceMappingURL=fieldSerde.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldSerde.d.cts","names":[],"sources":["../src/fieldSerde.ts"],"mappings":";;;;;;;;iBAkBgB,SAAS,OAAO,QAAQ,SAAS;;UAKhC;EACf,SAAS;;EAET,QAAQ,SAAS,SAAS;;UAGX,eAAe,WAAW;EACzC,WAAW,KAAK,OAAO;EACvB,QAAQ;;;cAIG;WAEA;WACA,QAAQ;EAFnB,YACW,mBACA,QAAQ;MAEf,SAFe;MAKf;MAGA;MAGA;MAGA;MAGA,qBAAU;MAGV;MAGA;MAGA;MAGA;MAGA;MAGA;MAGA;MAGA,cAxBU;EA2Bd,QAAQ;EAGR,aAAa;EAGb,UAAU;EAGV,eAAe;;EAKf,QAAQ,WAAW,QAAQ,QAAQ,mBAAmB,QAAQ;;EAkB9D,SAAS;;;cAME,yBAAyB,uBAAuB;WAClD,SAAS;;EAElB,QAAQ,SAAS,SAAS;EAG1B,WAAW,KAAK;;;cAML,+BAA+B;WAG/B;WAFF,SAAS;EAClB,YACW,mBACT,YAAY;;EAKd,QAAQ,SAAS,SAAS;;;iBAcZ,iBACd,mBACA,mBACA,YAAY,8BACX;;cAaU,yBAAyB;WAEzB,QAAQ;WACR;mBACQ;EAHnB,YACW,QAAQ,QACR,wBACQ,gBAAe;MAE9B;MAGA,uBAAuB;;;cAMvB,+BAA+B;mBAGhB;mBACA;EAHnB,YACE,mBACiB,WAAW,2BACX,YAAY;MAI3B,uBAAa;;EAKjB,aAAa;EAqBb,QAAQ;EAGR,SAAS"}
@@ -0,0 +1,87 @@
1
+ import { TypeInfo } from "./TypeInfo.mjs";
2
+ import { ScalarCodec } from "./serde.mjs";
3
+ import { Column } from "./columns.mjs";
4
+ import { InsertFixup } from "./drivers/EntityWriter.mjs";
5
+ import { RowData } from "./RowData.mjs";
6
+ import { EntityMetadata, Field, PolymorphicField, PolymorphicFieldComponent, SerdeField } from "./EntityMetadata.mjs";
7
+ import { Entity } from "./Entity.mjs";
8
+ //#region src/fieldSerde.d.ts
9
+ declare function hasSerde(field: Field): field is SerdeField;
10
+ /** Entity hydration and flush bindings; a polymorphic relationship spans several physical columns. */
11
+ interface FieldSerde {
12
+ columns: FieldColumn[];
13
+ /** Decode one domain value from accessed cells; callers own entity assignment and caching. */
14
+ fromRow(rowData: RowData, rowIndex: number): unknown;
15
+ }
16
+ interface TimestampSerde<T> extends FieldSerde {
17
+ mapFromNow(now: Date): T;
18
+ dbValue(data: any): any;
19
+ }
20
+ /** Binds a physical column to entity data without adding a second codec or storage declaration. */
21
+ declare class FieldColumn {
22
+ readonly fieldName: string;
23
+ readonly column: Column;
24
+ constructor(fieldName: string, column: Column);
25
+ get codec(): ScalarCodec;
26
+ get insertOptional(): boolean;
27
+ get writable(): boolean;
28
+ get insert(): "never" | "optional" | "required";
29
+ get update(): boolean;
30
+ get idMetadata(): (() => EntityMetadata) | undefined;
31
+ get columnName(): string;
32
+ get dbType(): string;
33
+ get isArray(): boolean;
34
+ get isNullableArray(): boolean;
35
+ get sqlNullable(): boolean;
36
+ get hasDefault(): boolean;
37
+ get isGenerated(): boolean;
38
+ get outputType(): TypeInfo | undefined;
39
+ mapToDb(value: any): any;
40
+ mapToDbValue(value: unknown): unknown;
41
+ mapFromDb(value: unknown): unknown;
42
+ mapFromJsonAgg(value: any): any;
43
+ /** Defers FK writes whose new target must be inserted after this entity. */
44
+ dbValue(data: any, entity: Entity, tableName: string, fixups: InsertFixup[] | undefined): any;
45
+ /** Reconstruct the driver's row representation, which can differ from write bindings for Date and JSON. */
46
+ rowValue(data: any): any;
47
+ }
48
+ /** Binds one entity field to its physical column. */
49
+ declare class SimpleFieldSerde extends FieldColumn implements FieldSerde {
50
+ readonly columns: FieldColumn[];
51
+ /** Decode this field's physical column without changing entity data. */
52
+ fromRow(rowData: RowData, rowIndex: number): unknown;
53
+ mapFromNow(now: Date): unknown;
54
+ }
55
+ /** A polymorphic field selects exactly one component while each physical column retains a scalar ID codec. */
56
+ declare class PolymorphicKeySerde implements FieldSerde {
57
+ readonly fieldName: string;
58
+ readonly columns: PolymorphicFieldColumn[];
59
+ constructor(fieldName: string, components: PolymorphicFieldComponent[]);
60
+ /** Select the first truthy component whose decoded ID is not nullish. */
61
+ fromRow(rowData: RowData, rowIndex: number): unknown;
62
+ }
63
+ /** Shares domain components between relationship traversal and entity write selection. */
64
+ declare function polymorphicField(fieldName: string, required: boolean, components: PolymorphicFieldComponent[]): PolymorphicField;
65
+ /** A domain relationship component references storage and only overrides a specialized domain target. */
66
+ declare class PolyComponent implements PolymorphicFieldComponent {
67
+ readonly column: Column;
68
+ readonly otherFieldName: string;
69
+ private readonly target?;
70
+ constructor(column: Column, otherFieldName: string, target?: (() => EntityMetadata) | undefined);
71
+ get columnName(): string;
72
+ get otherMetadata(): () => EntityMetadata;
73
+ }
74
+ /** Selects a relationship component for entity writes only; direct SQL writes use its scalar column codec. */
75
+ declare class PolymorphicFieldColumn extends FieldColumn {
76
+ private readonly component;
77
+ private readonly components;
78
+ constructor(fieldName: string, component: PolymorphicFieldComponent, components: PolymorphicFieldComponent[]);
79
+ get otherMetadata(): () => EntityMetadata;
80
+ /** Preserve exact subtype selection when multiple components share a base type. */
81
+ mapToDbValue(value: unknown): unknown;
82
+ dbValue(data: any): any;
83
+ rowValue(data: any): any;
84
+ }
85
+ //#endregion
86
+ export { FieldColumn, FieldSerde, PolyComponent, PolymorphicKeySerde, SimpleFieldSerde, TimestampSerde, hasSerde, polymorphicField };
87
+ //# sourceMappingURL=fieldSerde.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldSerde.d.mts","names":[],"sources":["../src/fieldSerde.ts"],"mappings":";;;;;;;;iBAkBgB,SAAS,OAAO,QAAQ,SAAS;;UAKhC;EACf,SAAS;;EAET,QAAQ,SAAS,SAAS;;UAGX,eAAe,WAAW;EACzC,WAAW,KAAK,OAAO;EACvB,QAAQ;;;cAIG;WAEA;WACA,QAAQ;EAFnB,YACW,mBACA,QAAQ;MAEf,SAFe;MAKf;MAGA;MAGA;MAGA;MAGA,qBAAU;MAGV;MAGA;MAGA;MAGA;MAGA;MAGA;MAGA;MAGA,cAxBU;EA2Bd,QAAQ;EAGR,aAAa;EAGb,UAAU;EAGV,eAAe;;EAKf,QAAQ,WAAW,QAAQ,QAAQ,mBAAmB,QAAQ;;EAkB9D,SAAS;;;cAME,yBAAyB,uBAAuB;WAClD,SAAS;;EAElB,QAAQ,SAAS,SAAS;EAG1B,WAAW,KAAK;;;cAML,+BAA+B;WAG/B;WAFF,SAAS;EAClB,YACW,mBACT,YAAY;;EAKd,QAAQ,SAAS,SAAS;;;iBAcZ,iBACd,mBACA,mBACA,YAAY,8BACX;;cAaU,yBAAyB;WAEzB,QAAQ;WACR;mBACQ;EAHnB,YACW,QAAQ,QACR,wBACQ,gBAAe;MAE9B;MAGA,uBAAuB;;;cAMvB,+BAA+B;mBAGhB;mBACA;EAHnB,YACE,mBACiB,WAAW,2BACX,YAAY;MAI3B,uBAAa;;EAKjB,aAAa;EAqBb,QAAQ;EAGR,SAAS"}
@@ -0,0 +1,182 @@
1
+ import { maybeResolveReferenceToId } from "./keys.js";
2
+ import { getBaseMeta, getMetadata } from "./EntityMetadata.js";
3
+ import { groupBy } from "./utils.js";
4
+ import { isEntity } from "./Entity.js";
5
+ import { getConstructorFromTaggedId } from "./configure.js";
6
+ //#region src/fieldSerde.ts
7
+ function hasSerde(field) {
8
+ return !!field.serde;
9
+ }
10
+ /** Binds a physical column to entity data without adding a second codec or storage declaration. */
11
+ var FieldColumn = class {
12
+ fieldName;
13
+ column;
14
+ constructor(fieldName, column) {
15
+ this.fieldName = fieldName;
16
+ this.column = column;
17
+ }
18
+ get codec() {
19
+ return this.column.codec;
20
+ }
21
+ get insertOptional() {
22
+ return this.column.insertOptional;
23
+ }
24
+ get writable() {
25
+ return this.column.writable;
26
+ }
27
+ get insert() {
28
+ return this.column.insert;
29
+ }
30
+ get update() {
31
+ return this.column.update;
32
+ }
33
+ get idMetadata() {
34
+ return this.column.idMetadata;
35
+ }
36
+ get columnName() {
37
+ return this.column.columnName;
38
+ }
39
+ get dbType() {
40
+ return this.column.dbType;
41
+ }
42
+ get isArray() {
43
+ return this.column.isArray;
44
+ }
45
+ get isNullableArray() {
46
+ return this.column.isNullableArray;
47
+ }
48
+ get sqlNullable() {
49
+ return this.column.sqlNullable;
50
+ }
51
+ get hasDefault() {
52
+ return this.column.hasDefault;
53
+ }
54
+ get isGenerated() {
55
+ return this.column.isGenerated;
56
+ }
57
+ get outputType() {
58
+ return this.column.outputType;
59
+ }
60
+ mapToDb(value) {
61
+ return this.column.mapToDb(value);
62
+ }
63
+ mapToDbValue(value) {
64
+ return this.column.mapToDbValue(value);
65
+ }
66
+ mapFromDb(value) {
67
+ return this.column.mapFromDb(value);
68
+ }
69
+ mapFromJsonAgg(value) {
70
+ return this.column.mapFromJsonAgg(value);
71
+ }
72
+ /** Defers FK writes whose new target must be inserted after this entity. */
73
+ dbValue(data, entity, tableName, fixups) {
74
+ const value = data[this.fieldName];
75
+ if (this.column.idMetadata && fixups && isEntity(value) && value.isNewEntity && getMetadata(value).nonDeferredFkOrder && getMetadata(entity).nonDeferredFkOrder && getMetadata(value).nonDeferredFkOrder >= getMetadata(entity).nonDeferredFkOrder) {
76
+ fixups.push({
77
+ entity,
78
+ tableName,
79
+ column: this,
80
+ value: this.mapToDbValue(maybeResolveReferenceToId(value))
81
+ });
82
+ return null;
83
+ }
84
+ return this.mapToDbValue(value);
85
+ }
86
+ /** Reconstruct the driver's row representation, which can differ from write bindings for Date and JSON. */
87
+ rowValue(data) {
88
+ return this.column.codec.mapToRow(data[this.fieldName]);
89
+ }
90
+ };
91
+ /** Binds one entity field to its physical column. */
92
+ var SimpleFieldSerde = class extends FieldColumn {
93
+ columns = [this];
94
+ /** Decode this field's physical column without changing entity data. */
95
+ fromRow(rowData, rowIndex) {
96
+ return this.column.mapFromDb(rowData.get(rowIndex, this.column.columnName));
97
+ }
98
+ mapFromNow(now) {
99
+ return this.column.codec.mapFromNow(now);
100
+ }
101
+ };
102
+ /** A polymorphic field selects exactly one component while each physical column retains a scalar ID codec. */
103
+ var PolymorphicKeySerde = class {
104
+ fieldName;
105
+ columns;
106
+ constructor(fieldName, components) {
107
+ this.fieldName = fieldName;
108
+ this.columns = components.map((component) => new PolymorphicFieldColumn(fieldName, component, components));
109
+ }
110
+ /** Select the first truthy component whose decoded ID is not nullish. */
111
+ fromRow(rowData, rowIndex) {
112
+ let decoded;
113
+ for (const column of this.columns) {
114
+ const value = rowData.get(rowIndex, column.columnName);
115
+ if (value) {
116
+ decoded = column.mapFromDb(value);
117
+ if (decoded != null) return decoded;
118
+ }
119
+ }
120
+ return decoded;
121
+ }
122
+ };
123
+ /** Shares domain components between relationship traversal and entity write selection. */
124
+ function polymorphicField(fieldName, required, components) {
125
+ return {
126
+ kind: "poly",
127
+ fieldName,
128
+ fieldIdName: `${fieldName}Id`,
129
+ required,
130
+ components,
131
+ serde: new PolymorphicKeySerde(fieldName, components),
132
+ immutable: false
133
+ };
134
+ }
135
+ /** A domain relationship component references storage and only overrides a specialized domain target. */
136
+ var PolyComponent = class {
137
+ column;
138
+ otherFieldName;
139
+ target;
140
+ constructor(column, otherFieldName, target) {
141
+ this.column = column;
142
+ this.otherFieldName = otherFieldName;
143
+ this.target = target;
144
+ }
145
+ get columnName() {
146
+ return this.column.columnName;
147
+ }
148
+ get otherMetadata() {
149
+ return this.target ?? this.column.idMetadata;
150
+ }
151
+ };
152
+ /** Selects a relationship component for entity writes only; direct SQL writes use its scalar column codec. */
153
+ var PolymorphicFieldColumn = class extends FieldColumn {
154
+ component;
155
+ components;
156
+ constructor(fieldName, component, components) {
157
+ super(fieldName, component.column);
158
+ this.component = component;
159
+ this.components = components;
160
+ }
161
+ get otherMetadata() {
162
+ return this.component.otherMetadata;
163
+ }
164
+ /** Preserve exact subtype selection when multiple components share a base type. */
165
+ mapToDbValue(value) {
166
+ const id = maybeResolveReferenceToId(value);
167
+ const cstr = isEntity(value) ? getMetadata(value).cstr : id ? getConstructorFromTaggedId(id) : void 0;
168
+ const hasMultipleComponentsWithSameBaseType = [...groupBy(this.components, (component) => getBaseMeta(component.otherMetadata()).type).values()].some((group) => group.length > 1);
169
+ const otherMeta = this.otherMetadata();
170
+ return (hasMultipleComponentsWithSameBaseType ? cstr === otherMeta.cstr : cstr === otherMeta.cstr || cstr === getBaseMeta(otherMeta).cstr || otherMeta.subTypes.some((subTypeMeta) => cstr === subTypeMeta.cstr)) ? this.column.mapToDbValue(id) : void 0;
171
+ }
172
+ dbValue(data) {
173
+ return this.mapToDbValue(data[this.fieldName]);
174
+ }
175
+ rowValue(data) {
176
+ return this.dbValue(data);
177
+ }
178
+ };
179
+ //#endregion
180
+ export { FieldColumn, PolyComponent, PolymorphicKeySerde, SimpleFieldSerde, hasSerde, polymorphicField };
181
+
182
+ //# sourceMappingURL=fieldSerde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldSerde.js","names":[],"sources":["../src/fieldSerde.ts"],"sourcesContent":["import type { Column } from \"./columns.ts\";\nimport { getConstructorFromTaggedId } from \"./configure.ts\";\nimport type { InsertFixup } from \"./drivers/EntityWriter.ts\";\nimport { type Entity, isEntity } from \"./Entity.ts\";\nimport {\n type EntityMetadata,\n type Field,\n type PolymorphicField,\n type PolymorphicFieldComponent,\n type SerdeField,\n getBaseMeta,\n getMetadata,\n} from \"./EntityMetadata.ts\";\nimport { maybeResolveReferenceToId } from \"./keys.ts\";\nimport type { RowData } from \"./RowData.ts\";\nimport type { TimestampCodec } from \"./serde.ts\";\nimport { groupBy } from \"./utils.ts\";\n\nexport function hasSerde(field: Field): field is SerdeField {\n return !!field.serde;\n}\n\n/** Entity hydration and flush bindings; a polymorphic relationship spans several physical columns. */\nexport interface FieldSerde {\n columns: FieldColumn[];\n /** Decode one domain value from accessed cells; callers own entity assignment and caching. */\n fromRow(rowData: RowData, rowIndex: number): unknown;\n}\n\nexport interface TimestampSerde<T> extends FieldSerde {\n mapFromNow(now: Date): T;\n dbValue(data: any): any;\n}\n\n/** Binds a physical column to entity data without adding a second codec or storage declaration. */\nexport class FieldColumn {\n constructor(\n readonly fieldName: string,\n readonly column: Column,\n ) {}\n get codec() {\n return this.column.codec;\n }\n get insertOptional() {\n return this.column.insertOptional;\n }\n get writable() {\n return this.column.writable;\n }\n get insert() {\n return this.column.insert;\n }\n get update() {\n return this.column.update;\n }\n get idMetadata() {\n return this.column.idMetadata;\n }\n get columnName(): string {\n return this.column.columnName;\n }\n get dbType(): string {\n return this.column.dbType;\n }\n get isArray(): boolean {\n return this.column.isArray;\n }\n get isNullableArray(): boolean {\n return this.column.isNullableArray;\n }\n get sqlNullable(): boolean {\n return this.column.sqlNullable;\n }\n get hasDefault(): boolean {\n return this.column.hasDefault;\n }\n get isGenerated(): boolean {\n return this.column.isGenerated;\n }\n get outputType() {\n return this.column.outputType;\n }\n mapToDb(value: any): any {\n return this.column.mapToDb(value);\n }\n mapToDbValue(value: unknown): unknown {\n return this.column.mapToDbValue(value);\n }\n mapFromDb(value: unknown): unknown {\n return this.column.mapFromDb(value);\n }\n mapFromJsonAgg(value: any): any {\n return this.column.mapFromJsonAgg(value);\n }\n\n /** Defers FK writes whose new target must be inserted after this entity. */\n dbValue(data: any, entity: Entity, tableName: string, fixups: InsertFixup[] | undefined): any {\n const value = data[this.fieldName];\n if (\n this.column.idMetadata &&\n fixups &&\n isEntity(value) &&\n value.isNewEntity &&\n getMetadata(value).nonDeferredFkOrder &&\n getMetadata(entity).nonDeferredFkOrder &&\n getMetadata(value).nonDeferredFkOrder! >= getMetadata(entity).nonDeferredFkOrder!\n ) {\n fixups.push({ entity, tableName, column: this, value: this.mapToDbValue(maybeResolveReferenceToId(value)) });\n return null;\n }\n return this.mapToDbValue(value);\n }\n\n /** Reconstruct the driver's row representation, which can differ from write bindings for Date and JSON. */\n rowValue(data: any): any {\n return this.column.codec.mapToRow(data[this.fieldName]);\n }\n}\n\n/** Binds one entity field to its physical column. */\nexport class SimpleFieldSerde extends FieldColumn implements FieldSerde {\n readonly columns: FieldColumn[] = [this];\n /** Decode this field's physical column without changing entity data. */\n fromRow(rowData: RowData, rowIndex: number): unknown {\n return this.column.mapFromDb(rowData.get(rowIndex, this.column.columnName));\n }\n mapFromNow(now: Date): unknown {\n return (this.column.codec as TimestampCodec<unknown>).mapFromNow(now);\n }\n}\n\n/** A polymorphic field selects exactly one component while each physical column retains a scalar ID codec. */\nexport class PolymorphicKeySerde implements FieldSerde {\n readonly columns: PolymorphicFieldColumn[];\n constructor(\n readonly fieldName: string,\n components: PolymorphicFieldComponent[],\n ) {\n this.columns = components.map((component) => new PolymorphicFieldColumn(fieldName, component, components));\n }\n /** Select the first truthy component whose decoded ID is not nullish. */\n fromRow(rowData: RowData, rowIndex: number): unknown {\n let decoded: unknown;\n for (const column of this.columns) {\n const value = rowData.get(rowIndex, column.columnName);\n if (value) {\n decoded = column.mapFromDb(value);\n if (decoded != null) return decoded;\n }\n }\n return decoded;\n }\n}\n\n/** Shares domain components between relationship traversal and entity write selection. */\nexport function polymorphicField(\n fieldName: string,\n required: boolean,\n components: PolymorphicFieldComponent[],\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldIdName: `${fieldName}Id`,\n required,\n components,\n serde: new PolymorphicKeySerde(fieldName, components),\n immutable: false,\n };\n}\n\n/** A domain relationship component references storage and only overrides a specialized domain target. */\nexport class PolyComponent implements PolymorphicFieldComponent {\n constructor(\n readonly column: Column,\n readonly otherFieldName: string,\n private readonly target?: () => EntityMetadata,\n ) {}\n get columnName(): string {\n return this.column.columnName;\n }\n get otherMetadata(): () => EntityMetadata {\n return this.target ?? this.column.idMetadata!;\n }\n}\n\n/** Selects a relationship component for entity writes only; direct SQL writes use its scalar column codec. */\nclass PolymorphicFieldColumn extends FieldColumn {\n constructor(\n fieldName: string,\n private readonly component: PolymorphicFieldComponent,\n private readonly components: PolymorphicFieldComponent[],\n ) {\n super(fieldName, component.column);\n }\n get otherMetadata() {\n return this.component.otherMetadata;\n }\n\n /** Preserve exact subtype selection when multiple components share a base type. */\n mapToDbValue(value: unknown): unknown {\n const id = maybeResolveReferenceToId(value as Parameters<typeof maybeResolveReferenceToId>[0]);\n const cstr = isEntity(value) ? getMetadata(value).cstr : id ? getConstructorFromTaggedId(id) : undefined;\n // If our poly has multiple components from the same base type, i.e.\n // `parent_small_publisher_id` and `parent_large_publisher_id`, then we\n // need slightly different logic...\n const hasMultipleComponentsWithSameBaseType = [\n ...groupBy(this.components, (component) => getBaseMeta(component.otherMetadata()).type).values(),\n ].some((group) => group.length > 1);\n const otherMeta = this.otherMetadata();\n // We'll have multiple columns, i.e. [parent_author_id, parent_book_id], and each column\n // will only return a value if the `id` matches its type, i.e. `parent_author_id=a:1` will\n // return 1, but `parent_book_id` will return null.\n const applies = hasMultipleComponentsWithSameBaseType\n ? cstr === otherMeta.cstr\n : cstr === otherMeta.cstr ||\n cstr === getBaseMeta(otherMeta).cstr ||\n otherMeta.subTypes.some((subTypeMeta) => cstr === subTypeMeta.cstr);\n return applies ? this.column.mapToDbValue(id) : undefined;\n }\n // Polymorphic writes historically do not schedule non-deferred FK fixups.\n dbValue(data: any): any {\n return this.mapToDbValue(data[this.fieldName]);\n }\n rowValue(data: any): any {\n return this.dbValue(data);\n }\n}\n"],"mappings":"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"}