joist-core 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1548) hide show
  1. package/build/BaseEntity.cjs +112 -0
  2. package/build/BaseEntity.cjs.map +1 -0
  3. package/build/BaseEntity.d.cts +73 -0
  4. package/build/BaseEntity.d.cts.map +1 -0
  5. package/build/BaseEntity.d.mts +73 -0
  6. package/build/BaseEntity.d.mts.map +1 -0
  7. package/build/BaseEntity.js +99 -110
  8. package/build/BaseEntity.js.map +1 -1
  9. package/build/Entity.cjs +12 -0
  10. package/build/Entity.cjs.map +1 -0
  11. package/build/Entity.d.cts +42 -0
  12. package/build/Entity.d.cts.map +1 -0
  13. package/build/Entity.d.mts +42 -0
  14. package/build/Entity.d.mts.map +1 -0
  15. package/build/Entity.js +8 -5
  16. package/build/Entity.js.map +1 -1
  17. package/build/EntityFields.cjs +1 -0
  18. package/build/EntityFields.d.cts +36 -0
  19. package/build/EntityFields.d.cts.map +1 -0
  20. package/build/EntityFields.d.mts +36 -0
  21. package/build/EntityFields.d.mts.map +1 -0
  22. package/build/EntityFields.js +1 -3
  23. package/build/EntityManager.cjs +1935 -0
  24. package/build/EntityManager.cjs.map +1 -0
  25. package/build/EntityManager.d.cts +835 -0
  26. package/build/EntityManager.d.cts.map +1 -0
  27. package/build/EntityManager.d.mts +835 -0
  28. package/build/EntityManager.d.mts.map +1 -0
  29. package/build/EntityManager.js +1812 -2211
  30. package/build/EntityManager.js.map +1 -1
  31. package/build/EntityMetadata.cjs +75 -0
  32. package/build/EntityMetadata.cjs.map +1 -0
  33. package/build/EntityMetadata.d.cts +262 -0
  34. package/build/EntityMetadata.d.cts.map +1 -0
  35. package/build/EntityMetadata.d.mts +262 -0
  36. package/build/EntityMetadata.d.mts.map +1 -0
  37. package/build/EntityMetadata.js +31 -48
  38. package/build/EntityMetadata.js.map +1 -1
  39. package/build/EnumMetadata.cjs +1 -0
  40. package/build/EnumMetadata.d.cts +18 -0
  41. package/build/EnumMetadata.d.cts.map +1 -0
  42. package/build/EnumMetadata.d.mts +18 -0
  43. package/build/EnumMetadata.d.mts.map +1 -0
  44. package/build/EnumMetadata.js +1 -3
  45. package/build/IndexManager.cjs +176 -0
  46. package/build/IndexManager.cjs.map +1 -0
  47. package/build/IndexManager.d.cts +36 -0
  48. package/build/IndexManager.d.cts.map +1 -0
  49. package/build/IndexManager.d.mts +36 -0
  50. package/build/IndexManager.d.mts.map +1 -0
  51. package/build/IndexManager.js +167 -218
  52. package/build/IndexManager.js.map +1 -1
  53. package/build/InstanceData.cjs +218 -0
  54. package/build/InstanceData.cjs.map +1 -0
  55. package/build/InstanceData.d.cts +98 -0
  56. package/build/InstanceData.d.cts.map +1 -0
  57. package/build/InstanceData.d.mts +98 -0
  58. package/build/InstanceData.d.mts.map +1 -0
  59. package/build/InstanceData.js +215 -222
  60. package/build/InstanceData.js.map +1 -1
  61. package/build/PluginManager.cjs +89 -0
  62. package/build/PluginManager.cjs.map +1 -0
  63. package/build/PluginManager.d.cts +112 -0
  64. package/build/PluginManager.d.cts.map +1 -0
  65. package/build/PluginManager.d.mts +112 -0
  66. package/build/PluginManager.d.mts.map +1 -0
  67. package/build/PluginManager.js +80 -106
  68. package/build/PluginManager.js.map +1 -1
  69. package/build/RowData.cjs +37 -0
  70. package/build/RowData.cjs.map +1 -0
  71. package/build/RowData.d.cts +53 -0
  72. package/build/RowData.d.cts.map +1 -0
  73. package/build/RowData.d.mts +53 -0
  74. package/build/RowData.d.mts.map +1 -0
  75. package/build/RowData.js +35 -0
  76. package/build/RowData.js.map +1 -0
  77. package/build/_virtual/_rolldown/runtime.cjs +23 -0
  78. package/build/batchloaders/BatchLoader.cjs +49 -0
  79. package/build/batchloaders/BatchLoader.cjs.map +1 -0
  80. package/build/batchloaders/BatchLoader.d.cts +17 -0
  81. package/build/batchloaders/BatchLoader.d.cts.map +1 -0
  82. package/build/batchloaders/BatchLoader.d.mts +17 -0
  83. package/build/batchloaders/BatchLoader.d.mts.map +1 -0
  84. package/build/batchloaders/BatchLoader.js +45 -54
  85. package/build/batchloaders/BatchLoader.js.map +1 -1
  86. package/build/batchloaders/enumCollectionBatchLoader.cjs +66 -0
  87. package/build/batchloaders/enumCollectionBatchLoader.cjs.map +1 -0
  88. package/build/batchloaders/enumCollectionBatchLoader.d.cts +11 -0
  89. package/build/batchloaders/enumCollectionBatchLoader.d.cts.map +1 -0
  90. package/build/batchloaders/enumCollectionBatchLoader.d.mts +11 -0
  91. package/build/batchloaders/enumCollectionBatchLoader.d.mts.map +1 -0
  92. package/build/batchloaders/enumCollectionBatchLoader.js +58 -48
  93. package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -1
  94. package/build/batchloaders/loadBatchLoader.cjs +78 -0
  95. package/build/batchloaders/loadBatchLoader.cjs.map +1 -0
  96. package/build/batchloaders/loadBatchLoader.d.cts +20 -0
  97. package/build/batchloaders/loadBatchLoader.d.cts.map +1 -0
  98. package/build/batchloaders/loadBatchLoader.d.mts +20 -0
  99. package/build/batchloaders/loadBatchLoader.d.mts.map +1 -0
  100. package/build/batchloaders/loadBatchLoader.js +72 -51
  101. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  102. package/build/batchloaders/manyToManyBatchLoader.cjs +78 -0
  103. package/build/batchloaders/manyToManyBatchLoader.cjs.map +1 -0
  104. package/build/batchloaders/manyToManyBatchLoader.d.cts +11 -0
  105. package/build/batchloaders/manyToManyBatchLoader.d.cts.map +1 -0
  106. package/build/batchloaders/manyToManyBatchLoader.d.mts +11 -0
  107. package/build/batchloaders/manyToManyBatchLoader.d.mts.map +1 -0
  108. package/build/batchloaders/manyToManyBatchLoader.js +70 -61
  109. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  110. package/build/batchloaders/oneToManyBatchLoader.cjs +63 -0
  111. package/build/batchloaders/oneToManyBatchLoader.cjs.map +1 -0
  112. package/build/batchloaders/oneToManyBatchLoader.d.cts +11 -0
  113. package/build/batchloaders/oneToManyBatchLoader.d.cts.map +1 -0
  114. package/build/batchloaders/oneToManyBatchLoader.d.mts +11 -0
  115. package/build/batchloaders/oneToManyBatchLoader.d.mts.map +1 -0
  116. package/build/batchloaders/oneToManyBatchLoader.js +58 -48
  117. package/build/batchloaders/oneToManyBatchLoader.js.map +1 -1
  118. package/build/batchloaders/oneToOneBatchLoader.cjs +64 -0
  119. package/build/batchloaders/oneToOneBatchLoader.cjs.map +1 -0
  120. package/build/batchloaders/oneToOneBatchLoader.d.cts +10 -0
  121. package/build/batchloaders/oneToOneBatchLoader.d.cts.map +1 -0
  122. package/build/batchloaders/oneToOneBatchLoader.d.mts +10 -0
  123. package/build/batchloaders/oneToOneBatchLoader.d.mts.map +1 -0
  124. package/build/batchloaders/oneToOneBatchLoader.js +59 -50
  125. package/build/batchloaders/oneToOneBatchLoader.js.map +1 -1
  126. package/build/batchloaders/populateBatchLoader.cjs +155 -0
  127. package/build/batchloaders/populateBatchLoader.cjs.map +1 -0
  128. package/build/batchloaders/populateBatchLoader.d.cts +17 -0
  129. package/build/batchloaders/populateBatchLoader.d.cts.map +1 -0
  130. package/build/batchloaders/populateBatchLoader.d.mts +17 -0
  131. package/build/batchloaders/populateBatchLoader.d.mts.map +1 -0
  132. package/build/batchloaders/populateBatchLoader.js +147 -203
  133. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  134. package/build/batchloaders/recursiveChildrenBatchLoader.cjs +78 -0
  135. package/build/batchloaders/recursiveChildrenBatchLoader.cjs.map +1 -0
  136. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts +10 -0
  137. package/build/batchloaders/recursiveChildrenBatchLoader.d.cts.map +1 -0
  138. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts +10 -0
  139. package/build/batchloaders/recursiveChildrenBatchLoader.d.mts.map +1 -0
  140. package/build/batchloaders/recursiveChildrenBatchLoader.js +71 -72
  141. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  142. package/build/batchloaders/recursiveM2mBatchLoader.cjs +83 -0
  143. package/build/batchloaders/recursiveM2mBatchLoader.cjs.map +1 -0
  144. package/build/batchloaders/recursiveM2mBatchLoader.d.cts +10 -0
  145. package/build/batchloaders/recursiveM2mBatchLoader.d.cts.map +1 -0
  146. package/build/batchloaders/recursiveM2mBatchLoader.d.mts +10 -0
  147. package/build/batchloaders/recursiveM2mBatchLoader.d.mts.map +1 -0
  148. package/build/batchloaders/recursiveM2mBatchLoader.js +76 -79
  149. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  150. package/build/batchloaders/recursiveParentsBatchLoader.cjs +65 -0
  151. package/build/batchloaders/recursiveParentsBatchLoader.cjs.map +1 -0
  152. package/build/batchloaders/recursiveParentsBatchLoader.d.cts +10 -0
  153. package/build/batchloaders/recursiveParentsBatchLoader.d.cts.map +1 -0
  154. package/build/batchloaders/recursiveParentsBatchLoader.d.mts +10 -0
  155. package/build/batchloaders/recursiveParentsBatchLoader.d.mts.map +1 -0
  156. package/build/batchloaders/recursiveParentsBatchLoader.js +58 -55
  157. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  158. package/build/changes.cjs +221 -0
  159. package/build/changes.cjs.map +1 -0
  160. package/build/changes.d.cts +95 -0
  161. package/build/changes.d.cts.map +1 -0
  162. package/build/changes.d.mts +95 -0
  163. package/build/changes.d.mts.map +1 -0
  164. package/build/changes.js +208 -285
  165. package/build/changes.js.map +1 -1
  166. package/build/config.cjs +295 -0
  167. package/build/config.cjs.map +1 -0
  168. package/build/config.d.cts +277 -0
  169. package/build/config.d.cts.map +1 -0
  170. package/build/config.d.mts +277 -0
  171. package/build/config.d.mts.map +1 -0
  172. package/build/config.js +255 -301
  173. package/build/config.js.map +1 -1
  174. package/build/configure.cjs +324 -0
  175. package/build/configure.cjs.map +1 -0
  176. package/build/configure.d.cts +19 -0
  177. package/build/configure.d.cts.map +1 -0
  178. package/build/configure.d.mts +19 -0
  179. package/build/configure.d.mts.map +1 -0
  180. package/build/configure.js +265 -348
  181. package/build/configure.js.map +1 -1
  182. package/build/dataloaders/fastWhereFilterHash.cjs +140 -0
  183. package/build/dataloaders/fastWhereFilterHash.cjs.map +1 -0
  184. package/build/dataloaders/fastWhereFilterHash.d.cts +18 -0
  185. package/build/dataloaders/fastWhereFilterHash.d.cts.map +1 -0
  186. package/build/dataloaders/fastWhereFilterHash.d.mts +18 -0
  187. package/build/dataloaders/fastWhereFilterHash.d.mts.map +1 -0
  188. package/build/dataloaders/fastWhereFilterHash.js +108 -133
  189. package/build/dataloaders/fastWhereFilterHash.js.map +1 -1
  190. package/build/dataloaders/findByUniqueDataLoader.cjs +58 -0
  191. package/build/dataloaders/findByUniqueDataLoader.cjs.map +1 -0
  192. package/build/dataloaders/findByUniqueDataLoader.d.cts +10 -0
  193. package/build/dataloaders/findByUniqueDataLoader.d.cts.map +1 -0
  194. package/build/dataloaders/findByUniqueDataLoader.d.mts +10 -0
  195. package/build/dataloaders/findByUniqueDataLoader.d.mts.map +1 -0
  196. package/build/dataloaders/findByUniqueDataLoader.js +53 -44
  197. package/build/dataloaders/findByUniqueDataLoader.js.map +1 -1
  198. package/build/dataloaders/findCountDataLoader.cjs +123 -0
  199. package/build/dataloaders/findCountDataLoader.cjs.map +1 -0
  200. package/build/dataloaders/findCountDataLoader.d.cts +19 -0
  201. package/build/dataloaders/findCountDataLoader.d.cts.map +1 -0
  202. package/build/dataloaders/findCountDataLoader.d.mts +19 -0
  203. package/build/dataloaders/findCountDataLoader.d.mts.map +1 -0
  204. package/build/dataloaders/findCountDataLoader.js +112 -109
  205. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  206. package/build/dataloaders/findDataLoader.cjs +365 -0
  207. package/build/dataloaders/findDataLoader.cjs.map +1 -0
  208. package/build/dataloaders/findDataLoader.d.cts +79 -0
  209. package/build/dataloaders/findDataLoader.d.cts.map +1 -0
  210. package/build/dataloaders/findDataLoader.d.mts +79 -0
  211. package/build/dataloaders/findDataLoader.d.mts.map +1 -0
  212. package/build/dataloaders/findDataLoader.js +298 -382
  213. package/build/dataloaders/findDataLoader.js.map +1 -1
  214. package/build/dataloaders/findIdsDataLoader.cjs +82 -0
  215. package/build/dataloaders/findIdsDataLoader.cjs.map +1 -0
  216. package/build/dataloaders/findIdsDataLoader.d.cts +9 -0
  217. package/build/dataloaders/findIdsDataLoader.d.cts.map +1 -0
  218. package/build/dataloaders/findIdsDataLoader.d.mts +9 -0
  219. package/build/dataloaders/findIdsDataLoader.d.mts.map +1 -0
  220. package/build/dataloaders/findIdsDataLoader.js +77 -74
  221. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  222. package/build/dataloaders/findOrCreateDataLoader.cjs +120 -0
  223. package/build/dataloaders/findOrCreateDataLoader.cjs.map +1 -0
  224. package/build/dataloaders/findOrCreateDataLoader.d.cts +15 -0
  225. package/build/dataloaders/findOrCreateDataLoader.d.cts.map +1 -0
  226. package/build/dataloaders/findOrCreateDataLoader.d.mts +15 -0
  227. package/build/dataloaders/findOrCreateDataLoader.d.mts.map +1 -0
  228. package/build/dataloaders/findOrCreateDataLoader.js +102 -164
  229. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  230. package/build/dataloaders/findPaginatedDataLoader.cjs +98 -0
  231. package/build/dataloaders/findPaginatedDataLoader.cjs.map +1 -0
  232. package/build/dataloaders/findPaginatedDataLoader.d.cts +10 -0
  233. package/build/dataloaders/findPaginatedDataLoader.d.cts.map +1 -0
  234. package/build/dataloaders/findPaginatedDataLoader.d.mts +10 -0
  235. package/build/dataloaders/findPaginatedDataLoader.d.mts.map +1 -0
  236. package/build/dataloaders/findPaginatedDataLoader.js +93 -80
  237. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -1
  238. package/build/dataloaders/lensDataLoader.cjs +178 -0
  239. package/build/dataloaders/lensDataLoader.cjs.map +1 -0
  240. package/build/dataloaders/lensDataLoader.d.cts +15 -0
  241. package/build/dataloaders/lensDataLoader.d.cts.map +1 -0
  242. package/build/dataloaders/lensDataLoader.d.mts +15 -0
  243. package/build/dataloaders/lensDataLoader.d.mts.map +1 -0
  244. package/build/dataloaders/lensDataLoader.js +172 -176
  245. package/build/dataloaders/lensDataLoader.js.map +1 -1
  246. package/build/dataloaders/manyToManyFindDataLoader.cjs +84 -0
  247. package/build/dataloaders/manyToManyFindDataLoader.cjs.map +1 -0
  248. package/build/dataloaders/manyToManyFindDataLoader.d.cts +12 -0
  249. package/build/dataloaders/manyToManyFindDataLoader.d.cts.map +1 -0
  250. package/build/dataloaders/manyToManyFindDataLoader.d.mts +12 -0
  251. package/build/dataloaders/manyToManyFindDataLoader.d.mts.map +1 -0
  252. package/build/dataloaders/manyToManyFindDataLoader.js +76 -70
  253. package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
  254. package/build/dataloaders/oneToManyFindDataLoader.cjs +77 -0
  255. package/build/dataloaders/oneToManyFindDataLoader.cjs.map +1 -0
  256. package/build/dataloaders/oneToManyFindDataLoader.d.cts +12 -0
  257. package/build/dataloaders/oneToManyFindDataLoader.d.cts.map +1 -0
  258. package/build/dataloaders/oneToManyFindDataLoader.d.mts +12 -0
  259. package/build/dataloaders/oneToManyFindDataLoader.d.mts.map +1 -0
  260. package/build/dataloaders/oneToManyFindDataLoader.js +71 -67
  261. package/build/dataloaders/oneToManyFindDataLoader.js.map +1 -1
  262. package/build/defaults.cjs +195 -0
  263. package/build/defaults.cjs.map +1 -0
  264. package/build/defaults.d.cts +56 -0
  265. package/build/defaults.d.cts.map +1 -0
  266. package/build/defaults.d.mts +56 -0
  267. package/build/defaults.d.mts.map +1 -0
  268. package/build/defaults.js +171 -271
  269. package/build/defaults.js.map +1 -1
  270. package/build/drivers/Driver.cjs +3 -0
  271. package/build/drivers/Driver.d.cts +51 -0
  272. package/build/drivers/Driver.d.cts.map +1 -0
  273. package/build/drivers/Driver.d.mts +51 -0
  274. package/build/drivers/Driver.d.mts.map +1 -0
  275. package/build/drivers/Driver.js +3 -3
  276. package/build/drivers/EntityWriter.cjs +208 -0
  277. package/build/drivers/EntityWriter.cjs.map +1 -0
  278. package/build/drivers/EntityWriter.d.cts +66 -0
  279. package/build/drivers/EntityWriter.d.cts.map +1 -0
  280. package/build/drivers/EntityWriter.d.mts +66 -0
  281. package/build/drivers/EntityWriter.d.mts.map +1 -0
  282. package/build/drivers/EntityWriter.js +183 -219
  283. package/build/drivers/EntityWriter.js.map +1 -1
  284. package/build/drivers/IdAssigner.cjs +89 -0
  285. package/build/drivers/IdAssigner.cjs.map +1 -0
  286. package/build/drivers/IdAssigner.d.cts +50 -0
  287. package/build/drivers/IdAssigner.d.cts.map +1 -0
  288. package/build/drivers/IdAssigner.d.mts +50 -0
  289. package/build/drivers/IdAssigner.d.mts.map +1 -0
  290. package/build/drivers/IdAssigner.js +80 -124
  291. package/build/drivers/IdAssigner.js.map +1 -1
  292. package/build/drivers/driverApi.cjs +19 -0
  293. package/build/drivers/driverApi.cjs.map +1 -0
  294. package/build/drivers/driverApi.d.cts +22 -0
  295. package/build/drivers/driverApi.d.cts.map +1 -0
  296. package/build/drivers/driverApi.d.mts +22 -0
  297. package/build/drivers/driverApi.d.mts.map +1 -0
  298. package/build/drivers/driverApi.js +18 -0
  299. package/build/drivers/driverApi.js.map +1 -0
  300. package/build/drivers/index.cjs +7 -0
  301. package/build/drivers/index.d.cts +4 -0
  302. package/build/drivers/index.d.mts +4 -0
  303. package/build/drivers/index.js +3 -22
  304. package/build/fields.cjs +127 -0
  305. package/build/fields.cjs.map +1 -0
  306. package/build/fields.d.cts +29 -0
  307. package/build/fields.d.cts.map +1 -0
  308. package/build/fields.d.mts +29 -0
  309. package/build/fields.d.mts.map +1 -0
  310. package/build/fields.js +98 -160
  311. package/build/fields.js.map +1 -1
  312. package/build/flush/FlushLock.cjs +51 -0
  313. package/build/flush/FlushLock.cjs.map +1 -0
  314. package/build/flush/FlushLock.d.cts +29 -0
  315. package/build/flush/FlushLock.d.cts.map +1 -0
  316. package/build/flush/FlushLock.d.mts +29 -0
  317. package/build/flush/FlushLock.d.mts.map +1 -0
  318. package/build/flush/FlushLock.js +51 -0
  319. package/build/flush/FlushLock.js.map +1 -0
  320. package/build/flush/JoinRows.cjs +263 -0
  321. package/build/flush/JoinRows.cjs.map +1 -0
  322. package/build/flush/JoinRows.d.cts +120 -0
  323. package/build/flush/JoinRows.d.cts.map +1 -0
  324. package/build/flush/JoinRows.d.mts +120 -0
  325. package/build/flush/JoinRows.d.mts.map +1 -0
  326. package/build/flush/JoinRows.js +261 -0
  327. package/build/flush/JoinRows.js.map +1 -0
  328. package/build/flush/PendingChanges.cjs +1 -0
  329. package/build/flush/PendingChanges.d.cts +29 -0
  330. package/build/flush/PendingChanges.d.cts.map +1 -0
  331. package/build/flush/PendingChanges.d.mts +29 -0
  332. package/build/flush/PendingChanges.d.mts.map +1 -0
  333. package/build/flush/PendingChanges.js +1 -0
  334. package/build/flush/Todo.cjs +71 -0
  335. package/build/flush/Todo.cjs.map +1 -0
  336. package/build/flush/Todo.d.cts +38 -0
  337. package/build/flush/Todo.d.cts.map +1 -0
  338. package/build/flush/Todo.d.mts +38 -0
  339. package/build/flush/Todo.d.mts.map +1 -0
  340. package/build/flush/Todo.js +67 -0
  341. package/build/flush/Todo.js.map +1 -0
  342. package/build/getProperties.cjs +87 -0
  343. package/build/getProperties.cjs.map +1 -0
  344. package/build/getProperties.d.cts +30 -0
  345. package/build/getProperties.d.cts.map +1 -0
  346. package/build/getProperties.d.mts +30 -0
  347. package/build/getProperties.d.mts.map +1 -0
  348. package/build/getProperties.js +71 -128
  349. package/build/getProperties.js.map +1 -1
  350. package/build/index.cjs +524 -0
  351. package/build/index.cjs.map +1 -0
  352. package/build/index.d.cts +180 -0
  353. package/build/index.d.cts.map +1 -0
  354. package/build/index.d.mts +180 -0
  355. package/build/index.d.mts.map +1 -0
  356. package/build/index.js +171 -292
  357. package/build/index.js.map +1 -1
  358. package/build/json.cjs +79 -0
  359. package/build/json.cjs.map +1 -0
  360. package/build/json.d.cts +76 -0
  361. package/build/json.d.cts.map +1 -0
  362. package/build/json.d.mts +76 -0
  363. package/build/json.d.mts.map +1 -0
  364. package/build/json.js +68 -106
  365. package/build/json.js.map +1 -1
  366. package/build/k.cjs +9 -0
  367. package/build/k.cjs.map +1 -0
  368. package/build/k.d.cts +1 -0
  369. package/build/k.d.mts +1 -0
  370. package/build/k.js +6 -6
  371. package/build/k.js.map +1 -1
  372. package/build/keys.cjs +181 -0
  373. package/build/keys.cjs.map +1 -0
  374. package/build/keys.d.cts +55 -0
  375. package/build/keys.d.cts.map +1 -0
  376. package/build/keys.d.mts +55 -0
  377. package/build/keys.d.mts.map +1 -0
  378. package/build/keys.js +129 -162
  379. package/build/keys.js.map +1 -1
  380. package/build/loading/HintTree.cjs +67 -0
  381. package/build/loading/HintTree.cjs.map +1 -0
  382. package/build/loading/HintTree.d.cts +45 -0
  383. package/build/loading/HintTree.d.cts.map +1 -0
  384. package/build/loading/HintTree.d.mts +45 -0
  385. package/build/loading/HintTree.d.mts.map +1 -0
  386. package/build/loading/HintTree.js +66 -0
  387. package/build/loading/HintTree.js.map +1 -0
  388. package/build/loading/IsLoadedCache.cjs +58 -0
  389. package/build/loading/IsLoadedCache.cjs.map +1 -0
  390. package/build/loading/IsLoadedCache.d.cts +35 -0
  391. package/build/loading/IsLoadedCache.d.cts.map +1 -0
  392. package/build/loading/IsLoadedCache.d.mts +35 -0
  393. package/build/loading/IsLoadedCache.d.mts.map +1 -0
  394. package/build/loading/IsLoadedCache.js +57 -0
  395. package/build/loading/IsLoadedCache.js.map +1 -0
  396. package/build/loading/loadHints.cjs +95 -0
  397. package/build/loading/loadHints.cjs.map +1 -0
  398. package/build/loading/loadHints.d.cts +116 -0
  399. package/build/loading/loadHints.d.cts.map +1 -0
  400. package/build/loading/loadHints.d.mts +116 -0
  401. package/build/loading/loadHints.d.mts.map +1 -0
  402. package/build/loading/loadHints.js +88 -0
  403. package/build/loading/loadHints.js.map +1 -0
  404. package/build/loading/loadLens.cjs +212 -0
  405. package/build/loading/loadLens.cjs.map +1 -0
  406. package/build/loading/loadLens.d.cts +77 -0
  407. package/build/loading/loadLens.d.cts.map +1 -0
  408. package/build/loading/loadLens.d.mts +77 -0
  409. package/build/loading/loadLens.d.mts.map +1 -0
  410. package/build/loading/loadLens.js +201 -0
  411. package/build/loading/loadLens.js.map +1 -0
  412. package/build/loading/withLoaded.cjs +64 -0
  413. package/build/loading/withLoaded.cjs.map +1 -0
  414. package/build/loading/withLoaded.d.cts +65 -0
  415. package/build/loading/withLoaded.d.cts.map +1 -0
  416. package/build/loading/withLoaded.d.mts +65 -0
  417. package/build/loading/withLoaded.d.mts.map +1 -0
  418. package/build/loading/withLoaded.js +61 -0
  419. package/build/loading/withLoaded.js.map +1 -0
  420. package/build/logging/FactoryLogger.cjs +66 -0
  421. package/build/logging/FactoryLogger.cjs.map +1 -0
  422. package/build/logging/FactoryLogger.d.cts +27 -0
  423. package/build/logging/FactoryLogger.d.cts.map +1 -0
  424. package/build/logging/FactoryLogger.d.mts +27 -0
  425. package/build/logging/FactoryLogger.d.mts.map +1 -0
  426. package/build/logging/FactoryLogger.js +58 -73
  427. package/build/logging/FactoryLogger.js.map +1 -1
  428. package/build/logging/FieldLogger.cjs +57 -0
  429. package/build/logging/FieldLogger.cjs.map +1 -0
  430. package/build/logging/FieldLogger.d.cts +32 -0
  431. package/build/logging/FieldLogger.d.cts.map +1 -0
  432. package/build/logging/FieldLogger.d.mts +32 -0
  433. package/build/logging/FieldLogger.d.mts.map +1 -0
  434. package/build/logging/FieldLogger.js +51 -67
  435. package/build/logging/FieldLogger.js.map +1 -1
  436. package/build/logging/ReactionLogger.cjs +93 -0
  437. package/build/logging/ReactionLogger.cjs.map +1 -0
  438. package/build/logging/ReactionLogger.d.cts +37 -0
  439. package/build/logging/ReactionLogger.d.cts.map +1 -0
  440. package/build/logging/ReactionLogger.d.mts +37 -0
  441. package/build/logging/ReactionLogger.d.mts.map +1 -0
  442. package/build/logging/ReactionLogger.js +76 -66
  443. package/build/logging/ReactionLogger.js.map +1 -1
  444. package/build/newEntity.cjs +89 -0
  445. package/build/newEntity.cjs.map +1 -0
  446. package/build/newEntity.d.cts +48 -0
  447. package/build/newEntity.d.cts.map +1 -0
  448. package/build/newEntity.d.mts +48 -0
  449. package/build/newEntity.d.mts.map +1 -0
  450. package/build/newEntity.js +71 -94
  451. package/build/newEntity.js.map +1 -1
  452. package/build/newTestInstance.cjs +539 -0
  453. package/build/newTestInstance.cjs.map +1 -0
  454. package/build/newTestInstance.d.cts +207 -0
  455. package/build/newTestInstance.d.cts.map +1 -0
  456. package/build/newTestInstance.d.mts +207 -0
  457. package/build/newTestInstance.d.mts.map +1 -0
  458. package/build/newTestInstance.js +459 -721
  459. package/build/newTestInstance.js.map +1 -1
  460. package/build/normalizeHints.cjs +58 -0
  461. package/build/normalizeHints.cjs.map +1 -0
  462. package/build/normalizeHints.d.cts +24 -0
  463. package/build/normalizeHints.d.cts.map +1 -0
  464. package/build/normalizeHints.d.mts +24 -0
  465. package/build/normalizeHints.d.mts.map +1 -0
  466. package/build/normalizeHints.js +40 -55
  467. package/build/normalizeHints.js.map +1 -1
  468. package/build/nowUTC.cjs +15 -0
  469. package/build/nowUTC.cjs.map +1 -0
  470. package/build/nowUTC.d.cts +10 -0
  471. package/build/nowUTC.d.cts.map +1 -0
  472. package/build/nowUTC.d.mts +10 -0
  473. package/build/nowUTC.d.mts.map +1 -0
  474. package/build/nowUTC.js +14 -0
  475. package/build/nowUTC.js.map +1 -0
  476. package/build/plugins/ImmutableEntitiesPlugin.cjs +21 -0
  477. package/build/plugins/ImmutableEntitiesPlugin.cjs.map +1 -0
  478. package/build/plugins/ImmutableEntitiesPlugin.d.cts +12 -0
  479. package/build/plugins/ImmutableEntitiesPlugin.d.cts.map +1 -0
  480. package/build/plugins/ImmutableEntitiesPlugin.d.mts +12 -0
  481. package/build/plugins/ImmutableEntitiesPlugin.d.mts.map +1 -0
  482. package/build/plugins/ImmutableEntitiesPlugin.js +19 -20
  483. package/build/plugins/ImmutableEntitiesPlugin.js.map +1 -1
  484. package/build/plugins/PreloadPlugin.cjs +3 -0
  485. package/build/plugins/PreloadPlugin.d.cts +77 -0
  486. package/build/plugins/PreloadPlugin.d.cts.map +1 -0
  487. package/build/plugins/PreloadPlugin.d.mts +77 -0
  488. package/build/plugins/PreloadPlugin.d.mts.map +1 -0
  489. package/build/plugins/PreloadPlugin.js +3 -3
  490. package/build/preloading/JsonAggregatePreloader.cjs +280 -0
  491. package/build/preloading/JsonAggregatePreloader.cjs.map +1 -0
  492. package/build/preloading/JsonAggregatePreloader.d.cts +19 -0
  493. package/build/preloading/JsonAggregatePreloader.d.cts.map +1 -0
  494. package/build/preloading/JsonAggregatePreloader.d.mts +19 -0
  495. package/build/preloading/JsonAggregatePreloader.d.mts.map +1 -0
  496. package/build/preloading/JsonAggregatePreloader.js +270 -320
  497. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  498. package/build/preloading/canPreload.cjs +19 -0
  499. package/build/preloading/canPreload.cjs.map +1 -0
  500. package/build/preloading/canPreload.d.cts +6 -0
  501. package/build/preloading/canPreload.d.cts.map +1 -0
  502. package/build/preloading/canPreload.d.mts +6 -0
  503. package/build/preloading/canPreload.d.mts.map +1 -0
  504. package/build/preloading/canPreload.js +15 -21
  505. package/build/preloading/canPreload.js.map +1 -1
  506. package/build/preloading/partitionHint.cjs +43 -0
  507. package/build/preloading/partitionHint.cjs.map +1 -0
  508. package/build/preloading/partitionHint.d.cts +8 -0
  509. package/build/preloading/partitionHint.d.cts.map +1 -0
  510. package/build/preloading/partitionHint.d.mts +8 -0
  511. package/build/preloading/partitionHint.d.mts.map +1 -0
  512. package/build/preloading/partitionHint.js +36 -56
  513. package/build/preloading/partitionHint.js.map +1 -1
  514. package/build/queries/ConditionBuilder.cjs +106 -0
  515. package/build/queries/ConditionBuilder.cjs.map +1 -0
  516. package/build/queries/ConditionBuilder.d.cts +31 -0
  517. package/build/queries/ConditionBuilder.d.cts.map +1 -0
  518. package/build/queries/ConditionBuilder.d.mts +31 -0
  519. package/build/queries/ConditionBuilder.d.mts.map +1 -0
  520. package/build/queries/ConditionBuilder.js +105 -0
  521. package/build/queries/ConditionBuilder.js.map +1 -0
  522. package/build/queries/conditions.cjs +15 -0
  523. package/build/queries/conditions.cjs.map +1 -0
  524. package/build/queries/conditions.d.cts +38 -0
  525. package/build/queries/conditions.d.cts.map +1 -0
  526. package/build/queries/conditions.d.mts +38 -0
  527. package/build/queries/conditions.d.mts.map +1 -0
  528. package/build/queries/conditions.js +13 -0
  529. package/build/queries/conditions.js.map +1 -0
  530. package/build/queries/entityQueryUtils.cjs +60 -0
  531. package/build/queries/entityQueryUtils.cjs.map +1 -0
  532. package/build/queries/entityQueryUtils.d.cts +19 -0
  533. package/build/queries/entityQueryUtils.d.cts.map +1 -0
  534. package/build/queries/entityQueryUtils.d.mts +19 -0
  535. package/build/queries/entityQueryUtils.d.mts.map +1 -0
  536. package/build/queries/entityQueryUtils.js +56 -0
  537. package/build/queries/entityQueryUtils.js.map +1 -0
  538. package/build/queries/find/Aliases.cjs +301 -0
  539. package/build/queries/find/Aliases.cjs.map +1 -0
  540. package/build/queries/find/Aliases.d.cts +122 -0
  541. package/build/queries/find/Aliases.d.cts.map +1 -0
  542. package/build/queries/find/Aliases.d.mts +122 -0
  543. package/build/queries/find/Aliases.d.mts.map +1 -0
  544. package/build/queries/find/Aliases.js +293 -0
  545. package/build/queries/find/Aliases.js.map +1 -0
  546. package/build/queries/find/DeferredAlias.cjs +25 -0
  547. package/build/queries/find/DeferredAlias.cjs.map +1 -0
  548. package/build/queries/find/DeferredAlias.d.cts +22 -0
  549. package/build/queries/find/DeferredAlias.d.cts.map +1 -0
  550. package/build/queries/find/DeferredAlias.d.mts +22 -0
  551. package/build/queries/find/DeferredAlias.d.mts.map +1 -0
  552. package/build/queries/find/DeferredAlias.js +22 -0
  553. package/build/queries/find/DeferredAlias.js.map +1 -0
  554. package/build/queries/find/EntityFilter.cjs +27 -0
  555. package/build/queries/find/EntityFilter.cjs.map +1 -0
  556. package/build/queries/find/EntityFilter.d.cts +127 -0
  557. package/build/queries/find/EntityFilter.d.cts.map +1 -0
  558. package/build/queries/find/EntityFilter.d.mts +127 -0
  559. package/build/queries/find/EntityFilter.d.mts.map +1 -0
  560. package/build/queries/find/EntityFilter.js +26 -0
  561. package/build/queries/find/EntityFilter.js.map +1 -0
  562. package/build/queries/find/EntityGraphQLFilter.cjs +52 -0
  563. package/build/queries/find/EntityGraphQLFilter.cjs.map +1 -0
  564. package/build/queries/find/EntityGraphQLFilter.d.cts +59 -0
  565. package/build/queries/find/EntityGraphQLFilter.d.cts.map +1 -0
  566. package/build/queries/find/EntityGraphQLFilter.d.mts +59 -0
  567. package/build/queries/find/EntityGraphQLFilter.d.mts.map +1 -0
  568. package/build/queries/find/EntityGraphQLFilter.js +50 -0
  569. package/build/queries/find/EntityGraphQLFilter.js.map +1 -0
  570. package/build/queries/find/QueryParser.cjs +553 -0
  571. package/build/queries/find/QueryParser.cjs.map +1 -0
  572. package/build/queries/find/QueryParser.collectionJoins.cjs +353 -0
  573. package/build/queries/find/QueryParser.collectionJoins.cjs.map +1 -0
  574. package/build/queries/find/QueryParser.collectionJoins.d.cts +30 -0
  575. package/build/queries/find/QueryParser.collectionJoins.d.cts.map +1 -0
  576. package/build/queries/find/QueryParser.collectionJoins.d.mts +30 -0
  577. package/build/queries/find/QueryParser.collectionJoins.d.mts.map +1 -0
  578. package/build/queries/find/QueryParser.collectionJoins.js +352 -0
  579. package/build/queries/find/QueryParser.collectionJoins.js.map +1 -0
  580. package/build/queries/find/QueryParser.d.cts +192 -0
  581. package/build/queries/find/QueryParser.d.cts.map +1 -0
  582. package/build/queries/find/QueryParser.d.mts +192 -0
  583. package/build/queries/find/QueryParser.d.mts.map +1 -0
  584. package/build/queries/find/QueryParser.js +546 -0
  585. package/build/queries/find/QueryParser.js.map +1 -0
  586. package/build/queries/find/QueryParser.pruning.cjs +115 -0
  587. package/build/queries/find/QueryParser.pruning.cjs.map +1 -0
  588. package/build/queries/find/QueryParser.pruning.d.cts +8 -0
  589. package/build/queries/find/QueryParser.pruning.d.cts.map +1 -0
  590. package/build/queries/find/QueryParser.pruning.d.mts +8 -0
  591. package/build/queries/find/QueryParser.pruning.d.mts.map +1 -0
  592. package/build/queries/find/QueryParser.pruning.js +113 -0
  593. package/build/queries/find/QueryParser.pruning.js.map +1 -0
  594. package/build/queries/find/QueryVisitor.cjs +77 -0
  595. package/build/queries/find/QueryVisitor.cjs.map +1 -0
  596. package/build/queries/find/QueryVisitor.d.cts +24 -0
  597. package/build/queries/find/QueryVisitor.d.cts.map +1 -0
  598. package/build/queries/find/QueryVisitor.d.mts +24 -0
  599. package/build/queries/find/QueryVisitor.d.mts.map +1 -0
  600. package/build/queries/find/QueryVisitor.js +74 -0
  601. package/build/queries/find/QueryVisitor.js.map +1 -0
  602. package/build/queries/find/buildFindQuery.cjs +112 -0
  603. package/build/queries/find/buildFindQuery.cjs.map +1 -0
  604. package/build/queries/find/buildFindQuery.d.cts +24 -0
  605. package/build/queries/find/buildFindQuery.d.cts.map +1 -0
  606. package/build/queries/find/buildFindQuery.d.mts +24 -0
  607. package/build/queries/find/buildFindQuery.d.mts.map +1 -0
  608. package/build/queries/find/buildFindQuery.js +110 -0
  609. package/build/queries/find/buildFindQuery.js.map +1 -0
  610. package/build/queries/find/scopes.cjs +301 -0
  611. package/build/queries/find/scopes.cjs.map +1 -0
  612. package/build/queries/find/scopes.d.cts +188 -0
  613. package/build/queries/find/scopes.d.cts.map +1 -0
  614. package/build/queries/find/scopes.d.mts +188 -0
  615. package/build/queries/find/scopes.d.mts.map +1 -0
  616. package/build/queries/find/scopes.js +296 -0
  617. package/build/queries/find/scopes.js.map +1 -0
  618. package/build/queries/parsedConditions.cjs +21 -0
  619. package/build/queries/parsedConditions.cjs.map +1 -0
  620. package/build/queries/parsedConditions.d.cts +127 -0
  621. package/build/queries/parsedConditions.d.cts.map +1 -0
  622. package/build/queries/parsedConditions.d.mts +127 -0
  623. package/build/queries/parsedConditions.d.mts.map +1 -0
  624. package/build/queries/parsedConditions.js +20 -0
  625. package/build/queries/parsedConditions.js.map +1 -0
  626. package/build/queries/renderConditions.cjs +66 -0
  627. package/build/queries/renderConditions.cjs.map +1 -0
  628. package/build/queries/renderConditions.d.cts +15 -0
  629. package/build/queries/renderConditions.d.cts.map +1 -0
  630. package/build/queries/renderConditions.d.mts +15 -0
  631. package/build/queries/renderConditions.d.mts.map +1 -0
  632. package/build/queries/renderConditions.js +64 -0
  633. package/build/queries/renderConditions.js.map +1 -0
  634. package/build/queries/skipCondition.cjs +14 -0
  635. package/build/queries/skipCondition.cjs.map +1 -0
  636. package/build/queries/skipCondition.d.cts +7 -0
  637. package/build/queries/skipCondition.d.cts.map +1 -0
  638. package/build/queries/skipCondition.d.mts +7 -0
  639. package/build/queries/skipCondition.d.mts.map +1 -0
  640. package/build/queries/skipCondition.js +13 -0
  641. package/build/queries/skipCondition.js.map +1 -0
  642. package/build/queries/sql/AliasAssigner.cjs +35 -0
  643. package/build/queries/sql/AliasAssigner.cjs.map +1 -0
  644. package/build/queries/sql/AliasAssigner.d.cts +13 -0
  645. package/build/queries/sql/AliasAssigner.d.cts.map +1 -0
  646. package/build/queries/sql/AliasAssigner.d.mts +13 -0
  647. package/build/queries/sql/AliasAssigner.d.mts.map +1 -0
  648. package/build/queries/sql/AliasAssigner.js +34 -0
  649. package/build/queries/sql/AliasAssigner.js.map +1 -0
  650. package/build/queries/sql/Expr.cjs +529 -0
  651. package/build/queries/sql/Expr.cjs.map +1 -0
  652. package/build/queries/sql/Expr.d.cts +284 -0
  653. package/build/queries/sql/Expr.d.cts.map +1 -0
  654. package/build/queries/sql/Expr.d.mts +284 -0
  655. package/build/queries/sql/Expr.d.mts.map +1 -0
  656. package/build/queries/sql/Expr.js +512 -0
  657. package/build/queries/sql/Expr.js.map +1 -0
  658. package/build/queries/sql/JoinTree.cjs +72 -0
  659. package/build/queries/sql/JoinTree.cjs.map +1 -0
  660. package/build/queries/sql/JoinTree.d.cts +107 -0
  661. package/build/queries/sql/JoinTree.d.cts.map +1 -0
  662. package/build/queries/sql/JoinTree.d.mts +107 -0
  663. package/build/queries/sql/JoinTree.d.mts.map +1 -0
  664. package/build/queries/sql/JoinTree.js +71 -0
  665. package/build/queries/sql/JoinTree.js.map +1 -0
  666. package/build/queries/sql/Tables.cjs +803 -0
  667. package/build/queries/sql/Tables.cjs.map +1 -0
  668. package/build/queries/sql/Tables.d.cts +322 -0
  669. package/build/queries/sql/Tables.d.cts.map +1 -0
  670. package/build/queries/sql/Tables.d.mts +322 -0
  671. package/build/queries/sql/Tables.d.mts.map +1 -0
  672. package/build/queries/sql/Tables.js +786 -0
  673. package/build/queries/sql/Tables.js.map +1 -0
  674. package/build/queries/sql/custom.cjs +52 -0
  675. package/build/queries/sql/custom.cjs.map +1 -0
  676. package/build/queries/sql/custom.d.cts +85 -0
  677. package/build/queries/sql/custom.d.cts.map +1 -0
  678. package/build/queries/sql/custom.d.mts +85 -0
  679. package/build/queries/sql/custom.d.mts.map +1 -0
  680. package/build/queries/sql/custom.js +49 -0
  681. package/build/queries/sql/custom.js.map +1 -0
  682. package/build/queries/sql/execute.cjs +276 -0
  683. package/build/queries/sql/execute.cjs.map +1 -0
  684. package/build/queries/sql/execute.d.cts +294 -0
  685. package/build/queries/sql/execute.d.cts.map +1 -0
  686. package/build/queries/sql/execute.d.mts +294 -0
  687. package/build/queries/sql/execute.d.mts.map +1 -0
  688. package/build/queries/sql/execute.js +273 -0
  689. package/build/queries/sql/execute.js.map +1 -0
  690. package/build/queries/sql/expressions/arrayAgg.cjs +63 -0
  691. package/build/queries/sql/expressions/arrayAgg.cjs.map +1 -0
  692. package/build/queries/sql/expressions/arrayAgg.d.cts +24 -0
  693. package/build/queries/sql/expressions/arrayAgg.d.cts.map +1 -0
  694. package/build/queries/sql/expressions/arrayAgg.d.mts +24 -0
  695. package/build/queries/sql/expressions/arrayAgg.d.mts.map +1 -0
  696. package/build/queries/sql/expressions/arrayAgg.js +61 -0
  697. package/build/queries/sql/expressions/arrayAgg.js.map +1 -0
  698. package/build/queries/sql/expressions/case.cjs +71 -0
  699. package/build/queries/sql/expressions/case.cjs.map +1 -0
  700. package/build/queries/sql/expressions/case.d.cts +57 -0
  701. package/build/queries/sql/expressions/case.d.cts.map +1 -0
  702. package/build/queries/sql/expressions/case.d.mts +57 -0
  703. package/build/queries/sql/expressions/case.d.mts.map +1 -0
  704. package/build/queries/sql/expressions/case.js +68 -0
  705. package/build/queries/sql/expressions/case.js.map +1 -0
  706. package/build/queries/sql/expressions/coalesce.cjs +25 -0
  707. package/build/queries/sql/expressions/coalesce.cjs.map +1 -0
  708. package/build/queries/sql/expressions/coalesce.d.cts +21 -0
  709. package/build/queries/sql/expressions/coalesce.d.cts.map +1 -0
  710. package/build/queries/sql/expressions/coalesce.d.mts +21 -0
  711. package/build/queries/sql/expressions/coalesce.d.mts.map +1 -0
  712. package/build/queries/sql/expressions/coalesce.js +22 -0
  713. package/build/queries/sql/expressions/coalesce.js.map +1 -0
  714. package/build/queries/sql/expressions/codecs.cjs +126 -0
  715. package/build/queries/sql/expressions/codecs.cjs.map +1 -0
  716. package/build/queries/sql/expressions/codecs.d.cts +11 -0
  717. package/build/queries/sql/expressions/codecs.d.cts.map +1 -0
  718. package/build/queries/sql/expressions/codecs.d.mts +11 -0
  719. package/build/queries/sql/expressions/codecs.d.mts.map +1 -0
  720. package/build/queries/sql/expressions/codecs.js +125 -0
  721. package/build/queries/sql/expressions/codecs.js.map +1 -0
  722. package/build/queries/sql/expressions/expression.cjs +102 -0
  723. package/build/queries/sql/expressions/expression.cjs.map +1 -0
  724. package/build/queries/sql/expressions/expression.d.cts +23 -0
  725. package/build/queries/sql/expressions/expression.d.cts.map +1 -0
  726. package/build/queries/sql/expressions/expression.d.mts +23 -0
  727. package/build/queries/sql/expressions/expression.d.mts.map +1 -0
  728. package/build/queries/sql/expressions/expression.js +97 -0
  729. package/build/queries/sql/expressions/expression.js.map +1 -0
  730. package/build/queries/sql/expressions/greatest.cjs +25 -0
  731. package/build/queries/sql/expressions/greatest.cjs.map +1 -0
  732. package/build/queries/sql/expressions/greatest.d.cts +21 -0
  733. package/build/queries/sql/expressions/greatest.d.cts.map +1 -0
  734. package/build/queries/sql/expressions/greatest.d.mts +21 -0
  735. package/build/queries/sql/expressions/greatest.d.mts.map +1 -0
  736. package/build/queries/sql/expressions/greatest.js +22 -0
  737. package/build/queries/sql/expressions/greatest.js.map +1 -0
  738. package/build/queries/sql/expressions/least.cjs +25 -0
  739. package/build/queries/sql/expressions/least.cjs.map +1 -0
  740. package/build/queries/sql/expressions/least.d.cts +21 -0
  741. package/build/queries/sql/expressions/least.d.cts.map +1 -0
  742. package/build/queries/sql/expressions/least.d.mts +21 -0
  743. package/build/queries/sql/expressions/least.d.mts.map +1 -0
  744. package/build/queries/sql/expressions/least.js +22 -0
  745. package/build/queries/sql/expressions/least.js.map +1 -0
  746. package/build/queries/sql/expressions/nullIf.cjs +27 -0
  747. package/build/queries/sql/expressions/nullIf.cjs.map +1 -0
  748. package/build/queries/sql/expressions/nullIf.d.cts +22 -0
  749. package/build/queries/sql/expressions/nullIf.d.cts.map +1 -0
  750. package/build/queries/sql/expressions/nullIf.d.mts +22 -0
  751. package/build/queries/sql/expressions/nullIf.d.mts.map +1 -0
  752. package/build/queries/sql/expressions/nullIf.js +24 -0
  753. package/build/queries/sql/expressions/nullIf.js.map +1 -0
  754. package/build/queries/sql/expressions/parseExpression.cjs +75 -0
  755. package/build/queries/sql/expressions/parseExpression.cjs.map +1 -0
  756. package/build/queries/sql/expressions/parseExpression.d.cts +19 -0
  757. package/build/queries/sql/expressions/parseExpression.d.cts.map +1 -0
  758. package/build/queries/sql/expressions/parseExpression.d.mts +19 -0
  759. package/build/queries/sql/expressions/parseExpression.d.mts.map +1 -0
  760. package/build/queries/sql/expressions/parseExpression.js +70 -0
  761. package/build/queries/sql/expressions/parseExpression.js.map +1 -0
  762. package/build/queries/sql/expressions/types.cjs +1 -0
  763. package/build/queries/sql/expressions/types.d.cts +114 -0
  764. package/build/queries/sql/expressions/types.d.cts.map +1 -0
  765. package/build/queries/sql/expressions/types.d.mts +114 -0
  766. package/build/queries/sql/expressions/types.d.mts.map +1 -0
  767. package/build/queries/sql/expressions/types.js +1 -0
  768. package/build/queries/sql/keywords.cjs +136 -0
  769. package/build/queries/sql/keywords.cjs.map +1 -0
  770. package/build/queries/sql/keywords.d.cts +18 -0
  771. package/build/queries/sql/keywords.d.cts.map +1 -0
  772. package/build/queries/sql/keywords.d.mts +18 -0
  773. package/build/queries/sql/keywords.d.mts.map +1 -0
  774. package/build/queries/sql/keywords.js +132 -0
  775. package/build/queries/sql/keywords.js.map +1 -0
  776. package/build/queries/sql/query.cjs +1610 -0
  777. package/build/queries/sql/query.cjs.map +1 -0
  778. package/build/queries/sql/query.d.cts +844 -0
  779. package/build/queries/sql/query.d.cts.map +1 -0
  780. package/build/queries/sql/query.d.mts +844 -0
  781. package/build/queries/sql/query.d.mts.map +1 -0
  782. package/build/queries/sql/query.js +1592 -0
  783. package/build/queries/sql/query.js.map +1 -0
  784. package/build/queries/unnest.cjs +62 -0
  785. package/build/queries/unnest.cjs.map +1 -0
  786. package/build/queries/unnest.d.cts +16 -0
  787. package/build/queries/unnest.d.cts.map +1 -0
  788. package/build/queries/unnest.d.mts +16 -0
  789. package/build/queries/unnest.d.mts.map +1 -0
  790. package/build/queries/unnest.js +60 -0
  791. package/build/queries/unnest.js.map +1 -0
  792. package/build/queries/valueFilters.cjs +240 -0
  793. package/build/queries/valueFilters.cjs.map +1 -0
  794. package/build/queries/valueFilters.d.cts +26 -0
  795. package/build/queries/valueFilters.d.cts.map +1 -0
  796. package/build/queries/valueFilters.d.mts +26 -0
  797. package/build/queries/valueFilters.d.mts.map +1 -0
  798. package/build/queries/valueFilters.js +236 -0
  799. package/build/queries/valueFilters.js.map +1 -0
  800. package/build/reactivity/ReactionsManager.cjs +264 -0
  801. package/build/reactivity/ReactionsManager.cjs.map +1 -0
  802. package/build/reactivity/ReactionsManager.d.cts +98 -0
  803. package/build/reactivity/ReactionsManager.d.cts.map +1 -0
  804. package/build/reactivity/ReactionsManager.d.mts +98 -0
  805. package/build/reactivity/ReactionsManager.d.mts.map +1 -0
  806. package/build/reactivity/ReactionsManager.js +263 -0
  807. package/build/reactivity/ReactionsManager.js.map +1 -0
  808. package/build/reactivity/reactiveHints.cjs +328 -0
  809. package/build/reactivity/reactiveHints.cjs.map +1 -0
  810. package/build/reactivity/reactiveHints.d.cts +143 -0
  811. package/build/reactivity/reactiveHints.d.cts.map +1 -0
  812. package/build/reactivity/reactiveHints.d.mts +143 -0
  813. package/build/reactivity/reactiveHints.d.mts.map +1 -0
  814. package/build/reactivity/reactiveHints.js +321 -0
  815. package/build/reactivity/reactiveHints.js.map +1 -0
  816. package/build/relations/AbstractPropertyImpl.cjs +16 -0
  817. package/build/relations/AbstractPropertyImpl.cjs.map +1 -0
  818. package/build/relations/AbstractPropertyImpl.d.cts +11 -0
  819. package/build/relations/AbstractPropertyImpl.d.cts.map +1 -0
  820. package/build/relations/AbstractPropertyImpl.d.mts +11 -0
  821. package/build/relations/AbstractPropertyImpl.d.mts.map +1 -0
  822. package/build/relations/AbstractPropertyImpl.js +13 -13
  823. package/build/relations/AbstractPropertyImpl.js.map +1 -1
  824. package/build/relations/AbstractRelationImpl.cjs +15 -0
  825. package/build/relations/AbstractRelationImpl.cjs.map +1 -0
  826. package/build/relations/AbstractRelationImpl.d.cts +43 -0
  827. package/build/relations/AbstractRelationImpl.d.cts.map +1 -0
  828. package/build/relations/AbstractRelationImpl.d.mts +43 -0
  829. package/build/relations/AbstractRelationImpl.d.mts.map +1 -0
  830. package/build/relations/AbstractRelationImpl.js +12 -17
  831. package/build/relations/AbstractRelationImpl.js.map +1 -1
  832. package/build/relations/AsyncProperty.cjs +75 -0
  833. package/build/relations/AsyncProperty.cjs.map +1 -0
  834. package/build/relations/AsyncProperty.d.cts +40 -0
  835. package/build/relations/AsyncProperty.d.cts.map +1 -0
  836. package/build/relations/AsyncProperty.d.mts +40 -0
  837. package/build/relations/AsyncProperty.d.mts.map +1 -0
  838. package/build/relations/AsyncProperty.js +61 -70
  839. package/build/relations/AsyncProperty.js.map +1 -1
  840. package/build/relations/AsyncReactiveField.cjs +110 -0
  841. package/build/relations/AsyncReactiveField.cjs.map +1 -0
  842. package/build/relations/AsyncReactiveField.d.cts +50 -0
  843. package/build/relations/AsyncReactiveField.d.cts.map +1 -0
  844. package/build/relations/AsyncReactiveField.d.mts +50 -0
  845. package/build/relations/AsyncReactiveField.d.mts.map +1 -0
  846. package/build/relations/AsyncReactiveField.js +97 -116
  847. package/build/relations/AsyncReactiveField.js.map +1 -1
  848. package/build/relations/Collection.cjs +23 -0
  849. package/build/relations/Collection.cjs.map +1 -0
  850. package/build/relations/Collection.d.cts +37 -0
  851. package/build/relations/Collection.d.cts.map +1 -0
  852. package/build/relations/Collection.d.mts +37 -0
  853. package/build/relations/Collection.d.mts.map +1 -0
  854. package/build/relations/Collection.js +14 -11
  855. package/build/relations/Collection.js.map +1 -1
  856. package/build/relations/CustomCollection.cjs +144 -0
  857. package/build/relations/CustomCollection.cjs.map +1 -0
  858. package/build/relations/CustomCollection.d.cts +74 -0
  859. package/build/relations/CustomCollection.d.cts.map +1 -0
  860. package/build/relations/CustomCollection.d.mts +74 -0
  861. package/build/relations/CustomCollection.d.mts.map +1 -0
  862. package/build/relations/CustomCollection.js +138 -162
  863. package/build/relations/CustomCollection.js.map +1 -1
  864. package/build/relations/CustomReference.cjs +142 -0
  865. package/build/relations/CustomReference.cjs.map +1 -0
  866. package/build/relations/CustomReference.d.cts +76 -0
  867. package/build/relations/CustomReference.d.cts.map +1 -0
  868. package/build/relations/CustomReference.d.mts +76 -0
  869. package/build/relations/CustomReference.d.mts.map +1 -0
  870. package/build/relations/CustomReference.js +135 -147
  871. package/build/relations/CustomReference.js.map +1 -1
  872. package/build/relations/EnumCollection.cjs +178 -0
  873. package/build/relations/EnumCollection.cjs.map +1 -0
  874. package/build/relations/EnumCollection.d.cts +86 -0
  875. package/build/relations/EnumCollection.d.cts.map +1 -0
  876. package/build/relations/EnumCollection.d.mts +86 -0
  877. package/build/relations/EnumCollection.d.mts.map +1 -0
  878. package/build/relations/EnumCollection.js +172 -207
  879. package/build/relations/EnumCollection.js.map +1 -1
  880. package/build/relations/LargeCollection.cjs +4 -0
  881. package/build/relations/LargeCollection.d.cts +22 -0
  882. package/build/relations/LargeCollection.d.cts.map +1 -0
  883. package/build/relations/LargeCollection.d.mts +22 -0
  884. package/build/relations/LargeCollection.d.mts.map +1 -0
  885. package/build/relations/LargeCollection.js +4 -3
  886. package/build/relations/LazyField.cjs +140 -0
  887. package/build/relations/LazyField.cjs.map +1 -0
  888. package/build/relations/LazyField.d.cts +51 -0
  889. package/build/relations/LazyField.d.cts.map +1 -0
  890. package/build/relations/LazyField.d.mts +51 -0
  891. package/build/relations/LazyField.d.mts.map +1 -0
  892. package/build/relations/LazyField.js +134 -0
  893. package/build/relations/LazyField.js.map +1 -0
  894. package/build/relations/ManyToManyCollection.cjs +421 -0
  895. package/build/relations/ManyToManyCollection.cjs.map +1 -0
  896. package/build/relations/ManyToManyCollection.d.cts +59 -0
  897. package/build/relations/ManyToManyCollection.d.cts.map +1 -0
  898. package/build/relations/ManyToManyCollection.d.mts +59 -0
  899. package/build/relations/ManyToManyCollection.d.mts.map +1 -0
  900. package/build/relations/ManyToManyCollection.js +411 -471
  901. package/build/relations/ManyToManyCollection.js.map +1 -1
  902. package/build/relations/ManyToManyLargeCollection.cjs +91 -0
  903. package/build/relations/ManyToManyLargeCollection.cjs.map +1 -0
  904. package/build/relations/ManyToManyLargeCollection.d.cts +34 -0
  905. package/build/relations/ManyToManyLargeCollection.d.cts.map +1 -0
  906. package/build/relations/ManyToManyLargeCollection.d.mts +34 -0
  907. package/build/relations/ManyToManyLargeCollection.d.mts.map +1 -0
  908. package/build/relations/ManyToManyLargeCollection.js +85 -118
  909. package/build/relations/ManyToManyLargeCollection.js.map +1 -1
  910. package/build/relations/ManyToOneReference.cjs +364 -0
  911. package/build/relations/ManyToOneReference.cjs.map +1 -0
  912. package/build/relations/ManyToOneReference.d.cts +121 -0
  913. package/build/relations/ManyToOneReference.d.cts.map +1 -0
  914. package/build/relations/ManyToOneReference.d.mts +121 -0
  915. package/build/relations/ManyToOneReference.d.mts.map +1 -0
  916. package/build/relations/ManyToOneReference.js +344 -411
  917. package/build/relations/ManyToOneReference.js.map +1 -1
  918. package/build/relations/OneToManyCollection.cjs +492 -0
  919. package/build/relations/OneToManyCollection.cjs.map +1 -0
  920. package/build/relations/OneToManyCollection.d.cts +69 -0
  921. package/build/relations/OneToManyCollection.d.cts.map +1 -0
  922. package/build/relations/OneToManyCollection.d.mts +69 -0
  923. package/build/relations/OneToManyCollection.d.mts.map +1 -0
  924. package/build/relations/OneToManyCollection.js +480 -579
  925. package/build/relations/OneToManyCollection.js.map +1 -1
  926. package/build/relations/OneToManyLargeCollection.cjs +85 -0
  927. package/build/relations/OneToManyLargeCollection.cjs.map +1 -0
  928. package/build/relations/OneToManyLargeCollection.d.cts +29 -0
  929. package/build/relations/OneToManyLargeCollection.d.cts.map +1 -0
  930. package/build/relations/OneToManyLargeCollection.d.mts +29 -0
  931. package/build/relations/OneToManyLargeCollection.d.mts.map +1 -0
  932. package/build/relations/OneToManyLargeCollection.js +79 -99
  933. package/build/relations/OneToManyLargeCollection.js.map +1 -1
  934. package/build/relations/OneToOneReference.cjs +209 -0
  935. package/build/relations/OneToOneReference.cjs.map +1 -0
  936. package/build/relations/OneToOneReference.d.cts +97 -0
  937. package/build/relations/OneToOneReference.d.cts.map +1 -0
  938. package/build/relations/OneToOneReference.d.mts +97 -0
  939. package/build/relations/OneToOneReference.d.mts.map +1 -0
  940. package/build/relations/OneToOneReference.js +193 -221
  941. package/build/relations/OneToOneReference.js.map +1 -1
  942. package/build/relations/PolymorphicReference.cjs +210 -0
  943. package/build/relations/PolymorphicReference.cjs.map +1 -0
  944. package/build/relations/PolymorphicReference.d.cts +93 -0
  945. package/build/relations/PolymorphicReference.d.cts.map +1 -0
  946. package/build/relations/PolymorphicReference.d.mts +93 -0
  947. package/build/relations/PolymorphicReference.d.mts.map +1 -0
  948. package/build/relations/PolymorphicReference.js +200 -237
  949. package/build/relations/PolymorphicReference.js.map +1 -1
  950. package/build/relations/PropertySymbols.cjs +7 -0
  951. package/build/relations/PropertySymbols.cjs.map +1 -0
  952. package/build/relations/PropertySymbols.d.cts +5 -0
  953. package/build/relations/PropertySymbols.d.cts.map +1 -0
  954. package/build/relations/PropertySymbols.d.mts +5 -0
  955. package/build/relations/PropertySymbols.d.mts.map +1 -0
  956. package/build/relations/PropertySymbols.js +6 -0
  957. package/build/relations/PropertySymbols.js.map +1 -0
  958. package/build/relations/ReactiveField.cjs +114 -0
  959. package/build/relations/ReactiveField.cjs.map +1 -0
  960. package/build/relations/ReactiveField.d.cts +88 -0
  961. package/build/relations/ReactiveField.d.cts.map +1 -0
  962. package/build/relations/ReactiveField.d.mts +88 -0
  963. package/build/relations/ReactiveField.d.mts.map +1 -0
  964. package/build/relations/ReactiveField.js +104 -137
  965. package/build/relations/ReactiveField.js.map +1 -1
  966. package/build/relations/ReactiveGetter.cjs +40 -0
  967. package/build/relations/ReactiveGetter.cjs.map +1 -0
  968. package/build/relations/ReactiveGetter.d.cts +33 -0
  969. package/build/relations/ReactiveGetter.d.cts.map +1 -0
  970. package/build/relations/ReactiveGetter.d.mts +33 -0
  971. package/build/relations/ReactiveGetter.d.mts.map +1 -0
  972. package/build/relations/ReactiveGetter.js +30 -31
  973. package/build/relations/ReactiveGetter.js.map +1 -1
  974. package/build/relations/ReactiveManyToMany.cjs +198 -0
  975. package/build/relations/ReactiveManyToMany.cjs.map +1 -0
  976. package/build/relations/ReactiveManyToMany.d.cts +63 -0
  977. package/build/relations/ReactiveManyToMany.d.cts.map +1 -0
  978. package/build/relations/ReactiveManyToMany.d.mts +63 -0
  979. package/build/relations/ReactiveManyToMany.d.mts.map +1 -0
  980. package/build/relations/ReactiveManyToMany.js +187 -238
  981. package/build/relations/ReactiveManyToMany.js.map +1 -1
  982. package/build/relations/ReactiveManyToManyOtherSide.cjs +148 -0
  983. package/build/relations/ReactiveManyToManyOtherSide.cjs.map +1 -0
  984. package/build/relations/ReactiveManyToManyOtherSide.d.cts +53 -0
  985. package/build/relations/ReactiveManyToManyOtherSide.d.cts.map +1 -0
  986. package/build/relations/ReactiveManyToManyOtherSide.d.mts +53 -0
  987. package/build/relations/ReactiveManyToManyOtherSide.d.mts.map +1 -0
  988. package/build/relations/ReactiveManyToManyOtherSide.js +139 -152
  989. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  990. package/build/relations/ReactiveReference.cjs +336 -0
  991. package/build/relations/ReactiveReference.cjs.map +1 -0
  992. package/build/relations/ReactiveReference.d.cts +124 -0
  993. package/build/relations/ReactiveReference.d.cts.map +1 -0
  994. package/build/relations/ReactiveReference.d.mts +124 -0
  995. package/build/relations/ReactiveReference.d.mts.map +1 -0
  996. package/build/relations/ReactiveReference.js +321 -385
  997. package/build/relations/ReactiveReference.js.map +1 -1
  998. package/build/relations/ReadOnlyCollection.cjs +18 -0
  999. package/build/relations/ReadOnlyCollection.cjs.map +1 -0
  1000. package/build/relations/ReadOnlyCollection.d.cts +22 -0
  1001. package/build/relations/ReadOnlyCollection.d.cts.map +1 -0
  1002. package/build/relations/ReadOnlyCollection.d.mts +22 -0
  1003. package/build/relations/ReadOnlyCollection.d.mts.map +1 -0
  1004. package/build/relations/ReadOnlyCollection.js +9 -9
  1005. package/build/relations/ReadOnlyCollection.js.map +1 -1
  1006. package/build/relations/RecursiveCollection.cjs +386 -0
  1007. package/build/relations/RecursiveCollection.cjs.map +1 -0
  1008. package/build/relations/RecursiveCollection.d.cts +112 -0
  1009. package/build/relations/RecursiveCollection.d.cts.map +1 -0
  1010. package/build/relations/RecursiveCollection.d.mts +112 -0
  1011. package/build/relations/RecursiveCollection.d.mts.map +1 -0
  1012. package/build/relations/RecursiveCollection.js +367 -427
  1013. package/build/relations/RecursiveCollection.js.map +1 -1
  1014. package/build/relations/RecursiveCycleError.cjs +17 -0
  1015. package/build/relations/RecursiveCycleError.cjs.map +1 -0
  1016. package/build/relations/RecursiveCycleError.d.cts +15 -0
  1017. package/build/relations/RecursiveCycleError.d.cts.map +1 -0
  1018. package/build/relations/RecursiveCycleError.d.mts +15 -0
  1019. package/build/relations/RecursiveCycleError.d.mts.map +1 -0
  1020. package/build/relations/RecursiveCycleError.js +14 -13
  1021. package/build/relations/RecursiveCycleError.js.map +1 -1
  1022. package/build/relations/Reference.cjs +25 -0
  1023. package/build/relations/Reference.cjs.map +1 -0
  1024. package/build/relations/Reference.d.cts +39 -0
  1025. package/build/relations/Reference.d.cts.map +1 -0
  1026. package/build/relations/Reference.d.mts +39 -0
  1027. package/build/relations/Reference.d.mts.map +1 -0
  1028. package/build/relations/Reference.js +15 -14
  1029. package/build/relations/Reference.js.map +1 -1
  1030. package/build/relations/ReferenceSymbols.cjs +7 -0
  1031. package/build/relations/ReferenceSymbols.cjs.map +1 -0
  1032. package/build/relations/ReferenceSymbols.d.cts +5 -0
  1033. package/build/relations/ReferenceSymbols.d.cts.map +1 -0
  1034. package/build/relations/ReferenceSymbols.d.mts +5 -0
  1035. package/build/relations/ReferenceSymbols.d.mts.map +1 -0
  1036. package/build/relations/ReferenceSymbols.js +6 -0
  1037. package/build/relations/ReferenceSymbols.js.map +1 -0
  1038. package/build/relations/Relation.cjs +17 -0
  1039. package/build/relations/Relation.cjs.map +1 -0
  1040. package/build/relations/Relation.d.cts +16 -0
  1041. package/build/relations/Relation.d.cts.map +1 -0
  1042. package/build/relations/Relation.d.mts +16 -0
  1043. package/build/relations/Relation.d.mts.map +1 -0
  1044. package/build/relations/Relation.js +10 -8
  1045. package/build/relations/Relation.js.map +1 -1
  1046. package/build/relations/RelationSymbols.cjs +9 -0
  1047. package/build/relations/RelationSymbols.cjs.map +1 -0
  1048. package/build/relations/RelationSymbols.d.cts +6 -0
  1049. package/build/relations/RelationSymbols.d.cts.map +1 -0
  1050. package/build/relations/RelationSymbols.d.mts +6 -0
  1051. package/build/relations/RelationSymbols.d.mts.map +1 -0
  1052. package/build/relations/RelationSymbols.js +7 -0
  1053. package/build/relations/RelationSymbols.js.map +1 -0
  1054. package/build/relations/hasAsyncMethod.cjs +47 -0
  1055. package/build/relations/hasAsyncMethod.cjs.map +1 -0
  1056. package/build/relations/hasAsyncMethod.d.cts +29 -0
  1057. package/build/relations/hasAsyncMethod.d.cts.map +1 -0
  1058. package/build/relations/hasAsyncMethod.d.mts +29 -0
  1059. package/build/relations/hasAsyncMethod.d.mts.map +1 -0
  1060. package/build/relations/hasAsyncMethod.js +40 -43
  1061. package/build/relations/hasAsyncMethod.js.map +1 -1
  1062. package/build/relations/hasManyDerived.cjs +35 -0
  1063. package/build/relations/hasManyDerived.cjs.map +1 -0
  1064. package/build/relations/hasManyDerived.d.cts +25 -0
  1065. package/build/relations/hasManyDerived.d.cts.map +1 -0
  1066. package/build/relations/hasManyDerived.d.mts +25 -0
  1067. package/build/relations/hasManyDerived.d.mts.map +1 -0
  1068. package/build/relations/hasManyDerived.js +30 -28
  1069. package/build/relations/hasManyDerived.js.map +1 -1
  1070. package/build/relations/hasManyThrough.cjs +29 -0
  1071. package/build/relations/hasManyThrough.cjs.map +1 -0
  1072. package/build/relations/hasManyThrough.d.cts +16 -0
  1073. package/build/relations/hasManyThrough.d.cts.map +1 -0
  1074. package/build/relations/hasManyThrough.d.mts +16 -0
  1075. package/build/relations/hasManyThrough.d.mts.map +1 -0
  1076. package/build/relations/hasManyThrough.js +24 -20
  1077. package/build/relations/hasManyThrough.js.map +1 -1
  1078. package/build/relations/hasOneDerived.cjs +32 -0
  1079. package/build/relations/hasOneDerived.cjs.map +1 -0
  1080. package/build/relations/hasOneDerived.d.cts +15 -0
  1081. package/build/relations/hasOneDerived.d.cts.map +1 -0
  1082. package/build/relations/hasOneDerived.d.mts +15 -0
  1083. package/build/relations/hasOneDerived.d.mts.map +1 -0
  1084. package/build/relations/hasOneDerived.js +27 -20
  1085. package/build/relations/hasOneDerived.js.map +1 -1
  1086. package/build/relations/hasOneThrough.cjs +31 -0
  1087. package/build/relations/hasOneThrough.cjs.map +1 -0
  1088. package/build/relations/hasOneThrough.d.cts +16 -0
  1089. package/build/relations/hasOneThrough.d.cts.map +1 -0
  1090. package/build/relations/hasOneThrough.d.mts +16 -0
  1091. package/build/relations/hasOneThrough.d.mts.map +1 -0
  1092. package/build/relations/hasOneThrough.js +26 -22
  1093. package/build/relations/hasOneThrough.js.map +1 -1
  1094. package/build/relations/hasProperty.cjs +109 -0
  1095. package/build/relations/hasProperty.cjs.map +1 -0
  1096. package/build/relations/hasProperty.d.cts +53 -0
  1097. package/build/relations/hasProperty.d.cts.map +1 -0
  1098. package/build/relations/hasProperty.d.mts +53 -0
  1099. package/build/relations/hasProperty.d.mts.map +1 -0
  1100. package/build/relations/hasProperty.js +90 -95
  1101. package/build/relations/hasProperty.js.map +1 -1
  1102. package/build/relations/index.cjs +99 -0
  1103. package/build/relations/index.d.cts +32 -0
  1104. package/build/relations/index.d.mts +32 -0
  1105. package/build/relations/index.js +31 -97
  1106. package/build/relations/isCascadeDelete.cjs +11 -0
  1107. package/build/relations/isCascadeDelete.cjs.map +1 -0
  1108. package/build/relations/isCascadeDelete.d.cts +7 -0
  1109. package/build/relations/isCascadeDelete.d.cts.map +1 -0
  1110. package/build/relations/isCascadeDelete.d.mts +7 -0
  1111. package/build/relations/isCascadeDelete.d.mts.map +1 -0
  1112. package/build/relations/isCascadeDelete.js +10 -0
  1113. package/build/relations/isCascadeDelete.js.map +1 -0
  1114. package/build/resurrection.cjs +74 -0
  1115. package/build/resurrection.cjs.map +1 -0
  1116. package/build/resurrection.d.cts +13 -0
  1117. package/build/resurrection.d.cts.map +1 -0
  1118. package/build/resurrection.d.mts +13 -0
  1119. package/build/resurrection.d.mts.map +1 -0
  1120. package/build/resurrection.js +48 -69
  1121. package/build/resurrection.js.map +1 -1
  1122. package/build/rules.cjs +227 -0
  1123. package/build/rules.cjs.map +1 -0
  1124. package/build/rules.d.cts +145 -0
  1125. package/build/rules.d.cts.map +1 -0
  1126. package/build/rules.d.mts +145 -0
  1127. package/build/rules.d.mts.map +1 -0
  1128. package/build/rules.js +189 -204
  1129. package/build/rules.js.map +1 -1
  1130. package/build/runtimeConfig.cjs +25 -0
  1131. package/build/runtimeConfig.cjs.map +1 -0
  1132. package/build/runtimeConfig.d.cts +24 -0
  1133. package/build/runtimeConfig.d.cts.map +1 -0
  1134. package/build/runtimeConfig.d.mts +24 -0
  1135. package/build/runtimeConfig.d.mts.map +1 -0
  1136. package/build/runtimeConfig.js +16 -12
  1137. package/build/runtimeConfig.js.map +1 -1
  1138. package/build/serde/TypeInfo.cjs +80 -0
  1139. package/build/serde/TypeInfo.cjs.map +1 -0
  1140. package/build/serde/TypeInfo.d.cts +57 -0
  1141. package/build/serde/TypeInfo.d.cts.map +1 -0
  1142. package/build/serde/TypeInfo.d.mts +57 -0
  1143. package/build/serde/TypeInfo.d.mts.map +1 -0
  1144. package/build/serde/TypeInfo.js +78 -0
  1145. package/build/serde/TypeInfo.js.map +1 -0
  1146. package/build/serde/columns.cjs +63 -0
  1147. package/build/serde/columns.cjs.map +1 -0
  1148. package/build/serde/columns.d.cts +38 -0
  1149. package/build/serde/columns.d.cts.map +1 -0
  1150. package/build/serde/columns.d.mts +38 -0
  1151. package/build/serde/columns.d.mts.map +1 -0
  1152. package/build/serde/columns.js +62 -0
  1153. package/build/serde/columns.js.map +1 -0
  1154. package/build/serde/fieldSerde.cjs +188 -0
  1155. package/build/serde/fieldSerde.cjs.map +1 -0
  1156. package/build/serde/fieldSerde.d.cts +87 -0
  1157. package/build/serde/fieldSerde.d.cts.map +1 -0
  1158. package/build/serde/fieldSerde.d.mts +87 -0
  1159. package/build/serde/fieldSerde.d.mts.map +1 -0
  1160. package/build/serde/fieldSerde.js +182 -0
  1161. package/build/serde/fieldSerde.js.map +1 -0
  1162. package/build/serde/serde.cjs +499 -0
  1163. package/build/serde/serde.cjs.map +1 -0
  1164. package/build/serde/serde.d.cts +248 -0
  1165. package/build/serde/serde.d.cts.map +1 -0
  1166. package/build/serde/serde.d.mts +248 -0
  1167. package/build/serde/serde.d.mts.map +1 -0
  1168. package/build/serde/serde.js +485 -0
  1169. package/build/serde/serde.js.map +1 -0
  1170. package/build/serde/temporal.cjs +57 -0
  1171. package/build/serde/temporal.cjs.map +1 -0
  1172. package/build/serde/temporal.d.cts +44 -0
  1173. package/build/serde/temporal.d.cts.map +1 -0
  1174. package/build/serde/temporal.d.mts +44 -0
  1175. package/build/serde/temporal.d.mts.map +1 -0
  1176. package/build/serde/temporal.js +55 -0
  1177. package/build/serde/temporal.js.map +1 -0
  1178. package/build/serde/temporalMappers.cjs +62 -0
  1179. package/build/serde/temporalMappers.cjs.map +1 -0
  1180. package/build/serde/temporalMappers.d.cts +36 -0
  1181. package/build/serde/temporalMappers.d.cts.map +1 -0
  1182. package/build/serde/temporalMappers.d.mts +36 -0
  1183. package/build/serde/temporalMappers.d.mts.map +1 -0
  1184. package/build/serde/temporalMappers.js +58 -0
  1185. package/build/serde/temporalMappers.js.map +1 -0
  1186. package/build/trusted.cjs +16 -0
  1187. package/build/trusted.cjs.map +1 -0
  1188. package/build/trusted.d.cts +8 -0
  1189. package/build/trusted.d.cts.map +1 -0
  1190. package/build/trusted.d.mts +8 -0
  1191. package/build/trusted.d.mts.map +1 -0
  1192. package/build/trusted.js +8 -8
  1193. package/build/trusted.js.map +1 -1
  1194. package/build/typeMap.cjs +3 -0
  1195. package/build/typeMap.d.cts +88 -0
  1196. package/build/typeMap.d.cts.map +1 -0
  1197. package/build/typeMap.d.mts +88 -0
  1198. package/build/typeMap.d.mts.map +1 -0
  1199. package/build/typeMap.js +3 -3
  1200. package/build/upsert.cjs +175 -0
  1201. package/build/upsert.cjs.map +1 -0
  1202. package/build/upsert.d.cts +42 -0
  1203. package/build/upsert.d.cts.map +1 -0
  1204. package/build/upsert.d.mts +42 -0
  1205. package/build/upsert.d.mts.map +1 -0
  1206. package/build/upsert.js +159 -274
  1207. package/build/upsert.js.map +1 -1
  1208. package/build/utils.cjs +204 -0
  1209. package/build/utils.cjs.map +1 -0
  1210. package/build/utils.d.cts +65 -0
  1211. package/build/utils.d.cts.map +1 -0
  1212. package/build/utils.d.mts +65 -0
  1213. package/build/utils.d.mts.map +1 -0
  1214. package/build/utils.js +123 -192
  1215. package/build/utils.js.map +1 -1
  1216. package/package.json +34 -14
  1217. package/build/AliasAssigner.d.ts +0 -10
  1218. package/build/AliasAssigner.d.ts.map +0 -1
  1219. package/build/AliasAssigner.js +0 -39
  1220. package/build/AliasAssigner.js.map +0 -1
  1221. package/build/Aliases.d.ts +0 -117
  1222. package/build/Aliases.d.ts.map +0 -1
  1223. package/build/Aliases.js +0 -457
  1224. package/build/Aliases.js.map +0 -1
  1225. package/build/BaseEntity.d.ts +0 -68
  1226. package/build/BaseEntity.d.ts.map +0 -1
  1227. package/build/ConditionBuilder.d.ts +0 -29
  1228. package/build/ConditionBuilder.d.ts.map +0 -1
  1229. package/build/ConditionBuilder.js +0 -112
  1230. package/build/ConditionBuilder.js.map +0 -1
  1231. package/build/Entity.d.ts +0 -39
  1232. package/build/Entity.d.ts.map +0 -1
  1233. package/build/EntityFields.d.ts +0 -37
  1234. package/build/EntityFields.d.ts.map +0 -1
  1235. package/build/EntityFields.js.map +0 -1
  1236. package/build/EntityFilter.d.ts +0 -134
  1237. package/build/EntityFilter.d.ts.map +0 -1
  1238. package/build/EntityFilter.js +0 -21
  1239. package/build/EntityFilter.js.map +0 -1
  1240. package/build/EntityGraphQLFilter.d.ts +0 -56
  1241. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  1242. package/build/EntityGraphQLFilter.js +0 -53
  1243. package/build/EntityGraphQLFilter.js.map +0 -1
  1244. package/build/EntityManager.d.ts +0 -740
  1245. package/build/EntityManager.d.ts.map +0 -1
  1246. package/build/EntityMetadata.d.ts +0 -233
  1247. package/build/EntityMetadata.d.ts.map +0 -1
  1248. package/build/EnumMetadata.d.ts +0 -15
  1249. package/build/EnumMetadata.d.ts.map +0 -1
  1250. package/build/EnumMetadata.js.map +0 -1
  1251. package/build/FlushLock.d.ts +0 -26
  1252. package/build/FlushLock.d.ts.map +0 -1
  1253. package/build/FlushLock.js +0 -57
  1254. package/build/FlushLock.js.map +0 -1
  1255. package/build/HintTree.d.ts +0 -42
  1256. package/build/HintTree.d.ts.map +0 -1
  1257. package/build/HintTree.js +0 -64
  1258. package/build/HintTree.js.map +0 -1
  1259. package/build/IndexManager.d.ts +0 -31
  1260. package/build/IndexManager.d.ts.map +0 -1
  1261. package/build/InstanceData.d.ts +0 -79
  1262. package/build/InstanceData.d.ts.map +0 -1
  1263. package/build/IsLoadedCache.d.ts +0 -32
  1264. package/build/IsLoadedCache.d.ts.map +0 -1
  1265. package/build/IsLoadedCache.js +0 -91
  1266. package/build/IsLoadedCache.js.map +0 -1
  1267. package/build/JoinRows.d.ts +0 -117
  1268. package/build/JoinRows.d.ts.map +0 -1
  1269. package/build/JoinRows.js +0 -320
  1270. package/build/JoinRows.js.map +0 -1
  1271. package/build/PendingChanges.d.ts +0 -26
  1272. package/build/PendingChanges.d.ts.map +0 -1
  1273. package/build/PendingChanges.js +0 -3
  1274. package/build/PendingChanges.js.map +0 -1
  1275. package/build/PluginManager.d.ts +0 -102
  1276. package/build/PluginManager.d.ts.map +0 -1
  1277. package/build/QueryParser.collectionJoins.d.ts +0 -27
  1278. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  1279. package/build/QueryParser.collectionJoins.js +0 -466
  1280. package/build/QueryParser.collectionJoins.js.map +0 -1
  1281. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  1282. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  1283. package/build/QueryParser.collectionJoins.test.js +0 -772
  1284. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  1285. package/build/QueryParser.d.ts +0 -336
  1286. package/build/QueryParser.d.ts.map +0 -1
  1287. package/build/QueryParser.js +0 -965
  1288. package/build/QueryParser.js.map +0 -1
  1289. package/build/QueryParser.pruning.d.ts +0 -7
  1290. package/build/QueryParser.pruning.d.ts.map +0 -1
  1291. package/build/QueryParser.pruning.js +0 -195
  1292. package/build/QueryParser.pruning.js.map +0 -1
  1293. package/build/QueryParser.pruning.test.d.ts +0 -2
  1294. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  1295. package/build/QueryParser.pruning.test.js +0 -106
  1296. package/build/QueryParser.pruning.test.js.map +0 -1
  1297. package/build/QueryParser.test.d.ts +0 -2
  1298. package/build/QueryParser.test.d.ts.map +0 -1
  1299. package/build/QueryParser.test.js +0 -27
  1300. package/build/QueryParser.test.js.map +0 -1
  1301. package/build/QueryVisitor.d.ts +0 -19
  1302. package/build/QueryVisitor.d.ts.map +0 -1
  1303. package/build/QueryVisitor.js +0 -106
  1304. package/build/QueryVisitor.js.map +0 -1
  1305. package/build/ReactionsManager.d.ts +0 -85
  1306. package/build/ReactionsManager.d.ts.map +0 -1
  1307. package/build/ReactionsManager.js +0 -315
  1308. package/build/ReactionsManager.js.map +0 -1
  1309. package/build/Todo.d.ts +0 -35
  1310. package/build/Todo.d.ts.map +0 -1
  1311. package/build/Todo.js +0 -73
  1312. package/build/Todo.js.map +0 -1
  1313. package/build/batchloaders/BatchLoader.d.ts +0 -14
  1314. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  1315. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -7
  1316. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  1317. package/build/batchloaders/loadBatchLoader.d.ts +0 -17
  1318. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  1319. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -7
  1320. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  1321. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -7
  1322. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  1323. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -7
  1324. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  1325. package/build/batchloaders/populateBatchLoader.d.ts +0 -13
  1326. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  1327. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -7
  1328. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  1329. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -7
  1330. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  1331. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -7
  1332. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  1333. package/build/changes.d.ts +0 -92
  1334. package/build/changes.d.ts.map +0 -1
  1335. package/build/config.d.ts +0 -250
  1336. package/build/config.d.ts.map +0 -1
  1337. package/build/config.test.d.ts +0 -2
  1338. package/build/config.test.d.ts.map +0 -1
  1339. package/build/config.test.js +0 -53
  1340. package/build/config.test.js.map +0 -1
  1341. package/build/configure.d.ts +0 -15
  1342. package/build/configure.d.ts.map +0 -1
  1343. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -15
  1344. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  1345. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  1346. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  1347. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  1348. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  1349. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  1350. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  1351. package/build/dataloaders/findCountDataLoader.d.ts +0 -16
  1352. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  1353. package/build/dataloaders/findDataLoader.d.ts +0 -76
  1354. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  1355. package/build/dataloaders/findIdsDataLoader.d.ts +0 -6
  1356. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  1357. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  1358. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  1359. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -7
  1360. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  1361. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  1362. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  1363. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  1364. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  1365. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  1366. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  1367. package/build/defaults.d.ts +0 -54
  1368. package/build/defaults.d.ts.map +0 -1
  1369. package/build/driverApi.d.ts +0 -19
  1370. package/build/driverApi.d.ts.map +0 -1
  1371. package/build/driverApi.js +0 -17
  1372. package/build/driverApi.js.map +0 -1
  1373. package/build/drivers/Driver.d.ts +0 -26
  1374. package/build/drivers/Driver.d.ts.map +0 -1
  1375. package/build/drivers/Driver.js.map +0 -1
  1376. package/build/drivers/EntityWriter.d.ts +0 -64
  1377. package/build/drivers/EntityWriter.d.ts.map +0 -1
  1378. package/build/drivers/IdAssigner.d.ts +0 -48
  1379. package/build/drivers/IdAssigner.d.ts.map +0 -1
  1380. package/build/drivers/buildRawQuery.d.ts +0 -22
  1381. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  1382. package/build/drivers/buildRawQuery.js +0 -153
  1383. package/build/drivers/buildRawQuery.js.map +0 -1
  1384. package/build/drivers/buildUtils.d.ts +0 -9
  1385. package/build/drivers/buildUtils.d.ts.map +0 -1
  1386. package/build/drivers/buildUtils.js +0 -88
  1387. package/build/drivers/buildUtils.js.map +0 -1
  1388. package/build/drivers/index.d.ts +0 -6
  1389. package/build/drivers/index.d.ts.map +0 -1
  1390. package/build/drivers/index.js.map +0 -1
  1391. package/build/fields.d.ts +0 -26
  1392. package/build/fields.d.ts.map +0 -1
  1393. package/build/getProperties.d.ts +0 -28
  1394. package/build/getProperties.d.ts.map +0 -1
  1395. package/build/index.d.ts +0 -133
  1396. package/build/index.d.ts.map +0 -1
  1397. package/build/json.d.ts +0 -77
  1398. package/build/json.d.ts.map +0 -1
  1399. package/build/k.d.ts +0 -2
  1400. package/build/k.d.ts.map +0 -1
  1401. package/build/keys.d.ts +0 -49
  1402. package/build/keys.d.ts.map +0 -1
  1403. package/build/keywords.d.ts +0 -5
  1404. package/build/keywords.d.ts.map +0 -1
  1405. package/build/keywords.js +0 -124
  1406. package/build/keywords.js.map +0 -1
  1407. package/build/loadHints.d.ts +0 -121
  1408. package/build/loadHints.d.ts.map +0 -1
  1409. package/build/loadHints.js +0 -129
  1410. package/build/loadHints.js.map +0 -1
  1411. package/build/loadLens.d.ts +0 -77
  1412. package/build/loadLens.d.ts.map +0 -1
  1413. package/build/loadLens.js +0 -320
  1414. package/build/loadLens.js.map +0 -1
  1415. package/build/logging/FactoryLogger.d.ts +0 -24
  1416. package/build/logging/FactoryLogger.d.ts.map +0 -1
  1417. package/build/logging/FieldLogger.d.ts +0 -27
  1418. package/build/logging/FieldLogger.d.ts.map +0 -1
  1419. package/build/logging/ReactionLogger.d.ts +0 -27
  1420. package/build/logging/ReactionLogger.d.ts.map +0 -1
  1421. package/build/newEntity.d.ts +0 -45
  1422. package/build/newEntity.d.ts.map +0 -1
  1423. package/build/newTestInstance.d.ts +0 -208
  1424. package/build/newTestInstance.d.ts.map +0 -1
  1425. package/build/normalizeHints.d.ts +0 -23
  1426. package/build/normalizeHints.d.ts.map +0 -1
  1427. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  1428. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  1429. package/build/plugins/PreloadPlugin.d.ts +0 -69
  1430. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  1431. package/build/plugins/PreloadPlugin.js.map +0 -1
  1432. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  1433. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  1434. package/build/preloading/canPreload.d.ts +0 -3
  1435. package/build/preloading/canPreload.d.ts.map +0 -1
  1436. package/build/preloading/partitionHint.d.ts +0 -5
  1437. package/build/preloading/partitionHint.d.ts.map +0 -1
  1438. package/build/reactiveHints.d.ts +0 -146
  1439. package/build/reactiveHints.d.ts.map +0 -1
  1440. package/build/reactiveHints.js +0 -509
  1441. package/build/reactiveHints.js.map +0 -1
  1442. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  1443. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  1444. package/build/relations/AbstractRelationImpl.d.ts +0 -41
  1445. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  1446. package/build/relations/AsyncProperty.d.ts +0 -36
  1447. package/build/relations/AsyncProperty.d.ts.map +0 -1
  1448. package/build/relations/AsyncReactiveField.d.ts +0 -41
  1449. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  1450. package/build/relations/Collection.d.ts +0 -33
  1451. package/build/relations/Collection.d.ts.map +0 -1
  1452. package/build/relations/CustomCollection.d.ts +0 -69
  1453. package/build/relations/CustomCollection.d.ts.map +0 -1
  1454. package/build/relations/CustomReference.d.ts +0 -71
  1455. package/build/relations/CustomReference.d.ts.map +0 -1
  1456. package/build/relations/EnumCollection.d.ts +0 -81
  1457. package/build/relations/EnumCollection.d.ts.map +0 -1
  1458. package/build/relations/LargeCollection.d.ts +0 -19
  1459. package/build/relations/LargeCollection.d.ts.map +0 -1
  1460. package/build/relations/LargeCollection.js.map +0 -1
  1461. package/build/relations/ManyToManyCollection.d.ts +0 -52
  1462. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  1463. package/build/relations/ManyToManyLargeCollection.d.ts +0 -31
  1464. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  1465. package/build/relations/ManyToOneReference.d.ts +0 -117
  1466. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  1467. package/build/relations/OneToManyCollection.d.ts +0 -62
  1468. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  1469. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  1470. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  1471. package/build/relations/OneToOneReference.d.ts +0 -93
  1472. package/build/relations/OneToOneReference.d.ts.map +0 -1
  1473. package/build/relations/PolymorphicReference.d.ts +0 -89
  1474. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  1475. package/build/relations/ReactiveField.d.ts +0 -85
  1476. package/build/relations/ReactiveField.d.ts.map +0 -1
  1477. package/build/relations/ReactiveGetter.d.ts +0 -30
  1478. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  1479. package/build/relations/ReactiveManyToMany.d.ts +0 -57
  1480. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  1481. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -48
  1482. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  1483. package/build/relations/ReactiveReference.d.ts +0 -119
  1484. package/build/relations/ReactiveReference.d.ts.map +0 -1
  1485. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  1486. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  1487. package/build/relations/RecursiveCollection.d.ts +0 -108
  1488. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  1489. package/build/relations/RecursiveCycleError.d.ts +0 -13
  1490. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  1491. package/build/relations/Reference.d.ts +0 -35
  1492. package/build/relations/Reference.d.ts.map +0 -1
  1493. package/build/relations/Relation.d.ts +0 -14
  1494. package/build/relations/Relation.d.ts.map +0 -1
  1495. package/build/relations/hasAsyncMethod.d.ts +0 -27
  1496. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  1497. package/build/relations/hasManyDerived.d.ts +0 -22
  1498. package/build/relations/hasManyDerived.d.ts.map +0 -1
  1499. package/build/relations/hasManyThrough.d.ts +0 -10
  1500. package/build/relations/hasManyThrough.d.ts.map +0 -1
  1501. package/build/relations/hasOneDerived.d.ts +0 -12
  1502. package/build/relations/hasOneDerived.d.ts.map +0 -1
  1503. package/build/relations/hasOneThrough.d.ts +0 -10
  1504. package/build/relations/hasOneThrough.d.ts.map +0 -1
  1505. package/build/relations/hasProperty.d.ts +0 -50
  1506. package/build/relations/hasProperty.d.ts.map +0 -1
  1507. package/build/relations/index.d.ts +0 -30
  1508. package/build/relations/index.d.ts.map +0 -1
  1509. package/build/relations/index.js.map +0 -1
  1510. package/build/resurrection.d.ts +0 -10
  1511. package/build/resurrection.d.ts.map +0 -1
  1512. package/build/rules.d.ts +0 -123
  1513. package/build/rules.d.ts.map +0 -1
  1514. package/build/runtimeConfig.d.ts +0 -17
  1515. package/build/runtimeConfig.d.ts.map +0 -1
  1516. package/build/scopes.d.ts +0 -185
  1517. package/build/scopes.d.ts.map +0 -1
  1518. package/build/scopes.js +0 -302
  1519. package/build/scopes.js.map +0 -1
  1520. package/build/serde.d.ts +0 -277
  1521. package/build/serde.d.ts.map +0 -1
  1522. package/build/serde.js +0 -517
  1523. package/build/serde.js.map +0 -1
  1524. package/build/temporal.d.ts +0 -46
  1525. package/build/temporal.d.ts.map +0 -1
  1526. package/build/temporal.js +0 -66
  1527. package/build/temporal.js.map +0 -1
  1528. package/build/temporalMappers.d.ts +0 -25
  1529. package/build/temporalMappers.d.ts.map +0 -1
  1530. package/build/temporalMappers.js +0 -59
  1531. package/build/temporalMappers.js.map +0 -1
  1532. package/build/trusted.d.ts +0 -5
  1533. package/build/trusted.d.ts.map +0 -1
  1534. package/build/typeMap.d.ts +0 -68
  1535. package/build/typeMap.d.ts.map +0 -1
  1536. package/build/typeMap.js.map +0 -1
  1537. package/build/unnest.d.ts +0 -13
  1538. package/build/unnest.d.ts.map +0 -1
  1539. package/build/unnest.js +0 -85
  1540. package/build/unnest.js.map +0 -1
  1541. package/build/upsert.d.ts +0 -42
  1542. package/build/upsert.d.ts.map +0 -1
  1543. package/build/utils.d.ts +0 -60
  1544. package/build/utils.d.ts.map +0 -1
  1545. package/build/withLoaded.d.ts +0 -56
  1546. package/build/withLoaded.d.ts.map +0 -1
  1547. package/build/withLoaded.js +0 -76
  1548. package/build/withLoaded.js.map +0 -1
