joist-orm 1.293.0 → 2.0.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 (486) hide show
  1. package/build/{drivers/PostgresDriver.d.ts → PostgresDriver.d.ts} +1 -4
  2. package/build/PostgresDriver.d.ts.map +1 -0
  3. package/build/{drivers/PostgresDriver.js → PostgresDriver.js} +49 -58
  4. package/build/PostgresDriver.js.map +1 -0
  5. package/build/codegen.d.ts +2 -0
  6. package/build/codegen.d.ts.map +1 -0
  7. package/build/codegen.js +29 -0
  8. package/build/codegen.js.map +1 -0
  9. package/build/graphql-codegen-export.d.ts +2 -0
  10. package/build/graphql-codegen-export.d.ts.map +1 -0
  11. package/build/{drivers/index.js → graphql-codegen-export.js} +3 -5
  12. package/build/graphql-codegen-export.js.map +1 -0
  13. package/build/graphql-export.d.ts +2 -0
  14. package/build/graphql-export.d.ts.map +1 -0
  15. package/build/graphql-export.js +19 -0
  16. package/build/graphql-export.js.map +1 -0
  17. package/build/index.d.ts +3 -127
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +8 -282
  20. package/build/index.js.map +1 -1
  21. package/build/knex-export.d.ts +2 -0
  22. package/build/knex-export.d.ts.map +1 -0
  23. package/build/knex-export.js +19 -0
  24. package/build/knex-export.js.map +1 -0
  25. package/build/pg-migrate.d.ts +2 -0
  26. package/build/pg-migrate.d.ts.map +1 -0
  27. package/build/pg-migrate.js +30 -0
  28. package/build/pg-migrate.js.map +1 -0
  29. package/build/postgres-driver.d.ts +2 -0
  30. package/build/postgres-driver.d.ts.map +1 -0
  31. package/build/postgres-driver.js +7 -0
  32. package/build/postgres-driver.js.map +1 -0
  33. package/build/tests-export.d.ts +2 -0
  34. package/build/tests-export.d.ts.map +1 -0
  35. package/build/tests-export.js +19 -0
  36. package/build/tests-export.js.map +1 -0
  37. package/build/trusted.d.ts +5 -0
  38. package/build/trusted.d.ts.map +1 -0
  39. package/build/trusted.js +15 -0
  40. package/build/trusted.js.map +1 -0
  41. package/package.json +85 -16
  42. package/build/AliasAssigner.d.ts +0 -7
  43. package/build/AliasAssigner.d.ts.map +0 -1
  44. package/build/AliasAssigner.js +0 -30
  45. package/build/AliasAssigner.js.map +0 -1
  46. package/build/Aliases.d.ts +0 -110
  47. package/build/Aliases.d.ts.map +0 -1
  48. package/build/Aliases.js +0 -456
  49. package/build/Aliases.js.map +0 -1
  50. package/build/BaseEntity.d.ts +0 -66
  51. package/build/BaseEntity.d.ts.map +0 -1
  52. package/build/BaseEntity.js +0 -120
  53. package/build/BaseEntity.js.map +0 -1
  54. package/build/ConditionBuilder.d.ts +0 -50
  55. package/build/ConditionBuilder.d.ts.map +0 -1
  56. package/build/ConditionBuilder.js +0 -178
  57. package/build/ConditionBuilder.js.map +0 -1
  58. package/build/Entity.d.ts +0 -38
  59. package/build/Entity.d.ts.map +0 -1
  60. package/build/Entity.js +0 -8
  61. package/build/Entity.js.map +0 -1
  62. package/build/EntityFields.d.ts +0 -37
  63. package/build/EntityFields.d.ts.map +0 -1
  64. package/build/EntityFields.js +0 -3
  65. package/build/EntityFields.js.map +0 -1
  66. package/build/EntityFilter.d.ts +0 -113
  67. package/build/EntityFilter.d.ts.map +0 -1
  68. package/build/EntityFilter.js +0 -3
  69. package/build/EntityFilter.js.map +0 -1
  70. package/build/EntityGraphQLFilter.d.ts +0 -51
  71. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  72. package/build/EntityGraphQLFilter.js +0 -54
  73. package/build/EntityGraphQLFilter.js.map +0 -1
  74. package/build/EntityManager.d.ts +0 -734
  75. package/build/EntityManager.d.ts.map +0 -1
  76. package/build/EntityManager.js +0 -2069
  77. package/build/EntityManager.js.map +0 -1
  78. package/build/EntityMetadata.d.ts +0 -185
  79. package/build/EntityMetadata.d.ts.map +0 -1
  80. package/build/EntityMetadata.js +0 -61
  81. package/build/EntityMetadata.js.map +0 -1
  82. package/build/EnumMetadata.d.ts +0 -15
  83. package/build/EnumMetadata.d.ts.map +0 -1
  84. package/build/EnumMetadata.js +0 -3
  85. package/build/EnumMetadata.js.map +0 -1
  86. package/build/FlushLock.d.ts +0 -26
  87. package/build/FlushLock.d.ts.map +0 -1
  88. package/build/FlushLock.js +0 -57
  89. package/build/FlushLock.js.map +0 -1
  90. package/build/HintTree.d.ts +0 -42
  91. package/build/HintTree.d.ts.map +0 -1
  92. package/build/HintTree.js +0 -64
  93. package/build/HintTree.js.map +0 -1
  94. package/build/IndexManager.d.ts +0 -30
  95. package/build/IndexManager.d.ts.map +0 -1
  96. package/build/IndexManager.js +0 -206
  97. package/build/IndexManager.js.map +0 -1
  98. package/build/InstanceData.d.ts +0 -59
  99. package/build/InstanceData.d.ts.map +0 -1
  100. package/build/InstanceData.js +0 -162
  101. package/build/InstanceData.js.map +0 -1
  102. package/build/IsLoadedCache.d.ts +0 -32
  103. package/build/IsLoadedCache.d.ts.map +0 -1
  104. package/build/IsLoadedCache.js +0 -80
  105. package/build/IsLoadedCache.js.map +0 -1
  106. package/build/JoinRows.d.ts +0 -75
  107. package/build/JoinRows.d.ts.map +0 -1
  108. package/build/JoinRows.js +0 -246
  109. package/build/JoinRows.js.map +0 -1
  110. package/build/PluginManager.d.ts +0 -90
  111. package/build/PluginManager.d.ts.map +0 -1
  112. package/build/PluginManager.js +0 -97
  113. package/build/PluginManager.js.map +0 -1
  114. package/build/QueryParser.d.ts +0 -271
  115. package/build/QueryParser.d.ts.map +0 -1
  116. package/build/QueryParser.js +0 -853
  117. package/build/QueryParser.js.map +0 -1
  118. package/build/QueryParser.pruning.d.ts +0 -5
  119. package/build/QueryParser.pruning.d.ts.map +0 -1
  120. package/build/QueryParser.pruning.js +0 -118
  121. package/build/QueryParser.pruning.js.map +0 -1
  122. package/build/QueryVisitor.d.ts +0 -19
  123. package/build/QueryVisitor.d.ts.map +0 -1
  124. package/build/QueryVisitor.js +0 -84
  125. package/build/QueryVisitor.js.map +0 -1
  126. package/build/ReactionsManager.d.ts +0 -84
  127. package/build/ReactionsManager.d.ts.map +0 -1
  128. package/build/ReactionsManager.js +0 -307
  129. package/build/ReactionsManager.js.map +0 -1
  130. package/build/Todo.d.ts +0 -31
  131. package/build/Todo.d.ts.map +0 -1
  132. package/build/Todo.js +0 -73
  133. package/build/Todo.js.map +0 -1
  134. package/build/caches.d.ts +0 -6
  135. package/build/caches.d.ts.map +0 -1
  136. package/build/caches.js +0 -42
  137. package/build/caches.js.map +0 -1
  138. package/build/changes.d.ts +0 -79
  139. package/build/changes.d.ts.map +0 -1
  140. package/build/changes.js +0 -251
  141. package/build/changes.js.map +0 -1
  142. package/build/config.d.ts +0 -237
  143. package/build/config.d.ts.map +0 -1
  144. package/build/config.js +0 -298
  145. package/build/config.js.map +0 -1
  146. package/build/config.test.d.ts +0 -2
  147. package/build/config.test.d.ts.map +0 -1
  148. package/build/config.test.js +0 -53
  149. package/build/config.test.js.map +0 -1
  150. package/build/configure.d.ts +0 -13
  151. package/build/configure.d.ts.map +0 -1
  152. package/build/configure.js +0 -329
  153. package/build/configure.js.map +0 -1
  154. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  155. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  156. package/build/dataloaders/findByUniqueDataLoader.js +0 -47
  157. package/build/dataloaders/findByUniqueDataLoader.js.map +0 -1
  158. package/build/dataloaders/findCountDataLoader.d.ts +0 -7
  159. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  160. package/build/dataloaders/findCountDataLoader.js +0 -74
  161. package/build/dataloaders/findCountDataLoader.js.map +0 -1
  162. package/build/dataloaders/findDataLoader.d.ts +0 -37
  163. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  164. package/build/dataloaders/findDataLoader.js +0 -337
  165. package/build/dataloaders/findDataLoader.js.map +0 -1
  166. package/build/dataloaders/findIdsDataLoader.d.ts +0 -7
  167. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  168. package/build/dataloaders/findIdsDataLoader.js +0 -74
  169. package/build/dataloaders/findIdsDataLoader.js.map +0 -1
  170. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  171. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  172. package/build/dataloaders/findOrCreateDataLoader.js +0 -174
  173. package/build/dataloaders/findOrCreateDataLoader.js.map +0 -1
  174. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  175. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  176. package/build/dataloaders/lensDataLoader.js +0 -180
  177. package/build/dataloaders/lensDataLoader.js.map +0 -1
  178. package/build/dataloaders/loadDataLoader.d.ts +0 -11
  179. package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
  180. package/build/dataloaders/loadDataLoader.js +0 -54
  181. package/build/dataloaders/loadDataLoader.js.map +0 -1
  182. package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
  183. package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
  184. package/build/dataloaders/manyToManyDataLoader.js +0 -74
  185. package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
  186. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  187. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  188. package/build/dataloaders/manyToManyFindDataLoader.js +0 -70
  189. package/build/dataloaders/manyToManyFindDataLoader.js.map +0 -1
  190. package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
  191. package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
  192. package/build/dataloaders/oneToManyDataLoader.js +0 -60
  193. package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
  194. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  195. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  196. package/build/dataloaders/oneToManyFindDataLoader.js +0 -71
  197. package/build/dataloaders/oneToManyFindDataLoader.js.map +0 -1
  198. package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
  199. package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
  200. package/build/dataloaders/oneToOneDataLoader.js +0 -59
  201. package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
  202. package/build/dataloaders/populateDataLoader.d.ts +0 -13
  203. package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
  204. package/build/dataloaders/populateDataLoader.js +0 -148
  205. package/build/dataloaders/populateDataLoader.js.map +0 -1
  206. package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
  207. package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
  208. package/build/dataloaders/recursiveChildrenDataLoader.js +0 -77
  209. package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
  210. package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
  211. package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
  212. package/build/dataloaders/recursiveParentsDataLoader.js +0 -59
  213. package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
  214. package/build/defaults.d.ts +0 -54
  215. package/build/defaults.d.ts.map +0 -1
  216. package/build/defaults.js +0 -282
  217. package/build/defaults.js.map +0 -1
  218. package/build/driverApi.d.ts +0 -19
  219. package/build/driverApi.d.ts.map +0 -1
  220. package/build/driverApi.js +0 -17
  221. package/build/driverApi.js.map +0 -1
  222. package/build/drivers/Driver.d.ts +0 -26
  223. package/build/drivers/Driver.d.ts.map +0 -1
  224. package/build/drivers/Driver.js +0 -3
  225. package/build/drivers/Driver.js.map +0 -1
  226. package/build/drivers/EntityWriter.d.ts +0 -64
  227. package/build/drivers/EntityWriter.d.ts.map +0 -1
  228. package/build/drivers/EntityWriter.js +0 -237
  229. package/build/drivers/EntityWriter.js.map +0 -1
  230. package/build/drivers/IdAssigner.d.ts +0 -50
  231. package/build/drivers/IdAssigner.d.ts.map +0 -1
  232. package/build/drivers/IdAssigner.js +0 -133
  233. package/build/drivers/IdAssigner.js.map +0 -1
  234. package/build/drivers/PostgresDriver.d.ts.map +0 -1
  235. package/build/drivers/PostgresDriver.js.map +0 -1
  236. package/build/drivers/buildRawQuery.d.ts +0 -20
  237. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  238. package/build/drivers/buildRawQuery.js +0 -148
  239. package/build/drivers/buildRawQuery.js.map +0 -1
  240. package/build/drivers/buildUtils.d.ts +0 -4
  241. package/build/drivers/buildUtils.d.ts.map +0 -1
  242. package/build/drivers/buildUtils.js +0 -79
  243. package/build/drivers/buildUtils.js.map +0 -1
  244. package/build/drivers/index.d.ts +0 -5
  245. package/build/drivers/index.d.ts.map +0 -1
  246. package/build/drivers/index.js.map +0 -1
  247. package/build/fields.d.ts +0 -24
  248. package/build/fields.d.ts.map +0 -1
  249. package/build/fields.js +0 -161
  250. package/build/fields.js.map +0 -1
  251. package/build/getProperties.d.ts +0 -28
  252. package/build/getProperties.d.ts.map +0 -1
  253. package/build/getProperties.js +0 -141
  254. package/build/getProperties.js.map +0 -1
  255. package/build/json.d.ts +0 -77
  256. package/build/json.d.ts.map +0 -1
  257. package/build/json.js +0 -116
  258. package/build/json.js.map +0 -1
  259. package/build/k.d.ts +0 -2
  260. package/build/k.d.ts.map +0 -1
  261. package/build/k.js +0 -9
  262. package/build/k.js.map +0 -1
  263. package/build/keys.d.ts +0 -49
  264. package/build/keys.d.ts.map +0 -1
  265. package/build/keys.js +0 -195
  266. package/build/keys.js.map +0 -1
  267. package/build/keywords.d.ts +0 -5
  268. package/build/keywords.d.ts.map +0 -1
  269. package/build/keywords.js +0 -124
  270. package/build/keywords.js.map +0 -1
  271. package/build/loadHints.d.ts +0 -112
  272. package/build/loadHints.d.ts.map +0 -1
  273. package/build/loadHints.js +0 -75
  274. package/build/loadHints.js.map +0 -1
  275. package/build/loadLens.d.ts +0 -66
  276. package/build/loadLens.d.ts.map +0 -1
  277. package/build/loadLens.js +0 -287
  278. package/build/loadLens.js.map +0 -1
  279. package/build/logging/FactoryLogger.d.ts +0 -24
  280. package/build/logging/FactoryLogger.d.ts.map +0 -1
  281. package/build/logging/FactoryLogger.js +0 -77
  282. package/build/logging/FactoryLogger.js.map +0 -1
  283. package/build/logging/FieldLogger.d.ts +0 -27
  284. package/build/logging/FieldLogger.d.ts.map +0 -1
  285. package/build/logging/FieldLogger.js +0 -69
  286. package/build/logging/FieldLogger.js.map +0 -1
  287. package/build/logging/ReactionLogger.d.ts +0 -23
  288. package/build/logging/ReactionLogger.d.ts.map +0 -1
  289. package/build/logging/ReactionLogger.js +0 -65
  290. package/build/logging/ReactionLogger.js.map +0 -1
  291. package/build/newEntity.d.ts +0 -45
  292. package/build/newEntity.d.ts.map +0 -1
  293. package/build/newEntity.js +0 -106
  294. package/build/newEntity.js.map +0 -1
  295. package/build/newTestInstance.d.ts +0 -193
  296. package/build/newTestInstance.d.ts.map +0 -1
  297. package/build/newTestInstance.js +0 -738
  298. package/build/newTestInstance.js.map +0 -1
  299. package/build/normalizeHints.d.ts +0 -16
  300. package/build/normalizeHints.d.ts.map +0 -1
  301. package/build/normalizeHints.js +0 -31
  302. package/build/normalizeHints.js.map +0 -1
  303. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  304. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  305. package/build/plugins/ImmutableEntitiesPlugin.js +0 -21
  306. package/build/plugins/ImmutableEntitiesPlugin.js.map +0 -1
  307. package/build/plugins/PreloadPlugin.d.ts +0 -69
  308. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  309. package/build/plugins/PreloadPlugin.js +0 -3
  310. package/build/plugins/PreloadPlugin.js.map +0 -1
  311. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  312. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  313. package/build/preloading/JsonAggregatePreloader.js +0 -238
  314. package/build/preloading/JsonAggregatePreloader.js.map +0 -1
  315. package/build/preloading/canPreload.d.ts +0 -3
  316. package/build/preloading/canPreload.d.ts.map +0 -1
  317. package/build/preloading/canPreload.js +0 -21
  318. package/build/preloading/canPreload.js.map +0 -1
  319. package/build/preloading/partitionHint.d.ts +0 -5
  320. package/build/preloading/partitionHint.d.ts.map +0 -1
  321. package/build/preloading/partitionHint.js +0 -56
  322. package/build/preloading/partitionHint.js.map +0 -1
  323. package/build/reactiveHints.d.ts +0 -129
  324. package/build/reactiveHints.d.ts.map +0 -1
  325. package/build/reactiveHints.js +0 -458
  326. package/build/reactiveHints.js.map +0 -1
  327. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  328. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  329. package/build/relations/AbstractPropertyImpl.js +0 -15
  330. package/build/relations/AbstractPropertyImpl.js.map +0 -1
  331. package/build/relations/AbstractRelationImpl.d.ts +0 -36
  332. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  333. package/build/relations/AbstractRelationImpl.js +0 -19
  334. package/build/relations/AbstractRelationImpl.js.map +0 -1
  335. package/build/relations/Collection.d.ts +0 -28
  336. package/build/relations/Collection.d.ts.map +0 -1
  337. package/build/relations/Collection.js +0 -18
  338. package/build/relations/Collection.js.map +0 -1
  339. package/build/relations/CustomCollection.d.ts +0 -69
  340. package/build/relations/CustomCollection.d.ts.map +0 -1
  341. package/build/relations/CustomCollection.js +0 -166
  342. package/build/relations/CustomCollection.js.map +0 -1
  343. package/build/relations/CustomReference.d.ts +0 -71
  344. package/build/relations/CustomReference.d.ts.map +0 -1
  345. package/build/relations/CustomReference.js +0 -152
  346. package/build/relations/CustomReference.js.map +0 -1
  347. package/build/relations/LargeCollection.d.ts +0 -19
  348. package/build/relations/LargeCollection.d.ts.map +0 -1
  349. package/build/relations/LargeCollection.js +0 -3
  350. package/build/relations/LargeCollection.js.map +0 -1
  351. package/build/relations/ManyToManyCollection.d.ts +0 -44
  352. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  353. package/build/relations/ManyToManyCollection.js +0 -268
  354. package/build/relations/ManyToManyCollection.js.map +0 -1
  355. package/build/relations/ManyToManyLargeCollection.d.ts +0 -30
  356. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  357. package/build/relations/ManyToManyLargeCollection.js +0 -119
  358. package/build/relations/ManyToManyLargeCollection.js.map +0 -1
  359. package/build/relations/ManyToOneReference.d.ts +0 -121
  360. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  361. package/build/relations/ManyToOneReference.js +0 -389
  362. package/build/relations/ManyToOneReference.js.map +0 -1
  363. package/build/relations/OneToManyCollection.d.ts +0 -58
  364. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  365. package/build/relations/OneToManyCollection.js +0 -347
  366. package/build/relations/OneToManyCollection.js.map +0 -1
  367. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  368. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  369. package/build/relations/OneToManyLargeCollection.js +0 -102
  370. package/build/relations/OneToManyLargeCollection.js.map +0 -1
  371. package/build/relations/OneToOneReference.d.ts +0 -93
  372. package/build/relations/OneToOneReference.d.ts.map +0 -1
  373. package/build/relations/OneToOneReference.js +0 -228
  374. package/build/relations/OneToOneReference.js.map +0 -1
  375. package/build/relations/PolymorphicReference.d.ts +0 -89
  376. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  377. package/build/relations/PolymorphicReference.js +0 -244
  378. package/build/relations/PolymorphicReference.js.map +0 -1
  379. package/build/relations/ReactiveField.d.ts +0 -87
  380. package/build/relations/ReactiveField.d.ts.map +0 -1
  381. package/build/relations/ReactiveField.js +0 -149
  382. package/build/relations/ReactiveField.js.map +0 -1
  383. package/build/relations/ReactiveGetter.d.ts +0 -30
  384. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  385. package/build/relations/ReactiveGetter.js +0 -38
  386. package/build/relations/ReactiveGetter.js.map +0 -1
  387. package/build/relations/ReactiveManyToMany.d.ts +0 -56
  388. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  389. package/build/relations/ReactiveManyToMany.js +0 -243
  390. package/build/relations/ReactiveManyToMany.js.map +0 -1
  391. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -47
  392. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  393. package/build/relations/ReactiveManyToManyOtherSide.js +0 -155
  394. package/build/relations/ReactiveManyToManyOtherSide.js.map +0 -1
  395. package/build/relations/ReactiveQueryField.d.ts +0 -41
  396. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  397. package/build/relations/ReactiveQueryField.js +0 -125
  398. package/build/relations/ReactiveQueryField.js.map +0 -1
  399. package/build/relations/ReactiveReference.d.ts +0 -119
  400. package/build/relations/ReactiveReference.d.ts.map +0 -1
  401. package/build/relations/ReactiveReference.js +0 -333
  402. package/build/relations/ReactiveReference.js.map +0 -1
  403. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  404. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  405. package/build/relations/ReadOnlyCollection.js +0 -15
  406. package/build/relations/ReadOnlyCollection.js.map +0 -1
  407. package/build/relations/RecursiveCollection.d.ts +0 -84
  408. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  409. package/build/relations/RecursiveCollection.js +0 -296
  410. package/build/relations/RecursiveCollection.js.map +0 -1
  411. package/build/relations/Reference.d.ts +0 -35
  412. package/build/relations/Reference.d.ts.map +0 -1
  413. package/build/relations/Reference.js +0 -21
  414. package/build/relations/Reference.js.map +0 -1
  415. package/build/relations/Relation.d.ts +0 -14
  416. package/build/relations/Relation.d.ts.map +0 -1
  417. package/build/relations/Relation.js +0 -12
  418. package/build/relations/Relation.js.map +0 -1
  419. package/build/relations/hasAsyncMethod.d.ts +0 -27
  420. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  421. package/build/relations/hasAsyncMethod.js +0 -47
  422. package/build/relations/hasAsyncMethod.js.map +0 -1
  423. package/build/relations/hasAsyncProperty.d.ts +0 -49
  424. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  425. package/build/relations/hasAsyncProperty.js +0 -98
  426. package/build/relations/hasAsyncProperty.js.map +0 -1
  427. package/build/relations/hasManyDerived.d.ts +0 -22
  428. package/build/relations/hasManyDerived.d.ts.map +0 -1
  429. package/build/relations/hasManyDerived.js +0 -32
  430. package/build/relations/hasManyDerived.js.map +0 -1
  431. package/build/relations/hasManyThrough.d.ts +0 -10
  432. package/build/relations/hasManyThrough.d.ts.map +0 -1
  433. package/build/relations/hasManyThrough.js +0 -24
  434. package/build/relations/hasManyThrough.js.map +0 -1
  435. package/build/relations/hasOneDerived.d.ts +0 -12
  436. package/build/relations/hasOneDerived.d.ts.map +0 -1
  437. package/build/relations/hasOneDerived.js +0 -24
  438. package/build/relations/hasOneDerived.js.map +0 -1
  439. package/build/relations/hasOneThrough.d.ts +0 -10
  440. package/build/relations/hasOneThrough.d.ts.map +0 -1
  441. package/build/relations/hasOneThrough.js +0 -24
  442. package/build/relations/hasOneThrough.js.map +0 -1
  443. package/build/relations/index.d.ts +0 -28
  444. package/build/relations/index.d.ts.map +0 -1
  445. package/build/relations/index.js +0 -88
  446. package/build/relations/index.js.map +0 -1
  447. package/build/rules.d.ts +0 -123
  448. package/build/rules.d.ts.map +0 -1
  449. package/build/rules.js +0 -231
  450. package/build/rules.js.map +0 -1
  451. package/build/runtimeConfig.d.ts +0 -17
  452. package/build/runtimeConfig.d.ts.map +0 -1
  453. package/build/runtimeConfig.js +0 -18
  454. package/build/runtimeConfig.js.map +0 -1
  455. package/build/serde.d.ts +0 -277
  456. package/build/serde.d.ts.map +0 -1
  457. package/build/serde.js +0 -517
  458. package/build/serde.js.map +0 -1
  459. package/build/temporal.d.ts +0 -16
  460. package/build/temporal.d.ts.map +0 -1
  461. package/build/temporal.js +0 -48
  462. package/build/temporal.js.map +0 -1
  463. package/build/temporalMappers.d.ts +0 -25
  464. package/build/temporalMappers.d.ts.map +0 -1
  465. package/build/temporalMappers.js +0 -59
  466. package/build/temporalMappers.js.map +0 -1
  467. package/build/typeMap.d.ts +0 -68
  468. package/build/typeMap.d.ts.map +0 -1
  469. package/build/typeMap.js +0 -3
  470. package/build/typeMap.js.map +0 -1
  471. package/build/unnest.d.ts +0 -13
  472. package/build/unnest.d.ts.map +0 -1
  473. package/build/unnest.js +0 -85
  474. package/build/unnest.js.map +0 -1
  475. package/build/upsert.d.ts +0 -42
  476. package/build/upsert.d.ts.map +0 -1
  477. package/build/upsert.js +0 -265
  478. package/build/upsert.js.map +0 -1
  479. package/build/utils.d.ts +0 -58
  480. package/build/utils.d.ts.map +0 -1
  481. package/build/utils.js +0 -236
  482. package/build/utils.js.map +0 -1
  483. package/build/withLoaded.d.ts +0 -56
  484. package/build/withLoaded.d.ts.map +0 -1
  485. package/build/withLoaded.js +0 -76
  486. package/build/withLoaded.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildRawQuery.js","sourceRoot":"","sources":["../../src/drivers/buildRawQuery.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { ParsedExpressionFilter } from "../QueryParser";
