joist-core 2.3.0-next.2 → 2.3.0-next.21

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 (350) hide show
  1. package/build/AliasAssigner.d.ts +0 -1
  2. package/build/Aliases.d.ts +0 -1
  3. package/build/BaseEntity.d.ts +0 -1
  4. package/build/ConditionBuilder.d.ts +0 -1
  5. package/build/ConditionBuilder.js +1 -1
  6. package/build/ConditionBuilder.js.map +1 -1
  7. package/build/Entity.d.ts +0 -1
  8. package/build/EntityFields.d.ts +0 -1
  9. package/build/EntityFilter.d.ts +0 -1
  10. package/build/EntityGraphQLFilter.d.ts +0 -1
  11. package/build/EntityManager.d.ts +3 -3
  12. package/build/EntityManager.js +298 -115
  13. package/build/EntityManager.js.map +1 -1
  14. package/build/EntityMetadata.d.ts +22 -3
  15. package/build/EntityMetadata.js +5 -3
  16. package/build/EntityMetadata.js.map +1 -1
  17. package/build/EnumMetadata.d.ts +0 -1
  18. package/build/FlushLock.d.ts +0 -1
  19. package/build/HintTree.d.ts +0 -1
  20. package/build/IndexManager.d.ts +4 -3
  21. package/build/IndexManager.js +4 -2
  22. package/build/IndexManager.js.map +1 -1
  23. package/build/InstanceData.d.ts +8 -8
  24. package/build/InstanceData.js +57 -25
  25. package/build/InstanceData.js.map +1 -1
  26. package/build/IsLoadedCache.d.ts +0 -1
  27. package/build/JoinRows.d.ts +0 -1
  28. package/build/PendingChanges.d.ts +0 -1
  29. package/build/PluginManager.d.ts +0 -1
  30. package/build/QueryParser.collectionJoins.d.ts +0 -1
  31. package/build/QueryParser.d.ts +7 -1
  32. package/build/QueryParser.js +25 -1
  33. package/build/QueryParser.js.map +1 -1
  34. package/build/QueryParser.pruning.d.ts +0 -1
  35. package/build/QueryVisitor.d.ts +0 -1
  36. package/build/ReactionsManager.d.ts +1 -2
  37. package/build/ReactionsManager.js +24 -20
  38. package/build/ReactionsManager.js.map +1 -1
  39. package/build/Todo.d.ts +1 -2
  40. package/build/Todo.js +16 -5
  41. package/build/Todo.js.map +1 -1
  42. package/build/batchloaders/BatchLoader.d.ts +0 -1
  43. package/build/batchloaders/enumCollectionBatchLoader.d.ts +0 -1
  44. package/build/batchloaders/loadBatchLoader.d.ts +0 -1
  45. package/build/batchloaders/loadBatchLoader.js +1 -1
  46. package/build/batchloaders/loadBatchLoader.js.map +1 -1
  47. package/build/batchloaders/manyToManyBatchLoader.d.ts +0 -1
  48. package/build/batchloaders/oneToManyBatchLoader.d.ts +0 -1
  49. package/build/batchloaders/oneToOneBatchLoader.d.ts +0 -1
  50. package/build/batchloaders/populateBatchLoader.d.ts +0 -1
  51. package/build/batchloaders/populateBatchLoader.js +4 -2
  52. package/build/batchloaders/populateBatchLoader.js.map +1 -1
  53. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts +0 -1
  54. package/build/batchloaders/recursiveChildrenBatchLoader.js +3 -1
  55. package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
  56. package/build/batchloaders/recursiveM2mBatchLoader.d.ts +0 -1
  57. package/build/batchloaders/recursiveM2mBatchLoader.js +1 -1
  58. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  59. package/build/batchloaders/recursiveParentsBatchLoader.d.ts +0 -1
  60. package/build/batchloaders/recursiveParentsBatchLoader.js +1 -1
  61. package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
  62. package/build/changes.d.ts +0 -1
  63. package/build/changes.js +4 -1
  64. package/build/changes.js.map +1 -1
  65. package/build/config.d.ts +19 -1
  66. package/build/config.js +36 -23
  67. package/build/config.js.map +1 -1
  68. package/build/configure.d.ts +0 -1
  69. package/build/configure.js +66 -2
  70. package/build/configure.js.map +1 -1
  71. package/build/dataloaders/fastWhereFilterHash.d.ts +0 -1
  72. package/build/dataloaders/findByUniqueDataLoader.d.ts +0 -1
  73. package/build/dataloaders/findCountDataLoader.d.ts +0 -1
  74. package/build/dataloaders/findDataLoader.d.ts +0 -1
  75. package/build/dataloaders/findDataLoader.js +21 -21
  76. package/build/dataloaders/findDataLoader.js.map +1 -1
  77. package/build/dataloaders/findIdsDataLoader.d.ts +0 -1
  78. package/build/dataloaders/findOrCreateDataLoader.d.ts +0 -1
  79. package/build/dataloaders/findOrCreateDataLoader.js +2 -2
  80. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  81. package/build/dataloaders/findPaginatedDataLoader.d.ts +0 -1
  82. package/build/dataloaders/lensDataLoader.d.ts +0 -1
  83. package/build/dataloaders/manyToManyFindDataLoader.d.ts +0 -1
  84. package/build/dataloaders/oneToManyFindDataLoader.d.ts +0 -1
  85. package/build/defaults.d.ts +0 -1
  86. package/build/driverApi.d.ts +0 -1
  87. package/build/drivers/Driver.d.ts +0 -1
  88. package/build/drivers/EntityWriter.d.ts +0 -1
  89. package/build/drivers/EntityWriter.js +32 -3
  90. package/build/drivers/EntityWriter.js.map +1 -1
  91. package/build/drivers/IdAssigner.d.ts +0 -1
  92. package/build/drivers/buildRawQuery.d.ts +0 -1
  93. package/build/drivers/buildUtils.d.ts +0 -1
  94. package/build/drivers/index.d.ts +0 -1
  95. package/build/fields.d.ts +0 -1
  96. package/build/fields.js +2 -2
  97. package/build/fields.js.map +1 -1
  98. package/build/getProperties.d.ts +3 -4
  99. package/build/getProperties.js +3 -3
  100. package/build/getProperties.js.map +1 -1
  101. package/build/index.d.ts +1 -2
  102. package/build/index.js +5 -1
  103. package/build/index.js.map +1 -1
  104. package/build/json.d.ts +0 -1
  105. package/build/k.d.ts +0 -1
  106. package/build/keys.d.ts +7 -7
  107. package/build/keys.js +102 -46
  108. package/build/keys.js.map +1 -1
  109. package/build/keywords.d.ts +0 -1
  110. package/build/loadHints.d.ts +0 -1
  111. package/build/loadLens.d.ts +0 -1
  112. package/build/logging/FactoryLogger.d.ts +0 -1
  113. package/build/logging/FieldLogger.d.ts +2 -1
  114. package/build/logging/FieldLogger.js +10 -1
  115. package/build/logging/FieldLogger.js.map +1 -1
  116. package/build/logging/ReactionLogger.d.ts +2 -1
  117. package/build/logging/ReactionLogger.js +15 -1
  118. package/build/logging/ReactionLogger.js.map +1 -1
  119. package/build/newEntity.d.ts +2 -3
  120. package/build/newEntity.js +10 -8
  121. package/build/newEntity.js.map +1 -1
  122. package/build/newTestInstance.d.ts +0 -1
  123. package/build/newTestInstance.js +4 -0
  124. package/build/newTestInstance.js.map +1 -1
  125. package/build/normalizeHints.d.ts +0 -1
  126. package/build/plugins/ImmutableEntitiesPlugin.d.ts +0 -1
  127. package/build/plugins/PreloadPlugin.d.ts +0 -1
  128. package/build/preloading/JsonAggregatePreloader.d.ts +0 -1
  129. package/build/preloading/JsonAggregatePreloader.js +4 -3
  130. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  131. package/build/preloading/canPreload.d.ts +0 -1
  132. package/build/preloading/partitionHint.d.ts +0 -1
  133. package/build/reactiveHints.d.ts +0 -1
  134. package/build/relations/AbstractPropertyImpl.d.ts +0 -1
  135. package/build/relations/AbstractRelationImpl.d.ts +0 -1
  136. package/build/relations/AsyncProperty.d.ts +0 -1
  137. package/build/relations/AsyncReactiveField.d.ts +13 -9
  138. package/build/relations/AsyncReactiveField.js +22 -19
  139. package/build/relations/AsyncReactiveField.js.map +1 -1
  140. package/build/relations/Collection.d.ts +0 -1
  141. package/build/relations/CustomCollection.d.ts +0 -1
  142. package/build/relations/CustomReference.d.ts +0 -1
  143. package/build/relations/EnumCollection.d.ts +0 -1
  144. package/build/relations/LargeCollection.d.ts +0 -1
  145. package/build/relations/LazyField.d.ts +46 -0
  146. package/build/relations/LazyField.js +133 -0
  147. package/build/relations/LazyField.js.map +1 -0
  148. package/build/relations/ManyToManyCollection.d.ts +0 -1
  149. package/build/relations/ManyToManyCollection.js +5 -3
  150. package/build/relations/ManyToManyCollection.js.map +1 -1
  151. package/build/relations/ManyToManyLargeCollection.d.ts +0 -1
  152. package/build/relations/ManyToOneReference.d.ts +0 -1
  153. package/build/relations/OneToManyCollection.d.ts +0 -1
  154. package/build/relations/OneToManyCollection.js +3 -1
  155. package/build/relations/OneToManyCollection.js.map +1 -1
  156. package/build/relations/OneToManyLargeCollection.d.ts +0 -1
  157. package/build/relations/OneToOneReference.d.ts +0 -1
  158. package/build/relations/OneToOneReference.js +1 -1
  159. package/build/relations/OneToOneReference.js.map +1 -1
  160. package/build/relations/PolymorphicReference.d.ts +0 -1
  161. package/build/relations/ReactiveField.d.ts +0 -1
  162. package/build/relations/ReactiveGetter.d.ts +0 -1
  163. package/build/relations/ReactiveManyToMany.d.ts +0 -1
  164. package/build/relations/ReactiveManyToMany.js +1 -1
  165. package/build/relations/ReactiveManyToMany.js.map +1 -1
  166. package/build/relations/ReactiveManyToManyOtherSide.d.ts +0 -1
  167. package/build/relations/ReactiveManyToManyOtherSide.js +1 -1
  168. package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
  169. package/build/relations/ReactiveReference.d.ts +0 -1
  170. package/build/relations/ReactiveReference.js +1 -1
  171. package/build/relations/ReactiveReference.js.map +1 -1
  172. package/build/relations/ReadOnlyCollection.d.ts +0 -1
  173. package/build/relations/RecursiveCollection.d.ts +0 -1
  174. package/build/relations/RecursiveCycleError.d.ts +0 -1
  175. package/build/relations/Reference.d.ts +0 -1
  176. package/build/relations/Relation.d.ts +0 -1
  177. package/build/relations/hasAsyncMethod.d.ts +0 -1
  178. package/build/relations/hasManyDerived.d.ts +0 -1
  179. package/build/relations/hasManyThrough.d.ts +0 -1
  180. package/build/relations/hasOneDerived.d.ts +0 -1
  181. package/build/relations/hasOneThrough.d.ts +0 -1
  182. package/build/relations/hasProperty.d.ts +0 -1
  183. package/build/relations/index.d.ts +1 -1
  184. package/build/relations/index.js +7 -2
  185. package/build/relations/index.js.map +1 -1
  186. package/build/resurrection.d.ts +0 -1
  187. package/build/rules.d.ts +8 -1
  188. package/build/rules.js +17 -0
  189. package/build/rules.js.map +1 -1
  190. package/build/runtimeConfig.d.ts +4 -1
  191. package/build/runtimeConfig.js +5 -0
  192. package/build/runtimeConfig.js.map +1 -1
  193. package/build/scopes.d.ts +0 -1
  194. package/build/serde.d.ts +0 -1
  195. package/build/serde.js +9 -7
  196. package/build/serde.js.map +1 -1
  197. package/build/temporal.d.ts +0 -1
  198. package/build/temporalMappers.d.ts +0 -1
  199. package/build/trusted.d.ts +0 -1
  200. package/build/typeMap.d.ts +0 -1
  201. package/build/unnest.d.ts +0 -1
  202. package/build/upsert.d.ts +0 -1
  203. package/build/utils.d.ts +2 -1
  204. package/build/utils.js +7 -0
  205. package/build/utils.js.map +1 -1
  206. package/build/withLoaded.d.ts +0 -1
  207. package/package.json +2 -2
  208. package/build/AliasAssigner.d.ts.map +0 -1
  209. package/build/Aliases.d.ts.map +0 -1
  210. package/build/BaseEntity.d.ts.map +0 -1
  211. package/build/ConditionBuilder.d.ts.map +0 -1
  212. package/build/Entity.d.ts.map +0 -1
  213. package/build/EntityFields.d.ts.map +0 -1
  214. package/build/EntityFilter.d.ts.map +0 -1
  215. package/build/EntityGraphQLFilter.d.ts.map +0 -1
  216. package/build/EntityManager.d.ts.map +0 -1
  217. package/build/EntityMetadata.d.ts.map +0 -1
  218. package/build/EnumMetadata.d.ts.map +0 -1
  219. package/build/FlushLock.d.ts.map +0 -1
  220. package/build/HintTree.d.ts.map +0 -1
  221. package/build/IndexManager.d.ts.map +0 -1
  222. package/build/InstanceData.d.ts.map +0 -1
  223. package/build/IsLoadedCache.d.ts.map +0 -1
  224. package/build/JoinRows.d.ts.map +0 -1
  225. package/build/PendingChanges.d.ts.map +0 -1
  226. package/build/PluginManager.d.ts.map +0 -1
  227. package/build/QueryParser.collectionJoins.d.ts.map +0 -1
  228. package/build/QueryParser.collectionJoins.test.d.ts +0 -2
  229. package/build/QueryParser.collectionJoins.test.d.ts.map +0 -1
  230. package/build/QueryParser.collectionJoins.test.js +0 -772
  231. package/build/QueryParser.collectionJoins.test.js.map +0 -1
  232. package/build/QueryParser.d.ts.map +0 -1
  233. package/build/QueryParser.pruning.d.ts.map +0 -1
  234. package/build/QueryParser.pruning.test.d.ts +0 -2
  235. package/build/QueryParser.pruning.test.d.ts.map +0 -1
  236. package/build/QueryParser.pruning.test.js +0 -106
  237. package/build/QueryParser.pruning.test.js.map +0 -1
  238. package/build/QueryParser.test.d.ts +0 -2
  239. package/build/QueryParser.test.d.ts.map +0 -1
  240. package/build/QueryParser.test.js +0 -27
  241. package/build/QueryParser.test.js.map +0 -1
  242. package/build/QueryVisitor.d.ts.map +0 -1
  243. package/build/ReactionsManager.d.ts.map +0 -1
  244. package/build/Todo.d.ts.map +0 -1
  245. package/build/batchloaders/BatchLoader.d.ts.map +0 -1
  246. package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +0 -1
  247. package/build/batchloaders/loadBatchLoader.d.ts.map +0 -1
  248. package/build/batchloaders/manyToManyBatchLoader.d.ts.map +0 -1
  249. package/build/batchloaders/oneToManyBatchLoader.d.ts.map +0 -1
  250. package/build/batchloaders/oneToOneBatchLoader.d.ts.map +0 -1
  251. package/build/batchloaders/populateBatchLoader.d.ts.map +0 -1
  252. package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +0 -1
  253. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +0 -1
  254. package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +0 -1
  255. package/build/changes.d.ts.map +0 -1
  256. package/build/config.d.ts.map +0 -1
  257. package/build/config.test.d.ts +0 -2
  258. package/build/config.test.d.ts.map +0 -1
  259. package/build/config.test.js +0 -53
  260. package/build/config.test.js.map +0 -1
  261. package/build/configure.d.ts.map +0 -1
  262. package/build/dataloaders/fastWhereFilterHash.d.ts.map +0 -1
  263. package/build/dataloaders/fastWhereFilterHash.test.d.ts +0 -2
  264. package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +0 -1
  265. package/build/dataloaders/fastWhereFilterHash.test.js +0 -59
  266. package/build/dataloaders/fastWhereFilterHash.test.js.map +0 -1
  267. package/build/dataloaders/findByUniqueDataLoader.d.ts.map +0 -1
  268. package/build/dataloaders/findCountDataLoader.d.ts.map +0 -1
  269. package/build/dataloaders/findDataLoader.d.ts.map +0 -1
  270. package/build/dataloaders/findIdsDataLoader.d.ts.map +0 -1
  271. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +0 -1
  272. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +0 -1
  273. package/build/dataloaders/lensDataLoader.d.ts.map +0 -1
  274. package/build/dataloaders/manyToManyFindDataLoader.d.ts.map +0 -1
  275. package/build/dataloaders/oneToManyFindDataLoader.d.ts.map +0 -1
  276. package/build/defaults.d.ts.map +0 -1
  277. package/build/driverApi.d.ts.map +0 -1
  278. package/build/drivers/Driver.d.ts.map +0 -1
  279. package/build/drivers/EntityWriter.d.ts.map +0 -1
  280. package/build/drivers/IdAssigner.d.ts.map +0 -1
  281. package/build/drivers/buildRawQuery.d.ts.map +0 -1
  282. package/build/drivers/buildUtils.d.ts.map +0 -1
  283. package/build/drivers/index.d.ts.map +0 -1
  284. package/build/fields.d.ts.map +0 -1
  285. package/build/getProperties.d.ts.map +0 -1
  286. package/build/index.d.ts.map +0 -1
  287. package/build/json.d.ts.map +0 -1
  288. package/build/k.d.ts.map +0 -1
  289. package/build/keys.d.ts.map +0 -1
  290. package/build/keywords.d.ts.map +0 -1
  291. package/build/loadHints.d.ts.map +0 -1
  292. package/build/loadLens.d.ts.map +0 -1
  293. package/build/logging/FactoryLogger.d.ts.map +0 -1
  294. package/build/logging/FieldLogger.d.ts.map +0 -1
  295. package/build/logging/ReactionLogger.d.ts.map +0 -1
  296. package/build/newEntity.d.ts.map +0 -1
  297. package/build/newTestInstance.d.ts.map +0 -1
  298. package/build/normalizeHints.d.ts.map +0 -1
  299. package/build/plugins/ImmutableEntitiesPlugin.d.ts.map +0 -1
  300. package/build/plugins/PreloadPlugin.d.ts.map +0 -1
  301. package/build/preloading/JsonAggregatePreloader.d.ts.map +0 -1
  302. package/build/preloading/canPreload.d.ts.map +0 -1
  303. package/build/preloading/partitionHint.d.ts.map +0 -1
  304. package/build/reactiveHints.d.ts.map +0 -1
  305. package/build/relations/AbstractPropertyImpl.d.ts.map +0 -1
  306. package/build/relations/AbstractRelationImpl.d.ts.map +0 -1
  307. package/build/relations/AsyncProperty.d.ts.map +0 -1
  308. package/build/relations/AsyncReactiveField.d.ts.map +0 -1
  309. package/build/relations/Collection.d.ts.map +0 -1
  310. package/build/relations/CustomCollection.d.ts.map +0 -1
  311. package/build/relations/CustomReference.d.ts.map +0 -1
  312. package/build/relations/EnumCollection.d.ts.map +0 -1
  313. package/build/relations/LargeCollection.d.ts.map +0 -1
  314. package/build/relations/ManyToManyCollection.d.ts.map +0 -1
  315. package/build/relations/ManyToManyLargeCollection.d.ts.map +0 -1
  316. package/build/relations/ManyToOneReference.d.ts.map +0 -1
  317. package/build/relations/OneToManyCollection.d.ts.map +0 -1
  318. package/build/relations/OneToManyLargeCollection.d.ts.map +0 -1
  319. package/build/relations/OneToOneReference.d.ts.map +0 -1
  320. package/build/relations/PolymorphicReference.d.ts.map +0 -1
  321. package/build/relations/ReactiveField.d.ts.map +0 -1
  322. package/build/relations/ReactiveGetter.d.ts.map +0 -1
  323. package/build/relations/ReactiveManyToMany.d.ts.map +0 -1
  324. package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +0 -1
  325. package/build/relations/ReactiveReference.d.ts.map +0 -1
  326. package/build/relations/ReadOnlyCollection.d.ts.map +0 -1
  327. package/build/relations/RecursiveCollection.d.ts.map +0 -1
  328. package/build/relations/RecursiveCycleError.d.ts.map +0 -1
  329. package/build/relations/Reference.d.ts.map +0 -1
  330. package/build/relations/Relation.d.ts.map +0 -1
  331. package/build/relations/hasAsyncMethod.d.ts.map +0 -1
  332. package/build/relations/hasManyDerived.d.ts.map +0 -1
  333. package/build/relations/hasManyThrough.d.ts.map +0 -1
  334. package/build/relations/hasOneDerived.d.ts.map +0 -1
  335. package/build/relations/hasOneThrough.d.ts.map +0 -1
  336. package/build/relations/hasProperty.d.ts.map +0 -1
  337. package/build/relations/index.d.ts.map +0 -1
  338. package/build/resurrection.d.ts.map +0 -1
  339. package/build/rules.d.ts.map +0 -1
  340. package/build/runtimeConfig.d.ts.map +0 -1
  341. package/build/scopes.d.ts.map +0 -1
  342. package/build/serde.d.ts.map +0 -1
  343. package/build/temporal.d.ts.map +0 -1
  344. package/build/temporalMappers.d.ts.map +0 -1
  345. package/build/trusted.d.ts.map +0 -1
  346. package/build/typeMap.d.ts.map +0 -1
  347. package/build/unnest.d.ts.map +0 -1
  348. package/build/upsert.d.ts.map +0 -1
  349. package/build/utils.d.ts.map +0 -1
  350. package/build/withLoaded.d.ts.map +0 -1