package/build/json.cjs ADDED
@@ -0,0 +1,79 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_relations_AbstractRelationImpl = require("./relations/AbstractRelationImpl.cjs");
3
+ const require_normalizeHints = require("./normalizeHints.cjs");
4
+ const require_relations_ReactiveGetter = require("./relations/ReactiveGetter.cjs");
5
+ const require_reactivity_reactiveHints = require("./reactivity/reactiveHints.cjs");
6
+ const require_relations_hasProperty = require("./relations/hasProperty.cjs");
7
+ const require_relations_ReactiveField = require("./relations/ReactiveField.cjs");
8
+ const require_relations_AsyncReactiveField = require("./relations/AsyncReactiveField.cjs");
9
+ require("./relations/index.cjs");
10
+ const require_EntityMetadata = require("./EntityMetadata.cjs");
11
+ require("./EntityManager.cjs");
12
+ const require_Entity = require("./Entity.cjs");
13
+ //#region src/json.ts
14
+ async function toJSON(entityOrList, hint) {
15
+ if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];
16
+ const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;
17
+ const loadHint = require_reactivity_reactiveHints.convertToLoadHint(require_EntityMetadata.getMetadata(entity), hint, true);
18
+ await entity.em.populate(entityOrList, loadHint);
19
+ const normHint = require_normalizeHints.normalizeHint(hint);
20
+ if (Array.isArray(entityOrList)) {
21
+ const list = [];
22
+ await Promise.all(entityOrList.map((entity) => {
23
+ const json = {};
24
+ list.push(json);
25
+ return copyToPayload(json, entity, normHint);
26
+ }));
27
+ return list;
28
+ } else {
29
+ const json = {};
30
+ await copyToPayload(json, entity, normHint);
31
+ return json;
32
+ }
33
+ }
34
+ /** Recursively copies the fields of `hint` from `entity` into the `payload`. */
35
+ async function copyToPayload(payload, entity, hint) {
36
+ for (const [payloadKey, nestedHint] of Object.entries(hint)) {
37
+ const nextHint = require_normalizeHints.normalizeHint(nestedHint);
38
+ let entityKey = payloadKey;
39
+ if (!(entityKey in entity)) {
40
+ const field = Object.values(require_EntityMetadata.getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);
41
+ if (field) entityKey = field.fieldName;
42
+ }
43
+ if (!(entityKey in entity)) {
44
+ if (typeof nestedHint !== "function") throw new Error(`Entity does not have a property ${payloadKey}`);
45
+ payload[payloadKey] = await nestedHint(entity);
46
+ } else {
47
+ const value = entity[entityKey];
48
+ if (isPrimitive(value)) payload[payloadKey] = value;
49
+ else if (value instanceof require_relations_AbstractRelationImpl.AbstractRelationImpl || value instanceof require_relations_ReactiveField.ReactiveFieldImpl || value instanceof require_relations_ReactiveGetter.ReactiveGetterImpl || value instanceof require_relations_AsyncReactiveField.AsyncReactiveFieldImpl || value instanceof require_relations_hasProperty.PropertyImpl) await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
50
+ else throw new Error(`Unable to encode value ${value} to JSON`);
51
+ }
52
+ }
53
+ }
54
+ function copyToPayloadValue(payload, key, value, nextHint) {
55
+ if (value === void 0 || value === null || isPrimitive(value)) payload[key] = value;
56
+ else if (require_Entity.isEntity(value)) {
57
+ if (nextHint && Object.keys(nextHint).length > 0) {
58
+ payload[key] = {};
59
+ return copyToPayload(payload[key], value, nextHint);
60
+ } else payload[key] = value.id;
61
+ } else if (Array.isArray(value)) {
62
+ const list = [];
63
+ payload[key] = list;
64
+ if (nextHint && Object.keys(nextHint).length > 0) return Promise.all(value.map(async (item, i) => {
65
+ if (require_Entity.isEntity(item)) {
66
+ list[i] = {};
67
+ return copyToPayload(list[i], item, nextHint);
68
+ } else list[i] = item;
69
+ }));
70
+ else for (const item of value) list.push(item.id);
71
+ } else payload[key] = value;
72
+ }
73
+ function isPrimitive(value) {
74
+ return value === null || typeof value !== "object";
75
+ }
76
+ //#endregion
77
+ exports.toJSON = toJSON;
78
+
79
+ //# sourceMappingURL=json.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.cjs","names":["convertToLoadHint","getMetadata","normalizeHint","AbstractRelationImpl","ReactiveFieldImpl","ReactiveGetterImpl","AsyncReactiveFieldImpl","PropertyImpl","isEntity"],"sources":["../src/json.ts"],"sourcesContent":["import { type Entity, isEntity } from \"src/Entity.ts\";\nimport { type IdOf } from \"src/EntityManager.ts\";\nimport { getMetadata } from \"src/EntityMetadata.ts\";\nimport { normalizeHint } from \"src/normalizeHints.ts\";\nimport { convertToLoadHint } from \"src/reactivity/reactiveHints.ts\";\nimport { AbstractRelationImpl } from \"src/relations/AbstractRelationImpl.ts\";\nimport { AsyncReactiveFieldImpl } from \"src/relations/AsyncReactiveField.ts\";\nimport { PropertyImpl } from \"src/relations/hasProperty.ts\";\nimport {\n type AsyncMethod,\n type Collection,\n type Property,\n type ReactiveGetter,\n type Reference,\n} from \"src/relations/index.ts\";\nimport { ReactiveFieldImpl } from \"src/relations/ReactiveField.ts\";\nimport { ReactiveGetterImpl } from \"src/relations/ReactiveGetter.ts\";\n\n/**\n * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.\n *\n * JSON hints are much like load hints/reactive hints:\n *\n * - Similar to load hints, they specify which relations should be loaded from the database\n * - Similar to reactive hints, they include specific fields to output\n * - Unlike either, they can include completely custom keys that are lambdas to generate custom values\n */\nexport type JsonHint<T extends Entity> =\n | (keyof Jsonable<T> & string)\n | ReadonlyArray<keyof Jsonable<T> & string>\n | NestedJsonHint<T>;\n\n/** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */\nexport type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;\n\n/** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */\nexport type EntityKeyJsonHint<T extends Entity> = {\n // The `as K` makes `bookIds` as a hint work...\n [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends infer U extends Entity ? JsonHint<U> : {}) | boolean;\n};\n\nexport type CustomJsonKeyHint<T> = {\n [key: string]: (entity: T) => any;\n};\n\n/**\n * Describes the JSON payload for `Entity.toJSON` to produce.\n *\n * - `[\"firstName\", \"lastName\"]` will produce a JSON payload with just those fields\n * - `{ author: { books: \"title\" } }` will produce a JSON payload with the author's books' titles\n *\n * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.\n */\nexport type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;\n\n/** The keys in `T` that we can put into a JSON payload. */\nexport type Jsonable<T extends Entity> = {\n -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>;\n};\n\n// this should probably be `keyof T` as long as they aren't methods/AsyncMethods.\n// so primitives, enums, references, collections, async properties, but also random getters.\nexport type JsonableValue<V> =\n V extends Reference<any, infer U, any>\n ? U\n : V extends Collection<any, infer U>\n ? U\n : V extends AsyncMethod<any, any, any>\n ? never\n : V extends Property<any, infer P>\n ? DropUndefined<P>\n : V extends ReactiveGetter<any, infer P>\n ? P\n : V;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entity: T,\n hint: H,\n): Promise<JsonPayload<T, H>>;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entities: readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H>[]>;\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entityOrList: T | readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H> | JsonPayload<T, H>[]> {\n // If called with a list, and nothing there, just early return\n if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];\n\n // Otherwise probe to get our first entity\n const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;\n const loadHint = convertToLoadHint(getMetadata(entity), hint as any, true);\n await entity.em.populate(entityOrList, loadHint);\n const normHint = normalizeHint(hint as any);\n\n if (Array.isArray(entityOrList)) {\n const list = [] as any;\n await Promise.all(\n entityOrList.map((entity) => {\n const json = {};\n list.push(json);\n return copyToPayload(json, entity, normHint);\n }),\n );\n return list;\n } else {\n const json = {};\n await copyToPayload(json, entity, normHint);\n return json as any;\n }\n}\n\n/**\n * Statically types the return value of `toJSON` based on the given `hint`.\n */\nexport type JsonPayload<T, H> = {\n [HK in keyof NormalizeHint<H> & string]: HK extends keyof T\n ? JsonPayloadKey<T, H, HK, HK>\n : HK extends `${infer TK extends string & keyof T}Id`\n ? JsonPayloadKey<T, H, TK, HK>\n : HK extends `${infer SK extends string}Ids` // bookIds -> books\n ? // Very naive singularization to see if the guessed bookIds -> books actually exists on T to map 1:1\n `${SK}s` extends keyof T\n ? JsonPayloadKey<T, H, `${SK}s`, HK>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>;\n};\n\ntype JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> =\n T[TK] extends Reference<any, infer U, any>\n ? JsonPayloadReference<U, NormalizeHint<H>[HK]>\n : T[TK] extends Collection<any, infer U>\n ? JsonPayloadCollection<U, NormalizeHint<H>[HK]>\n : T[TK] extends Property<any, infer U>\n ? JsonPayloadProperty<U, NormalizeHint<H>[HK]>\n : T[TK] extends ReactiveGetter<any, infer V>\n ? V\n : T[TK];\n\n// If the hint is empty, we just output the id as a string.\ntype JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;\n\ntype JsonPayloadCollection<U extends Entity, H> =\n // If this is `books: true`, use the id\n H extends true\n ? IdOf<U>[]\n : // If this is `{}`, use the id\n IsEmpty<H> extends true\n ? IdOf<U>[]\n : // Otherwise it's a nested hint\n JsonPayload<U, H>[];\n\ntype JsonPayloadProperty<P, H> =\n // If an async property returns an entity, treat it like a reference\n P extends Entity | undefined\n ? JsonPayloadReference<P, H>\n : // If an async property returns an entity[], treat it like a collection\n P extends (infer U extends Entity)[] | undefined\n ? JsonPayloadCollection<U, H>\n : // Otherwise leave it as-is\n P;\n\ntype JsonPayloadCustom<H> = H extends (...args: any) => infer V ? UnwrapPromise<V> : H;\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\n/** Recursively copies the fields of `hint` from `entity` into the `payload`. */\nasync function copyToPayload(payload: Record<string, {}>, entity: any, hint: object): Promise<void> {\n // Look at each key in the hint and determine\n for (const [payloadKey, nestedHint] of Object.entries(hint)) {\n const nextHint = normalizeHint(nestedHint);\n // Watch for `companyId`\n let entityKey = payloadKey;\n if (!(entityKey in entity)) {\n const field = Object.values(getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);\n if (field) {\n entityKey = field.fieldName;\n }\n }\n // Look for custom props\n if (!(entityKey in entity)) {\n if (typeof nestedHint !== \"function\") {\n throw new Error(`Entity does not have a property ${payloadKey}`);\n }\n payload[payloadKey] = await nestedHint(entity);\n } else {\n const value = entity[entityKey];\n if (isPrimitive(value)) {\n payload[payloadKey] = value;\n } else if (\n value instanceof AbstractRelationImpl ||\n value instanceof ReactiveFieldImpl ||\n value instanceof ReactiveGetterImpl ||\n value instanceof AsyncReactiveFieldImpl ||\n value instanceof PropertyImpl\n ) {\n await copyToPayloadValue(payload, payloadKey, value.get, nextHint);\n } else {\n throw new Error(`Unable to encode value ${value} to JSON`);\n }\n }\n }\n}\n\nfunction copyToPayloadValue(payload: any, key: any, value: any, nextHint: any): Promise<unknown> | undefined {\n if (value === undefined || value === null || isPrimitive(value)) {\n payload[key] = value;\n } else if (isEntity(value)) {\n if (nextHint && Object.keys(nextHint).length > 0) {\n payload[key] = {};\n return copyToPayload(payload[key], value, nextHint);\n } else {\n payload[key] = value.id;\n }\n } else if (Array.isArray(value)) {\n const list = [] as any[];\n payload[key] = list;\n if (nextHint && Object.keys(nextHint).length > 0) {\n return Promise.all(\n value.map(async (item, i) => {\n if (isEntity(item)) {\n list[i] = {};\n return copyToPayload(list[i], item, nextHint);\n } else {\n // This is probably undefined\n list[i] = item;\n }\n }),\n );\n } else {\n // This is assuming an array of entities...\n for (const item of value) list.push(item.id);\n }\n } else {\n payload[key] = value;\n }\n}\n\nfunction isPrimitive(value: any): boolean {\n return value === null || typeof value !== \"object\";\n}\n\ntype DropUndefined<T> = T extends infer U extends Entity | undefined ? U : T;\n\n// A copy/paste of NormalizeHint w/o the `DropSuffix` stuff\ntype NormalizeHint<H> = H extends string\n ? Record<H, {}>\n : H extends ReadonlyArray<any>\n ? Record<H[number], {}>\n : { [K in keyof H]: H[K] };\n\ntype IsEmpty<T> = keyof T extends never ? true : false;\n"],"mappings":";;;;;;;;;;;;;AAwGA,eAAsB,OACpB,cACA,MACkD;CAElD,IAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,GAAG,OAAO,CAAC;CAGtE,MAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,aAAa,KAAK;CAC/D,MAAM,WAAWA,iCAAAA,kBAAkBC,uBAAAA,YAAY,MAAM,GAAG,MAAa,IAAI;CACzE,MAAM,OAAO,GAAG,SAAS,cAAc,QAAQ;CAC/C,MAAM,WAAWC,uBAAAA,cAAc,IAAW;CAE1C,IAAI,MAAM,QAAQ,YAAY,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,MAAM,QAAQ,IACZ,aAAa,KAAK,WAAW;GAC3B,MAAM,OAAO,CAAC;GACd,KAAK,KAAK,IAAI;GACd,OAAO,cAAc,MAAM,QAAQ,QAAQ;EAC7C,CAAC,CACH;EACA,OAAO;CACT,OAAO;EACL,MAAM,OAAO,CAAC;EACd,MAAM,cAAc,MAAM,QAAQ,QAAQ;EAC1C,OAAO;CACT;AACF;;AAyDA,eAAe,cAAc,SAA6B,QAAa,MAA6B;CAElG,KAAK,MAAM,CAAC,YAAY,eAAe,OAAO,QAAQ,IAAI,GAAG;EAC3D,MAAM,WAAWA,uBAAAA,cAAc,UAAU;EAEzC,IAAI,YAAY;EAChB,IAAI,EAAE,aAAa,SAAS;GAC1B,MAAM,QAAQ,OAAO,OAAOD,uBAAAA,YAAY,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,EAAE,gBAAgB,UAAU;GACnG,IAAI,OACF,YAAY,MAAM;EAEtB;EAEA,IAAI,EAAE,aAAa,SAAS;GAC1B,IAAI,OAAO,eAAe,YACxB,MAAM,IAAI,MAAM,mCAAmC,YAAY;GAEjE,QAAQ,cAAc,MAAM,WAAW,MAAM;EAC/C,OAAO;GACL,MAAM,QAAQ,OAAO;GACrB,IAAI,YAAY,KAAK,GACnB,QAAQ,cAAc;QACjB,IACL,iBAAiBE,uCAAAA,wBACjB,iBAAiBC,gCAAAA,qBACjB,iBAAiBC,iCAAAA,sBACjB,iBAAiBC,qCAAAA,0BACjB,iBAAiBC,8BAAAA,cAEjB,MAAM,mBAAmB,SAAS,YAAY,MAAM,KAAK,QAAQ;QAEjE,MAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;EAE7D;CACF;AACF;AAEA,SAAS,mBAAmB,SAAc,KAAU,OAAY,UAA6C;CAC3G,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,YAAY,KAAK,GAC5D,QAAQ,OAAO;MACV,IAAIC,eAAAA,SAAS,KAAK,GAAG;EAC1B,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG;GAChD,QAAQ,OAAO,CAAC;GAChB,OAAO,cAAc,QAAQ,MAAM,OAAO,QAAQ;EACpD,OACE,QAAQ,OAAO,MAAM;CAEzB,OAAO,IAAI,MAAM,QAAQ,KAAK,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,QAAQ,OAAO;EACf,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAC7C,OAAO,QAAQ,IACb,MAAM,IAAI,OAAO,MAAM,MAAM;GAC3B,IAAIA,eAAAA,SAAS,IAAI,GAAG;IAClB,KAAK,KAAK,CAAC;IACX,OAAO,cAAc,KAAK,IAAI,MAAM,QAAQ;GAC9C,OAEE,KAAK,KAAK;EAEd,CAAC,CACH;OAGA,KAAK,MAAM,QAAQ,OAAO,KAAK,KAAK,KAAK,EAAE;CAE/C,OACE,QAAQ,OAAO;AAEnB;AAEA,SAAS,YAAY,OAAqB;CACxC,OAAO,UAAU,QAAQ,OAAO,UAAU;AAC5C"}
@@ -0,0 +1,76 @@
1
+ import { Collection } from "./relations/Collection.cjs";
2
+ import { AsyncMethod } from "./relations/hasAsyncMethod.cjs";
3
+ import { Property } from "./relations/hasProperty.cjs";
4
+ import { Reference } from "./relations/Reference.cjs";
5
+ import { ReactiveGetter } from "./relations/ReactiveGetter.cjs";
6
+ import "./relations/index.cjs";
7
+ import { IdOf } from "./EntityManager.cjs";
8
+ import { Entity } from "./Entity.cjs";
9
+ //#region src/json.d.ts
10
+ /**
11
+ * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.
12
+ *
13
+ * JSON hints are much like load hints/reactive hints:
14
+ *
15
+ * - Similar to load hints, they specify which relations should be loaded from the database
16
+ * - Similar to reactive hints, they include specific fields to output
17
+ * - Unlike either, they can include completely custom keys that are lambdas to generate custom values
18
+ */
19
+ type JsonHint<T extends Entity> = (keyof Jsonable<T> & string) | ReadonlyArray<keyof Jsonable<T> & string> | NestedJsonHint<T>;
20
+ /** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */
21
+ type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;
22
+ /** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */
23
+ type EntityKeyJsonHint<T extends Entity> = { [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends (infer U extends Entity) ? JsonHint<U> : {}) | boolean; };
24
+ type CustomJsonKeyHint<T> = {
25
+ [key: string]: (entity: T) => any;
26
+ };
27
+ /**
28
+ * Describes the JSON payload for `Entity.toJSON` to produce.
29
+ *
30
+ * - `["firstName", "lastName"]` will produce a JSON payload with just those fields
31
+ * - `{ author: { books: "title" } }` will produce a JSON payload with the author's books' titles
32
+ *
33
+ * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.
34
+ */
35
+ type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;
36
+ /** The keys in `T` that we can put into a JSON payload. */
37
+ type Jsonable<T extends Entity> = { -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>; };
38
+ type JsonableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends AsyncMethod<any, any, any> ? never : V extends Property<any, infer P> ? DropUndefined<P> : V extends ReactiveGetter<any, infer P> ? P : V;
39
+ /**
40
+ * Provides an API to put an entity, or list of entities, into a JSON payload.
41
+ *
42
+ * The `hint` parameter is a JSON hint that describes what to include in the payload,
43
+ *
44
+ * - fields like `id`, `name`, etc.
45
+ * - relations like m2o, o2m, m2m, and o2o
46
+ * - relations are allowed to provide nested hints, just like nested load hints
47
+ * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
48
+ */
49
+ declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entity: T, hint: H): Promise<JsonPayload<T, H>>;
50
+ /**
51
+ * Provides an API to put an entity, or list of entities, into a JSON payload.
52
+ *
53
+ * The `hint` parameter is a JSON hint that describes what to include in the payload,
54
+ *
55
+ * - fields like `id`, `name`, etc.
56
+ * - relations like m2o, o2m, m2m, and o2o
57
+ * - relations are allowed to provide nested hints, just like nested load hints
58
+ * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
59
+ */
60
+ declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entities: readonly T[], hint: H): Promise<JsonPayload<T, H>[]>;
61
+ /**
62
+ * Statically types the return value of `toJSON` based on the given `hint`.
63
+ */
64
+ type JsonPayload<T, H> = { [HK in keyof NormalizeHint<H> & string]: HK extends keyof T ? JsonPayloadKey<T, H, HK, HK> : HK extends `${infer TK extends string & keyof T}Id` ? JsonPayloadKey<T, H, TK, HK> : HK extends `${infer SK extends string}Ids` ? `${SK}s` extends keyof T ? JsonPayloadKey<T, H, `${SK}s`, HK> : JsonPayloadCustom<NormalizeHint<H>[HK]> : JsonPayloadCustom<NormalizeHint<H>[HK]>; };
65
+ type JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> = T[TK] extends Reference<any, infer U, any> ? JsonPayloadReference<U, NormalizeHint<H>[HK]> : T[TK] extends Collection<any, infer U> ? JsonPayloadCollection<U, NormalizeHint<H>[HK]> : T[TK] extends Property<any, infer U> ? JsonPayloadProperty<U, NormalizeHint<H>[HK]> : T[TK] extends ReactiveGetter<any, infer V> ? V : T[TK];
66
+ type JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;
67
+ type JsonPayloadCollection<U extends Entity, H> = H extends true ? IdOf<U>[] : IsEmpty<H> extends true ? IdOf<U>[] : JsonPayload<U, H>[];
68
+ type JsonPayloadProperty<P, H> = P extends Entity | undefined ? JsonPayloadReference<P, H> : P extends (infer U extends Entity)[] | undefined ? JsonPayloadCollection<U, H> : P;
69
+ type JsonPayloadCustom<H> = H extends ((...args: any) => infer V) ? UnwrapPromise<V> : H;
70
+ type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
71
+ type DropUndefined<T> = T extends (infer U extends Entity | undefined) ? U : T;
72
+ type NormalizeHint<H> = H extends string ? Record<H, {}> : H extends ReadonlyArray<any> ? Record<H[number], {}> : { [K in keyof H]: H[K]; };
73
+ type IsEmpty<T> = keyof T extends never ? true : false;
74
+ //#endregion
75
+ export { CustomJsonKeyHint, EntityKeyJsonHint, JsonHint, JsonPayload, Jsonable, JsonableValue, NestedJsonHint, ToJsonHint, toJSON };
76
+ //# sourceMappingURL=json.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.cts","names":[],"sources":["../src/json.ts"],"mappings":";;;;;;;;;;;;;;;;;;KA2BY,SAAS,UAAU,iBACpB,SAAS,eAChB,oBAAoB,SAAS,eAC7B,eAAe;;KAGP,eAAe,UAAU,UAAU,kBAAkB,KAAK,kBAAkB;;KAG5E,kBAAkB,UAAU,aAErC,WAAW,SAAS,SAAS,QAAQ,SAAS,GAAG,kBAAiB,UAAU,UAAS,SAAS;KAGrF,kBAAkB;GAC3B,eAAe,QAAQ;;;;;;;;;;KAWd,WAAW,UAAU,UAAU,eAAe,KAAK,oBAAoB,SAAS;;KAGhF,SAAS,UAAU,uBAClB,WAAW,KAAK,cAAc,EAAE,4BAA4B,IAAI,cAAc,EAAE;KAKjF,cAAc,KACxB,UAAU,qBAAqB,UAC3B,IACA,UAAU,sBAAsB,KAC9B,IACA,UAAU,qCAER,UAAU,oBAAoB,KAC5B,cAAc,KACd,UAAU,0BAA0B,KAClC,IACA;;;;;;;;;;;iBAYQ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,QAAQ,GACR,MAAM,IACL,QAAQ,YAAY,GAAG;;;;;;;;;;;iBAYJ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,mBAAmB,KACnB,MAAM,IACL,QAAQ,YAAY,GAAG;;;;KAkCd,YAAY,GAAG,QACxB,YAAY,cAAc,cAAc,iBAAiB,IACtD,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,0BAA0B,QAC5C,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,4BAEf,oBAAoB,IACrB,eAAe,GAAG,MAAM,OAAO,MAC/B,kBAAkB,cAAc,GAAG,OACrC,kBAAkB,cAAc,GAAG;KAGxC,eAAe,GAAG,GAAG,iBAAiB,GAAG,iBAAiB,cAAc,MAC3E,EAAE,YAAY,qBAAqB,UAC/B,qBAAqB,GAAG,cAAc,GAAG,OACzC,EAAE,YAAY,sBAAsB,KAClC,sBAAsB,GAAG,cAAc,GAAG,OAC1C,EAAE,YAAY,oBAAoB,KAChC,oBAAoB,GAAG,cAAc,GAAG,OACxC,EAAE,YAAY,0BAA0B,KACtC,IACA,EAAE;KAGT,qBAAqB,GAAG,KAAK,QAAQ,2BAA2B,YAAY,GAAG;KAE/E,sBAAsB,UAAU,QAAQ,KAE3C,iBACI,KAAK,OAEL,QAAQ,kBACN,KAAK,OAEL,YAAY,GAAG;KAElB,oBAAoB,GAAG,KAE1B,UAAU,qBACN,qBAAqB,GAAG,KAExB,iBAAiB,UAAU,wBACzB,sBAAsB,GAAG,KAEzB;KAEH,kBAAkB,KAAK,eAAc,oBAAoB,KAAI,cAAc,KAAK;KAEhF,cAAc,KAAK,UAAU,cAAc,KAAK,IAAI;KA8EpD,cAAc,KAAK,iBAAgB,UAAU,sBAAqB,IAAI;KAGtE,cAAc,KAAK,mBACpB,OAAO,SACP,UAAU,qBACR,OAAO,oBACJ,WAAW,IAAI,EAAE;KAErB,QAAQ,WAAW"}
@@ -0,0 +1,76 @@
1
+ import { Collection } from "./relations/Collection.mjs";
2
+ import { AsyncMethod } from "./relations/hasAsyncMethod.mjs";
3
+ import { Property } from "./relations/hasProperty.mjs";
4
+ import { Reference } from "./relations/Reference.mjs";
5
+ import { ReactiveGetter } from "./relations/ReactiveGetter.mjs";
6
+ import "./relations/index.mjs";
7
+ import { IdOf } from "./EntityManager.mjs";
8
+ import { Entity } from "./Entity.mjs";
9
+ //#region src/json.d.ts
10
+ /**
11
+ * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.
12
+ *
13
+ * JSON hints are much like load hints/reactive hints:
14
+ *
15
+ * - Similar to load hints, they specify which relations should be loaded from the database
16
+ * - Similar to reactive hints, they include specific fields to output
17
+ * - Unlike either, they can include completely custom keys that are lambdas to generate custom values
18
+ */
19
+ type JsonHint<T extends Entity> = (keyof Jsonable<T> & string) | ReadonlyArray<keyof Jsonable<T> & string> | NestedJsonHint<T>;
20
+ /** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */
21
+ type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;
22
+ /** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */
23
+ type EntityKeyJsonHint<T extends Entity> = { [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends (infer U extends Entity) ? JsonHint<U> : {}) | boolean; };
24
+ type CustomJsonKeyHint<T> = {
25
+ [key: string]: (entity: T) => any;
26
+ };
27
+ /**
28
+ * Describes the JSON payload for `Entity.toJSON` to produce.
29
+ *
30
+ * - `["firstName", "lastName"]` will produce a JSON payload with just those fields
31
+ * - `{ author: { books: "title" } }` will produce a JSON payload with the author's books' titles
32
+ *
33
+ * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.
34
+ */
35
+ type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;
36
+ /** The keys in `T` that we can put into a JSON payload. */
37
+ type Jsonable<T extends Entity> = { -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>; };
38
+ type JsonableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends AsyncMethod<any, any, any> ? never : V extends Property<any, infer P> ? DropUndefined<P> : V extends ReactiveGetter<any, infer P> ? P : V;
39
+ /**
40
+ * Provides an API to put an entity, or list of entities, into a JSON payload.
41
+ *
42
+ * The `hint` parameter is a JSON hint that describes what to include in the payload,
43
+ *
44
+ * - fields like `id`, `name`, etc.
45
+ * - relations like m2o, o2m, m2m, and o2o
46
+ * - relations are allowed to provide nested hints, just like nested load hints
47
+ * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
48
+ */
49
+ declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entity: T, hint: H): Promise<JsonPayload<T, H>>;
50
+ /**
51
+ * Provides an API to put an entity, or list of entities, into a JSON payload.
52
+ *
53
+ * The `hint` parameter is a JSON hint that describes what to include in the payload,
54
+ *
55
+ * - fields like `id`, `name`, etc.
56
+ * - relations like m2o, o2m, m2m, and o2o
57
+ * - relations are allowed to provide nested hints, just like nested load hints
58
+ * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
59
+ */
60
+ declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entities: readonly T[], hint: H): Promise<JsonPayload<T, H>[]>;
61
+ /**
62
+ * Statically types the return value of `toJSON` based on the given `hint`.
63
+ */
64
+ type JsonPayload<T, H> = { [HK in keyof NormalizeHint<H> & string]: HK extends keyof T ? JsonPayloadKey<T, H, HK, HK> : HK extends `${infer TK extends string & keyof T}Id` ? JsonPayloadKey<T, H, TK, HK> : HK extends `${infer SK extends string}Ids` ? `${SK}s` extends keyof T ? JsonPayloadKey<T, H, `${SK}s`, HK> : JsonPayloadCustom<NormalizeHint<H>[HK]> : JsonPayloadCustom<NormalizeHint<H>[HK]>; };
65
+ type JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> = T[TK] extends Reference<any, infer U, any> ? JsonPayloadReference<U, NormalizeHint<H>[HK]> : T[TK] extends Collection<any, infer U> ? JsonPayloadCollection<U, NormalizeHint<H>[HK]> : T[TK] extends Property<any, infer U> ? JsonPayloadProperty<U, NormalizeHint<H>[HK]> : T[TK] extends ReactiveGetter<any, infer V> ? V : T[TK];
66
+ type JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;
67
+ type JsonPayloadCollection<U extends Entity, H> = H extends true ? IdOf<U>[] : IsEmpty<H> extends true ? IdOf<U>[] : JsonPayload<U, H>[];
68
+ type JsonPayloadProperty<P, H> = P extends Entity | undefined ? JsonPayloadReference<P, H> : P extends (infer U extends Entity)[] | undefined ? JsonPayloadCollection<U, H> : P;
69
+ type JsonPayloadCustom<H> = H extends ((...args: any) => infer V) ? UnwrapPromise<V> : H;
70
+ type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
71
+ type DropUndefined<T> = T extends (infer U extends Entity | undefined) ? U : T;
72
+ type NormalizeHint<H> = H extends string ? Record<H, {}> : H extends ReadonlyArray<any> ? Record<H[number], {}> : { [K in keyof H]: H[K]; };
73
+ type IsEmpty<T> = keyof T extends never ? true : false;
74
+ //#endregion
75
+ export { CustomJsonKeyHint, EntityKeyJsonHint, JsonHint, JsonPayload, Jsonable, JsonableValue, NestedJsonHint, ToJsonHint, toJSON };
76
+ //# sourceMappingURL=json.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.mts","names":[],"sources":["../src/json.ts"],"mappings":";;;;;;;;;;;;;;;;;;KA2BY,SAAS,UAAU,iBACpB,SAAS,eAChB,oBAAoB,SAAS,eAC7B,eAAe;;KAGP,eAAe,UAAU,UAAU,kBAAkB,KAAK,kBAAkB;;KAG5E,kBAAkB,UAAU,aAErC,WAAW,SAAS,SAAS,QAAQ,SAAS,GAAG,kBAAiB,UAAU,UAAS,SAAS;KAGrF,kBAAkB;GAC3B,eAAe,QAAQ;;;;;;;;;;KAWd,WAAW,UAAU,UAAU,eAAe,KAAK,oBAAoB,SAAS;;KAGhF,SAAS,UAAU,uBAClB,WAAW,KAAK,cAAc,EAAE,4BAA4B,IAAI,cAAc,EAAE;KAKjF,cAAc,KACxB,UAAU,qBAAqB,UAC3B,IACA,UAAU,sBAAsB,KAC9B,IACA,UAAU,qCAER,UAAU,oBAAoB,KAC5B,cAAc,KACd,UAAU,0BAA0B,KAClC,IACA;;;;;;;;;;;iBAYQ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,QAAQ,GACR,MAAM,IACL,QAAQ,YAAY,GAAG;;;;;;;;;;;iBAYJ,OAAO,UAAU,cAAc,UAAU,SAAS,IACtE,mBAAmB,KACnB,MAAM,IACL,QAAQ,YAAY,GAAG;;;;KAkCd,YAAY,GAAG,QACxB,YAAY,cAAc,cAAc,iBAAiB,IACtD,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,0BAA0B,QAC5C,eAAe,GAAG,GAAG,IAAI,MACzB,oBAAoB,4BAEf,oBAAoB,IACrB,eAAe,GAAG,MAAM,OAAO,MAC/B,kBAAkB,cAAc,GAAG,OACrC,kBAAkB,cAAc,GAAG;KAGxC,eAAe,GAAG,GAAG,iBAAiB,GAAG,iBAAiB,cAAc,MAC3E,EAAE,YAAY,qBAAqB,UAC/B,qBAAqB,GAAG,cAAc,GAAG,OACzC,EAAE,YAAY,sBAAsB,KAClC,sBAAsB,GAAG,cAAc,GAAG,OAC1C,EAAE,YAAY,oBAAoB,KAChC,oBAAoB,GAAG,cAAc,GAAG,OACxC,EAAE,YAAY,0BAA0B,KACtC,IACA,EAAE;KAGT,qBAAqB,GAAG,KAAK,QAAQ,2BAA2B,YAAY,GAAG;KAE/E,sBAAsB,UAAU,QAAQ,KAE3C,iBACI,KAAK,OAEL,QAAQ,kBACN,KAAK,OAEL,YAAY,GAAG;KAElB,oBAAoB,GAAG,KAE1B,UAAU,qBACN,qBAAqB,GAAG,KAExB,iBAAiB,UAAU,wBACzB,sBAAsB,GAAG,KAEzB;KAEH,kBAAkB,KAAK,eAAc,oBAAoB,KAAI,cAAc,KAAK;KAEhF,cAAc,KAAK,UAAU,cAAc,KAAK,IAAI;KA8EpD,cAAc,KAAK,iBAAgB,UAAU,sBAAqB,IAAI;KAGtE,cAAc,KAAK,mBACpB,OAAO,SACP,UAAU,qBACR,OAAO,oBACJ,WAAW,IAAI,EAAE;KAErB,QAAQ,WAAW"}
package/build/json.js CHANGED
@@ -1,116 +1,78 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toJSON = toJSON;
4
- const Entity_1 = require("./Entity");
5
- const EntityMetadata_1 = require("./EntityMetadata");
6
- const normalizeHints_1 = require("./normalizeHints");
7
- const reactiveHints_1 = require("./reactiveHints");
8
- const AbstractRelationImpl_1 = require("./relations/AbstractRelationImpl");
9
- const ReactiveField_1 = require("./relations/ReactiveField");
10
- const ReactiveGetter_1 = require("./relations/ReactiveGetter");
11
- const AsyncReactiveField_1 = require("./relations/AsyncReactiveField");
12
- const hasProperty_1 = require("./relations/hasProperty");
1
+ import { AbstractRelationImpl } from "./relations/AbstractRelationImpl.js";
2
+ import { normalizeHint } from "./normalizeHints.js";
3
+ import { ReactiveGetterImpl } from "./relations/ReactiveGetter.js";
4
+ import { convertToLoadHint } from "./reactivity/reactiveHints.js";
5
+ import { PropertyImpl } from "./relations/hasProperty.js";
6
+ import { ReactiveFieldImpl } from "./relations/ReactiveField.js";
7
+ import { AsyncReactiveFieldImpl } from "./relations/AsyncReactiveField.js";
8
+ import "./relations/index.js";
9
+ import { getMetadata } from "./EntityMetadata.js";
10
+ import "./EntityManager.js";
11
+ import { isEntity } from "./Entity.js";
12
+ //#region src/json.ts
13
13
  async function toJSON(entityOrList, hint) {
14
- // If called with a list, and nothing there, just early return
15
- if (Array.isArray(entityOrList) && entityOrList.length === 0)
16
- return [];
17
- // Otherwise probe to get our first entity
18
- const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;
19
- const loadHint = (0, reactiveHints_1.convertToLoadHint)((0, EntityMetadata_1.getMetadata)(entity), hint, true);
20
- await entity.em.populate(entityOrList, loadHint);
21
- const normHint = (0, normalizeHints_1.normalizeHint)(hint);
22
- if (Array.isArray(entityOrList)) {
23
- const list = [];
24
- await Promise.all(entityOrList.map((entity) => {
25
- const json = {};
26
- list.push(json);
27
- return copyToPayload(json, entity, normHint);
28
- }));
29
- return list;
30
- }
31
- else {
32
- const json = {};
33
- await copyToPayload(json, entity, normHint);
34
- return json;
35
- }
14
+ if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];
15
+ const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;
16
+ const loadHint = convertToLoadHint(getMetadata(entity), hint, true);
17
+ await entity.em.populate(entityOrList, loadHint);
18
+ const normHint = normalizeHint(hint);
19
+ if (Array.isArray(entityOrList)) {
20
+ const list = [];
21
+ await Promise.all(entityOrList.map((entity) => {
22
+ const json = {};
23
+ list.push(json);
24
+ return copyToPayload(json, entity, normHint);
25
+ }));
26
+ return list;
27
+ } else {
28
+ const json = {};
29
+ await copyToPayload(json, entity, normHint);
30
+ return json;
31
+ }
36
32
  }
