@expo/entity 0.45.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/build/{AuthorizationResultBasedEntityAssociationLoader.d.ts → src/AuthorizationResultBasedEntityAssociationLoader.d.ts} +4 -4
  2. package/build/{AuthorizationResultBasedEntityAssociationLoader.js → src/AuthorizationResultBasedEntityAssociationLoader.js} +2 -1
  3. package/build/src/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -0
  4. package/build/{AuthorizationResultBasedEntityLoader.d.ts → src/AuthorizationResultBasedEntityLoader.d.ts} +8 -8
  5. package/build/{AuthorizationResultBasedEntityLoader.js → src/AuthorizationResultBasedEntityLoader.js} +6 -5
  6. package/build/src/AuthorizationResultBasedEntityLoader.js.map +1 -0
  7. package/build/{AuthorizationResultBasedEntityMutator.d.ts → src/AuthorizationResultBasedEntityMutator.d.ts} +15 -13
  8. package/build/{AuthorizationResultBasedEntityMutator.js → src/AuthorizationResultBasedEntityMutator.js} +77 -39
  9. package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -0
  10. package/build/{ComposedEntityCacheAdapter.d.ts → src/ComposedEntityCacheAdapter.d.ts} +2 -2
  11. package/build/{ComposedEntityCacheAdapter.js → src/ComposedEntityCacheAdapter.js} +2 -1
  12. package/build/src/ComposedEntityCacheAdapter.js.map +1 -0
  13. package/build/{ComposedSecondaryEntityCache.d.ts → src/ComposedSecondaryEntityCache.d.ts} +1 -1
  14. package/build/{ComposedSecondaryEntityCache.js → src/ComposedSecondaryEntityCache.js} +2 -1
  15. package/build/src/ComposedSecondaryEntityCache.js.map +1 -0
  16. package/build/{EnforcingEntityAssociationLoader.d.ts → src/EnforcingEntityAssociationLoader.d.ts} +5 -5
  17. package/build/{EnforcingEntityAssociationLoader.js → src/EnforcingEntityAssociationLoader.js} +2 -1
  18. package/build/src/EnforcingEntityAssociationLoader.js.map +1 -0
  19. package/build/{EnforcingEntityCreator.d.ts → src/EnforcingEntityCreator.d.ts} +4 -4
  20. package/build/{EnforcingEntityCreator.js → src/EnforcingEntityCreator.js} +2 -1
  21. package/build/src/EnforcingEntityCreator.js.map +1 -0
  22. package/build/{EnforcingEntityDeleter.d.ts → src/EnforcingEntityDeleter.d.ts} +4 -4
  23. package/build/{EnforcingEntityDeleter.js → src/EnforcingEntityDeleter.js} +2 -1
  24. package/build/src/EnforcingEntityDeleter.js.map +1 -0
  25. package/build/{EnforcingEntityLoader.d.ts → src/EnforcingEntityLoader.d.ts} +5 -5
  26. package/build/{EnforcingEntityLoader.js → src/EnforcingEntityLoader.js} +2 -1
  27. package/build/src/EnforcingEntityLoader.js.map +1 -0
  28. package/build/{EnforcingEntityUpdater.d.ts → src/EnforcingEntityUpdater.d.ts} +4 -4
  29. package/build/{EnforcingEntityUpdater.js → src/EnforcingEntityUpdater.js} +2 -1
  30. package/build/src/EnforcingEntityUpdater.js.map +1 -0
  31. package/build/{Entity.d.ts → src/Entity.d.ts} +7 -7
  32. package/build/{Entity.js → src/Entity.js} +13 -15
  33. package/build/src/Entity.js.map +1 -0
  34. package/build/{EntityAssociationLoader.d.ts → src/EntityAssociationLoader.d.ts} +5 -5
  35. package/build/{EntityAssociationLoader.js → src/EntityAssociationLoader.js} +6 -8
  36. package/build/src/EntityAssociationLoader.js.map +1 -0
  37. package/build/{EntityCompanion.d.ts → src/EntityCompanion.d.ts} +10 -10
  38. package/build/{EntityCompanion.js → src/EntityCompanion.js} +6 -8
  39. package/build/src/EntityCompanion.js.map +1 -0
  40. package/build/{EntityCompanionProvider.d.ts → src/EntityCompanionProvider.d.ts} +12 -12
  41. package/build/{EntityCompanionProvider.js → src/EntityCompanionProvider.js} +6 -5
  42. package/build/src/EntityCompanionProvider.js.map +1 -0
  43. package/build/{EntityConfiguration.d.ts → src/EntityConfiguration.d.ts} +2 -2
  44. package/build/{EntityConfiguration.js → src/EntityConfiguration.js} +2 -2
  45. package/build/src/EntityConfiguration.js.map +1 -0
  46. package/build/{EntityCreator.d.ts → src/EntityCreator.d.ts} +5 -5
  47. package/build/{EntityCreator.js → src/EntityCreator.js} +4 -6
  48. package/build/{EntityCreator.js.map → src/EntityCreator.js.map} +1 -1
  49. package/build/{EntityDatabaseAdapter.d.ts → src/EntityDatabaseAdapter.d.ts} +2 -2
  50. package/build/{EntityDatabaseAdapter.js → src/EntityDatabaseAdapter.js} +2 -2
  51. package/build/src/EntityDatabaseAdapter.js.map +1 -0
  52. package/build/{EntityDeleter.d.ts → src/EntityDeleter.d.ts} +5 -5
  53. package/build/{EntityDeleter.js → src/EntityDeleter.js} +5 -7
  54. package/build/{EntityDeleter.js.map → src/EntityDeleter.js.map} +1 -1
  55. package/build/{EntityFieldDefinition.d.ts → src/EntityFieldDefinition.d.ts} +3 -3
  56. package/build/src/EntityFieldDefinition.js.map +1 -0
  57. package/build/{EntityFields.d.ts → src/EntityFields.d.ts} +7 -0
  58. package/build/{EntityFields.js → src/EntityFields.js} +11 -1
  59. package/build/src/EntityFields.js.map +1 -0
  60. package/build/{EntityLoader.d.ts → src/EntityLoader.d.ts} +7 -7
  61. package/build/{EntityLoader.js → src/EntityLoader.js} +4 -6
  62. package/build/{EntityLoader.js.map → src/EntityLoader.js.map} +1 -1
  63. package/build/{EntityLoaderFactory.d.ts → src/EntityLoaderFactory.d.ts} +8 -8
  64. package/build/src/EntityLoaderFactory.js +29 -0
  65. package/build/src/EntityLoaderFactory.js.map +1 -0
  66. package/build/{EntityLoaderUtils.d.ts → src/EntityLoaderUtils.d.ts} +7 -7
  67. package/build/{EntityLoaderUtils.js → src/EntityLoaderUtils.js} +2 -1
  68. package/build/src/EntityLoaderUtils.js.map +1 -0
  69. package/build/{EntityMutationInfo.d.ts → src/EntityMutationInfo.d.ts} +2 -2
  70. package/build/src/EntityMutationInfo.js.map +1 -0
  71. package/build/{EntityMutationTriggerConfiguration.d.ts → src/EntityMutationTriggerConfiguration.d.ts} +3 -3
  72. package/build/src/EntityMutationTriggerConfiguration.js.map +1 -0
  73. package/build/{EntityMutationValidator.d.ts → src/EntityMutationValidator.d.ts} +3 -3
  74. package/build/{EntityMutationValidator.js → src/EntityMutationValidator.js} +2 -1
  75. package/build/src/EntityMutationValidator.js.map +1 -0
  76. package/build/{EntityMutatorFactory.d.ts → src/EntityMutatorFactory.d.ts} +15 -14
  77. package/build/{EntityMutatorFactory.js → src/EntityMutatorFactory.js} +6 -5
  78. package/build/src/EntityMutatorFactory.js.map +1 -0
  79. package/build/{EntityPrivacyPolicy.d.ts → src/EntityPrivacyPolicy.d.ts} +6 -6
  80. package/build/{EntityPrivacyPolicy.js → src/EntityPrivacyPolicy.js} +8 -11
  81. package/build/{EntityPrivacyPolicy.js.map → src/EntityPrivacyPolicy.js.map} +1 -1
  82. package/build/{EntityQueryContext.d.ts → src/EntityQueryContext.d.ts} +1 -1
  83. package/build/src/EntityQueryContext.js.map +1 -0
  84. package/build/{EntityQueryContextProvider.d.ts → src/EntityQueryContextProvider.d.ts} +2 -2
  85. package/build/{EntityQueryContextProvider.js → src/EntityQueryContextProvider.js} +2 -1
  86. package/build/src/EntityQueryContextProvider.js.map +1 -0
  87. package/build/{EntitySecondaryCacheLoader.d.ts → src/EntitySecondaryCacheLoader.d.ts} +5 -5
  88. package/build/{EntitySecondaryCacheLoader.js → src/EntitySecondaryCacheLoader.js} +2 -1
  89. package/build/src/EntitySecondaryCacheLoader.js.map +1 -0
  90. package/build/{EntityUpdater.d.ts → src/EntityUpdater.d.ts} +5 -5
  91. package/build/{EntityUpdater.js → src/EntityUpdater.js} +5 -7
  92. package/build/{EntityUpdater.js.map → src/EntityUpdater.js.map} +1 -1
  93. package/build/{GenericEntityCacheAdapter.d.ts → src/GenericEntityCacheAdapter.d.ts} +3 -3
  94. package/build/{GenericEntityCacheAdapter.js → src/GenericEntityCacheAdapter.js} +2 -1
  95. package/build/src/GenericEntityCacheAdapter.js.map +1 -0
  96. package/build/{GenericSecondaryEntityCache.d.ts → src/GenericSecondaryEntityCache.d.ts} +2 -2
  97. package/build/{GenericSecondaryEntityCache.js → src/GenericSecondaryEntityCache.js} +2 -1
  98. package/build/src/GenericSecondaryEntityCache.js.map +1 -0
  99. package/build/{IEntityCacheAdapter.d.ts → src/IEntityCacheAdapter.d.ts} +1 -1
  100. package/build/src/IEntityCacheAdapter.js.map +1 -0
  101. package/build/{IEntityCacheAdapterProvider.d.ts → src/IEntityCacheAdapterProvider.d.ts} +3 -3
  102. package/build/src/IEntityCacheAdapterProvider.js.map +1 -0
  103. package/build/{IEntityDatabaseAdapterProvider.d.ts → src/IEntityDatabaseAdapterProvider.d.ts} +3 -3
  104. package/build/src/IEntityDatabaseAdapterProvider.js.map +1 -0
  105. package/build/{IEntityGenericCacher.d.ts → src/IEntityGenericCacher.d.ts} +1 -1
  106. package/build/src/IEntityGenericCacher.js.map +1 -0
  107. package/build/{ReadonlyEntity.d.ts → src/ReadonlyEntity.d.ts} +8 -8
  108. package/build/{ReadonlyEntity.js → src/ReadonlyEntity.js} +9 -8
  109. package/build/src/ReadonlyEntity.js.map +1 -0
  110. package/build/{ViewerContext.d.ts → src/ViewerContext.d.ts} +5 -5
  111. package/build/{ViewerContext.js → src/ViewerContext.js} +4 -6
  112. package/build/{ViewerContext.js.map → src/ViewerContext.js.map} +1 -1
  113. package/build/{ViewerScopedEntityCompanion.d.ts → src/ViewerScopedEntityCompanion.d.ts} +9 -9
  114. package/build/{ViewerScopedEntityCompanion.js → src/ViewerScopedEntityCompanion.js} +6 -8
  115. package/build/{ViewerScopedEntityCompanion.js.map → src/ViewerScopedEntityCompanion.js.map} +1 -1
  116. package/build/{ViewerScopedEntityCompanionProvider.d.ts → src/ViewerScopedEntityCompanionProvider.d.ts} +6 -6
  117. package/build/{ViewerScopedEntityCompanionProvider.js → src/ViewerScopedEntityCompanionProvider.js} +4 -6
  118. package/build/src/ViewerScopedEntityCompanionProvider.js.map +1 -0
  119. package/build/{ViewerScopedEntityLoaderFactory.d.ts → src/ViewerScopedEntityLoaderFactory.d.ts} +6 -6
  120. package/build/{ViewerScopedEntityLoaderFactory.js → src/ViewerScopedEntityLoaderFactory.js} +2 -1
  121. package/build/src/ViewerScopedEntityLoaderFactory.js.map +1 -0
  122. package/build/{ViewerScopedEntityMutatorFactory.d.ts → src/ViewerScopedEntityMutatorFactory.d.ts} +9 -8
  123. package/build/{ViewerScopedEntityMutatorFactory.js → src/ViewerScopedEntityMutatorFactory.js} +6 -5
  124. package/build/src/ViewerScopedEntityMutatorFactory.js.map +1 -0
  125. package/build/src/entityUtils.js.map +1 -0
  126. package/build/{errors → src/errors}/EntityCacheAdapterError.d.ts +2 -2
  127. package/build/src/errors/EntityCacheAdapterError.js +13 -0
  128. package/build/src/errors/EntityCacheAdapterError.js.map +1 -0
  129. package/build/{errors → src/errors}/EntityDatabaseAdapterError.d.ts +2 -2
  130. package/build/{errors → src/errors}/EntityDatabaseAdapterError.js +4 -37
  131. package/build/src/errors/EntityDatabaseAdapterError.js.map +1 -0
  132. package/build/{errors → src/errors}/EntityError.d.ts +1 -1
  133. package/build/{errors → src/errors}/EntityError.js +2 -2
  134. package/build/src/errors/EntityError.js.map +1 -0
  135. package/build/{errors → src/errors}/EntityInvalidFieldValueError.d.ts +5 -5
  136. package/build/src/errors/EntityInvalidFieldValueError.js +13 -0
  137. package/build/src/errors/EntityInvalidFieldValueError.js.map +1 -0
  138. package/build/{errors → src/errors}/EntityNotAuthorizedError.d.ts +4 -4
  139. package/build/src/errors/EntityNotAuthorizedError.js +16 -0
  140. package/build/src/errors/EntityNotAuthorizedError.js.map +1 -0
  141. package/build/{errors → src/errors}/EntityNotFoundError.d.ts +5 -5
  142. package/build/src/errors/EntityNotFoundError.js +18 -0
  143. package/build/src/errors/EntityNotFoundError.js.map +1 -0
  144. package/build/src/index.d.ts +76 -0
  145. package/build/src/index.js +94 -0
  146. package/build/src/index.js.map +1 -0
  147. package/build/{internal → src/internal}/CompositeFieldHolder.d.ts +1 -1
  148. package/build/src/internal/CompositeFieldHolder.js.map +1 -0
  149. package/build/src/internal/CompositeFieldValueMap.js.map +1 -0
  150. package/build/{internal → src/internal}/EntityDataManager.d.ts +5 -5
  151. package/build/{internal → src/internal}/EntityDataManager.js +2 -1
  152. package/build/src/internal/EntityDataManager.js.map +1 -0
  153. package/build/{internal → src/internal}/EntityFieldTransformationUtils.d.ts +1 -1
  154. package/build/src/internal/EntityFieldTransformationUtils.js.map +1 -0
  155. package/build/{internal → src/internal}/EntityLoadInterfaces.d.ts +1 -1
  156. package/build/src/internal/EntityLoadInterfaces.js.map +1 -0
  157. package/build/{internal → src/internal}/EntityTableDataCoordinator.d.ts +9 -9
  158. package/build/{internal → src/internal}/EntityTableDataCoordinator.js +5 -7
  159. package/build/{internal → src/internal}/EntityTableDataCoordinator.js.map +1 -1
  160. package/build/{internal → src/internal}/ReadThroughEntityCache.d.ts +3 -3
  161. package/build/{internal → src/internal}/ReadThroughEntityCache.js +2 -2
  162. package/build/src/internal/ReadThroughEntityCache.js.map +1 -0
  163. package/build/{internal → src/internal}/SingleFieldHolder.d.ts +1 -1
  164. package/build/src/internal/SingleFieldHolder.js.map +1 -0
  165. package/build/{metrics → src/metrics}/EntityMetricsUtils.d.ts +1 -1
  166. package/build/src/metrics/EntityMetricsUtils.js.map +1 -0
  167. package/build/{metrics → src/metrics}/IEntityMetricsAdapter.d.ts +1 -1
  168. package/build/src/metrics/IEntityMetricsAdapter.js.map +1 -0
  169. package/build/{metrics → src/metrics}/NoOpEntityMetricsAdapter.d.ts +2 -2
  170. package/build/{metrics → src/metrics}/NoOpEntityMetricsAdapter.js +2 -1
  171. package/build/src/metrics/NoOpEntityMetricsAdapter.js.map +1 -0
  172. package/build/{rules → src/rules}/AlwaysAllowPrivacyPolicyRule.d.ts +4 -4
  173. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js +14 -0
  174. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -0
  175. package/build/{rules → src/rules}/AlwaysDenyPrivacyPolicyRule.d.ts +4 -4
  176. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js +14 -0
  177. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -0
  178. package/build/{rules → src/rules}/AlwaysSkipPrivacyPolicyRule.d.ts +4 -4
  179. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js +14 -0
  180. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -0
  181. package/build/{rules → src/rules}/PrivacyPolicyRule.d.ts +3 -3
  182. package/build/{rules → src/rules}/PrivacyPolicyRule.js +2 -2
  183. package/build/src/rules/PrivacyPolicyRule.js.map +1 -0
  184. package/build/{utils → src/utils}/EntityCreationUtils.d.ts +3 -3
  185. package/build/{utils → src/utils}/EntityCreationUtils.js +2 -5
  186. package/build/{utils → src/utils}/EntityCreationUtils.js.map +1 -1
  187. package/build/{utils → src/utils}/EntityPrivacyUtils.d.ts +4 -4
  188. package/build/{utils → src/utils}/EntityPrivacyUtils.js +4 -7
  189. package/build/{utils → src/utils}/EntityPrivacyUtils.js.map +1 -1
  190. package/build/src/utils/collections/SerializableKeyMap.js.map +1 -0
  191. package/build/src/utils/collections/maps.js.map +1 -0
  192. package/build/src/utils/collections/sets.js.map +1 -0
  193. package/build/{utils → src/utils}/mergeEntityMutationTriggerConfigurations.d.ts +3 -3
  194. package/build/src/utils/mergeEntityMutationTriggerConfigurations.js.map +1 -0
  195. package/package.json +14 -24
  196. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +4 -4
  197. package/src/AuthorizationResultBasedEntityLoader.ts +13 -12
  198. package/src/AuthorizationResultBasedEntityMutator.ts +78 -63
  199. package/src/ComposedEntityCacheAdapter.ts +3 -3
  200. package/src/ComposedSecondaryEntityCache.ts +1 -1
  201. package/src/EnforcingEntityAssociationLoader.ts +6 -5
  202. package/src/EnforcingEntityCreator.ts +4 -4
  203. package/src/EnforcingEntityDeleter.ts +4 -4
  204. package/src/EnforcingEntityLoader.ts +5 -5
  205. package/src/EnforcingEntityUpdater.ts +4 -4
  206. package/src/Entity.ts +10 -10
  207. package/src/EntityAssociationLoader.ts +5 -5
  208. package/src/EntityCompanion.ts +10 -10
  209. package/src/EntityCompanionProvider.ts +13 -13
  210. package/src/EntityConfiguration.ts +3 -3
  211. package/src/EntityCreator.ts +5 -5
  212. package/src/EntityDatabaseAdapter.ts +3 -3
  213. package/src/EntityDeleter.ts +6 -6
  214. package/src/EntityFieldDefinition.ts +3 -3
  215. package/src/EntityFields.ts +13 -0
  216. package/src/EntityLoader.ts +7 -7
  217. package/src/EntityLoaderFactory.ts +9 -9
  218. package/src/EntityLoaderUtils.ts +7 -7
  219. package/src/EntityMutationInfo.ts +2 -2
  220. package/src/EntityMutationTriggerConfiguration.ts +3 -3
  221. package/src/EntityMutationValidator.ts +3 -3
  222. package/src/EntityMutatorFactory.ts +17 -12
  223. package/src/EntityPrivacyPolicy.ts +7 -6
  224. package/src/EntityQueryContext.ts +1 -1
  225. package/src/EntityQueryContextProvider.ts +3 -3
  226. package/src/EntitySecondaryCacheLoader.ts +5 -5
  227. package/src/EntityUpdater.ts +6 -6
  228. package/src/GenericEntityCacheAdapter.ts +3 -3
  229. package/src/GenericSecondaryEntityCache.ts +2 -2
  230. package/src/IEntityCacheAdapter.ts +1 -1
  231. package/src/IEntityCacheAdapterProvider.ts +3 -3
  232. package/src/IEntityDatabaseAdapterProvider.ts +3 -3
  233. package/src/IEntityGenericCacher.ts +1 -1
  234. package/src/ReadonlyEntity.ts +10 -10
  235. package/src/ViewerContext.ts +6 -6
  236. package/src/ViewerScopedEntityCompanion.ts +9 -9
  237. package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
  238. package/src/ViewerScopedEntityLoaderFactory.ts +6 -6
  239. package/src/ViewerScopedEntityMutatorFactory.ts +11 -8
  240. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +5 -4
  241. package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -18
  242. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +18 -16
  243. package/src/__tests__/ComposedCacheAdapter-test.ts +5 -3
  244. package/src/__tests__/ComposedSecondaryEntityCache-test.ts +2 -1
  245. package/src/__tests__/EnforcingEntityAssociationLoader-test.ts +4 -3
  246. package/src/__tests__/EnforcingEntityLoader-test.ts +4 -3
  247. package/src/__tests__/Entity-test.ts +8 -6
  248. package/src/__tests__/EntityAssociationLoader-test.ts +7 -5
  249. package/src/__tests__/EntityCommonUseCases-test.ts +10 -9
  250. package/src/__tests__/EntityCompanion-test.ts +13 -11
  251. package/src/__tests__/EntityCompanionProvider-test.ts +7 -5
  252. package/src/__tests__/EntityConfiguration-test.ts +3 -1
  253. package/src/__tests__/EntityDatabaseAdapter-test.ts +9 -7
  254. package/src/__tests__/EntityEdges-test.ts +10 -8
  255. package/src/__tests__/EntityFields-test.ts +15 -7
  256. package/src/__tests__/EntityLoader-test.ts +8 -6
  257. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +8 -6
  258. package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +5 -3
  259. package/src/__tests__/EntityMutator-test.ts +250 -45
  260. package/src/__tests__/EntityPrivacyPolicy-test.ts +19 -16
  261. package/src/__tests__/EntityQueryContext-test.ts +7 -6
  262. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +5 -3
  263. package/src/__tests__/EntitySelfReferentialEdges-test.ts +7 -5
  264. package/src/__tests__/GenericEntityCacheAdapter-test.ts +4 -3
  265. package/src/__tests__/ReadonlyEntity-test.ts +10 -9
  266. package/src/__tests__/ViewerContext-test.ts +3 -1
  267. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +10 -8
  268. package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +7 -6
  269. package/src/__tests__/ViewerScopedEntityLoaderFactory-test.ts +5 -4
  270. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +8 -6
  271. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +15 -13
  272. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +7 -5
  273. package/src/__tests__/entityUtils-test.ts +3 -2
  274. package/src/errors/EntityCacheAdapterError.ts +2 -2
  275. package/src/errors/EntityDatabaseAdapterError.ts +2 -2
  276. package/src/errors/EntityError.ts +1 -1
  277. package/src/errors/EntityInvalidFieldValueError.ts +5 -5
  278. package/src/errors/EntityNotAuthorizedError.ts +4 -4
  279. package/src/errors/EntityNotFoundError.ts +5 -5
  280. package/src/errors/__tests__/EntityDatabaseAdapterError-test.ts +6 -3
  281. package/src/index.ts +39 -54
  282. package/src/internal/CompositeFieldHolder.ts +2 -1
  283. package/src/internal/EntityDataManager.ts +7 -5
  284. package/src/internal/EntityFieldTransformationUtils.ts +1 -1
  285. package/src/internal/EntityLoadInterfaces.ts +1 -1
  286. package/src/internal/EntityTableDataCoordinator.ts +10 -10
  287. package/src/internal/ReadThroughEntityCache.ts +3 -3
  288. package/src/internal/SingleFieldHolder.ts +1 -1
  289. package/src/internal/__tests__/CompositeFieldHolder-test.ts +2 -0
  290. package/src/internal/__tests__/CompositeFieldValueMap-test.ts +2 -0
  291. package/src/internal/__tests__/EntityDataManager-test.ts +34 -31
  292. package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +5 -3
  293. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +5 -4
  294. package/src/metrics/EntityMetricsUtils.ts +3 -2
  295. package/src/metrics/IEntityMetricsAdapter.ts +1 -1
  296. package/src/metrics/NoOpEntityMetricsAdapter.ts +3 -2
  297. package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +4 -4
  298. package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +4 -4
  299. package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +4 -4
  300. package/src/rules/PrivacyPolicyRule.ts +3 -3
  301. package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +3 -3
  302. package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +3 -3
  303. package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +3 -3
  304. package/src/utils/EntityCreationUtils.ts +4 -4
  305. package/src/utils/EntityPrivacyUtils.ts +5 -5
  306. package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +5 -3
  307. package/src/utils/__testfixtures__/SimpleTestEntity.ts +6 -6
  308. package/src/utils/__testfixtures__/StubCacheAdapter.ts +4 -4
  309. package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +8 -7
  310. package/src/utils/__testfixtures__/StubDatabaseAdapterProvider.ts +5 -5
  311. package/src/utils/__testfixtures__/StubQueryContextProvider.ts +2 -2
  312. package/src/utils/__testfixtures__/TestEntity.ts +7 -7
  313. package/src/utils/__testfixtures__/TestEntity2.ts +6 -6
  314. package/src/utils/__testfixtures__/TestEntityWithMutationTriggers.ts +6 -10
  315. package/src/utils/__testfixtures__/TestViewerContext.ts +2 -2
  316. package/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.ts +5 -5
  317. package/src/utils/__testfixtures__/describeFieldTestCase.ts +3 -1
  318. package/src/utils/__tests__/EntityCreationUtils-test.ts +5 -3
  319. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +15 -13
  320. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +10 -8
  321. package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +2 -0
  322. package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +2 -0
  323. package/src/utils/collections/__tests__/maps-test.ts +3 -1
  324. package/src/utils/collections/__tests__/sets-test.ts +2 -0
  325. package/src/utils/mergeEntityMutationTriggerConfigurations.ts +3 -3
  326. package/LICENSE +0 -21
  327. package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +0 -1
  328. package/build/AuthorizationResultBasedEntityLoader.js.map +0 -1
  329. package/build/AuthorizationResultBasedEntityMutator.js.map +0 -1
  330. package/build/ComposedEntityCacheAdapter.js.map +0 -1
  331. package/build/ComposedSecondaryEntityCache.js.map +0 -1
  332. package/build/EnforcingEntityAssociationLoader.js.map +0 -1
  333. package/build/EnforcingEntityCreator.js.map +0 -1
  334. package/build/EnforcingEntityDeleter.js.map +0 -1
  335. package/build/EnforcingEntityLoader.js.map +0 -1
  336. package/build/EnforcingEntityUpdater.js.map +0 -1
  337. package/build/Entity.js.map +0 -1
  338. package/build/EntityAssociationLoader.js.map +0 -1
  339. package/build/EntityCompanion.js.map +0 -1
  340. package/build/EntityCompanionProvider.js.map +0 -1
  341. package/build/EntityConfiguration.js.map +0 -1
  342. package/build/EntityDatabaseAdapter.js.map +0 -1
  343. package/build/EntityFieldDefinition.js.map +0 -1
  344. package/build/EntityFields.js.map +0 -1
  345. package/build/EntityLoaderFactory.js +0 -31
  346. package/build/EntityLoaderFactory.js.map +0 -1
  347. package/build/EntityLoaderUtils.js.map +0 -1
  348. package/build/EntityMutationInfo.js.map +0 -1
  349. package/build/EntityMutationTriggerConfiguration.js.map +0 -1
  350. package/build/EntityMutationValidator.js.map +0 -1
  351. package/build/EntityMutatorFactory.js.map +0 -1
  352. package/build/EntityQueryContext.js.map +0 -1
  353. package/build/EntityQueryContextProvider.js.map +0 -1
  354. package/build/EntitySecondaryCacheLoader.js.map +0 -1
  355. package/build/GenericEntityCacheAdapter.js.map +0 -1
  356. package/build/GenericSecondaryEntityCache.js.map +0 -1
  357. package/build/IEntityCacheAdapter.js.map +0 -1
  358. package/build/IEntityCacheAdapterProvider.js.map +0 -1
  359. package/build/IEntityDatabaseAdapterProvider.js.map +0 -1
  360. package/build/IEntityGenericCacher.js.map +0 -1
  361. package/build/ReadonlyEntity.js.map +0 -1
  362. package/build/ViewerScopedEntityCompanionProvider.js.map +0 -1
  363. package/build/ViewerScopedEntityLoaderFactory.js.map +0 -1
  364. package/build/ViewerScopedEntityMutatorFactory.js.map +0 -1
  365. package/build/entityUtils.js.map +0 -1
  366. package/build/errors/EntityCacheAdapterError.js +0 -46
  367. package/build/errors/EntityCacheAdapterError.js.map +0 -1
  368. package/build/errors/EntityDatabaseAdapterError.js.map +0 -1
  369. package/build/errors/EntityError.js.map +0 -1
  370. package/build/errors/EntityInvalidFieldValueError.js +0 -45
  371. package/build/errors/EntityInvalidFieldValueError.js.map +0 -1
  372. package/build/errors/EntityNotAuthorizedError.js +0 -48
  373. package/build/errors/EntityNotAuthorizedError.js.map +0 -1
  374. package/build/errors/EntityNotFoundError.js +0 -50
  375. package/build/errors/EntityNotFoundError.js.map +0 -1
  376. package/build/index.d.ts +0 -91
  377. package/build/index.js +0 -155
  378. package/build/index.js.map +0 -1
  379. package/build/internal/CompositeFieldHolder.js.map +0 -1
  380. package/build/internal/CompositeFieldValueMap.js.map +0 -1
  381. package/build/internal/EntityDataManager.js.map +0 -1
  382. package/build/internal/EntityFieldTransformationUtils.js.map +0 -1
  383. package/build/internal/EntityLoadInterfaces.js.map +0 -1
  384. package/build/internal/ReadThroughEntityCache.js.map +0 -1
  385. package/build/internal/SingleFieldHolder.js.map +0 -1
  386. package/build/metrics/EntityMetricsUtils.js.map +0 -1
  387. package/build/metrics/IEntityMetricsAdapter.js.map +0 -1
  388. package/build/metrics/NoOpEntityMetricsAdapter.js.map +0 -1
  389. package/build/rules/AlwaysAllowPrivacyPolicyRule.js +0 -46
  390. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +0 -1
  391. package/build/rules/AlwaysDenyPrivacyPolicyRule.js +0 -46
  392. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +0 -1
  393. package/build/rules/AlwaysSkipPrivacyPolicyRule.js +0 -46
  394. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +0 -1
  395. package/build/rules/PrivacyPolicyRule.js.map +0 -1
  396. package/build/tsconfig.build.tsbuildinfo +0 -1
  397. package/build/utils/collections/SerializableKeyMap.js.map +0 -1
  398. package/build/utils/collections/maps.js.map +0 -1
  399. package/build/utils/collections/sets.js.map +0 -1
  400. package/build/utils/mergeEntityMutationTriggerConfigurations.js.map +0 -1
  401. /package/build/{EntityFieldDefinition.js → src/EntityFieldDefinition.js} +0 -0
  402. /package/build/{EntityMutationInfo.js → src/EntityMutationInfo.js} +0 -0
  403. /package/build/{EntityMutationTriggerConfiguration.js → src/EntityMutationTriggerConfiguration.js} +0 -0
  404. /package/build/{EntityQueryContext.js → src/EntityQueryContext.js} +0 -0
  405. /package/build/{IEntityCacheAdapter.js → src/IEntityCacheAdapter.js} +0 -0
  406. /package/build/{IEntityCacheAdapterProvider.js → src/IEntityCacheAdapterProvider.js} +0 -0
  407. /package/build/{IEntityDatabaseAdapterProvider.js → src/IEntityDatabaseAdapterProvider.js} +0 -0
  408. /package/build/{IEntityGenericCacher.js → src/IEntityGenericCacher.js} +0 -0
  409. /package/build/{entityUtils.d.ts → src/entityUtils.d.ts} +0 -0
  410. /package/build/{entityUtils.js → src/entityUtils.js} +0 -0
  411. /package/build/{internal → src/internal}/CompositeFieldHolder.js +0 -0
  412. /package/build/{internal → src/internal}/CompositeFieldValueMap.d.ts +0 -0
  413. /package/build/{internal → src/internal}/CompositeFieldValueMap.js +0 -0
  414. /package/build/{internal → src/internal}/EntityFieldTransformationUtils.js +0 -0
  415. /package/build/{internal → src/internal}/EntityLoadInterfaces.js +0 -0
  416. /package/build/{internal → src/internal}/SingleFieldHolder.js +0 -0
  417. /package/build/{metrics → src/metrics}/EntityMetricsUtils.js +0 -0
  418. /package/build/{metrics → src/metrics}/IEntityMetricsAdapter.js +0 -0
  419. /package/build/{utils → src/utils}/collections/SerializableKeyMap.d.ts +0 -0
  420. /package/build/{utils → src/utils}/collections/SerializableKeyMap.js +0 -0
  421. /package/build/{utils → src/utils}/collections/maps.d.ts +0 -0
  422. /package/build/{utils → src/utils}/collections/maps.js +0 -0
  423. /package/build/{utils → src/utils}/collections/sets.d.ts +0 -0
  424. /package/build/{utils → src/utils}/collections/sets.js +0 -0
  425. /package/build/{utils → src/utils}/mergeEntityMutationTriggerConfigurations.js +0 -0
