@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,16 +1,16 @@
1
1
  import invariant from 'invariant';
2
2
 
3
- import AuthorizationResultBasedEntityAssociationLoader from './AuthorizationResultBasedEntityAssociationLoader';
4
- import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
5
- import EnforcingEntityAssociationLoader from './EnforcingEntityAssociationLoader';
6
- import EnforcingEntityLoader from './EnforcingEntityLoader';
3
+ import { AuthorizationResultBasedEntityAssociationLoader } from './AuthorizationResultBasedEntityAssociationLoader';
4
+ import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
5
+ import { EnforcingEntityAssociationLoader } from './EnforcingEntityAssociationLoader';
6
+ import { EnforcingEntityLoader } from './EnforcingEntityLoader';
7
7
  import { IEntityClass } from './Entity';
8
- import EntityAssociationLoader from './EntityAssociationLoader';
9
- import EntityLoader from './EntityLoader';
10
- import EntityLoaderUtils from './EntityLoaderUtils';
11
- import EntityPrivacyPolicy from './EntityPrivacyPolicy';
8
+ import { EntityAssociationLoader } from './EntityAssociationLoader';
9
+ import { EntityLoader } from './EntityLoader';
10
+ import { EntityLoaderUtils } from './EntityLoaderUtils';
11
+ import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
12
12
  import { EntityQueryContext } from './EntityQueryContext';
13
- import ViewerContext from './ViewerContext';
13
+ import { ViewerContext } from './ViewerContext';
14
14
 
15
15
  /**
16
16
  * A readonly entity exposes only the read functionality of an Entity. Used as the base
@@ -20,7 +20,7 @@ import ViewerContext from './ViewerContext';
20
20
  * - Entities representing SQL views.
21
21
  * - Entities representing immutable tables.
22
22
  */
23
- export default abstract class ReadonlyEntity<
23
+ export abstract class ReadonlyEntity<
24
24
  TFields extends Record<string, any>,
25
25
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
26
26
  TViewerContext extends ViewerContext,
@@ -1,14 +1,14 @@
1
1
  import { IEntityClass } from './Entity';
2
- import EntityCompanionProvider, { DatabaseAdapterFlavor } from './EntityCompanionProvider';
3
- import EntityPrivacyPolicy from './EntityPrivacyPolicy';
2
+ import { DatabaseAdapterFlavor, EntityCompanionProvider } from './EntityCompanionProvider';
3
+ import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
4
4
  import {
5
5
  EntityQueryContext,
6
6
  EntityTransactionalQueryContext,
7
7
  TransactionConfig,
8
8
  } from './EntityQueryContext';
9
- import ReadonlyEntity from './ReadonlyEntity';
10
- import ViewerScopedEntityCompanion from './ViewerScopedEntityCompanion';
11
- import ViewerScopedEntityCompanionProvider from './ViewerScopedEntityCompanionProvider';
9
+ import { ReadonlyEntity } from './ReadonlyEntity';
10
+ import { ViewerScopedEntityCompanion } from './ViewerScopedEntityCompanion';
11
+ import { ViewerScopedEntityCompanionProvider } from './ViewerScopedEntityCompanionProvider';
12
12
 
13
13
  /**
14
14
  * A viewer context encapsulates all information necessary to evaluate an EntityPrivacyPolicy.
@@ -16,7 +16,7 @@ import ViewerScopedEntityCompanionProvider from './ViewerScopedEntityCompanionPr
16
16
  * In combination with an EntityCompanionProvider, a viewer context is the
17
17
  * entry point into the Entity framework.
18
18
  */
