joist-core 2.3.0 → 2.4.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1548) hide show
  1. package/build/BaseEntity.cjs +112 -0
  2. package/build/BaseEntity.cjs.map +1 -0
  3. package/build/BaseEntity.d.cts +73 -0
  4. package/build/BaseEntity.d.cts.map +1 -0
  5. package/build/BaseEntity.d.mts +73 -0
  6. package/build/BaseEntity.d.mts.map +1 -0
  7. package/build/BaseEntity.js +99 -110
  8. package/build/BaseEntity.js.map +1 -1
  9. package/build/Entity.cjs +12 -0
  10. package/build/Entity.cjs.map +1 -0
  11. package/build/Entity.d.cts +42 -0
  12. package/build/Entity.d.cts.map +1 -0
  13. package/build/Entity.d.mts +42 -0
  14. package/build/Entity.d.mts.map +1 -0
  15. package/build/Entity.js +8 -5
  16. package/build/Entity.js.map +1 -1
  17. package/build/EntityFields.cjs +1 -0
  18. package/build/EntityFields.d.cts +36 -0
  19. package/build/EntityFields.d.cts.map +1 -0
  20. package/build/EntityFields.d.mts +36 -0
  21. package/build/EntityFields.d.mts.map +1 -0
  22. package/build/EntityFields.js +1 -3
  23. package/build/EntityManager.cjs +1935 -0
  24. package/build/EntityManager.cjs.map +1 -0
  25. package/build/EntityManager.d.cts +835 -0
  26. package/build/EntityManager.d.cts.map +1 -0
  27. package/build/EntityManager.d.mts +835 -0
  28. package/build/EntityManager.d.mts.map +1 -0
  29. package/build/EntityManager.js +1812 -2211
  30. package/build/EntityManager.js.map +1 -1
  31. package/build/EntityMetadata.cjs +75 -0
  32. package/build/EntityMetadata.cjs.map +1 -0
  33. package/build/EntityMetadata.d.cts +262 -0
  34. package/build/EntityMetadata.d.cts.map +1 -0
  35. package/build/EntityMetadata.d.mts +262 -0
  36. package/build/EntityMetadata.d.mts.map +1 -0
  37. package/build/EntityMetadata.js +31 -48
  38. package/build/EntityMetadata.js.map +1 -1
  39. package/build/EnumMetadata.cjs +1 -0
  40. package/build/EnumMetadata.d.cts +18 -0
  41. package/build/EnumMetadata.d.cts.map +1 -0
  42. package/build/EnumMetadata.d.mts +18 -0
  43. package/build/EnumMetadata.d.mts.map +1 -0
  44. package/build/EnumMetadata.js +1 -3
  45. package/build/IndexManager.cjs +178 -0
  46. package/build/IndexManager.cjs.map +1 -0
  47. package/build/IndexManager.d.cts +36 -0
  48. package/build/IndexManager.d.cts.map +1 -0
  49. package/build/IndexManager.d.mts +36 -0
  50. package/build/IndexManager.d.mts.map +1 -0
  51. package/build/IndexManager.js +169 -218
  52. package/build/IndexManager.js.map +1 -1
  53. package/build/InstanceData.cjs +218 -0
  54. package/build/InstanceData.cjs.map +1 -0
  55. package/build/InstanceData.d.cts +98 -0
  56. package/build/InstanceData.d.cts.map +1 -0
  57. package/build/InstanceData.d.mts +98 -0
  58. package/build/InstanceData.d.mts.map +1 -0
  59. package/build/InstanceData.js +215 -222
  60. package/build/InstanceData.js.map +1 -1
  61. package/build/PluginManager.cjs +89 -0
  62. package/build/PluginManager.cjs.map +1 -0
  63. package/build/PluginManager.d.cts +112 -0
  64. package/build/PluginManager.d.cts.map +1 -0
  65. package/build/PluginManager.d.mts +112 -0
  66. package/build/PluginManager.d.mts.map +1 -0
  67. package/build/PluginManager.js +80 -106
  68. package/build/PluginManager.js.map +1 -1
  69. package/build/RowData.cjs +37 -0
  70. package/build/RowData.cjs.map +1 -0
  71. package/build/RowData.d.cts +53 -0
  72. package/build/RowData.d.cts.map +1 -0
  73. package/build/RowData.d.mts +53 -0
  74. package/build/RowData.d.mts.map +1 -0
  75. package/build/RowData.js +35 -0
  76. package/build/RowData.js.map +1 -0
  77. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  78. package/build/batchloaders/BatchLoader.cjs +49 -0
  79. package/build/batchloaders/BatchLoader.cjs.map +1 -0
  80. package/build/batchloaders/BatchLoader.d.cts +17 -0
  81. package/build/batchloaders/BatchLoader.d.cts.map +1 -0
  82. package/build/batchloaders/BatchLoader.d.mts +17 -0
  83. package/build/batchloaders/BatchLoader.d.mts.map +1 -0
  84. package/build/batchloaders/BatchLoader.js +45 -54
  85. package/build/batchloaders/BatchLoader.js.map +1 -1
  86. package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
  87. package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
  88. package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
  89. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
  90. package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
  91. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
  92. package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
  93. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
  94. package/build/batchloaders/loadBatchLoader.cjs +78 -0
  95. package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
  96. package/build/batchloaders/loadBatchLoader.d.cts +20 -0
  97. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
  98. package/build/batchloaders/loadBatchLoader.d.mts +20 -0
  99. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
  100. package/build/batchloaders/loadBatchLoader.js +72 -51
  101. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  102. package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
  103. package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
  104. package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
  105. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
  106. package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
  107. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
  108. package/build/batchloaders/manyToManyBatchLoader.js +70 -61
  109. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  110. package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
  111. package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
  112. package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
  113. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
  114. package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
  115. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
  116. package/build/batchloaders/oneToManyBatchLoader.js +58 -48
  117. package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
  118. package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
  119. package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
  120. package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
  121. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
  122. package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
  123. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
  124. package/build/batchloaders/oneToOneBatchLoader.js +59 -50
  125. package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
  126. package/build/batchloaders/populateBatchLoader.cjs +155 -0
  127. package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
  128. package/build/batchloaders/populateBatchLoader.d.cts +17 -0
  129. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
  130. package/build/batchloaders/populateBatchLoader.d.mts +17 -0
  131. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
  132. package/build/batchloaders/populateBatchLoader.js +147 -203
  133. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  134. package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
  135. package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
  136. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
  137. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
  138. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
  139. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
  140. package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
  141. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  142. package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
  143. package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
  144. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
  145. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
  146. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
  147. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
  148. package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
  149. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  150. package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
  151. package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
  152. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
  153. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
  154. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
  155. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
  156. package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
  157. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  158. package/build/changes.cjs +221 -0
  159. package/build/changes.cjs.map +1 -0
  160. package/build/changes.d.cts +95 -0
  161. package/build/changes.d.cts.map +1 -0
  162. package/build/changes.d.mts +95 -0
  163. package/build/changes.d.mts.map +1 -0
  164. package/build/changes.js +208 -285
  165. package/build/changes.js.map +1 -1
  166. package/build/config.cjs +295 -0
  167. package/build/config.cjs.map +1 -0
  168. package/build/config.d.cts +277 -0
  169. package/build/config.d.cts.map +1 -0
  170. package/build/config.d.mts +277 -0
  171. package/build/config.d.mts.map +1 -0
  172. package/build/config.js +255 -301
  173. package/build/config.js.map +1 -1
  174. package/build/configure.cjs +324 -0
  175. package/build/configure.cjs.map +1 -0
  176. package/build/configure.d.cts +19 -0
  177. package/build/configure.d.cts.map +1 -0
  178. package/build/configure.d.mts +19 -0
  179. package/build/configure.d.mts.map +1 -0
  180. package/build/configure.js +265 -348
  181. package/build/configure.js.map +1 -1
  182. package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
  183. package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
  184. package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
  185. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
  186. package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
  187. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
  188. package/build/dataloaders/fastWhereFilterHash.js +108 -133
  189. package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
  190. package/build/dataloaders/findByUniqueDataLoader.cjs +58 -0
  191. package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
  192. package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
  193. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
  194. package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
  195. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
  196. package/build/dataloaders/findByUniqueDataLoader.js +53 -44
  197. package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
  198. package/build/dataloaders/findCountDataLoader.cjs +123 -0
  199. package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
  200. package/build/dataloaders/findCountDataLoader.d.cts +19 -0
  201. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
  202. package/build/dataloaders/findCountDataLoader.d.mts +19 -0
  203. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
  204. package/build/dataloaders/findCountDataLoader.js +112 -109
  205. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  206. package/build/dataloaders/findDataLoader.cjs +365 -0
  207. package/build/dataloaders/findDataLoader.cjs.map +1 -0
  208. package/build/dataloaders/findDataLoader.d.cts +79 -0
  209. package/build/dataloaders/findDataLoader.d.cts.map +1 -0
  210. package/build/dataloaders/findDataLoader.d.mts +79 -0
  211. package/build/dataloaders/findDataLoader.d.mts.map +1 -0
  212. package/build/dataloaders/findDataLoader.js +298 -382
  213. package/build/dataloaders/findDataLoader.js.map +1 -1
  214. package/build/dataloaders/findIdsDataLoader.cjs +82 -0
  215. package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
  216. package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
  217. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
  218. package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
  219. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
  220. package/build/dataloaders/findIdsDataLoader.js +77 -74
  221. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  222. package/build/dataloaders/findOrCreateDataLoader.cjs +120 -0
  223. package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
  224. package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
  225. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
  226. package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
  227. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
  228. package/build/dataloaders/findOrCreateDataLoader.js +102 -164
  229. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  230. package/build/dataloaders/findPaginatedDataLoader.cjs +98 -0
  231. package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
  232. package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
  233. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
  234. package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
  235. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
  236. package/build/dataloaders/findPaginatedDataLoader.js +93 -80
  237. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  238. package/build/dataloaders/lensDataLoader.cjs +178 -0
  239. package/build/dataloaders/lensDataLoader.cjs.map +1 -0
  240. package/build/dataloaders/lensDataLoader.d.cts +15 -0
  241. package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
  242. package/build/dataloaders/lensDataLoader.d.mts +15 -0
  243. package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
  244. package/build/dataloaders/lensDataLoader.js +172 -176
  245. package/build/dataloaders/lensDataLoader.js.map +1 -1
  246. package/build/dataloaders/manyToManyFindDataLoader.cjs +84 -0
  247. package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
  248. package/build/dataloaders/manyToManyFindDataLoader.d.cts +12 -0
  249. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
  250. package/build/dataloaders/manyToManyFindDataLoader.d.mts +12 -0
  251. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
  252. package/build/dataloaders/manyToManyFindDataLoader.js +76 -70
  253. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  254. package/build/dataloaders/oneToManyFindDataLoader.cjs +77 -0
  255. package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
  256. package/build/dataloaders/oneToManyFindDataLoader.d.cts +12 -0
  257. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
  258. package/build/dataloaders/oneToManyFindDataLoader.d.mts +12 -0
  259. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
  260. package/build/dataloaders/oneToManyFindDataLoader.js +71 -67
  261. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  262. package/build/defaults.cjs +195 -0
  263. package/build/defaults.cjs.map +1 -0
  264. package/build/defaults.d.cts +56 -0
  265. package/build/defaults.d.cts.map +1 -0
  266. package/build/defaults.d.mts +56 -0
  267. package/build/defaults.d.mts.map +1 -0
  268. package/build/defaults.js +171 -271
  269. package/build/defaults.js.map +1 -1
  270. package/build/drivers/Driver.cjs +3 -0
  271. package/build/drivers/Driver.d.cts +51 -0
  272. package/build/drivers/Driver.d.cts.map +1 -0
  273. package/build/drivers/Driver.d.mts +51 -0
  274. package/build/drivers/Driver.d.mts.map +1 -0
  275. package/build/drivers/Driver.js +3 -3
  276. package/build/drivers/EntityWriter.cjs +208 -0
  277. package/build/drivers/EntityWriter.cjs.map +1 -0
  278. package/build/drivers/EntityWriter.d.cts +66 -0
  279. package/build/drivers/EntityWriter.d.cts.map +1 -0
  280. package/build/drivers/EntityWriter.d.mts +66 -0
  281. package/build/drivers/EntityWriter.d.mts.map +1 -0
  282. package/build/drivers/EntityWriter.js +183 -219
  283. package/build/drivers/EntityWriter.js.map +1 -1
  284. package/build/drivers/IdAssigner.cjs +89 -0
  285. package/build/drivers/IdAssigner.cjs.map +1 -0
  286. package/build/drivers/IdAssigner.d.cts +50 -0
  287. package/build/drivers/IdAssigner.d.cts.map +1 -0
  288. package/build/drivers/IdAssigner.d.mts +50 -0
  289. package/build/drivers/IdAssigner.d.mts.map +1 -0
  290. package/build/drivers/IdAssigner.js +80 -124
  291. package/build/drivers/IdAssigner.js.map +1 -1
  292. package/build/drivers/driverApi.cjs +19 -0
  293. package/build/drivers/driverApi.cjs.map +1 -0
  294. package/build/drivers/driverApi.d.cts +22 -0
  295. package/build/drivers/driverApi.d.cts.map +1 -0
  296. package/build/drivers/driverApi.d.mts +22 -0
  297. package/build/drivers/driverApi.d.mts.map +1 -0
  298. package/build/drivers/driverApi.js +18 -0
  299. package/build/drivers/driverApi.js.map +1 -0
  300. package/build/drivers/index.cjs +7 -0
  301. package/build/drivers/index.d.cts +4 -0
  302. package/build/drivers/index.d.mts +4 -0
  303. package/build/drivers/index.js +3 -22
  304. package/build/fields.cjs +127 -0
  305. package/build/fields.cjs.map +1 -0
  306. package/build/fields.d.cts +29 -0
  307. package/build/fields.d.cts.map +1 -0
  308. package/build/fields.d.mts +29 -0
  309. package/build/fields.d.mts.map +1 -0
  310. package/build/fields.js +98 -160
  311. package/build/fields.js.map +1 -1
  312. package/build/flush/FlushLock.cjs +51 -0
  313. package/build/flush/FlushLock.cjs.map +1 -0
  314. package/build/flush/FlushLock.d.cts +29 -0
  315. package/build/flush/FlushLock.d.cts.map +1 -0
  316. package/build/flush/FlushLock.d.mts +29 -0
  317. package/build/flush/FlushLock.d.mts.map +1 -0
  318. package/build/flush/FlushLock.js +51 -0
  319. package/build/flush/FlushLock.js.map +1 -0
  320. package/build/flush/JoinRows.cjs +263 -0
  321. package/build/flush/JoinRows.cjs.map +1 -0
  322. package/build/flush/JoinRows.d.cts +120 -0
  323. package/build/flush/JoinRows.d.cts.map +1 -0
  324. package/build/flush/JoinRows.d.mts +120 -0
  325. package/build/flush/JoinRows.d.mts.map +1 -0
  326. package/build/flush/JoinRows.js +261 -0
  327. package/build/flush/JoinRows.js.map +1 -0
  328. package/build/flush/PendingChanges.cjs +1 -0
  329. package/build/flush/PendingChanges.d.cts +29 -0
  330. package/build/flush/PendingChanges.d.cts.map +1 -0
  331. package/build/flush/PendingChanges.d.mts +29 -0
  332. package/build/flush/PendingChanges.d.mts.map +1 -0
  333. package/build/flush/PendingChanges.js +1 -0
  334. package/build/flush/Todo.cjs +71 -0
  335. package/build/flush/Todo.cjs.map +1 -0
  336. package/build/flush/Todo.d.cts +38 -0
  337. package/build/flush/Todo.d.cts.map +1 -0
  338. package/build/flush/Todo.d.mts +38 -0
  339. package/build/flush/Todo.d.mts.map +1 -0
  340. package/build/flush/Todo.js +67 -0
  341. package/build/flush/Todo.js.map +1 -0
  342. package/build/getProperties.cjs +87 -0
  343. package/build/getProperties.cjs.map +1 -0
  344. package/build/getProperties.d.cts +30 -0
  345. package/build/getProperties.d.cts.map +1 -0
  346. package/build/getProperties.d.mts +30 -0
  347. package/build/getProperties.d.mts.map +1 -0
  348. package/build/getProperties.js +71 -128
  349. package/build/getProperties.js.map +1 -1
  350. package/build/index.cjs +524 -0
  351. package/build/index.cjs.map +1 -0
  352. package/build/index.d.cts +180 -0
  353. package/build/index.d.cts.map +1 -0
  354. package/build/index.d.mts +180 -0
  355. package/build/index.d.mts.map +1 -0
  356. package/build/index.js +171 -292
  357. package/build/index.js.map +1 -1
  358. package/build/json.cjs +79 -0
  359. package/build/json.cjs.map +1 -0
  360. package/build/json.d.cts +76 -0
  361. package/build/json.d.cts.map +1 -0
  362. package/build/json.d.mts +76 -0
  363. package/build/json.d.mts.map +1 -0
  364. package/build/json.js +68 -106
  365. package/build/json.js.map +1 -1
  366. package/build/k.cjs +9 -0
  367. package/build/k.cjs.map +1 -0
  368. package/build/k.d.cts +1 -0
  369. package/build/k.d.mts +1 -0
  370. package/build/k.js +6 -6
  371. package/build/k.js.map +1 -1
  372. package/build/keys.cjs +181 -0
  373. package/build/keys.cjs.map +1 -0
  374. package/build/keys.d.cts +55 -0
  375. package/build/keys.d.cts.map +1 -0
  376. package/build/keys.d.mts +55 -0
  377. package/build/keys.d.mts.map +1 -0
  378. package/build/keys.js +129 -162
  379. package/build/keys.js.map +1 -1
  380. package/build/loading/HintTree.cjs +67 -0
  381. package/build/loading/HintTree.cjs.map +1 -0
  382. package/build/loading/HintTree.d.cts +45 -0
  383. package/build/loading/HintTree.d.cts.map +1 -0
  384. package/build/loading/HintTree.d.mts +45 -0
  385. package/build/loading/HintTree.d.mts.map +1 -0
  386. package/build/loading/HintTree.js +66 -0
  387. package/build/loading/HintTree.js.map +1 -0
  388. package/build/loading/IsLoadedCache.cjs +58 -0
  389. package/build/loading/IsLoadedCache.cjs.map +1 -0
  390. package/build/loading/IsLoadedCache.d.cts +35 -0
  391. package/build/loading/IsLoadedCache.d.cts.map +1 -0
  392. package/build/loading/IsLoadedCache.d.mts +35 -0
  393. package/build/loading/IsLoadedCache.d.mts.map +1 -0
  394. package/build/loading/IsLoadedCache.js +57 -0
  395. package/build/loading/IsLoadedCache.js.map +1 -0
  396. package/build/loading/loadHints.cjs +95 -0
  397. package/build/loading/loadHints.cjs.map +1 -0
  398. package/build/loading/loadHints.d.cts +116 -0
  399. package/build/loading/loadHints.d.cts.map +1 -0
  400. package/build/loading/loadHints.d.mts +116 -0
  401. package/build/loading/loadHints.d.mts.map +1 -0
  402. package/build/loading/loadHints.js +88 -0
  403. package/build/loading/loadHints.js.map +1 -0
  404. package/build/loading/loadLens.cjs +212 -0
  405. package/build/loading/loadLens.cjs.map +1 -0
  406. package/build/loading/loadLens.d.cts +77 -0
  407. package/build/loading/loadLens.d.cts.map +1 -0
  408. package/build/loading/loadLens.d.mts +77 -0
  409. package/build/loading/loadLens.d.mts.map +1 -0
  410. package/build/loading/loadLens.js +201 -0
  411. package/build/loading/loadLens.js.map +1 -0
  412. package/build/loading/withLoaded.cjs +64 -0
  413. package/build/loading/withLoaded.cjs.map +1 -0
  414. package/build/loading/withLoaded.d.cts +65 -0
  415. package/build/loading/withLoaded.d.cts.map +1 -0
  416. package/build/loading/withLoaded.d.mts +65 -0
  417. package/build/loading/withLoaded.d.mts.map +1 -0
  418. package/build/loading/withLoaded.js +61 -0
  419. package/build/loading/withLoaded.js.map +1 -0
  420. package/build/logging/FactoryLogger.cjs +66 -0
  421. package/build/logging/FactoryLogger.cjs.map +1 -0
  422. package/build/logging/FactoryLogger.d.cts +27 -0
  423. package/build/logging/FactoryLogger.d.cts.map +1 -0
  424. package/build/logging/FactoryLogger.d.mts +27 -0
  425. package/build/logging/FactoryLogger.d.mts.map +1 -0
  426. package/build/logging/FactoryLogger.js +58 -73
  427. package/build/logging/FactoryLogger.js.map +1 -1
  428. package/build/logging/FieldLogger.cjs +57 -0
  429. package/build/logging/FieldLogger.cjs.map +1 -0
  430. package/build/logging/FieldLogger.d.cts +32 -0
  431. package/build/logging/FieldLogger.d.cts.map +1 -0
  432. package/build/logging/FieldLogger.d.mts +32 -0
  433. package/build/logging/FieldLogger.d.mts.map +1 -0
  434. package/build/logging/FieldLogger.js +51 -67
  435. package/build/logging/FieldLogger.js.map +1 -1
  436. package/build/logging/ReactionLogger.cjs +93 -0
  437. package/build/logging/ReactionLogger.cjs.map +1 -0
  438. package/build/logging/ReactionLogger.d.cts +37 -0
  439. package/build/logging/ReactionLogger.d.cts.map +1 -0
  440. package/build/logging/ReactionLogger.d.mts +37 -0
  441. package/build/logging/ReactionLogger.d.mts.map +1 -0
  442. package/build/logging/ReactionLogger.js +76 -66
  443. package/build/logging/ReactionLogger.js.map +1 -1
  444. package/build/newEntity.cjs +89 -0
  445. package/build/newEntity.cjs.map +1 -0
  446. package/build/newEntity.d.cts +48 -0
  447. package/build/newEntity.d.cts.map +1 -0
  448. package/build/newEntity.d.mts +48 -0
  449. package/build/newEntity.d.mts.map +1 -0
  450. package/build/newEntity.js +71 -94
  451. package/build/newEntity.js.map +1 -1
  452. package/build/newTestInstance.cjs +539 -0
  453. package/build/newTestInstance.cjs.map +1 -0
  454. package/build/newTestInstance.d.cts +207 -0
  455. package/build/newTestInstance.d.cts.map +1 -0
  456. package/build/newTestInstance.d.mts +207 -0
  457. package/build/newTestInstance.d.mts.map +1 -0
  458. package/build/newTestInstance.js +459 -721
  459. package/build/newTestInstance.js.map +1 -1
  460. package/build/normalizeHints.cjs +58 -0
  461. package/build/normalizeHints.cjs.map +1 -0
  462. package/build/normalizeHints.d.cts +24 -0
  463. package/build/normalizeHints.d.cts.map +1 -0
  464. package/build/normalizeHints.d.mts +24 -0
  465. package/build/normalizeHints.d.mts.map +1 -0
  466. package/build/normalizeHints.js +40 -55
  467. package/build/normalizeHints.js.map +1 -1
  468. package/build/nowUTC.cjs +15 -0
  469. package/build/nowUTC.cjs.map +1 -0
  470. package/build/nowUTC.d.cts +10 -0
  471. package/build/nowUTC.d.cts.map +1 -0
  472. package/build/nowUTC.d.mts +10 -0
  473. package/build/nowUTC.d.mts.map +1 -0
  474. package/build/nowUTC.js +14 -0
  475. package/build/nowUTC.js.map +1 -0
  476. package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
  477. package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
  478. package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
  479. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
  480. package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
  481. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
  482. package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
  483. package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
  484. package/build/plugins/PreloadPlugin.cjs +3 -0
  485. package/build/plugins/PreloadPlugin.d.cts +77 -0
  486. package/build/plugins/PreloadPlugin.d.cts.map +1 -0
  487. package/build/plugins/PreloadPlugin.d.mts +77 -0
  488. package/build/plugins/PreloadPlugin.d.mts.map +1 -0
  489. package/build/plugins/PreloadPlugin.js +3 -3
  490. package/build/preloading/JsonAggregatePreloader.cjs +280 -0
  491. package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
  492. package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
  493. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
  494. package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
  495. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
  496. package/build/preloading/JsonAggregatePreloader.js +270 -320
  497. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  498. package/build/preloading/canPreload.cjs +19 -0
  499. package/build/preloading/canPreload.cjs.map +1 -0
  500. package/build/preloading/canPreload.d.cts +6 -0
  501. package/build/preloading/canPreload.d.cts.map +1 -0
  502. package/build/preloading/canPreload.d.mts +6 -0
  503. package/build/preloading/canPreload.d.mts.map +1 -0
  504. package/build/preloading/canPreload.js +15 -21
  505. package/build/preloading/canPreload.js.map +1 -1
  506. package/build/preloading/partitionHint.cjs +43 -0
  507. package/build/preloading/partitionHint.cjs.map +1 -0
  508. package/build/preloading/partitionHint.d.cts +8 -0
  509. package/build/preloading/partitionHint.d.cts.map +1 -0
  510. package/build/preloading/partitionHint.d.mts +8 -0
  511. package/build/preloading/partitionHint.d.mts.map +1 -0
  512. package/build/preloading/partitionHint.js +36 -56
  513. package/build/preloading/partitionHint.js.map +1 -1
  514. package/build/queries/ConditionBuilder.cjs +106 -0
  515. package/build/queries/ConditionBuilder.cjs.map +1 -0
  516. package/build/queries/ConditionBuilder.d.cts +31 -0
  517. package/build/queries/ConditionBuilder.d.cts.map +1 -0
  518. package/build/queries/ConditionBuilder.d.mts +31 -0
  519. package/build/queries/ConditionBuilder.d.mts.map +1 -0
  520. package/build/queries/ConditionBuilder.js +105 -0
  521. package/build/queries/ConditionBuilder.js.map +1 -0
  522. package/build/queries/conditions.cjs +15 -0
  523. package/build/queries/conditions.cjs.map +1 -0
  524. package/build/queries/conditions.d.cts +38 -0
  525. package/build/queries/conditions.d.cts.map +1 -0
  526. package/build/queries/conditions.d.mts +38 -0
  527. package/build/queries/conditions.d.mts.map +1 -0
  528. package/build/queries/conditions.js +13 -0
  529. package/build/queries/conditions.js.map +1 -0
  530. package/build/queries/entityQueryUtils.cjs +60 -0
  531. package/build/queries/entityQueryUtils.cjs.map +1 -0
  532. package/build/queries/entityQueryUtils.d.cts +19 -0
  533. package/build/queries/entityQueryUtils.d.cts.map +1 -0
  534. package/build/queries/entityQueryUtils.d.mts +19 -0
  535. package/build/queries/entityQueryUtils.d.mts.map +1 -0
  536. package/build/queries/entityQueryUtils.js +56 -0
  537. package/build/queries/entityQueryUtils.js.map +1 -0
  538. package/build/queries/find/Aliases.cjs +301 -0
  539. package/build/queries/find/Aliases.cjs.map +1 -0
  540. package/build/queries/find/Aliases.d.cts +122 -0
  541. package/build/queries/find/Aliases.d.cts.map +1 -0
  542. package/build/queries/find/Aliases.d.mts +122 -0
  543. package/build/queries/find/Aliases.d.mts.map +1 -0
  544. package/build/queries/find/Aliases.js +293 -0
  545. package/build/queries/find/Aliases.js.map +1 -0
  546. package/build/queries/find/DeferredAlias.cjs +25 -0
  547. package/build/queries/find/DeferredAlias.cjs.map +1 -0
  548. package/build/queries/find/DeferredAlias.d.cts +22 -0
  549. package/build/queries/find/DeferredAlias.d.cts.map +1 -0
  550. package/build/queries/find/DeferredAlias.d.mts +22 -0
  551. package/build/queries/find/DeferredAlias.d.mts.map +1 -0
  552. package/build/queries/find/DeferredAlias.js +22 -0
  553. package/build/queries/find/DeferredAlias.js.map +1 -0
  554. package/build/queries/find/EntityFilter.cjs +27 -0
  555. package/build/queries/find/EntityFilter.cjs.map +1 -0
  556. package/build/queries/find/EntityFilter.d.cts +127 -0
  557. package/build/queries/find/EntityFilter.d.cts.map +1 -0
  558. package/build/queries/find/EntityFilter.d.mts +127 -0
  559. package/build/queries/find/EntityFilter.d.mts.map +1 -0
  560. package/build/queries/find/EntityFilter.js +26 -0
  561. package/build/queries/find/EntityFilter.js.map +1 -0
  562. package/build/queries/find/EntityGraphQLFilter.cjs +52 -0
  563. package/build/queries/find/EntityGraphQLFilter.cjs.map +1 -0
  564. package/build/queries/find/EntityGraphQLFilter.d.cts +59 -0
  565. package/build/queries/find/EntityGraphQLFilter.d.cts.map +1 -0
  566. package/build/queries/find/EntityGraphQLFilter.d.mts +59 -0
  567. package/build/queries/find/EntityGraphQLFilter.d.mts.map +1 -0
  568. package/build/queries/find/EntityGraphQLFilter.js +50 -0
  569. package/build/queries/find/EntityGraphQLFilter.js.map +1 -0
  570. package/build/queries/find/QueryParser.cjs +553 -0
  571. package/build/queries/find/QueryParser.cjs.map +1 -0
  572. package/build/queries/find/QueryParser.collectionJoins.cjs +353 -0
  573. package/build/queries/find/QueryParser.collectionJoins.cjs.map +1 -0
  574. package/build/queries/find/QueryParser.collectionJoins.d.cts +30 -0
  575. package/build/queries/find/QueryParser.collectionJoins.d.cts.map +1 -0
  576. package/build/queries/find/QueryParser.collectionJoins.d.mts +30 -0
  577. package/build/queries/find/QueryParser.collectionJoins.d.mts.map +1 -0
  578. package/build/queries/find/QueryParser.collectionJoins.js +352 -0
  579. package/build/queries/find/QueryParser.collectionJoins.js.map +1 -0
  580. package/build/queries/find/QueryParser.d.cts +192 -0
  581. package/build/queries/find/QueryParser.d.cts.map +1 -0
  582. package/build/queries/find/QueryParser.d.mts +192 -0
  583. package/build/queries/find/QueryParser.d.mts.map +1 -0
  584. package/build/queries/find/QueryParser.js +546 -0
  585. package/build/queries/find/QueryParser.js.map +1 -0
  586. package/build/queries/find/QueryParser.pruning.cjs +115 -0
  587. package/build/queries/find/QueryParser.pruning.cjs.map +1 -0
  588. package/build/queries/find/QueryParser.pruning.d.cts +8 -0
  589. package/build/queries/find/QueryParser.pruning.d.cts.map +1 -0
  590. package/build/queries/find/QueryParser.pruning.d.mts +8 -0
  591. package/build/queries/find/QueryParser.pruning.d.mts.map +1 -0
  592. package/build/queries/find/QueryParser.pruning.js +113 -0
  593. package/build/queries/find/QueryParser.pruning.js.map +1 -0
  594. package/build/queries/find/QueryVisitor.cjs +77 -0
  595. package/build/queries/find/QueryVisitor.cjs.map +1 -0
  596. package/build/queries/find/QueryVisitor.d.cts +24 -0
  597. package/build/queries/find/QueryVisitor.d.cts.map +1 -0
  598. package/build/queries/find/QueryVisitor.d.mts +24 -0
  599. package/build/queries/find/QueryVisitor.d.mts.map +1 -0
  600. package/build/queries/find/QueryVisitor.js +74 -0
  601. package/build/queries/find/QueryVisitor.js.map +1 -0
  602. package/build/queries/find/buildFindQuery.cjs +112 -0
  603. package/build/queries/find/buildFindQuery.cjs.map +1 -0
  604. package/build/queries/find/buildFindQuery.d.cts +24 -0
  605. package/build/queries/find/buildFindQuery.d.cts.map +1 -0
  606. package/build/queries/find/buildFindQuery.d.mts +24 -0
  607. package/build/queries/find/buildFindQuery.d.mts.map +1 -0
  608. package/build/queries/find/buildFindQuery.js +110 -0
  609. package/build/queries/find/buildFindQuery.js.map +1 -0
  610. package/build/queries/find/scopes.cjs +301 -0
  611. package/build/queries/find/scopes.cjs.map +1 -0
  612. package/build/queries/find/scopes.d.cts +188 -0
  613. package/build/queries/find/scopes.d.cts.map +1 -0
  614. package/build/queries/find/scopes.d.mts +188 -0
  615. package/build/queries/find/scopes.d.mts.map +1 -0
  616. package/build/queries/find/scopes.js +296 -0
  617. package/build/queries/find/scopes.js.map +1 -0
  618. package/build/queries/parsedConditions.cjs +21 -0
  619. package/build/queries/parsedConditions.cjs.map +1 -0
  620. package/build/queries/parsedConditions.d.cts +127 -0
  621. package/build/queries/parsedConditions.d.cts.map +1 -0
  622. package/build/queries/parsedConditions.d.mts +127 -0
  623. package/build/queries/parsedConditions.d.mts.map +1 -0
  624. package/build/queries/parsedConditions.js +20 -0
  625. package/build/queries/parsedConditions.js.map +1 -0
  626. package/build/queries/renderConditions.cjs +66 -0
  627. package/build/queries/renderConditions.cjs.map +1 -0
  628. package/build/queries/renderConditions.d.cts +15 -0
  629. package/build/queries/renderConditions.d.cts.map +1 -0
  630. package/build/queries/renderConditions.d.mts +15 -0
  631. package/build/queries/renderConditions.d.mts.map +1 -0
  632. package/build/queries/renderConditions.js +64 -0
  633. package/build/queries/renderConditions.js.map +1 -0
  634. package/build/queries/skipCondition.cjs +14 -0
  635. package/build/queries/skipCondition.cjs.map +1 -0
  636. package/build/queries/skipCondition.d.cts +7 -0
  637. package/build/queries/skipCondition.d.cts.map +1 -0
  638. package/build/queries/skipCondition.d.mts +7 -0
  639. package/build/queries/skipCondition.d.mts.map +1 -0
  640. package/build/queries/skipCondition.js +13 -0
  641. package/build/queries/skipCondition.js.map +1 -0
  642. package/build/queries/sql/AliasAssigner.cjs +35 -0
  643. package/build/queries/sql/AliasAssigner.cjs.map +1 -0
  644. package/build/queries/sql/AliasAssigner.d.cts +13 -0
  645. package/build/queries/sql/AliasAssigner.d.cts.map +1 -0
  646. package/build/queries/sql/AliasAssigner.d.mts +13 -0
  647. package/build/queries/sql/AliasAssigner.d.mts.map +1 -0
  648. package/build/queries/sql/AliasAssigner.js +34 -0
  649. package/build/queries/sql/AliasAssigner.js.map +1 -0
  650. package/build/queries/sql/Expr.cjs +529 -0
  651. package/build/queries/sql/Expr.cjs.map +1 -0
  652. package/build/queries/sql/Expr.d.cts +284 -0
  653. package/build/queries/sql/Expr.d.cts.map +1 -0
  654. package/build/queries/sql/Expr.d.mts +284 -0
  655. package/build/queries/sql/Expr.d.mts.map +1 -0
  656. package/build/queries/sql/Expr.js +512 -0
  657. package/build/queries/sql/Expr.js.map +1 -0
  658. package/build/queries/sql/JoinTree.cjs +72 -0
  659. package/build/queries/sql/JoinTree.cjs.map +1 -0
  660. package/build/queries/sql/JoinTree.d.cts +107 -0
  661. package/build/queries/sql/JoinTree.d.cts.map +1 -0
  662. package/build/queries/sql/JoinTree.d.mts +107 -0
  663. package/build/queries/sql/JoinTree.d.mts.map +1 -0
  664. package/build/queries/sql/JoinTree.js +71 -0
  665. package/build/queries/sql/JoinTree.js.map +1 -0
  666. package/build/queries/sql/Tables.cjs +803 -0
  667. package/build/queries/sql/Tables.cjs.map +1 -0
  668. package/build/queries/sql/Tables.d.cts +322 -0
  669. package/build/queries/sql/Tables.d.cts.map +1 -0
  670. package/build/queries/sql/Tables.d.mts +322 -0
  671. package/build/queries/sql/Tables.d.mts.map +1 -0
  672. package/build/queries/sql/Tables.js +786 -0
  673. package/build/queries/sql/Tables.js.map +1 -0
  674. package/build/queries/sql/custom.cjs +52 -0
  675. package/build/queries/sql/custom.cjs.map +1 -0
  676. package/build/queries/sql/custom.d.cts +85 -0
  677. package/build/queries/sql/custom.d.cts.map +1 -0
  678. package/build/queries/sql/custom.d.mts +85 -0
  679. package/build/queries/sql/custom.d.mts.map +1 -0
  680. package/build/queries/sql/custom.js +49 -0
  681. package/build/queries/sql/custom.js.map +1 -0
  682. package/build/queries/sql/execute.cjs +276 -0
  683. package/build/queries/sql/execute.cjs.map +1 -0
  684. package/build/queries/sql/execute.d.cts +294 -0
  685. package/build/queries/sql/execute.d.cts.map +1 -0
  686. package/build/queries/sql/execute.d.mts +294 -0
  687. package/build/queries/sql/execute.d.mts.map +1 -0
  688. package/build/queries/sql/execute.js +273 -0
  689. package/build/queries/sql/execute.js.map +1 -0
  690. package/build/queries/sql/expressions/arrayAgg.cjs +63 -0
  691. package/build/queries/sql/expressions/arrayAgg.cjs.map +1 -0
  692. package/build/queries/sql/expressions/arrayAgg.d.cts +24 -0
  693. package/build/queries/sql/expressions/arrayAgg.d.cts.map +1 -0
  694. package/build/queries/sql/expressions/arrayAgg.d.mts +24 -0
  695. package/build/queries/sql/expressions/arrayAgg.d.mts.map +1 -0
  696. package/build/queries/sql/expressions/arrayAgg.js +61 -0
  697. package/build/queries/sql/expressions/arrayAgg.js.map +1 -0
  698. package/build/queries/sql/expressions/case.cjs +71 -0
  699. package/build/queries/sql/expressions/case.cjs.map +1 -0
  700. package/build/queries/sql/expressions/case.d.cts +57 -0
  701. package/build/queries/sql/expressions/case.d.cts.map +1 -0
  702. package/build/queries/sql/expressions/case.d.mts +57 -0
  703. package/build/queries/sql/expressions/case.d.mts.map +1 -0
  704. package/build/queries/sql/expressions/case.js +68 -0
  705. package/build/queries/sql/expressions/case.js.map +1 -0
  706. package/build/queries/sql/expressions/coalesce.cjs +25 -0
  707. package/build/queries/sql/expressions/coalesce.cjs.map +1 -0
  708. package/build/queries/sql/expressions/coalesce.d.cts +21 -0
  709. package/build/queries/sql/expressions/coalesce.d.cts.map +1 -0
  710. package/build/queries/sql/expressions/coalesce.d.mts +21 -0
  711. package/build/queries/sql/expressions/coalesce.d.mts.map +1 -0
  712. package/build/queries/sql/expressions/coalesce.js +22 -0
  713. package/build/queries/sql/expressions/coalesce.js.map +1 -0
  714. package/build/queries/sql/expressions/codecs.cjs +126 -0
  715. package/build/queries/sql/expressions/codecs.cjs.map +1 -0
  716. package/build/queries/sql/expressions/codecs.d.cts +11 -0
  717. package/build/queries/sql/expressions/codecs.d.cts.map +1 -0
  718. package/build/queries/sql/expressions/codecs.d.mts +11 -0
  719. package/build/queries/sql/expressions/codecs.d.mts.map +1 -0
  720. package/build/queries/sql/expressions/codecs.js +125 -0
  721. package/build/queries/sql/expressions/codecs.js.map +1 -0
  722. package/build/queries/sql/expressions/expression.cjs +102 -0
  723. package/build/queries/sql/expressions/expression.cjs.map +1 -0
  724. package/build/queries/sql/expressions/expression.d.cts +23 -0
  725. package/build/queries/sql/expressions/expression.d.cts.map +1 -0
  726. package/build/queries/sql/expressions/expression.d.mts +23 -0
  727. package/build/queries/sql/expressions/expression.d.mts.map +1 -0
  728. package/build/queries/sql/expressions/expression.js +97 -0
  729. package/build/queries/sql/expressions/expression.js.map +1 -0
  730. package/build/queries/sql/expressions/greatest.cjs +25 -0
  731. package/build/queries/sql/expressions/greatest.cjs.map +1 -0
  732. package/build/queries/sql/expressions/greatest.d.cts +21 -0
  733. package/build/queries/sql/expressions/greatest.d.cts.map +1 -0
  734. package/build/queries/sql/expressions/greatest.d.mts +21 -0
  735. package/build/queries/sql/expressions/greatest.d.mts.map +1 -0
  736. package/build/queries/sql/expressions/greatest.js +22 -0
  737. package/build/queries/sql/expressions/greatest.js.map +1 -0
  738. package/build/queries/sql/expressions/least.cjs +25 -0
  739. package/build/queries/sql/expressions/least.cjs.map +1 -0
  740. package/build/queries/sql/expressions/least.d.cts +21 -0
  741. package/build/queries/sql/expressions/least.d.cts.map +1 -0
  742. package/build/queries/sql/expressions/least.d.mts +21 -0
  743. package/build/queries/sql/expressions/least.d.mts.map +1 -0
  744. package/build/queries/sql/expressions/least.js +22 -0
  745. package/build/queries/sql/expressions/least.js.map +1 -0
  746. package/build/queries/sql/expressions/nullIf.cjs +27 -0
  747. package/build/queries/sql/expressions/nullIf.cjs.map +1 -0
  748. package/build/queries/sql/expressions/nullIf.d.cts +22 -0
  749. package/build/queries/sql/expressions/nullIf.d.cts.map +1 -0
  750. package/build/queries/sql/expressions/nullIf.d.mts +22 -0
  751. package/build/queries/sql/expressions/nullIf.d.mts.map +1 -0
  752. package/build/queries/sql/expressions/nullIf.js +24 -0
  753. package/build/queries/sql/expressions/nullIf.js.map +1 -0
  754. package/build/queries/sql/expressions/parseExpression.cjs +75 -0
  755. package/build/queries/sql/expressions/parseExpression.cjs.map +1 -0
  756. package/build/queries/sql/expressions/parseExpression.d.cts +19 -0
  757. package/build/queries/sql/expressions/parseExpression.d.cts.map +1 -0
  758. package/build/queries/sql/expressions/parseExpression.d.mts +19 -0
  759. package/build/queries/sql/expressions/parseExpression.d.mts.map +1 -0
  760. package/build/queries/sql/expressions/parseExpression.js +70 -0
  761. package/build/queries/sql/expressions/parseExpression.js.map +1 -0
  762. package/build/queries/sql/expressions/types.cjs +1 -0
  763. package/build/queries/sql/expressions/types.d.cts +114 -0
  764. package/build/queries/sql/expressions/types.d.cts.map +1 -0
  765. package/build/queries/sql/expressions/types.d.mts +114 -0
  766. package/build/queries/sql/expressions/types.d.mts.map +1 -0
  767. package/build/queries/sql/expressions/types.js +1 -0
  768. package/build/queries/sql/keywords.cjs +136 -0
  769. package/build/queries/sql/keywords.cjs.map +1 -0
  770. package/build/queries/sql/keywords.d.cts +18 -0
  771. package/build/queries/sql/keywords.d.cts.map +1 -0
  772. package/build/queries/sql/keywords.d.mts +18 -0
  773. package/build/queries/sql/keywords.d.mts.map +1 -0
  774. package/build/queries/sql/keywords.js +132 -0
  775. package/build/queries/sql/keywords.js.map +1 -0
  776. package/build/queries/sql/query.cjs +1610 -0
  777. package/build/queries/sql/query.cjs.map +1 -0
  778. package/build/queries/sql/query.d.cts +844 -0
  779. package/build/queries/sql/query.d.cts.map +1 -0
  780. package/build/queries/sql/query.d.mts +844 -0
  781. package/build/queries/sql/query.d.mts.map +1 -0
  782. package/build/queries/sql/query.js +1592 -0
  783. package/build/queries/sql/query.js.map +1 -0
  784. package/build/queries/unnest.cjs +62 -0
  785. package/build/queries/unnest.cjs.map +1 -0
  786. package/build/queries/unnest.d.cts +16 -0
  787. package/build/queries/unnest.d.cts.map +1 -0
  788. package/build/queries/unnest.d.mts +16 -0
  789. package/build/queries/unnest.d.mts.map +1 -0
  790. package/build/queries/unnest.js +60 -0
  791. package/build/queries/unnest.js.map +1 -0
  792. package/build/queries/valueFilters.cjs +240 -0
  793. package/build/queries/valueFilters.cjs.map +1 -0
  794. package/build/queries/valueFilters.d.cts +26 -0
  795. package/build/queries/valueFilters.d.cts.map +1 -0
  796. package/build/queries/valueFilters.d.mts +26 -0
  797. package/build/queries/valueFilters.d.mts.map +1 -0
  798. package/build/queries/valueFilters.js +236 -0
  799. package/build/queries/valueFilters.js.map +1 -0
  800. package/build/reactivity/ReactionsManager.cjs +264 -0
  801. package/build/reactivity/ReactionsManager.cjs.map +1 -0
  802. package/build/reactivity/ReactionsManager.d.cts +98 -0
  803. package/build/reactivity/ReactionsManager.d.cts.map +1 -0
  804. package/build/reactivity/ReactionsManager.d.mts +98 -0
  805. package/build/reactivity/ReactionsManager.d.mts.map +1 -0
  806. package/build/reactivity/ReactionsManager.js +263 -0
  807. package/build/reactivity/ReactionsManager.js.map +1 -0
  808. package/build/reactivity/reactiveHints.cjs +328 -0
  809. package/build/reactivity/reactiveHints.cjs.map +1 -0
  810. package/build/reactivity/reactiveHints.d.cts +143 -0
  811. package/build/reactivity/reactiveHints.d.cts.map +1 -0
  812. package/build/reactivity/reactiveHints.d.mts +143 -0
  813. package/build/reactivity/reactiveHints.d.mts.map +1 -0
  814. package/build/reactivity/reactiveHints.js +321 -0
  815. package/build/reactivity/reactiveHints.js.map +1 -0
  816. package/build/relations/AbstractPropertyImpl.cjs +16 -0
  817. package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
  818. package/build/relations/AbstractPropertyImpl.d.cts +11 -0
  819. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
  820. package/build/relations/AbstractPropertyImpl.d.mts +11 -0
  821. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
  822. package/build/relations/AbstractPropertyImpl.js +13 -13
  823. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  824. package/build/relations/AbstractRelationImpl.cjs +15 -0
  825. package/build/relations/AbstractRelationImpl.cjs.map +1 -0
  826. package/build/relations/AbstractRelationImpl.d.cts +43 -0
  827. package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
  828. package/build/relations/AbstractRelationImpl.d.mts +43 -0
  829. package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
  830. package/build/relations/AbstractRelationImpl.js +12 -17
  831. package/build/relations/AbstractRelationImpl.js.map +1 -1
  832. package/build/relations/AsyncProperty.cjs +75 -0
  833. package/build/relations/AsyncProperty.cjs.map +1 -0
  834. package/build/relations/AsyncProperty.d.cts +40 -0
  835. package/build/relations/AsyncProperty.d.cts.map +1 -0
  836. package/build/relations/AsyncProperty.d.mts +40 -0
  837. package/build/relations/AsyncProperty.d.mts.map +1 -0
  838. package/build/relations/AsyncProperty.js +61 -70
  839. package/build/relations/AsyncProperty.js.map +1 -1
  840. package/build/relations/AsyncReactiveField.cjs +110 -0
  841. package/build/relations/AsyncReactiveField.cjs.map +1 -0
  842. package/build/relations/AsyncReactiveField.d.cts +50 -0
  843. package/build/relations/AsyncReactiveField.d.cts.map +1 -0
  844. package/build/relations/AsyncReactiveField.d.mts +50 -0
  845. package/build/relations/AsyncReactiveField.d.mts.map +1 -0
  846. package/build/relations/AsyncReactiveField.js +97 -116
  847. package/build/relations/AsyncReactiveField.js.map +1 -1
  848. package/build/relations/Collection.cjs +23 -0
  849. package/build/relations/Collection.cjs.map +1 -0
  850. package/build/relations/Collection.d.cts +37 -0
  851. package/build/relations/Collection.d.cts.map +1 -0
  852. package/build/relations/Collection.d.mts +37 -0
  853. package/build/relations/Collection.d.mts.map +1 -0
  854. package/build/relations/Collection.js +14 -11
  855. package/build/relations/Collection.js.map +1 -1
  856. package/build/relations/CustomCollection.cjs +144 -0
  857. package/build/relations/CustomCollection.cjs.map +1 -0
  858. package/build/relations/CustomCollection.d.cts +74 -0
  859. package/build/relations/CustomCollection.d.cts.map +1 -0
  860. package/build/relations/CustomCollection.d.mts +74 -0
  861. package/build/relations/CustomCollection.d.mts.map +1 -0
  862. package/build/relations/CustomCollection.js +138 -162
  863. package/build/relations/CustomCollection.js.map +1 -1
  864. package/build/relations/CustomReference.cjs +142 -0
  865. package/build/relations/CustomReference.cjs.map +1 -0
  866. package/build/relations/CustomReference.d.cts +76 -0
  867. package/build/relations/CustomReference.d.cts.map +1 -0
  868. package/build/relations/CustomReference.d.mts +76 -0
  869. package/build/relations/CustomReference.d.mts.map +1 -0
  870. package/build/relations/CustomReference.js +135 -147
  871. package/build/relations/CustomReference.js.map +1 -1
  872. package/build/relations/EnumCollection.cjs +178 -0
  873. package/build/relations/EnumCollection.cjs.map +1 -0
  874. package/build/relations/EnumCollection.d.cts +86 -0
  875. package/build/relations/EnumCollection.d.cts.map +1 -0
  876. package/build/relations/EnumCollection.d.mts +86 -0
  877. package/build/relations/EnumCollection.d.mts.map +1 -0
  878. package/build/relations/EnumCollection.js +172 -207
  879. package/build/relations/EnumCollection.js.map +1 -1
  880. package/build/relations/LargeCollection.cjs +4 -0
  881. package/build/relations/LargeCollection.d.cts +22 -0
  882. package/build/relations/LargeCollection.d.cts.map +1 -0
  883. package/build/relations/LargeCollection.d.mts +22 -0
  884. package/build/relations/LargeCollection.d.mts.map +1 -0
  885. package/build/relations/LargeCollection.js +4 -3
  886. package/build/relations/LazyField.cjs +140 -0
  887. package/build/relations/LazyField.cjs.map +1 -0
  888. package/build/relations/LazyField.d.cts +51 -0
  889. package/build/relations/LazyField.d.cts.map +1 -0
  890. package/build/relations/LazyField.d.mts +51 -0
  891. package/build/relations/LazyField.d.mts.map +1 -0
  892. package/build/relations/LazyField.js +134 -0
  893. package/build/relations/LazyField.js.map +1 -0
  894. package/build/relations/ManyToManyCollection.cjs +421 -0
  895. package/build/relations/ManyToManyCollection.cjs.map +1 -0
  896. package/build/relations/ManyToManyCollection.d.cts +59 -0
  897. package/build/relations/ManyToManyCollection.d.cts.map +1 -0
  898. package/build/relations/ManyToManyCollection.d.mts +59 -0
  899. package/build/relations/ManyToManyCollection.d.mts.map +1 -0
  900. package/build/relations/ManyToManyCollection.js +411 -471
  901. package/build/relations/ManyToManyCollection.js.map +1 -1
  902. package/build/relations/ManyToManyLargeCollection.cjs +91 -0
  903. package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
  904. package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
  905. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
  906. package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
  907. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
  908. package/build/relations/ManyToManyLargeCollection.js +85 -118
  909. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  910. package/build/relations/ManyToOneReference.cjs +364 -0
  911. package/build/relations/ManyToOneReference.cjs.map +1 -0
  912. package/build/relations/ManyToOneReference.d.cts +121 -0
  913. package/build/relations/ManyToOneReference.d.cts.map +1 -0
  914. package/build/relations/ManyToOneReference.d.mts +121 -0
  915. package/build/relations/ManyToOneReference.d.mts.map +1 -0
  916. package/build/relations/ManyToOneReference.js +344 -411
  917. package/build/relations/ManyToOneReference.js.map +1 -1
  918. package/build/relations/OneToManyCollection.cjs +492 -0
  919. package/build/relations/OneToManyCollection.cjs.map +1 -0
  920. package/build/relations/OneToManyCollection.d.cts +69 -0
  921. package/build/relations/OneToManyCollection.d.cts.map +1 -0
  922. package/build/relations/OneToManyCollection.d.mts +69 -0
  923. package/build/relations/OneToManyCollection.d.mts.map +1 -0
  924. package/build/relations/OneToManyCollection.js +480 -579
  925. package/build/relations/OneToManyCollection.js.map +1 -1
  926. package/build/relations/OneToManyLargeCollection.cjs +85 -0
  927. package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
  928. package/build/relations/OneToManyLargeCollection.d.cts +29 -0
  929. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
  930. package/build/relations/OneToManyLargeCollection.d.mts +29 -0
  931. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
  932. package/build/relations/OneToManyLargeCollection.js +79 -99
  933. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  934. package/build/relations/OneToOneReference.cjs +209 -0
  935. package/build/relations/OneToOneReference.cjs.map +1 -0
  936. package/build/relations/OneToOneReference.d.cts +97 -0
  937. package/build/relations/OneToOneReference.d.cts.map +1 -0
  938. package/build/relations/OneToOneReference.d.mts +97 -0
  939. package/build/relations/OneToOneReference.d.mts.map +1 -0
  940. package/build/relations/OneToOneReference.js +193 -221
  941. package/build/relations/OneToOneReference.js.map +1 -1
  942. package/build/relations/PolymorphicReference.cjs +210 -0
  943. package/build/relations/PolymorphicReference.cjs.map +1 -0
  944. package/build/relations/PolymorphicReference.d.cts +93 -0
  945. package/build/relations/PolymorphicReference.d.cts.map +1 -0
  946. package/build/relations/PolymorphicReference.d.mts +93 -0
  947. package/build/relations/PolymorphicReference.d.mts.map +1 -0
  948. package/build/relations/PolymorphicReference.js +200 -237
  949. package/build/relations/PolymorphicReference.js.map +1 -1
  950. package/build/relations/PropertySymbols.cjs +7 -0
  951. package/build/relations/PropertySymbols.cjs.map +1 -0
  952. package/build/relations/PropertySymbols.d.cts +5 -0
  953. package/build/relations/PropertySymbols.d.cts.map +1 -0
  954. package/build/relations/PropertySymbols.d.mts +5 -0
  955. package/build/relations/PropertySymbols.d.mts.map +1 -0
  956. package/build/relations/PropertySymbols.js +6 -0
  957. package/build/relations/PropertySymbols.js.map +1 -0
  958. package/build/relations/ReactiveField.cjs +114 -0
  959. package/build/relations/ReactiveField.cjs.map +1 -0
  960. package/build/relations/ReactiveField.d.cts +88 -0
  961. package/build/relations/ReactiveField.d.cts.map +1 -0
  962. package/build/relations/ReactiveField.d.mts +88 -0
  963. package/build/relations/ReactiveField.d.mts.map +1 -0
  964. package/build/relations/ReactiveField.js +104 -137
  965. package/build/relations/ReactiveField.js.map +1 -1
  966. package/build/relations/ReactiveGetter.cjs +40 -0
  967. package/build/relations/ReactiveGetter.cjs.map +1 -0
  968. package/build/relations/ReactiveGetter.d.cts +33 -0
  969. package/build/relations/ReactiveGetter.d.cts.map +1 -0
  970. package/build/relations/ReactiveGetter.d.mts +33 -0
  971. package/build/relations/ReactiveGetter.d.mts.map +1 -0
  972. package/build/relations/ReactiveGetter.js +30 -31
  973. package/build/relations/ReactiveGetter.js.map +1 -1
  974. package/build/relations/ReactiveManyToMany.cjs +198 -0
  975. package/build/relations/ReactiveManyToMany.cjs.map +1 -0
  976. package/build/relations/ReactiveManyToMany.d.cts +63 -0
  977. package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
  978. package/build/relations/ReactiveManyToMany.d.mts +63 -0
  979. package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
  980. package/build/relations/ReactiveManyToMany.js +187 -238
  981. package/build/relations/ReactiveManyToMany.js.map +1 -1
  982. package/build/relations/ReactiveManyToManyOtherSide.cjs +148 -0
  983. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
  984. package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
  985. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
  986. package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
  987. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
  988. package/build/relations/ReactiveManyToManyOtherSide.js +139 -152
  989. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  990. package/build/relations/ReactiveReference.cjs +336 -0
  991. package/build/relations/ReactiveReference.cjs.map +1 -0
  992. package/build/relations/ReactiveReference.d.cts +124 -0
  993. package/build/relations/ReactiveReference.d.cts.map +1 -0
  994. package/build/relations/ReactiveReference.d.mts +124 -0
  995. package/build/relations/ReactiveReference.d.mts.map +1 -0
  996. package/build/relations/ReactiveReference.js +321 -385
  997. package/build/relations/ReactiveReference.js.map +1 -1
  998. package/build/relations/ReadOnlyCollection.cjs +18 -0
  999. package/build/relations/ReadOnlyCollection.cjs.map +1 -0
  1000. package/build/relations/ReadOnlyCollection.d.cts +22 -0
  1001. package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
  1002. package/build/relations/ReadOnlyCollection.d.mts +22 -0
  1003. package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
  1004. package/build/relations/ReadOnlyCollection.js +9 -9
  1005. package/build/relations/ReadOnlyCollection.js.map +1 -1
  1006. package/build/relations/RecursiveCollection.cjs +386 -0
  1007. package/build/relations/RecursiveCollection.cjs.map +1 -0
  1008. package/build/relations/RecursiveCollection.d.cts +112 -0
  1009. package/build/relations/RecursiveCollection.d.cts.map +1 -0
  1010. package/build/relations/RecursiveCollection.d.mts +112 -0
  1011. package/build/relations/RecursiveCollection.d.mts.map +1 -0
  1012. package/build/relations/RecursiveCollection.js +367 -427
  1013. package/build/relations/RecursiveCollection.js.map +1 -1
  1014. package/build/relations/RecursiveCycleError.cjs +17 -0
  1015. package/build/relations/RecursiveCycleError.cjs.map +1 -0
  1016. package/build/relations/RecursiveCycleError.d.cts +15 -0
  1017. package/build/relations/RecursiveCycleError.d.cts.map +1 -0
  1018. package/build/relations/RecursiveCycleError.d.mts +15 -0
  1019. package/build/relations/RecursiveCycleError.d.mts.map +1 -0
  1020. package/build/relations/RecursiveCycleError.js +14 -13
  1021. package/build/relations/RecursiveCycleError.js.map +1 -1
  1022. package/build/relations/Reference.cjs +25 -0
  1023. package/build/relations/Reference.cjs.map +1 -0
  1024. package/build/relations/Reference.d.cts +39 -0
  1025. package/build/relations/Reference.d.cts.map +1 -0
  1026. package/build/relations/Reference.d.mts +39 -0
  1027. package/build/relations/Reference.d.mts.map +1 -0
  1028. package/build/relations/Reference.js +15 -14
  1029. package/build/relations/Reference.js.map +1 -1
  1030. package/build/relations/ReferenceSymbols.cjs +7 -0
  1031. package/build/relations/ReferenceSymbols.cjs.map +1 -0
  1032. package/build/relations/ReferenceSymbols.d.cts +5 -0
  1033. package/build/relations/ReferenceSymbols.d.cts.map +1 -0
  1034. package/build/relations/ReferenceSymbols.d.mts +5 -0
  1035. package/build/relations/ReferenceSymbols.d.mts.map +1 -0
  1036. package/build/relations/ReferenceSymbols.js +6 -0
  1037. package/build/relations/ReferenceSymbols.js.map +1 -0
  1038. package/build/relations/Relation.cjs +17 -0
  1039. package/build/relations/Relation.cjs.map +1 -0
  1040. package/build/relations/Relation.d.cts +16 -0
  1041. package/build/relations/Relation.d.cts.map +1 -0
  1042. package/build/relations/Relation.d.mts +16 -0
  1043. package/build/relations/Relation.d.mts.map +1 -0
  1044. package/build/relations/Relation.js +10 -8
  1045. package/build/relations/Relation.js.map +1 -1
  1046. package/build/relations/RelationSymbols.cjs +9 -0
  1047. package/build/relations/RelationSymbols.cjs.map +1 -0
  1048. package/build/relations/RelationSymbols.d.cts +6 -0
  1049. package/build/relations/RelationSymbols.d.cts.map +1 -0
  1050. package/build/relations/RelationSymbols.d.mts +6 -0
  1051. package/build/relations/RelationSymbols.d.mts.map +1 -0
  1052. package/build/relations/RelationSymbols.js +7 -0
  1053. package/build/relations/RelationSymbols.js.map +1 -0
  1054. package/build/relations/hasAsyncMethod.cjs +47 -0
  1055. package/build/relations/hasAsyncMethod.cjs.map +1 -0
  1056. package/build/relations/hasAsyncMethod.d.cts +29 -0
  1057. package/build/relations/hasAsyncMethod.d.cts.map +1 -0
  1058. package/build/relations/hasAsyncMethod.d.mts +29 -0
  1059. package/build/relations/hasAsyncMethod.d.mts.map +1 -0
  1060. package/build/relations/hasAsyncMethod.js +40 -43
  1061. package/build/relations/hasAsyncMethod.js.map +1 -1
  1062. package/build/relations/hasManyDerived.cjs +35 -0
  1063. package/build/relations/hasManyDerived.cjs.map +1 -0
  1064. package/build/relations/hasManyDerived.d.cts +25 -0
  1065. package/build/relations/hasManyDerived.d.cts.map +1 -0
  1066. package/build/relations/hasManyDerived.d.mts +25 -0
  1067. package/build/relations/hasManyDerived.d.mts.map +1 -0
  1068. package/build/relations/hasManyDerived.js +30 -28
  1069. package/build/relations/hasManyDerived.js.map +1 -1
  1070. package/build/relations/hasManyThrough.cjs +29 -0
  1071. package/build/relations/hasManyThrough.cjs.map +1 -0
  1072. package/build/relations/hasManyThrough.d.cts +16 -0
  1073. package/build/relations/hasManyThrough.d.cts.map +1 -0
  1074. package/build/relations/hasManyThrough.d.mts +16 -0
  1075. package/build/relations/hasManyThrough.d.mts.map +1 -0
  1076. package/build/relations/hasManyThrough.js +24 -20
  1077. package/build/relations/hasManyThrough.js.map +1 -1
  1078. package/build/relations/hasOneDerived.cjs +32 -0
  1079. package/build/relations/hasOneDerived.cjs.map +1 -0
  1080. package/build/relations/hasOneDerived.d.cts +15 -0
  1081. package/build/relations/hasOneDerived.d.cts.map +1 -0
  1082. package/build/relations/hasOneDerived.d.mts +15 -0
  1083. package/build/relations/hasOneDerived.d.mts.map +1 -0
  1084. package/build/relations/hasOneDerived.js +27 -20
  1085. package/build/relations/hasOneDerived.js.map +1 -1
  1086. package/build/relations/hasOneThrough.cjs +31 -0
  1087. package/build/relations/hasOneThrough.cjs.map +1 -0
  1088. package/build/relations/hasOneThrough.d.cts +16 -0
  1089. package/build/relations/hasOneThrough.d.cts.map +1 -0
  1090. package/build/relations/hasOneThrough.d.mts +16 -0
  1091. package/build/relations/hasOneThrough.d.mts.map +1 -0
  1092. package/build/relations/hasOneThrough.js +26 -22
  1093. package/build/relations/hasOneThrough.js.map +1 -1
  1094. package/build/relations/hasProperty.cjs +109 -0
  1095. package/build/relations/hasProperty.cjs.map +1 -0
  1096. package/build/relations/hasProperty.d.cts +53 -0
  1097. package/build/relations/hasProperty.d.cts.map +1 -0
  1098. package/build/relations/hasProperty.d.mts +53 -0
  1099. package/build/relations/hasProperty.d.mts.map +1 -0
  1100. package/build/relations/hasProperty.js +90 -95
  1101. package/build/relations/hasProperty.js.map +1 -1
  1102. package/build/relations/index.cjs +99 -0
  1103. package/build/relations/index.d.cts +32 -0
  1104. package/build/relations/index.d.mts +32 -0
  1105. package/build/relations/index.js +31 -97
  1106. package/build/relations/isCascadeDelete.cjs +11 -0
  1107. package/build/relations/isCascadeDelete.cjs.map +1 -0
  1108. package/build/relations/isCascadeDelete.d.cts +7 -0
  1109. package/build/relations/isCascadeDelete.d.cts.map +1 -0
  1110. package/build/relations/isCascadeDelete.d.mts +7 -0
  1111. package/build/relations/isCascadeDelete.d.mts.map +1 -0
  1112. package/build/relations/isCascadeDelete.js +10 -0
  1113. package/build/relations/isCascadeDelete.js.map +1 -0
  1114. package/build/resurrection.cjs +74 -0
  1115. package/build/resurrection.cjs.map +1 -0
  1116. package/build/resurrection.d.cts +13 -0
  1117. package/build/resurrection.d.cts.map +1 -0
  1118. package/build/resurrection.d.mts +13 -0
  1119. package/build/resurrection.d.mts.map +1 -0
  1120. package/build/resurrection.js +48 -69
  1121. package/build/resurrection.js.map +1 -1
  1122. package/build/rules.cjs +227 -0
  1123. package/build/rules.cjs.map +1 -0
  1124. package/build/rules.d.cts +145 -0
  1125. package/build/rules.d.cts.map +1 -0
  1126. package/build/rules.d.mts +145 -0
  1127. package/build/rules.d.mts.map +1 -0
  1128. package/build/rules.js +189 -204
  1129. package/build/rules.js.map +1 -1
  1130. package/build/runtimeConfig.cjs +25 -0
  1131. package/build/runtimeConfig.cjs.map +1 -0
  1132. package/build/runtimeConfig.d.cts +24 -0
  1133. package/build/runtimeConfig.d.cts.map +1 -0
  1134. package/build/runtimeConfig.d.mts +24 -0
  1135. package/build/runtimeConfig.d.mts.map +1 -0
  1136. package/build/runtimeConfig.js +16 -12
  1137. package/build/runtimeConfig.js.map +1 -1
  1138. package/build/serde/TypeInfo.cjs +80 -0
  1139. package/build/serde/TypeInfo.cjs.map +1 -0
  1140. package/build/serde/TypeInfo.d.cts +57 -0
  1141. package/build/serde/TypeInfo.d.cts.map +1 -0
  1142. package/build/serde/TypeInfo.d.mts +57 -0
  1143. package/build/serde/TypeInfo.d.mts.map +1 -0
  1144. package/build/serde/TypeInfo.js +78 -0
  1145. package/build/serde/TypeInfo.js.map +1 -0
  1146. package/build/serde/columns.cjs +63 -0
  1147. package/build/serde/columns.cjs.map +1 -0
  1148. package/build/serde/columns.d.cts +38 -0
  1149. package/build/serde/columns.d.cts.map +1 -0
  1150. package/build/serde/columns.d.mts +38 -0
  1151. package/build/serde/columns.d.mts.map +1 -0
  1152. package/build/serde/columns.js +62 -0
  1153. package/build/serde/columns.js.map +1 -0
  1154. package/build/serde/fieldSerde.cjs +188 -0
  1155. package/build/serde/fieldSerde.cjs.map +1 -0
  1156. package/build/serde/fieldSerde.d.cts +87 -0
  1157. package/build/serde/fieldSerde.d.cts.map +1 -0
  1158. package/build/serde/fieldSerde.d.mts +87 -0
  1159. package/build/serde/fieldSerde.d.mts.map +1 -0
  1160. package/build/serde/fieldSerde.js +182 -0
  1161. package/build/serde/fieldSerde.js.map +1 -0
  1162. package/build/serde/serde.cjs +499 -0
  1163. package/build/serde/serde.cjs.map +1 -0
  1164. package/build/serde/serde.d.cts +248 -0
  1165. package/build/serde/serde.d.cts.map +1 -0
  1166. package/build/serde/serde.d.mts +248 -0
  1167. package/build/serde/serde.d.mts.map +1 -0
  1168. package/build/serde/serde.js +485 -0
  1169. package/build/serde/serde.js.map +1 -0
  1170. package/build/serde/temporal.cjs +57 -0
  1171. package/build/serde/temporal.cjs.map +1 -0
  1172. package/build/serde/temporal.d.cts +44 -0
  1173. package/build/serde/temporal.d.cts.map +1 -0
  1174. package/build/serde/temporal.d.mts +44 -0
  1175. package/build/serde/temporal.d.mts.map +1 -0
  1176. package/build/serde/temporal.js +55 -0
  1177. package/build/serde/temporal.js.map +1 -0
  1178. package/build/serde/temporalMappers.cjs +62 -0
  1179. package/build/serde/temporalMappers.cjs.map +1 -0
  1180. package/build/serde/temporalMappers.d.cts +36 -0
  1181. package/build/serde/temporalMappers.d.cts.map +1 -0
  1182. package/build/serde/temporalMappers.d.mts +36 -0
  1183. package/build/serde/temporalMappers.d.mts.map +1 -0
  1184. package/build/serde/temporalMappers.js +58 -0
  1185. package/build/serde/temporalMappers.js.map +1 -0
  1186. package/build/trusted.cjs +16 -0
  1187. package/build/trusted.cjs.map +1 -0
  1188. package/build/trusted.d.cts +8 -0
  1189. package/build/trusted.d.cts.map +1 -0
  1190. package/build/trusted.d.mts +8 -0
  1191. package/build/trusted.d.mts.map +1 -0
  1192. package/build/trusted.js +8 -8
  1193. package/build/trusted.js.map +1 -1
  1194. package/build/typeMap.cjs +3 -0
  1195. package/build/typeMap.d.cts +88 -0
  1196. package/build/typeMap.d.cts.map +1 -0
  1197. package/build/typeMap.d.mts +88 -0
  1198. package/build/typeMap.d.mts.map +1 -0
  1199. package/build/typeMap.js +3 -3
  1200. package/build/upsert.cjs +175 -0
  1201. package/build/upsert.cjs.map +1 -0
  1202. package/build/upsert.d.cts +42 -0
  1203. package/build/upsert.d.cts.map +1 -0
  1204. package/build/upsert.d.mts +42 -0
  1205. package/build/upsert.d.mts.map +1 -0
  1206. package/build/upsert.js +159 -274
  1207. package/build/upsert.js.map +1 -1
  1208. package/build/utils.cjs +204 -0
  1209. package/build/utils.cjs.map +1 -0
  1210. package/build/utils.d.cts +65 -0
  1211. package/build/utils.d.cts.map +1 -0
  1212. package/build/utils.d.mts +65 -0
  1213. package/build/utils.d.mts.map +1 -0
  1214. package/build/utils.js +123 -192
  1215. package/build/utils.js.map +1 -1
  1216. package/package.json +34 -14
  1217. package/build/AliasAssigner.d.ts +0 -10
  1218. package/build/AliasAssigner.d.ts.map +0 -1
  1219. package/build/AliasAssigner.js +0 -39
  1220. package/build/AliasAssigner.js.map +0 -1
  1221. package/build/Aliases.d.ts +0 -117
  1222. package/build/Aliases.d.ts.map +0 -1
  1223. package/build/Aliases.js +0 -457
  1224. package/build/Aliases.js.map +0 -1
  1225. package/build/BaseEntity.d.ts +0 -68
  1226. package/build/BaseEntity.d.ts.map +0 -1
  1227. package/build/ConditionBuilder.d.ts +0 -29
  1228. package/build/ConditionBuilder.d.ts.map +0 -1
  1229. package/build/ConditionBuilder.js +0 -112
  1230. package/build/ConditionBuilder.js.map +0 -1
  1231. package/build/Entity.d.ts +0 -39
  1232. package/build/Entity.d.ts.map +0 -1
  1233. package/build/EntityFields.d.ts +0 -37
  1234. package/build/EntityFields.d.ts.map +0 -1
  1235. package/build/EntityFields.js.map +0 -1
  1236. package/build/EntityFilter.d.ts +0 -134
  1237. package/build/EntityFilter.d.ts.map +0 -1
  1238. package/build/EntityFilter.js +0 -21
  1239. package/build/EntityFilter.js.map +0 -1
  1240. package/build/EntityGraphQLFilter.d.ts +0 -56
  1241. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  1242. package/build/EntityGraphQLFilter.js +0 -53
  1243. package/build/EntityGraphQLFilter.js.map +0 -1
  1244. package/build/EntityManager.d.ts +0 -740
  1245. package/build/EntityManager.d.ts.map +0 -1
  1246. package/build/EntityMetadata.d.ts +0 -233
  1247. package/build/EntityMetadata.d.ts.map +0 -1
  1248. package/build/EnumMetadata.d.ts +0 -15
  1249. package/build/EnumMetadata.d.ts.map +0 -1
  1250. package/build/EnumMetadata.js.map +0 -1
  1251. package/build/FlushLock.d.ts +0 -26
  1252. package/build/FlushLock.d.ts.map +0 -1
  1253. package/build/FlushLock.js +0 -57
  1254. package/build/FlushLock.js.map +0 -1
  1255. package/build/HintTree.d.ts +0 -42
  1256. package/build/HintTree.d.ts.map +0 -1
  1257. package/build/HintTree.js +0 -64
  1258. package/build/HintTree.js.map +0 -1
  1259. package/build/IndexManager.d.ts +0 -31
  1260. package/build/IndexManager.d.ts.map +0 -1
  1261. package/build/InstanceData.d.ts +0 -79
  1262. package/build/InstanceData.d.ts.map +0 -1
  1263. package/build/IsLoadedCache.d.ts +0 -32
  1264. package/build/IsLoadedCache.d.ts.map +0 -1
  1265. package/build/IsLoadedCache.js +0 -91
  1266. package/build/IsLoadedCache.js.map +0 -1
  1267. package/build/JoinRows.d.ts +0 -117
  1268. package/build/JoinRows.d.ts.map +0 -1
  1269. package/build/JoinRows.js +0 -320
  1270. package/build/JoinRows.js.map +0 -1
  1271. package/build/PendingChanges.d.ts +0 -26
  1272. package/build/PendingChanges.d.ts.map +0 -1
  1273. package/build/PendingChanges.js +0 -3
  1274. package/build/PendingChanges.js.map +0 -1
  1275. package/build/PluginManager.d.ts +0 -102
  1276. package/build/PluginManager.d.ts.map +0 -1
  1277. package/build/QueryParser.collectionJoins.d.ts +0 -27
  1278. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  1279. package/build/QueryParser.collectionJoins.js +0 -466
  1280. package/build/QueryParser.collectionJoins.js.map +0 -1
  1281. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  1282. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  1283. package/build/QueryParser.collectionJoins.test.js +0 -772
  1284. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  1285. package/build/QueryParser.d.ts +0 -336
  1286. package/build/QueryParser.d.ts.map +0 -1
  1287. package/build/QueryParser.js +0 -965
  1288. package/build/QueryParser.js.map +0 -1
  1289. package/build/QueryParser.pruning.d.ts +0 -7
  1290. package/build/QueryParser.pruning.d.ts.map +0 -1
  1291. package/build/QueryParser.pruning.js +0 -195
  1292. package/build/QueryParser.pruning.js.map +0 -1
  1293. package/build/QueryParser.pruning.test.d.ts +0 -2
  1294. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  1295. package/build/QueryParser.pruning.test.js +0 -106
  1296. package/build/QueryParser.pruning.test.js.map +0 -1
  1297. package/build/QueryParser.test.d.ts +0 -2
  1298. package/build/QueryParser.test.d.ts.map +0 -1
  1299. package/build/QueryParser.test.js +0 -27
  1300. package/build/QueryParser.test.js.map +0 -1
  1301. package/build/QueryVisitor.d.ts +0 -19
  1302. package/build/QueryVisitor.d.ts.map +0 -1
  1303. package/build/QueryVisitor.js +0 -106
  1304. package/build/QueryVisitor.js.map +0 -1
  1305. package/build/ReactionsManager.d.ts +0 -85
  1306. package/build/ReactionsManager.d.ts.map +0 -1
  1307. package/build/ReactionsManager.js +0 -315
  1308. package/build/ReactionsManager.js.map +0 -1
  1309. package/build/Todo.d.ts +0 -35
  1310. package/build/Todo.d.ts.map +0 -1
  1311. package/build/Todo.js +0 -73
  1312. package/build/Todo.js.map +0 -1
  1313. package/build/batchloaders/BatchLoader.d.ts +0 -14
  1314. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  1315. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
  1316. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  1317. package/build/batchloaders/loadBatchLoader.d.ts +0 -17
  1318. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  1319. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
  1320. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  1321. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
  1322. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  1323. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
  1324. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  1325. package/build/batchloaders/populateBatchLoader.d.ts +0 -13
  1326. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  1327. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
  1328. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  1329. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
  1330. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  1331. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
  1332. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  1333. package/build/changes.d.ts +0 -92
  1334. package/build/changes.d.ts.map +0 -1
  1335. package/build/config.d.ts +0 -250
  1336. package/build/config.d.ts.map +0 -1
  1337. package/build/config.test.d.ts +0 -2
  1338. package/build/config.test.d.ts.map +0 -1
  1339. package/build/config.test.js +0 -53
  1340. package/build/config.test.js.map +0 -1
  1341. package/build/configure.d.ts +0 -15
  1342. package/build/configure.d.ts.map +0 -1
  1343. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
  1344. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  1345. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  1346. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  1347. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  1348. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  1349. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  1350. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  1351. package/build/dataloaders/findCountDataLoader.d.ts +0 -16
  1352. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  1353. package/build/dataloaders/findDataLoader.d.ts +0 -76
  1354. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  1355. package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
  1356. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  1357. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  1358. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  1359. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
  1360. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  1361. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  1362. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  1363. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  1364. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  1365. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  1366. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  1367. package/build/defaults.d.ts +0 -54
  1368. package/build/defaults.d.ts.map +0 -1
  1369. package/build/driverApi.d.ts +0 -19
  1370. package/build/driverApi.d.ts.map +0 -1
  1371. package/build/driverApi.js +0 -17
  1372. package/build/driverApi.js.map +0 -1
  1373. package/build/drivers/Driver.d.ts +0 -26
  1374. package/build/drivers/Driver.d.ts.map +0 -1
  1375. package/build/drivers/Driver.js.map +0 -1
  1376. package/build/drivers/EntityWriter.d.ts +0 -64
  1377. package/build/drivers/EntityWriter.d.ts.map +0 -1
  1378. package/build/drivers/IdAssigner.d.ts +0 -48
  1379. package/build/drivers/IdAssigner.d.ts.map +0 -1
  1380. package/build/drivers/buildRawQuery.d.ts +0 -22
  1381. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  1382. package/build/drivers/buildRawQuery.js +0 -153
  1383. package/build/drivers/buildRawQuery.js.map +0 -1
  1384. package/build/drivers/buildUtils.d.ts +0 -9
  1385. package/build/drivers/buildUtils.d.ts.map +0 -1
  1386. package/build/drivers/buildUtils.js +0 -88
  1387. package/build/drivers/buildUtils.js.map +0 -1
  1388. package/build/drivers/index.d.ts +0 -6
  1389. package/build/drivers/index.d.ts.map +0 -1
  1390. package/build/drivers/index.js.map +0 -1
  1391. package/build/fields.d.ts +0 -26
  1392. package/build/fields.d.ts.map +0 -1
  1393. package/build/getProperties.d.ts +0 -28
  1394. package/build/getProperties.d.ts.map +0 -1
  1395. package/build/index.d.ts +0 -133
  1396. package/build/index.d.ts.map +0 -1
  1397. package/build/json.d.ts +0 -77
  1398. package/build/json.d.ts.map +0 -1
  1399. package/build/k.d.ts +0 -2
  1400. package/build/k.d.ts.map +0 -1
  1401. package/build/keys.d.ts +0 -49
  1402. package/build/keys.d.ts.map +0 -1
  1403. package/build/keywords.d.ts +0 -5
  1404. package/build/keywords.d.ts.map +0 -1
  1405. package/build/keywords.js +0 -124
  1406. package/build/keywords.js.map +0 -1
  1407. package/build/loadHints.d.ts +0 -121
  1408. package/build/loadHints.d.ts.map +0 -1
  1409. package/build/loadHints.js +0 -129
  1410. package/build/loadHints.js.map +0 -1
  1411. package/build/loadLens.d.ts +0 -77
  1412. package/build/loadLens.d.ts.map +0 -1
  1413. package/build/loadLens.js +0 -320
  1414. package/build/loadLens.js.map +0 -1
  1415. package/build/logging/FactoryLogger.d.ts +0 -24
  1416. package/build/logging/FactoryLogger.d.ts.map +0 -1
  1417. package/build/logging/FieldLogger.d.ts +0 -27
  1418. package/build/logging/FieldLogger.d.ts.map +0 -1
  1419. package/build/logging/ReactionLogger.d.ts +0 -27
  1420. package/build/logging/ReactionLogger.d.ts.map +0 -1
  1421. package/build/newEntity.d.ts +0 -45
  1422. package/build/newEntity.d.ts.map +0 -1
  1423. package/build/newTestInstance.d.ts +0 -208
  1424. package/build/newTestInstance.d.ts.map +0 -1
  1425. package/build/normalizeHints.d.ts +0 -23
  1426. package/build/normalizeHints.d.ts.map +0 -1
  1427. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  1428. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  1429. package/build/plugins/PreloadPlugin.d.ts +0 -69
  1430. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  1431. package/build/plugins/PreloadPlugin.js.map +0 -1
  1432. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  1433. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  1434. package/build/preloading/canPreload.d.ts +0 -3
  1435. package/build/preloading/canPreload.d.ts.map +0 -1
  1436. package/build/preloading/partitionHint.d.ts +0 -5
  1437. package/build/preloading/partitionHint.d.ts.map +0 -1
  1438. package/build/reactiveHints.d.ts +0 -146
  1439. package/build/reactiveHints.d.ts.map +0 -1
  1440. package/build/reactiveHints.js +0 -509
  1441. package/build/reactiveHints.js.map +0 -1
  1442. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  1443. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  1444. package/build/relations/AbstractRelationImpl.d.ts +0 -41
  1445. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  1446. package/build/relations/AsyncProperty.d.ts +0 -36
  1447. package/build/relations/AsyncProperty.d.ts.map +0 -1
  1448. package/build/relations/AsyncReactiveField.d.ts +0 -41
  1449. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  1450. package/build/relations/Collection.d.ts +0 -33
  1451. package/build/relations/Collection.d.ts.map +0 -1
  1452. package/build/relations/CustomCollection.d.ts +0 -69
  1453. package/build/relations/CustomCollection.d.ts.map +0 -1
  1454. package/build/relations/CustomReference.d.ts +0 -71
  1455. package/build/relations/CustomReference.d.ts.map +0 -1
  1456. package/build/relations/EnumCollection.d.ts +0 -81
  1457. package/build/relations/EnumCollection.d.ts.map +0 -1
  1458. package/build/relations/LargeCollection.d.ts +0 -19
  1459. package/build/relations/LargeCollection.d.ts.map +0 -1
  1460. package/build/relations/LargeCollection.js.map +0 -1
  1461. package/build/relations/ManyToManyCollection.d.ts +0 -52
  1462. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  1463. package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
  1464. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  1465. package/build/relations/ManyToOneReference.d.ts +0 -117
  1466. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  1467. package/build/relations/OneToManyCollection.d.ts +0 -62
  1468. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  1469. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  1470. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  1471. package/build/relations/OneToOneReference.d.ts +0 -93
  1472. package/build/relations/OneToOneReference.d.ts.map +0 -1
  1473. package/build/relations/PolymorphicReference.d.ts +0 -89
  1474. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  1475. package/build/relations/ReactiveField.d.ts +0 -85
  1476. package/build/relations/ReactiveField.d.ts.map +0 -1
  1477. package/build/relations/ReactiveGetter.d.ts +0 -30
  1478. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  1479. package/build/relations/ReactiveManyToMany.d.ts +0 -57
  1480. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  1481. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
  1482. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  1483. package/build/relations/ReactiveReference.d.ts +0 -119
  1484. package/build/relations/ReactiveReference.d.ts.map +0 -1
  1485. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  1486. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  1487. package/build/relations/RecursiveCollection.d.ts +0 -108
  1488. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  1489. package/build/relations/RecursiveCycleError.d.ts +0 -13
  1490. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  1491. package/build/relations/Reference.d.ts +0 -35
  1492. package/build/relations/Reference.d.ts.map +0 -1
  1493. package/build/relations/Relation.d.ts +0 -14
  1494. package/build/relations/Relation.d.ts.map +0 -1
  1495. package/build/relations/hasAsyncMethod.d.ts +0 -27
  1496. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  1497. package/build/relations/hasManyDerived.d.ts +0 -22
  1498. package/build/relations/hasManyDerived.d.ts.map +0 -1
  1499. package/build/relations/hasManyThrough.d.ts +0 -10
  1500. package/build/relations/hasManyThrough.d.ts.map +0 -1
  1501. package/build/relations/hasOneDerived.d.ts +0 -12
  1502. package/build/relations/hasOneDerived.d.ts.map +0 -1
  1503. package/build/relations/hasOneThrough.d.ts +0 -10
  1504. package/build/relations/hasOneThrough.d.ts.map +0 -1
  1505. package/build/relations/hasProperty.d.ts +0 -50
  1506. package/build/relations/hasProperty.d.ts.map +0 -1
  1507. package/build/relations/index.d.ts +0 -30
  1508. package/build/relations/index.d.ts.map +0 -1
  1509. package/build/relations/index.js.map +0 -1
  1510. package/build/resurrection.d.ts +0 -10
  1511. package/build/resurrection.d.ts.map +0 -1
  1512. package/build/rules.d.ts +0 -123
  1513. package/build/rules.d.ts.map +0 -1
  1514. package/build/runtimeConfig.d.ts +0 -17
  1515. package/build/runtimeConfig.d.ts.map +0 -1
  1516. package/build/scopes.d.ts +0 -185
  1517. package/build/scopes.d.ts.map +0 -1
  1518. package/build/scopes.js +0 -302
  1519. package/build/scopes.js.map +0 -1
  1520. package/build/serde.d.ts +0 -277
  1521. package/build/serde.d.ts.map +0 -1
  1522. package/build/serde.js +0 -517
  1523. package/build/serde.js.map +0 -1
  1524. package/build/temporal.d.ts +0 -46
  1525. package/build/temporal.d.ts.map +0 -1
  1526. package/build/temporal.js +0 -66
  1527. package/build/temporal.js.map +0 -1
  1528. package/build/temporalMappers.d.ts +0 -25
  1529. package/build/temporalMappers.d.ts.map +0 -1
  1530. package/build/temporalMappers.js +0 -59
  1531. package/build/temporalMappers.js.map +0 -1
  1532. package/build/trusted.d.ts +0 -5
  1533. package/build/trusted.d.ts.map +0 -1
  1534. package/build/typeMap.d.ts +0 -68
  1535. package/build/typeMap.d.ts.map +0 -1
  1536. package/build/typeMap.js.map +0 -1
  1537. package/build/unnest.d.ts +0 -13
  1538. package/build/unnest.d.ts.map +0 -1
  1539. package/build/unnest.js +0 -85
  1540. package/build/unnest.js.map +0 -1
  1541. package/build/upsert.d.ts +0 -42
  1542. package/build/upsert.d.ts.map +0 -1
  1543. package/build/utils.d.ts +0 -60
  1544. package/build/utils.d.ts.map +0 -1
  1545. package/build/withLoaded.d.ts +0 -56
  1546. package/build/withLoaded.d.ts.map +0 -1
  1547. package/build/withLoaded.js +0 -76
  1548. package/build/withLoaded.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"newTestInstance.js","sourceRoot":"","sources":["../src/newTestInstance.ts"],"names":[],"mappings":";;;AAwGA,0CAiOC;AAgMD,oCAEC;AAUD,0BAEC;AAuCD,4CAGC;AA4BD,4BAGC;AAwBD,oCASC;AAkBD,oCAGC;AA0ND,8CAEC;AAOD,8CAEC;AAED,kDAEC;AA/3BD,6CAA4C;AAC5C,6CAA+C;AAC/C,qCAA4C;AAC5C,mDAA+G;AAC/G,qDAa0B;AAC1B,yCAA4E;AAG5E,2DAAwD;AACxD,yCAAkD;AAElD,mCAAsC;AAEtC,IAAI,MAAM,GAA8B,SAAS,CAAC;AAElD,oFAAoF;AACpF,IAAI,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;AAEnC,+FAA+F;AAC/F,IAAI,aAAwC,CAAC;AAE7C,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACU,QAAA,SAAS,GAAwB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;IAC3E,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,0BAA0B,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,aAAc,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAyBH,yGAAyG;AACzG,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,QAAA,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,QAAQ,GAAG,IAAA,+BAAoB,GAAE,EAAE,QAAQ,CAAC;AACrC,QAAA,aAAa,GAAG,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,QAAA,iBAAiB,GAAG,qBAAa,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;AAC/D,QAAA,iBAAiB,GAAG,qBAAa,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;AAE3F;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,EAAiB,EACjB,IAA0B;AAC1B,8CAA8C;AAC9C,WAA2B,EAAE;AAC7B,uCAAuC;AACvC,cAEI,EAAE;IAEN,gEAAgE;IAChE,aAAa,GAAG,EAAE,CAAC;IAEnB,gGAAgG;IAChG,IAAI,aAAa,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC;IACnD,IAAI,aAAa;QAAE,MAAM,GAAG,IAAI,6BAAa,EAAE,CAAC;IAEhD,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,iFAAiF;IACjF,0EAA0E;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAE5B,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,oBAAoB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,MAAM,CAAC;QAC7F,4FAA4F;QAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE3F,2CAA2C;QAC3C,IAAI,SAAS,IAAI,IAAI,IAAK,IAAY,CAAC,SAAS,CAAC,KAAK,kBAAkB,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAI,IAAY,CAAC,SAAS,CAAC,CAAC;YAC1C,qFAAqF;YACrF,yFAAyF;YACzF,sDAAsD;YACtD,MAAM,sBAAsB,GAAG,CAAC,QAAQ,CAAC;YACzC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,sBAAsB,CAAC,EAAE,CAAC;gBAC5E,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM;oBACT,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBACzF,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACR,yEAAyE;oBACzE,OAAO,EAAE,CAAC;gBACZ,KAAK,SAAS;oBACZ,qEAAqE;oBACrE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/B,KAAK,MAAM;oBACT,4FAA4F;oBAC5F,OAAO,EAAE,CAAC;gBACZ,KAAK,WAAW,CAAC;gBACjB,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY;oBACf,mDAAmD;oBACnD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBACvE,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;wBACrE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC5B,CAAC;yBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,iBAAS,EAAE,CAAC;wBAClE,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAClC,CAAC;oBACD,gDAAgD;oBAChD,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/B;oBACE,OAAO,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IACE,KAAK,CAAC,IAAI,KAAK,WAAW;YAC1B,CAAC,QAAQ,IAAK,IAAY,CAAC,SAAS,CAAC,KAAK,kBAAkB,CAAC;YAC7D,CAAC,KAAK,CAAC,OAAO;YACd,CAAC,KAAK,CAAC,SAAS,EAChB,CAAC;YACD,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,4FAA4F;YAC5F,+FAA+F;YAC/F,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;YAChF,uFAAuF;YACvF,iDAAiD;YACjD,MAAM,sBAAsB,GAC1B,QAAQ;gBACR,IAAA,gCAAe,EAAC,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACrE,QAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ;gBAC/C,QAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;YAChD,IAAI,QAAQ,IAAI,CAAC,sBAAsB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACzC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,kEAAkE;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,kFAAkF;gBAClF,IAAI,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC;oBACnC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEnD,IAAI,WAAW,CAAC,WAAW,IAAI,QAAQ,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAY,CAAC,UAAuB,EAAE,CAAe,CAAC,CAAC,CAAC;QACnF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,IAAI,aAAa;gBAAE,MAAM,GAAG,SAAS,CAAC;YACtC,OAAO,QAAsB,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAW,CAAC;IAErD,wCAAwC;IACxC,IAAK,IAAY,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAI,IAAY,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,gCAAgC,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE3B,2FAA2F;IAC3F,uFAAuF;IACvF,iGAAiG;IACjG,+EAA+E;IAC/E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAE,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QACrF,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,4DAA4D;QAC5D,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,yEAAyE;IACzE,sEAAsE;IACtE,yBAAyB;IACzB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,uBAAuB;QACvB,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,gCAAgC;YAChC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACzE,OAAO,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,yFAAyF;YACzF,OAAO;gBACL,SAAS;gBACR,QAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACtC,wCAAwC;oBACxC,OAAO,iBAAiB,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,OAAO;gBACL,SAAS;gBACR,QAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtC,iBAAiB,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAQ,EAAE,CAAC,CAAC,CAC3E;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACzE,MAAM,mBAAmB,GAAG,SAAS,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC;YACtF,IAAI,mBAAmB;gBAAE,OAAO,EAAE,CAAC;YACnC,yFAAyF;YACzF,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,iCAAiC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,0FAA0F;IAC1F,0FAA0F;IAC1F,4DAA4D;IAC5D,kEAAkE;IAClE,IAAA,wCAA6B,EAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE9C,2BAA2B;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,aAAa;QAAE,MAAM,GAAG,SAAS,CAAC;IAEtC,OAAO,MAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CACxB,EAAiB,EACjB,IAAsB,EACtB,KAA2F,EAC3F,GAAsC,EACtC,WAA0B,EAC1B,UAA8B;IAE9B,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjE,oGAAoG;IACpG,4GAA4G;IAC5G,MAAM,cAAc,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChG,IAAI,IAAA,iBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,EAAE,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,GAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,IAAA,oBAAI,EAAC,GAAG,CAAC,EAAE,CAAC;QACrB,iHAAiH;QACjH,MAAM,KAAK,GAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAO,IAAI,GAAG,CAAC;QACzG,MAAM,EAAE,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,GAAG,IAAI,CAAC,IAAA,2BAAa,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,EAAE,CAAC;QACpE,kEAAkE;QAClE,MAAM,EAAE,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,8BAA8B;QAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YACjD,IACE,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,EAC9G,CAAC;gBACD,iDAAiD;gBACjD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,QAAQ;oBACpD,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC;oBAC5D,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;wBAChD,CAAC,CAAC,CAAC,IAAI,CAAC,CACX;qBACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;qBAC/C,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC/D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBAC9C,OAAO,QAAa,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBAC9C,OAAO,QAAa,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QACD,sFAAsF;QACtF,WAAW,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAQ,CAAC;QACnF,MAAM,EAAE,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACtB,wFAAwF;YACxF,GAAG,QAAQ,CAAE,GAAW,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC;YAC1C,GAAG,CAAC,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC;YACxC,CAAC,cAAc,CAAC,EAAE,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,SAAS,mBAAmB,CAC1B,KAA2F,EAC3F,GAAoC;IAEpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,cAAc;QAChB,kHAAkH;QAClH,KAAK,CAAC,UAAU,CAAC,IAAI,CACnB,CAAC,SAAS,EAAE,EAAE,CACZ,GAAG,YAAY,QAAQ;YACvB,IAAA,uCAAsB,EAAC,SAAS,CAAC,aAAa,EAAE,CAAC;iBAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAC5C,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,cAAc,EAAE,CAAC;IACjG,CAAC;SAAM,IACL,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACzC,GAAG,YAAY,QAAQ;QACvB,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EACpC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACtG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,yFAAyF;QACzF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,SAAS,iBAAiB,CACxB,EAAiB,EACjB,QAAwB,EACxB,GAAW;IAEX,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,CAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IACD,4FAA4F;IAC5F,4FAA4F;IAC5F,2FAA2F;IAC3F,mEAAmE;IACnE,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAM,EAAE,sBAAsB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,yDAAyD;AACzD,EAAE;AACF,8DAA8D;AAC9D,yDAAyD;AACzD,4FAA4F;AAC5F,EAAE;AACF,8FAA8F;AAC9F,qFAAqF;AACrF,6DAA6D;AAC7D,EAAE;AACF,yFAAyF;AACzF,kGAAkG;AAClG,0DAA0D;AAE1D,qFAAqF;AACrF,SAAS,QAAQ,CAAC,YAAoB,EAAE,GAAW,EAAE,QAAwB;IAC3E,MAAM,IAAI,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,wBAAwB;IACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;SACrC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,wEAAwE;QACxE,IAAI,CAAC,CAAC,IAAA,iCAAgB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAA,gCAAe,EAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACnG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAE,CAAC;YAC7C,gGAAgG;YAChG,6EAA6E;YAC7E,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACL,8FAA8F;IAC9F,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACU,QAAA,SAAS,GAAW,CAAC,aAAa,CAAC;AAEhD,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAS,CAAC,CAAC;AAE1C,MAAM,kBAAkB,GAAQ,EAAE,CAAC;AACnC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY;IAC1B,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,OAAO;IACrB,OAAO,IAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,gBAAgB,CAAI,IAA2B;IAC7D,qDAAqD;IACrD,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAS,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,QAAQ,CAAmB,IAA2B;IACpE,uDAAuD;IACvD,OAAO,IAAI,QAAQ,CAAI,CAAC,IAAI,IAAI,EAAE,CAAQ,CAAQ,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,YAAY,CAC1B,SAAkC,EAClC,IAGC;IAED,uDAAuD;IACvD,OAAO,IAAI,QAAQ,CAAI,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAQ,EAAE,IAAI,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,CAAQ,CAAC;AAC1G,CAAC;AAED,MAAM,QAAQ;IAEH;IACA;IAFT,YACS,IAAoB,EACpB,wBAA6D,EAAE;QAD/D,SAAI,GAAJ,IAAI,CAAgB;QACpB,0BAAqB,GAArB,qBAAqB,CAA0C;IACrE,CAAC;CACL;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAmB,EAAiB,EAAE,IAAuC;IACvG,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,kHAAkH;AAClH,SAAS,SAAS,CAAmB,EAAiB,EAAE,MAAS;IAC/D,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;IAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,kEAAkE;AAClE,kEAAkE;AAClE,sEAAsE;AACtE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;AAE/B,SAAS,oBAAoB,CAAC,EAAiB,EAAE,IAA4B,EAAE,KAAqB;IAClG,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,gBAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO,qBAAa,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO,yBAAiB,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO,yBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAwCD,8FAA8F;AAC9F,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,IAAsB;IAC/C,MAAM,GAAG,GAA2C,IAAI,CAAC,GAAG,CAAC;IAC7D,IAAI,GAAW,CAAC;IAEhB,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QACvB,qBAAqB;QACrB,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,+DAA+D;YAC/D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,yDAAyD;YACzD,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,kGAAkG;QAClG,gEAAgE;QAChE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAA,iBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/C,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;oBAChC,kFAAkF;oBAClF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,IAAA,2BAAa,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,6FAA6F;IAC7F,oEAAoE;IACnE,IAAY,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,WAAW,CAAC,GAAW,EAAE,CAAS,EAAE,MAAoB;IAC/D,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAA,oCAAmB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,6EAA6E;YAC7E,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,SAAS,SAAS,CAAC,IAAoB,EAAE,QAA6B,EAAE,WAAgC;IACtG,0GAA0G;IAC1G,IAAI,QAAQ,CAAC,kBAAkB,KAAK,KAAK,IAAI,QAAQ,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QACpF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,EAAE;QAC1D,oBAAoB;QACpB,IAAI,GAAG,KAAK,aAAa;YAAE,OAAO;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAChC,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,IAAI,IAAA,2BAAa,EAAC,YAAY,CAAC,IAAI,IAAA,2BAAa,EAAC,SAAS,CAAC,EAAE,CAAC;YACnE,oCAAoC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,YAAY,YAAY,QAAQ,IAAI,IAAA,2BAAa,EAAC,SAAS,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,YAAY,YAAY,QAAQ,IAAI,SAAS,YAAY,QAAQ,EAAE,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,QAAQ,CACtB,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAClD,SAAS,CAAC,qBAAqB,IAAI,YAAY,CAAC,qBAAqB,CACtE,CAAC;QACJ,CAAC;QACD,+BAA+B;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAa,CAAC;gBACnC,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;oBACvE,2DAA2D;oBAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qGAAqG;AACrG,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,MAAM,GAAI,IAAY,CAAC,GAAG,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,8FAA8F;AAC9F,MAAM,OAAQ,SAAQ,GAA0B;IACjB;IAA7B,YAA6B,IAAY;QACvC,KAAK,CAAC,IAAI,CAAC,CAAC;QADe,SAAI,GAAJ,IAAI,CAAQ;IAEzC,CAAC;IACD,GAAG,CAAC,CAAW,EAAE,CAAc;QAC7B,kGAAkG;QAClG,8FAA8F;QAC9F,oCAAoC;QACpC,4FAA4F;QAC5F,2FAA2F;QAC3F,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;CACF;AAED,4BAA4B;AAC5B,uBAAuB;AACvB,+BAA+B;AAC/B,yCAAyC;AACzC,8BAA8B;AAC9B,sCAAsC;AACtC,QAAQ;AACR,+BAA+B;AAC/B,OAAO;AACP,QAAQ;AACR,iDAAiD;AACjD,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,iEAAiE;AACjE,MAAa,mBAAmB;IACF;IAA5B,YAA4B,KAAU;QAAV,UAAK,GAAL,KAAK,CAAK;IAAG,CAAC;CAC3C;AAFD,kDAEC;AAED,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,mBAAmB;IACjC,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"newTestInstance.js","names":[],"sources":["../src/newTestInstance.ts"],"sourcesContent":["import { isPlainObject } from \"joist-utils\";\nimport { getInstanceData } from \"src/BaseEntity.ts\";\nimport { hasDefaultValue, setAsyncDefaultsSynchronously } from \"src/defaults.ts\";\nimport { type Entity, isEntity } from \"src/Entity.ts\";\nimport {\n type EntityConstructor,\n type EntityManager,\n type IdOf,\n type MaybeAbstractEntityConstructor,\n isId,\n} from \"src/EntityManager.ts\";\nimport {\n type EntityMetadata,\n type ManyToManyField,\n type ManyToOneField,\n type OneToManyField,\n type OneToOneField,\n type PolymorphicField,\n type PrimitiveField,\n getBaseAndSelfMetas,\n getBaseSelfAndSubMetas,\n getMetadata,\n isManyToOneField,\n isOneToOneField,\n} from \"src/EntityMetadata.ts\";\nimport { type DeepNew, type FactoryExtrasOf, type New } from \"src/index.ts\";\nimport { FactoryLogger } from \"src/logging/FactoryLogger.ts\";\nimport { maybeRequireTemporal } from \"src/serde/temporal.ts\";\nimport { type ActualFactoryOpts, type OptsOf } from \"src/typeMap.ts\";\nimport { assertNever } from \"src/utils.ts\";\n\nlet logger: FactoryLogger | undefined = undefined;\n\n// Maybe we should scope this per-em, but assuming tests are single-threaded for now\nlet factoryCreated = new WeakSet();\n\n// The last EntityManager used in a factory call, for the `factories` proxy to resolve entities\nlet lastFactoryEm: EntityManager | undefined;\n\nconst factoryKeyRegex = /^([a-zA-Z]+)(\\d+)$/;\n\n/**\n * A proxy that allows accessing factory-created entities by their factory id.\n *\n * For example, after creating entities with `as` keys:\n *\n * ```ts\n * newAuthor(em, { books: [{ is: \"b#1\" }, { is: \"b#2\", prequel: \"b#1\" }] });\n * const { b1, b2 } = factories;\n * ```\n *\n * The proxy parses property names like `b1` into `b#1` and looks up the entity\n * in the most recently used EntityManager.\n */\nexport const factories: Record<string, any> = new Proxy(Object.create(null), {\n get(_target, prop) {\n if (typeof prop !== \"string\") return undefined;\n const match = prop.match(factoryKeyRegex);\n if (!match) throw new Error(`Invalid id '${prop}', expected 'b1' or 'a2'`);\n const [, tag, id] = match;\n if (!lastFactoryEm) throw new Error(\"No EntityManager available; call a factory like newAuthor(em) first\");\n const testId = `${tag}#${id}`;\n const entity = lastFactoryEm.entities.find((e) => getTestId(lastFactoryEm!, e) === testId);\n if (!entity) throw new Error(`No factory entity found for '${testId}'`);\n return entity;\n },\n});\n\n/**\n * DeepPartial-esque type specific to our `newTestInstance` factory.\n *\n * Specifically (vs using DeepPartial directly) this:\n *\n * 1. Adds a `use` tag of `Entity | Entity[]` that will be checked for existing\n * entities before creating new ones (i.e. \"if `newTestInstance` needs a `Book`,\n * use the one in `use` instead of making a new one).\n *\n * 2. Works specifically against the constructor/entity opts fields.\n */\nexport type FactoryOpts<T extends Entity> = DeepPartialOpts<T> & {\n is?: string;\n use?: Entity | Entity[];\n useFactoryDefaults?: boolean | \"none\";\n useExistingCheck?: boolean;\n useLogging?: boolean;\n} & {\n // We use a mapped type here with an explicit `?`, instead of just `FactoryExtrasOf<T>`,\n // so that tsc knows that `{}` is a valid default opts value.\n [K in keyof FactoryExtrasOf<T>]?: FactoryExtrasOf<T>[K];\n};\n\n// Chosen b/c it's a monday https://www.timeanddate.com/calendar/monthly.html?year=2018&month=1&country=1\nconst jan1 = new Date(2018, 0, 1);\nexport const testDate = jan1;\nconst Temporal = maybeRequireTemporal()?.Temporal;\nexport const testPlainDate = Temporal?.PlainDate.from(\"2018-01-01\");\nexport const testPlainDateTime = testPlainDate?.toPlainDateTime(\"00:00:00\");\nexport const testZonedDateTime = testPlainDate?.toZonedDateTime(\"UTC\");\n\nconst knownUseKeys = [\"is\", \"use\", \"useLogging\", \"useExistingCheck\", \"useFactoryDefaults\"];\n\n/**\n * Creates a test instance of `T`.\n *\n * If the factory code passes factoryOpts.useExisting, they can \"intercept\" the `em.create`\n * to try and resolve \"already created\" / singleton instances. The `useExisting` callback is\n * useful b/c the `opts` will be the \"resolved-to-entity\" opts, and not the raw \"maybe object\n * literal, maybe object instance\" opts that tests pass into the factory.\n */\nexport function newTestInstance<T extends Entity>(\n em: EntityManager,\n cstr: EntityConstructor<T>,\n /** The test's test-specific override opts. */\n testOpts: FactoryOpts<T> = {},\n /** The factory file's default opts. */\n factoryOpts: FactoryOpts<T> & {\n useExisting?: (opts: OptsOf<T>, existing: DeepNew<T>) => boolean;\n } = {},\n): DeepNew<T> {\n // Remember the em so the `factories` proxy can look up entities\n lastFactoryEm = em;\n\n // The first factory that is asked to debug, without one in place, will create+unset the logger.\n let ownsTheLogger = !logger && testOpts.useLogging;\n if (ownsTheLogger) logger = new FactoryLogger();\n\n logger?.logCreating(cstr);\n logger?.indent();\n\n const meta = getMetadata(cstr);\n const opts = mergeOpts(meta, testOpts, factoryOpts);\n const use = getOrCreateUseMap(opts);\n\n const selfFields: string[] = [];\n\n // Create just the primitive and m2o fields 1st, so we can create a minimal/valid\n // instance of the entity. We'll do the o2m/other fields as a second pass.\n const initialOpts = Object.values(meta.allFields)\n .map((field) => {\n const { fieldName } = field;\n\n // Don't fill in required fields if told not to\n const ignoreAllDefaults = \"useFactoryDefaults\" in opts && opts.useFactoryDefaults === \"none\";\n // If the field has a default value, don't force fill it, even if passed `author: undefined`\n const required = field.required && !ignoreAllDefaults && !hasDefaultValue(meta, fieldName);\n\n // Use the opts value if they passed one in\n if (fieldName in opts && (opts as any)[fieldName] !== defaultValueMarker) {\n const optValue = (opts as any)[fieldName];\n // We don't explicitly support null (callers should pass undefined), but we accept it\n // because the factory might have done `const { author, ... } = opts` and is accidentally\n // passing an `author: undefined` without meaning too.\n const shouldRespectUndefined = !required;\n if (optValue === null || (optValue === undefined && shouldRespectUndefined)) {\n return [];\n }\n switch (field.kind) {\n case \"m2o\":\n case \"poly\":\n return [fieldName, resolveFactoryOpt(em, opts, field, optValue, undefined, undefined)];\n case \"o2o\":\n case \"o2m\":\n case \"m2m\":\n // We do these in the 2nd pass after `entity` exists (see additionalOpts)\n return [];\n case \"m2mEnum\":\n // Enum codes have no entity identity, so pass them straight through.\n return [fieldName, optValue];\n case \"lo2m\":\n // If a child is passing themselves into a parent that is a large collection, just ignore it\n return [];\n case \"primitive\":\n case \"enum\":\n case \"primaryKey\":\n // Look for strings that want to use the test index\n if (typeof optValue === \"string\" && optValue.includes(testIndexString)) {\n const actualIndex = getTestIndex(em, meta.cstr);\n const value = optValue.replace(testIndexString, String(actualIndex));\n return [fieldName, value];\n } else if (typeof optValue === \"number\" && optValue === testIndex) {\n const actualIndex = getTestIndex(em, meta.cstr);\n return [fieldName, actualIndex];\n }\n // Otherwise just use the user's opt value as-is\n return [fieldName, optValue];\n default:\n return assertNever(field);\n }\n }\n\n if (\n field.kind === \"primitive\" &&\n (required || (opts as any)[fieldName] === defaultValueMarker) &&\n !field.derived &&\n !field.protected\n ) {\n return [fieldName, defaultValueForField(em, cstr, field)];\n } else if (field.kind === \"m2o\" && !field.derived) {\n // If neither the user nor the factory (i.e. for an explicit \"fan out\" case) set this field,\n // then look in `use` and for an \"obvious\" there-is-only-one default (even for optional fields)\n const [existing, loggerKey] = getObviousDefault(em, field.otherMetadata(), use);\n // If this is a m2o pointing to an o2o, i.e. that as a unique constraint, make sure the\n // existing entity we found isn't already claimed\n const isUniqueAndAlreadyUsed =\n existing &&\n isOneToOneField(field.otherMetadata().allFields[field.otherFieldName]) &&\n (existing as any)[field.otherFieldName].isLoaded &&\n (existing as any)[field.otherFieldName].isSet;\n if (existing && !isUniqueAndAlreadyUsed && !ignoreAllDefaults) {\n logger?.[loggerKey](fieldName, existing);\n return [fieldName, existing];\n }\n // Otherwise, only make a new entity only if the field is required\n if (required) {\n // ...unless this is a self-referential key, in which case avoid infinite looping.\n if (field.otherMetadata() === meta) {\n selfFields.push(fieldName);\n return [];\n } else {\n return [fieldName, resolveFactoryOpt(em, opts, field, undefined, undefined, undefined)];\n }\n }\n } else if (field.kind === \"enum\" && required && !field.derived) {\n return [fieldName, field.enumDetailType.getValues()[0]];\n } else if (field.kind === \"poly\" && required) {\n return [fieldName, resolveFactoryOpt(em, opts, field, undefined, undefined, undefined)];\n }\n\n return [];\n })\n .filter((t) => t.length > 0);\n\n const createOpts = Object.fromEntries(initialOpts);\n\n if (factoryOpts.useExisting && testOpts.useExistingCheck !== false) {\n const existing = em.entities\n .filter((e) => e instanceof meta.cstr)\n .find((e) => factoryOpts.useExisting!(createOpts as OptsOf<T>, e as DeepNew<T>));\n if (existing) {\n logger?.logFoundExisting(existing);\n logger?.dedent();\n if (ownsTheLogger) logger = undefined;\n return existing as DeepNew<T>;\n }\n }\n\n const entity = em.create(cstr, createOpts) as New<T>;\n\n // Verify the `as` assertion if provided\n if ((opts as any).is) {\n const expected = (opts as any).is;\n const actual = getTestId(em, entity);\n if (actual !== expected) {\n throw new Error(`Test used 'is: ${expected}' but the entity is actually ${actual}`);\n }\n }\n\n // Report this as factory-created until the next em.flush\n factoryCreated.add(entity);\n\n // If the type we just made doesn't exist in `use` yet, remember it. This works better than\n // looking at the values in `fullOpts`, because instead of waiting until the end of the\n // `build fullOpts` loop, we're also invoking `newTestInstance` as we go through the loop itself,\n // creating each test instance within nested/recursive `newTestInstance` calls.\n if (!use.has(entity.constructor) || use.get(entity.constructor)![1] === \"diffBranch\") {\n addToUseMap(use, entity, \"sameBranch\");\n } else {\n // The `addToUseMap` does its own 'created & added to scope'\n logger?.logCreated(entity);\n }\n\n // Now that we've got the entity, do a 2nd pass for o2m/m2m where we pass\n // `{ parent: entity }` down to children (i.e. to replace our original\n // null marker approach).\n const additionalOpts = Object.entries(opts).map(([fieldName, optValue]) => {\n const field = meta.allFields[fieldName];\n // Look for `use` / etc\n if (knownUseKeys.includes(fieldName)) return [];\n if (!field) {\n // Look for extra/derived fields\n if (fieldName.startsWith(\"with\")) {\n const realName = fieldName[4].toLowerCase() + fieldName.substring(5);\n const realField = meta.allFields[realName];\n if (realField && \"derived\" in realField && realField.derived === \"async\") {\n return [realName, new FactoryInitialValue(optValue)];\n }\n }\n throw new Error(`Unknown field ${fieldName}`);\n }\n if (optValue === null || optValue === undefined) return [];\n if (field.kind === \"o2m\") {\n // If this is a list of children, i.e. book.authors, handle partials to newTestInstance'd\n return [\n fieldName,\n (optValue as Array<any>).map((opt, i) => {\n // console.log(`${field.fieldName}`, i);\n return resolveFactoryOpt(em, withBranchMap(opts), field, opt, entity, i);\n }),\n ];\n } else if (field.kind == \"m2m\") {\n return [\n fieldName,\n (optValue as Array<any>).map((opt, i) =>\n resolveFactoryOpt(em, withBranchMap(opts), field, opt, [entity] as any, i),\n ),\n ];\n } else if (field.kind === \"o2o\") {\n const otherField = field.otherMetadata().allFields[field.otherFieldName];\n const isReactiveReference = \"derived\" in otherField && otherField.derived === \"async\";\n if (isReactiveReference) return [];\n // If this is an o2o, i.e. author.image, just pass the optValue (i.e. it won't be a list)\n return [fieldName, resolveFactoryOpt(em, opts, field, optValue as any, entity, undefined)];\n } else {\n return []; // Assume createOpts handled this\n }\n });\n\n for (const fieldName of selfFields) {\n additionalOpts.push([fieldName, entity]);\n }\n\n entity.set(Object.fromEntries(additionalOpts.filter((t) => t.length > 0)));\n\n // em.create applied synchronous defaults automatically; since we're a factory with likely\n // deeply-loaded instances, go ahead and synchronously invoke the async defaults, at least\n // the ones that just use load hints + a synchronous lambda.\n // (...would be nice to log these in the setFactoryLogging output)\n setAsyncDefaultsSynchronously(em.ctx, entity);\n\n // Set it back to undefined\n logger?.dedent();\n if (ownsTheLogger) logger = undefined;\n\n return entity as DeepNew<T>;\n}\n\n/**\n * Resolves a `FactoryEntityOpt` (i.e. maybe an existing entity, maybe an id, maybe a hash of opts) to an entity.\n *\n * If `opt` is `undefined`, then the usual factory semantics of \"check use\", \"look for only one instance\" are\n * checked before finally creating a brand new entity.\n *\n * We also accept an optional `otherFieldName` so that, if we do create a new entity, we pass along the null\n * marker for them to know not to create their own version of us.\n *\n * (This was originally intended to be a public API, but the use case ended up being handled\n * by the more-ergonomic `maybeNew` feature; we could explore making this public if another\n * similar use case comes up in the future.)\n */\nfunction resolveFactoryOpt<T extends Entity>(\n em: EntityManager,\n opts: FactoryOpts<any>,\n field: OneToManyField | ManyToOneField | OneToOneField | ManyToManyField | PolymorphicField,\n opt: FactoryEntityOpt<any> | undefined,\n maybeEntity: T | undefined,\n fieldIndex: number | undefined,\n): T | IdOf<T> {\n const use = getOrCreateUseMap(opts);\n const { meta, otherFieldName } = metaFromFieldAndOpt(field, opt);\n // const meta = field.kind === \"poly\" ? field.components[0].otherMetadata() : field.otherMetadata();\n // const otherFieldName = field.kind === \"poly\" ? field.components[0].otherFieldName : field.otherFieldName;\n const fieldWithIndex = `${field.fieldName}${fieldIndex !== undefined ? `[${fieldIndex}]` : \"\"}`;\n if (isEntity(opt)) {\n logger?.logFoundOpt(fieldWithIndex, opt);\n return opt as T;\n } else if (isId(opt)) {\n // Try finding the entity in the UoW, otherwise fallback on just setting it as the id (which we support that now)\n const found = (em.entities.find((e) => e.idTaggedMaybe === opt || getTestId(em, e) === opt) as T) || opt;\n logger?.logFoundOpt(fieldWithIndex, found);\n return found;\n } else if (opt && !isPlainObject(opt) && !(opt instanceof MaybeNew)) {\n // If opt isn't a POJO, assume this is a completely-custom factory\n logger?.logNotFoundAndCreating(fieldWithIndex, meta);\n return meta.factory(em, opt);\n } else {\n // Look for an obvious default\n if (opt === undefined || opt instanceof MaybeNew) {\n if (\n field.kind === \"poly\" ||\n (field.otherMetadata().subTypes.length > 0 && opt instanceof MaybeNew && opt.polyRefPreferredOrder.length > 0)\n ) {\n // We have a polymorphic maybeNew to sort through\n const [existing, loggerKey] = (opt instanceof MaybeNew\n ? opt.polyRefPreferredOrder.map((cstr) => getMetadata(cstr))\n : field.kind === \"poly\"\n ? field.components.map((c) => c.otherMetadata())\n : [meta]\n )\n .map((meta) => getObviousDefault(em, meta, use))\n .find((existing) => !!existing[0]) || [undefined, undefined];\n if (existing) {\n logger?.[loggerKey](fieldWithIndex, existing);\n return existing as T;\n }\n } else {\n // Otherwise fall though to making a new entity via the factory\n const [existing, loggerKey] = getObviousDefault(em, meta, use);\n if (existing) {\n logger?.[loggerKey](fieldWithIndex, existing);\n return existing as T;\n }\n }\n }\n // If this is image.author (m2o) but the other-side is an o2o, pass null instead of []\n maybeEntity ??= (meta.allFields[otherFieldName].kind === \"o2o\" ? null : []) as any;\n logger?.logNotFoundAndCreating(fieldWithIndex, meta);\n return meta.factory(em, {\n // Because of the `!isPlainObject` above, opt will either be undefined or an object here\n ...applyUse((opt as any) || {}, use, meta),\n ...(opt instanceof MaybeNew && opt.opts),\n [otherFieldName]: maybeEntity,\n });\n }\n}\n\n/** Determines the metadata and otherFieldName to use in resolveFactoryOpt to account for polymorphic fields */\nfunction metaFromFieldAndOpt<T extends Entity>(\n field: OneToManyField | ManyToOneField | OneToOneField | ManyToManyField | PolymorphicField,\n opt: FactoryEntityOpt<T> | undefined,\n): { meta: EntityMetadata; otherFieldName: string } {\n if (field.kind === \"poly\") {\n let componentToUse =\n // Otherwise, we check if the `opt` specifies a particular component to use, and if not fall back to the first one\n field.components.find(\n (component) =>\n opt instanceof MaybeNew &&\n getBaseSelfAndSubMetas(component.otherMetadata())\n .map((m) => m.cstr)\n .includes(opt.polyRefPreferredOrder[0]),\n ) ?? field.components[0];\n return { meta: componentToUse.otherMetadata(), otherFieldName: componentToUse.otherFieldName };\n } else if (\n field.otherMetadata().subTypes.length > 0 &&\n opt instanceof MaybeNew &&\n opt.polyRefPreferredOrder.length > 0\n ) {\n const otherMeta = field.otherMetadata();\n const types = getBaseSelfAndSubMetas(otherMeta);\n const typeToUse = types.find((subType) => subType.cstr === opt.polyRefPreferredOrder[0]) ?? otherMeta;\n return { meta: typeToUse, otherFieldName: field.otherFieldName };\n } else {\n // If it isn't a poly field, then the field itself can tell us everything we need to know\n return { meta: field.otherMetadata(), otherFieldName: field.otherFieldName };\n }\n}\n\n/** We look for `use`-cached entities, which are either those we created, or had \"if-only-one\" defaults. */\nfunction getObviousDefault<T extends Entity>(\n em: EntityManager,\n metadata: EntityMetadata,\n use: UseMap,\n): [T, \"logFoundInUseMap\" | \"logFoundSingleEntity\"] | [undefined, undefined] {\n if (use.has(metadata.cstr)) {\n return [use.get(metadata.cstr)![0] as T, \"logFoundInUseMap\"];\n }\n // If there is a single existing instance of this type, assume the caller is fine with that.\n // ...in theory seeding our `use` map with the only-one entities was supposed to prevent the\n // need for doing this (the entities would already be in the use map that we just checked),\n // but that approach doesn't catch created-as-side-effect entities.\n const existing = em.getEntities(metadata.cstr);\n if (existing.length === 1) {\n return [existing[0] as T, \"logFoundSingleEntity\"];\n }\n return [undefined, undefined];\n}\n\n// When a factory is called, i.e. `newAuthor`, opts will:\n//\n// - Have values explicitly passed by the user/other factories\n// - Have values from the user's explicit `use` parameter\n// - NOT have guessed (i.e. \"only existing entity\") or an implicitly-created `use` parameter\n//\n// This allows the factory to \"fan out\" by default, i.e. newInternalUser creating its own User\n// and Market creating its own ProductAttribute, which originally we couldn't do when\n// guessed/implicit opts were passed directly to `newAuthor`.\n//\n// Now, if the `newAuthor` factory doesn't explicitly \"fan out\" (by passing `user: {}` to\n// `newTestInstance`), we still \"fan in\" by having `newTestInstance` sneak in the guessed/implicit\n// opts of only-one-existing or factory-created instances.\n\n/** Given we're going to call a factory, make sure any `use`s are put into `opts`. */\nfunction applyUse(optsMaybeNew: object, use: UseMap, metadata: EntityMetadata): object {\n const opts = optsMaybeNew instanceof MaybeNew ? optsMaybeNew.opts : optsMaybeNew;\n // Find any unset fields\n Object.values(metadata.fields)\n .filter((f) => !(f.fieldName in opts))\n .forEach((f) => {\n // And set them to the current `use` entity for their type, if it exists\n if (((isManyToOneField(f) && !f.derived) || isOneToOneField(f)) && use.has(f.otherMetadata().cstr)) {\n const def = use.get(f.otherMetadata().cstr)!;\n // Only pass explicit/user-defined `use` entities, so that factories can \"fan out\" if they want,\n // and not see other factory-created entities look like user-specific values.\n if (def[1] === \"useOpt\") {\n (opts as any)[f.fieldName] = def[0];\n }\n }\n });\n // Make a copy so that we don't leak `use` onto opts that tests might later use in assertions.\n return { ...opts, use };\n}\n\n/**\n * A marker value for later replacement with the test instance's \"unique-ish\" index.\n *\n * This is meant to just be a helpful identifier in fields like entity names/descriptions for\n * debugging purposes.\n */\nexport const testIndex: number = -1_111_111_222;\n\nconst testIndexString = String(testIndex);\n\nconst defaultValueMarker: any = {};\nconst branchValueSym = Symbol(\"branchValue\");\n\n/**\n * A marker value for the default `newTestInstance` behavior.\n *\n * Useful for passing arguments to `newTestInstance` where you sometimes want to\n * provide a specific value, and other times ask for the \"pick a default\" behavior\n * (i.e. you don't want to pass `undefined` b/c that means explicitly \"leave this\n * key unset\").\n *\n * Note that this is a function so that we can infer the return type as basically\n * `any` without really using `any` (which would disable type-checking in the rest\n * of the expression).\n */\nexport function defaultValue<T>(): T {\n return defaultValueMarker;\n}\n\n/**\n * A marker value to never set a field, even if it's required.\n *\n * The factories treat `{ author: undefined }` as \"still set the author\", because of how easy\n * it is for destructuring/restructuring opts to implicitly set `undefined` values.\n *\n * If you want to force a field to not be set, you can use `{ author: noValue() }`.\n */\nexport function noValue<T>(): T {\n return null as T;\n}\n\n/**\n * A marker value to accept values only if explicitly created-or-passed within the current,\n * unique \"branch\" of a factory call.\n *\n * This is useful for \"diamond-shape\" entity models like:\n *\n * ```\n * ParentGroup <-- ParentItem\n * | |\n * ChildGroup <-- ChildItem\n * ```\n *\n * Where it's important that the `ChildItem -> ParentItem -> ParentGroup` path matches\n * the `ChildItem -> ChildGroup -> ParentGroup` path.\n *\n * This can be hard to achieve in normal factory behavior, i.e. for a call like:\n *\n * ```ts\n * const c = newChild(em, {\n * groups: [\n * { childItems: [{}, {}] },\n * { childItems: [{}, {}] },\n * ],\n * });\n * ```\n *\n * The first `ChildGroup` will create a new `ParentGroup` that is used by everything, which\n * is not our intent, as both `ChildGroup`s, and all four `ParentItem`s, will live in a single\n * `ParentGroup`.\n *\n * An initial idea is to pass `parentGroup: {}` in the factories, because that turns off \"reusing\n * existing instances\", but for this problem the `{}` approach is \"too good\" at creating new\n * instances, b/c the above diamond pattern will be disconnected.\n *\n * So `branchValue` provides a middle ground, where _usually_ it will be a new entity, unless\n * it was explicitly created within the same \"branch\" of a factory call.\n */\nexport function maybeBranchValue<T>(opts?: ActualFactoryOpts<T>): T {\n // opts get mutated, so we have to return a new value\n return { [branchValueSym]: true, ...(opts ? opts : undefined) } as any;\n}\n\n/**\n * Allows a factory to declare that an optional relation should be filled in with an\n * \"obvious default\", or a new entity if one doesn't exist.\n *\n * This \"obvious default or new entity\" is what Joist already does for _required_ relations,\n * and so `maybeNew` lets the factory tell Joist to apply the same behavior to an optional\n * field.\n *\n * I.e.:\n *\n * ```typescript\n * export function newAuthor(em: Entity, opts: FactoryOpts<Author>) {\n * return newTestInstance(em, Author, {\n * // this always make a new publisher, unless explicitly overridden by the test,\n * // i.e. when each author really needs \"their own\" publisher.\n * publisher: {},\n * // this will make a new publisher but first looks for \"good defaults\" in the\n * // test, i.e. an already-created publisher. This is the default behavior of\n * // required fields (\"look for a good default\"), and `maybeNew` lets you tell\n * // Joist to invoke that same \"maybe new\" behavior for an optional field.\n * publisher: maybeNew<Publisher>({}),\n * ...opts,\n * });\n * }\n * ```\n */\nexport function maybeNew<T extends Entity>(opts?: ActualFactoryOpts<T>): FactoryEntityOpt<T> {\n // Return a marker that resolveFactoryOpt will look for\n return new MaybeNew<T>((opts || {}) as any) as any;\n}\n\n/**\n * Similar to `maybeNew` in behaviour/use but with enhancements to support polymorphic fields:\n * 1) Allows you to specify which entity type to create, if it is found a new one is needed\n * 2) Allows you to prioritize which existing entities to select\n *\n * For example below, we are specifying that an Author should be created if needed (and optionally it's default opts\n * in the `ifNewOpts` field), and also that the priority order for choosing existing entities is Author, Book, and then Publisher.\n * Note since BookReview is excluded from `existingSearchOrder`, an existing BookReview will never be chosen.\n *\n * ```typescript\n * export function newComment(em: EntityManager, opts: FactoryOpts<Comment> = {}): New<Comment> {\n * return newTestInstance(em, Comment, {\n * parent: maybeNewPoly<CommentParent, Author>(\n * Author, {\n * ifNewOpts: { firstName: \"optional\"},\n * existingSearchOrder: [Author, Book, Publisher]\n * }),\n * ...opts,\n * });\n * }\n * ```\n */\nexport function maybeNewPoly<T extends Entity, NewT extends T = T>(\n ifNewCstr: EntityConstructor<NewT>,\n opts?: {\n ifNewOpts?: ActualFactoryOpts<NewT>;\n existingSearchOrder?: MaybeAbstractEntityConstructor<T>[];\n },\n): FactoryEntityOpt<NewT> {\n // Return a marker that resolveFactoryOpt will look for\n return new MaybeNew<T>((opts?.ifNewOpts || {}) as any, opts?.existingSearchOrder ?? [ifNewCstr]) as any;\n}\n\nclass MaybeNew<T extends Entity> {\n constructor(\n public opts: FactoryOpts<T>,\n public polyRefPreferredOrder: MaybeAbstractEntityConstructor<T>[] = [],\n ) {}\n}\n\n/**\n * Returns a unique-ish test index for putting in `name` fields.\n *\n * Note that `testIndex` is easier to just include in a string, because it doesn't require passing\n * the `EntityManger` and `type`. But if a factory really wants the test index as a number, they can\n * call this method.\n *\n * Despite the name, these are 1-based, i.e. the first `Author` is `a1`.\n */\nexport function getTestIndex<T extends Entity>(em: EntityManager, type: MaybeAbstractEntityConstructor<T>): number {\n const existing = em.getEntities(type);\n return existing.length + 1;\n}\n\n/** Returns the stable `a#1` factory id for em.create-d entities, using the createId assigned at creation time. */\nfunction getTestId<T extends Entity>(em: EntityManager, entity: T): string | undefined {\n const meta = getMetadata(entity);\n const createId = getInstanceData(entity).createId;\n return createId ? `${meta.tagName}#${createId}` : undefined;\n}\n\n// We keep a local copy of `global.Date`, in case a faking library\n// like @sinonjs/fake-timers is used and rewrites `global.Date` to\n// their own `ClockDate`, which would make our `===` check below fail.\nconst globalDate = global.Date;\n\nfunction defaultValueForField(em: EntityManager, cstr: EntityConstructor<any>, field: PrimitiveField): unknown {\n if (field.serde.columns[0].isArray) return [];\n if (field.type === \"string\") {\n if (field.fieldName === \"name\") {\n return `${cstr.name} ${getTestIndex(em, cstr)}`;\n }\n return field.fieldName;\n } else if (field.type === \"number\") {\n return 0;\n } else if (field.type === \"bigint\") {\n return 0n;\n } else if (field.type === globalDate) {\n return testDate;\n } else if (field.type === \"boolean\") {\n return false;\n } else if (field.type === \"Object\") {\n // A required jsonb column, i.e. so factories can satisfy a required (possibly `lazy`) column.\n return {};\n } else if (Temporal) {\n if (field.type === Temporal.PlainDate) {\n return testPlainDate;\n } else if (field.type === Temporal.PlainDateTime) {\n return testPlainDateTime;\n } else if (field.type === Temporal.ZonedDateTime) {\n return testZonedDateTime;\n }\n }\n\n return null;\n}\n\n// Utility type to destructure T out of T | undefined\ntype DefinedOr<T> = T | undefined | null;\n\ntype DeepPartialOpts<T extends Entity> = AllowRelationsOrPartials<OptsOf<T>>;\n\n/** What a factory can accept for a given entity. */\nexport type FactoryEntityOpt<T extends Entity> =\n | T\n // The ability to use an id, like `newAuthor(em, { publisher: \"p:1\" })` is not necessarily\n // on purpose, but the AuthorOpts already have `publisher: Publisher | PublisherId` in them,\n // so `newTestInstance` has to handle this typing anyway, unless we explicitly go out of our\n // way to remove the `PublisherId` from the Opts type.\n | IdOf<T>\n | (ActualFactoryOpts<T> & { useFactoryDefaults?: boolean | \"none\" });\n\ntype AllowRelationsOrPartials<T> = {\n [P in keyof T]?: T[P] extends DefinedOr<infer U>\n ? U extends Array<infer V>\n ? V extends Entity\n ? Array<FactoryEntityOpt<V>>\n : T[P]\n : U extends Entity\n ? FactoryEntityOpt<U>\n : T[P]\n : T[P];\n};\n\n// Map of constructor --> [\n// default entity,\n// | \"testOpts\" === explicitly passed into the top-level `newFactory` that creates the UseMap\n// | \"useOpt\" === explicitly passed in as a `use` flag\n// | \"diffBranch\" == created internally within the current factory call, but a different branch of children\n// | \"sameBranch\" === created internally within the current factory call, in the current branch of entities\n// ]\nexport type UseMapSource = \"testOpts\" | \"useOpt\" | \"sameBranch\" | \"diffBranch\";\ntype UseMapValue = [Entity, UseMapSource];\ntype UseMap = Map<Function, UseMapValue>;\n\n// Do a one-time conversion of the user's `use` array into a map for internal use, which we'll\n// then re-use across all `newTestInstance` calls within a given `new<Entity>` call.\nfunction getOrCreateUseMap(opts: FactoryOpts<any>): UseMap {\n const use: Entity | Entity[] | UseMap | undefined = opts.use;\n let map: UseMap;\n\n if (use instanceof Map) {\n // it's already a map\n map = use;\n } else {\n map = new Map();\n if (use instanceof Array) {\n // it's a top-level `newAuthor` with a user-passed `use: array`\n use.forEach((e) => addToUseMap(map, e, \"useOpt\"));\n } else if (use) {\n // it's a top-level `newAuthor` w/o a `use: entity` param\n addToUseMap(map, use, \"useOpt\");\n }\n // Scan opts for entities to add to the map, i.e. if the user calls `newAuthor(em, { book: b1 })`,\n // we'll use `b1` for any other books we might happen to create.\n const todo = [opts];\n while (todo.length > 0) {\n const opts = todo.pop();\n for (const opt of Object.values(opts || {})) {\n if (isEntity(opt) && !map.has(opt.constructor)) {\n addToUseMap(map, opt, \"testOpts\");\n } else if (opt instanceof Array) {\n // Push the array as-is, because it will be `Object.value`-d on the next iteration\n todo.push(opt);\n } else if (isPlainObject(opt)) {\n todo.push(opt);\n }\n }\n }\n }\n // Store our potentially-massaged map back into opts i.e. in case resolveFactoryOpt needs it.\n // Use as any b/c UseMap is our internal impl detail and not public.\n (opts as any).use = map;\n return map;\n}\n\n// If e is a subtype like SmallPublisher, register it for the base Publisher as well\nfunction addToUseMap(map: UseMap, e: Entity, source: UseMapSource) {\n logger?.logAddToUseMap(e, source);\n const meta = getMetadata(e);\n if (meta.baseType || meta.subTypes.length) {\n getBaseAndSelfMetas(meta).forEach((m) => {\n // console.log(`Putting ${e.toString()} into ${objectId(map)} as ${source}`);\n map.set(m.cstr, [e, source]);\n });\n } else {\n // console.log(`Putting ${e.toString()} into ${objectId(map)} as ${source}`);\n map.set(meta.cstr, [e, source]);\n }\n}\n\n/** Merge the factory's opts and the test's opts so that `{ age: 40 }` and `{ firstName: \"b1\" }` get merged. */\nfunction mergeOpts(meta: EntityMetadata, testOpts: Record<string, any>, factoryOpts: Record<string, any>): object {\n // Merge the factory's opts and the test's opts so that `{ age: 40 }` and `{ firstName: \"b1\" }` get merged\n if (testOpts.useFactoryDefaults === false || testOpts.useFactoryDefaults === \"none\") {\n return testOpts;\n }\n\n const opts: any = { ...testOpts };\n Object.entries(factoryOpts).forEach(([key, factoryValue]) => {\n // Skip special opts\n if (key === \"useExisting\") return;\n const testValue = testOpts[key];\n if (testOpts[key] === undefined) {\n // If the test doesn't define an opt, we have nothing to merge...unless\n // they literally passed `foo: undefined`, in which case they win.\n if (!(key in testOpts)) {\n opts[key] = factoryValue;\n }\n } else if (isPlainObject(factoryValue) && isPlainObject(testValue)) {\n // Should this deep merge? Probably?\n opts[key] = mergeOpts(meta, testValue, factoryValue);\n } else if (factoryValue instanceof MaybeNew && isPlainObject(testValue)) {\n opts[key] = mergeOpts(meta, testValue, factoryValue.opts);\n } else if (factoryValue instanceof MaybeNew && testValue instanceof MaybeNew) {\n opts[key] = new MaybeNew<any>(\n mergeOpts(meta, testValue.opts, factoryValue.opts),\n testValue.polyRefPreferredOrder ?? factoryValue.polyRefPreferredOrder,\n );\n }\n // This seemed like a good idea\n if (opts[key]?.[branchValueSym]) {\n const field = meta.allFields[key];\n if (field.kind === \"m2o\") {\n const use = testOpts.use as UseMap;\n const inTree = use?.get(field.otherMetadata().cstr);\n if (inTree && (inTree[1] === \"sameBranch\" || inTree[1] === \"testOpts\")) {\n // console.log(`Putting ${field.fieldName} to`, inTree[0]);\n opts[key] = inTree[0];\n }\n } else {\n throw new Error(`branchValue is not implemented for ${field.kind}`);\n }\n delete opts[key]?.[branchValueSym];\n }\n });\n return opts;\n}\n\n// As we branch out to children, going down the tree, give each branch its own playground of entities\nfunction withBranchMap(opts: object): object {\n const oldMap = (opts as any).use;\n const newMap = new CopyMap(oldMap);\n return { ...opts, use: newMap };\n}\n\n/** Writes new entities into our branch's map (this map), as well as the root we came from. */\nclass CopyMap extends Map<Function, UseMapValue> {\n constructor(private readonly root: UseMap) {\n super(root);\n }\n set(k: Function, v: UseMapValue): this {\n // Purposefully downgrade this to source=diffBranch so that it will not be used by `branchValue()`\n // calls that override `{}`, but can still be used to in-fan, i.e. if making multiple books by\n // default they get the same author.\n // ...also use `root?` because the `super(root)` will call `set` while copying the other map\n // but our `this.root` has not been set yet; which is fine, we want to ignore those anyway.\n this.root?.set(k, [v[0], \"diffBranch\"]);\n return super.set(k, v);\n }\n}\n\n// const objectId = (() => {\n// let currentId = 0;\n// const map = new WeakMap();\n// return (object: object): number => {\n// if (!map.has(object)) {\n// map.set(object, ++currentId);\n// }\n// return map.get(object)!;\n// };\n// })();\n/** Enables factory logging for all factories. */\nexport function setFactoryLogging(enabled: boolean): void {\n logger = enabled ? new FactoryLogger() : undefined;\n}\n\n/** Marker for tests setting derived values during test setup. */\nexport class FactoryInitialValue {\n constructor(public readonly value: any) {}\n}\n\nexport function isFactoryCreation(entity: Entity): boolean {\n return factoryCreated.has(entity);\n}\n\nexport function resetFactoryCreated(): void {\n factoryCreated = new WeakSet<Entity>();\n}\n"],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("./Entity.cjs");