@@ -1,14 +1,16 @@
1
- import Entity from '../Entity';
1
+ import { describe, expect, it } from '@jest/globals';
2
+
3
+ import { Entity } from '../Entity';
2
4
  import { EntityCompanionDefinition } from '../EntityCompanionProvider';
3
- import EntityConfiguration from '../EntityConfiguration';
5
+ import { EntityConfiguration } from '../EntityConfiguration';
4
6
  import { EntityEdgeDeletionBehavior } from '../EntityFieldDefinition';
5
7
  import { UUIDField } from '../EntityFields';
6
- import EntityPrivacyPolicy from '../EntityPrivacyPolicy';
8
+ import { EntityPrivacyPolicy } from '../EntityPrivacyPolicy';
7
9
  import { CacheStatus } from '../internal/ReadThroughEntityCache';
8
10
  import { SingleFieldHolder, SingleFieldValueHolder } from '../internal/SingleFieldHolder';
9
- import AlwaysAllowPrivacyPolicyRule from '../rules/AlwaysAllowPrivacyPolicyRule';
11
+ import { AlwaysAllowPrivacyPolicyRule } from '../rules/AlwaysAllowPrivacyPolicyRule';
10
12
  import { InMemoryFullCacheStubCacheAdapter } from '../utils/__testfixtures__/StubCacheAdapter';