37
33
  /** Recursively copies the fields of `hint` from `entity` into the `payload`. */
38
34
  async function copyToPayload(payload, entity, hint) {
39
- // Look at each key in the hint and determine
40
- for (const [payloadKey, nestedHint] of Object.entries(hint)) {
41
- const nextHint = (0, normalizeHints_1.normalizeHint)(nestedHint);
42
- // Watch for `companyId`
43
- let entityKey = payloadKey;
44
- if (!(entityKey in entity)) {
45
- const field = Object.values((0, EntityMetadata_1.getMetadata)(entity).allFields).find((f) => f.fieldIdName === payloadKey);
46
- if (field) {
47
- entityKey = field.fieldName;
48
- }
49
- }
50
- // Look for custom props
51
- if (!(entityKey in entity)) {
52
- if (typeof nestedHint !== "function") {
53
- throw new Error(`Entity does not have a property ${payloadKey}`);
54
- }
55
- payload[payloadKey] = await nestedHint(entity);
56
- }
57
- else {
58
- const value = entity[entityKey];
59
- if (isPrimitive(value)) {
60
- payload[payloadKey] = value;
61
- }
62
- else if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl ||
63
- value instanceof ReactiveField_1.ReactiveFieldImpl ||
64
- value instanceof ReactiveGetter_1.ReactiveGetterImpl ||
65
- value instanceof AsyncReactiveField_1.AsyncReactiveFieldImpl ||
66
- value instanceof hasProperty_1.PropertyImpl) {
67
- await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
68
- }
69
- else {
70
- throw new Error(`Unable to encode value ${value} to JSON`);
71
- }
72
- }
73
- }
35
+ for (const [payloadKey, nestedHint] of Object.entries(hint)) {
36
+ const nextHint = normalizeHint(nestedHint);
37
+ let entityKey = payloadKey;
38
+ if (!(entityKey in entity)) {
39
+ const field = Object.values(getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);
40
+ if (field) entityKey = field.fieldName;
41
+ }
42
+ if (!(entityKey in entity)) {
43
+ if (typeof nestedHint !== "function") throw new Error(`Entity does not have a property ${payloadKey}`);
44
+ payload[payloadKey] = await nestedHint(entity);
45
+ } else {
46
+ const value = entity[entityKey];
47
+ if (isPrimitive(value)) payload[payloadKey] = value;
48
+ else if (value instanceof AbstractRelationImpl || value instanceof ReactiveFieldImpl || value instanceof ReactiveGetterImpl || value instanceof AsyncReactiveFieldImpl || value instanceof PropertyImpl) await copyToPayloadValue(payload, payloadKey, value.get, nextHint);
49
+ else throw new Error(`Unable to encode value ${value} to JSON`);
50
+ }
51
+ }
74
52
  }