3
+ //#region src/normalizeHints.ts
4
+ const suffixRe = /[:|_]ro$/;
5
+ const normalizedStringHints = /* @__PURE__ */ new Map();
6
+ const normalizedArrayHints = /* @__PURE__ */ new WeakMap();
7
+ const hintKeys = /* @__PURE__ */ new WeakMap();
8
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
9
+ function normalizeHint(hint) {
10
+ if (typeof hint === "string") return getOrSetStringHint(hint);
11
+ else if (Array.isArray(hint)) return getOrSetArrayHint(hint);
12
+ else return hint;
13
+ }
14
+ /**
15
+ * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.
16
+ *
17
+ * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,
18
+ * nested object hints were ~26-38x faster.
19
+ */
20
+ function hintKey(hint) {
21
+ if (hint === void 0) return "";
22
+ if (typeof hint === "string") return hint;
23
+ let key = hintKeys.get(hint);
24
+ if (key === void 0) {
25
+ key = JSON.stringify(hint);
26
+ hintKeys.set(hint, key);
27
+ }
28
+ return key;
29
+ }
30
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
31
+ function deepNormalizeHint(hint) {
32
+ if (typeof hint === "string") return { [hint]: {} };
33
+ else if (Array.isArray(hint)) return Object.fromEntries(hint.map((field) => [field, {}]));
34
+ else return Object.fromEntries(Object.entries(hint).map(([key, value]) => [key, deepNormalizeHint(value)]));
35
+ }
36
+ function getOrSetStringHint(hint) {
37
+ let normalized = normalizedStringHints.get(hint);
38
+ if (normalized === void 0) {
39
+ normalized = { [hint]: {} };
40
+ normalizedStringHints.set(hint, normalized);
41
+ }
42
+ return normalized;
43
+ }
44
+ function getOrSetArrayHint(hint) {
45
+ let normalized = normalizedArrayHints.get(hint);
46
+ if (normalized === void 0) {
47
+ normalized = Object.fromEntries(hint.map((field) => [field, {}]));
48
+ normalizedArrayHints.set(hint, normalized);
49
+ }
50
+ return normalized;
51
+ }
52
+ //#endregion
53
+ exports.deepNormalizeHint = deepNormalizeHint;
54
+ exports.hintKey = hintKey;
55
+ exports.normalizeHint = normalizeHint;
56
+ exports.suffixRe = suffixRe;
57
+
58
+ //# sourceMappingURL=normalizeHints.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeHints.cjs","names":[],"sources":["../src/normalizeHints.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport type { LoadHint } from \"src/loading/loadHints.ts\";\nimport type { ReactiveHint } from \"src/reactivity/reactiveHints.ts\";\n\n/** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */\nexport type NormalizeHint<H> = H extends string\n ? Record<DropSuffix<H>, {}>\n : H extends ReadonlyArray<any>\n ? Record<DropSuffix<H[number]>, {}>\n : { [K in keyof H as DropSuffix<K>]: H[K] };\n\n/** The separator between field names and the modified; we allow `_` for keys in hashes. */\nexport type SuffixSeperator = \":\" | \"_\";\n\nexport type DropSuffix<K> = K extends `${infer key}${SuffixSeperator}ro` ? key : K;\n\nexport const suffixRe = /[:|_]ro$/;\n\nconst normalizedStringHints = new Map<string, object>();\nconst normalizedArrayHints = new WeakMap<readonly string[], object>();\nconst hintKeys = new WeakMap<object, string>();\n\n/** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */\nexport function normalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object {\n if (typeof hint === \"string\") {\n return getOrSetStringHint(hint);\n } else if (Array.isArray(hint)) {\n return getOrSetArrayHint(hint as readonly string[]);\n } else {\n return hint;\n }\n}\n\n/**\n * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.\n *\n * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,\n * nested object hints were ~26-38x faster.\n */\nexport function hintKey<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T> | undefined): string {\n if (hint === undefined) return \"\";\n if (typeof hint === \"string\") return hint;\n\n let key = hintKeys.get(hint);\n if (key === undefined) {\n key = JSON.stringify(hint);\n hintKeys.set(hint, key);\n }\n return key;\n}\n\n/** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */\nexport function deepNormalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object {\n if (typeof hint === \"string\") {\n return { [hint]: {} };\n } else if (Array.isArray(hint)) {\n return Object.fromEntries(hint.map((field) => [field, {}]));\n } else {\n return Object.fromEntries(Object.entries(hint).map(([key, value]) => [key, deepNormalizeHint(value)]));\n }\n}\n\nfunction getOrSetStringHint(hint: string): object {\n let normalized = normalizedStringHints.get(hint);\n if (normalized === undefined) {\n normalized = { [hint]: {} };\n normalizedStringHints.set(hint, normalized);\n }\n return normalized;\n}\n\nfunction getOrSetArrayHint(hint: readonly string[]): object {\n let normalized = normalizedArrayHints.get(hint);\n if (normalized === undefined) {\n normalized = Object.fromEntries(hint.map((field) => [field, {}]));\n normalizedArrayHints.set(hint, normalized);\n }\n return normalized;\n}\n"],"mappings":";;;AAgBA,MAAa,WAAW;AAExB,MAAM,wCAAwB,IAAI,IAAoB;AACtD,MAAM,uCAAuB,IAAI,QAAmC;AACpE,MAAM,2BAAW,IAAI,QAAwB;;AAG7C,SAAgB,cAAgC,MAA6C;CAC3F,IAAI,OAAO,SAAS,UAClB,OAAO,mBAAmB,IAAI;MACzB,IAAI,MAAM,QAAQ,IAAI,GAC3B,OAAO,kBAAkB,IAAyB;MAElD,OAAO;AAEX;;;;;;;AAQA,SAAgB,QAA0B,MAAyD;CACjG,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,IAAI,OAAO,SAAS,UAAU,OAAO;CAErC,IAAI,MAAM,SAAS,IAAI,IAAI;CAC3B,IAAI,QAAQ,KAAA,GAAW;EACrB,MAAM,KAAK,UAAU,IAAI;EACzB,SAAS,IAAI,MAAM,GAAG;CACxB;CACA,OAAO;AACT;;AAGA,SAAgB,kBAAoC,MAA6C;CAC/F,IAAI,OAAO,SAAS,UAClB,OAAO,GAAG,OAAO,CAAC,EAAE;MACf,IAAI,MAAM,QAAQ,IAAI,GAC3B,OAAO,OAAO,YAAY,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAE1D,OAAO,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,kBAAkB,KAAK,CAAC,CAAC,CAAC;AAEzG;AAEA,SAAS,mBAAmB,MAAsB;CAChD,IAAI,aAAa,sBAAsB,IAAI,IAAI;CAC/C,IAAI,eAAe,KAAA,GAAW;EAC5B,aAAa,GAAG,OAAO,CAAC,EAAE;EAC1B,sBAAsB,IAAI,MAAM,UAAU;CAC5C;CACA,OAAO;AACT;AAEA,SAAS,kBAAkB,MAAiC;CAC1D,IAAI,aAAa,qBAAqB,IAAI,IAAI;CAC9C,IAAI,eAAe,KAAA,GAAW;EAC5B,aAAa,OAAO,YAAY,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAChE,qBAAqB,IAAI,MAAM,UAAU;CAC3C;CACA,OAAO;AACT"}
@@ -0,0 +1,24 @@
1
+ import { LoadHint } from "./loading/loadHints.cjs";
2
+ import { ReactiveHint } from "./reactivity/reactiveHints.cjs";
3
+ import { Entity } from "./Entity.cjs";
4
+ //#region src/normalizeHints.d.ts
5
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
6
+ type NormalizeHint<H> = H extends string ? Record<DropSuffix<H>, {}> : H extends ReadonlyArray<any> ? Record<DropSuffix<H[number]>, {}> : { [K in keyof H as DropSuffix<K>]: H[K]; };
7
+ /** The separator between field names and the modified; we allow `_` for keys in hashes. */
8
+ type SuffixSeperator = ":" | "_";
9
+ type DropSuffix<K> = K extends `${infer key}${SuffixSeperator}ro` ? key : K;
10
+ declare const suffixRe: RegExp;
11
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
12
+ declare function normalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object;
13
+ /**
14
+ * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.
15
+ *
16
+ * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,
17
+ * nested object hints were ~26-38x faster.
18
+ */
19
+ declare function hintKey<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T> | undefined): string;
20
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
21
+ declare function deepNormalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object;
22
+ //#endregion
23
+ export { DropSuffix, NormalizeHint, SuffixSeperator, deepNormalizeHint, hintKey, normalizeHint, suffixRe };
24
+ //# sourceMappingURL=normalizeHints.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeHints.d.cts","names":[],"sources":["../src/normalizeHints.ts"],"mappings":";;;;;KAKY,cAAc,KAAK,mBAC3B,OAAO,WAAW,UAClB,UAAU,qBACR,OAAO,WAAW,qBACf,WAAW,KAAK,WAAW,KAAK,EAAE;;KAG/B;KAEA,WAAW,KAAK,mBAAmB,MAAM,sBAAsB,MAAM;cAEpE,UAAQ;;iBAOL,cAAc,UAAU,QAAQ,MAAM,SAAS,KAAK,aAAa;;;;;;;iBAgBjE,QAAQ,UAAU,QAAQ,MAAM,SAAS,KAAK,aAAa;;iBAa3D,kBAAkB,UAAU,QAAQ,MAAM,SAAS,KAAK,aAAa"}
@@ -0,0 +1,24 @@
1
+ import { LoadHint } from "./loading/loadHints.mjs";
2
+ import { ReactiveHint } from "./reactivity/reactiveHints.mjs";
3
+ import { Entity } from "./Entity.mjs";
4
+ //#region src/normalizeHints.d.ts
5
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
6
+ type NormalizeHint<H> = H extends string ? Record<DropSuffix<H>, {}> : H extends ReadonlyArray<any> ? Record<DropSuffix<H[number]>, {}> : { [K in keyof H as DropSuffix<K>]: H[K]; };
7
+ /** The separator between field names and the modified; we allow `_` for keys in hashes. */
8
+ type SuffixSeperator = ":" | "_";
9
+ type DropSuffix<K> = K extends `${infer key}${SuffixSeperator}ro` ? key : K;
10
+ declare const suffixRe: RegExp;
11
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
12
+ declare function normalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object;
13
+ /**
14
+ * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.
15
+ *
16
+ * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,
17
+ * nested object hints were ~26-38x faster.
18
+ */
19
+ declare function hintKey<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T> | undefined): string;
20
+ /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
21
+ declare function deepNormalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object;
22
+ //#endregion
23
+ export { DropSuffix, NormalizeHint, SuffixSeperator, deepNormalizeHint, hintKey, normalizeHint, suffixRe };
24
+ //# sourceMappingURL=normalizeHints.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeHints.d.mts","names":[],"sources":["../src/normalizeHints.ts"],"mappings":";;;;;KAKY,cAAc,KAAK,mBAC3B,OAAO,WAAW,UAClB,UAAU,qBACR,OAAO,WAAW,qBACf,WAAW,KAAK,WAAW,KAAK,EAAE;;KAG/B;KAEA,WAAW,KAAK,mBAAmB,MAAM,sBAAsB,MAAM;cAEpE,UAAQ;;iBAOL,cAAc,UAAU,QAAQ,MAAM,SAAS,KAAK,aAAa;;;;;;;iBAgBjE,QAAQ,UAAU,QAAQ,MAAM,SAAS,KAAK,aAAa;;iBAa3D,kBAAkB,UAAU,QAAQ,MAAM,SAAS,KAAK,aAAa"}
@@ -1,69 +1,54 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.suffixRe = void 0;
4
- exports.normalizeHint = normalizeHint;
5
- exports.hintKey = hintKey;
6
- exports.deepNormalizeHint = deepNormalizeHint;
7
- exports.suffixRe = /[:|_]ro$/;
8
- const normalizedStringHints = new Map();
9
- const normalizedArrayHints = new WeakMap();
10
- const hintKeys = new WeakMap();
1
+ import "./Entity.js";
2
+ //#region src/normalizeHints.ts
3
+ const suffixRe = /[:|_]ro$/;
4
+ const normalizedStringHints = /* @__PURE__ */ new Map();
5
+ const normalizedArrayHints = /* @__PURE__ */ new WeakMap();
6
+ const hintKeys = /* @__PURE__ */ new WeakMap();
11
7
  /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