11
- import TestViewerContext from '../utils/__testfixtures__/TestViewerContext';
13
+ import { TestViewerContext } from '../utils/__testfixtures__/TestViewerContext';
12
14
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
13
15
 
14
16
  interface CategoryFields {
@@ -1,7 +1,8 @@
1
- import { mock, when, instance, anything, verify, deepEqual } from 'ts-mockito';
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { anything, deepEqual, instance, mock, verify, when } from 'ts-mockito';
2
3
 
3
- import GenericEntityCacheAdapter from '../GenericEntityCacheAdapter';
4
- import IEntityGenericCacher from '../IEntityGenericCacher';
4
+ import { GenericEntityCacheAdapter } from '../GenericEntityCacheAdapter';
5
+ import { IEntityGenericCacher } from '../IEntityGenericCacher';
5
6
  import { CacheStatus } from '../internal/ReadThroughEntityCache';
6
7
  import {
7
8
  SingleFieldHolder,
@@ -1,14 +1,15 @@
1
+ import { describe, expect, it } from '@jest/globals';
1
2
  import { instance, mock } from 'ts-mockito';
2
3
 
3
- import AuthorizationResultBasedEntityAssociationLoader from '../AuthorizationResultBasedEntityAssociationLoader';
4
- import AuthorizationResultBasedEntityLoader from '../AuthorizationResultBasedEntityLoader';
5
- import EnforcingEntityAssociationLoader from '../EnforcingEntityAssociationLoader';
6
- import EnforcingEntityLoader from '../EnforcingEntityLoader';
7
- import EntityLoaderUtils from '../EntityLoaderUtils';
8
- import ReadonlyEntity from '../ReadonlyEntity';
9
- import ViewerContext from '../ViewerContext';
10
- import SimpleTestEntity from '../utils/__testfixtures__/SimpleTestEntity';
11
- import TestEntity from '../utils/__testfixtures__/TestEntity';
4
+ import { AuthorizationResultBasedEntityAssociationLoader } from '../AuthorizationResultBasedEntityAssociationLoader';
5
+ import { AuthorizationResultBasedEntityLoader } from '../AuthorizationResultBasedEntityLoader';
6
+ import { EnforcingEntityAssociationLoader } from '../EnforcingEntityAssociationLoader';
7
+ import { EnforcingEntityLoader } from '../EnforcingEntityLoader';
8
+ import { EntityLoaderUtils } from '../EntityLoaderUtils';
9
+ import { ReadonlyEntity } from '../ReadonlyEntity';
10
+ import { ViewerContext } from '../ViewerContext';
11
+ import { SimpleTestEntity } from '../utils/__testfixtures__/SimpleTestEntity';
12
+ import { TestEntity } from '../utils/__testfixtures__/TestEntity';
12
13
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
13
14
 
14
15
  describe(ReadonlyEntity, () => {
@@ -1,5 +1,7 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+
1
3
  import { EntityQueryContext } from '../EntityQueryContext';
2
- import ViewerContext from '../ViewerContext';
4
+ import { ViewerContext } from '../ViewerContext';
3
5
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
4
6
 
5
7
  describe(ViewerContext, () => {
@@ -1,13 +1,15 @@
1
- import { mock, instance } from 'ts-mockito';
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { instance, mock } from 'ts-mockito';
2
3
 
3
- import EntityCompanion from '../EntityCompanion';
4
- import ViewerContext from '../ViewerContext';
5
- import ViewerScopedEntityCompanion from '../ViewerScopedEntityCompanion';
6
- import ViewerScopedEntityLoaderFactory from '../ViewerScopedEntityLoaderFactory';
7
- import ViewerScopedEntityMutatorFactory from '../ViewerScopedEntityMutatorFactory';
8
- import TestEntity, {
9
- TestFields,
4
+ import { EntityCompanion } from '../EntityCompanion';
5
+ import { ViewerContext } from '../ViewerContext';
6
+ import { ViewerScopedEntityCompanion } from '../ViewerScopedEntityCompanion';
7
+ import { ViewerScopedEntityLoaderFactory } from '../ViewerScopedEntityLoaderFactory';
8
+ import { ViewerScopedEntityMutatorFactory } from '../ViewerScopedEntityMutatorFactory';
9
+ import {
10
+ TestEntity,
10
11
  TestEntityPrivacyPolicy,
12
+ TestFields,
11
13
  } from '../utils/__testfixtures__/TestEntity';
12
14
 
13
15
  describe(ViewerScopedEntityCompanion, () => {
@@ -1,10 +1,11 @@
1
- import { mock, instance } from 'ts-mockito';
1
+ import { describe, expect, it } from '@jest/globals';
2
+ import { instance, mock } from 'ts-mockito';
2
3
 
3
- import EntityCompanionProvider from '../EntityCompanionProvider';
4
- import ViewerContext from '../ViewerContext';
5
- import ViewerScopedEntityCompanion from '../ViewerScopedEntityCompanion';
6
- import ViewerScopedEntityCompanionProvider from '../ViewerScopedEntityCompanionProvider';
7
- import TestEntity from '../utils/__testfixtures__/TestEntity';
4
+ import { EntityCompanionProvider } from '../EntityCompanionProvider';
5
+ import { ViewerContext } from '../ViewerContext';
6
+ import { ViewerScopedEntityCompanion } from '../ViewerScopedEntityCompanion';
7
+ import { ViewerScopedEntityCompanionProvider } from '../ViewerScopedEntityCompanionProvider';
8
+ import { TestEntity } from '../utils/__testfixtures__/TestEntity';
8
9
 
9
10
  describe(ViewerScopedEntityCompanionProvider, () => {
10
11
  it('returns viewer scoped entity companion', () => {
@@ -1,10 +1,11 @@
1
- import { mock, verify, instance } from 'ts-mockito';
1
+ import { describe, it } from '@jest/globals';
2
+ import { instance, mock, verify } from 'ts-mockito';
2
3
 
3
- import EntityLoaderFactory from '../EntityLoaderFactory';
4
+ import { EntityLoaderFactory } from '../EntityLoaderFactory';
4
5
  import { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
5
6
  import { EntityQueryContext } from '../EntityQueryContext';
6
- import ViewerContext from '../ViewerContext';
7
- import ViewerScopedEntityLoaderFactory from '../ViewerScopedEntityLoaderFactory';
7
+ import { ViewerContext } from '../ViewerContext';
8
+ import { ViewerScopedEntityLoaderFactory } from '../ViewerScopedEntityLoaderFactory';
8
9
 
9
10
  describe(ViewerScopedEntityLoaderFactory, () => {
10
11
  it('correctly scopes viewer to entity loads', async () => {
@@ -1,12 +1,14 @@
1
- import { mock, instance, verify } from 'ts-mockito';
1
+ import { describe, it } from '@jest/globals';
2
+ import { instance, mock, verify } from 'ts-mockito';
2
3
 
3
- import EntityMutatorFactory from '../EntityMutatorFactory';
4
+ import { EntityMutatorFactory } from '../EntityMutatorFactory';
4
5
  import { EntityQueryContext } from '../EntityQueryContext';
5
- import ViewerContext from '../ViewerContext';
6
- import ViewerScopedEntityMutatorFactory from '../ViewerScopedEntityMutatorFactory';
7
- import TestEntity, {
8
- TestFields,
6
+ import { ViewerContext } from '../ViewerContext';
7
+ import { ViewerScopedEntityMutatorFactory } from '../ViewerScopedEntityMutatorFactory';
8
+ import {
9
+ TestEntity,
9
10
  TestEntityPrivacyPolicy,
11
+ TestFields,
10
12
  } from '../utils/__testfixtures__/TestEntity';
11
13
 
12
14
  describe(ViewerScopedEntityMutatorFactory, () => {
@@ -1,11 +1,13 @@
1
- import Entity from '../../Entity';
1
+ import { describe, expect, test } from '@jest/globals';
2
+
3
+ import { Entity } from '../../Entity';
2
4
  import { EntityCompanionDefinition } from '../../EntityCompanionProvider';
3
- import EntityConfiguration from '../../EntityConfiguration';
4
- import { StringField, StrictEnumField, UUIDField } from '../../EntityFields';
5
- import EntityPrivacyPolicy from '../../EntityPrivacyPolicy';
6
- import ViewerContext from '../../ViewerContext';
7
- import { successfulResults, failedResults } from '../../entityUtils';
8
- import AlwaysAllowPrivacyPolicyRule from '../../rules/AlwaysAllowPrivacyPolicyRule';
5
+ import { EntityConfiguration } from '../../EntityConfiguration';
6
+ import { StrictEnumField, StringField, UUIDField } from '../../EntityFields';
7
+ import { EntityPrivacyPolicy } from '../../EntityPrivacyPolicy';
8
+ import { ViewerContext } from '../../ViewerContext';
9
+ import { failedResults, successfulResults } from '../../entityUtils';
10
+ import { AlwaysAllowPrivacyPolicyRule } from '../../rules/AlwaysAllowPrivacyPolicyRule';
9
11
  import { createUnitTestEntityCompanionProvider } from '../../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
10
12
 
11
13
  describe('Two entities backed by the same table', () => {
@@ -27,13 +29,13 @@ describe('Two entities backed by the same table', () => {
27
29
  expect(one).toBeInstanceOf(OneTestEntity);
28
30
  expect(two).toBeInstanceOf(TwoTestEntity);
29
31
 
30
- await expect(
31
- TwoTestEntity.loader(viewerContext).loadByIDAsync(one.getID()),
32
- ).rejects.toThrowError('TwoTestEntity must be instantiated with two data');
32
+ await expect(TwoTestEntity.loader(viewerContext).loadByIDAsync(one.getID())).rejects.toThrow(
33
+ 'TwoTestEntity must be instantiated with two data',
34
+ );
33
35
 
34
- await expect(
35
- OneTestEntity.loader(viewerContext).loadByIDAsync(two.getID()),
36
- ).rejects.toThrowError('OneTestEntity must be instantiated with one data');
36
+ await expect(OneTestEntity.loader(viewerContext).loadByIDAsync(two.getID())).rejects.toThrow(
37
+ 'OneTestEntity must be instantiated with one data',
38
+ );
37
39
 
38
40
  const manyResults = await OneTestEntity.loaderWithAuthorizationResults(
39
41
  viewerContext,
@@ -1,10 +1,12 @@
1
- import Entity from '../../Entity';
1
+ import { describe, expect, test } from '@jest/globals';
2
+
3
+ import { Entity } from '../../Entity';
2
4
  import { EntityCompanionDefinition } from '../../EntityCompanionProvider';
3
- import EntityConfiguration from '../../EntityConfiguration';
5
+ import { EntityConfiguration } from '../../EntityConfiguration';
4
6
  import { StringField, UUIDField } from '../../EntityFields';
5
- import EntityPrivacyPolicy from '../../EntityPrivacyPolicy';
6
- import ViewerContext from '../../ViewerContext';
7
- import AlwaysAllowPrivacyPolicyRule from '../../rules/AlwaysAllowPrivacyPolicyRule';
7
+ import { EntityPrivacyPolicy } from '../../EntityPrivacyPolicy';
8
+ import { ViewerContext } from '../../ViewerContext';
9
+ import { AlwaysAllowPrivacyPolicyRule } from '../../rules/AlwaysAllowPrivacyPolicyRule';
8
10
  import { createUnitTestEntityCompanionProvider } from '../../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
9
11
 
10
12
  describe('Two entities backed by the same table', () => {
@@ -1,4 +1,5 @@
1
1
  import { result } from '@expo/results';
2
+ import { describe, expect, it } from '@jest/globals';
2
3
 
3
4
  import {
4
5
  enforceResultsAsync,
@@ -105,7 +106,7 @@ describe(partitionArray, () => {
105
106
  type B = false;
106
107
  const arr: (A | B)[] = [true, false, true, true, false];
107
108
  const [as, bs] = partitionArray<A, B>(arr, (val: A | B): val is A => val === true);
108
- expect(as).toMatchObject([true, true, true]);
109
- expect(bs).toMatchObject([false, false]);
109
+ expect(as).toStrictEqual([true, true, true]);
110
+ expect(bs).toStrictEqual([false, false]);
110
111
  });
111
112
  });
@@ -1,6 +1,6 @@
1
- import EntityError, { EntityErrorCode, EntityErrorState } from './EntityError';
1
+ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
2
2
 
3
- export default abstract class EntityCacheAdapterError extends EntityError {}
3
+ export abstract class EntityCacheAdapterError extends EntityError {}
4
4
 
5
5
  export class EntityCacheAdapterTransientError extends EntityCacheAdapterError {
6
6
  public readonly state = EntityErrorState.TRANSIENT;
@@ -1,6 +1,6 @@
1
- import EntityError, { EntityErrorCode, EntityErrorState } from './EntityError';
1
+ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
2
2
 
3
- export default abstract class EntityDatabaseAdapterError extends EntityError {}
3
+ export abstract class EntityDatabaseAdapterError extends EntityError {}
4
4
 
5
5
  export class EntityDatabaseAdapterTransientError extends EntityDatabaseAdapterError {
6
6
  public readonly state = EntityErrorState.TRANSIENT;
@@ -20,7 +20,7 @@ export enum EntityErrorCode {
20
20
  ERR_ENTITY_CACHE_ADAPTER_TRANSIENT = 'ERR_ENTITY_CACHE_ADAPTER_TRANSIENT',
21
21
  }
22
22
 
23
- export default abstract class EntityError extends ES6Error {
23
+ export abstract class EntityError extends ES6Error {
24
24
  public abstract readonly state: EntityErrorState;
25
25
  public abstract readonly code: EntityErrorCode;
26
26
 
@@ -1,10 +1,10 @@
1
- import EntityError, { EntityErrorCode, EntityErrorState } from './EntityError';
2
1
  import { IEntityClass } from '../Entity';
3
- import EntityPrivacyPolicy from '../EntityPrivacyPolicy';
4
- import ReadonlyEntity from '../ReadonlyEntity';
5
- import ViewerContext from '../ViewerContext';
2
+ import { EntityPrivacyPolicy } from '../EntityPrivacyPolicy';
3
+ import { ReadonlyEntity } from '../ReadonlyEntity';
4
+ import { ViewerContext } from '../ViewerContext';
5
+ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
6
6
 
7
- export default class EntityInvalidFieldValueError<
7
+ export class EntityInvalidFieldValueError<
8
8
  TFields extends Record<string, any>,
9
9
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
10
10
  TViewerContext extends ViewerContext,
@@ -1,9 +1,9 @@
1
- import EntityError, { EntityErrorCode, EntityErrorState } from './EntityError';
2
1
  import { EntityAuthorizationAction } from '../EntityPrivacyPolicy';
3
- import ReadonlyEntity from '../ReadonlyEntity';
4
- import ViewerContext from '../ViewerContext';
2
+ import { ReadonlyEntity } from '../ReadonlyEntity';
3
+ import { ViewerContext } from '../ViewerContext';
4
+ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
5
5
 
6
- export default class EntityNotAuthorizedError<
6
+ export class EntityNotAuthorizedError<
7
7
  TFields extends Record<string, any>,
8
8
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
9
9
  TViewerContext extends ViewerContext,
@@ -1,8 +1,8 @@
1
- import EntityError, { EntityErrorCode, EntityErrorState } from './EntityError';
2
1
  import { IEntityClass } from '../Entity';
3
- import EntityPrivacyPolicy from '../EntityPrivacyPolicy';
4
- import ReadonlyEntity from '../ReadonlyEntity';
5
- import ViewerContext from '../ViewerContext';
2
+ import { EntityPrivacyPolicy } from '../EntityPrivacyPolicy';
3
+ import { ReadonlyEntity } from '../ReadonlyEntity';
4
+ import { ViewerContext } from '../ViewerContext';
5
+ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
6
6
 
7
7
  type EntityNotFoundOptions<
8
8
  TFields extends Record<string, any>,
@@ -31,7 +31,7 @@ type EntityNotFoundOptions<
31
31
  fieldValue: TFields[N];
32
32
  };
33
33
 
34
- export default class EntityNotFoundError<
34
+ export class EntityNotFoundError<
35
35
  TFields extends Record<string, any>,
36
36
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
37
37
  TViewerContext extends ViewerContext,
@@ -1,11 +1,14 @@
1
- import EntityDatabaseAdapterError, {
2
- EntityDatabaseAdapterTransientError,
3
- EntityDatabaseAdapterUnknownError,
1
+ import { describe, expect, it } from '@jest/globals';
2
+
3
+ import {
4
4
  EntityDatabaseAdapterCheckConstraintError,
5
+ EntityDatabaseAdapterError,
5
6
  EntityDatabaseAdapterExclusionConstraintError,
6
7
  EntityDatabaseAdapterForeignKeyConstraintError,
7
8
  EntityDatabaseAdapterNotNullConstraintError,
9
+ EntityDatabaseAdapterTransientError,
8
10
  EntityDatabaseAdapterUniqueConstraintError,
11
+ EntityDatabaseAdapterUnknownError,
9
12
  } from '../EntityDatabaseAdapterError';
10
13
 
11
14
  describe(EntityDatabaseAdapterError, () => {
package/src/index.ts CHANGED
@@ -4,86 +4,71 @@
4
4
  * @module @expo/entity
5
5
  */
6
6
 
7
- export { default as AuthorizationResultBasedEntityAssociationLoader } from './AuthorizationResultBasedEntityAssociationLoader';
8
7
  export * from './AuthorizationResultBasedEntityAssociationLoader';
9
- export { default as AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
8
+ export * from './AuthorizationResultBasedEntityLoader';
10
9
  export * from './AuthorizationResultBasedEntityMutator';
11
- export { default as ComposedEntityCacheAdapter } from './ComposedEntityCacheAdapter';
12
- export { default as ComposedSecondaryEntityCache } from './ComposedSecondaryEntityCache';
13
- export { default as EnforcingEntityAssociationLoader } from './EnforcingEntityAssociationLoader';
14
- export { default as EnforcingEntityCreator } from './EnforcingEntityCreator';
15
- export { default as EnforcingEntityDeleter } from './EnforcingEntityDeleter';
16
- export { default as EnforcingEntityLoader } from './EnforcingEntityLoader';
17
- export { default as EnforcingEntityUpdater } from './EnforcingEntityUpdater';
18
- export { default as Entity } from './Entity';
10
+ export * from './ComposedEntityCacheAdapter';
11
+ export * from './ComposedSecondaryEntityCache';
12
+ export * from './EnforcingEntityAssociationLoader';
13
+ export * from './EnforcingEntityCreator';
14
+ export * from './EnforcingEntityDeleter';
15
+ export * from './EnforcingEntityLoader';
16
+ export * from './EnforcingEntityUpdater';
19
17
  export * from './Entity';
20
- export { default as EntityAssociationLoader } from './EntityAssociationLoader';
21
- export { default as EntityCompanion } from './EntityCompanion';
18
+ export * from './EntityAssociationLoader';
22
19
  export * from './EntityCompanion';
23
- export { default as EntityCompanionProvider } from './EntityCompanionProvider';
24
20
  export * from './EntityCompanionProvider';
25
- export { default as EntityConfiguration } from './EntityConfiguration';
26
21
  export * from './EntityConfiguration';
27
- export { default as EntityCreator } from './EntityCreator';
28
- export { default as EntityDatabaseAdapter } from './EntityDatabaseAdapter';
22
+ export * from './EntityCreator';
29
23
  export * from './EntityDatabaseAdapter';
30
- export { default as EntityDeleter } from './EntityDeleter';
24
+ export * from './EntityDeleter';
31
25
  export * from './EntityFieldDefinition';
32
26
  export * from './EntityFields';
33
- export { default as EntityLoader } from './EntityLoader';
34
- export { default as EntityLoaderFactory } from './EntityLoaderFactory';
35
- export { default as EntityLoaderUtils } from './EntityLoaderUtils';
27
+ export * from './EntityLoader';
28
+ export * from './EntityLoaderFactory';
29
+ export * from './EntityLoaderUtils';
36
30
  export * from './EntityMutationInfo';
37
- export { type default as EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
38
31
  export * from './EntityMutationTriggerConfiguration';
39
- export { default as EntityMutationValidator } from './EntityMutationValidator';
40
- export { default as EntityMutatorFactory } from './EntityMutatorFactory';
41
- export { default as EntityPrivacyPolicy } from './EntityPrivacyPolicy';
32
+ export * from './EntityMutationValidator';
33
+ export * from './EntityMutatorFactory';
42
34
  export * from './EntityPrivacyPolicy';
43
35
  export * from './EntityQueryContext';
44
- export { default as EntityQueryContextProvider } from './EntityQueryContextProvider';
45
- export { default as EntitySecondaryCacheLoader } from './EntitySecondaryCacheLoader';
36
+ export * from './EntityQueryContextProvider';
46
37
  export * from './EntitySecondaryCacheLoader';
47
- export { default as EntityUpdater } from './EntityUpdater';
38
+ export * from './EntityUpdater';
48
39
  export * from './entityUtils';
49
- export { default as GenericEntityCacheAdapter } from './GenericEntityCacheAdapter';
50
- export { default as GenericSecondaryEntityCache } from './GenericSecondaryEntityCache';
51
- export { type default as IEntityCacheAdapter } from './IEntityCacheAdapter';
52
- export { type default as IEntityCacheAdapterProvider } from './IEntityCacheAdapterProvider';
53
- export { type default as IEntityDatabaseAdapterProvider } from './IEntityDatabaseAdapterProvider';
54
- export { type default as IEntityGenericCacher } from './IEntityGenericCacher';
55
- export { default as ReadonlyEntity } from './ReadonlyEntity';
56
- export { default as ViewerContext } from './ViewerContext';
57
- export { default as ViewerScopedEntityCompanion } from './ViewerScopedEntityCompanion';
58
- export { default as ViewerScopedEntityCompanionProvider } from './ViewerScopedEntityCompanionProvider';
59
- export { default as ViewerScopedEntityLoaderFactory } from './ViewerScopedEntityLoaderFactory';
60
- export { default as ViewerScopedEntityMutatorFactory } from './ViewerScopedEntityMutatorFactory';
61
- export { default as EntityCacheAdapterError } from './errors/EntityCacheAdapterError';
40
+ export * from './GenericEntityCacheAdapter';
41
+ export * from './GenericSecondaryEntityCache';
42
+ export * from './IEntityCacheAdapter';
43
+ export * from './IEntityCacheAdapterProvider';
44
+ export * from './IEntityDatabaseAdapterProvider';
45
+ export * from './IEntityGenericCacher';
46
+ export * from './ReadonlyEntity';
47
+ export * from './ViewerContext';
48
+ export * from './ViewerScopedEntityCompanion';
49
+ export * from './ViewerScopedEntityCompanionProvider';
50
+ export * from './ViewerScopedEntityLoaderFactory';
51
+ export * from './ViewerScopedEntityMutatorFactory';
62
52
  export * from './errors/EntityCacheAdapterError';
63
- export { default as EntityDatabaseAdapterError } from './errors/EntityDatabaseAdapterError';
64
53
  export * from './errors/EntityDatabaseAdapterError';
65
- export { default as EntityError } from './errors/EntityError';
66
54
  export * from './errors/EntityError';
67
- export { default as EntityInvalidFieldValueError } from './errors/EntityInvalidFieldValueError';
68
- export { default as EntityNotAuthorizedError } from './errors/EntityNotAuthorizedError';
69
- export { default as EntityNotFoundError } from './errors/EntityNotFoundError';
55
+ export * from './errors/EntityInvalidFieldValueError';
56
+ export * from './errors/EntityNotAuthorizedError';
57
+ export * from './errors/EntityNotFoundError';
70
58
  export * from './internal/CompositeFieldHolder';
71
59
  export * from './internal/CompositeFieldValueMap';
72
- export { default as EntityDataManager } from './internal/EntityDataManager';
60
+ export * from './internal/EntityDataManager';
73
61
  export * from './internal/EntityFieldTransformationUtils';
74
62
  export * from './internal/EntityLoadInterfaces';
75
- export { default as EntityTableDataCoordinator } from './internal/EntityTableDataCoordinator';
76
- export { default as ReadThroughEntityCache } from './internal/ReadThroughEntityCache';
63
+ export * from './internal/EntityTableDataCoordinator';
77
64
  export * from './internal/ReadThroughEntityCache';
78
65
  export * from './internal/SingleFieldHolder';
79
66
  export * from './metrics/EntityMetricsUtils';
80
- export { type default as IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
81
67
  export * from './metrics/IEntityMetricsAdapter';
82
- export { default as NoOpEntityMetricsAdapter } from './metrics/NoOpEntityMetricsAdapter';
83
- export { default as AlwaysAllowPrivacyPolicyRule } from './rules/AlwaysAllowPrivacyPolicyRule';
84
- export { default as AlwaysDenyPrivacyPolicyRule } from './rules/AlwaysDenyPrivacyPolicyRule';
85
- export { default as AlwaysSkipPrivacyPolicyRule } from './rules/AlwaysSkipPrivacyPolicyRule';
86
- export { default as PrivacyPolicyRule } from './rules/PrivacyPolicyRule';
68
+ export * from './metrics/NoOpEntityMetricsAdapter';
69
+ export * from './rules/AlwaysAllowPrivacyPolicyRule';
70
+ export * from './rules/AlwaysDenyPrivacyPolicyRule';
71
+ export * from './rules/AlwaysSkipPrivacyPolicyRule';
87
72
  export * from './rules/PrivacyPolicyRule';
88
73
  export * from './utils/EntityCreationUtils';
89
74
  export * from './utils/EntityPrivacyUtils';
@@ -1,8 +1,9 @@
1
1
  import invariant from 'invariant';
2
2
 
3
- import EntityConfiguration, {
3
+ import {
4
4
  EntityCompositeField,
5
5
  EntityCompositeFieldValue,
6
+ EntityConfiguration,
6
7
  } from '../EntityConfiguration';
7
8
  import { pick } from '../entityUtils';
8
9
  import { getDatabaseFieldForEntityField } from './EntityFieldTransformationUtils';
@@ -1,8 +1,8 @@
1
1
  import DataLoader from 'dataloader';
2
2
  import invariant from 'invariant';
3
3
 
4
- import ReadThroughEntityCache from './ReadThroughEntityCache';
5
- import EntityDatabaseAdapter, {
4
+ import {
5
+ EntityDatabaseAdapter,
6
6
  FieldEqualityCondition,
7
7
  QuerySelectionModifiers,
8
8
  QuerySelectionModifiersWithOrderByRaw,
@@ -12,15 +12,17 @@ import {
12
12
  EntityTransactionalQueryContext,
13
13
  TransactionalDataLoaderMode,
14
14
  } from '../EntityQueryContext';
15
- import EntityQueryContextProvider from '../EntityQueryContextProvider';
15
+ import { EntityQueryContextProvider } from '../EntityQueryContextProvider';
16
16
  import { partitionErrors } from '../entityUtils';
17
17
  import { IEntityLoadKey, IEntityLoadValue, LoadPair } from './EntityLoadInterfaces';
18
+ import { ReadThroughEntityCache } from './ReadThroughEntityCache';
18
19
  import {
19
20
  timeAndLogLoadEventAsync,
20
21
  timeAndLogLoadMapEventAsync,
21
22
  } from '../metrics/EntityMetricsUtils';
22
- import IEntityMetricsAdapter, {
23
+ import {
23
24
  EntityMetricsLoadType,
25
+ IEntityMetricsAdapter,
24
26
  IncrementLoadCountEventType,
25
27
  } from '../metrics/IEntityMetricsAdapter';
26
28
  import { computeIfAbsent } from '../utils/collections/maps';
@@ -38,7 +40,7 @@ type DataLoaderMap<TFields extends Record<string, any>> = Map<
38
40
  *
39
41
  * @internal
40
42
  */
41
- export default class EntityDataManager<
43
+ export class EntityDataManager<
42
44
  TFields extends Record<string, any>,
43
45
  TIDField extends keyof TFields,
44
46
  > {
@@ -1,7 +1,7 @@
1
1
  import invariant from 'invariant';
2
2
  import nullthrows from 'nullthrows';
3
3
 
4
- import EntityConfiguration from '../EntityConfiguration';
4
+ import { EntityConfiguration } from '../EntityConfiguration';
5
5
 
6
6
  /**
7
7
  * @internal
@@ -1,4 +1,4 @@
1
- import EntityConfiguration from '../EntityConfiguration';
1
+ import { EntityConfiguration } from '../EntityConfiguration';
2
2
  import { ISerializable, SerializableKeyMap } from '../utils/collections/SerializableKeyMap';
3
3
 
4
4
  /**
@@ -1,12 +1,12 @@
1
- import EntityDataManager from './EntityDataManager';
2
- import ReadThroughEntityCache from './ReadThroughEntityCache';
3
- import EntityConfiguration from '../EntityConfiguration';
4
- import EntityDatabaseAdapter from '../EntityDatabaseAdapter';
5
- import EntityQueryContextProvider from '../EntityQueryContextProvider';
6
- import IEntityCacheAdapter from '../IEntityCacheAdapter';
7
- import IEntityCacheAdapterProvider from '../IEntityCacheAdapterProvider';
8
- import IEntityDatabaseAdapterProvider from '../IEntityDatabaseAdapterProvider';
9
- import IEntityMetricsAdapter from '../metrics/IEntityMetricsAdapter';
1
+ import { EntityConfiguration } from '../EntityConfiguration';
2
+ import { EntityDatabaseAdapter } from '../EntityDatabaseAdapter';
3
+ import { EntityQueryContextProvider } from '../EntityQueryContextProvider';
4
+ import { IEntityCacheAdapter } from '../IEntityCacheAdapter';
5
+ import { IEntityCacheAdapterProvider } from '../IEntityCacheAdapterProvider';
6
+ import { IEntityDatabaseAdapterProvider } from '../IEntityDatabaseAdapterProvider';
7
+ import { EntityDataManager } from './EntityDataManager';
8
+ import { ReadThroughEntityCache } from './ReadThroughEntityCache';
9
+ import { IEntityMetricsAdapter } from '../metrics/IEntityMetricsAdapter';
10
10
 
11
11
  /**
12
12
  * Responsible for orchestrating fetching and caching of entity data from a
@@ -15,7 +15,7 @@ import IEntityMetricsAdapter from '../metrics/IEntityMetricsAdapter';
15
15
  *
16
16
  * @internal
17
17
  */
18
- export default class EntityTableDataCoordinator<
18
+ export class EntityTableDataCoordinator<
19
19
  TFields extends Record<string, any>,
20
20
  TIDField extends keyof TFields,
21
21
  > {
@@ -1,7 +1,7 @@
1
1
  import invariant from 'invariant';
2
2
 
3
- import EntityConfiguration from '../EntityConfiguration';
4
- import IEntityCacheAdapter from '../IEntityCacheAdapter';
3
+ import { EntityConfiguration } from '../EntityConfiguration';
4
+ import { IEntityCacheAdapter } from '../IEntityCacheAdapter';
5
5
  import { IEntityLoadKey, IEntityLoadValue } from './EntityLoadInterfaces';
6
6
  import { filterMap } from '../utils/collections/maps';
7
7
 
@@ -35,7 +35,7 @@ export type CacheLoadResult<TFields extends Record<string, any>> =
35
35
  *
36
36
  * @internal
37
37
  */
38
- export default class ReadThroughEntityCache<
38
+ export class ReadThroughEntityCache<
39
39
  TFields extends Record<string, any>,
40
40
  TIDField extends keyof TFields,
41
41
  > {
@@ -1,6 +1,6 @@
1
1
  import invariant from 'invariant';
2
2
 
3
- import EntityConfiguration from '../EntityConfiguration';
3
+ import { EntityConfiguration } from '../EntityConfiguration';
4
4
  import { getDatabaseFieldForEntityField } from './EntityFieldTransformationUtils';
5
5
  import {
6
6
  EntityLoadMethodType,
@@ -1,3 +1,5 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+
1
3
  import { CompositeFieldHolder, CompositeFieldValueHolder } from '../CompositeFieldHolder';
2
4
 
3
5
  describe(CompositeFieldHolder, () => {
@@ -1,3 +1,5 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+
1
3
  import { EntityCompositeFieldValue } from '../../EntityConfiguration';
2
4
  import { CompositeFieldValueHolder } from '../CompositeFieldHolder';
3
5
  import { CompositeFieldValueMap } from '../CompositeFieldValueMap';