@expo/entity 0.44.0 → 0.46.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 (614) 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} +10 -5
  6. package/build/src/AuthorizationResultBasedEntityLoader.js.map +1 -0
  7. package/build/{AuthorizationResultBasedEntityMutator.d.ts → src/AuthorizationResultBasedEntityMutator.d.ts} +11 -11
  8. package/build/{AuthorizationResultBasedEntityMutator.js → src/AuthorizationResultBasedEntityMutator.js} +2 -2
  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} +4 -6
  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/src/EntityFields.js.map +1 -0
  58. package/build/{EntityLoader.d.ts → src/EntityLoader.d.ts} +7 -7
  59. package/build/{EntityLoader.js → src/EntityLoader.js} +4 -6
  60. package/build/{EntityLoader.js.map → src/EntityLoader.js.map} +1 -1
  61. package/build/{EntityLoaderFactory.d.ts → src/EntityLoaderFactory.d.ts} +8 -8
  62. package/build/src/EntityLoaderFactory.js +29 -0
  63. package/build/src/EntityLoaderFactory.js.map +1 -0
  64. package/build/{EntityLoaderUtils.d.ts → src/EntityLoaderUtils.d.ts} +7 -7
  65. package/build/{EntityLoaderUtils.js → src/EntityLoaderUtils.js} +2 -1
  66. package/build/src/EntityLoaderUtils.js.map +1 -0
  67. package/build/{EntityMutationInfo.d.ts → src/EntityMutationInfo.d.ts} +2 -2
  68. package/build/src/EntityMutationInfo.js.map +1 -0
  69. package/build/{EntityMutationTriggerConfiguration.d.ts → src/EntityMutationTriggerConfiguration.d.ts} +3 -3
  70. package/build/src/EntityMutationTriggerConfiguration.js.map +1 -0
  71. package/build/{EntityMutationValidator.d.ts → src/EntityMutationValidator.d.ts} +3 -3
  72. package/build/{EntityMutationValidator.js → src/EntityMutationValidator.js} +2 -1
  73. package/build/src/EntityMutationValidator.js.map +1 -0
  74. package/build/{EntityMutatorFactory.d.ts → src/EntityMutatorFactory.d.ts} +12 -12
  75. package/build/{EntityMutatorFactory.js → src/EntityMutatorFactory.js} +2 -1
  76. package/build/src/EntityMutatorFactory.js.map +1 -0
  77. package/build/{EntityPrivacyPolicy.d.ts → src/EntityPrivacyPolicy.d.ts} +6 -6
  78. package/build/{EntityPrivacyPolicy.js → src/EntityPrivacyPolicy.js} +8 -11
  79. package/build/{EntityPrivacyPolicy.js.map → src/EntityPrivacyPolicy.js.map} +1 -1
  80. package/build/{EntityQueryContext.d.ts → src/EntityQueryContext.d.ts} +1 -1
  81. package/build/src/EntityQueryContext.js.map +1 -0
  82. package/build/{EntityQueryContextProvider.d.ts → src/EntityQueryContextProvider.d.ts} +2 -2
  83. package/build/{EntityQueryContextProvider.js → src/EntityQueryContextProvider.js} +2 -1
  84. package/build/src/EntityQueryContextProvider.js.map +1 -0
  85. package/build/{EntitySecondaryCacheLoader.d.ts → src/EntitySecondaryCacheLoader.d.ts} +5 -5
  86. package/build/{EntitySecondaryCacheLoader.js → src/EntitySecondaryCacheLoader.js} +2 -1
  87. package/build/src/EntitySecondaryCacheLoader.js.map +1 -0
  88. package/build/{EntityUpdater.d.ts → src/EntityUpdater.d.ts} +5 -5
  89. package/build/{EntityUpdater.js → src/EntityUpdater.js} +4 -6
  90. package/build/{EntityUpdater.js.map → src/EntityUpdater.js.map} +1 -1
  91. package/build/{GenericEntityCacheAdapter.d.ts → src/GenericEntityCacheAdapter.d.ts} +3 -3
  92. package/build/{GenericEntityCacheAdapter.js → src/GenericEntityCacheAdapter.js} +2 -1
  93. package/build/src/GenericEntityCacheAdapter.js.map +1 -0
  94. package/build/{GenericSecondaryEntityCache.d.ts → src/GenericSecondaryEntityCache.d.ts} +2 -2
  95. package/build/{GenericSecondaryEntityCache.js → src/GenericSecondaryEntityCache.js} +2 -1
  96. package/build/src/GenericSecondaryEntityCache.js.map +1 -0
  97. package/build/{IEntityCacheAdapter.d.ts → src/IEntityCacheAdapter.d.ts} +1 -1
  98. package/build/src/IEntityCacheAdapter.js.map +1 -0
  99. package/build/{IEntityCacheAdapterProvider.d.ts → src/IEntityCacheAdapterProvider.d.ts} +3 -3
  100. package/build/src/IEntityCacheAdapterProvider.js.map +1 -0
  101. package/build/{IEntityDatabaseAdapterProvider.d.ts → src/IEntityDatabaseAdapterProvider.d.ts} +3 -3
  102. package/build/src/IEntityDatabaseAdapterProvider.js.map +1 -0
  103. package/build/{IEntityGenericCacher.d.ts → src/IEntityGenericCacher.d.ts} +1 -1
  104. package/build/src/IEntityGenericCacher.js.map +1 -0
  105. package/build/{ReadonlyEntity.d.ts → src/ReadonlyEntity.d.ts} +8 -8
  106. package/build/{ReadonlyEntity.js → src/ReadonlyEntity.js} +9 -8
  107. package/build/src/ReadonlyEntity.js.map +1 -0
  108. package/build/{ViewerContext.d.ts → src/ViewerContext.d.ts} +5 -5
  109. package/build/{ViewerContext.js → src/ViewerContext.js} +4 -6
  110. package/build/{ViewerContext.js.map → src/ViewerContext.js.map} +1 -1
  111. package/build/{ViewerScopedEntityCompanion.d.ts → src/ViewerScopedEntityCompanion.d.ts} +9 -9
  112. package/build/{ViewerScopedEntityCompanion.js → src/ViewerScopedEntityCompanion.js} +6 -8
  113. package/build/{ViewerScopedEntityCompanion.js.map → src/ViewerScopedEntityCompanion.js.map} +1 -1
  114. package/build/{ViewerScopedEntityCompanionProvider.d.ts → src/ViewerScopedEntityCompanionProvider.d.ts} +6 -6
  115. package/build/{ViewerScopedEntityCompanionProvider.js → src/ViewerScopedEntityCompanionProvider.js} +4 -6
  116. package/build/src/ViewerScopedEntityCompanionProvider.js.map +1 -0
  117. package/build/{ViewerScopedEntityLoaderFactory.d.ts → src/ViewerScopedEntityLoaderFactory.d.ts} +6 -6
  118. package/build/{ViewerScopedEntityLoaderFactory.js → src/ViewerScopedEntityLoaderFactory.js} +2 -1
  119. package/build/src/ViewerScopedEntityLoaderFactory.js.map +1 -0
  120. package/build/{ViewerScopedEntityMutatorFactory.d.ts → src/ViewerScopedEntityMutatorFactory.d.ts} +6 -6
  121. package/build/{ViewerScopedEntityMutatorFactory.js → src/ViewerScopedEntityMutatorFactory.js} +2 -1
  122. package/build/src/ViewerScopedEntityMutatorFactory.js.map +1 -0
  123. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +1 -0
  124. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +240 -0
  125. package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +1 -0
  126. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +26 -0
  127. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +109 -0
  128. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +1 -0
  129. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +1 -0
  130. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js +590 -0
  131. package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +1 -0
  132. package/build/src/__tests__/ComposedCacheAdapter-test.d.ts +1 -0
  133. package/build/src/__tests__/ComposedCacheAdapter-test.js +259 -0
  134. package/build/src/__tests__/ComposedCacheAdapter-test.js.map +1 -0
  135. package/build/src/__tests__/ComposedSecondaryEntityCache-test.d.ts +1 -0
  136. package/build/src/__tests__/ComposedSecondaryEntityCache-test.js +67 -0
  137. package/build/src/__tests__/ComposedSecondaryEntityCache-test.js.map +1 -0
  138. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.d.ts +1 -0
  139. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js +113 -0
  140. package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js.map +1 -0
  141. package/build/src/__tests__/EnforcingEntityLoader-test.d.ts +1 -0
  142. package/build/src/__tests__/EnforcingEntityLoader-test.js +316 -0
  143. package/build/src/__tests__/EnforcingEntityLoader-test.js.map +1 -0
  144. package/build/src/__tests__/Entity-test.d.ts +1 -0
  145. package/build/src/__tests__/Entity-test.js +92 -0
  146. package/build/src/__tests__/Entity-test.js.map +1 -0
  147. package/build/src/__tests__/EntityAssociationLoader-test.d.ts +1 -0
  148. package/build/src/__tests__/EntityAssociationLoader-test.js +28 -0
  149. package/build/src/__tests__/EntityAssociationLoader-test.js.map +1 -0
  150. package/build/src/__tests__/EntityCommonUseCases-test.d.ts +1 -0
  151. package/build/src/__tests__/EntityCommonUseCases-test.js +111 -0
  152. package/build/src/__tests__/EntityCommonUseCases-test.js.map +1 -0
  153. package/build/src/__tests__/EntityCompanion-test.d.ts +1 -0
  154. package/build/src/__tests__/EntityCompanion-test.js +42 -0
  155. package/build/src/__tests__/EntityCompanion-test.js.map +1 -0
  156. package/build/src/__tests__/EntityCompanionProvider-test.d.ts +1 -0
  157. package/build/src/__tests__/EntityCompanionProvider-test.js +53 -0
  158. package/build/src/__tests__/EntityCompanionProvider-test.js.map +1 -0
  159. package/build/src/__tests__/EntityConfiguration-test.d.ts +1 -0
  160. package/build/src/__tests__/EntityConfiguration-test.js +164 -0
  161. package/build/src/__tests__/EntityConfiguration-test.js.map +1 -0
  162. package/build/src/__tests__/EntityDatabaseAdapter-test.d.ts +1 -0
  163. package/build/src/__tests__/EntityDatabaseAdapter-test.js +189 -0
  164. package/build/src/__tests__/EntityDatabaseAdapter-test.js.map +1 -0
  165. package/build/src/__tests__/EntityEdges-test.d.ts +1 -0
  166. package/build/src/__tests__/EntityEdges-test.js +680 -0
  167. package/build/src/__tests__/EntityEdges-test.js.map +1 -0
  168. package/build/src/__tests__/EntityFields-test.d.ts +1 -0
  169. package/build/src/__tests__/EntityFields-test.js +61 -0
  170. package/build/src/__tests__/EntityFields-test.js.map +1 -0
  171. package/build/src/__tests__/EntityLoader-test.d.ts +1 -0
  172. package/build/src/__tests__/EntityLoader-test.js +34 -0
  173. package/build/src/__tests__/EntityLoader-test.js.map +1 -0
  174. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
  175. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js +71 -0
  176. package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
  177. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.d.ts +1 -0
  178. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js +54 -0
  179. package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js.map +1 -0
  180. package/build/src/__tests__/EntityMutator-test.d.ts +1 -0
  181. package/build/src/__tests__/EntityMutator-test.js +721 -0
  182. package/build/src/__tests__/EntityMutator-test.js.map +1 -0
  183. package/build/src/__tests__/EntityPrivacyPolicy-test.d.ts +1 -0
  184. package/build/src/__tests__/EntityPrivacyPolicy-test.js +429 -0
  185. package/build/src/__tests__/EntityPrivacyPolicy-test.js.map +1 -0
  186. package/build/src/__tests__/EntityQueryContext-test.d.ts +1 -0
  187. package/build/src/__tests__/EntityQueryContext-test.js +181 -0
  188. package/build/src/__tests__/EntityQueryContext-test.js.map +1 -0
  189. package/build/src/__tests__/EntitySecondaryCacheLoader-test.d.ts +1 -0
  190. package/build/src/__tests__/EntitySecondaryCacheLoader-test.js +58 -0
  191. package/build/src/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -0
  192. package/build/src/__tests__/EntitySelfReferentialEdges-test.d.ts +1 -0
  193. package/build/src/__tests__/EntitySelfReferentialEdges-test.js +196 -0
  194. package/build/src/__tests__/EntitySelfReferentialEdges-test.js.map +1 -0
  195. package/build/src/__tests__/GenericEntityCacheAdapter-test.d.ts +1 -0
  196. package/build/src/__tests__/GenericEntityCacheAdapter-test.js +95 -0
  197. package/build/src/__tests__/GenericEntityCacheAdapter-test.js.map +1 -0
  198. package/build/src/__tests__/ReadonlyEntity-test.d.ts +1 -0
  199. package/build/src/__tests__/ReadonlyEntity-test.js +209 -0
  200. package/build/src/__tests__/ReadonlyEntity-test.js.map +1 -0
  201. package/build/src/__tests__/ViewerContext-test.d.ts +1 -0
  202. package/build/src/__tests__/ViewerContext-test.js +28 -0
  203. package/build/src/__tests__/ViewerContext-test.js.map +1 -0
  204. package/build/src/__tests__/ViewerScopedEntityCompanion-test.d.ts +1 -0
  205. package/build/src/__tests__/ViewerScopedEntityCompanion-test.js +18 -0
  206. package/build/src/__tests__/ViewerScopedEntityCompanion-test.js.map +1 -0
  207. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +1 -0
  208. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js +18 -0
  209. package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -0
  210. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +1 -0
  211. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js +21 -0
  212. package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -0
  213. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +1 -0
  214. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js +20 -0
  215. package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -0
  216. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +1 -0
  217. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +121 -0
  218. package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -0
  219. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +1 -0
  220. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +119 -0
  221. package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -0
  222. package/build/src/__tests__/entityUtils-test.d.ts +1 -0
  223. package/build/src/__tests__/entityUtils-test.js +88 -0
  224. package/build/src/__tests__/entityUtils-test.js.map +1 -0
  225. package/build/src/entityUtils.js.map +1 -0
  226. package/build/{errors → src/errors}/EntityCacheAdapterError.d.ts +2 -2
  227. package/build/src/errors/EntityCacheAdapterError.js +13 -0
  228. package/build/src/errors/EntityCacheAdapterError.js.map +1 -0
  229. package/build/{errors → src/errors}/EntityDatabaseAdapterError.d.ts +2 -2
  230. package/build/{errors → src/errors}/EntityDatabaseAdapterError.js +4 -37
  231. package/build/src/errors/EntityDatabaseAdapterError.js.map +1 -0
  232. package/build/{errors → src/errors}/EntityError.d.ts +1 -1
  233. package/build/{errors → src/errors}/EntityError.js +2 -2
  234. package/build/src/errors/EntityError.js.map +1 -0
  235. package/build/{errors → src/errors}/EntityInvalidFieldValueError.d.ts +5 -5
  236. package/build/src/errors/EntityInvalidFieldValueError.js +13 -0
  237. package/build/src/errors/EntityInvalidFieldValueError.js.map +1 -0
  238. package/build/{errors → src/errors}/EntityNotAuthorizedError.d.ts +4 -4
  239. package/build/src/errors/EntityNotAuthorizedError.js +16 -0
  240. package/build/src/errors/EntityNotAuthorizedError.js.map +1 -0
  241. package/build/src/errors/EntityNotFoundError.d.ts +17 -0
  242. package/build/src/errors/EntityNotFoundError.js +18 -0
  243. package/build/src/errors/EntityNotFoundError.js.map +1 -0
  244. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.d.ts +1 -0
  245. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js +21 -0
  246. package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js.map +1 -0
  247. package/build/src/index.d.ts +76 -0
  248. package/build/src/index.js +94 -0
  249. package/build/src/index.js.map +1 -0
  250. package/build/{internal → src/internal}/CompositeFieldHolder.d.ts +1 -1
  251. package/build/src/internal/CompositeFieldHolder.js.map +1 -0
  252. package/build/src/internal/CompositeFieldValueMap.js.map +1 -0
  253. package/build/{internal → src/internal}/EntityDataManager.d.ts +5 -5
  254. package/build/{internal → src/internal}/EntityDataManager.js +2 -1
  255. package/build/src/internal/EntityDataManager.js.map +1 -0
  256. package/build/{internal → src/internal}/EntityFieldTransformationUtils.d.ts +1 -1
  257. package/build/src/internal/EntityFieldTransformationUtils.js.map +1 -0
  258. package/build/{internal → src/internal}/EntityLoadInterfaces.d.ts +1 -1
  259. package/build/src/internal/EntityLoadInterfaces.js.map +1 -0
  260. package/build/{internal → src/internal}/EntityTableDataCoordinator.d.ts +9 -9
  261. package/build/{internal → src/internal}/EntityTableDataCoordinator.js +5 -7
  262. package/build/{internal → src/internal}/EntityTableDataCoordinator.js.map +1 -1
  263. package/build/{internal → src/internal}/ReadThroughEntityCache.d.ts +3 -3
  264. package/build/{internal → src/internal}/ReadThroughEntityCache.js +2 -2
  265. package/build/src/internal/ReadThroughEntityCache.js.map +1 -0
  266. package/build/{internal → src/internal}/SingleFieldHolder.d.ts +1 -1
  267. package/build/src/internal/SingleFieldHolder.js.map +1 -0
  268. package/build/src/internal/__tests__/CompositeFieldHolder-test.d.ts +1 -0
  269. package/build/src/internal/__tests__/CompositeFieldHolder-test.js +25 -0
  270. package/build/src/internal/__tests__/CompositeFieldHolder-test.js.map +1 -0
  271. package/build/src/internal/__tests__/CompositeFieldValueMap-test.d.ts +1 -0
  272. package/build/src/internal/__tests__/CompositeFieldValueMap-test.js +40 -0
  273. package/build/src/internal/__tests__/CompositeFieldValueMap-test.js.map +1 -0
  274. package/build/src/internal/__tests__/EntityDataManager-test.d.ts +1 -0
  275. package/build/src/internal/__tests__/EntityDataManager-test.js +666 -0
  276. package/build/src/internal/__tests__/EntityDataManager-test.js.map +1 -0
  277. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +1 -0
  278. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js +135 -0
  279. package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -0
  280. package/build/src/internal/__tests__/ReadThroughEntityCache-test.d.ts +1 -0
  281. package/build/src/internal/__tests__/ReadThroughEntityCache-test.js +217 -0
  282. package/build/src/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -0
  283. package/build/{metrics → src/metrics}/EntityMetricsUtils.d.ts +1 -1
  284. package/build/src/metrics/EntityMetricsUtils.js.map +1 -0
  285. package/build/{metrics → src/metrics}/IEntityMetricsAdapter.d.ts +1 -1
  286. package/build/src/metrics/IEntityMetricsAdapter.js.map +1 -0
  287. package/build/{metrics → src/metrics}/NoOpEntityMetricsAdapter.d.ts +2 -2
  288. package/build/{metrics → src/metrics}/NoOpEntityMetricsAdapter.js +2 -1
  289. package/build/src/metrics/NoOpEntityMetricsAdapter.js.map +1 -0
  290. package/build/{rules → src/rules}/AlwaysAllowPrivacyPolicyRule.d.ts +4 -4
  291. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js +14 -0
  292. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -0
  293. package/build/{rules → src/rules}/AlwaysDenyPrivacyPolicyRule.d.ts +4 -4
  294. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js +14 -0
  295. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -0
  296. package/build/{rules → src/rules}/AlwaysSkipPrivacyPolicyRule.d.ts +4 -4
  297. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js +14 -0
  298. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -0
  299. package/build/{rules → src/rules}/PrivacyPolicyRule.d.ts +3 -3
  300. package/build/{rules → src/rules}/PrivacyPolicyRule.js +2 -2
  301. package/build/src/rules/PrivacyPolicyRule.js.map +1 -0
  302. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +1 -0
  303. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +18 -0
  304. package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -0
  305. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +1 -0
  306. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +18 -0
  307. package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -0
  308. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +1 -0
  309. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +18 -0
  310. package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -0
  311. package/build/src/utils/EntityCreationUtils.d.ts +14 -0
  312. package/build/src/utils/EntityCreationUtils.js +54 -0
  313. package/build/src/utils/EntityCreationUtils.js.map +1 -0
  314. package/build/{utils → src/utils}/EntityPrivacyUtils.d.ts +4 -4
  315. package/build/{utils → src/utils}/EntityPrivacyUtils.js +4 -7
  316. package/build/{utils → src/utils}/EntityPrivacyUtils.js.map +1 -1
  317. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.d.ts +28 -0
  318. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js +53 -0
  319. package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js.map +1 -0
  320. package/build/src/utils/__testfixtures__/SimpleTestEntity.d.ts +20 -0
  321. package/build/src/utils/__testfixtures__/SimpleTestEntity.js +46 -0
  322. package/build/src/utils/__testfixtures__/SimpleTestEntity.js.map +1 -0
  323. package/build/src/utils/__testfixtures__/StubCacheAdapter.d.ts +29 -0
  324. package/build/src/utils/__testfixtures__/StubCacheAdapter.js +103 -0
  325. package/build/src/utils/__testfixtures__/StubCacheAdapter.js.map +1 -0
  326. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.d.ts +26 -0
  327. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js +173 -0
  328. package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js.map +1 -0
  329. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.d.ts +7 -0
  330. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js +12 -0
  331. package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js.map +1 -0
  332. package/build/src/utils/__testfixtures__/StubQueryContextProvider.d.ts +7 -0
  333. package/build/src/utils/__testfixtures__/StubQueryContextProvider.js +17 -0
  334. package/build/src/utils/__testfixtures__/StubQueryContextProvider.js.map +1 -0
  335. package/build/src/utils/__testfixtures__/TSMockitoExtensions.d.ts +9 -0
  336. package/build/src/utils/__testfixtures__/TSMockitoExtensions.js +65 -0
  337. package/build/src/utils/__testfixtures__/TSMockitoExtensions.js.map +1 -0
  338. package/build/src/utils/__testfixtures__/TestEntity.d.ts +30 -0
  339. package/build/src/utils/__testfixtures__/TestEntity.js +96 -0
  340. package/build/src/utils/__testfixtures__/TestEntity.js.map +1 -0
  341. package/build/src/utils/__testfixtures__/TestEntity2.d.ts +20 -0
  342. package/build/src/utils/__testfixtures__/TestEntity2.js +49 -0
  343. package/build/src/utils/__testfixtures__/TestEntity2.js.map +1 -0
  344. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.d.ts +36 -0
  345. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js +80 -0
  346. package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js.map +1 -0
  347. package/build/src/utils/__testfixtures__/TestViewerContext.d.ts +3 -0
  348. package/build/src/utils/__testfixtures__/TestViewerContext.js +8 -0
  349. package/build/src/utils/__testfixtures__/TestViewerContext.js.map +1 -0
  350. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.d.ts +7 -0
  351. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js +33 -0
  352. package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js.map +1 -0
  353. package/build/src/utils/__testfixtures__/describeFieldTestCase.d.ts +2 -0
  354. package/build/src/utils/__testfixtures__/describeFieldTestCase.js +19 -0
  355. package/build/src/utils/__testfixtures__/describeFieldTestCase.js.map +1 -0
  356. package/build/src/utils/__tests__/EntityCreationUtils-test.d.ts +1 -0
  357. package/build/src/utils/__tests__/EntityCreationUtils-test.js +144 -0
  358. package/build/src/utils/__tests__/EntityCreationUtils-test.js.map +1 -0
  359. package/build/src/utils/__tests__/EntityPrivacyUtils-test.d.ts +1 -0
  360. package/build/src/utils/__tests__/EntityPrivacyUtils-test.js +460 -0
  361. package/build/src/utils/__tests__/EntityPrivacyUtils-test.js.map +1 -0
  362. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +1 -0
  363. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +180 -0
  364. package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +1 -0
  365. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +1 -0
  366. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +27 -0
  367. package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +1 -0
  368. package/build/src/utils/collections/SerializableKeyMap.js.map +1 -0
  369. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.d.ts +5 -0
  370. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js +99 -0
  371. package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js.map +1 -0
  372. package/build/src/utils/collections/__tests__/maps-test.d.ts +1 -0
  373. package/build/src/utils/collections/__tests__/maps-test.js +121 -0
  374. package/build/src/utils/collections/__tests__/maps-test.js.map +1 -0
  375. package/build/src/utils/collections/__tests__/sets-test.d.ts +1 -0
  376. package/build/src/utils/collections/__tests__/sets-test.js +19 -0
  377. package/build/src/utils/collections/__tests__/sets-test.js.map +1 -0
  378. package/build/src/utils/collections/maps.js.map +1 -0
  379. package/build/src/utils/collections/sets.js.map +1 -0
  380. package/build/{utils → src/utils}/mergeEntityMutationTriggerConfigurations.d.ts +3 -3
  381. package/build/src/utils/mergeEntityMutationTriggerConfigurations.js.map +1 -0
  382. package/build/tsconfig.tsbuildinfo +1 -0
  383. package/package.json +11 -23
  384. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +4 -4
  385. package/src/AuthorizationResultBasedEntityLoader.ts +20 -13
  386. package/src/AuthorizationResultBasedEntityMutator.ts +15 -14
  387. package/src/ComposedEntityCacheAdapter.ts +3 -3
  388. package/src/ComposedSecondaryEntityCache.ts +1 -1
  389. package/src/EnforcingEntityAssociationLoader.ts +6 -5
  390. package/src/EnforcingEntityCreator.ts +4 -4
  391. package/src/EnforcingEntityDeleter.ts +4 -4
  392. package/src/EnforcingEntityLoader.ts +5 -5
  393. package/src/EnforcingEntityUpdater.ts +4 -4
  394. package/src/Entity.ts +10 -10
  395. package/src/EntityAssociationLoader.ts +5 -5
  396. package/src/EntityCompanion.ts +10 -10
  397. package/src/EntityCompanionProvider.ts +13 -13
  398. package/src/EntityConfiguration.ts +3 -3
  399. package/src/EntityCreator.ts +5 -5
  400. package/src/EntityDatabaseAdapter.ts +3 -3
  401. package/src/EntityDeleter.ts +5 -5
  402. package/src/EntityFieldDefinition.ts +3 -3
  403. package/src/EntityLoader.ts +7 -7
  404. package/src/EntityLoaderFactory.ts +9 -9
  405. package/src/EntityLoaderUtils.ts +7 -7
  406. package/src/EntityMutationInfo.ts +2 -2
  407. package/src/EntityMutationTriggerConfiguration.ts +3 -3
  408. package/src/EntityMutationValidator.ts +3 -3
  409. package/src/EntityMutatorFactory.ts +12 -12
  410. package/src/EntityPrivacyPolicy.ts +7 -6
  411. package/src/EntityQueryContext.ts +1 -1
  412. package/src/EntityQueryContextProvider.ts +3 -3
  413. package/src/EntitySecondaryCacheLoader.ts +5 -5
  414. package/src/EntityUpdater.ts +5 -5
  415. package/src/GenericEntityCacheAdapter.ts +3 -3
  416. package/src/GenericSecondaryEntityCache.ts +2 -2
  417. package/src/IEntityCacheAdapter.ts +1 -1
  418. package/src/IEntityCacheAdapterProvider.ts +3 -3
  419. package/src/IEntityDatabaseAdapterProvider.ts +3 -3
  420. package/src/IEntityGenericCacher.ts +1 -1
  421. package/src/ReadonlyEntity.ts +10 -10
  422. package/src/ViewerContext.ts +6 -6
  423. package/src/ViewerScopedEntityCompanion.ts +9 -9
  424. package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
  425. package/src/ViewerScopedEntityLoaderFactory.ts +6 -6
  426. package/src/ViewerScopedEntityMutatorFactory.ts +6 -6
  427. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +5 -4
  428. package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -18
  429. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +18 -16
  430. package/src/__tests__/ComposedCacheAdapter-test.ts +5 -3
  431. package/src/__tests__/ComposedSecondaryEntityCache-test.ts +2 -1
  432. package/src/__tests__/EnforcingEntityAssociationLoader-test.ts +4 -3
  433. package/src/__tests__/EnforcingEntityLoader-test.ts +4 -3
  434. package/src/__tests__/Entity-test.ts +8 -6
  435. package/src/__tests__/EntityAssociationLoader-test.ts +7 -5
  436. package/src/__tests__/EntityCommonUseCases-test.ts +10 -9
  437. package/src/__tests__/EntityCompanion-test.ts +13 -11
  438. package/src/__tests__/EntityCompanionProvider-test.ts +7 -5
  439. package/src/__tests__/EntityConfiguration-test.ts +3 -1
  440. package/src/__tests__/EntityDatabaseAdapter-test.ts +9 -7
  441. package/src/__tests__/EntityEdges-test.ts +10 -8
  442. package/src/__tests__/EntityFields-test.ts +8 -7
  443. package/src/__tests__/EntityLoader-test.ts +8 -6
  444. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +8 -6
  445. package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +5 -3
  446. package/src/__tests__/EntityMutator-test.ts +33 -29
  447. package/src/__tests__/EntityPrivacyPolicy-test.ts +19 -16
  448. package/src/__tests__/EntityQueryContext-test.ts +7 -6
  449. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +5 -3
  450. package/src/__tests__/EntitySelfReferentialEdges-test.ts +7 -5
  451. package/src/__tests__/GenericEntityCacheAdapter-test.ts +4 -3
  452. package/src/__tests__/ReadonlyEntity-test.ts +10 -9
  453. package/src/__tests__/ViewerContext-test.ts +3 -1
  454. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +10 -8
  455. package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +7 -6
  456. package/src/__tests__/ViewerScopedEntityLoaderFactory-test.ts +5 -4
  457. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +8 -6
  458. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +15 -13
  459. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +7 -5
  460. package/src/__tests__/entityUtils-test.ts +3 -2
  461. package/src/errors/EntityCacheAdapterError.ts +2 -2
  462. package/src/errors/EntityDatabaseAdapterError.ts +2 -2
  463. package/src/errors/EntityError.ts +1 -1
  464. package/src/errors/EntityInvalidFieldValueError.ts +5 -5
  465. package/src/errors/EntityNotAuthorizedError.ts +4 -4
  466. package/src/errors/EntityNotFoundError.ts +56 -9
  467. package/src/errors/__tests__/EntityDatabaseAdapterError-test.ts +29 -0
  468. package/src/index.ts +40 -54
  469. package/src/internal/CompositeFieldHolder.ts +2 -1
  470. package/src/internal/EntityDataManager.ts +7 -5
  471. package/src/internal/EntityFieldTransformationUtils.ts +1 -1
  472. package/src/internal/EntityLoadInterfaces.ts +1 -1
  473. package/src/internal/EntityTableDataCoordinator.ts +10 -10
  474. package/src/internal/ReadThroughEntityCache.ts +3 -3
  475. package/src/internal/SingleFieldHolder.ts +1 -1
  476. package/src/internal/__tests__/CompositeFieldHolder-test.ts +2 -0
  477. package/src/internal/__tests__/CompositeFieldValueMap-test.ts +2 -0
  478. package/src/internal/__tests__/EntityDataManager-test.ts +34 -31
  479. package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +5 -3
  480. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +5 -4
  481. package/src/metrics/EntityMetricsUtils.ts +3 -2
  482. package/src/metrics/IEntityMetricsAdapter.ts +1 -1
  483. package/src/metrics/NoOpEntityMetricsAdapter.ts +3 -2
  484. package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +4 -4
  485. package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +4 -4
  486. package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +4 -4
  487. package/src/rules/PrivacyPolicyRule.ts +3 -3
  488. package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +3 -3
  489. package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +3 -3
  490. package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +3 -3
  491. package/src/utils/EntityCreationUtils.ts +143 -0
  492. package/src/utils/EntityPrivacyUtils.ts +5 -5
  493. package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +5 -3
  494. package/src/utils/__testfixtures__/SimpleTestEntity.ts +6 -6
  495. package/src/utils/__testfixtures__/StubCacheAdapter.ts +4 -4
  496. package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +8 -7
  497. package/src/utils/__testfixtures__/StubDatabaseAdapterProvider.ts +5 -5
  498. package/src/utils/__testfixtures__/StubQueryContextProvider.ts +2 -2
  499. package/src/utils/__testfixtures__/TestEntity.ts +7 -7
  500. package/src/utils/__testfixtures__/TestEntity2.ts +6 -6
  501. package/src/utils/__testfixtures__/TestEntityWithMutationTriggers.ts +6 -10
  502. package/src/utils/__testfixtures__/TestViewerContext.ts +2 -2
  503. package/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.ts +5 -5
  504. package/src/utils/__testfixtures__/describeFieldTestCase.ts +3 -1
  505. package/src/utils/__tests__/EntityCreationUtils-test.ts +356 -0
  506. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +15 -13
  507. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +10 -8
  508. package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +2 -0
  509. package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +2 -0
  510. package/src/utils/collections/__tests__/maps-test.ts +3 -1
  511. package/src/utils/collections/__tests__/sets-test.ts +2 -0
  512. package/src/utils/mergeEntityMutationTriggerConfigurations.ts +3 -3
  513. package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +0 -1
  514. package/build/AuthorizationResultBasedEntityLoader.js.map +0 -1
  515. package/build/AuthorizationResultBasedEntityMutator.js.map +0 -1
  516. package/build/ComposedEntityCacheAdapter.js.map +0 -1
  517. package/build/ComposedSecondaryEntityCache.js.map +0 -1
  518. package/build/EnforcingEntityAssociationLoader.js.map +0 -1
  519. package/build/EnforcingEntityCreator.js.map +0 -1
  520. package/build/EnforcingEntityDeleter.js.map +0 -1
  521. package/build/EnforcingEntityLoader.js.map +0 -1
  522. package/build/EnforcingEntityUpdater.js.map +0 -1
  523. package/build/Entity.js.map +0 -1
  524. package/build/EntityAssociationLoader.js.map +0 -1
  525. package/build/EntityCompanion.js.map +0 -1
  526. package/build/EntityCompanionProvider.js.map +0 -1
  527. package/build/EntityConfiguration.js.map +0 -1
  528. package/build/EntityDatabaseAdapter.js.map +0 -1
  529. package/build/EntityFieldDefinition.js.map +0 -1
  530. package/build/EntityFields.js.map +0 -1
  531. package/build/EntityLoaderFactory.js +0 -31
  532. package/build/EntityLoaderFactory.js.map +0 -1
  533. package/build/EntityLoaderUtils.js.map +0 -1
  534. package/build/EntityMutationInfo.js.map +0 -1
  535. package/build/EntityMutationTriggerConfiguration.js.map +0 -1
  536. package/build/EntityMutationValidator.js.map +0 -1
  537. package/build/EntityMutatorFactory.js.map +0 -1
  538. package/build/EntityQueryContext.js.map +0 -1
  539. package/build/EntityQueryContextProvider.js.map +0 -1
  540. package/build/EntitySecondaryCacheLoader.js.map +0 -1
  541. package/build/GenericEntityCacheAdapter.js.map +0 -1
  542. package/build/GenericSecondaryEntityCache.js.map +0 -1
  543. package/build/IEntityCacheAdapter.js.map +0 -1
  544. package/build/IEntityCacheAdapterProvider.js.map +0 -1
  545. package/build/IEntityDatabaseAdapterProvider.js.map +0 -1
  546. package/build/IEntityGenericCacher.js.map +0 -1
  547. package/build/ReadonlyEntity.js.map +0 -1
  548. package/build/ViewerScopedEntityCompanionProvider.js.map +0 -1
  549. package/build/ViewerScopedEntityLoaderFactory.js.map +0 -1
  550. package/build/ViewerScopedEntityMutatorFactory.js.map +0 -1
  551. package/build/entityUtils.js.map +0 -1
  552. package/build/errors/EntityCacheAdapterError.js +0 -46
  553. package/build/errors/EntityCacheAdapterError.js.map +0 -1
  554. package/build/errors/EntityDatabaseAdapterError.js.map +0 -1
  555. package/build/errors/EntityError.js.map +0 -1
  556. package/build/errors/EntityInvalidFieldValueError.js +0 -45
  557. package/build/errors/EntityInvalidFieldValueError.js.map +0 -1
  558. package/build/errors/EntityNotAuthorizedError.js +0 -48
  559. package/build/errors/EntityNotAuthorizedError.js.map +0 -1
  560. package/build/errors/EntityNotFoundError.d.ts +0 -10
  561. package/build/errors/EntityNotFoundError.js +0 -45
  562. package/build/errors/EntityNotFoundError.js.map +0 -1
  563. package/build/index.d.ts +0 -90
  564. package/build/index.js +0 -154
  565. package/build/index.js.map +0 -1
  566. package/build/internal/CompositeFieldHolder.js.map +0 -1
  567. package/build/internal/CompositeFieldValueMap.js.map +0 -1
  568. package/build/internal/EntityDataManager.js.map +0 -1
  569. package/build/internal/EntityFieldTransformationUtils.js.map +0 -1
  570. package/build/internal/EntityLoadInterfaces.js.map +0 -1
  571. package/build/internal/ReadThroughEntityCache.js.map +0 -1
  572. package/build/internal/SingleFieldHolder.js.map +0 -1
  573. package/build/metrics/EntityMetricsUtils.js.map +0 -1
  574. package/build/metrics/IEntityMetricsAdapter.js.map +0 -1
  575. package/build/metrics/NoOpEntityMetricsAdapter.js.map +0 -1
  576. package/build/rules/AlwaysAllowPrivacyPolicyRule.js +0 -46
  577. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +0 -1
  578. package/build/rules/AlwaysDenyPrivacyPolicyRule.js +0 -46
  579. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +0 -1
  580. package/build/rules/AlwaysSkipPrivacyPolicyRule.js +0 -46
  581. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +0 -1
  582. package/build/rules/PrivacyPolicyRule.js.map +0 -1
  583. package/build/tsconfig.build.tsbuildinfo +0 -1
  584. package/build/utils/collections/SerializableKeyMap.js.map +0 -1
  585. package/build/utils/collections/maps.js.map +0 -1
  586. package/build/utils/collections/sets.js.map +0 -1
  587. package/build/utils/mergeEntityMutationTriggerConfigurations.js.map +0 -1
  588. /package/build/{EntityFieldDefinition.js → src/EntityFieldDefinition.js} +0 -0
  589. /package/build/{EntityFields.d.ts → src/EntityFields.d.ts} +0 -0
  590. /package/build/{EntityFields.js → src/EntityFields.js} +0 -0
  591. /package/build/{EntityMutationInfo.js → src/EntityMutationInfo.js} +0 -0
  592. /package/build/{EntityMutationTriggerConfiguration.js → src/EntityMutationTriggerConfiguration.js} +0 -0
  593. /package/build/{EntityQueryContext.js → src/EntityQueryContext.js} +0 -0
  594. /package/build/{IEntityCacheAdapter.js → src/IEntityCacheAdapter.js} +0 -0
  595. /package/build/{IEntityCacheAdapterProvider.js → src/IEntityCacheAdapterProvider.js} +0 -0
  596. /package/build/{IEntityDatabaseAdapterProvider.js → src/IEntityDatabaseAdapterProvider.js} +0 -0
  597. /package/build/{IEntityGenericCacher.js → src/IEntityGenericCacher.js} +0 -0
  598. /package/build/{entityUtils.d.ts → src/entityUtils.d.ts} +0 -0
  599. /package/build/{entityUtils.js → src/entityUtils.js} +0 -0
  600. /package/build/{internal → src/internal}/CompositeFieldHolder.js +0 -0
  601. /package/build/{internal → src/internal}/CompositeFieldValueMap.d.ts +0 -0
  602. /package/build/{internal → src/internal}/CompositeFieldValueMap.js +0 -0
  603. /package/build/{internal → src/internal}/EntityFieldTransformationUtils.js +0 -0
  604. /package/build/{internal → src/internal}/EntityLoadInterfaces.js +0 -0
  605. /package/build/{internal → src/internal}/SingleFieldHolder.js +0 -0
  606. /package/build/{metrics → src/metrics}/EntityMetricsUtils.js +0 -0
  607. /package/build/{metrics → src/metrics}/IEntityMetricsAdapter.js +0 -0
  608. /package/build/{utils → src/utils}/collections/SerializableKeyMap.d.ts +0 -0
  609. /package/build/{utils → src/utils}/collections/SerializableKeyMap.js +0 -0
  610. /package/build/{utils → src/utils}/collections/maps.d.ts +0 -0
  611. /package/build/{utils → src/utils}/collections/maps.js +0 -0
  612. /package/build/{utils → src/utils}/collections/sets.d.ts +0 -0
  613. /package/build/{utils → src/utils}/collections/sets.js +0 -0
  614. /package/build/{utils → src/utils}/mergeEntityMutationTriggerConfigurations.js +0 -0