19
- export default class ViewerContext {
19
+ export class ViewerContext {
20
20
  private readonly viewerScopedEntityCompanionProvider: ViewerScopedEntityCompanionProvider;
21
21
 
22
22
  constructor(public readonly entityCompanionProvider: EntityCompanionProvider) {
@@ -1,17 +1,17 @@
1
- import EntityCompanion from './EntityCompanion';
2
- import EntityPrivacyPolicy from './EntityPrivacyPolicy';
3
- import EntityQueryContextProvider from './EntityQueryContextProvider';
4
- import ReadonlyEntity from './ReadonlyEntity';
5
- import ViewerContext from './ViewerContext';
6
- import ViewerScopedEntityLoaderFactory from './ViewerScopedEntityLoaderFactory';
7
- import ViewerScopedEntityMutatorFactory from './ViewerScopedEntityMutatorFactory';
8
- import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
1
+ import { EntityCompanion } from './EntityCompanion';
2
+ import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
3
+ import { EntityQueryContextProvider } from './EntityQueryContextProvider';
4
+ import { ReadonlyEntity } from './ReadonlyEntity';
5
+ import { ViewerContext } from './ViewerContext';
6
+ import { ViewerScopedEntityLoaderFactory } from './ViewerScopedEntityLoaderFactory';
7
+ import { ViewerScopedEntityMutatorFactory } from './ViewerScopedEntityMutatorFactory';
8
+ import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
9
9
 
10
10
  /**
11
11
  * Provides a simpler API for loading and mutating entities by injecting the ViewerContext
12
12
  * from the viewer-scoped entity companion provider.
13
13
  */
14
- export default class ViewerScopedEntityCompanion<
14
+ export class ViewerScopedEntityCompanion<
15
15
  TFields extends Record<string, any>,
16
16
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
17
17
  TViewerContext extends ViewerContext,
@@ -1,14 +1,14 @@
1
1
  import { IEntityClass } from './Entity';
2
- import EntityCompanionProvider from './EntityCompanionProvider';
3
- import EntityPrivacyPolicy from './EntityPrivacyPolicy';
4
- import ReadonlyEntity from './ReadonlyEntity';
5
- import ViewerContext from './ViewerContext';
6
- import ViewerScopedEntityCompanion from './ViewerScopedEntityCompanion';
2
+ import { EntityCompanionProvider } from './EntityCompanionProvider';
3
+ import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
4
+ import { ReadonlyEntity } from './ReadonlyEntity';
5
+ import { ViewerContext } from './ViewerContext';
6
+ import { ViewerScopedEntityCompanion } from './ViewerScopedEntityCompanion';
7
7
 
8
8
  /**
9
9
  * Provides viewer-scoped entity companions providers for a simpler API.
10
10
  */
11
- export default class ViewerScopedEntityCompanionProvider {
11
+ export class ViewerScopedEntityCompanionProvider {
12
12
  constructor(
13
13
  private readonly entityCompanionProvider: EntityCompanionProvider,
14
14
  private readonly viewerContext: ViewerContext,
@@ -1,14 +1,14 @@
1
- import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
2
- import EntityLoaderFactory from './EntityLoaderFactory';
3
- import EntityPrivacyPolicy, { EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
1
+ import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
2
+ import { EntityLoaderFactory } from './EntityLoaderFactory';
3
+ import { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
4
4
  import { EntityQueryContext } from './EntityQueryContext';
5
- import ReadonlyEntity from './ReadonlyEntity';
6
- import ViewerContext from './ViewerContext';
5
+ import { ReadonlyEntity } from './ReadonlyEntity';
6
+ import { ViewerContext } from './ViewerContext';
7
7
 
8
8
  /**
9
9
  * Provides a cleaner API for loading entities by passing through the ViewerContext.
10
10
  */
11
- export default class ViewerScopedEntityLoaderFactory<
11
+ export class ViewerScopedEntityLoaderFactory<
12
12
  TFields extends Record<string, any>,
13
13
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
14
14
  TViewerContext extends ViewerContext,
@@ -1,18 +1,19 @@
1
1
  import {
2
2
  AuthorizationResultBasedCreateMutator,
3
- AuthorizationResultBasedUpdateMutator,
4
3
  AuthorizationResultBasedDeleteMutator,
4
+ AuthorizationResultBasedUpdateMutator,
5
5
  } from './AuthorizationResultBasedEntityMutator';
6
- import EntityMutatorFactory from './EntityMutatorFactory';
7
- import EntityPrivacyPolicy from './EntityPrivacyPolicy';
6
+ import { EntityCascadingDeletionInfo } from './EntityMutationInfo';
7
+ import { EntityMutatorFactory } from './EntityMutatorFactory';
8
+ import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
8
9
  import { EntityQueryContext } from './EntityQueryContext';
9
- import ReadonlyEntity from './ReadonlyEntity';
10
- import ViewerContext from './ViewerContext';
10
+ import { ReadonlyEntity } from './ReadonlyEntity';
11
+ import { ViewerContext } from './ViewerContext';
11
12
 
12
13
  /**
13
14
  * Provides a cleaner API for mutating entities by passing through the ViewerContext.
14
15
  */
15
- export default class ViewerScopedEntityMutatorFactory<
16
+ export class ViewerScopedEntityMutatorFactory<
16
17
  TFields extends Record<string, any>,
17
18
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
18
19
  TViewerContext extends ViewerContext,
@@ -54,6 +55,7 @@ export default class ViewerScopedEntityMutatorFactory<
54
55
  forUpdate(
55
56
  existingEntity: TEntity,
56
57
  queryContext: EntityQueryContext,
58
+ cascadingDeleteCause: EntityCascadingDeletionInfo | null,
57
59
  ): AuthorizationResultBasedUpdateMutator<
58
60
  TFields,
59
61
  TIDField,
@@ -62,12 +64,13 @@ export default class ViewerScopedEntityMutatorFactory<
62
64
  TPrivacyPolicy,
63
65
  TSelectedFields
64
66
  > {
65
- return this.entityMutatorFactory.forUpdate(existingEntity, queryContext);
67
+ return this.entityMutatorFactory.forUpdate(existingEntity, queryContext, cascadingDeleteCause);
66
68
  }
67
69
 
68
70
  forDelete(
69
71
  existingEntity: TEntity,
70
72
  queryContext: EntityQueryContext,
73
+ cascadingDeleteCause: EntityCascadingDeletionInfo | null,
71
74
  ): AuthorizationResultBasedDeleteMutator<
72
75
  TFields,
73
76
  TIDField,
@@ -76,6 +79,6 @@ export default class ViewerScopedEntityMutatorFactory<
76
79
  TPrivacyPolicy,
77
80
  TSelectedFields
78
81
  > {
79
- return this.entityMutatorFactory.forDelete(existingEntity, queryContext);
82
+ return this.entityMutatorFactory.forDelete(existingEntity, queryContext, cascadingDeleteCause);
80
83
  }
81
84
  }
@@ -1,11 +1,12 @@
1
1
  import { enforceAsyncResult } from '@expo/results';
2
+ import { describe, expect, it } from '@jest/globals';
2
3
  import { v4 as uuidv4 } from 'uuid';
3
4
 
4
- import AuthorizationResultBasedEntityAssociationLoader from '../AuthorizationResultBasedEntityAssociationLoader';
5
+ import { AuthorizationResultBasedEntityAssociationLoader } from '../AuthorizationResultBasedEntityAssociationLoader';
5
6
  import { enforceResultsAsync } from '../entityUtils';
6
- import TestEntity from '../utils/__testfixtures__/TestEntity';
7
- import TestEntity2 from '../utils/__testfixtures__/TestEntity2';
8
- import TestViewerContext from '../utils/__testfixtures__/TestViewerContext';
7
+ import { TestEntity } from '../utils/__testfixtures__/TestEntity';
8
+ import { TestEntity2 } from '../utils/__testfixtures__/TestEntity2';
9
+ import { TestViewerContext } from '../utils/__testfixtures__/TestViewerContext';
9
10
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
10
11
 
11
12
  describe(AuthorizationResultBasedEntityAssociationLoader, () => {
@@ -1,20 +1,21 @@
1
+ import { describe, expect, it } from '@jest/globals';
1
2
  import { instance, mock } from 'ts-mockito';
2
3
 
3
- import AuthorizationResultBasedEntityLoader from '../AuthorizationResultBasedEntityLoader';
4
- import Entity from '../Entity';
4
+ import { AuthorizationResultBasedEntityLoader } from '../AuthorizationResultBasedEntityLoader';
5
+ import { Entity } from '../Entity';
5
6
  import { EntityCompanionDefinition } from '../EntityCompanionProvider';
6
- import EntityConfiguration from '../EntityConfiguration';
7
+ import { EntityConfiguration } from '../EntityConfiguration';
7
8
  import { StringField } from '../EntityFields';
8
- import EntityLoaderUtils from '../EntityLoaderUtils';
9
- import EntityPrivacyPolicy, { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
10
- import ViewerContext from '../ViewerContext';
11
- import EntityDataManager from '../internal/EntityDataManager';
12
- import ReadThroughEntityCache from '../internal/ReadThroughEntityCache';
13
- import IEntityMetricsAdapter from '../metrics/IEntityMetricsAdapter';
14
- import AlwaysAllowPrivacyPolicyRule from '../rules/AlwaysAllowPrivacyPolicyRule';
9
+ import { EntityLoaderUtils } from '../EntityLoaderUtils';
10
+ import { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
11
+ import { ViewerContext } from '../ViewerContext';
12
+ import { EntityDataManager } from '../internal/EntityDataManager';
13
+ import { ReadThroughEntityCache } from '../internal/ReadThroughEntityCache';
14
+ import { IEntityMetricsAdapter } from '../metrics/IEntityMetricsAdapter';
15
+ import { AlwaysAllowPrivacyPolicyRule } from '../rules/AlwaysAllowPrivacyPolicyRule';
15
16
  import { NoCacheStubCacheAdapterProvider } from '../utils/__testfixtures__/StubCacheAdapter';
16
- import StubDatabaseAdapter from '../utils/__testfixtures__/StubDatabaseAdapter';
17
- import StubQueryContextProvider from '../utils/__testfixtures__/StubQueryContextProvider';
17
+ import { StubDatabaseAdapter } from '../utils/__testfixtures__/StubDatabaseAdapter';
18
+ import { StubQueryContextProvider } from '../utils/__testfixtures__/StubQueryContextProvider';
18
19
 
19
20
  export type TestFields = {
20
21
  id: string;
@@ -83,12 +84,7 @@ export class TestEntityPrivacyPolicy extends EntityPrivacyPolicy<
83
84
  const ID_SENTINEL_THROW_LITERAL = 'throw_literal';
84
85
  const ID_SENTINEL_THROW_ERROR = 'throw_error';
85
86
 
86
- export default class TestEntity extends Entity<
87
- TestFields,
88
- 'id',
89
- ViewerContext,
90
- TestFieldSelection
91
- > {
87
+ export class TestEntity extends Entity<TestFields, 'id', ViewerContext, TestFieldSelection> {
92
88
  constructor(constructorParams: {
93
89
  viewerContext: ViewerContext;
94
90
  id: string;
@@ -1,30 +1,32 @@
1
1
  import { enforceAsyncResult } from '@expo/results';
2
- import { mock, instance, verify, spy, anyOfClass, anything, when } from 'ts-mockito';
2
+ import { describe, expect, it } from '@jest/globals';
3
+ import { anyOfClass, anything, instance, mock, spy, verify, when } from 'ts-mockito';
3
4
  import { v4 as uuidv4 } from 'uuid';
4
5
 
5
- import AuthorizationResultBasedEntityLoader from '../AuthorizationResultBasedEntityLoader';
6
+ import { AuthorizationResultBasedEntityLoader } from '../AuthorizationResultBasedEntityLoader';
6
7
  import { OrderByOrdering } from '../EntityDatabaseAdapter';
7
- import EntityLoaderUtils from '../EntityLoaderUtils';
8
+ import { EntityLoaderUtils } from '../EntityLoaderUtils';
8
9
  import { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
9
- import ViewerContext from '../ViewerContext';
10
+ import { ViewerContext } from '../ViewerContext';
10
11
  import { enforceResultsAsync } from '../entityUtils';
11
- import EntityNotFoundError from '../errors/EntityNotFoundError';
12
+ import { EntityNotFoundError } from '../errors/EntityNotFoundError';
12
13
  import { CompositeFieldHolder, CompositeFieldValueHolder } from '../internal/CompositeFieldHolder';
13
- import EntityDataManager from '../internal/EntityDataManager';
14
- import ReadThroughEntityCache from '../internal/ReadThroughEntityCache';
14
+ import { EntityDataManager } from '../internal/EntityDataManager';
15
+ import { ReadThroughEntityCache } from '../internal/ReadThroughEntityCache';
15
16
  import {
16
17
  SingleFieldHolder,
17
18
  SingleFieldValueHolder,
18
19
  SingleFieldValueHolderMap,
19
20
  } from '../internal/SingleFieldHolder';
20
- import IEntityMetricsAdapter from '../metrics/IEntityMetricsAdapter';
21
+ import { IEntityMetricsAdapter } from '../metrics/IEntityMetricsAdapter';
21
22
  import { NoCacheStubCacheAdapterProvider } from '../utils/__testfixtures__/StubCacheAdapter';
22
- import StubDatabaseAdapter from '../utils/__testfixtures__/StubDatabaseAdapter';
23
- import StubQueryContextProvider from '../utils/__testfixtures__/StubQueryContextProvider';
23
+ import { StubDatabaseAdapter } from '../utils/__testfixtures__/StubDatabaseAdapter';
24
+ import { StubQueryContextProvider } from '../utils/__testfixtures__/StubQueryContextProvider';
24
25
  import { deepEqualEntityAware } from '../utils/__testfixtures__/TSMockitoExtensions';
25
- import TestEntity, {
26
- TestFields,
26
+ import {
27
+ TestEntity,
27
28
  TestEntityPrivacyPolicy,
29
+ TestFields,
28
30
  testEntityConfiguration,
29
31
  } from '../utils/__testfixtures__/TestEntity';
30
32
 
@@ -134,7 +136,7 @@ describe(AuthorizationResultBasedEntityLoader, () => {
134
136
  id2,
135
137
  ]);
136
138
 
137
- await expect(entityLoader.loadByFieldEqualingAsync('stringField', 'huh')).rejects.toThrowError(
139
+ await expect(entityLoader.loadByFieldEqualingAsync('stringField', 'huh')).rejects.toThrow(
138
140
  'loadByFieldEqualing: Multiple entities of type TestEntity found for stringField=huh',
139
141
  );
140
142
 
@@ -150,7 +152,7 @@ describe(AuthorizationResultBasedEntityLoader, () => {
150
152
  EntityNotFoundError,
151
153
  );
152
154
 
153
- await expect(entityLoader.loadByIDAsync('not-a-uuid')).rejects.toThrowError(
155
+ await expect(entityLoader.loadByIDAsync('not-a-uuid')).rejects.toThrow(
154
156
  'Entity field not valid: TestEntity (customIdField = not-a-uuid)',
155
157
  );
156
158
  });
@@ -295,7 +297,7 @@ describe(AuthorizationResultBasedEntityLoader, () => {
295
297
  stringField: 'huh',
296
298
  intField: 5,
297
299
  }),
298
- ).rejects.toThrowError(
300
+ ).rejects.toThrow(
299
301
  'loadByCompositeFieldEqualing: Multiple entities of type TestEntity found for composite field (stringField,intField)={"stringField":"huh","intField":5}',
300
302
  );
301
303
 
@@ -434,7 +436,7 @@ describe(AuthorizationResultBasedEntityLoader, () => {
434
436
  entityLoader.loadManyByFieldEqualityConjunctionAsync([
435
437
  { fieldName: 'customIdField', fieldValue: 'not-a-uuid' },
436
438
  ]),
437
- ).rejects.toThrowError('Entity field not valid: TestEntity (customIdField = not-a-uuid)');
439
+ ).rejects.toThrow('Entity field not valid: TestEntity (customIdField = not-a-uuid)');
438
440
  });
439
441
 
440
442
  it('loads entities with loadFirstByFieldEqualityConjunction', async () => {
@@ -1,7 +1,9 @@
1
- import ComposedEntityCacheAdapter from '../ComposedEntityCacheAdapter';
2
- import EntityConfiguration from '../EntityConfiguration';
1
+ import { describe, expect, it } from '@jest/globals';
2
+
3
+ import { ComposedEntityCacheAdapter } from '../ComposedEntityCacheAdapter';
4
+ import { EntityConfiguration } from '../EntityConfiguration';
3
5
  import { UUIDField } from '../EntityFields';
4
- import IEntityCacheAdapter from '../IEntityCacheAdapter';
6
+ import { IEntityCacheAdapter } from '../IEntityCacheAdapter';
5
7
  import { IEntityLoadKey, IEntityLoadValue } from '../internal/EntityLoadInterfaces';
6
8
  import { CacheLoadResult, CacheStatus } from '../internal/ReadThroughEntityCache';
7
9
  import { SingleFieldHolder, SingleFieldValueHolder } from '../internal/SingleFieldHolder';
@@ -1,7 +1,8 @@
1
+ import { describe, expect, it } from '@jest/globals';
1
2
  import invariant from 'invariant';
2
3
  import nullthrows from 'nullthrows';
3
4
 
4
- import ComposedSecondaryEntityCache from '../ComposedSecondaryEntityCache';
5
+ import { ComposedSecondaryEntityCache } from '../ComposedSecondaryEntityCache';
5
6
  import { ISecondaryEntityCache } from '../EntitySecondaryCacheLoader';
6
7
 
7
8
  type TestFields = { id: string };
@@ -1,8 +1,9 @@
1
1
  import { result } from '@expo/results';
2
- import { mock, instance, when, anything } from 'ts-mockito';
2
+ import { describe, expect, it } from '@jest/globals';
3
+ import { anything, instance, mock, when } from 'ts-mockito';
3
4
 
4
- import AuthorizationResultBasedEntityAssociationLoader from '../AuthorizationResultBasedEntityAssociationLoader';
5
- import EnforcingEntityAssociationLoader from '../EnforcingEntityAssociationLoader';
5
+ import { AuthorizationResultBasedEntityAssociationLoader } from '../AuthorizationResultBasedEntityAssociationLoader';
6
+ import { EnforcingEntityAssociationLoader } from '../EnforcingEntityAssociationLoader';
6
7
 
7
8
  describe(EnforcingEntityAssociationLoader, () => {
8
9
  describe('loadAssociatedEntityAsync', () => {
@@ -1,8 +1,9 @@
1
1
  import { result } from '@expo/results';
2
- import { mock, instance, when, anything } from 'ts-mockito';
2
+ import { describe, expect, it } from '@jest/globals';
3
+ import { anything, instance, mock, when } from 'ts-mockito';
3
4
 
4
- import AuthorizationResultBasedEntityLoader from '../AuthorizationResultBasedEntityLoader';
5
- import EnforcingEntityLoader from '../EnforcingEntityLoader';
5
+ import { AuthorizationResultBasedEntityLoader } from '../AuthorizationResultBasedEntityLoader';
6
+ import { EnforcingEntityLoader } from '../EnforcingEntityLoader';
6
7
  import { CompositeFieldValueHolder } from '../internal/CompositeFieldHolder';
7
8
  import { CompositeFieldValueMap } from '../internal/CompositeFieldValueMap';
8
9
 
@@ -1,14 +1,16 @@
1
+ import { describe, expect, it } from '@jest/globals';
2
+
1
3
  import {
2
4
  AuthorizationResultBasedCreateMutator,
3
5
  AuthorizationResultBasedDeleteMutator,
4
6
  AuthorizationResultBasedUpdateMutator,
5
7
  } from '../AuthorizationResultBasedEntityMutator';
6
- import EnforcingEntityCreator from '../EnforcingEntityCreator';
7
- import EnforcingEntityDeleter from '../EnforcingEntityDeleter';
8
- import EnforcingEntityUpdater from '../EnforcingEntityUpdater';
9
- import Entity from '../Entity';
10
- import ViewerContext from '../ViewerContext';
11
- import SimpleTestEntity from '../utils/__testfixtures__/SimpleTestEntity';
8
+ import { EnforcingEntityCreator } from '../EnforcingEntityCreator';
9
+ import { EnforcingEntityDeleter } from '../EnforcingEntityDeleter';
10
+ import { EnforcingEntityUpdater } from '../EnforcingEntityUpdater';
11
+ import { Entity } from '../Entity';
12
+ import { ViewerContext } from '../ViewerContext';
13
+ import { SimpleTestEntity } from '../utils/__testfixtures__/SimpleTestEntity';
12
14
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
13
15
 
14
16
  describe(Entity, () => {
@@ -1,8 +1,10 @@
1
- import AuthorizationResultBasedEntityAssociationLoader from '../AuthorizationResultBasedEntityAssociationLoader';
2
- import EnforcingEntityAssociationLoader from '../EnforcingEntityAssociationLoader';
3
- import EntityAssociationLoader from '../EntityAssociationLoader';
4
- import ViewerContext from '../ViewerContext';
5
- import SimpleTestEntity from '../utils/__testfixtures__/SimpleTestEntity';
1
+ import { describe, expect, it } from '@jest/globals';
2
+
3
+ import { AuthorizationResultBasedEntityAssociationLoader } from '../AuthorizationResultBasedEntityAssociationLoader';
4
+ import { EnforcingEntityAssociationLoader } from '../EnforcingEntityAssociationLoader';
5
+ import { EntityAssociationLoader } from '../EntityAssociationLoader';
6
+ import { ViewerContext } from '../ViewerContext';
7
+ import { SimpleTestEntity } from '../utils/__testfixtures__/SimpleTestEntity';
6
8
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
7
9
 
8
10
  describe(EntityAssociationLoader, () => {
@@ -1,18 +1,19 @@
1
1
  import { enforceAsyncResult } from '@expo/results';
2
+ import { expect, it } from '@jest/globals';
2
3
  import { v4 as uuidv4 } from 'uuid';
3
4
 
4
- import Entity from '../Entity';
5
- import EntityCompanionProvider, { EntityCompanionDefinition } from '../EntityCompanionProvider';
6
- import EntityConfiguration from '../EntityConfiguration';
5
+ import { Entity } from '../Entity';
6
+ import { EntityCompanionDefinition, EntityCompanionProvider } from '../EntityCompanionProvider';
7
+ import { EntityConfiguration } from '../EntityConfiguration';
7
8
  import { UUIDField } from '../EntityFields';
8
- import EntityPrivacyPolicy, { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
9
+ import { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
9
10
  import { EntityQueryContext } from '../EntityQueryContext';
10
- import ViewerContext from '../ViewerContext';
11
+ import { ViewerContext } from '../ViewerContext';
11
12
  import { enforceResultsAsync } from '../entityUtils';
12
- import EntityNotAuthorizedError from '../errors/EntityNotAuthorizedError';
13
- import AlwaysAllowPrivacyPolicyRule from '../rules/AlwaysAllowPrivacyPolicyRule';
14
- import AlwaysDenyPrivacyPolicyRule from '../rules/AlwaysDenyPrivacyPolicyRule';
15
- import PrivacyPolicyRule, { RuleEvaluationResult } from '../rules/PrivacyPolicyRule';
13
+ import { EntityNotAuthorizedError } from '../errors/EntityNotAuthorizedError';
14
+ import { AlwaysAllowPrivacyPolicyRule } from '../rules/AlwaysAllowPrivacyPolicyRule';
15
+ import { AlwaysDenyPrivacyPolicyRule } from '../rules/AlwaysDenyPrivacyPolicyRule';
16
+ import { PrivacyPolicyRule, RuleEvaluationResult } from '../rules/PrivacyPolicyRule';
16
17
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
17
18
 
18
19
  class TestUserViewerContext extends ViewerContext {
@@ -1,17 +1,19 @@
1
+ import { describe, expect, it } from '@jest/globals';
1
2
  import { instance, mock, when } from 'ts-mockito';
2
3
 
3
- import EntityCompanion from '../EntityCompanion';
4
- import EntityCompanionProvider from '../EntityCompanionProvider';
5
- import EntityLoaderFactory from '../EntityLoaderFactory';
6
- import EntityMutationTriggerConfiguration from '../EntityMutationTriggerConfiguration';
7
- import EntityMutatorFactory from '../EntityMutatorFactory';
8
- import ViewerContext from '../ViewerContext';
9
- import EntityTableDataCoordinator from '../internal/EntityTableDataCoordinator';
10
- import IEntityMetricsAdapter from '../metrics/IEntityMetricsAdapter';
11
- import NoOpEntityMetricsAdapter from '../metrics/NoOpEntityMetricsAdapter';
12
- import TestEntityWithMutationTriggers, {
13
- TestMTFields,
4
+ import { EntityCompanion } from '../EntityCompanion';
5
+ import { EntityCompanionProvider } from '../EntityCompanionProvider';
6
+ import { EntityLoaderFactory } from '../EntityLoaderFactory';
7
+ import { EntityMutationTriggerConfiguration } from '../EntityMutationTriggerConfiguration';
8
+ import { EntityMutatorFactory } from '../EntityMutatorFactory';
9
+ import { ViewerContext } from '../ViewerContext';
10
+ import { EntityTableDataCoordinator } from '../internal/EntityTableDataCoordinator';
11
+ import { IEntityMetricsAdapter } from '../metrics/IEntityMetricsAdapter';
12
+ import { NoOpEntityMetricsAdapter } from '../metrics/NoOpEntityMetricsAdapter';
13
+ import {
14
14
  testEntityMTConfiguration,
15
+ TestEntityWithMutationTriggers,
16
+ TestMTFields,
15
17
  TestMutationTrigger,
16
18
  } from '../utils/__testfixtures__/TestEntityWithMutationTriggers';
17
19
 
@@ -1,9 +1,11 @@
1
- import Entity from '../Entity';
2
- import EntityCompanionProvider, { EntityCompanionDefinition } from '../EntityCompanionProvider';
3
- import EntityConfiguration from '../EntityConfiguration';
1
+ import { describe, expect, it } from '@jest/globals';
2
+
3
+ import { Entity } from '../Entity';
4
+ import { EntityCompanionDefinition, EntityCompanionProvider } from '../EntityCompanionProvider';
5
+ import { EntityConfiguration } from '../EntityConfiguration';
4
6
  import { StringField } from '../EntityFields';
5
- import EntityPrivacyPolicy from '../EntityPrivacyPolicy';
6
- import ViewerContext from '../ViewerContext';
7
+ import { EntityPrivacyPolicy } from '../EntityPrivacyPolicy';
8
+ import { ViewerContext } from '../ViewerContext';
7
9
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
8
10
 
9
11
  type BlahFields = {
@@ -1,4 +1,6 @@
1
- import EntityConfiguration from '../EntityConfiguration';
1
+ import { describe, expect, it, test } from '@jest/globals';
2
+
3
+ import { EntityConfiguration } from '../EntityConfiguration';
2
4
  import { StringField, UUIDField } from '../EntityFields';
3
5
  import { CompositeFieldHolder } from '../internal/CompositeFieldHolder';
4
6
 
@@ -1,8 +1,10 @@
1
+ import { describe, expect, it } from '@jest/globals';
1
2
  import { instance, mock } from 'ts-mockito';
2
3
 
3
- import EntityDatabaseAdapter, {
4
- TableFieldSingleValueEqualityCondition,
4
+ import {
5
+ EntityDatabaseAdapter,
5
6
  TableFieldMultiValueEqualityCondition,
7
+ TableFieldSingleValueEqualityCondition,
6
8
  } from '../EntityDatabaseAdapter';
7
9
  import { EntityQueryContext } from '../EntityQueryContext';
8
10
  import { CompositeFieldHolder, CompositeFieldValueHolder } from '../internal/CompositeFieldHolder';
@@ -261,7 +263,7 @@ describe(EntityDatabaseAdapter, () => {
261
263
  it('throws when insert result count zero', async () => {
262
264
  const queryContext = instance(mock(EntityQueryContext));
263
265
  const adapter = new TestEntityDatabaseAdapter({ insertResults: [] });
264
- await expect(adapter.insertAsync(queryContext, {} as any)).rejects.toThrowError(
266
+ await expect(adapter.insertAsync(queryContext, {} as any)).rejects.toThrow(
265
267
  'Empty results from database adapter insert',
266
268
  );
267
269
  });
@@ -271,7 +273,7 @@ describe(EntityDatabaseAdapter, () => {
271
273
  const adapter = new TestEntityDatabaseAdapter({
272
274
  insertResults: [{ string_field: 'hello' }, { string_field: 'hello2' }],
273
275
  });
274
- await expect(adapter.insertAsync(queryContext, {} as any)).rejects.toThrowError(
276
+ await expect(adapter.insertAsync(queryContext, {} as any)).rejects.toThrow(
275
277
  'Excessive results from database adapter insert',
276
278
  );
277
279
  });
@@ -290,7 +292,7 @@ describe(EntityDatabaseAdapter, () => {
290
292
  const adapter = new TestEntityDatabaseAdapter({ updateResults: [] });
291
293
  await expect(
292
294
  adapter.updateAsync(queryContext, 'customIdField', 'wat', {} as any),
293
- ).rejects.toThrowError('Empty results from database adapter update');
295
+ ).rejects.toThrow('Empty results from database adapter update');
294
296
  });
295
297
 
296
298
  it('throws when update result count greater than 1', async () => {
@@ -300,7 +302,7 @@ describe(EntityDatabaseAdapter, () => {
300
302
  });
301
303
  await expect(
302
304
  adapter.updateAsync(queryContext, 'customIdField', 'wat', {} as any),
303
- ).rejects.toThrowError('Excessive results from database adapter update');
305
+ ).rejects.toThrow('Excessive results from database adapter update');
304
306
  });
305
307
  });
306
308
 
@@ -308,7 +310,7 @@ describe(EntityDatabaseAdapter, () => {
308
310
  it('throws when update result count greater than 1', async () => {
309
311
  const queryContext = instance(mock(EntityQueryContext));
310
312
  const adapter = new TestEntityDatabaseAdapter({ deleteCount: 2 });
311
- await expect(adapter.deleteAsync(queryContext, 'customIdField', 'wat')).rejects.toThrowError(
313
+ await expect(adapter.deleteAsync(queryContext, 'customIdField', 'wat')).rejects.toThrow(
312
314
  'Excessive deletions from database adapter delet',
313
315
  );
314
316
  });
@@ -1,22 +1,24 @@
1
+ import { describe, expect, it } from '@jest/globals';
1
2
  import invariant from 'invariant';
2
3
 
3
- import Entity from '../Entity';
4
+ import { Entity } from '../Entity';
4
5
  import { EntityCompanionDefinition } from '../EntityCompanionProvider';
5
- import EntityConfiguration from '../EntityConfiguration';
6
+ import { EntityConfiguration } from '../EntityConfiguration';
6
7
  import { EntityEdgeDeletionBehavior } from '../EntityFieldDefinition';
7
8
  import { UUIDField } from '../EntityFields';
8
- import { EntityTriggerMutationInfo, EntityMutationType } from '../EntityMutationInfo';
9
+ import { EntityMutationType, EntityTriggerMutationInfo } from '../EntityMutationInfo';
9
10
  import { EntityMutationTrigger } from '../EntityMutationTriggerConfiguration';
10
- import EntityPrivacyPolicy, {
11
- EntityPrivacyPolicyEvaluationContext,
11
+ import {
12
12
  EntityAuthorizationAction,
13
+ EntityPrivacyPolicy,
14
+ EntityPrivacyPolicyEvaluationContext,
13
15
  } from '../EntityPrivacyPolicy';
14
- import { EntityTransactionalQueryContext, EntityQueryContext } from '../EntityQueryContext';
16
+ import { EntityQueryContext, EntityTransactionalQueryContext } from '../EntityQueryContext';
15
17
  import { CacheStatus } from '../internal/ReadThroughEntityCache';
16
18
  import { SingleFieldHolder, SingleFieldValueHolder } from '../internal/SingleFieldHolder';
17
- import PrivacyPolicyRule, { RuleEvaluationResult } from '../rules/PrivacyPolicyRule';
19
+ import { PrivacyPolicyRule, RuleEvaluationResult } from '../rules/PrivacyPolicyRule';
18
20
  import { InMemoryFullCacheStubCacheAdapter } from '../utils/__testfixtures__/StubCacheAdapter';
19
- import TestViewerContext from '../utils/__testfixtures__/TestViewerContext';
21
+ import { TestViewerContext } from '../utils/__testfixtures__/TestViewerContext';
20
22
  import { createUnitTestEntityCompanionProvider } from '../utils/__testfixtures__/createUnitTestEntityCompanionProvider';
21
23
 
22
24
  interface OtherFields {