2
- /** Returns a tuple of `["cond AND (cond OR cond)", bindings]`. */
3
- export declare function buildWhereClause(exp: ParsedExpressionFilter, topLevel?: boolean): [string, any[]] | undefined;
4
- //# sourceMappingURL=buildUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildUtils.d.ts","sourceRoot":"","sources":["../../src/drivers/buildUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,sBAAsB,EAAgB,MAAM,gBAAgB,CAAC;AAIvF,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,sBAAsB,EAAE,QAAQ,UAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAkB3G"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildWhereClause = buildWhereClause;
4
- const EntityGraphQLFilter_1 = require("../EntityGraphQLFilter");
5
- const EntityManager_1 = require("../EntityManager");
6
- const keywords_1 = require("../keywords");
7
- const utils_1 = require("../utils");
8
- /** Returns a tuple of `["cond AND (cond OR cond)", bindings]`. */
9
- function buildWhereClause(exp, topLevel = false) {
10
- const tuples = exp.conditions
11
- .map((c) => {
12
- return c.kind === "exp"
13
- ? buildWhereClause(c)
14
- : c.kind === "column"
15
- ? buildCondition(c)
16
- : c.kind === "raw"
17
- ? buildRawCondition(c)
18
- : fail(`Invalid condition ${c}`);
19
- })
20
- .filter(EntityManager_1.isDefined);
21
- // If we don't have any conditions to combine, just return undefined;
22
- if (tuples.length === 0)
23
- return undefined;
24
- // Wrap/join the sql strings together first, and then flatten the bindings.
25
- let sql = tuples.map(([sql]) => sql).join(` ${exp.op.toUpperCase()} `);
26
- if (!topLevel)
27
- sql = `(${sql})`;
28
- return [sql, tuples.flatMap(([, bindings]) => bindings)];
29
- }
30
- function buildRawCondition(raw) {
31
- return [raw.condition, raw.bindings];
32
- }
33
- /** Returns a tuple of `["column op ?"`, bindings]`. */
34
- function buildCondition(cc) {
35
- const { alias, column, cond } = cc;
36
- const columnName = (0, keywords_1.kqDot)(alias, column);
37
- switch (cond.kind) {
38
- case "eq":
39
- case "ne":
40
- case "gte":
41
- case "gt":
42
- case "lte":
43
- case "lt":
44
- case "like":
45
- case "nlike":
46
- case "ilike":
47
- case "nilike":
48
- case "regex":
49
- case "nregex":
50
- case "iregex":
51
- case "niregex":
52
- case "jsonPathExists":
53
- case "jsonPathPredicate":
54
- case "contains":
55
- case "containedBy":
56
- case "overlaps": {
57
- const fn = EntityGraphQLFilter_1.opToFn[cond.kind] ?? fail(`Invalid operator ${cond.kind}`);
58
- return [`${columnName} ${fn} ?`, [cond.value]];
59
- }
60
- case "noverlaps":
61
- case "ncontains": {
62
- const fn = EntityGraphQLFilter_1.opToFn[cond.kind.substring(1)] ?? fail(`Invalid operator ${cond.kind}`);
63
- return [`NOT (${columnName} ${fn} ?)`, [cond.value]];
64
- }
65
- case "is-null":
66
- return [`${columnName} IS NULL`, []];
67
- case "not-null":
68
- return [`${columnName} IS NOT NULL`, []];
69
- case "in":
70
- return [`${columnName} = ANY(?)`, [cond.value]];
71
- case "nin":
72
- return [`${columnName} != ALL(?)`, [cond.value]];
73
- case "between":
74
- return [`${columnName} BETWEEN ? AND ?`, cond.value];
75
- default:
76
- (0, utils_1.assertNever)(cond);
77
- }
78
- }
79
- //# sourceMappingURL=buildUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildUtils.js","sourceRoot":"","sources":["../../src/drivers/buildUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from "./buildRawQuery";
2
- export * from "./Driver";
3
- export * from "./IdAssigner";
4
- export * from "./PostgresDriver";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/drivers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,2CAAyB;AACzB,+CAA6B;AAC7B,mDAAiC"}
package/build/fields.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import { Entity } from "./Entity";
2
- /**
3
- * Returns the current value of `fieldName`, this is an internal method that should
4
- * only be called by the code-generated getters.
5
- *
6
- * We skip any typing like `fieldName: keyof T` because this method should only be
7
- * called by trusted codegen anyway.
8
- */
9
- export declare function getField(entity: Entity, fieldName: string): any;
10
- /** Returns whether `fieldName` is a field/column on `entity` that can be changed. */
11
- export declare function isChangeableField(entity: Entity, fieldName: string): boolean;
12
- /** Returns whether `fieldName` has been set, even if it's undefined, on `entity`. */
13
- export declare function isFieldSet(entity: Entity, fieldName: string): boolean;
14
- /**
15
- * Sets the current value of `fieldName`, this is an internal method that should
16
- * only be called by the code-generated setters.
17
- *
18
- * We skip any typing like `fieldName: keyof T` because this method should only be
19
- * called by trusted codegen anyway.
20
- *
21
- * Returns `true` if the value was changed, or `false` if it was a noop.
22
- */
23
- export declare function setField(entity: Entity, fieldName: string, newValue: any): boolean;
24
- //# sourceMappingURL=fields.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAO5C;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAe/D;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAQrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CA6ElF"}
package/build/fields.js DELETED
@@ -1,161 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getField = getField;
4
- exports.isChangeableField = isChangeableField;
5
- exports.isFieldSet = isFieldSet;
6
- exports.setField = setField;
7
- const BaseEntity_1 = require("./BaseEntity");
8
- const Entity_1 = require("./Entity");
9
- const EntityManager_1 = require("./EntityManager");
10
- const EntityMetadata_1 = require("./EntityMetadata");
11
- const index_1 = require("./index");
12
- const temporal_1 = require("./temporal");
13
- const utils_1 = require("./utils");
14
- /**
15
- * Returns the current value of `fieldName`, this is an internal method that should
16
- * only be called by the code-generated getters.
17
- *
18
- * We skip any typing like `fieldName: keyof T` because this method should only be
19
- * called by trusted codegen anyway.
20
- */
21
- function getField(entity, fieldName) {
22
- const { em } = entity;
23
- // Need to know if we're an "internal" call (from hooks, RFs)...
24
- (0, EntityManager_1.getEmInternalApi)(em).pluginManager.beforeGetField(entity, fieldName);
25
- // We may not have converted the database column value into domain values yet
26
- const { data, row } = (0, BaseEntity_1.getInstanceData)(entity);
27
- if (fieldName in data) {
28
- return data[fieldName];
29
- }
30
- else {
31
- if (!entity.isNewEntity) {
32
- const serde = (0, EntityMetadata_1.getMetadata)(entity).allFields[fieldName]?.serde ?? (0, utils_1.fail)(`Missing serde for ${fieldName}`);
33
- serde.setOnEntity(data, row);
34
- }
35
- return data[fieldName];
36
- }
37
- }
38
- /** Returns whether `fieldName` is a field/column on `entity` that can be changed. */
39
- function isChangeableField(entity, fieldName) {
40
- return !!(0, EntityMetadata_1.getMetadata)(entity).allFields[fieldName]?.serde;
41
- }
42
- /** Returns whether `fieldName` has been set, even if it's undefined, on `entity`. */
43
- function isFieldSet(entity, fieldName) {
44
- const { data } = (0, BaseEntity_1.getInstanceData)(entity);
45
- if (fieldName in data)
46
- return true;
47
- // Avoid calling `getField` on new entities because it populates the field as a side effect.
48
- if (entity.isNewEntity)
49
- return false;
50
- // We may not have converted the database column value into domain values yet.
51
- getField(entity, fieldName);
52
- return fieldName in data;
53
- }
54
- /**
55
- * Sets the current value of `fieldName`, this is an internal method that should
56
- * only be called by the code-generated setters.
57
- *
58
- * We skip any typing like `fieldName: keyof T` because this method should only be
59
- * called by trusted codegen anyway.
60
- *
61
- * Returns `true` if the value was changed, or `false` if it was a noop.
62
- */
63
- function setField(entity, fieldName, newValue) {
64
- (0, index_1.ensureNotDeleted)(entity, "pending");
65
- const { em } = entity;
66
- const api = (0, EntityManager_1.getEmInternalApi)(em);
67
- const { rm, pluginManager, indexManager, fieldLogger, isLoadedCache } = api;
68
- api.checkWritesAllowed();
69
- // Tell any `#isLoaded` or `#value` caches that they might be stale
70
- isLoadedCache.resetIsLoaded(entity, fieldName);
71
- const { data, originalData, flushedData } = (0, BaseEntity_1.getInstanceData)(entity);
72
- // Do string sanitization
73
- const field = (0, EntityMetadata_1.getMetadata)(entity).allFields[fieldName];
74
- if (field.kind === "primitive" && field.type === "string" && field.sanitize !== false) {
75
- newValue = (0, index_1.cleanStringValue)(newValue);
76
- }
77
- // If a `set` occurs during the ReactiveQueryField-loop, copy the last-flushed value to flushedData.
78
- // Then our `pendingOperation` logic can tell "do we need another micro-flush?" separately
79
- // from our public-facing changed fields logic.
80
- if (flushedData) {
81
- // Get the currentValue, which is what we should have flushed to the db
82
- const currentValue = getField(entity, fieldName);
83
- if (fieldName in flushedData) {
84
- // We've already copied the last-micro-flush value into flushedData,
85
- // are we changing back to that? If so, we won't need another micro-flush.
86
- if (equalOrSameEntity(flushedData[fieldName], newValue)) {
87
- delete flushedData[fieldName];
88
- }
89
- else {
90
- // Otherwise just let data[fieldName] get the even-newer value, and keep
91
- // flushedData[fieldName] as the last-micro-flushed value.
92
- }
93
- }
94
- else if (!equalOrSameEntity(currentValue, newValue)) {
95
- // This is the 1st rqf-loop change for this field, so let data[fieldName]
96
- // get the even newer value, but keep the last-micro-flushed value in flushedData.
97
- flushedData[fieldName] = currentValue;
98
- }
99
- }
100
- // "Un-dirty" our originalData if newValue is reverting to originalData
101
- if (fieldName in originalData) {
102
- if (equalOrSameEntity(originalData[fieldName], newValue)) {
103
- const currentValue = getField(entity, fieldName);
104
- indexManager.maybeUpdateFieldIndex(entity, fieldName, currentValue, newValue);
105
- pluginManager.beforeSetField(entity, fieldName, newValue);
106
- data[fieldName] = newValue;
107
- delete originalData[fieldName];
108
- fieldLogger?.logSet(entity, fieldName, newValue);
109
- rm.dequeueDownstreamReactables(entity, fieldName);
110
- return true;
111
- }
112
- }
113
- // Push this logic into a field serde type abstraction?
114
- const currentValue = getField(entity, fieldName);
115
- if (equalOrSameEntity(currentValue, newValue)) {
116
- // If we're doing `entity.field = undefined`, we'll be equal, but mark ourselves as "set"
117
- // so that defaults know to respect the intent of keeping this field undefined.
118
- if (!(fieldName in data))
119
- data[fieldName] = undefined;
120
- return false;
121
- }
122
- // Only save the currentValue on the 1st change of this field
123
- if (!(fieldName in originalData)) {
124
- originalData[fieldName] = currentValue;
125
- }
126
- fieldLogger?.logSet(entity, fieldName, newValue);
127
- rm.queueDownstreamReactables(entity, fieldName);
128
- indexManager.maybeUpdateFieldIndex(entity, fieldName, currentValue, newValue);
129
- pluginManager.beforeSetField(entity, fieldName, newValue);
130
- data[fieldName] = newValue;
131
- return true;
132
- }
133
- function equalOrSameEntity(a, b) {
134
- return (equal(a, b) ||
135
- (Array.isArray(a) && Array.isArray(b) && equalArrays(a, b)) ||
136
- // This is kind of gross, but make sure not to compare two both-new entities
137
- ((((0, Entity_1.isEntity)(a) && !a.isNewEntity) || ((0, Entity_1.isEntity)(b) && !b.isNewEntity)) &&
138
- (0, index_1.maybeResolveReferenceToId)(a) === (0, index_1.maybeResolveReferenceToId)(b)));
139
- }
140
- function equalArrays(a, b) {
141
- if (a.length !== b.length)
142
- return false;
143
- return a.every((_, i) => equal(a[i], b[i]));
144
- }
145
- const Temporal = (0, temporal_1.maybeRequireTemporal)()?.Temporal;
146
- function equal(a, b) {
147
- if (a === b)
148
- return true;
149
- if (a instanceof Date && b instanceof Date)
150
- return a.getTime() === b.getTime();
151
- if (Temporal) {
152
- if (a instanceof Temporal.ZonedDateTime && b instanceof Temporal.ZonedDateTime)
153
- return a.equals(b);
154
- if (a instanceof Temporal.PlainDateTime && b instanceof Temporal.PlainDateTime)
155
- return a.equals(b);
156
- if (a instanceof Temporal.PlainDate && b instanceof Temporal.PlainDate)
157
- return a.equals(b);
158
- }
159
- return false;
160
- }
161
- //# sourceMappingURL=fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":";;AAeA,4BAeC;AAGD,8CAEC;AAGD,gCAQC;AAWD,4BA6EC;AAtID,6CAA+C;AAC/C,qCAA4C;AAC5C,mDAAmD;AACnD,qDAA+C;AAC/C,mCAAwF;AACxF,yCAAkD;AAClD,mCAA+B;AAE/B;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,MAAc,EAAE,SAAiB;IACxD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IACtB,gEAAgE;IAChE,IAAA,gCAAgB,EAAC,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrE,6EAA6E;IAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,IAAA,YAAI,EAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;YACxG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,SAAgB,iBAAiB,CAAC,MAAc,EAAE,SAAiB;IACjE,OAAO,CAAC,CAAC,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;AAC3D,CAAC;AAED,qFAAqF;AACrF,SAAgB,UAAU,CAAC,MAAc,EAAE,SAAiB;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;IACzC,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,4FAA4F;IAC5F,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5B,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,MAAc,EAAE,SAAiB,EAAE,QAAa;IACvE,IAAA,wBAAgB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IACtB,MAAM,GAAG,GAAG,IAAA,gCAAgB,EAAC,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;IAE5E,GAAG,CAAC,kBAAkB,EAAE,CAAC;IAEzB,mEAAmE;IACnE,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;IAEpE,yBAAyB;IACzB,MAAM,KAAK,GAAG,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACtF,QAAQ,GAAG,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,oGAAoG;IACpG,0FAA0F;IAC1F,+CAA+C;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,uEAAuE;QACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YAC7B,oEAAoE;YACpE,0EAA0E;YAC1E,IAAI,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACxD,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,0DAA0D;YAC5D,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;YACtD,yEAAyE;YACzE,kFAAkF;YAClF,WAAW,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;QACxC,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;QAC9B,IAAI,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACjD,YAAY,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAE9E,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC3B,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;YAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,yFAAyF;QACzF,+EAA+E;QAC/E,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,CAAC,SAAS,IAAI,YAAY,CAAC,EAAE,CAAC;QACjC,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IACzC,CAAC;IACD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEhD,YAAY,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAE9E,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAM,EAAE,CAAM;IACvC,OAAO,CACL,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACX,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,4EAA4E;QAC5E,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,iBAAQ,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACnE,IAAA,iCAAyB,EAAC,CAAC,CAAC,KAAK,IAAA,iCAAyB,EAAC,CAAC,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAAQ,EAAE,CAAQ;IACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,QAAQ,GAAG,IAAA,+BAAoB,GAAE,EAAE,QAAQ,CAAC;AAClD,SAAS,KAAK,CAAC,CAAM,EAAE,CAAM;IAC3B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI;QAAE,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/E,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,QAAQ,CAAC,aAAa,IAAI,CAAC,YAAY,QAAQ,CAAC,aAAa;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,QAAQ,CAAC,aAAa,IAAI,CAAC,YAAY,QAAQ,CAAC,aAAa;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,QAAQ,CAAC,SAAS,IAAI,CAAC,YAAY,QAAQ,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,28 +0,0 @@
1
- import { EntityMetadata } from "./EntityMetadata";
2
- import { LazyField } from "./newEntity";
3
- /**
4
- * Returns the relations in `meta`, both those defined in the codegen file + any user-defined `CustomReference`s.
5
- *
6
- * This is a little tricky because field assignments don't show up on the prototype, so we actually
7
- * instantiate a throw-away instance to observe the side-effect of what fields it has.
8
- *
9
- * The map values will be:
10
- *
11
- * - The `AbstractRelationImpl` or `AbstractPropertyImpl` for relations
12
- * - The primitive value like true/false/"foo" for getters that return primitive values
13
- * - A `UnknownProperty` for keys/getters that return `undefined` or throw errors
14
- * - Any other custom value that the user has defined
15
- *
16
- * Basically the values won't be `undefined`, to avoid throwing off `if getPropertyes(meta)[key]`
17
- * checks.
18
- */
19
- export declare function getProperties(meta: EntityMetadata): Record<string, any>;
20
- /**
21
- * Returns the `LazyField`s (...and transientField) for `meta`.
22
- *
23
- * Should only be used by `newEntity` while moving relations to the prototype.
24
- */
25
- export declare function getLazyFields(meta: EntityMetadata): [string, LazyField<any> | object][];
26
- export declare class UnknownProperty {
27
- }
28
- //# sourceMappingURL=getProperties.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getProperties.d.ts","sourceRoot":"","sources":["../src/getProperties.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAmFvE;AAOD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAIvF;AAED,qBAAa,eAAe;CAAG"}
@@ -1,141 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnknownProperty = void 0;
4
- exports.getProperties = getProperties;
5
- exports.getLazyFields = getLazyFields;
6
- const BaseEntity_1 = require("./BaseEntity");
7
- const newEntity_1 = require("./newEntity");
8
- const utils_1 = require("./utils");
9
- /**
10
- * Returns the relations in `meta`, both those defined in the codegen file + any user-defined `CustomReference`s.
11
- *
12
- * This is a little tricky because field assignments don't show up on the prototype, so we actually
13
- * instantiate a throw-away instance to observe the side-effect of what fields it has.
14
- *
15
- * The map values will be:
16
- *
17
- * - The `AbstractRelationImpl` or `AbstractPropertyImpl` for relations
18
- * - The primitive value like true/false/"foo" for getters that return primitive values
19
- * - A `UnknownProperty` for keys/getters that return `undefined` or throw errors
20
- * - Any other custom value that the user has defined
21
- *
22
- * Basically the values won't be `undefined`, to avoid throwing off `if getPropertyes(meta)[key]`
23
- * checks.
24
- */
25
- function getProperties(meta) {
26
- // If meta is an STI subtype, give it a different key
27
- const key = meta.stiDiscriminatorValue ? `${meta.tableName}:${meta.stiDiscriminatorValue}` : meta.tableName;
28
- if (propertiesCache[key]) {
29
- return propertiesCache[key];
30
- }
31
- // Immediately populate key to avoid infinite loops when we later call `instance[key]` to probe
32
- // for properties, and we end up calling a getter than invokes a ReactiveField/anything else that
33
- // happens to ask for properties.
34
- // The caller will admittedly see incorrect (empty) properties, but we generally expect these "evaled
35
- // on fake instances" getters to throw nonsense errors anyway (which we suppress), so it should be fine.
36
- const cached = (propertiesCache[key] = {});
37
- const fakeEm = undefined;
38
- const instance = new meta.cstr(fakeEm, true);
39
- // Mostly for historical reasons, we don't treat known primitives/enums as properties,
40
- // i.e. properties were originally meant to be the wrapper objects like `hasOne`,
41
- // `hasMany`, `ReactiveField`, etc.
42
- //
43
- // That said, we've since start leaking other things like getters, regular async methods,
44
- // etc., into properties, so that `entityResolver` can pick them up as keys to put into
45
- // the GraphQL resolvers. So we should probably just remove this filter and let everything
46
- // get returned as properties.
47
- const knownPrimitives = Object.values(meta.allFields)
48
- .filter((f) => f.kind === "primaryKey" || f.kind === "primitive" || f.kind === "enum")
49
- .map((f) => f.fieldName);
50
- // We can look directly at the `instance` to find all relations (`has...` calls), and any other
51
- // instance-level fields (of which only the special `transientFields` is expected/allowed).
52
- const [relationFields, otherFields] = (0, utils_1.partition)(Object.entries(instance), ([, value]) => value instanceof newEntity_1.LazyField);
53
- // Enforce transientFields usage
54
- const invalidFields = otherFields.filter(([fieldName]) => fieldName !== "transientFields");
55
- if (invalidFields.length > 0) {
56
- throw new Error(`${meta.type} has invalid class fields, ${invalidFields.map(([k]) => k).join(", ")} should go in transientFields`);
57
- }
58
- const properties = [
59
- // Include the instance-level relations that will be getter-ized by `newEntity`
60
- ...relationFields,
61
- // And then any prototype-level getters/methods like `isRed` by recursively looking for ownKeys
62
- // (this is the previously-mentioned nod to entityResolver to let it copy over getters/methods).
63
- ...getRecursivePrototypeKeys(instance)
64
- .filter((key) => !knownPrimitives.includes(key))
65
- .map((key) => {
66
- try {
67
- return [key, instance[key] ?? unknown];
68
- }
69
- catch {
70
- return [key, unknown];
71
- }
72
- }),
73
- ];
74
- // Keep one version with the relations still lazy, solely for `newEntity`
75
- // (technically newEntity will only ask for this once-per-cstr, so a cache is kind of over-kill,
76
- // but creating it here, right before we `relationCstr.create`, is a convenient spot).
77
- lazyFields[key] = [...relationFields, ...otherFields];
78
- // But expose to everyone else the concrete/constructed relations
79
- Object.assign(cached, Object.fromEntries(properties.map(([fieldName, value]) => [
80
- fieldName,
81
- value instanceof newEntity_1.LazyField ? value.create(instance, fieldName) : value,
82
- ])));
83
- // Since our fake instance is actually generating the callbacks for our lazy fields, it will be captured in any
84
- // lambdas created. If any of them reference `this`, then they'll actually be referencing the fake instance. So we
85
- // need to clear out any properties directly on the fake instance now that we're done with it and use a proxy to
86
- // intercept any attempts to access `this` from within the callbacks and fail.
87
- Object.setPrototypeOf(instance, afterGetPropertiesInstancePrototypeProxy);
88
- for (const prop of Object.getOwnPropertyNames(instance)) {
89
- if (prop !== "__data")
90
- delete instance[prop];
91
- }
92
- return cached;
93
- }
94
- const afterGetPropertiesInstancePrototypeProxy = new Proxy({}, { get: () => (0, utils_1.fail)("Cannot use 'this' in a property callback") });
95
- /**
96
- * Returns the `LazyField`s (...and transientField) for `meta`.
97
- *
98
- * Should only be used by `newEntity` while moving relations to the prototype.
99
- */
100
- function getLazyFields(meta) {
101
- getProperties(meta); // We populate the lazyFields during getProperties
102
- const key = meta.stiDiscriminatorValue ? `${meta.tableName}:${meta.stiDiscriminatorValue}` : meta.tableName;
103
- return lazyFields[key];
104
- }
105
- class UnknownProperty {
106
- }
107
- exports.UnknownProperty = UnknownProperty;
108
- const unknown = new UnknownProperty();
109
- const propertiesCache = {};
110
- const lazyFields = {};
111
- // These are keys we codegen into `AuthorCodegen` files to get the best typing
112
- // experience, but really should be treated as BaseEntity keys that we don't
113
- // need to expose from `getProperties`.
114
- const ignoredKeys = new Set([
115
- "constructor",
116
- "id",
117
- "idMaybe",
118
- "idTagged",
119
- "idTaggedMaybe",
120
- "set",
121
- "setPartial",
122
- "setDeepPartial",
123
- "changes",
124
- "isSoftDeletedEntity",
125
- "load",
126
- "populate",
127
- "isLoaded",
128
- "toJSON",
129
- ]);
130
- function getRecursivePrototypeKeys(instance) {
131
- const keys = [];
132
- for (let curr = Object.getPrototypeOf(instance); curr && curr !== BaseEntity_1.BaseEntity.prototype; curr = Object.getPrototypeOf(curr)) {
133
- for (const name of Object.getOwnPropertyNames(curr)) {
134
- if (!ignoredKeys.has(name)) {
135
- keys.push(name);
136
- }
137
- }
138
- }
139
- return keys;
140
- }
141
- //# sourceMappingURL=getProperties.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getProperties.js","sourceRoot":"","sources":["../src/getProperties.ts"],"names":[],"mappings":"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"}
package/build/json.d.ts DELETED
@@ -1,77 +0,0 @@
1
- import { Entity } from "./Entity";
2
- import { IdOf } from "./EntityManager";
3
- import { AsyncMethod, AsyncProperty, Collection, ReactiveGetter, Reference } from "./relations";
4
- /**
5
- * A JSON hint of a single key, multiple keys, or nested keys and sub-hints.
6
- *
7
- * JSON hints are much like load hints/reactive hints:
8
- *
9
- * - Similar to load hints, they specify which relations should be loaded from the database
10
- * - Similar to reactive hints, they include specific fields to output
11
- * - Unlike either, they can include completely custom keys that are lambdas to generate custom values
12
- */
13
- export type JsonHint<T extends Entity> = (keyof Jsonable<T> & string) | ReadonlyArray<keyof Jsonable<T> & string> | NestedJsonHint<T>;
14
- /** For object literal/nested hints, we allow mapping both entity keys 1:1 & custom keys via a lambdas. */
15
- export type NestedJsonHint<T extends Entity> = EntityKeyJsonHint<T> | CustomJsonKeyHint<T>;
16
- /** Foreach `Jsonable` key, we can provide a sub-hint, or just a boolean to include/exclude. */
17
- export type EntityKeyJsonHint<T extends Entity> = {
18
- [K in keyof Jsonable<T> as `${K}`]?: (Jsonable<T>[K] extends infer U extends Entity ? JsonHint<U> : {}) | boolean;
19
- };
20
- export type CustomJsonKeyHint<T> = {
21
- [key: string]: (entity: T) => any;
22
- };
23
- /**
24
- * Describes the JSON payload for `Entity.toJSON` to produce.
25
- *
26
- * - `["firstName", "lastName"]` will produce a JSON payload with just those fields
27
- * - `{ author: { books: "title" } }` will produce a JSON payload with the author's books' titles
28
- *
29
- * We only accept object literals & arrays to `toJSON` to avoid a `JSON.stringify` oddity.
30
- */
31
- export type ToJsonHint<T extends Entity> = NestedJsonHint<T> | ReadonlyArray<keyof Jsonable<T> & string>;
32
- /** The keys in `T` that we can put into a JSON payload. */
33
- export type Jsonable<T extends Entity> = {
34
- -readonly [K in keyof T as JsonableValue<T[K]> extends never ? never : K]: JsonableValue<T[K]>;
35
- };
36
- export 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 AsyncProperty<any, infer P> ? DropUndefined<P> : V extends ReactiveGetter<any, infer P> ? P : V;
37
- /**
38
- * Provides an API to put an entity, or list of entities, into a JSON payload.
39
- *
40
- * The `hint` parameter is a JSON hint that describes what to include in the payload,
41
- *
42
- * - fields like `id`, `name`, etc.
43
- * - relations like m2o, o2m, m2m, and o2o
44
- * - relations are allowed to provide nested hints, just like nested load hints
45
- * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
46
- */
47
- export declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entity: T, hint: H): Promise<JsonPayload<T, H>>;
48
- /**
49
- * Provides an API to put an entity, or list of entities, into a JSON payload.
50
- *
51
- * The `hint` parameter is a JSON hint that describes what to include in the payload,
52
- *
53
- * - fields like `id`, `name`, etc.
54
- * - relations like m2o, o2m, m2m, and o2o
55
- * - relations are allowed to provide nested hints, just like nested load hints
56
- * - custom fields like `fullName: (entity) => entity.firstName + ' ' + entity.lastName`
57
- */
58
- export declare function toJSON<T extends Entity, const H extends JsonHint<T>>(entities: readonly T[], hint: H): Promise<JsonPayload<T, H>[]>;
59
- /**
60
- * Statically types the return value of `toJSON` based on the given `hint`.
61
- */
62
- export type JsonPayload<T, H> = {
63
- [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]>;
64
- };
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 AsyncProperty<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], {}> : {
73
- [K in keyof H]: H[K];
74
- };
75
- type IsEmpty<T> = keyof T extends never ? true : false;
76
- export {};
77
- //# sourceMappingURL=json.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}