12
8
  function normalizeHint(hint) {
13
- if (typeof hint === "string") {
14
- return getOrSetStringHint(hint);
15
- }
16
- else if (Array.isArray(hint)) {
17
- return getOrSetArrayHint(hint);
18
- }
19
- else {
20
- return hint;
21
- }
9
+ if (typeof hint === "string") return getOrSetStringHint(hint);
10
+ else if (Array.isArray(hint)) return getOrSetArrayHint(hint);
11
+ else return hint;
22
12
  }
23
13
  /**
24
- * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.
25
- *
26
- * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,
27
- * nested object hints were ~26-38x faster.
28
- */
14
+ * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.
15
+ *
16
+ * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,
17
+ * nested object hints were ~26-38x faster.
18
+ */
29
19
  function hintKey(hint) {
30
- if (hint === undefined)
31
- return "";
32
- if (typeof hint === "string")
33
- return hint;
34
- let key = hintKeys.get(hint);
35
- if (key === undefined) {
36
- key = JSON.stringify(hint);
37
- hintKeys.set(hint, key);
38
- }
39
- return key;
20
+ if (hint === void 0) return "";
21
+ if (typeof hint === "string") return hint;
22
+ let key = hintKeys.get(hint);
23
+ if (key === void 0) {
24
+ key = JSON.stringify(hint);
25
+ hintKeys.set(hint, key);
26
+ }
27
+ return key;
40
28
  }
