joist-orm 1.294.0 → 2.0.1

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 (484) hide show
  1. package/build/codegen.d.ts +2 -0
  2. package/build/codegen.d.ts.map +1 -0
  3. package/build/codegen.js +29 -0
  4. package/build/codegen.js.map +1 -0
  5. package/build/drivers/PostgresDriver.d.ts +1 -4
  6. package/build/drivers/PostgresDriver.d.ts.map +1 -1
  7. package/build/drivers/PostgresDriver.js +49 -58
  8. package/build/drivers/PostgresDriver.js.map +1 -1
  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 -128
  18. package/build/index.d.ts.map +1 -1
  19. package/build/index.js +8 -284
  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-export.d.ts +2 -0
  26. package/build/pg-export.d.ts.map +1 -0
  27. package/build/pg-export.js +7 -0
  28. package/build/pg-export.js.map +1 -0
  29. package/build/pg-migrate.d.ts +2 -0
  30. package/build/pg-migrate.d.ts.map +1 -0
  31. package/build/pg-migrate.js +30 -0
  32. package/build/pg-migrate.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/package.json +94 -16
  38. package/build/AliasAssigner.d.ts +0 -7
  39. package/build/AliasAssigner.d.ts.map +0 -1
  40. package/build/AliasAssigner.js +0 -30
  41. package/build/AliasAssigner.js.map +0 -1
  42. package/build/Aliases.d.ts +0 -110
  43. package/build/Aliases.d.ts.map +0 -1
  44. package/build/Aliases.js +0 -456
  45. package/build/Aliases.js.map +0 -1
  46. package/build/BaseEntity.d.ts +0 -66
  47. package/build/BaseEntity.d.ts.map +0 -1
  48. package/build/BaseEntity.js +0 -120
  49. package/build/BaseEntity.js.map +0 -1
  50. package/build/ConditionBuilder.d.ts +0 -50
  51. package/build/ConditionBuilder.d.ts.map +0 -1
  52. package/build/ConditionBuilder.js +0 -178
  53. package/build/ConditionBuilder.js.map +0 -1
  54. package/build/Entity.d.ts +0 -38
  55. package/build/Entity.d.ts.map +0 -1
  56. package/build/Entity.js +0 -8
  57. package/build/Entity.js.map +0 -1
  58. package/build/EntityFields.d.ts +0 -37
  59. package/build/EntityFields.d.ts.map +0 -1
  60. package/build/EntityFields.js +0 -3
  61. package/build/EntityFields.js.map +0 -1
  62. package/build/EntityFilter.d.ts +0 -113
  63. package/build/EntityFilter.d.ts.map +0 -1
  64. package/build/EntityFilter.js +0 -3
  65. package/build/EntityFilter.js.map +0 -1
  66. package/build/EntityGraphQLFilter.d.ts +0 -51
  67. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  68. package/build/EntityGraphQLFilter.js +0 -54
  69. package/build/EntityGraphQLFilter.js.map +0 -1
  70. package/build/EntityManager.d.ts +0 -734
  71. package/build/EntityManager.d.ts.map +0 -1
  72. package/build/EntityManager.js +0 -2075
  73. package/build/EntityManager.js.map +0 -1
  74. package/build/EntityMetadata.d.ts +0 -185
  75. package/build/EntityMetadata.d.ts.map +0 -1
  76. package/build/EntityMetadata.js +0 -61
  77. package/build/EntityMetadata.js.map +0 -1
  78. package/build/EnumMetadata.d.ts +0 -15
  79. package/build/EnumMetadata.d.ts.map +0 -1
  80. package/build/EnumMetadata.js +0 -3
  81. package/build/EnumMetadata.js.map +0 -1
  82. package/build/FlushLock.d.ts +0 -26
  83. package/build/FlushLock.d.ts.map +0 -1
  84. package/build/FlushLock.js +0 -57
  85. package/build/FlushLock.js.map +0 -1
  86. package/build/HintTree.d.ts +0 -42
  87. package/build/HintTree.d.ts.map +0 -1
  88. package/build/HintTree.js +0 -64
  89. package/build/HintTree.js.map +0 -1
  90. package/build/IndexManager.d.ts +0 -30
  91. package/build/IndexManager.d.ts.map +0 -1
  92. package/build/IndexManager.js +0 -206
  93. package/build/IndexManager.js.map +0 -1
  94. package/build/InstanceData.d.ts +0 -59
  95. package/build/InstanceData.d.ts.map +0 -1
  96. package/build/InstanceData.js +0 -162
  97. package/build/InstanceData.js.map +0 -1
  98. package/build/IsLoadedCache.d.ts +0 -32
  99. package/build/IsLoadedCache.d.ts.map +0 -1
  100. package/build/IsLoadedCache.js +0 -80
  101. package/build/IsLoadedCache.js.map +0 -1
  102. package/build/JoinRows.d.ts +0 -75
  103. package/build/JoinRows.d.ts.map +0 -1
  104. package/build/JoinRows.js +0 -246
  105. package/build/JoinRows.js.map +0 -1
  106. package/build/PluginManager.d.ts +0 -90
  107. package/build/PluginManager.d.ts.map +0 -1
  108. package/build/PluginManager.js +0 -97
  109. package/build/PluginManager.js.map +0 -1
  110. package/build/QueryParser.d.ts +0 -271
  111. package/build/QueryParser.d.ts.map +0 -1
  112. package/build/QueryParser.js +0 -853
  113. package/build/QueryParser.js.map +0 -1
  114. package/build/QueryParser.pruning.d.ts +0 -5
  115. package/build/QueryParser.pruning.d.ts.map +0 -1
  116. package/build/QueryParser.pruning.js +0 -118
  117. package/build/QueryParser.pruning.js.map +0 -1
  118. package/build/QueryVisitor.d.ts +0 -19
  119. package/build/QueryVisitor.d.ts.map +0 -1
  120. package/build/QueryVisitor.js +0 -84
  121. package/build/QueryVisitor.js.map +0 -1
  122. package/build/ReactionsManager.d.ts +0 -84
  123. package/build/ReactionsManager.d.ts.map +0 -1
  124. package/build/ReactionsManager.js +0 -308
  125. package/build/ReactionsManager.js.map +0 -1
  126. package/build/Todo.d.ts +0 -31
  127. package/build/Todo.d.ts.map +0 -1
  128. package/build/Todo.js +0 -73
  129. package/build/Todo.js.map +0 -1
  130. package/build/caches.d.ts +0 -6
  131. package/build/caches.d.ts.map +0 -1
  132. package/build/caches.js +0 -42
  133. package/build/caches.js.map +0 -1
  134. package/build/changes.d.ts +0 -79
  135. package/build/changes.d.ts.map +0 -1
  136. package/build/changes.js +0 -251
  137. package/build/changes.js.map +0 -1
  138. package/build/config.d.ts +0 -237
  139. package/build/config.d.ts.map +0 -1
  140. package/build/config.js +0 -298
  141. package/build/config.js.map +0 -1
  142. package/build/config.test.d.ts +0 -2
  143. package/build/config.test.d.ts.map +0 -1
  144. package/build/config.test.js +0 -53
  145. package/build/config.test.js.map +0 -1
  146. package/build/configure.d.ts +0 -13
  147. package/build/configure.d.ts.map +0 -1
  148. package/build/configure.js +0 -329
  149. package/build/configure.js.map +0 -1
  150. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -7
  151. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  152. package/build/dataloaders/findByUniqueDataLoader.js +0 -47
  153. package/build/dataloaders/findByUniqueDataLoader.js.map +0 -1
  154. package/build/dataloaders/findCountDataLoader.d.ts +0 -7
  155. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  156. package/build/dataloaders/findCountDataLoader.js +0 -74
  157. package/build/dataloaders/findCountDataLoader.js.map +0 -1
  158. package/build/dataloaders/findDataLoader.d.ts +0 -37
  159. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  160. package/build/dataloaders/findDataLoader.js +0 -337
  161. package/build/dataloaders/findDataLoader.js.map +0 -1
  162. package/build/dataloaders/findIdsDataLoader.d.ts +0 -7
  163. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  164. package/build/dataloaders/findIdsDataLoader.js +0 -74
  165. package/build/dataloaders/findIdsDataLoader.js.map +0 -1
  166. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -13
  167. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  168. package/build/dataloaders/findOrCreateDataLoader.js +0 -174
  169. package/build/dataloaders/findOrCreateDataLoader.js.map +0 -1
  170. package/build/dataloaders/lensDataLoader.d.ts +0 -12
  171. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  172. package/build/dataloaders/lensDataLoader.js +0 -180
  173. package/build/dataloaders/lensDataLoader.js.map +0 -1
  174. package/build/dataloaders/loadDataLoader.d.ts +0 -11
  175. package/build/dataloaders/loadDataLoader.d.ts.map +0 -1
  176. package/build/dataloaders/loadDataLoader.js +0 -54
  177. package/build/dataloaders/loadDataLoader.js.map +0 -1
  178. package/build/dataloaders/manyToManyDataLoader.d.ts +0 -8
  179. package/build/dataloaders/manyToManyDataLoader.d.ts.map +0 -1
  180. package/build/dataloaders/manyToManyDataLoader.js +0 -74
  181. package/build/dataloaders/manyToManyDataLoader.js.map +0 -1
  182. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -8
  183. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  184. package/build/dataloaders/manyToManyFindDataLoader.js +0 -70
  185. package/build/dataloaders/manyToManyFindDataLoader.js.map +0 -1
  186. package/build/dataloaders/oneToManyDataLoader.d.ts +0 -7
  187. package/build/dataloaders/oneToManyDataLoader.d.ts.map +0 -1
  188. package/build/dataloaders/oneToManyDataLoader.js +0 -60
  189. package/build/dataloaders/oneToManyDataLoader.js.map +0 -1
  190. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -8
  191. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  192. package/build/dataloaders/oneToManyFindDataLoader.js +0 -71
  193. package/build/dataloaders/oneToManyFindDataLoader.js.map +0 -1
  194. package/build/dataloaders/oneToOneDataLoader.d.ts +0 -7
  195. package/build/dataloaders/oneToOneDataLoader.d.ts.map +0 -1
  196. package/build/dataloaders/oneToOneDataLoader.js +0 -59
  197. package/build/dataloaders/oneToOneDataLoader.js.map +0 -1
  198. package/build/dataloaders/populateDataLoader.d.ts +0 -13
  199. package/build/dataloaders/populateDataLoader.d.ts.map +0 -1
  200. package/build/dataloaders/populateDataLoader.js +0 -148
  201. package/build/dataloaders/populateDataLoader.js.map +0 -1
  202. package/build/dataloaders/recursiveChildrenDataLoader.d.ts +0 -7
  203. package/build/dataloaders/recursiveChildrenDataLoader.d.ts.map +0 -1
  204. package/build/dataloaders/recursiveChildrenDataLoader.js +0 -77
  205. package/build/dataloaders/recursiveChildrenDataLoader.js.map +0 -1
  206. package/build/dataloaders/recursiveParentsDataLoader.d.ts +0 -7
  207. package/build/dataloaders/recursiveParentsDataLoader.d.ts.map +0 -1
  208. package/build/dataloaders/recursiveParentsDataLoader.js +0 -59
  209. package/build/dataloaders/recursiveParentsDataLoader.js.map +0 -1
  210. package/build/defaults.d.ts +0 -54
  211. package/build/defaults.d.ts.map +0 -1
  212. package/build/defaults.js +0 -282
  213. package/build/defaults.js.map +0 -1
  214. package/build/driverApi.d.ts +0 -19
  215. package/build/driverApi.d.ts.map +0 -1
  216. package/build/driverApi.js +0 -17
  217. package/build/driverApi.js.map +0 -1
  218. package/build/drivers/Driver.d.ts +0 -26
  219. package/build/drivers/Driver.d.ts.map +0 -1
  220. package/build/drivers/Driver.js +0 -3
  221. package/build/drivers/Driver.js.map +0 -1
  222. package/build/drivers/EntityWriter.d.ts +0 -64
  223. package/build/drivers/EntityWriter.d.ts.map +0 -1
  224. package/build/drivers/EntityWriter.js +0 -237
  225. package/build/drivers/EntityWriter.js.map +0 -1
  226. package/build/drivers/IdAssigner.d.ts +0 -50
  227. package/build/drivers/IdAssigner.d.ts.map +0 -1
  228. package/build/drivers/IdAssigner.js +0 -133
  229. package/build/drivers/IdAssigner.js.map +0 -1
  230. package/build/drivers/buildRawQuery.d.ts +0 -20
  231. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  232. package/build/drivers/buildRawQuery.js +0 -148
  233. package/build/drivers/buildRawQuery.js.map +0 -1
  234. package/build/drivers/buildUtils.d.ts +0 -4
  235. package/build/drivers/buildUtils.d.ts.map +0 -1
  236. package/build/drivers/buildUtils.js +0 -79
  237. package/build/drivers/buildUtils.js.map +0 -1
  238. package/build/drivers/index.d.ts +0 -5
  239. package/build/drivers/index.d.ts.map +0 -1
  240. package/build/drivers/index.js.map +0 -1
  241. package/build/fields.d.ts +0 -24
  242. package/build/fields.d.ts.map +0 -1
  243. package/build/fields.js +0 -162
  244. package/build/fields.js.map +0 -1
  245. package/build/getProperties.d.ts +0 -28
  246. package/build/getProperties.d.ts.map +0 -1
  247. package/build/getProperties.js +0 -141
  248. package/build/getProperties.js.map +0 -1
  249. package/build/json.d.ts +0 -77
  250. package/build/json.d.ts.map +0 -1
  251. package/build/json.js +0 -116
  252. package/build/json.js.map +0 -1
  253. package/build/k.d.ts +0 -2
  254. package/build/k.d.ts.map +0 -1
  255. package/build/k.js +0 -9
  256. package/build/k.js.map +0 -1
  257. package/build/keys.d.ts +0 -49
  258. package/build/keys.d.ts.map +0 -1
  259. package/build/keys.js +0 -195
  260. package/build/keys.js.map +0 -1
  261. package/build/keywords.d.ts +0 -5
  262. package/build/keywords.d.ts.map +0 -1
  263. package/build/keywords.js +0 -124
  264. package/build/keywords.js.map +0 -1
  265. package/build/loadHints.d.ts +0 -112
  266. package/build/loadHints.d.ts.map +0 -1
  267. package/build/loadHints.js +0 -75
  268. package/build/loadHints.js.map +0 -1
  269. package/build/loadLens.d.ts +0 -66
  270. package/build/loadLens.d.ts.map +0 -1
  271. package/build/loadLens.js +0 -287
  272. package/build/loadLens.js.map +0 -1
  273. package/build/logging/FactoryLogger.d.ts +0 -24
  274. package/build/logging/FactoryLogger.d.ts.map +0 -1
  275. package/build/logging/FactoryLogger.js +0 -77
  276. package/build/logging/FactoryLogger.js.map +0 -1
  277. package/build/logging/FieldLogger.d.ts +0 -27
  278. package/build/logging/FieldLogger.d.ts.map +0 -1
  279. package/build/logging/FieldLogger.js +0 -69
  280. package/build/logging/FieldLogger.js.map +0 -1
  281. package/build/logging/ReactionLogger.d.ts +0 -23
  282. package/build/logging/ReactionLogger.d.ts.map +0 -1
  283. package/build/logging/ReactionLogger.js +0 -65
  284. package/build/logging/ReactionLogger.js.map +0 -1
  285. package/build/newEntity.d.ts +0 -45
  286. package/build/newEntity.d.ts.map +0 -1
  287. package/build/newEntity.js +0 -106
  288. package/build/newEntity.js.map +0 -1
  289. package/build/newTestInstance.d.ts +0 -193
  290. package/build/newTestInstance.d.ts.map +0 -1
  291. package/build/newTestInstance.js +0 -738
  292. package/build/newTestInstance.js.map +0 -1
  293. package/build/normalizeHints.d.ts +0 -16
  294. package/build/normalizeHints.d.ts.map +0 -1
  295. package/build/normalizeHints.js +0 -31
  296. package/build/normalizeHints.js.map +0 -1
  297. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -9
  298. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  299. package/build/plugins/ImmutableEntitiesPlugin.js +0 -21
  300. package/build/plugins/ImmutableEntitiesPlugin.js.map +0 -1
  301. package/build/plugins/PreloadPlugin.d.ts +0 -69
  302. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  303. package/build/plugins/PreloadPlugin.js +0 -3
  304. package/build/plugins/PreloadPlugin.js.map +0 -1
  305. package/build/preloading/JsonAggregatePreloader.d.ts +0 -16
  306. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  307. package/build/preloading/JsonAggregatePreloader.js +0 -238
  308. package/build/preloading/JsonAggregatePreloader.js.map +0 -1
  309. package/build/preloading/canPreload.d.ts +0 -3
  310. package/build/preloading/canPreload.d.ts.map +0 -1
  311. package/build/preloading/canPreload.js +0 -21
  312. package/build/preloading/canPreload.js.map +0 -1
  313. package/build/preloading/partitionHint.d.ts +0 -5
  314. package/build/preloading/partitionHint.d.ts.map +0 -1
  315. package/build/preloading/partitionHint.js +0 -56
  316. package/build/preloading/partitionHint.js.map +0 -1
  317. package/build/reactiveHints.d.ts +0 -129
  318. package/build/reactiveHints.d.ts.map +0 -1
  319. package/build/reactiveHints.js +0 -458
  320. package/build/reactiveHints.js.map +0 -1
  321. package/build/relations/AbstractPropertyImpl.d.ts +0 -8
  322. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  323. package/build/relations/AbstractPropertyImpl.js +0 -15
  324. package/build/relations/AbstractPropertyImpl.js.map +0 -1
  325. package/build/relations/AbstractRelationImpl.d.ts +0 -36
  326. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  327. package/build/relations/AbstractRelationImpl.js +0 -19
  328. package/build/relations/AbstractRelationImpl.js.map +0 -1
  329. package/build/relations/Collection.d.ts +0 -28
  330. package/build/relations/Collection.d.ts.map +0 -1
  331. package/build/relations/Collection.js +0 -18
  332. package/build/relations/Collection.js.map +0 -1
  333. package/build/relations/CustomCollection.d.ts +0 -69
  334. package/build/relations/CustomCollection.d.ts.map +0 -1
  335. package/build/relations/CustomCollection.js +0 -166
  336. package/build/relations/CustomCollection.js.map +0 -1
  337. package/build/relations/CustomReference.d.ts +0 -71
  338. package/build/relations/CustomReference.d.ts.map +0 -1
  339. package/build/relations/CustomReference.js +0 -152
  340. package/build/relations/CustomReference.js.map +0 -1
  341. package/build/relations/LargeCollection.d.ts +0 -19
  342. package/build/relations/LargeCollection.d.ts.map +0 -1
  343. package/build/relations/LargeCollection.js +0 -3
  344. package/build/relations/LargeCollection.js.map +0 -1
  345. package/build/relations/ManyToManyCollection.d.ts +0 -44
  346. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  347. package/build/relations/ManyToManyCollection.js +0 -268
  348. package/build/relations/ManyToManyCollection.js.map +0 -1
  349. package/build/relations/ManyToManyLargeCollection.d.ts +0 -30
  350. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  351. package/build/relations/ManyToManyLargeCollection.js +0 -119
  352. package/build/relations/ManyToManyLargeCollection.js.map +0 -1
  353. package/build/relations/ManyToOneReference.d.ts +0 -121
  354. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  355. package/build/relations/ManyToOneReference.js +0 -389
  356. package/build/relations/ManyToOneReference.js.map +0 -1
  357. package/build/relations/OneToManyCollection.d.ts +0 -58
  358. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  359. package/build/relations/OneToManyCollection.js +0 -347
  360. package/build/relations/OneToManyCollection.js.map +0 -1
  361. package/build/relations/OneToManyLargeCollection.d.ts +0 -26
  362. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  363. package/build/relations/OneToManyLargeCollection.js +0 -102
  364. package/build/relations/OneToManyLargeCollection.js.map +0 -1
  365. package/build/relations/OneToOneReference.d.ts +0 -93
  366. package/build/relations/OneToOneReference.d.ts.map +0 -1
  367. package/build/relations/OneToOneReference.js +0 -228
  368. package/build/relations/OneToOneReference.js.map +0 -1
  369. package/build/relations/PolymorphicReference.d.ts +0 -89
  370. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  371. package/build/relations/PolymorphicReference.js +0 -244
  372. package/build/relations/PolymorphicReference.js.map +0 -1
  373. package/build/relations/ReactiveField.d.ts +0 -87
  374. package/build/relations/ReactiveField.d.ts.map +0 -1
  375. package/build/relations/ReactiveField.js +0 -149
  376. package/build/relations/ReactiveField.js.map +0 -1
  377. package/build/relations/ReactiveGetter.d.ts +0 -30
  378. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  379. package/build/relations/ReactiveGetter.js +0 -38
  380. package/build/relations/ReactiveGetter.js.map +0 -1
  381. package/build/relations/ReactiveManyToMany.d.ts +0 -56
  382. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  383. package/build/relations/ReactiveManyToMany.js +0 -243
  384. package/build/relations/ReactiveManyToMany.js.map +0 -1
  385. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -47
  386. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  387. package/build/relations/ReactiveManyToManyOtherSide.js +0 -155
  388. package/build/relations/ReactiveManyToManyOtherSide.js.map +0 -1
  389. package/build/relations/ReactiveQueryField.d.ts +0 -41
  390. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  391. package/build/relations/ReactiveQueryField.js +0 -125
  392. package/build/relations/ReactiveQueryField.js.map +0 -1
  393. package/build/relations/ReactiveReference.d.ts +0 -119
  394. package/build/relations/ReactiveReference.d.ts.map +0 -1
  395. package/build/relations/ReactiveReference.js +0 -333
  396. package/build/relations/ReactiveReference.js.map +0 -1
  397. package/build/relations/ReadOnlyCollection.d.ts +0 -19
  398. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  399. package/build/relations/ReadOnlyCollection.js +0 -15
  400. package/build/relations/ReadOnlyCollection.js.map +0 -1
  401. package/build/relations/RecursiveCollection.d.ts +0 -84
  402. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  403. package/build/relations/RecursiveCollection.js +0 -296
  404. package/build/relations/RecursiveCollection.js.map +0 -1
  405. package/build/relations/Reference.d.ts +0 -35
  406. package/build/relations/Reference.d.ts.map +0 -1
  407. package/build/relations/Reference.js +0 -21
  408. package/build/relations/Reference.js.map +0 -1
  409. package/build/relations/Relation.d.ts +0 -14
  410. package/build/relations/Relation.d.ts.map +0 -1
  411. package/build/relations/Relation.js +0 -12
  412. package/build/relations/Relation.js.map +0 -1
  413. package/build/relations/hasAsyncMethod.d.ts +0 -27
  414. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  415. package/build/relations/hasAsyncMethod.js +0 -47
  416. package/build/relations/hasAsyncMethod.js.map +0 -1
  417. package/build/relations/hasAsyncProperty.d.ts +0 -49
  418. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  419. package/build/relations/hasAsyncProperty.js +0 -98
  420. package/build/relations/hasAsyncProperty.js.map +0 -1
  421. package/build/relations/hasManyDerived.d.ts +0 -22
  422. package/build/relations/hasManyDerived.d.ts.map +0 -1
  423. package/build/relations/hasManyDerived.js +0 -32
  424. package/build/relations/hasManyDerived.js.map +0 -1
  425. package/build/relations/hasManyThrough.d.ts +0 -10
  426. package/build/relations/hasManyThrough.d.ts.map +0 -1
  427. package/build/relations/hasManyThrough.js +0 -24
  428. package/build/relations/hasManyThrough.js.map +0 -1
  429. package/build/relations/hasOneDerived.d.ts +0 -12
  430. package/build/relations/hasOneDerived.d.ts.map +0 -1
  431. package/build/relations/hasOneDerived.js +0 -24
  432. package/build/relations/hasOneDerived.js.map +0 -1
  433. package/build/relations/hasOneThrough.d.ts +0 -10
  434. package/build/relations/hasOneThrough.d.ts.map +0 -1
  435. package/build/relations/hasOneThrough.js +0 -24
  436. package/build/relations/hasOneThrough.js.map +0 -1
  437. package/build/relations/index.d.ts +0 -28
  438. package/build/relations/index.d.ts.map +0 -1
  439. package/build/relations/index.js +0 -88
  440. package/build/relations/index.js.map +0 -1
  441. package/build/rules.d.ts +0 -123
  442. package/build/rules.d.ts.map +0 -1
  443. package/build/rules.js +0 -231
  444. package/build/rules.js.map +0 -1
  445. package/build/runtimeConfig.d.ts +0 -17
  446. package/build/runtimeConfig.d.ts.map +0 -1
  447. package/build/runtimeConfig.js +0 -18
  448. package/build/runtimeConfig.js.map +0 -1
  449. package/build/serde.d.ts +0 -277
  450. package/build/serde.d.ts.map +0 -1
  451. package/build/serde.js +0 -517
  452. package/build/serde.js.map +0 -1
  453. package/build/temporal.d.ts +0 -16
  454. package/build/temporal.d.ts.map +0 -1
  455. package/build/temporal.js +0 -48
  456. package/build/temporal.js.map +0 -1
  457. package/build/temporalMappers.d.ts +0 -25
  458. package/build/temporalMappers.d.ts.map +0 -1
  459. package/build/temporalMappers.js +0 -59
  460. package/build/temporalMappers.js.map +0 -1
  461. package/build/trusted.d.ts +0 -5
  462. package/build/trusted.d.ts.map +0 -1
  463. package/build/trusted.js +0 -15
  464. package/build/trusted.js.map +0 -1
  465. package/build/typeMap.d.ts +0 -68
  466. package/build/typeMap.d.ts.map +0 -1
  467. package/build/typeMap.js +0 -3
  468. package/build/typeMap.js.map +0 -1
  469. package/build/unnest.d.ts +0 -13
  470. package/build/unnest.d.ts.map +0 -1
  471. package/build/unnest.js +0 -85
  472. package/build/unnest.js.map +0 -1
  473. package/build/upsert.d.ts +0 -42
  474. package/build/upsert.d.ts.map +0 -1
  475. package/build/upsert.js +0 -265
  476. package/build/upsert.js.map +0 -1
  477. package/build/utils.d.ts +0 -58
  478. package/build/utils.d.ts.map +0 -1
  479. package/build/utils.js +0 -236
  480. package/build/utils.js.map +0 -1
  481. package/build/withLoaded.d.ts +0 -56
  482. package/build/withLoaded.d.ts.map +0 -1
  483. package/build/withLoaded.js +0 -76
  484. package/build/withLoaded.js.map +0 -1