75
53
  function copyToPayloadValue(payload, key, value, nextHint) {
76
- if (value === undefined || value === null || isPrimitive(value)) {
77
- payload[key] = value;
78
- }
79
- else if ((0, Entity_1.isEntity)(value)) {
80
- if (nextHint && Object.keys(nextHint).length > 0) {
81
- payload[key] = {};
82
- return copyToPayload(payload[key], value, nextHint);
83
- }
84
- else {
85
- payload[key] = value.id;
86
- }
87
- }
88
- else if (Array.isArray(value)) {
89
- const list = [];
90
- payload[key] = list;
91
- if (nextHint && Object.keys(nextHint).length > 0) {
92
- return Promise.all(value.map(async (item, i) => {
93
- if ((0, Entity_1.isEntity)(item)) {
94
- list[i] = {};
95
- return copyToPayload(list[i], item, nextHint);
96
- }
97
- else {
98
- // This is probably undefined
99
- list[i] = item;
100
- }
101
- }));
102
- }
103
- else {
104
- // This is assuming an array of entities...
105
- for (const item of value)
106
- list.push(item.id);
107
- }
108
- }
109
- else {
110
- payload[key] = value;
111
- }
54
+ if (value === void 0 || value === null || isPrimitive(value)) payload[key] = value;
55
+ else if (isEntity(value)) {
56
+ if (nextHint && Object.keys(nextHint).length > 0) {
57
+ payload[key] = {};
58
+ return copyToPayload(payload[key], value, nextHint);
59
+ } else payload[key] = value.id;
60
+ } else if (Array.isArray(value)) {
61
+ const list = [];
62
+ payload[key] = list;
63
+ if (nextHint && Object.keys(nextHint).length > 0) return Promise.all(value.map(async (item, i) => {
64
+ if (isEntity(item)) {
65
+ list[i] = {};
66
+ return copyToPayload(list[i], item, nextHint);
67
+ } else list[i] = item;
68
+ }));
69
+ else for (const item of value) list.push(item.id);
70
+ } else payload[key] = value;
112
71
  }