41
29
  /** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */
42
30
  function deepNormalizeHint(hint) {
43
- if (typeof hint === "string") {
44
- return { [hint]: {} };
45
- }
46
- else if (Array.isArray(hint)) {
47
- return Object.fromEntries(hint.map((field) => [field, {}]));
48
- }
49
- else {
50
- return Object.fromEntries(Object.entries(hint).map(([key, value]) => [key, deepNormalizeHint(value)]));
51
- }
31
+ if (typeof hint === "string") return { [hint]: {} };
32
+ else if (Array.isArray(hint)) return Object.fromEntries(hint.map((field) => [field, {}]));
33
+ else return Object.fromEntries(Object.entries(hint).map(([key, value]) => [key, deepNormalizeHint(value)]));
52
34
  }
53
35
  function getOrSetStringHint(hint) {
54
- let normalized = normalizedStringHints.get(hint);
55
- if (normalized === undefined) {
56
- normalized = { [hint]: {} };
57
- normalizedStringHints.set(hint, normalized);
58
- }
59
- return normalized;
36
+ let normalized = normalizedStringHints.get(hint);
37
+ if (normalized === void 0) {
38
+ normalized = { [hint]: {} };
39
+ normalizedStringHints.set(hint, normalized);
40
+ }
41
+ return normalized;
60
42
  }