@@ -1,112 +0,0 @@
1
- import { Entity } from "./Entity";
2
- import { NormalizeHint } from "./normalizeHints";
3
- import { AsyncMethod, AsyncProperty, Collection, LoadedCollection, LoadedMethod, LoadedProperty, LoadedReadOnlyCollection, LoadedReference, OneToOneReference, ReadOnlyCollection, Reference, Relation } from "./relations";
4
- import { LoadedOneToOneReference } from "./relations/OneToOneReference";
5
- import { OptsOf } from "./typeMap";
6
- import { MaybePromise, NullOrDefinedOr } from "./utils";
7
- declare const deepLoad: unique symbol;
8
- type DeepLoadHint<T extends Entity> = NestedLoadHint<T> & {
9
- [deepLoad]: true;
10
- };
11
- type MaybeBaseType = any;
12
- /** Marks a given `T[K]` field as the loaded/synchronous version of the collection. */
13
- export type MarkLoaded<T extends Entity, P, UH = {}> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, UH>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, UH>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, UH>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, UH>> : P extends AsyncProperty<MaybeBaseType, infer V> ? [
14
- V
15
- ] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, UH> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, UH>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
16
- /** A version of MarkLoaded the uses `DeepLoadHint` for tests. */
17
- type MarkDeepLoaded<T extends Entity, P> = P extends OneToOneReference<MaybeBaseType, infer U> ? LoadedOneToOneReference<T, Loaded<U, DeepLoadHint<U>>> : P extends Reference<MaybeBaseType, infer U, infer N> ? LoadedReference<T, Loaded<U, DeepLoadHint<U>>, N> : P extends Collection<MaybeBaseType, infer U> ? LoadedCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends ReadOnlyCollection<MaybeBaseType, infer U> ? LoadedReadOnlyCollection<T, Loaded<U, DeepLoadHint<U>>> : P extends AsyncProperty<MaybeBaseType, infer V> ? [
18
- V
19
- ] extends [(infer U extends Entity) | undefined] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>> | Exclude<V, U>> : V extends readonly (infer U extends Entity)[] ? LoadedProperty<T, Loaded<U, DeepLoadHint<U>>[]> : LoadedProperty<T, V> : P extends AsyncMethod<T, infer A, infer V> ? LoadedMethod<T, A, V> : unknown;
20
- /**
21
- * A helper type for `New` that marks every `Reference` and `LoadedCollection` in `T` as loaded.
22
- *
23
- * We also look in opts `O` for the "`U`" type, i.e. the next level up/down in the graph,
24
- * because the call site's opts may be using an also-marked loaded parent/child as an opt,
25
- * so this will infer the type of that parent/child and use that for the `U` type.
26
- *
27
- * This means things like `entity.parent.get.grandParent.get` will work on the resulting
28
- * type.
29
- *
30
- * Note that this is also purposefully broken out of `New` because of some weirdness
31
- * around type narrowing that wasn't working when inlined into `New`.
32
- */
33
- type MaybeUseOptsType<T extends Entity, O, K extends keyof T & keyof O> = O[K] extends NullOrDefinedOr<infer OK> ? OK extends Entity ? T[K] extends OneToOneReference<T, infer U> ? LoadedOneToOneReference<T, U> : T[K] extends Reference<T, infer U, infer N> ? LoadedReference<T, OK, N> : never : OK extends Array<infer OU> ? OU extends Entity ? T[K] extends Collection<T, infer U> ? LoadedCollection<T, OU> : never : T[K] : T[K] : never;
34
- /**
35
- * Marks all references/collections of `T` as loaded, i.e. for newly instantiated entities where
36
- * we know there are no already-existing rows with fk's to this new entity in the database.
37
- *
38
- * `O` is the generic from the call site so that if the caller passes `{ author: SomeLoadedAuthor }`,
39
- * we'll prefer that type, as it might have more nested load hints that we can't otherwise assume.
40
- */
41
- export type New<T extends Entity, O extends OptsOf<T> = OptsOf<T>> = T & {
42
- [K in keyof T]: K extends keyof O ? MaybeUseOptsType<T, O, K> : MarkLoaded<T, T[K]>;
43
- };
44
- /**
45
- * Marks all references/collections of `T` as deeply loaded, which is only useful for
46
- * tests where we can have "the whole object graph" in-memory.
47
- */
48
- export type DeepNew<T extends Entity> = Loaded<T, DeepLoadHint<T>>;
49
- /** Detects whether an entity is newly created, and so we can treat all the relations as loaded. */
50
- export declare function isNew<T extends Entity>(e: T): e is New<T>;
51
- /**
52
- * All the loadable fields, i.e. relations or lazy-loaded/async properties, in an entity.
53
- *
54
- * We use a mapped type (instead of a code-generated type) so that we can pick up custom
55
- * fields that have be added to the entity classes, i.e. `Author.numberOfBooks2` async
56
- * properties.
57
- */
58
- export type Loadable<T extends Entity> = {
59
- -readonly [K in keyof T as LoadableValue<T[K]> extends never ? never : K]: LoadableValue<T[K]>;
60
- };
61
- /**
62
- * Given an entity field/value, return the loadable entity.
63
- *
64
- * I.e. `Author.books` as a Reference or Collection, return `Book`.
65
- *
66
- * Note that we usually return entities, but for AsyncProperties it could be
67
- * a calculated primitive value like number or string.
68
- */
69
- export type LoadableValue<V> = V extends Reference<any, infer U, any> ? U : V extends Collection<any, infer U> ? U : V extends ReadOnlyCollection<any, infer U> ? U : V extends AsyncMethod<any, any, infer V> ? V : V extends AsyncProperty<any, infer P> ? P extends (infer U extends Entity) | undefined ? U : P : never;
70
- /**
71
- * A load hint of a single key, multiple keys, or nested keys and sub-hints.
72
- *
73
- * Load hints are different from reactive hints in that load hints include only references,
74
- * collections, and async properties to preload (like `Book.author` or `Author.books`), and
75
- * do not include any primitive fields (like `Author.firstName`).
76
- */
77
- export type LoadHint<T extends Entity> = (keyof Loadable<T> & string) | ReadonlyArray<keyof Loadable<T> & string> | NestedLoadHint<T>;
78
- export type NestedLoadHint<T extends Entity> = {
79
- [K in keyof Loadable<T>]?: Loadable<T>[K] extends infer U extends Entity ? LoadHint<U> : {};
80
- };
81
- /** Given an entity `T` that is being populated with hints `H`, marks the `H` attributes as populated. */
82
- export type Loaded<T extends Entity, H> = T & {
83
- [K in keyof T & keyof NormalizeHint<H>]: H extends DeepLoadHint<T> ? MarkDeepLoaded<T, T[K]> : MarkLoaded<T, T[K], NormalizeHint<H>[K]>;
84
- };
85
- /** Recursively checks if the relations from a load hint are loaded on an entity. */
86
- export declare function isLoaded<T extends Entity, H extends LoadHint<T>>(entity: T, hint: H): entity is Loaded<T, H>;
87
- export declare function maybePopulateThen<T extends Entity, H extends LoadHint<T>, R>(entity: T, hint: H, fn: (loaded: Loaded<T, H>) => R): MaybePromise<R>;
88
- /**
89
- * Runtime checks that `entity` has `hint` loaded, and type guards it as a `Loaded<T, hint>`.
90
- *
91
- * Similar to `ensureLoaded`, although `ensureLoaded` returns its value.
92
- */
93
- export declare function assertLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): asserts entity is Loaded<T, H>;
94
- /**
95
- * Runtime checks that `entity` has `hint` loaded, and returns it as a `Loaded<T, entity>`.
96
- *
97
- * Similar to `assertLoaded`, although `assertLoaded` is a boolean type guard.
98
- */
99
- export declare function ensureLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
100
- /**
101
- * Unsafe type check for `entity` to `hint`, *without* a runtime type check.
102
- *
103
- * You should only use this if you're extremely sure that entity has hint loaded.
104
- */
105
- export declare function unsafeLoaded<T extends Entity, const H extends LoadHint<T>>(entity: T, hint: H): Loaded<T, H>;
106
- /** From any `Relations` field in `T`, i.e. for loader hints. */
107
- export type RelationsIn<T extends Entity> = SubType<T, Relation<any, any>>;
108
- type SubType<T, C> = Pick<T, {
109
- [K in keyof T]: T[K] extends C ? K : never;
110
- }[keyof T]>;
111
- export {};
112
- //# sourceMappingURL=loadHints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadHints.d.ts","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNew = isNew;
4
- exports.isLoaded = isLoaded;
5
- exports.maybePopulateThen = maybePopulateThen;
6
- exports.assertLoaded = assertLoaded;
7
- exports.ensureLoaded = ensureLoaded;
8
- exports.unsafeLoaded = unsafeLoaded;
9
- const reactiveHints_1 = require("./reactiveHints");
10
- const utils_1 = require("./utils");
11
- const deepLoad = Symbol();
12
- /** Detects whether an entity is newly created, and so we can treat all the relations as loaded. */
13
- function isNew(e) {
14
- return e.isNewEntity;
15
- }
16
- /** Recursively checks if the relations from a load hint are loaded on an entity. */
17
- function isLoaded(entity, hint) {
18
- if (typeof hint === "string") {
19
- return entity[hint].isLoaded;
20
- }
21
- else if (Array.isArray(hint)) {
22
- return hint.every((key) => entity[key].isLoaded);
23
- }
24
- else if (typeof hint === "object") {
25
- return Object.entries(hint).every(([key, nestedHint]) => {
26
- const relation = (0, reactiveHints_1.getRelationFromMaybePolyKey)(entity, key);
27
- if (!relation || typeof relation.load !== "function")
28
- return true;
29
- if (relation.isLoaded) {
30
- const result = relation.get;
31
- return Array.isArray(result)
32
- ? result.every((entity) => isLoaded(entity, nestedHint))
33
- : result
34
- ? isLoaded(result, nestedHint)
35
- : true;
36
- }
37
- else {
38
- return false;
39
- }
40
- });
41
- }
42
- else {
43
- throw new Error(`Unexpected hint ${hint}`);
44
- }
45
- }
46
- function maybePopulateThen(entity, hint, fn) {
47
- return isLoaded(entity, hint) ? fn(entity) : entity.populate(hint).then(fn);
48
- }
49
- /**
50
- * Runtime checks that `entity` has `hint` loaded, and type guards it as a `Loaded<T, hint>`.
51
- *
52
- * Similar to `ensureLoaded`, although `ensureLoaded` returns its value.
53
- */
54
- function assertLoaded(entity, hint) {
55
- if (!isLoaded(entity, hint))
56
- (0, utils_1.fail)(`${entity.id} is not loaded for ${JSON.stringify(hint)}`);
57
- }
58
- /**
59
- * Runtime checks that `entity` has `hint` loaded, and returns it as a `Loaded<T, entity>`.
60
- *
61
- * Similar to `assertLoaded`, although `assertLoaded` is a boolean type guard.
62
- */
63
- function ensureLoaded(entity, hint) {
64
- assertLoaded(entity, hint);
65
- return entity;
66
- }
67
- /**
68
- * Unsafe type check for `entity` to `hint`, *without* a runtime type check.
69
- *
70
- * You should only use this if you're extremely sure that entity has hint loaded.
71
- */
72
- function unsafeLoaded(entity, hint) {
73
- return entity;
74
- }
75
- //# sourceMappingURL=loadHints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadHints.js","sourceRoot":"","sources":["../src/loadHints.ts"],"names":[],"mappings":";;AAoIA,sBAEC;AA6DD,4BAuBC;AAED,8CAMC;AAOD,oCAKC;AAOD,oCAGC;AAOD,oCAEC;AA/PD,mDAA8D;AAiB9D,mCAA8D;AAE9D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AA8G1B,mGAAmG;AACnG,SAAgB,KAAK,CAAmB,CAAI;IAC1C,OAAO,CAAC,CAAC,WAAW,CAAC;AACvB,CAAC;AA4DD,oFAAoF;AACpF,SAAgB,QAAQ,CAA0C,MAAS,EAAE,IAAO;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAQ,MAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAQ,IAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,MAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAA,2CAA2B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YAClE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;oBACxD,CAAC,CAAC,MAAM;wBACN,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;wBAC9B,CAAC,CAAC,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAC/B,MAAS,EACT,IAAO,EACP,EAA+B;IAE/B,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAC1B,MAAS,EACT,IAAO;IAEP,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,IAAA,YAAI,EAAC,GAAG,MAAM,CAAC,EAAE,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAgD,MAAS,EAAE,IAAO;IAC5F,YAAY,CAAO,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAgD,MAAS,EAAE,IAAO;IAC5F,OAAO,MAAsB,CAAC;AAChC,CAAC"}
@@ -1,66 +0,0 @@
1
- import { Entity } from "./Entity";
2
- import { EntityMetadata, Field } from "./EntityMetadata";
3
- import { LoadHint } from "./loadHints";
4
- /** Generically matches on a Reference/Collection's load method. */
5
- type LoadLike<U> = {
6
- load(): Promise<U>;
7
- };
8
- /** Generically matches a property or zero-arg method that returns a promise. */
9
- type PromiseFnLike<U> = () => PromiseLike<U>;
10
- /**
11
- * Given a parent type `R` (that is our current lens "return type", i.e. `Author` or `Author | undefined` or `Author[]`),
12
- * and the type `V` of the "next step" of the traversal (i.e. itself `Book` or `Book | undefined` or `Book[]`, depending
13
- * on the relation being traversed), returns `V` mapped to "the right format" based on `R`.
14
- *
15
- * I.e.:
16
- *
17
- * - `Author | undefined` that navigates a `Book` will become `Book | undefined`
18
- * - `Author` that navigates a `Book | undefined` will also become `Book | undefined`
19
- * - `Author[]` that navigates a `Book | undefined` will become a `Book[]`
20
- * - `Author | undefined` that navigates a `Book[]` will become a `Book[]`
21
- */
22
- type MaybeArray<R, V> = R extends ReadonlyArray<any> ? [V] extends [ReadonlyArray<infer U>] ? DropUndefined<U>[] : DropUndefined<V>[] : V extends ReadonlyArray<any> ? V : [R] extends [undefined] ? V | undefined : V;
23
- /** Given a type T that we come across in the path, de-array it to continue our flatMap-ish semantics. */
24
- type MaybeDropArray<T> = T extends ReadonlyArray<infer U> ? U : T;
25
- type DropUndefined<T> = Exclude<T, undefined>;
26
- /**
27
- * A type for declaratively walking the object graph.
28
- *
29
- * This is not technically a Lens that can `get/set`, but the idea is generally the same.
30
- *
31
- * `T` is the type we're on, i.e. when `T = Author` we can do `.firstName` or `.lastName.
32
- * `R` is either a `T` or `T[]` or `T | undefined` and just captures whether we've hit a
33
- * list at any point in the lens navigation path.
34
- */
35
- export type Lens<T, R = T> = {
36
- [P in keyof T]: T[P] extends LoadLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : T[P] extends PromiseFnLike<infer U> ? Lens<MaybeDropArray<DropUndefined<U>>, MaybeArray<R, U>> : Lens<MaybeDropArray<DropUndefined<T[P]>>, MaybeArray<R, T[P]>>;
37
- };
38
- /**
39
- * Allows declaratively loading/traversing several layers of references at once.
40
- *
41
- * I.e.:
42
- *
43
- * ```typescript
44
- * const publisher = await book.load(b => b.author.publisher);
45
- * ```
46
- */
47
- export declare function loadLens<T extends Entity, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>, opts?: {
48
- forceReload?: boolean;
49
- sql?: boolean;
50
- }): Promise<V>;
51
- export declare function isAllSqlPaths(meta: EntityMetadata, paths: string[]): boolean;
52
- export declare function mapPathsToTarget(source: EntityMetadata, paths: string[]): [EntityMetadata, [EntityMetadata, Field][]];
53
- /**
54
- * The synchronous version of `loadLens`.
55
- *
56
- * This assumes you've first evaluated the lens with `loadLens` and now can access it synchronously.
57
- */
58
- export declare function getLens<T, U, V>(startMeta: EntityMetadata, start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): V;
59
- /** Returns whether a lens is loaded; primarily for deeply loaded instances in tests. */
60
- export declare function isLensLoaded<T, U, V>(start: T | readonly T[], fn: (lens: Lens<T>) => Lens<U, V>): boolean;
61
- /** Accepts a lens like `a => a.books.reviews` and returns a hint like `{ books: { reviews: {} } }`. */
62
- export declare function lensToLoadHint<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): LoadHint<T>;
63
- /** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
64
- export declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
65
- export {};
66
- //# sourceMappingURL=loadLens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadLens.d.ts","sourceRoot":"","sources":["../src/loadLens.ts"],"names":[],"mappings":"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"}
package/build/loadLens.js DELETED
@@ -1,287 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadLens = loadLens;
4
- exports.isAllSqlPaths = isAllSqlPaths;
5
- exports.mapPathsToTarget = mapPathsToTarget;
6
- exports.getLens = getLens;
7
- exports.isLensLoaded = isLensLoaded;
8
- exports.lensToLoadHint = lensToLoadHint;
9
- exports.lensToPath = lensToPath;
10
- const Entity_1 = require("./Entity");
11
- const EntityManager_1 = require("./EntityManager");
12
- const EntityMetadata_1 = require("./EntityMetadata");
13
- const lensDataLoader_1 = require("./dataloaders/lensDataLoader");
14
- const relations_1 = require("./relations");
15
- const AbstractRelationImpl_1 = require("./relations/AbstractRelationImpl");
16
- /**
17
- * Allows declaratively loading/traversing several layers of references at once.
18
- *
19
- * I.e.:
20
- *
21
- * ```typescript
22
- * const publisher = await book.load(b => b.author.publisher);
23
- * ```
24
- */
25
- // For some reason accepting Lens<this, this> does not work when called from within the entity
26
- // subclass itself, so we use the codegen hammer in our subclass to force the right Lens type
27
- // in a .load stub that just calls us for the implementation.
28
- async function loadLens(start, fn, opts = {}) {
29
- // Probe for the meta, so we can track when/if it needs to flip to a collection (even after hitting undefined)
30
- const meta = Array.isArray(start)
31
- ? (0, Entity_1.isEntity)(start[0]) && (0, EntityMetadata_1.getMetadata)(start[0])
32
- : (0, Entity_1.isEntity)(start) && (0, EntityMetadata_1.getMetadata)(start);
33
- // This should only happen for `start=[]`, which we know should return `[]`
34
- if (!meta)
35
- return [];
36
- // If we're already loaded, just return
37
- if (!opts.forceReload && isLensLoaded(start, fn)) {
38
- return getLens(meta, start, fn);
39
- }
40
- const paths = collectPaths(fn);
41
- // See if we can load this via SQL
42
- if (opts.sql) {
43
- // Are all paths SQL query-able?
44
- if (!isAllSqlPaths(meta, paths)) {
45
- throw new Error("Cannot use loadLens opts.sql with non-SQL paths");
46
- }
47
- // If there is only 1 path, don't both with the fancy join
48
- if (paths.length > 1) {
49
- // TODO We can only do this is _none_ of the paths are loaded, otherwise we'll miss WIP mutations
50
- if (isReadOnlyArray(start)) {
51
- const em = start[0].em;
52
- return (await (0, lensDataLoader_1.lensDataLoader)(em, meta.cstr, true, paths)
53
- .loadMany(start.map((e) => e.idTagged))
54
- .catch(function loadLens(err) {
55
- throw (0, EntityManager_1.appendStack)(err, new Error());
56
- }));
57
- }
58
- else {
59
- const em = start.em;
60
- return (await (0, lensDataLoader_1.lensDataLoader)(em, meta.cstr, false, paths)
61
- .load(start.idTagged)
62
- .catch(function loadLens(err) {
63
- throw (0, EntityManager_1.appendStack)(err, new Error());
64
- }));
65
- }
66
- }
67
- }
68
- // This could be `Entity | Entity[] | undefined` as we keep walking
69
- let current = start;
70
- let currentMeta = meta;
71
- let seenSoftDeleted = false;
72
- // Now evaluate each step of the path
73
- for (const path of paths) {
74
- const field = currentMeta?.allFields[path];
75
- if (Array.isArray(current)) {
76
- current = (await Promise.all(current.map((c) => maybeLoad(c, path, opts)))).flat();
77
- current = [...new Set(current.filter((c) => c !== undefined && !c.isSoftDeletedEntity))];
78
- // As soon as we hit `current=[]`, we can early return (...`current=undefined` cannot b/c the next path might flip to a list)
79
- if (current.length === 0)
80
- return current;
81
- }
82
- else if (current) {
83
- current = await maybeLoad(current, path, opts);
84
- seenSoftDeleted ||= current?.isSoftDeletedEntity;
85
- // If we had been traversing m2o -> m2o (i.e. book -> author) and just hit an o2m/m2m (i.e.
86
- // book -> author -> comments), and any of our prior m2os like `author` had been soft deleted,
87
- // just filter everything out.
88
- //
89
- // Otherwise, we keep `book -> author`, even if author is soft-deleted, b/c it changes the return
90
- // type from "author" to "author | undefined".
91
- if (Array.isArray(current) && seenSoftDeleted) {
92
- return [];
93
- }
94
- }
95
- else {
96
- // current is undefined; see if we should flip to a list ... which means we can early return
97
- if (field?.kind === "o2m" || field?.kind === "m2m")
98
- return [];
99
- }
100
- currentMeta = field && "otherMetadata" in field ? field.otherMetadata() : undefined;
101
- }
102
- return current;
103
- }
104
- function isAllSqlPaths(meta, paths) {
105
- for (let i = 0, current = meta; i < paths.length; i++) {
106
- const next = current.allFields[paths[i]];
107
- if (next && (next.kind === "m2o" || next.kind === "m2m" || next.kind === "o2m" || next.kind === "o2o")) {
108
- current = next.otherMetadata();
109
- }
110
- else {
111
- return false;
112
- }
113
- }
114
- return true;
115
- }
116
- // Given BookReview+[book, author] return [Author, books+bookReviews]
117
- function mapPathsToTarget(source, paths) {
118
- let other = source;
119
- let fields = [];
120
- for (let i = 0; i < paths.length; i++) {
121
- const next = other.allFields[paths[i]];
122
- if (next && (next.kind === "m2o" || next.kind === "m2m" || next.kind === "o2m" || next.kind === "o2o")) {
123
- other = next.otherMetadata();
124
- fields.push([other, other.allFields[next.otherFieldName]]);
125
- }
126
- else {
127
- throw new Error("Either not an all-SQL path or not supported yet");
128
- }
129
- }
130
- return [other, fields.reverse()];
131
- }
132
- function maybeLoad(object, path, opts) {
133
- if (object === undefined || object === null) {
134
- return undefined;
135
- }
136
- const value = object[path];
137
- if (value && typeof value === "object" && "load" in value) {
138
- return value.load(opts);
139
- }
140
- else if (value && typeof value === "function") {
141
- return value.apply(object);
142
- }
143
- else {
144
- return value;
145
- }
146
- }
147
- /**
148
- * The synchronous version of `loadLens`.
149
- *
150
- * This assumes you've first evaluated the lens with `loadLens` and now can access it synchronously.
151
- */
152
- function getLens(startMeta, start, fn) {
153
- const paths = collectPaths(fn);
154
- let currentMeta = startMeta;
155
- let current = start;
156
- let seenSoftDeleted = false;
157
- // Now evaluate each step of the path
158
- for (const path of paths) {
159
- // We might navigate into properties, at which point we won't know the currentMeta
160
- const field = currentMeta?.allFields[path];
161
- if (Array.isArray(current)) {
162
- // Use a set to dedup as we go
163
- const next = new Set();
164
- // This can be a hot path, so avoid `map` and `flat` and just loop
165
- for (const c of current) {
166
- const value = maybeGet(c, path);
167
- if (Array.isArray(value))
168
- for (const v of value)
169
- maybeAdd(next, v);
170
- else
171
- maybeAdd(next, value);
172
- }
173
- current = [...next];
174
- }
175
- else if (current) {
176
- current = maybeGet(current, path);
177
- seenSoftDeleted ||= current?.isSoftDeletedEntity;
178
- // If we had been traversing m2o -> m2o and just hit an o2m/m2m, and any of our
179
- // prior m2os had been soft-deleted, just filter everything out.
180
- if (Array.isArray(current) && seenSoftDeleted) {
181
- return [];
182
- }
183
- }
184
- else {
185
- // current is undefined; see if we should flip to a list ... which means we can early return
186
- if (field?.kind === "o2m" || field?.kind === "m2m")
187
- return [];
188
- }
189
- currentMeta = field && "otherMetadata" in field ? field.otherMetadata() : undefined;
190
- }
191
- return current;
192
- }
193
- function maybeAdd(set, value) {
194
- if (value !== undefined && !value.isSoftDeletedEntity)
195
- set.add(value);
196
- }
197
- /** Returns whether a lens is loaded; primarily for deeply loaded instances in tests. */
198
- function isLensLoaded(start, fn) {
199
- // This is a huge copy/paste of `getLens` but we check `isNotLoaded` and early return
200
- // as soon as we find any not-loaded relation
201
- const paths = collectPaths(fn);
202
- let current = start;
203
- let seenSoftDeleted = false;
204
- // Now evaluate each step of the path
205
- for (const path of paths) {
206
- if (Array.isArray(current)) {
207
- // Use a set to dedup as we go
208
- const next = new Set();
209
- for (const c of current) {
210
- if (isNotLoaded(c, path))
211
- return false;
212
- const value = maybeGet(c, path);
213
- if (Array.isArray(value))
214
- for (const v of value)
215
- maybeAdd(next, v);
216
- else
217
- maybeAdd(next, value);
218
- }
219
- current = [...next];
220
- }
221
- else {
222
- if (isNotLoaded(current, path))
223
- return false;
224
- current = maybeGet(current, path);
225
- seenSoftDeleted ||= current?.isSoftDeletedEntity;
226
- // If we had been traversing m2o -> m2o and just hit an o2m/m2m, and any of our
227
- // prior m2os had been soft deleted, just filter everything out.
228
- if (Array.isArray(current) && seenSoftDeleted) {
229
- return true;
230
- }
231
- }
232
- }
233
- return true;
234
- }
235
- /** Accepts a lens like `a => a.books.reviews` and returns a hint like `{ books: { reviews: {} } }`. */
236
- function lensToLoadHint(fn) {
237
- const paths = collectPaths(fn);
238
- let current = {};
239
- for (const path of paths.reverse()) {
240
- current = { [path]: current };
241
- }
242
- return current;
243
- }
244
- /** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
245
- function lensToPath(fn) {
246
- return collectPaths(fn);
247
- }
248
- function isNotLoaded(object, path) {
249
- const value = object && object[path];
250
- if (value instanceof AbstractRelationImpl_1.AbstractRelationImpl || (0, relations_1.isAsyncProperty)(value)) {
251
- return !value.isLoaded;
252
- }
253
- return false;
254
- }
255
- function maybeGet(object, path) {
256
- if (object === undefined || object === null) {
257
- return undefined;
258
- }
259
- const value = object[path];
260
- if (typeof value === "object" && "get" in value) {
261
- return value.get;
262
- }
263
- else if (value && typeof value === "function") {
264
- return value.apply(object);
265
- }
266
- else {
267
- return value;
268
- }
269
- }
270
- function collectPaths(fn) {
271
- const paths = [];
272
- // The proxy collects the path navigations that the user's `fn` lambda invokes.
273
- const proxy = new Proxy({}, {
274
- get(_, property, receiver) {
275
- paths.push(String(property));
276
- return receiver;
277
- },
278
- });
279
- // Invoke the lens function to record the navigation path on our proxy
280
- fn(proxy);
281
- return paths;
282
- }
283
- // Work around https://github.com/microsoft/TypeScript/issues/17002
284
- function isReadOnlyArray(value) {
285
- return Array.isArray(value);
286
- }
287
- //# sourceMappingURL=loadLens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadLens.js","sourceRoot":"","sources":["../src/loadLens.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { Entity } from "../Entity";
2
- import { EntityMetadata } from "../EntityMetadata";
3
- import { UseMapSource } from "../newTestInstance";
4
- export type WriteFn = (line: string) => void;
5
- export declare class FactoryLogger {
6
- private level;
7
- private writeFn;
8
- private skipNextLogCreating;
9
- constructor();
10
- logCreating(cstr: any): void;
11
- logAddToUseMap(e: Entity, source: UseMapSource): void;
12
- logCreated(e: Entity): void;
13
- logFoundExisting(e: Entity): void;
14
- logFoundOpt(fieldName: string, e: Entity): void;
15
- logNotFoundAndCreating(fieldName: string, meta: EntityMetadata): void;
16
- logFoundInUseMap(fieldName: string, e: Entity): void;
17
- logFoundSingleEntity(fieldName: string, e: Entity): void;
18
- indent(): void;
19
- dedent(): void;
20
- private write;
21
- private prefix;
22
- }
23
- export declare function setFactoryWriter(write: WriteFn | undefined): void;
24
- //# sourceMappingURL=FactoryLogger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FactoryLogger.d.ts","sourceRoot":"","sources":["../../src/logging/FactoryLogger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAI7C,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,mBAAmB,CAAS;;IAQpC,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAS5B,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAQrD,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKjC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAKrE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAIpD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxD,MAAM;IAIN,MAAM;IAIN,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;CAGf;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEjE"}