113
72
  function isPrimitive(value) {
114
- return value === null || typeof value !== "object";
73
+ return value === null || typeof value !== "object";
115
74
  }
75
+ //#endregion
76
+ export { toJSON };
77
+
116
78
  //# sourceMappingURL=json.js.map
package/build/json.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":";;AAkGA,wBA4BC;AA9HD,qCAA4C;AAE5C,qDAA+C;AAC/C,qDAAiD;AACjD,mDAAoD;AAEpD,2EAAwE;AACxE,6DAA8D;AAC9D,+DAAgE;AAChE,uEAAwE;AACxE,yDAAuD;AAwFhD,KAAK,UAAU,MAAM,CAC1B,YAA8B,EAC9B,IAAO;IAEP,8DAA8D;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExE,0CAA0C;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,EAAE,IAAW,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,IAAW,CAAC,CAAC;IAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,EAAS,CAAC;QACvB,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAwDD,gFAAgF;AAChF,KAAK,UAAU,aAAa,CAAC,OAA2B,EAAE,MAAW,EAAE,IAAY;IACjF,6CAA6C;IAC7C,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,UAAU,CAAC,CAAC;QAC3C,wBAAwB;QACxB,IAAI,SAAS,GAAG,UAAU,CAAC;QAC3B,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;YACrG,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,wBAAwB;QACxB,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;iBAAM,IACL,KAAK,YAAY,2CAAoB;gBACrC,KAAK,YAAY,iCAAiB;gBAClC,KAAK,YAAY,mCAAkB;gBACnC,KAAK,YAAY,2CAAsB;gBACvC,KAAK,YAAY,0BAAY,EAC7B,CAAC;gBACD,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,UAAU,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAY,EAAE,GAAQ,EAAE,KAAU,EAAE,QAAa;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,EAAW,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACpB,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACb,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,6BAA6B;oBAC7B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAU;IAC7B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"json.js","names":[],"sources":["../src/json.ts"],"sourcesContent":["import { type Entity, isEntity } from \"src/Entity.ts\";\nimport { type IdOf } from \"src/EntityManager.ts\";\nimport { getMetadata } from \"src/EntityMetadata.ts\";\nimport { normalizeHint } from \"src/normalizeHints.ts\";\nimport { convertToLoadHint } from \"src/reactivity/reactiveHints.ts\";\nimport { AbstractRelationImpl } from \"src/relations/AbstractRelationImpl.ts\";\nimport { AsyncReactiveFieldImpl } from \"src/relations/AsyncReactiveField.ts\";\nimport { PropertyImpl } from \"src/relations/hasProperty.ts\";\nimport {\n type AsyncMethod,\n type Collection,\n type Property,\n type ReactiveGetter,\n type Reference,\n} from \"src/relations/index.ts\";\nimport { ReactiveFieldImpl } from \"src/relations/ReactiveField.ts\";\nimport { ReactiveGetterImpl } from \"src/relations/ReactiveGetter.ts\";\n\n/**\n * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.\n *\n * JSON hints are much like load hints/reactive hints:\n *\n * - Similar to load hints, they specify which relations should be loaded from the database\n * - Similar to reactive hints, they include specific fields to output\n * - Unlike either, they can include completely custom keys that are lambdas to generate custom values\n */\nexport type JsonHint<T extends Entity> =\n | (keyof Jsonable<T> & string)\n | ReadonlyArray<keyof Jsonable<T> & string>\n | NestedJsonHint<T>;\n\n/** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */\nexport type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;\n\n/** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */\nexport type EntityKeyJsonHint<T extends Entity> = {\n // The `as K` makes `bookIds` as a hint work...\n [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends infer U extends Entity ? JsonHint<U> : {}) | boolean;\n};\n\nexport type CustomJsonKeyHint<T> = {\n [key: string]: (entity: T) => any;\n};\n\n/**\n * Describes the JSON payload for `Entity.toJSON` to produce.\n *\n * - `[\"firstName\", \"lastName\"]` will produce a JSON payload with just those fields\n * - `{ author: { books: \"title\" } }` will produce a JSON payload with the author's books' titles\n *\n * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.\n */\nexport type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;\n\n/** The keys in `T` that we can put into a JSON payload. */\nexport type Jsonable<T extends Entity> = {\n -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>;\n};\n\n// this should probably be `keyof T` as long as they aren't methods/AsyncMethods.\n// so primitives, enums, references, collections, async properties, but also random getters.\nexport type JsonableValue<V> =\n V extends Reference<any, infer U, any>\n ? U\n : V extends Collection<any, infer U>\n ? U\n : V extends AsyncMethod<any, any, any>\n ? never\n : V extends Property<any, infer P>\n ? DropUndefined<P>\n : V extends ReactiveGetter<any, infer P>\n ? P\n : V;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entity: T,\n hint: H,\n): Promise<JsonPayload<T, H>>;\n\n/**\n * Provides an API to put an entity, or list of entities, into a JSON payload.\n *\n * The `hint` parameter is a JSON hint that describes what to include in the payload,\n *\n * - fields like `id`, `name`, etc.\n * - relations like m2o, o2m, m2m, and o2o\n * - relations are allowed to provide nested hints, just like nested load hints\n * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`\n */\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entities: readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H>[]>;\nexport async function toJSON<T extends Entity, const H extends JsonHint<T>>(\n entityOrList: T | readonly T[],\n hint: H,\n): Promise<JsonPayload<T, H> | JsonPayload<T, H>[]> {\n // If called with a list, and nothing there, just early return\n if (Array.isArray(entityOrList) && entityOrList.length === 0) return [];\n\n // Otherwise probe to get our first entity\n const entity = Array.isArray(entityOrList) ? entityOrList[0] : entityOrList;\n const loadHint = convertToLoadHint(getMetadata(entity), hint as any, true);\n await entity.em.populate(entityOrList, loadHint);\n const normHint = normalizeHint(hint as any);\n\n if (Array.isArray(entityOrList)) {\n const list = [] as any;\n await Promise.all(\n entityOrList.map((entity) => {\n const json = {};\n list.push(json);\n return copyToPayload(json, entity, normHint);\n }),\n );\n return list;\n } else {\n const json = {};\n await copyToPayload(json, entity, normHint);\n return json as any;\n }\n}\n\n/**\n * Statically types the return value of `toJSON` based on the given `hint`.\n */\nexport type JsonPayload<T, H> = {\n [HK in keyof NormalizeHint<H> & string]: HK extends keyof T\n ? JsonPayloadKey<T, H, HK, HK>\n : HK extends `${infer TK extends string & keyof T}Id`\n ? JsonPayloadKey<T, H, TK, HK>\n : HK extends `${infer SK extends string}Ids` // bookIds -> books\n ? // Very naive singularization to see if the guessed bookIds -> books actually exists on T to map 1:1\n `${SK}s` extends keyof T\n ? JsonPayloadKey<T, H, `${SK}s`, HK>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>\n : JsonPayloadCustom<NormalizeHint<H>[HK]>;\n};\n\ntype JsonPayloadKey<T, H, TK extends keyof T, HK extends keyof NormalizeHint<H>> =\n T[TK] extends Reference<any, infer U, any>\n ? JsonPayloadReference<U, NormalizeHint<H>[HK]>\n : T[TK] extends Collection<any, infer U>\n ? JsonPayloadCollection<U, NormalizeHint<H>[HK]>\n : T[TK] extends Property<any, infer U>\n ? JsonPayloadProperty<U, NormalizeHint<H>[HK]>\n : T[TK] extends ReactiveGetter<any, infer V>\n ? V\n : T[TK];\n\n// If the hint is empty, we just output the id as a string.\ntype JsonPayloadReference<U, H> = IsEmpty<H> extends true ? string : JsonPayload<U, H>;\n\ntype JsonPayloadCollection<U extends Entity, H> =\n // If this is `books: true`, use the id\n H extends true\n ? IdOf<U>[]\n : // If this is `{}`, use the id\n IsEmpty<H> extends true\n ? IdOf<U>[]\n : // Otherwise it's a nested hint\n JsonPayload<U, H>[];\n\ntype JsonPayloadProperty<P, H> =\n // If an async property returns an entity, treat it like a reference\n P extends Entity | undefined\n ? JsonPayloadReference<P, H>\n : // If an async property returns an entity[], treat it like a collection\n P extends (infer U extends Entity)[] | undefined\n ? JsonPayloadCollection<U, H>\n : // Otherwise leave it as-is\n P;\n\ntype JsonPayloadCustom<H> = H extends (...args: any) => infer V ? UnwrapPromise<V> : H;\n\ntype UnwrapPromise<T> = T extends Promise<infer U> ? U : T;\n\n/** Recursively copies the fields of `hint` from `entity` into the `payload`. */\nasync function copyToPayload(payload: Record<string, {}>, entity: any, hint: object): Promise<void> {\n // Look at each key in the hint and determine\n for (const [payloadKey, nestedHint] of Object.entries(hint)) {\n const nextHint = normalizeHint(nestedHint);\n // Watch for `companyId`\n let entityKey = payloadKey;\n if (!(entityKey in entity)) {\n const field = Object.values(getMetadata(entity).allFields).find((f) => f.fieldIdName === payloadKey);\n if (field) {\n entityKey = field.fieldName;\n }\n }\n // Look for custom props\n if (!(entityKey in entity)) {\n if (typeof nestedHint !== \"function\") {\n throw new Error(`Entity does not have a property ${payloadKey}`);\n }\n payload[payloadKey] = await nestedHint(entity);\n } else {\n const value = entity[entityKey];\n if (isPrimitive(value)) {\n payload[payloadKey] = value;\n } else if (\n value instanceof AbstractRelationImpl ||\n value instanceof ReactiveFieldImpl ||\n value instanceof ReactiveGetterImpl ||\n value instanceof AsyncReactiveFieldImpl ||\n value instanceof PropertyImpl\n ) {\n await copyToPayloadValue(payload, payloadKey, value.get, nextHint);\n } else {\n throw new Error(`Unable to encode value ${value} to JSON`);\n }\n }\n }\n}\n\nfunction copyToPayloadValue(payload: any, key: any, value: any, nextHint: any): Promise<unknown> | undefined {\n if (value === undefined || value === null || isPrimitive(value)) {\n payload[key] = value;\n } else if (isEntity(value)) {\n if (nextHint && Object.keys(nextHint).length > 0) {\n payload[key] = {};\n return copyToPayload(payload[key], value, nextHint);\n } else {\n payload[key] = value.id;\n }\n } else if (Array.isArray(value)) {\n const list = [] as any[];\n payload[key] = list;\n if (nextHint && Object.keys(nextHint).length > 0) {\n return Promise.all(\n value.map(async (item, i) => {\n if (isEntity(item)) {\n list[i] = {};\n return copyToPayload(list[i], item, nextHint);\n } else {\n // This is probably undefined\n list[i] = item;\n }\n }),\n );\n } else {\n // This is assuming an array of entities...\n for (const item of value) list.push(item.id);\n }\n } else {\n payload[key] = value;\n }\n}\n\nfunction isPrimitive(value: any): boolean {\n return value === null || typeof value !== \"object\";\n}\n\ntype DropUndefined<T> = T extends infer U extends Entity | undefined ? U : T;\n\n// A copy/paste of NormalizeHint w/o the `DropSuffix` stuff\ntype NormalizeHint<H> = H extends string\n ? Record<H, {}>\n : H extends ReadonlyArray<any>\n ? Record<H[number], {}>\n : { [K in keyof H]: H[K] };\n\ntype IsEmpty<T> = keyof T extends never ? true : false;\n"],"mappings":";;;;;;;;;;;;AAwGA,eAAsB,OACpB,cACA,MACkD;CAElD,IAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,GAAG,OAAO,CAAC;CAGtE,MAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,aAAa,KAAK;CAC/D,MAAM,WAAW,kBAAkB,YAAY,MAAM,GAAG,MAAa,IAAI;CACzE,MAAM,OAAO,GAAG,SAAS,cAAc,QAAQ;CAC/C,MAAM,WAAW,cAAc,IAAW;CAE1C,IAAI,MAAM,QAAQ,YAAY,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,MAAM,QAAQ,IACZ,aAAa,KAAK,WAAW;GAC3B,MAAM,OAAO,CAAC;GACd,KAAK,KAAK,IAAI;GACd,OAAO,cAAc,MAAM,QAAQ,QAAQ;EAC7C,CAAC,CACH;EACA,OAAO;CACT,OAAO;EACL,MAAM,OAAO,CAAC;EACd,MAAM,cAAc,MAAM,QAAQ,QAAQ;EAC1C,OAAO;CACT;AACF;;AAyDA,eAAe,cAAc,SAA6B,QAAa,MAA6B;CAElG,KAAK,MAAM,CAAC,YAAY,eAAe,OAAO,QAAQ,IAAI,GAAG;EAC3D,MAAM,WAAW,cAAc,UAAU;EAEzC,IAAI,YAAY;EAChB,IAAI,EAAE,aAAa,SAAS;GAC1B,MAAM,QAAQ,OAAO,OAAO,YAAY,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,EAAE,gBAAgB,UAAU;GACnG,IAAI,OACF,YAAY,MAAM;EAEtB;EAEA,IAAI,EAAE,aAAa,SAAS;GAC1B,IAAI,OAAO,eAAe,YACxB,MAAM,IAAI,MAAM,mCAAmC,YAAY;GAEjE,QAAQ,cAAc,MAAM,WAAW,MAAM;EAC/C,OAAO;GACL,MAAM,QAAQ,OAAO;GACrB,IAAI,YAAY,KAAK,GACnB,QAAQ,cAAc;QACjB,IACL,iBAAiB,wBACjB,iBAAiB,qBACjB,iBAAiB,sBACjB,iBAAiB,0BACjB,iBAAiB,cAEjB,MAAM,mBAAmB,SAAS,YAAY,MAAM,KAAK,QAAQ;QAEjE,MAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;EAE7D;CACF;AACF;AAEA,SAAS,mBAAmB,SAAc,KAAU,OAAY,UAA6C;CAC3G,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,YAAY,KAAK,GAC5D,QAAQ,OAAO;MACV,IAAI,SAAS,KAAK,GAAG;EAC1B,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG;GAChD,QAAQ,OAAO,CAAC;GAChB,OAAO,cAAc,QAAQ,MAAM,OAAO,QAAQ;EACpD,OACE,QAAQ,OAAO,MAAM;CAEzB,OAAO,IAAI,MAAM,QAAQ,KAAK,GAAG;EAC/B,MAAM,OAAO,CAAC;EACd,QAAQ,OAAO;EACf,IAAI,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,GAC7C,OAAO,QAAQ,IACb,MAAM,IAAI,OAAO,MAAM,MAAM;GAC3B,IAAI,SAAS,IAAI,GAAG;IAClB,KAAK,KAAK,CAAC;IACX,OAAO,cAAc,KAAK,IAAI,MAAM,QAAQ;GAC9C,OAEE,KAAK,KAAK;EAEd,CAAC,CACH;OAGA,KAAK,MAAM,QAAQ,OAAO,KAAK,KAAK,KAAK,EAAE;CAE/C,OACE,QAAQ,OAAO;AAEnB;AAEA,SAAS,YAAY,OAAqB;CACxC,OAAO,UAAU,QAAQ,OAAO,UAAU;AAC5C"}
package/build/k.cjs ADDED
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/k.ts
3
+ function k(strings) {
4
+ return strings.split(" ");
5
+ }
6
+ k(`foo bar zaz`);
7
+ //#endregion
8
+
9
+ //# sourceMappingURL=k.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"k.cjs","names":[],"sources":["../src/k.ts"],"sourcesContent":["type ToKeys<S extends string> = S extends `${infer H} ${infer T}` ? H | `${ToKeys<T>}` : S;\n\nfunction k<S extends string>(strings: S): ToKeys<S>[] {\n return strings.split(\" \") as ToKeys<S>[];\n}\n\nfunction foo(k: \"foo\" | \"bar\") {}\n\nconst keys = k(`foo bar zaz`);\n// keys.forEach(foo);\n"],"mappings":";;AAEA,SAAS,EAAoB,SAAyB;CACpD,OAAO,QAAQ,MAAM,GAAG;AAC1B;AAIa,EAAE,aAAa"}
package/build/k.d.cts ADDED
@@ -0,0 +1 @@
1
+ export {}
package/build/k.d.mts ADDED
@@ -0,0 +1 @@
1
+ export {}
package/build/k.js CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ //#region src/k.ts
3
2
  function k(strings) {
4
- return strings.split(" ");
3
+ return strings.split(" ");
5
4
  }