61
43
  function getOrSetArrayHint(hint) {
62
- let normalized = normalizedArrayHints.get(hint);
63
- if (normalized === undefined) {
64
- normalized = Object.fromEntries(hint.map((field) => [field, {}]));
65
- normalizedArrayHints.set(hint, normalized);
66
- }
67
- return normalized;
44
+ let normalized = normalizedArrayHints.get(hint);
45
+ if (normalized === void 0) {
46
+ normalized = Object.fromEntries(hint.map((field) => [field, {}]));
47
+ normalizedArrayHints.set(hint, normalized);
48
+ }
49
+ return normalized;
68
50
  }
51
+ //#endregion
52
+ export { deepNormalizeHint, hintKey, normalizeHint, suffixRe };
53
+
69
54
  //# sourceMappingURL=normalizeHints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeHints.js","sourceRoot":"","sources":["../src/normalizeHints.ts"],"names":[],"mappings":";;;AAuBA,sCAQC;AAQD,0BAUC;AAGD,8CAQC;AA5CY,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEnC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACxD,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA6B,CAAC;AACtE,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAkB,CAAC;AAE/C,gFAAgF;AAChF,SAAgB,aAAa,CAAmB,IAAmC;IACjF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC,IAAyB,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAmB,IAA+C;IACvF,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAgB,iBAAiB,CAAmB,IAAmC;IACrF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5B,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuB;IAChD,IAAI,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"normalizeHints.js","names":[],"sources":["../src/normalizeHints.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport type { LoadHint } from \"src/loading/loadHints.ts\";\nimport type { ReactiveHint } from \"src/reactivity/reactiveHints.ts\";\n\n/** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */\nexport type NormalizeHint<H> = H extends string\n ? Record<DropSuffix<H>, {}>\n : H extends ReadonlyArray<any>\n ? Record<DropSuffix<H[number]>, {}>\n : { [K in keyof H as DropSuffix<K>]: H[K] };\n\n/** The separator between field names and the modified; we allow `_` for keys in hashes. */\nexport type SuffixSeperator = \":\" | \"_\";\n\nexport type DropSuffix<K> = K extends `${infer key}${SuffixSeperator}ro` ? key : K;\n\nexport const suffixRe = /[:|_]ro$/;\n\nconst normalizedStringHints = new Map<string, object>();\nconst normalizedArrayHints = new WeakMap<readonly string[], object>();\nconst hintKeys = new WeakMap<object, string>();\n\n/** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */\nexport function normalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object {\n if (typeof hint === \"string\") {\n return getOrSetStringHint(hint);\n } else if (Array.isArray(hint)) {\n return getOrSetArrayHint(hint as readonly string[]);\n } else {\n return hint;\n }\n}\n\n/**\n * Returns a JSON key for batching by hint, cached to avoid repeated `JSON.stringify(hint)` calls.\n *\n * Benchmark TLDR, 5m repeated calls: strings are unchanged, array hints were ~8x faster,\n * nested object hints were ~26-38x faster.\n */\nexport function hintKey<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T> | undefined): string {\n if (hint === undefined) return \"\";\n if (typeof hint === \"string\") return hint;\n\n let key = hintKeys.get(hint);\n if (key === undefined) {\n key = JSON.stringify(hint);\n hintKeys.set(hint, key);\n }\n return key;\n}\n\n/** Normalizes a `key | key[] | { key: nested }` hint into `{ key: nested }`. */\nexport function deepNormalizeHint<T extends Entity>(hint: LoadHint<T> | ReactiveHint<T>): object {\n if (typeof hint === \"string\") {\n return { [hint]: {} };\n } else if (Array.isArray(hint)) {\n return Object.fromEntries(hint.map((field) => [field, {}]));\n } else {\n return Object.fromEntries(Object.entries(hint).map(([key, value]) => [key, deepNormalizeHint(value)]));\n }\n}\n\nfunction getOrSetStringHint(hint: string): object {\n let normalized = normalizedStringHints.get(hint);\n if (normalized === undefined) {\n normalized = { [hint]: {} };\n normalizedStringHints.set(hint, normalized);\n }\n return normalized;\n}\n\nfunction getOrSetArrayHint(hint: readonly string[]): object {\n let normalized = normalizedArrayHints.get(hint);\n if (normalized === undefined) {\n normalized = Object.fromEntries(hint.map((field) => [field, {}]));\n normalizedArrayHints.set(hint, normalized);\n }\n return normalized;\n}\n"],"mappings":";;AAgBA,MAAa,WAAW;AAExB,MAAM,wCAAwB,IAAI,IAAoB;AACtD,MAAM,uCAAuB,IAAI,QAAmC;AACpE,MAAM,2BAAW,IAAI,QAAwB;;AAG7C,SAAgB,cAAgC,MAA6C;CAC3F,IAAI,OAAO,SAAS,UAClB,OAAO,mBAAmB,IAAI;MACzB,IAAI,MAAM,QAAQ,IAAI,GAC3B,OAAO,kBAAkB,IAAyB;MAElD,OAAO;AAEX;;;;;;;AAQA,SAAgB,QAA0B,MAAyD;CACjG,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,IAAI,OAAO,SAAS,UAAU,OAAO;CAErC,IAAI,MAAM,SAAS,IAAI,IAAI;CAC3B,IAAI,QAAQ,KAAA,GAAW;EACrB,MAAM,KAAK,UAAU,IAAI;EACzB,SAAS,IAAI,MAAM,GAAG;CACxB;CACA,OAAO;AACT;;AAGA,SAAgB,kBAAoC,MAA6C;CAC/F,IAAI,OAAO,SAAS,UAClB,OAAO,GAAG,OAAO,CAAC,EAAE;MACf,IAAI,MAAM,QAAQ,IAAI,GAC3B,OAAO,OAAO,YAAY,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;MAE1D,OAAO,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,kBAAkB,KAAK,CAAC,CAAC,CAAC;AAEzG;AAEA,SAAS,mBAAmB,MAAsB;CAChD,IAAI,aAAa,sBAAsB,IAAI,IAAI;CAC/C,IAAI,eAAe,KAAA,GAAW;EAC5B,aAAa,GAAG,OAAO,CAAC,EAAE;EAC1B,sBAAsB,IAAI,MAAM,UAAU;CAC5C;CACA,OAAO;AACT;AAEA,SAAS,kBAAkB,MAAiC;CAC1D,IAAI,aAAa,qBAAqB,IAAI,IAAI;CAC9C,IAAI,eAAe,KAAA,GAAW;EAC5B,aAAa,OAAO,YAAY,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAChE,qBAAqB,IAAI,MAAM,UAAU;CAC3C;CACA,OAAO;AACT"}