package/build/keys.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setTaggedIdDelimiter = setTaggedIdDelimiter;
3
4
  exports.toIdOf = toIdOf;
4
5
  exports.maybeResolveReferenceToId = maybeResolveReferenceToId;
5
6
  exports.keyToNumber = keyToNumber;
@@ -19,7 +20,11 @@ const BaseEntity_1 = require("./BaseEntity");
19
20
  const Entity_1 = require("./Entity");
20
21
  const EntityMetadata_1 = require("./EntityMetadata");
21
22
  const utils_1 = require("./utils");
22
- const tagDelimiter = ":";
23
+ let tagDelimiter = ":";
24
+ /** Sets the process-wide tagged-id format during metadata boot. */
25
+ function setTaggedIdDelimiter(delimiter) {
26
+ tagDelimiter = delimiter;
27
+ }
23
28
  /** Converts our internal/always-tagged `id` to the domain entity's `id` type (could be a number or uuid). */
24
29
  function toIdOf(meta, id) {
25
30
  if (!id)
@@ -48,27 +53,32 @@ function keyToNumber(meta, value) {
48
53
  return value;
49
54
  }
50
55
  else if (typeof value === "string") {
51
- const [tag, id] = value.split(tagDelimiter);
52
- if (id === undefined) {
56
+ if (tagDelimiter === undefined) {
57
+ const id = value.startsWith(meta.tagName) ? value.slice(meta.tagName.length) : value;
58
+ return maybeNumberUnlessUuid(meta, id);
59
+ }
60
+ const delimiterIndex = value.indexOf(tagDelimiter);
61
+ if (delimiterIndex === -1) {
53
62
  return maybeNumberUnlessUuid(meta, value);
54
63
  }
64
+ const tag = value.slice(0, delimiterIndex);
55
65
  if (tag !== meta.tagName) {
56
66
  throw new Error(`Invalid tagged id, expected tag ${meta.tagName}, got ${value}`);
57
67
  }
58
- return maybeNumberUnlessUuid(meta, id);
68
+ return maybeNumberUnlessUuid(meta, value.slice(delimiterIndex + tagDelimiter.length));
59
69
  }
60
70
  else {
61
71
  throw new Error(`Invalid key ${value}`);
62
72
  }
63
73
  }
64
- // If we're using UUIDs, just lie to the type system and pretend they're numbers.
74
+ // UUIDs, text, and bigints are strings at the database boundary, so lie to the type system and pretend they're numbers.
65
75
  function maybeNumberUnlessUuid(meta, key) {
66
76
  switch (meta.idDbType) {
77
+ case "bigint":
67
78
  case "uuid":
68
79
  case "text":
69
80
  return key;
70
81
  case "int":
71
- case "bigint":
72
82
  return Number(key);
73
83
  default:
74
84
  (0, utils_1.assertNever)(meta.idDbType);
@@ -76,43 +86,32 @@ function maybeNumberUnlessUuid(meta, key) {
76
86
  }
77
87
  /** Converts `dbValue` (big int, int, uuid) to a tagged string, unless its undefined. */
78
88
  function keyToTaggedId(meta, dbValue) {
79
- return dbValue === undefined || dbValue === null ? undefined : `${meta.tagName}:${dbValue}`;
89
+ if (dbValue === undefined || dbValue === null)
90
+ return undefined;
91
+ return `${meta.tagName}${tagDelimiter ?? ""}${dbValue}`;
80
92
  }
81
- /** Fails if any keys are tagged; used by internal functions b/c we still allow most direct API input to be untagged. */
93
+ /** Fails if any keys are untagged; internal batch-loader keys must always be tagged. */
82
94
  function assertIdsAreTagged(keys) {
83
95
  for (const key of keys) {
84
- if (key.indexOf(tagDelimiter) === -1)
96
+ const isTagged = tagDelimiter === undefined ? validSlugId.test(key) : key.indexOf(tagDelimiter) !== -1;
97
+ if (!isTagged)
85
98
  throw new Error(`Key ${key} is missing a tag`);
86
99
  }
87
100
  }
88
- // Either `tag:int` or `tag:uuid`.
89
- const validId = /[a-z]+:([0-9a-z\-]+)/;
90
- // Not super strict to allow uuid-ish ides
101
+ const validSlugId = /^([a-z]+)(\d+)$/i;
91
102
  const uuidIshId = /[0-9a-z\-]+/i;
92
103
  function isTaggedId(metaOrId, id) {
93
104
  if (typeof metaOrId === "number") {
105
+ // number overload
94
106
  return false;
95
107
  }
96
108
  else if (typeof metaOrId === "string") {
97
- return validId.test(metaOrId);
109
+ // string overload
110
+ return tagDelimiter === undefined ? validSlugId.test(metaOrId) : hasTagDelimiter(metaOrId);
98
111
  }
99
112
  else {
100
- const [tag, _id] = id.split(tagDelimiter);
101
- if (metaOrId.tagName !== tag)
102
- return false;
103
- // With meta available, we can do more strict number or uuid checking
104
- if (metaOrId.idDbType === "int" || metaOrId.idDbType === "bigint") {
105
- return !Number.isNaN(Number(_id));
106
- }
107
- else if (metaOrId.idDbType === "uuid") {
108
- return uuidIshId.test(_id);
109
- }
110
- else if (metaOrId.idDbType === "text") {
111
- return true; // We should ask the IdAssigner what it thinks?
112
- }
113
- else {
114
- return (0, utils_1.assertNever)(metaOrId.idDbType);
115
- }
113
+ // meta + string overload
114
+ return isTaggedIdForMeta(metaOrId, id);
116
115
  }
117
116
  }
118
117
  function assertIdIsTagged(id) {
@@ -122,18 +121,28 @@ function assertIdIsTagged(id) {
122
121
  }
123
122
  function toTaggedId(meta, id) {
124
123
  if (typeof id === "number") {
125
- return `${meta.tagName}${tagDelimiter}${id}`;
124
+ return `${meta.tagName}${tagDelimiter ?? ""}${id}`;
126
125
  }
127
126
  else if (typeof id === "string") {
128
127
  // This seems odd, but is covered by a unit test, so I guess we need it?
129
128
  if (id === "")
130
129
  return undefined;
131
- const i = id.indexOf(tagDelimiter);
132
- if (i === -1)
133
- return `${meta.tagName}${tagDelimiter}${id}`;
134
- const tag = id.slice(0, i);
135
- if (tag !== meta.tagName)
136
- throw new Error(`Invalid tagged id, expected tag ${meta.tagName}, got ${id}`);
130
+ if (tagDelimiter === undefined) {
131
+ const tag = validSlugId.exec(id)?.[1];
132
+ if (tag && tag !== meta.tagName) {
133
+ throw new Error(`Invalid tagged id, expected tag ${meta.tagName}, got ${id}`);
134
+ }
135
+ return tag ? id : `${meta.tagName}${id}`;
136
+ }
137
+ else {
138
+ const i = id.indexOf(tagDelimiter);
139
+ if (i === -1)
140
+ return `${meta.tagName}${tagDelimiter}${id}`;
141
+ const tag = id.slice(0, i);
142
+ if (tag !== meta.tagName) {
143
+ throw new Error(`Invalid tagged id, expected tag ${meta.tagName}, got ${id}`);
144
+ }
145
+ }
137
146
  }
138
147
  return id;
139
148
  }
@@ -142,13 +151,21 @@ function ensureTagged(meta, value) {
142
151
  return (0, Entity_1.isEntity)(value) ? value : toTaggedId(meta, value);
143
152
  }
144
153
  function tagId(metaOrCstr, id) {
145
- const tag = tagName(metaOrCstr);
154
+ const meta = metadata(metaOrCstr);
155
+ const tag = meta.tagName;
146
156
  if (typeof id === "number") {
147
- return `${tag}${tagDelimiter}${id}`;
157
+ return `${tag}${tagDelimiter ?? ""}${id}`;
148
158
  }
149
159
  if (id === null || id === undefined) {
150
160
  return undefined;
151
161
  }
162
+ if (tagDelimiter === undefined) {
163
+ const existingTag = validSlugId.exec(id)?.[1];
164
+ if (existingTag && existingTag !== tag) {
165
+ throw new Error(`Invalid tagged id, expected tag ${tag}, got ${id}`);
166
+ }
167
+ return existingTag ? id : `${tag}${id}`;
168
+ }
152
169
  // Avoid using includes/split, for a faster indexOf + length + startsWith
153
170
  const delimiterIndex = id.indexOf(tagDelimiter);
154
171
  if (delimiterIndex !== -1) {
@@ -178,20 +195,59 @@ function deTagIds(meta, keys) {
178
195
  function unsafeDeTagIds(keys) {
179
196
  const deTagged = Array(keys.length);
180
197
  for (let i = 0; i < keys.length; i++) {
181
- const maybeTagged = keys[i].split(tagDelimiter);
182
- deTagged[i] = maybeTagged.length === 0 ? maybeTagged[0] : maybeTagged[1];
198
+ if (tagDelimiter === undefined) {
199
+ deTagged[i] = validSlugId.exec(keys[i])?.[2];
200
+ }
201
+ else {
202
+ const delimiterIndex = keys[i].indexOf(tagDelimiter);
203
+ deTagged[i] = delimiterIndex === -1 ? undefined : keys[i].slice(delimiterIndex + tagDelimiter.length);
204
+ }
183
205
  }
184
206
  return deTagged;
185
207
  }
186
208
  /** Given a tagged id, returns its tag. */
187
209
  function tagFromId(id) {
188
- const parts = id.split(tagDelimiter);
189
- if (parts.length !== 2) {
190
- (0, utils_1.fail)(`Unknown tagged id format: "${id}"`);
210
+ if (tagDelimiter === undefined) {
211
+ return validSlugId.exec(id)?.[1] ?? (0, utils_1.fail)(`Unknown tagged id format: "${id}"`);
191
212
  }
192
- return parts[0];
213
+ const delimiterIndex = id.indexOf(tagDelimiter);
214
+ return delimiterIndex > 0 && delimiterIndex + tagDelimiter.length < id.length
215
+ ? id.slice(0, delimiterIndex)
216
+ : (0, utils_1.fail)(`Unknown tagged id format: "${id}"`);
217
+ }
218
+ /** Returns the metadata needed to format an id. */
219
+ function metadata(metaOrCstr) {
220
+ return typeof metaOrCstr === "function" ? (0, EntityMetadata_1.getMetadata)(metaOrCstr) : metaOrCstr;
193
221
  }
194
- function tagName(metaOrCstr) {
195
- return typeof metaOrCstr === "function" ? (0, EntityMetadata_1.getMetadata)(metaOrCstr).tagName : metaOrCstr.tagName;
222
+ /** Returns whether `id` has the tag and database id shape required by `meta`. */
223
+ function isTaggedIdForMeta(meta, id) {
224
+ if (tagDelimiter === undefined) {
225
+ return validSlugId.exec(id)?.[1] === meta.tagName;
226
+ }
227
+ const delimiterIndex = id.indexOf(tagDelimiter);
228
+ if (delimiterIndex === -1)
229
+ return false;
230
+ const tag = id.slice(0, delimiterIndex);
231
+ const untaggedId = id.slice(delimiterIndex + tagDelimiter.length);
232
+ if (meta.tagName !== tag)
233
+ return false;
234
+ switch (meta.idDbType) {
235
+ case "int":
236
+ case "bigint":
237
+ return !Number.isNaN(Number(untaggedId));
238
+ case "uuid":
239
+ return uuidIshId.test(untaggedId);
240
+ case "text":
241
+ return true;
242
+ default:
243
+ return (0, utils_1.assertNever)(meta.idDbType);
244
+ }
245
+ }
246
+ /** Returns whether `id` has a non-empty tag and value separated by the configured delimiter. */
247
+ function hasTagDelimiter(id) {
248
+ if (tagDelimiter === undefined)
249
+ return false;
250
+ const delimiterIndex = id.indexOf(tagDelimiter);
251
+ return delimiterIndex > 0 && delimiterIndex + tagDelimiter.length < id.length;
196
252
  }
197
253
  //# sourceMappingURL=keys.js.map
package/build/keys.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,3 @@
2
2
  export declare function kq(ident: string): string;
3
3
  export declare function kqDot(alias: string, column: string): string;
4
4
  export declare function kqStar(alias: string): string;
5
- //# sourceMappingURL=keywords.d.ts.map
@@ -118,4 +118,3 @@ type SubType<T, C> = Pick<T, {
118
118
  [K in keyof T]: T[K] extends C ? K : never;
119
119
  }[keyof T]>;
120
120
  export {};
121
- //# sourceMappingURL=loadHints.d.ts.map
@@ -74,4 +74,3 @@ export declare function lensPathToLoadHint<T extends Entity>(paths: string[]): L
74
74
  /** Accepts a lens like `a => a.books.reviews` and returns the paths like `[books, reviews]`. */
75
75
  export declare function lensToPath<T extends Entity, U, V>(fn: (lens: Lens<T>) => Lens<U, V>): string[];
76
76
  export {};
77
- //# sourceMappingURL=loadLens.d.ts.map
@@ -21,4 +21,3 @@ export declare class FactoryLogger {
21
21
  private prefix;
22
22
  }
23
23
  export declare function setFactoryWriter(write: WriteFn | undefined): void;
24
- //# sourceMappingURL=FactoryLogger.d.ts.map
@@ -24,4 +24,5 @@ export declare class FieldLogger {
24
24
  private shouldLog;
25
25
  private getColor;
26
26
  }
27
- //# sourceMappingURL=FieldLogger.d.ts.map
27
+ /** A shared no-op logger that avoids optional chaining in hot field access paths. */
28
+ export declare const noopFieldLogger: FieldLogger;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FieldLogger = void 0;
6
+ exports.noopFieldLogger = exports.FieldLogger = void 0;
7
7
  const ansis_1 = __importDefault(require("ansis"));
8
8
  const Entity_1 = require("../Entity");
9
9
  const config_1 = require("../config");
@@ -66,4 +66,13 @@ class FieldLogger {
66
66
  }
67
67
  }
68
68
  exports.FieldLogger = FieldLogger;
69
+ class NoopFieldLogger extends FieldLogger {
70
+ constructor() {
71
+ super([]);
72
+ }
73
+ logCreate(entity) { }
74
+ logSet(entity, fieldName, value) { }
75
+ }
76
+ /** A shared no-op logger that avoids optional chaining in hot field access paths. */
77
+ exports.noopFieldLogger = new NoopFieldLogger();
69
78
  //# sourceMappingURL=FieldLogger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldLogger.js","sourceRoot":"","sources":["../../src/logging/FieldLogger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldLogger.js","sourceRoot":"","sources":["../../src/logging/FieldLogger.ts"],"names":[],"mappings":"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"}
@@ -23,5 +23,6 @@ export declare class ReactionLogger {
23
23
  }
24
24
  export declare function setReactionLogging(enabled: boolean): void;
25
25
  export declare function setReactionLogging(logger: ReactionLogger): void;
26
+ /** A shared no-op logger that avoids optional chaining in hot reaction paths. */
27
+ export declare const noopReactionLogger: ReactionLogger;
26
28
  export {};
27
- //# sourceMappingURL=ReactionLogger.d.ts.map
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ReactionLogger = exports.globalLogger = void 0;
6
+ exports.noopReactionLogger = exports.ReactionLogger = exports.globalLogger = void 0;
7
7
  exports.setReactionLogging = setReactionLogging;
8
8
  const ansis_1 = __importDefault(require("ansis"));
9
9
  const utils_1 = require("../utils");
@@ -69,4 +69,18 @@ function setReactionLogging(arg) {
69
69
  function maybeDotPath(r) {
70
70
  return r.path.length > 0 ? `.${r.path.join(".")}.` : ".";
71
71
  }
72
+ class NoopReactionLogger extends ReactionLogger {
73
+ now() {
74
+ return 0;
75
+ }
76
+ logQueued(entity, fieldName, r) { }
77
+ logQueuedAll(entity, reason, r) { }
78
+ logStartingRecalc(em, kind) { }
79
+ logStartingValidate(em, todos) { }
80
+ logWalked(todo, r, entities, action) { }
81
+ logLoadingStart(em, actions) { }
82
+ logLoadingEnd(em, millis) { }
83
+ }
84
+ /** A shared no-op logger that avoids optional chaining in hot reaction paths. */
85
+ exports.noopReactionLogger = new NoopReactionLogger();
72
86
  //# sourceMappingURL=ReactionLogger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactionLogger.js","sourceRoot":"","sources":["../../src/logging/ReactionLogger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactionLogger.js","sourceRoot":"","sources":["../../src/logging/ReactionLogger.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare function newEntity<T extends Entity>(em: EntityManager, cstr: Ent
17
17
  * We need TypeScript to still see `books = hasMany(...)` as being typed as `Many<Book>`,
18
18
  * so this method's return type is `R` i.e. the `Many<Book>` relation type.
19
19
  *
20
- * But at runtime we actually want this to be a `LazyField` that can be rewritten
20
+ * But at runtime we actually want this to be a `LazyRelation` that can be rewritten
21
21
  * into a getter, and only invoked when the relation is actually accessed.
22
22
  */
23
23
  export declare function lazyField<T extends Entity, R>(fn: (entity: T, fieldName: string) => R): R;
@@ -36,10 +36,9 @@ export declare function lazyField<T extends Entity, R>(fn: (entity: T, fieldName
36
36
  */
37
37
  export declare function resolveOtherMeta(entity: Entity, fieldName: string): EntityMetadata;
38
38
  /** Wraps `has...` relation constructors in an easily-identifiable container. */
39
- export declare class LazyField<T extends Entity> {
39
+ export declare class LazyRelation<T extends Entity> {
40
40
  #private;
41
41
  constructor(fn: (entity: T, fieldName: string) => any);
42
42
  /** Called by our getters to lazily create the relation on first access. */
43
43
  create(entity: T, fieldName: string): any;
44
44
  }
45
- //# sourceMappingURL=newEntity.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LazyField = void 0;
3
+ exports.LazyRelation = void 0;
4
4
  exports.newEntity = newEntity;
5
5
  exports.lazyField = lazyField;
6
6
  exports.resolveOtherMeta = resolveOtherMeta;
@@ -37,10 +37,10 @@ function newEntity(em, cstr, isNew) {
37
37
  function moveRelationsToGetters(cstr) {
38
38
  let transientFieldsValue = {};
39
39
  for (const [fieldName, value] of (0, getProperties_1.getLazyFields)((0, EntityMetadata_1.getMetadata)(cstr))) {
40
- if (value instanceof LazyField) {
40
+ if (value instanceof LazyRelation) {
41
41
  Object.defineProperty(cstr.prototype, fieldName, {
42
42
  get() {
43
- return (this.__data.relations[fieldName] ??= value.create(this, fieldName));
43
+ return ((this.__data.relations ??= {})[fieldName] ??= value.create(this, fieldName));
44
44
  },
45
45
  });
46
46
  }
@@ -49,6 +49,8 @@ function moveRelationsToGetters(cstr) {
49
49
  transientFieldsValue = value;
50
50
  }
51
51
  }
52
+ // Most entities have no transientFields, so skip the structuredClone for the empty default
53
+ const needsClone = (0, utils_1.hasAnyKey)(transientFieldsValue);
52
54
  Object.defineProperty(cstr.prototype, "transientFields", {
53
55
  get() {
54
56
  // This prototype-level `get` will only ever be called once per instance, b/c when we're
@@ -57,7 +59,7 @@ function moveRelationsToGetters(cstr) {
57
59
  //
58
60
  // This has the pleasant upshot of making the instance-level `transientFields` lazy, and
59
61
  // they will not be created on an instance until they're actually asked for.
60
- const copy = structuredClone(transientFieldsValue);
62
+ const copy = needsClone ? structuredClone(transientFieldsValue) : {};
61
63
  Object.defineProperty(this, "transientFields", { value: copy });
62
64
  return copy;
63
65
  },
@@ -69,11 +71,11 @@ function moveRelationsToGetters(cstr) {
69
71
  * We need TypeScript to still see `books = hasMany(...)` as being typed as `Many<Book>`,
70
72
  * so this method's return type is `R` i.e. the `Many<Book>` relation type.
71
73
  *
72
- * But at runtime we actually want this to be a `LazyField` that can be rewritten
74
+ * But at runtime we actually want this to be a `LazyRelation` that can be rewritten
73
75
  * into a getter, and only invoked when the relation is actually accessed.
74
76
  */
75
77
  function lazyField(fn) {
76
- return new LazyField(fn);
78
+ return new LazyRelation(fn);
77
79
  }
78
80
  /**
79
81
  * Easily resolves `otherMetadata` fields for lazy relations.
@@ -94,7 +96,7 @@ function resolveOtherMeta(entity, fieldName) {
94
96
  return field.otherMetadata();
95
97
  }
96
98
  /** Wraps `has...` relation constructors in an easily-identifiable container. */
97
- class LazyField {
99
+ class LazyRelation {
98
100
  #fn;
99
101
  constructor(fn) {
100
102
  this.#fn = fn;
@@ -104,5 +106,5 @@ class LazyField {
104
106
  return this.#fn(entity, fieldName);
105
107
  }
106
108
  }
107
- exports.LazyField = LazyField;
109
+ exports.LazyRelation = LazyRelation;
108
110
  //# sourceMappingURL=newEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"newEntity.js","sourceRoot":"","sources":["../src/newEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"newEntity.js","sourceRoot":"","sources":["../src/newEntity.ts"],"names":[],"mappings":"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"}
@@ -205,4 +205,3 @@ export declare class FactoryInitialValue {
205
205
  export declare function isFactoryCreation(entity: Entity): boolean;
206
206
  export declare function resetFactoryCreated(): void;
207
207
  export {};
208
- //# sourceMappingURL=newTestInstance.d.ts.map
@@ -611,6 +611,10 @@ function defaultValueForField(em, cstr, field) {
611
611
  else if (field.type === "boolean") {
612
612
  return false;
613
613
  }
614
+ else if (field.type === "Object") {
615
+ // A required jsonb column, i.e. so factories can satisfy a required (possibly `lazy`) column.
616
+ return {};
617
+ }
614
618
  else if (Temporal) {
615
619
  if (field.type === Temporal.PlainDate) {
616
620
  return exports.testPlainDate;