6
- function foo(k) { }
7
- const keys = k(`foo bar zaz`);
8
- // keys.forEach(foo);
5
+ k(`foo bar zaz`);
6
+ //#endregion
7
+ export {};
8
+
9
9
  //# sourceMappingURL=k.js.map
package/build/k.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"k.js","sourceRoot":"","sources":["../src/k.ts"],"names":[],"mappings":";;AAEA,SAAS,CAAC,CAAmB,OAAU;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;AAC3C,CAAC;AAED,SAAS,GAAG,CAAC,CAAgB,IAAG,CAAC;AAEjC,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AAC9B,qBAAqB"}
1
+ {"version":3,"file":"k.js","names":[],"sources":["../src/k.ts"],"sourcesContent":["type ToKeys<S extends string> = S extends `${infer H} ${infer T}` ? H | `${ToKeys<T>}` : S;\n\nfunction k<S extends string>(strings: S): ToKeys<S>[] {\n return strings.split(\" \") as ToKeys<S>[];\n}\n\nfunction foo(k: \"foo\" | \"bar\") {}\n\nconst keys = k(`foo bar zaz`);\n// keys.forEach(foo);\n"],"mappings":";AAEA,SAAS,EAAoB,SAAyB;CACpD,OAAO,QAAQ,MAAM,GAAG;AAC1B;AAIa,EAAE,aAAa"}