@@ -1,11 +1,13 @@
1
- import EntityConfiguration from '../../EntityConfiguration';
1
+ import { describe, expect, it } from '@jest/globals';
2
+
3
+ import { EntityConfiguration } from '../../EntityConfiguration';
2
4
  import { StringField, UUIDField } from '../../EntityFields';
3
5
  import {
4
6
  getDatabaseFieldForEntityField,
5
- transformDatabaseObjectToFields,
6
- transformFieldsToDatabaseObject,
7
7
  transformCacheObjectToFields,
8
+ transformDatabaseObjectToFields,
8
9
  transformFieldsToCacheObject,
10
+ transformFieldsToDatabaseObject,
9
11
  } from '../EntityFieldTransformationUtils';
10
12
 
11
13
  type BlahT = {
@@ -1,13 +1,14 @@
1
- import { verify, mock, instance, when, anything } from 'ts-mockito';
1
+ import { describe, expect, it, jest } from '@jest/globals';
2
+ import { anything, instance, mock, verify, when } from 'ts-mockito';
2
3
 
3
- import EntityConfiguration from '../../EntityConfiguration';
4
+ import { EntityConfiguration } from '../../EntityConfiguration';
4
5
  import { UUIDField } from '../../EntityFields';
5
- import IEntityCacheAdapter from '../../IEntityCacheAdapter';
6
+ import { IEntityCacheAdapter } from '../../IEntityCacheAdapter';
6
7
  import {
7
8
  deepEqualEntityAware,
8
9
  isEqualWithEntityAware,
9
10
  } from '../../utils/__testfixtures__/TSMockitoExtensions';
10
- import ReadThroughEntityCache, { CacheStatus } from '../ReadThroughEntityCache';
11
+ import { CacheStatus, ReadThroughEntityCache } from '../ReadThroughEntityCache';
11
12
  import {
12
13
  SingleFieldHolder,
13
14
  SingleFieldValueHolder,
@@ -1,8 +1,9 @@
1
- import IEntityMetricsAdapter, {
1
+ import { EntityQueryContext } from '../EntityQueryContext';
2
+ import {
2
3
  EntityMetricsLoadType,
3
4
  EntityMetricsMutationType,
5
+ IEntityMetricsAdapter,
4
6
  } from './IEntityMetricsAdapter';
5
- import { EntityQueryContext } from '../EntityQueryContext';
6
7
  import { IEntityLoadValue } from '../internal/EntityLoadInterfaces';
7
8
  import { reduceMap } from '../utils/collections/maps';
8
9
 
@@ -150,7 +150,7 @@ export interface EntityMetricsAuthorizationEvent {
150
150
  * An interface for gathering metrics about the Entity framework. Information about
151
151
  * entity load and mutation operations is piped to an instance of this adapter.
152
152
  */
153
- export default interface IEntityMetricsAdapter {
153
+ export interface IEntityMetricsAdapter {
154
154
  /**
155
155
  * Called when a EntityPrivacyPolicy authorization succeeds or fails.
156
156
  * @param authorizationEvent - info about the authorization event
@@ -1,11 +1,12 @@
1
- import IEntityMetricsAdapter, {
1
+ import {
2
2
  EntityMetricsAuthorizationEvent,
3
3
  EntityMetricsLoadEvent,
4
4
  EntityMetricsMutationEvent,
5
+ IEntityMetricsAdapter,
5
6
  IncrementLoadCountEvent,
6
7
  } from './IEntityMetricsAdapter';
7
8
 
8
- export default class NoOpEntityMetricsAdapter implements IEntityMetricsAdapter {
9
+ export class NoOpEntityMetricsAdapter implements IEntityMetricsAdapter {
9
10
  logAuthorizationEvent(_authorizationEvent: EntityMetricsAuthorizationEvent): void {}
10
11
  logDataManagerLoadEvent(_loadEvent: EntityMetricsLoadEvent): void {}
11
12
  logMutatorMutationEvent(_mutationEvent: EntityMetricsMutationEvent): void {}
@@ -1,13 +1,13 @@
1
- import PrivacyPolicyRule, { RuleEvaluationResult } from './PrivacyPolicyRule';
2
1
  import { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
3
2
  import { EntityQueryContext } from '../EntityQueryContext';
4
- import ReadonlyEntity from '../ReadonlyEntity';
5
- import ViewerContext from '../ViewerContext';
3
+ import { ReadonlyEntity } from '../ReadonlyEntity';
4
+ import { ViewerContext } from '../ViewerContext';
5
+ import { PrivacyPolicyRule, RuleEvaluationResult } from './PrivacyPolicyRule';
6
6
 
7
7
  /**
8
8
  * Privacy policy rule that always allows.
9
9
  */
10
- export default class AlwaysAllowPrivacyPolicyRule<
10
+ export class AlwaysAllowPrivacyPolicyRule<
11
11
  TFields extends Record<string, any>,
12
12
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
13
13
  TViewerContext extends ViewerContext,
@@ -1,13 +1,13 @@
1
- import PrivacyPolicyRule, { RuleEvaluationResult } from './PrivacyPolicyRule';
2
1
  import { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
3
2
  import { EntityQueryContext } from '../EntityQueryContext';
4
- import ReadonlyEntity from '../ReadonlyEntity';
5
- import ViewerContext from '../ViewerContext';
3
+ import { ReadonlyEntity } from '../ReadonlyEntity';
4
+ import { ViewerContext } from '../ViewerContext';
5
+ import { PrivacyPolicyRule, RuleEvaluationResult } from './PrivacyPolicyRule';
6
6
 
7
7
  /**
8
8
  * Privacy policy rule that always denies.
9
9
  */
10
- export default class AlwaysDenyPrivacyPolicyRule<
10
+ export class AlwaysDenyPrivacyPolicyRule<
11
11
  TFields extends Record<string, any>,
12
12
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
13
13
  TViewerContext extends ViewerContext,
@@ -1,13 +1,13 @@
1
- import PrivacyPolicyRule, { RuleEvaluationResult } from './PrivacyPolicyRule';
2
1
  import { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
3
2
  import { EntityQueryContext } from '../EntityQueryContext';
4
- import ReadonlyEntity from '../ReadonlyEntity';
5
- import ViewerContext from '../ViewerContext';
3
+ import { ReadonlyEntity } from '../ReadonlyEntity';
4
+ import { ViewerContext } from '../ViewerContext';
5
+ import { PrivacyPolicyRule, RuleEvaluationResult } from './PrivacyPolicyRule';
6
6
 
7
7
  /**
8
8
  * A no-op policy rule that always skips.
9
9
  */
10
- export default class AlwaysSkipPrivacyPolicyRule<
10
+ export class AlwaysSkipPrivacyPolicyRule<
11
11
  TFields extends Record<string, any>,
12
12
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
13
13
  TViewerContext extends ViewerContext,
@@ -1,7 +1,7 @@
1
1
  import { EntityPrivacyPolicyEvaluationContext } from '../EntityPrivacyPolicy';
2
2
  import { EntityQueryContext } from '../EntityQueryContext';
3
- import ReadonlyEntity from '../ReadonlyEntity';
4
- import ViewerContext from '../ViewerContext';
3
+ import { ReadonlyEntity } from '../ReadonlyEntity';
4
+ import { ViewerContext } from '../ViewerContext';
5
5
 
6
6
  export enum RuleEvaluationResult {
7
7
  /**
@@ -36,7 +36,7 @@ export enum RuleEvaluationResult {
36
36
  * - Blocking. For example, a user blocks another user from seeing their posts, and the rule
37
37
  * would be named something like `DenyIfViewerHasBeenBlockedPrivacyPolicyRule`.
38
38
  */
39
- export default abstract class PrivacyPolicyRule<
39
+ export abstract class PrivacyPolicyRule<
40
40
  TFields extends Record<string, any>,
41
41
  TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
42
42
  TViewerContext extends ViewerContext,
@@ -1,10 +1,10 @@
1
- import { mock, instance, anything } from 'ts-mockito';
1
+ import { anything, instance, mock } from 'ts-mockito';
2
2
 
3
3
  import { EntityPrivacyPolicyEvaluationContext } from '../../EntityPrivacyPolicy';
4
4
  import { EntityQueryContext } from '../../EntityQueryContext';
5
- import ViewerContext from '../../ViewerContext';
5
+ import { ViewerContext } from '../../ViewerContext';
6
6
  import { describePrivacyPolicyRule } from '../../utils/__testfixtures__/PrivacyPolicyRuleTestUtils';
7
- import AlwaysAllowPrivacyPolicyRule from '../AlwaysAllowPrivacyPolicyRule';
7
+ import { AlwaysAllowPrivacyPolicyRule } from '../AlwaysAllowPrivacyPolicyRule';
8
8
 
9
9
  describePrivacyPolicyRule(new AlwaysAllowPrivacyPolicyRule(), {
10
10
  allowCases: [
@@ -1,10 +1,10 @@
1
- import { mock, instance, anything } from 'ts-mockito';
1
+ import { anything, instance, mock } from 'ts-mockito';
2
2
 
3
3
  import { EntityPrivacyPolicyEvaluationContext } from '../../EntityPrivacyPolicy';
4
4
  import { EntityQueryContext } from '../../EntityQueryContext';
5
- import ViewerContext from '../../ViewerContext';
5
+ import { ViewerContext } from '../../ViewerContext';
6
6
  import { describePrivacyPolicyRule } from '../../utils/__testfixtures__/PrivacyPolicyRuleTestUtils';
7
- import AlwaysDenyPrivacyPolicyRule from '../AlwaysDenyPrivacyPolicyRule';
7
+ import { AlwaysDenyPrivacyPolicyRule } from '../AlwaysDenyPrivacyPolicyRule';
8
8
 
9
9
  describePrivacyPolicyRule(new AlwaysDenyPrivacyPolicyRule(), {
10
10
  denyCases: [
@@ -1,10 +1,10 @@
1
- import { mock, instance, anything } from 'ts-mockito';
1
+ import { anything, instance, mock } from 'ts-mockito';
2
2
 
3
3
  import { EntityPrivacyPolicyEvaluationContext } from '../../EntityPrivacyPolicy';
4
4
  import { EntityQueryContext } from '../../EntityQueryContext';
5
- import ViewerContext from '../../ViewerContext';
5
+ import { ViewerContext } from '../../ViewerContext';
6
6
  import { describePrivacyPolicyRule } from '../../utils/__testfixtures__/PrivacyPolicyRuleTestUtils';
7
- import AlwaysSkipPrivacyPolicyRule from '../AlwaysSkipPrivacyPolicyRule';
7
+ import { AlwaysSkipPrivacyPolicyRule } from '../AlwaysSkipPrivacyPolicyRule';
8
8
 
9
9
  describePrivacyPolicyRule(new AlwaysSkipPrivacyPolicyRule(), {
10
10
  skipCases: [
@@ -0,0 +1,143 @@
1
+ import { IEntityClass } from '../Entity';
2
+ import { EntityPrivacyPolicy } from '../EntityPrivacyPolicy';
3
+ import { EntityTransactionalQueryContext } from '../EntityQueryContext';
4
+ import { ReadonlyEntity } from '../ReadonlyEntity';
5
+ import { ViewerContext } from '../ViewerContext';
6
+ import { EntityDatabaseAdapterUniqueConstraintError } from '../errors/EntityDatabaseAdapterError';
7
+ import { EntityNotFoundError } from '../errors/EntityNotFoundError';
8
+
9
+ /**
10
+ * Create an entity if it doesn't exist, or get the existing entity if it does.
11
+ */
12
+ export async function createOrGetExistingAsync<
13
+ TFields extends object,
14
+ TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
15
+ TViewerContext extends ViewerContext,
16
+ TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>,
17
+ TPrivacyPolicy extends EntityPrivacyPolicy<
18
+ TFields,
19
+ TIDField,
20
+ TViewerContext,
21
+ TEntity,
22
+ TSelectedFields
23
+ >,
24
+ TGetArgs,
25
+ TCreateArgs,
26
+ TSelectedFields extends keyof TFields = keyof TFields,
27
+ >(
28
+ viewerContext: TViewerContext,
29
+ entityClass: IEntityClass<
30
+ TFields,
31
+ TIDField,
32
+ TViewerContext,
33
+ TEntity,
34
+ TPrivacyPolicy,
35
+ TSelectedFields
36
+ >,
37
+ getAsync: (
38
+ viewerContext: TViewerContext,
39
+ getArgs: TGetArgs,
40
+ queryContext?: EntityTransactionalQueryContext,
41
+ ) => Promise<TEntity | null>,
42
+ getArgs: TGetArgs,
43
+ createAsync: (
44
+ viewerContext: TViewerContext,
45
+ createArgs: TCreateArgs,
46
+ queryContext?: EntityTransactionalQueryContext,
47
+ ) => Promise<TEntity>,
48
+ createArgs: TCreateArgs,
49
+ queryContext?: EntityTransactionalQueryContext,
50
+ ): Promise<TEntity> {
51
+ if (!queryContext) {
52
+ const maybeEntity = await getAsync(viewerContext, getArgs);
53
+ if (maybeEntity) {
54
+ return maybeEntity;
55
+ }
56
+ } else {
57
+ // This is done in a nested transaction since entity may negatively cache load results per-transaction (when configured).
58
+ // Without it, it would
59
+ // 1. load the entity in the current query context, negatively cache it
60
+ // 2. then try to create it in the nested transaction, which may fail due to a unique constraint error
61
+ // 3. then try to load the entity again in the current query context, which would return null due to negative cache
62
+ const maybeEntity = await queryContext.runInNestedTransactionAsync((nestedQueryContext) =>
63
+ getAsync(viewerContext, getArgs, nestedQueryContext),
64
+ );
65
+ if (maybeEntity) {
66
+ return maybeEntity;
67
+ }
68
+ }
69
+ return await createWithUniqueConstraintRecoveryAsync(
70
+ viewerContext,
71
+ entityClass,
72
+ getAsync,
73
+ getArgs,
74
+ createAsync,
75
+ createArgs,
76
+ queryContext,
77
+ );
78
+ }
79
+
80
+ /**
81
+ * Account for concurrent requests that may try to create the same entity.
82
+ * Return the existing entity if we get a Unique Constraint error.
83
+ */
84
+ export async function createWithUniqueConstraintRecoveryAsync<
85
+ TFields extends object,
86
+ TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
87
+ TViewerContext extends ViewerContext,
88
+ TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>,
89
+ TPrivacyPolicy extends EntityPrivacyPolicy<
90
+ TFields,
91
+ TIDField,
92
+ TViewerContext,
93
+ TEntity,
94
+ TSelectedFields
95
+ >,
96
+ TGetArgs,
97
+ TCreateArgs,
98
+ TSelectedFields extends keyof TFields = keyof TFields,
99
+ >(
100
+ viewerContext: TViewerContext,
101
+ entityClass: IEntityClass<
102
+ TFields,
103
+ TIDField,
104
+ TViewerContext,
105
+ TEntity,
106
+ TPrivacyPolicy,
107
+ TSelectedFields
108
+ >,
109
+ getAsync: (
110
+ viewerContext: TViewerContext,
111
+ getArgs: TGetArgs,
112
+ queryContext?: EntityTransactionalQueryContext,
113
+ ) => Promise<TEntity | null>,
114
+ getArgs: TGetArgs,
115
+ createAsync: (
116
+ viewerContext: TViewerContext,
117
+ createArgs: TCreateArgs,
118
+ queryContext?: EntityTransactionalQueryContext,
119
+ ) => Promise<TEntity>,
120
+ createArgs: TCreateArgs,
121
+ queryContext?: EntityTransactionalQueryContext,
122
+ ): Promise<TEntity> {
123
+ try {
124
+ if (!queryContext) {
125
+ return await createAsync(viewerContext, createArgs);
126
+ }
127
+ return await queryContext.runInNestedTransactionAsync((nestedQueryContext) =>
128
+ createAsync(viewerContext, createArgs, nestedQueryContext),
129
+ );
130
+ } catch (e) {
131
+ if (e instanceof EntityDatabaseAdapterUniqueConstraintError) {
132
+ const entity = await getAsync(viewerContext, getArgs, queryContext);
133
+ if (!entity) {
134
+ throw new EntityNotFoundError(
135
+ `Expected entity to exist after unique constraint error: ${entityClass.name}`,
136
+ );
137
+ }
138
+ return entity;
139
+ } else {
140
+ throw e;
141
+ }
142
+ }
143
+ }
@@ -1,16 +1,16 @@
1
1
  import { Result, asyncResult } from '@expo/results';
2
2
 
3
- import Entity, { IEntityClass } from '../Entity';
3
+ import { Entity, IEntityClass } from '../Entity';
4
4
  import {
5
- EntityEdgeDeletionBehavior,
6
5
  EntityEdgeDeletionAuthorizationInferenceBehavior,
6
+ EntityEdgeDeletionBehavior,
7
7
  } from '../EntityFieldDefinition';
8
8
  import { EntityCascadingDeletionInfo } from '../EntityMutationInfo';
9
- import EntityPrivacyPolicy from '../EntityPrivacyPolicy';
9
+ import { EntityPrivacyPolicy } from '../EntityPrivacyPolicy';
10
10
  import { EntityQueryContext } from '../EntityQueryContext';
11
- import ViewerContext from '../ViewerContext';
11
+ import { ViewerContext } from '../ViewerContext';
12
12
  import { failedResults, partitionArray } from '../entityUtils';
13
- import EntityNotAuthorizedError from '../errors/EntityNotAuthorizedError';
13
+ import { EntityNotAuthorizedError } from '../errors/EntityNotAuthorizedError';
14
14
 
15
15
  export type EntityPrivacyEvaluationResultSuccess = {
16
16
  allowed: true;
@@ -1,8 +1,10 @@
1
+ import { describe, expect, test } from '@jest/globals';
2
+
1
3
  import { EntityPrivacyPolicyEvaluationContext } from '../../EntityPrivacyPolicy';
2
4
  import { EntityQueryContext } from '../../EntityQueryContext';
3
- import ReadonlyEntity from '../../ReadonlyEntity';
4
- import ViewerContext from '../../ViewerContext';
5
- import PrivacyPolicyRule, { RuleEvaluationResult } from '../../rules/PrivacyPolicyRule';
5
+ import { ReadonlyEntity } from '../../ReadonlyEntity';
6
+ import { ViewerContext } from '../../ViewerContext';
7
+ import { PrivacyPolicyRule, RuleEvaluationResult } from '../../rules/PrivacyPolicyRule';
6
8
 
7
9
  export interface Case<
8
10
  TFields extends Record<string, any>,
@@ -1,10 +1,10 @@
1
- import Entity from '../../Entity';
1
+ import { Entity } from '../../Entity';
2
2
  import { EntityCompanionDefinition } from '../../EntityCompanionProvider';
3
- import EntityConfiguration from '../../EntityConfiguration';
3
+ import { EntityConfiguration } from '../../EntityConfiguration';
4
4
  import { UUIDField } from '../../EntityFields';
5
- import EntityPrivacyPolicy from '../../EntityPrivacyPolicy';
6
- import ViewerContext from '../../ViewerContext';
7
- import AlwaysAllowPrivacyPolicyRule from '../../rules/AlwaysAllowPrivacyPolicyRule';
5
+ import { EntityPrivacyPolicy } from '../../EntityPrivacyPolicy';
6
+ import { ViewerContext } from '../../ViewerContext';
7
+ import { AlwaysAllowPrivacyPolicyRule } from '../../rules/AlwaysAllowPrivacyPolicyRule';
8
8
 
9
9
  export type SimpleTestFields = {
10
10
  id: string;
@@ -70,7 +70,7 @@ export class SimpleTestEntityPrivacyPolicy extends EntityPrivacyPolicy<
70
70
  ];
71
71
  }
72
72
 
73
- export default class SimpleTestEntity extends Entity<
73
+ export class SimpleTestEntity extends Entity<
74
74
  SimpleTestFields,
75
75
  'id',
76
76
  ViewerContext,
@@ -1,10 +1,10 @@
1
1
  import invariant from 'invariant';
2
2
 
3
- import EntityConfiguration from '../../EntityConfiguration';
4
- import IEntityCacheAdapter from '../../IEntityCacheAdapter';
5
- import IEntityCacheAdapterProvider from '../../IEntityCacheAdapterProvider';
3
+ import { EntityConfiguration } from '../../EntityConfiguration';
4
+ import { IEntityCacheAdapter } from '../../IEntityCacheAdapter';
5
+ import { IEntityCacheAdapterProvider } from '../../IEntityCacheAdapterProvider';
6
6
  import { IEntityLoadKey, IEntityLoadValue } from '../../internal/EntityLoadInterfaces';
7
- import { CacheStatus, CacheLoadResult } from '../../internal/ReadThroughEntityCache';
7
+ import { CacheLoadResult, CacheStatus } from '../../internal/ReadThroughEntityCache';
8
8
 
9
9
  export class NoCacheStubCacheAdapterProvider implements IEntityCacheAdapterProvider {
10
10
  getCacheAdapter<TFields extends Record<string, any>, TIDField extends keyof TFields>(
@@ -1,22 +1,23 @@
1
1
  import invariant from 'invariant';
2
2
  import { uuidv7 } from 'uuidv7';
3
3
 
4
- import EntityConfiguration from '../../EntityConfiguration';
5
- import EntityDatabaseAdapter, {
6
- TableFieldSingleValueEqualityCondition,
4
+ import { EntityConfiguration } from '../../EntityConfiguration';
5
+ import {
6
+ EntityDatabaseAdapter,
7
+ OrderByOrdering,
7
8
  TableFieldMultiValueEqualityCondition,
9
+ TableFieldSingleValueEqualityCondition,
8
10
  TableQuerySelectionModifiers,
9
- OrderByOrdering,
10
11
  } from '../../EntityDatabaseAdapter';
11
- import { StringField, IntField } from '../../EntityFields';
12
+ import { IntField, StringField } from '../../EntityFields';
12
13
  import {
13
- getDatabaseFieldForEntityField,
14
14
  FieldTransformerMap,
15
+ getDatabaseFieldForEntityField,
15
16
  transformFieldsToDatabaseObject,
16
17
  } from '../../internal/EntityFieldTransformationUtils';
17
18
  import { computeIfAbsent, mapMap } from '../collections/maps';
18
19
 
19
- export default class StubDatabaseAdapter<
20
+ export class StubDatabaseAdapter<
20
21
  TFields extends Record<string, any>,
21
22
  TIDField extends keyof TFields,
22
23
  > extends EntityDatabaseAdapter<TFields, TIDField> {
@@ -1,9 +1,9 @@
1
- import EntityConfiguration from '../../EntityConfiguration';
2
- import EntityDatabaseAdapter from '../../EntityDatabaseAdapter';
3
- import IEntityDatabaseAdapterProvider from '../../IEntityDatabaseAdapterProvider';
4
- import StubDatabaseAdapter from '../__testfixtures__/StubDatabaseAdapter';
1
+ import { EntityConfiguration } from '../../EntityConfiguration';
2
+ import { EntityDatabaseAdapter } from '../../EntityDatabaseAdapter';
3
+ import { IEntityDatabaseAdapterProvider } from '../../IEntityDatabaseAdapterProvider';
4
+ import { StubDatabaseAdapter } from '../__testfixtures__/StubDatabaseAdapter';
5
5
 
6
- export default class StubDatabaseAdapterProvider implements IEntityDatabaseAdapterProvider {
6
+ export class StubDatabaseAdapterProvider implements IEntityDatabaseAdapterProvider {
7
7
  private readonly objectCollection = new Map();
8
8
 
9
9
  getDatabaseAdapter<TFields extends Record<string, any>, TIDField extends keyof TFields>(
@@ -1,7 +1,7 @@
1
1
  import { TransactionConfig } from '../../EntityQueryContext';
2
- import EntityQueryContextProvider from '../../EntityQueryContextProvider';
2
+ import { EntityQueryContextProvider } from '../../EntityQueryContextProvider';
3
3
 
4
- export default class StubQueryContextProvider extends EntityQueryContextProvider {
4
+ export class StubQueryContextProvider extends EntityQueryContextProvider {
5
5
  protected getQueryInterface(): any {
6
6
  return {};
7
7
  }
@@ -1,12 +1,12 @@
1
1
  import { result, Result } from '@expo/results';
2
2
 
3
- import Entity from '../../Entity';
3
+ import { Entity } from '../../Entity';
4
4
  import { EntityCompanionDefinition } from '../../EntityCompanionProvider';
5
- import EntityConfiguration from '../../EntityConfiguration';
6
- import { StringField, DateField, IntField, UUIDField } from '../../EntityFields';
7
- import EntityPrivacyPolicy from '../../EntityPrivacyPolicy';
8
- import ViewerContext from '../../ViewerContext';
9
- import AlwaysAllowPrivacyPolicyRule from '../../rules/AlwaysAllowPrivacyPolicyRule';
5
+ import { EntityConfiguration } from '../../EntityConfiguration';
6
+ import { DateField, IntField, StringField, UUIDField } from '../../EntityFields';
7
+ import { EntityPrivacyPolicy } from '../../EntityPrivacyPolicy';
8
+ import { ViewerContext } from '../../ViewerContext';
9
+ import { AlwaysAllowPrivacyPolicyRule } from '../../rules/AlwaysAllowPrivacyPolicyRule';
10
10
 
11
11
  export type TestFields = {
12
12
  customIdField: string;
@@ -71,7 +71,7 @@ export class TestEntityPrivacyPolicy extends EntityPrivacyPolicy<
71
71
  ];
72
72
  }
73
73
 
74
- export default class TestEntity extends Entity<TestFields, 'customIdField', ViewerContext> {
74
+ export class TestEntity extends Entity<TestFields, 'customIdField', ViewerContext> {
75
75
  static defineCompanionDefinition(): EntityCompanionDefinition<
76
76
  TestFields,
77
77
  'customIdField',
@@ -1,10 +1,10 @@
1
- import Entity from '../../Entity';
1
+ import { Entity } from '../../Entity';
2
2
  import { EntityCompanionDefinition } from '../../EntityCompanionProvider';
3
- import EntityConfiguration from '../../EntityConfiguration';
3
+ import { EntityConfiguration } from '../../EntityConfiguration';
4
4
  import { UUIDField } from '../../EntityFields';
5
- import EntityPrivacyPolicy from '../../EntityPrivacyPolicy';
6
- import ViewerContext from '../../ViewerContext';
7
- import AlwaysAllowPrivacyPolicyRule from '../../rules/AlwaysAllowPrivacyPolicyRule';
5
+ import { EntityPrivacyPolicy } from '../../EntityPrivacyPolicy';
6
+ import { ViewerContext } from '../../ViewerContext';
7
+ import { AlwaysAllowPrivacyPolicyRule } from '../../rules/AlwaysAllowPrivacyPolicyRule';
8
8
 
9
9
  export type Test2Fields = {
10
10
  id: string;
@@ -47,7 +47,7 @@ export class TestEntity2PrivacyPolicy extends EntityPrivacyPolicy<
47
47
  ];
48
48
  }
49
49
 
50
- export default class TestEntity2 extends Entity<Test2Fields, 'id', ViewerContext> {
50
+ export class TestEntity2 extends Entity<Test2Fields, 'id', ViewerContext> {
51
51
  static defineCompanionDefinition(): EntityCompanionDefinition<
52
52
  Test2Fields,
53
53
  'id',
@@ -1,16 +1,16 @@
1
- import Entity from '../../Entity';
1
+ import { Entity } from '../../Entity';
2
2
  import { EntityCompanionDefinition } from '../../EntityCompanionProvider';
3
- import EntityConfiguration from '../../EntityConfiguration';
3
+ import { EntityConfiguration } from '../../EntityConfiguration';
4
4
  import { StringField, UUIDField } from '../../EntityFields';
5
5
  import { EntityTriggerMutationInfo } from '../../EntityMutationInfo';
6
6
  import {
7
7
  EntityMutationTrigger,
8
8
  EntityNonTransactionalMutationTrigger,
9
9
  } from '../../EntityMutationTriggerConfiguration';
10
- import EntityPrivacyPolicy from '../../EntityPrivacyPolicy';
10
+ import { EntityPrivacyPolicy } from '../../EntityPrivacyPolicy';
11
11
  import { EntityQueryContext } from '../../EntityQueryContext';
12
- import ViewerContext from '../../ViewerContext';
13
- import AlwaysAllowPrivacyPolicyRule from '../../rules/AlwaysAllowPrivacyPolicyRule';
12
+ import { ViewerContext } from '../../ViewerContext';
13
+ import { AlwaysAllowPrivacyPolicyRule } from '../../rules/AlwaysAllowPrivacyPolicyRule';
14
14
 
15
15
  export type TestMTFields = {
16
16
  id: string;
@@ -131,11 +131,7 @@ export class NonTransactionalTestMutationTrigger extends EntityNonTransactionalM
131
131
  /**
132
132
  * A test Entity that has one afterCreate and one afterAll trigger
133
133
  */
134
- export default class TestEntityWithMutationTriggers extends Entity<
135
- TestMTFields,
136
- 'id',
137
- ViewerContext
138
- > {
134
+ export class TestEntityWithMutationTriggers extends Entity<TestMTFields, 'id', ViewerContext> {
139
135
  static defineCompanionDefinition(): EntityCompanionDefinition<
140
136
  TestMTFields,
141
137
  'id',
@@ -1,3 +1,3 @@
1
- import ViewerContext from '../../ViewerContext';
1
+ import { ViewerContext } from '../../ViewerContext';
2
2
 
3
- export default class TestViewerContext extends ViewerContext {}
3
+ export class TestViewerContext extends ViewerContext {}
@@ -1,9 +1,9 @@
1
1
  import { InMemoryFullCacheStubCacheAdapterProvider } from './StubCacheAdapter';
2
- import StubDatabaseAdapterProvider from './StubDatabaseAdapterProvider';
3
- import StubQueryContextProvider from './StubQueryContextProvider';
4
- import EntityCompanionProvider from '../../EntityCompanionProvider';
5
- import IEntityMetricsAdapter from '../../metrics/IEntityMetricsAdapter';
6
- import NoOpEntityMetricsAdapter from '../../metrics/NoOpEntityMetricsAdapter';
2
+ import { StubDatabaseAdapterProvider } from './StubDatabaseAdapterProvider';
3
+ import { StubQueryContextProvider } from './StubQueryContextProvider';
4
+ import { EntityCompanionProvider } from '../../EntityCompanionProvider';
5
+ import { IEntityMetricsAdapter } from '../../metrics/IEntityMetricsAdapter';
6
+ import { NoOpEntityMetricsAdapter } from '../../metrics/NoOpEntityMetricsAdapter';
7
7
 
8
8
  const queryContextProvider = new StubQueryContextProvider();
9
9
 
@@ -1,6 +1,8 @@
1
+ import { describe, expect, test } from '@jest/globals';
2
+
1
3
  import { EntityFieldDefinition } from '../../EntityFieldDefinition';
2
4
 
3
- export default function describeFieldTestCase<T>(
5
+ export function describeFieldTestCase<T>(
4
6
  fieldDefinition: EntityFieldDefinition<T, any>,
5
7
  validValues: T[],
6
8
  invalidValues: any[],