@@ -0,0 +1,15 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_serde_temporal = require("./serde/temporal.cjs");
3
+ //#region src/nowUTC.ts
4
+ function nowUTC(type) {
5
+ const now = /* @__PURE__ */ new Date();
6
+ if (type === void 0) return now;
7
+ const zonedDateTime = require_serde_temporal.requireTemporal().toTemporalInstant.call(now).toZonedDateTimeISO("UTC");
8
+ if (type === "plainDate") return zonedDateTime.toPlainDate();
9
+ if (type === "plainDateTime") return zonedDateTime.toPlainDateTime();
10
+ return zonedDateTime;
11
+ }
12
+ //#endregion
13
+ exports.nowUTC = nowUTC;
14
+
15
+ //# sourceMappingURL=nowUTC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nowUTC.cjs","names":["requireTemporal"],"sources":["../src/nowUTC.ts"],"sourcesContent":["import { type Temporal, requireTemporal } from \"src/serde/temporal.ts\";\n\n/** Returns the current UTC value in the requested Date or Temporal shape. */\nexport function nowUTC(): Date;\nexport function nowUTC(type: \"plainDate\"): Temporal.PlainDate;\nexport function nowUTC(type: \"plainDateTime\"): Temporal.PlainDateTime;\nexport function nowUTC(type: \"zonedDateTime\"): Temporal.ZonedDateTime;\nexport function nowUTC(\n type?: \"plainDate\" | \"plainDateTime\" | \"zonedDateTime\",\n): Date | Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime {\n const now = new Date();\n if (type === undefined) return now;\n\n const zonedDateTime = requireTemporal().toTemporalInstant.call(now).toZonedDateTimeISO(\"UTC\");\n if (type === \"plainDate\") return zonedDateTime.toPlainDate();\n if (type === \"plainDateTime\") return zonedDateTime.toPlainDateTime();\n return zonedDateTime;\n}\n"],"mappings":";;;AAOA,SAAgB,OACd,MAC6E;CAC7E,MAAM,sBAAM,IAAI,KAAK;CACrB,IAAI,SAAS,KAAA,GAAW,OAAO;CAE/B,MAAM,gBAAgBA,uBAAAA,gBAAgB,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,CAAC,mBAAmB,KAAK;CAC5F,IAAI,SAAS,aAAa,OAAO,cAAc,YAAY;CAC3D,IAAI,SAAS,iBAAiB,OAAO,cAAc,gBAAgB;CACnE,OAAO;AACT"}
@@ -0,0 +1,10 @@
1
+ import { Temporal } from "./serde/temporal.cjs";
2
+ //#region src/nowUTC.d.ts
3
+ /** Returns the current UTC value in the requested Date or Temporal shape. */
4
+ declare function nowUTC(): Date;
5
+ declare function nowUTC(type: "plainDate"): Temporal.PlainDate;
6
+ declare function nowUTC(type: "plainDateTime"): Temporal.PlainDateTime;
7
+ declare function nowUTC(type: "zonedDateTime"): Temporal.ZonedDateTime;
8
+ //#endregion
9
+ export { nowUTC };
10
+ //# sourceMappingURL=nowUTC.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nowUTC.d.cts","names":[],"sources":["../src/nowUTC.ts"],"mappings":";;;iBAGgB,UAAU;iBACV,OAAO,oBAAoB,SAAS;iBACpC,OAAO,wBAAwB,SAAS;iBACxC,OAAO,wBAAwB,SAAS"}
@@ -0,0 +1,10 @@
1
+ import { Temporal } from "./serde/temporal.mjs";
2
+ //#region src/nowUTC.d.ts
3
+ /** Returns the current UTC value in the requested Date or Temporal shape. */
4
+ declare function nowUTC(): Date;
5
+ declare function nowUTC(type: "plainDate"): Temporal.PlainDate;
6
+ declare function nowUTC(type: "plainDateTime"): Temporal.PlainDateTime;
7
+ declare function nowUTC(type: "zonedDateTime"): Temporal.ZonedDateTime;
8
+ //#endregion
9
+ export { nowUTC };
10
+ //# sourceMappingURL=nowUTC.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nowUTC.d.mts","names":[],"sources":["../src/nowUTC.ts"],"mappings":";;;iBAGgB,UAAU;iBACV,OAAO,oBAAoB,SAAS;iBACpC,OAAO,wBAAwB,SAAS;iBACxC,OAAO,wBAAwB,SAAS"}
@@ -0,0 +1,14 @@
1
+ import { requireTemporal } from "./serde/temporal.js";
2
+ //#region src/nowUTC.ts
3
+ function nowUTC(type) {
4
+ const now = /* @__PURE__ */ new Date();
5
+ if (type === void 0) return now;
6
+ const zonedDateTime = requireTemporal().toTemporalInstant.call(now).toZonedDateTimeISO("UTC");
7
+ if (type === "plainDate") return zonedDateTime.toPlainDate();
8
+ if (type === "plainDateTime") return zonedDateTime.toPlainDateTime();
9
+ return zonedDateTime;
10
+ }
11
+ //#endregion
12
+ export { nowUTC };
13
+
14
+ //# sourceMappingURL=nowUTC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nowUTC.js","names":[],"sources":["../src/nowUTC.ts"],"sourcesContent":["import { type Temporal, requireTemporal } from \"src/serde/temporal.ts\";\n\n/** Returns the current UTC value in the requested Date or Temporal shape. */\nexport function nowUTC(): Date;\nexport function nowUTC(type: \"plainDate\"): Temporal.PlainDate;\nexport function nowUTC(type: \"plainDateTime\"): Temporal.PlainDateTime;\nexport function nowUTC(type: \"zonedDateTime\"): Temporal.ZonedDateTime;\nexport function nowUTC(\n type?: \"plainDate\" | \"plainDateTime\" | \"zonedDateTime\",\n): Date | Temporal.PlainDate | Temporal.PlainDateTime | Temporal.ZonedDateTime {\n const now = new Date();\n if (type === undefined) return now;\n\n const zonedDateTime = requireTemporal().toTemporalInstant.call(now).toZonedDateTimeISO(\"UTC\");\n if (type === \"plainDate\") return zonedDateTime.toPlainDate();\n if (type === \"plainDateTime\") return zonedDateTime.toPlainDateTime();\n return zonedDateTime;\n}\n"],"mappings":";;AAOA,SAAgB,OACd,MAC6E;CAC7E,MAAM,sBAAM,IAAI,KAAK;CACrB,IAAI,SAAS,KAAA,GAAW,OAAO;CAE/B,MAAM,gBAAgB,gBAAgB,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,CAAC,mBAAmB,KAAK;CAC5F,IAAI,SAAS,aAAa,OAAO,cAAc,YAAY;CAC3D,IAAI,SAAS,iBAAiB,OAAO,cAAc,gBAAgB;CACnE,OAAO;AACT"}
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_utils = require("../utils.cjs");
3
+ const require_PluginManager = require("../PluginManager.cjs");
4
+ require("../Entity.cjs");
5
+ //#region src/plugins/ImmutableEntitiesPlugin.ts
6
+ var ImmutableEntitiesPlugin = class extends require_PluginManager.Plugin {
7
+ entities = /* @__PURE__ */ new Set();
8
+ beforeSetField(entity, field, newValue) {
9
+ if (this.entities.has(entity)) require_utils.fail(`Cannot set field ${field} on immutable entity ${entity}`);
10
+ }
11
+ addEntity(entity) {
12
+ this.entities.add(entity);
13
+ }
14
+ removeEntity(entity) {
15
+ this.entities.delete(entity);
16
+ }
17
+ };
18
+ //#endregion
19
+ exports.ImmutableEntitiesPlugin = ImmutableEntitiesPlugin;
20
+
21
+ //# sourceMappingURL=ImmutableEntitiesPlugin.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImmutableEntitiesPlugin.cjs","names":["Plugin"],"sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"sourcesContent":["import { type Entity } from \"src/Entity.ts\";\nimport { Plugin } from \"src/PluginManager.ts\";\nimport { fail } from \"src/utils.ts\";\n\nexport class ImmutableEntitiesPlugin extends Plugin {\n readonly entities: Set<Entity> = new Set();\n\n beforeSetField(entity: Entity, field: string, newValue: any): void {\n if (this.entities.has(entity)) {\n fail(`Cannot set field ${field} on immutable entity ${entity}`);\n }\n }\n\n addEntity(entity: Entity) {\n this.entities.add(entity);\n }\n\n removeEntity(entity: Entity) {\n this.entities.delete(entity);\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,0BAAb,cAA6CA,sBAAAA,OAAO;CAClD,2BAAiC,IAAI,IAAI;CAEzC,eAAe,QAAgB,OAAe,UAAqB;EACjE,IAAI,KAAK,SAAS,IAAI,MAAM,GAC1B,cAAA,KAAK,oBAAoB,MAAM,uBAAuB,QAAQ;CAElE;CAEA,UAAU,QAAgB;EACxB,KAAK,SAAS,IAAI,MAAM;CAC1B;CAEA,aAAa,QAAgB;EAC3B,KAAK,SAAS,OAAO,MAAM;CAC7B;AACF"}
@@ -0,0 +1,12 @@
1
+ import { Plugin } from "../PluginManager.cjs";
2
+ import { Entity } from "../Entity.cjs";
3
+ //#region src/plugins/ImmutableEntitiesPlugin.d.ts
4
+ declare class ImmutableEntitiesPlugin extends Plugin {
5
+ readonly entities: Set<Entity>;
6
+ beforeSetField(entity: Entity, field: string, newValue: any): void;
7
+ addEntity(entity: Entity): void;
8
+ removeEntity(entity: Entity): void;
9
+ }
10
+ //#endregion
11
+ export { ImmutableEntitiesPlugin };
12
+ //# sourceMappingURL=ImmutableEntitiesPlugin.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImmutableEntitiesPlugin.d.cts","names":[],"sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"mappings":";;;cAIa,gCAAgC;WAClC,UAAU,IAAI;EAEvB,eAAe,QAAQ,QAAQ,eAAe;EAM9C,UAAU,QAAQ;EAIlB,aAAa,QAAQ"}
@@ -0,0 +1,12 @@
1
+ import { Plugin } from "../PluginManager.mjs";
2
+ import { Entity } from "../Entity.mjs";
3
+ //#region src/plugins/ImmutableEntitiesPlugin.d.ts
4
+ declare class ImmutableEntitiesPlugin extends Plugin {
5
+ readonly entities: Set<Entity>;
6
+ beforeSetField(entity: Entity, field: string, newValue: any): void;
7
+ addEntity(entity: Entity): void;
8
+ removeEntity(entity: Entity): void;
9
+ }
10
+ //#endregion
11
+ export { ImmutableEntitiesPlugin };
12
+ //# sourceMappingURL=ImmutableEntitiesPlugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImmutableEntitiesPlugin.d.mts","names":[],"sources":["../../src/plugins/ImmutableEntitiesPlugin.ts"],"mappings":";;;cAIa,gCAAgC;WAClC,UAAU,IAAI;EAEvB,eAAe,QAAQ,QAAQ,eAAe;EAM9C,UAAU,QAAQ;EAIlB,aAAa,QAAQ"}