@expo/entity 0.59.0 → 0.61.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 (375) hide show
  1. package/build/src/AuthorizationResultBasedEntityAssociationLoader.d.ts +6 -6
  2. package/build/src/AuthorizationResultBasedEntityAssociationLoader.js +5 -10
  3. package/build/src/AuthorizationResultBasedEntityLoader.d.ts +9 -9
  4. package/build/src/AuthorizationResultBasedEntityLoader.js +27 -35
  5. package/build/src/AuthorizationResultBasedEntityMutator.d.ts +13 -13
  6. package/build/src/AuthorizationResultBasedEntityMutator.js +54 -65
  7. package/build/src/ComposedEntityCacheAdapter.d.ts +3 -3
  8. package/build/src/ComposedEntityCacheAdapter.js +15 -23
  9. package/build/src/ComposedSecondaryEntityCache.d.ts +1 -1
  10. package/build/src/ComposedSecondaryEntityCache.js +4 -12
  11. package/build/src/EnforcingEntityAssociationLoader.d.ts +5 -5
  12. package/build/src/EnforcingEntityAssociationLoader.js +6 -11
  13. package/build/src/EnforcingEntityCreator.d.ts +4 -4
  14. package/build/src/EnforcingEntityCreator.js +3 -8
  15. package/build/src/EnforcingEntityDeleter.d.ts +4 -4
  16. package/build/src/EnforcingEntityDeleter.js +3 -8
  17. package/build/src/EnforcingEntityLoader.d.ts +5 -5
  18. package/build/src/EnforcingEntityLoader.js +9 -14
  19. package/build/src/EnforcingEntityUpdater.d.ts +4 -4
  20. package/build/src/EnforcingEntityUpdater.js +3 -8
  21. package/build/src/Entity.d.ts +9 -9
  22. package/build/src/Entity.js +11 -16
  23. package/build/src/EntityAssociationLoader.d.ts +5 -5
  24. package/build/src/EntityAssociationLoader.js +5 -10
  25. package/build/src/EntityCompanion.d.ts +9 -9
  26. package/build/src/EntityCompanion.js +6 -11
  27. package/build/src/EntityCompanionProvider.d.ts +13 -12
  28. package/build/src/EntityCompanionProvider.js +13 -21
  29. package/build/src/EntityConfiguration.d.ts +4 -4
  30. package/build/src/EntityConfiguration.js +14 -23
  31. package/build/src/EntityConstructionUtils.d.ts +8 -8
  32. package/build/src/EntityConstructionUtils.js +15 -23
  33. package/build/src/EntityCreator.d.ts +7 -7
  34. package/build/src/EntityCreator.js +3 -8
  35. package/build/src/EntityDatabaseAdapter.d.ts +4 -4
  36. package/build/src/EntityDatabaseAdapter.js +19 -27
  37. package/build/src/EntityDeleter.d.ts +7 -7
  38. package/build/src/EntityDeleter.js +3 -8
  39. package/build/src/EntityFieldDefinition.d.ts +4 -4
  40. package/build/src/EntityFieldDefinition.js +5 -10
  41. package/build/src/EntityFields.d.ts +2 -1
  42. package/build/src/EntityFields.js +12 -27
  43. package/build/src/EntityInvalidationUtils.d.ts +8 -8
  44. package/build/src/EntityInvalidationUtils.js +4 -9
  45. package/build/src/EntityLoader.d.ts +7 -7
  46. package/build/src/EntityLoader.js +3 -8
  47. package/build/src/EntityLoaderFactory.d.ts +10 -10
  48. package/build/src/EntityLoaderFactory.js +7 -12
  49. package/build/src/EntityMutationInfo.d.ts +2 -2
  50. package/build/src/EntityMutationInfo.js +2 -6
  51. package/build/src/EntityMutationTriggerConfiguration.d.ts +4 -4
  52. package/build/src/EntityMutationTriggerConfiguration.js +2 -8
  53. package/build/src/EntityMutationValidatorConfiguration.d.ts +4 -4
  54. package/build/src/EntityMutationValidatorConfiguration.js +1 -6
  55. package/build/src/EntityMutatorFactory.d.ts +13 -13
  56. package/build/src/EntityMutatorFactory.js +5 -10
  57. package/build/src/EntityPrivacyPolicy.d.ts +7 -7
  58. package/build/src/EntityPrivacyPolicy.js +22 -27
  59. package/build/src/EntityQueryContext.d.ts +1 -1
  60. package/build/src/EntityQueryContext.js +11 -22
  61. package/build/src/EntityQueryContextProvider.d.ts +2 -1
  62. package/build/src/EntityQueryContextProvider.js +7 -12
  63. package/build/src/EntitySecondaryCacheLoader.d.ts +7 -7
  64. package/build/src/EntitySecondaryCacheLoader.js +4 -9
  65. package/build/src/EntityUpdater.d.ts +7 -7
  66. package/build/src/EntityUpdater.js +3 -8
  67. package/build/src/GenericEntityCacheAdapter.d.ts +4 -4
  68. package/build/src/GenericEntityCacheAdapter.js +5 -13
  69. package/build/src/GenericSecondaryEntityCache.d.ts +2 -2
  70. package/build/src/GenericSecondaryEntityCache.js +10 -18
  71. package/build/src/IEntityCacheAdapter.d.ts +2 -2
  72. package/build/src/IEntityCacheAdapter.js +1 -3
  73. package/build/src/IEntityCacheAdapterProvider.d.ts +2 -2
  74. package/build/src/IEntityCacheAdapterProvider.js +1 -3
  75. package/build/src/IEntityDatabaseAdapterProvider.d.ts +2 -2
  76. package/build/src/IEntityDatabaseAdapterProvider.js +1 -3
  77. package/build/src/IEntityGenericCacher.d.ts +2 -2
  78. package/build/src/IEntityGenericCacher.js +1 -3
  79. package/build/src/ReadonlyEntity.d.ts +9 -9
  80. package/build/src/ReadonlyEntity.js +9 -17
  81. package/build/src/ViewerContext.d.ts +6 -6
  82. package/build/src/ViewerContext.js +3 -8
  83. package/build/src/ViewerScopedEntityCompanion.d.ts +8 -8
  84. package/build/src/ViewerScopedEntityCompanion.js +5 -10
  85. package/build/src/ViewerScopedEntityCompanionProvider.d.ts +6 -6
  86. package/build/src/ViewerScopedEntityCompanionProvider.js +3 -8
  87. package/build/src/ViewerScopedEntityLoaderFactory.d.ts +8 -8
  88. package/build/src/ViewerScopedEntityLoaderFactory.js +1 -6
  89. package/build/src/ViewerScopedEntityMutatorFactory.d.ts +7 -7
  90. package/build/src/ViewerScopedEntityMutatorFactory.js +1 -6
  91. package/build/src/entityUtils.d.ts +1 -1
  92. package/build/src/entityUtils.js +9 -21
  93. package/build/src/errors/EntityCacheAdapterError.d.ts +1 -1
  94. package/build/src/errors/EntityCacheAdapterError.js +5 -11
  95. package/build/src/errors/EntityDatabaseAdapterError.d.ts +1 -1
  96. package/build/src/errors/EntityDatabaseAdapterError.js +41 -59
  97. package/build/src/errors/EntityError.js +5 -10
  98. package/build/src/errors/EntityInvalidFieldValueError.d.ts +5 -5
  99. package/build/src/errors/EntityInvalidFieldValueError.js +4 -9
  100. package/build/src/errors/EntityNotAuthorizedError.d.ts +4 -4
  101. package/build/src/errors/EntityNotAuthorizedError.js +6 -11
  102. package/build/src/errors/EntityNotFoundError.d.ts +5 -5
  103. package/build/src/errors/EntityNotFoundError.js +4 -9
  104. package/build/src/index.d.ts +77 -77
  105. package/build/src/index.js +77 -94
  106. package/build/src/internal/CompositeFieldHolder.d.ts +3 -2
  107. package/build/src/internal/CompositeFieldHolder.js +11 -21
  108. package/build/src/internal/CompositeFieldValueMap.d.ts +2 -2
  109. package/build/src/internal/CompositeFieldValueMap.js +7 -12
  110. package/build/src/internal/EntityDataManager.d.ts +6 -6
  111. package/build/src/internal/EntityDataManager.js +25 -33
  112. package/build/src/internal/EntityFieldTransformationUtils.d.ts +1 -1
  113. package/build/src/internal/EntityFieldTransformationUtils.js +11 -23
  114. package/build/src/internal/EntityLoadInterfaces.d.ts +3 -2
  115. package/build/src/internal/EntityLoadInterfaces.js +4 -9
  116. package/build/src/internal/EntityTableDataCoordinator.d.ts +8 -8
  117. package/build/src/internal/EntityTableDataCoordinator.js +4 -9
  118. package/build/src/internal/ReadThroughEntityCache.d.ts +3 -3
  119. package/build/src/internal/ReadThroughEntityCache.js +7 -15
  120. package/build/src/internal/SingleFieldHolder.d.ts +3 -2
  121. package/build/src/internal/SingleFieldHolder.js +9 -19
  122. package/build/src/metrics/EntityMetricsUtils.d.ts +3 -3
  123. package/build/src/metrics/EntityMetricsUtils.js +6 -14
  124. package/build/src/metrics/IEntityMetricsAdapter.d.ts +2 -2
  125. package/build/src/metrics/IEntityMetricsAdapter.js +8 -12
  126. package/build/src/metrics/NoOpEntityMetricsAdapter.d.ts +1 -1
  127. package/build/src/metrics/NoOpEntityMetricsAdapter.js +1 -6
  128. package/build/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.d.ts +5 -5
  129. package/build/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.js +5 -10
  130. package/build/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.d.ts +5 -5
  131. package/build/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.js +5 -10
  132. package/build/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.d.ts +6 -6
  133. package/build/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.js +6 -11
  134. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.d.ts +5 -5
  135. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js +3 -8
  136. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.d.ts +5 -5
  137. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js +3 -8
  138. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.d.ts +5 -5
  139. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js +3 -8
  140. package/build/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.d.ts +5 -5
  141. package/build/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.js +3 -8
  142. package/build/src/rules/PrivacyPolicyRule.d.ts +4 -4
  143. package/build/src/rules/PrivacyPolicyRule.js +3 -8
  144. package/build/src/utils/EntityCreationUtils.d.ts +5 -5
  145. package/build/src/utils/EntityCreationUtils.js +6 -11
  146. package/build/src/utils/EntityPrivacyUtils.d.ts +5 -5
  147. package/build/src/utils/EntityPrivacyUtils.js +20 -27
  148. package/build/src/utils/collections/SerializableKeyMap.js +1 -6
  149. package/build/src/utils/collections/maps.js +11 -27
  150. package/build/src/utils/collections/sets.js +1 -5
  151. package/build/src/utils/mergeEntityMutationTriggerConfigurations.d.ts +3 -3
  152. package/build/src/utils/mergeEntityMutationTriggerConfigurations.js +1 -5
  153. package/package.json +7 -6
  154. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +7 -6
  155. package/src/AuthorizationResultBasedEntityLoader.ts +19 -17
  156. package/src/AuthorizationResultBasedEntityMutator.ts +24 -22
  157. package/src/ComposedEntityCacheAdapter.ts +5 -4
  158. package/src/ComposedSecondaryEntityCache.ts +2 -2
  159. package/src/EnforcingEntityAssociationLoader.ts +7 -7
  160. package/src/EnforcingEntityCreator.ts +4 -4
  161. package/src/EnforcingEntityDeleter.ts +4 -4
  162. package/src/EnforcingEntityLoader.ts +8 -8
  163. package/src/EnforcingEntityUpdater.ts +4 -4
  164. package/src/Entity.ts +13 -13
  165. package/src/EntityAssociationLoader.ts +6 -6
  166. package/src/EntityCompanion.ts +13 -10
  167. package/src/EntityCompanionProvider.ts +15 -14
  168. package/src/EntityConfiguration.ts +6 -8
  169. package/src/EntityConstructionUtils.ts +16 -12
  170. package/src/EntityCreator.ts +7 -7
  171. package/src/EntityDatabaseAdapter.ts +6 -6
  172. package/src/EntityDeleter.ts +7 -7
  173. package/src/EntityFieldDefinition.ts +4 -4
  174. package/src/EntityFields.ts +3 -3
  175. package/src/EntityInvalidationUtils.ts +10 -10
  176. package/src/EntityLoader.ts +7 -7
  177. package/src/EntityLoaderFactory.ts +13 -10
  178. package/src/EntityMutationInfo.ts +2 -2
  179. package/src/EntityMutationTriggerConfiguration.ts +4 -4
  180. package/src/EntityMutationValidatorConfiguration.ts +4 -4
  181. package/src/EntityMutatorFactory.ts +13 -13
  182. package/src/EntityPrivacyPolicy.ts +9 -10
  183. package/src/EntityQueryContext.ts +1 -1
  184. package/src/EntityQueryContextProvider.ts +2 -2
  185. package/src/EntitySecondaryCacheLoader.ts +8 -8
  186. package/src/EntityUpdater.ts +7 -7
  187. package/src/GenericEntityCacheAdapter.ts +5 -5
  188. package/src/GenericSecondaryEntityCache.ts +4 -4
  189. package/src/IEntityCacheAdapter.ts +2 -2
  190. package/src/IEntityCacheAdapterProvider.ts +2 -2
  191. package/src/IEntityDatabaseAdapterProvider.ts +2 -2
  192. package/src/IEntityGenericCacher.ts +2 -2
  193. package/src/ReadonlyEntity.ts +11 -11
  194. package/src/ViewerContext.ts +8 -8
  195. package/src/ViewerScopedEntityCompanion.ts +8 -8
  196. package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
  197. package/src/ViewerScopedEntityLoaderFactory.ts +11 -8
  198. package/src/ViewerScopedEntityMutatorFactory.ts +8 -8
  199. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +6 -6
  200. package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +16 -15
  201. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +21 -18
  202. package/src/__tests__/ComposedCacheAdapter-test.ts +8 -7
  203. package/src/__tests__/ComposedSecondaryEntityCache-test.ts +3 -3
  204. package/src/__tests__/EnforcingEntityAssociationLoader-test.ts +2 -2
  205. package/src/__tests__/EnforcingEntityLoader-test.ts +4 -4
  206. package/src/__tests__/Entity-test.ts +8 -8
  207. package/src/__tests__/EntityAssociationLoader-test.ts +6 -6
  208. package/src/__tests__/EntityCommonUseCases-test.ts +17 -13
  209. package/src/__tests__/EntityCompanion-test.ts +11 -11
  210. package/src/__tests__/EntityCompanionProvider-test.ts +8 -7
  211. package/src/__tests__/EntityConfiguration-test.ts +3 -3
  212. package/src/__tests__/EntityDatabaseAdapter-test.ts +11 -7
  213. package/src/__tests__/EntityEdges-test.ts +17 -19
  214. package/src/__tests__/EntityFields-test.ts +3 -3
  215. package/src/__tests__/EntityLoader-test.ts +7 -7
  216. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +12 -11
  217. package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +4 -4
  218. package/src/__tests__/EntityMutator-test.ts +32 -36
  219. package/src/__tests__/EntityPrivacyPolicy-test.ts +19 -19
  220. package/src/__tests__/EntityQueryContext-test.ts +9 -9
  221. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +8 -7
  222. package/src/__tests__/EntitySelfReferentialEdges-test.ts +12 -12
  223. package/src/__tests__/GenericEntityCacheAdapter-test.ts +6 -6
  224. package/src/__tests__/GenericSecondaryEntityCache-test.ts +16 -18
  225. package/src/__tests__/ReadonlyEntity-test.ts +10 -10
  226. package/src/__tests__/ViewerContext-test.ts +3 -3
  227. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +7 -7
  228. package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +5 -5
  229. package/src/__tests__/ViewerScopedEntityLoaderFactory-test.ts +5 -5
  230. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +6 -6
  231. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +9 -9
  232. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +8 -8
  233. package/src/__tests__/entityUtils-test.ts +4 -4
  234. package/src/entityUtils.ts +1 -1
  235. package/src/errors/EntityCacheAdapterError.ts +1 -1
  236. package/src/errors/EntityDatabaseAdapterError.ts +1 -1
  237. package/src/errors/EntityInvalidFieldValueError.ts +5 -5
  238. package/src/errors/EntityNotAuthorizedError.ts +4 -4
  239. package/src/errors/EntityNotFoundError.ts +5 -5
  240. package/src/errors/__tests__/EntityDatabaseAdapterError-test.ts +2 -2
  241. package/src/errors/__tests__/EntityError-test.ts +7 -7
  242. package/src/index.ts +77 -77
  243. package/src/internal/CompositeFieldHolder.ts +6 -10
  244. package/src/internal/CompositeFieldValueMap.ts +3 -5
  245. package/src/internal/EntityDataManager.ts +11 -14
  246. package/src/internal/EntityFieldTransformationUtils.ts +2 -2
  247. package/src/internal/EntityLoadInterfaces.ts +3 -2
  248. package/src/internal/EntityTableDataCoordinator.ts +9 -9
  249. package/src/internal/ReadThroughEntityCache.ts +4 -4
  250. package/src/internal/SingleFieldHolder.ts +4 -8
  251. package/src/internal/__tests__/CompositeFieldHolder-test.ts +1 -1
  252. package/src/internal/__tests__/CompositeFieldValueMap-test.ts +3 -3
  253. package/src/internal/__tests__/EntityDataManager-test.ts +15 -18
  254. package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +3 -3
  255. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +6 -6
  256. package/src/metrics/EntityMetricsUtils.ts +5 -5
  257. package/src/metrics/IEntityMetricsAdapter.ts +3 -3
  258. package/src/metrics/NoOpEntityMetricsAdapter.ts +2 -2
  259. package/src/metrics/__tests__/EntityMetricsUtils-test.ts +4 -7
  260. package/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.ts +5 -5
  261. package/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.ts +5 -5
  262. package/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.ts +9 -6
  263. package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +5 -5
  264. package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +5 -5
  265. package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +5 -5
  266. package/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.ts +5 -5
  267. package/src/rules/PrivacyPolicyRule.ts +4 -4
  268. package/src/rules/__tests__/AllowIfAllSubRulesAllowPrivacyPolicyRule-test.ts +8 -8
  269. package/src/rules/__tests__/AllowIfAnySubRuleAllowsPrivacyPolicyRule-test.ts +8 -8
  270. package/src/rules/__tests__/AllowIfInParentCascadeDeletionPrivacyPolicyRule-test.ts +7 -7
  271. package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +5 -5
  272. package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +5 -5
  273. package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +5 -5
  274. package/src/rules/__tests__/EvaluateIfEntityFieldPredicatePrivacyPolicyRule-test.ts +9 -8
  275. package/src/utils/EntityCreationUtils.ts +7 -7
  276. package/src/utils/EntityPrivacyUtils.ts +13 -9
  277. package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +6 -5
  278. package/src/utils/__testfixtures__/SimpleTestEntity.ts +7 -7
  279. package/src/utils/__testfixtures__/StubCacheAdapter.ts +6 -5
  280. package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +6 -6
  281. package/src/utils/__testfixtures__/StubDatabaseAdapterProvider.ts +4 -4
  282. package/src/utils/__testfixtures__/StubQueryContextProvider.ts +2 -2
  283. package/src/utils/__testfixtures__/TSMockitoExtensions.ts +5 -5
  284. package/src/utils/__testfixtures__/TestEntity.ts +9 -8
  285. package/src/utils/__testfixtures__/TestEntity2.ts +7 -7
  286. package/src/utils/__testfixtures__/TestEntityWithMutationTriggers.ts +10 -10
  287. package/src/utils/__testfixtures__/TestViewerContext.ts +1 -1
  288. package/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.ts +6 -6
  289. package/src/utils/__testfixtures__/describeFieldTestCase.ts +1 -1
  290. package/src/utils/__tests__/EntityCreationUtils-test.ts +7 -7
  291. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +20 -21
  292. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +12 -12
  293. package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +2 -2
  294. package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +2 -1
  295. package/src/utils/collections/__tests__/maps-test.ts +5 -5
  296. package/src/utils/collections/__tests__/sets-test.ts +1 -1
  297. package/src/utils/mergeEntityMutationTriggerConfigurations.ts +3 -3
  298. package/build/src/AuthorizationResultBasedEntityAssociationLoader.js.map +0 -1
  299. package/build/src/AuthorizationResultBasedEntityLoader.js.map +0 -1
  300. package/build/src/AuthorizationResultBasedEntityMutator.js.map +0 -1
  301. package/build/src/ComposedEntityCacheAdapter.js.map +0 -1
  302. package/build/src/ComposedSecondaryEntityCache.js.map +0 -1
  303. package/build/src/EnforcingEntityAssociationLoader.js.map +0 -1
  304. package/build/src/EnforcingEntityCreator.js.map +0 -1
  305. package/build/src/EnforcingEntityDeleter.js.map +0 -1
  306. package/build/src/EnforcingEntityLoader.js.map +0 -1
  307. package/build/src/EnforcingEntityUpdater.js.map +0 -1
  308. package/build/src/Entity.js.map +0 -1
  309. package/build/src/EntityAssociationLoader.js.map +0 -1
  310. package/build/src/EntityCompanion.js.map +0 -1
  311. package/build/src/EntityCompanionProvider.js.map +0 -1
  312. package/build/src/EntityConfiguration.js.map +0 -1
  313. package/build/src/EntityConstructionUtils.js.map +0 -1
  314. package/build/src/EntityCreator.js.map +0 -1
  315. package/build/src/EntityDatabaseAdapter.js.map +0 -1
  316. package/build/src/EntityDeleter.js.map +0 -1
  317. package/build/src/EntityFieldDefinition.js.map +0 -1
  318. package/build/src/EntityFields.js.map +0 -1
  319. package/build/src/EntityInvalidationUtils.js.map +0 -1
  320. package/build/src/EntityLoader.js.map +0 -1
  321. package/build/src/EntityLoaderFactory.js.map +0 -1
  322. package/build/src/EntityMutationInfo.js.map +0 -1
  323. package/build/src/EntityMutationTriggerConfiguration.js.map +0 -1
  324. package/build/src/EntityMutationValidatorConfiguration.js.map +0 -1
  325. package/build/src/EntityMutatorFactory.js.map +0 -1
  326. package/build/src/EntityPrivacyPolicy.js.map +0 -1
  327. package/build/src/EntityQueryContext.js.map +0 -1
  328. package/build/src/EntityQueryContextProvider.js.map +0 -1
  329. package/build/src/EntitySecondaryCacheLoader.js.map +0 -1
  330. package/build/src/EntityUpdater.js.map +0 -1
  331. package/build/src/GenericEntityCacheAdapter.js.map +0 -1
  332. package/build/src/GenericSecondaryEntityCache.js.map +0 -1
  333. package/build/src/IEntityCacheAdapter.js.map +0 -1
  334. package/build/src/IEntityCacheAdapterProvider.js.map +0 -1
  335. package/build/src/IEntityDatabaseAdapterProvider.js.map +0 -1
  336. package/build/src/IEntityGenericCacher.js.map +0 -1
  337. package/build/src/ReadonlyEntity.js.map +0 -1
  338. package/build/src/ViewerContext.js.map +0 -1
  339. package/build/src/ViewerScopedEntityCompanion.js.map +0 -1
  340. package/build/src/ViewerScopedEntityCompanionProvider.js.map +0 -1
  341. package/build/src/ViewerScopedEntityLoaderFactory.js.map +0 -1
  342. package/build/src/ViewerScopedEntityMutatorFactory.js.map +0 -1
  343. package/build/src/entityUtils.js.map +0 -1
  344. package/build/src/errors/EntityCacheAdapterError.js.map +0 -1
  345. package/build/src/errors/EntityDatabaseAdapterError.js.map +0 -1
  346. package/build/src/errors/EntityError.js.map +0 -1
  347. package/build/src/errors/EntityInvalidFieldValueError.js.map +0 -1
  348. package/build/src/errors/EntityNotAuthorizedError.js.map +0 -1
  349. package/build/src/errors/EntityNotFoundError.js.map +0 -1
  350. package/build/src/index.js.map +0 -1
  351. package/build/src/internal/CompositeFieldHolder.js.map +0 -1
  352. package/build/src/internal/CompositeFieldValueMap.js.map +0 -1
  353. package/build/src/internal/EntityDataManager.js.map +0 -1
  354. package/build/src/internal/EntityFieldTransformationUtils.js.map +0 -1
  355. package/build/src/internal/EntityLoadInterfaces.js.map +0 -1
  356. package/build/src/internal/EntityTableDataCoordinator.js.map +0 -1
  357. package/build/src/internal/ReadThroughEntityCache.js.map +0 -1
  358. package/build/src/internal/SingleFieldHolder.js.map +0 -1
  359. package/build/src/metrics/EntityMetricsUtils.js.map +0 -1
  360. package/build/src/metrics/IEntityMetricsAdapter.js.map +0 -1
  361. package/build/src/metrics/NoOpEntityMetricsAdapter.js.map +0 -1
  362. package/build/src/rules/AllowIfAllSubRulesAllowPrivacyPolicyRule.js.map +0 -1
  363. package/build/src/rules/AllowIfAnySubRuleAllowsPrivacyPolicyRule.js.map +0 -1
  364. package/build/src/rules/AllowIfInParentCascadeDeletionPrivacyPolicyRule.js.map +0 -1
  365. package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js.map +0 -1
  366. package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js.map +0 -1
  367. package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js.map +0 -1
  368. package/build/src/rules/EvaluateIfEntityFieldPredicatePrivacyPolicyRule.js.map +0 -1
  369. package/build/src/rules/PrivacyPolicyRule.js.map +0 -1
  370. package/build/src/utils/EntityCreationUtils.js.map +0 -1
  371. package/build/src/utils/EntityPrivacyUtils.js.map +0 -1
  372. package/build/src/utils/collections/SerializableKeyMap.js.map +0 -1
  373. package/build/src/utils/collections/maps.js.map +0 -1
  374. package/build/src/utils/collections/sets.js.map +0 -1
  375. package/build/src/utils/mergeEntityMutationTriggerConfigurations.js.map +0 -1
@@ -1,101 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BufferField = exports.StrictEnumField = exports.EnumField = exports.JSONObjectField = exports.StringArrayField = exports.FloatField = exports.IntField = exports.BooleanField = exports.DateField = exports.UUIDField = exports.StringField = void 0;
4
- const EntityFieldDefinition_1 = require("./EntityFieldDefinition");
1
+ import { EntityFieldDefinition } from "./EntityFieldDefinition.js";
5
2
  // Use our own regex since the `uuid` package doesn't support validating UUIDv6/7/8 yet
6
3
  const UUID_REGEX = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
7
4
  /**
8
5
  * EntityFieldDefinition for a column with a JS string type.
9
6
  */
10
- class StringField extends EntityFieldDefinition_1.EntityFieldDefinition {
7
+ export class StringField extends EntityFieldDefinition {
11
8
  validateInputValueInternal(value) {
12
9
  return typeof value === 'string';
13
10
  }
14
11
  }
15
- exports.StringField = StringField;
16
12
  /**
17
13
  * EntityFieldDefinition for a column with a JS string type.
18
14
  * Enforces that the string is a valid UUID and that it is lowercase. Entity requires UUIDs to be lowercase since most
19
15
  * databases (e.g. Postgres) treat UUIDs as case-insensitive, which can lead to unexpected entity load results if mixed-case
20
16
  * UUIDs are used.
21
17
  */
22
- class UUIDField extends StringField {
18
+ export class UUIDField extends StringField {
23
19
  validateInputValueInternal(value) {
24
20
  return super.validateInputValueInternal(value) && UUID_REGEX.test(value);
25
21
  }
26
22
  }
27
- exports.UUIDField = UUIDField;
28
23
  /**
29
24
  * EntityFieldDefinition for a column with a JS Date type.
30
25
  */
31
- class DateField extends EntityFieldDefinition_1.EntityFieldDefinition {
26
+ export class DateField extends EntityFieldDefinition {
32
27
  validateInputValueInternal(value) {
33
28
  return value instanceof Date;
34
29
  }
35
30
  }
36
- exports.DateField = DateField;
37
31
  /**
38
32
  * EntityFieldDefinition for a column with a JS boolean type.
39
33
  */
40
- class BooleanField extends EntityFieldDefinition_1.EntityFieldDefinition {
34
+ export class BooleanField extends EntityFieldDefinition {
41
35
  validateInputValueInternal(value) {
42
36
  return typeof value === 'boolean';
43
37
  }
44
38
  }
45
- exports.BooleanField = BooleanField;
46
39
  /**
47
40
  * EntityFieldDefinition for a column with a JS number type.
48
41
  * Enforces that the number is an integer.
49
42
  */
50
- class IntField extends EntityFieldDefinition_1.EntityFieldDefinition {
43
+ export class IntField extends EntityFieldDefinition {
51
44
  validateInputValueInternal(value) {
52
45
  return typeof value === 'number' && Number.isInteger(value);
53
46
  }
54
47
  }
55
- exports.IntField = IntField;
56
48
  /**
57
49
  * EntityFieldDefinition for a column with a JS number type.
58
50
  * Enforces that the number is a float (which includes integers in JS).
59
51
  */
60
- class FloatField extends EntityFieldDefinition_1.EntityFieldDefinition {
52
+ export class FloatField extends EntityFieldDefinition {
61
53
  validateInputValueInternal(value) {
62
54
  return typeof value === 'number';
63
55
  }
64
56
  }
65
- exports.FloatField = FloatField;
66
57
  /**
67
58
  * EntityFieldDefinition for a column with a JS string array type.
68
59
  * Enforces that every member of the string array is a string.
69
60
  */
70
- class StringArrayField extends EntityFieldDefinition_1.EntityFieldDefinition {
61
+ export class StringArrayField extends EntityFieldDefinition {
71
62
  validateInputValueInternal(value) {
72
63
  return Array.isArray(value) && value.every((subValue) => typeof subValue === 'string');
73
64
  }
74
65
  }
75
- exports.StringArrayField = StringArrayField;
76
66
  /**
77
67
  * EntityFieldDefinition for a column with a JS JSON object type.
78
68
  */
79
- class JSONObjectField extends EntityFieldDefinition_1.EntityFieldDefinition {
69
+ export class JSONObjectField extends EntityFieldDefinition {
80
70
  validateInputValueInternal(value) {
81
71
  return typeof value === 'object' && !Array.isArray(value);
82
72
  }
83
73
  }
84
- exports.JSONObjectField = JSONObjectField;
85
74
  /**
86
75
  * EntityFieldDefinition for a enum column with a JS string or number type.
87
76
  */
88
- class EnumField extends EntityFieldDefinition_1.EntityFieldDefinition {
77
+ export class EnumField extends EntityFieldDefinition {
89
78
  validateInputValueInternal(value) {
90
79
  return typeof value === 'number' || typeof value === 'string';
91
80
  }
92
81
  }
93
- exports.EnumField = EnumField;
94
82
  /**
95
83
  * EntityFieldDefinition for a enum column with a strict typescript enum type.
96
84
  * The strict version checks that the value of the field adheres to a particular typescript enum
97
85
  */
98
- class StrictEnumField extends EnumField {
86
+ export class StrictEnumField extends EnumField {
99
87
  enum;
100
88
  constructor(options) {
101
89
  super(options);
@@ -105,14 +93,11 @@ class StrictEnumField extends EnumField {
105
93
  return super.validateInputValueInternal(value) && Object.values(this.enum).includes(value);
106
94
  }
107
95
  }
108
- exports.StrictEnumField = StrictEnumField;
109
96
  /**
110
97
  * EntityFieldDefinition for a column with a JS Buffer type.
111
98
  */
112
- class BufferField extends EntityFieldDefinition_1.EntityFieldDefinition {
99
+ export class BufferField extends EntityFieldDefinition {
113
100
  validateInputValueInternal(value) {
114
101
  return Buffer.isBuffer(value);
115
102
  }
116
103
  }
117
- exports.BufferField = BufferField;
118
- //# sourceMappingURL=EntityFields.js.map
@@ -1,11 +1,11 @@
1
- import { IEntityClass } from './Entity';
2
- import { EntityConfiguration } from './EntityConfiguration';
3
- import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
4
- import { EntityTransactionalQueryContext } from './EntityQueryContext';
5
- import { ReadonlyEntity } from './ReadonlyEntity';
6
- import { ViewerContext } from './ViewerContext';
7
- import { EntityDataManager } from './internal/EntityDataManager';
8
- import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
1
+ import type { IEntityClass } from './Entity.ts';
2
+ import type { EntityConfiguration } from './EntityConfiguration.ts';
3
+ import type { EntityPrivacyPolicy } from './EntityPrivacyPolicy.ts';
4
+ import type { EntityTransactionalQueryContext } from './EntityQueryContext.ts';
5
+ import type { ReadonlyEntity } from './ReadonlyEntity.ts';
6
+ import type { ViewerContext } from './ViewerContext.ts';
7
+ import type { EntityDataManager } from './internal/EntityDataManager.ts';
8
+ import type { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter.ts';
9
9
  /**
10
10
  * Entity invalidation utilities.
11
11
  * Methods are exposed publicly since in rare cases they may need to be called manually.
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityInvalidationUtils = void 0;
4
- const SingleFieldHolder_1 = require("./internal/SingleFieldHolder");
1
+ import { SingleFieldHolder, SingleFieldValueHolder } from "./internal/SingleFieldHolder.js";
5
2
  /**
6
3
  * Entity invalidation utilities.
7
4
  * Methods are exposed publicly since in rare cases they may need to be called manually.
8
5
  */
9
- class EntityInvalidationUtils {
6
+ export class EntityInvalidationUtils {
10
7
  entityConfiguration;
11
8
  dataManager;
12
9
  metricsAdapter;
@@ -22,8 +19,8 @@ class EntityInvalidationUtils {
22
19
  const value = objectFields[fieldName];
23
20
  if (value !== undefined && value !== null) {
24
21
  singleFieldKeyValues.push([
25
- new SingleFieldHolder_1.SingleFieldHolder(fieldName),
26
- new SingleFieldHolder_1.SingleFieldValueHolder(value),
22
+ new SingleFieldHolder(fieldName),
23
+ new SingleFieldValueHolder(value),
27
24
  ]);
28
25
  }
29
26
  }
@@ -67,5 +64,3 @@ class EntityInvalidationUtils {
67
64
  this.invalidateFieldsForTransaction(queryContext, entity.getAllDatabaseFields());
68
65
  }
69
66
  }
70
- exports.EntityInvalidationUtils = EntityInvalidationUtils;
71
- //# sourceMappingURL=EntityInvalidationUtils.js.map
@@ -1,10 +1,10 @@
1
- import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
2
- import { EnforcingEntityLoader } from './EnforcingEntityLoader';
3
- import { IEntityClass } from './Entity';
4
- import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
5
- import { EntityQueryContext } from './EntityQueryContext';
6
- import { ReadonlyEntity } from './ReadonlyEntity';
7
- import { ViewerContext } from './ViewerContext';
1
+ import type { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader.ts';
2
+ import { EnforcingEntityLoader } from './EnforcingEntityLoader.ts';
3
+ import type { IEntityClass } from './Entity.ts';
4
+ import type { EntityPrivacyPolicy } from './EntityPrivacyPolicy.ts';
5
+ import type { EntityQueryContext } from './EntityQueryContext.ts';
6
+ import type { ReadonlyEntity } from './ReadonlyEntity.ts';
7
+ import type { ViewerContext } from './ViewerContext.ts';
8
8
  /**
9
9
  * The primary interface for loading entities. All normal loads are batched,
10
10
  * cached, and authorized against the entity's EntityPrivacyPolicy.
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityLoader = void 0;
4
- const EnforcingEntityLoader_1 = require("./EnforcingEntityLoader");
1
+ import { EnforcingEntityLoader } from "./EnforcingEntityLoader.js";
5
2
  /**
6
3
  * The primary interface for loading entities. All normal loads are batched,
7
4
  * cached, and authorized against the entity's EntityPrivacyPolicy.
8
5
  */
9
- class EntityLoader {
6
+ export class EntityLoader {
10
7
  viewerContext;
11
8
  queryContext;
12
9
  entityClass;
@@ -21,7 +18,7 @@ class EntityLoader {
21
18
  * and will throw otherwise.
22
19
  */
23
20
  enforcing() {
24
- return new EnforcingEntityLoader_1.EnforcingEntityLoader(this.withAuthorizationResults());
21
+ return new EnforcingEntityLoader(this.withAuthorizationResults());
25
22
  }
26
23
  /**
27
24
  * Authorization-result-based entity loader. All loads through this
@@ -35,5 +32,3 @@ class EntityLoader {
35
32
  .forLoad(this.queryContext, { previousValue: null, cascadingDeleteCause: null });
36
33
  }
37
34
  }
38
- exports.EntityLoader = EntityLoader;
39
- //# sourceMappingURL=EntityLoader.js.map
@@ -1,13 +1,13 @@
1
- import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
2
- import { EntityCompanion } from './EntityCompanion';
3
- import { EntityConstructionUtils } from './EntityConstructionUtils';
4
- import { EntityInvalidationUtils } from './EntityInvalidationUtils';
5
- import { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
6
- import { EntityQueryContext } from './EntityQueryContext';
7
- import { ReadonlyEntity } from './ReadonlyEntity';
8
- import { ViewerContext } from './ViewerContext';
9
- import { EntityDataManager } from './internal/EntityDataManager';
10
- import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
1
+ import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader.ts';
2
+ import type { EntityCompanion } from './EntityCompanion.ts';
3
+ import { EntityConstructionUtils } from './EntityConstructionUtils.ts';
4
+ import { EntityInvalidationUtils } from './EntityInvalidationUtils.ts';
5
+ import type { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy.ts';
6
+ import type { EntityQueryContext } from './EntityQueryContext.ts';
7
+ import type { ReadonlyEntity } from './ReadonlyEntity.ts';
8
+ import type { ViewerContext } from './ViewerContext.ts';
9
+ import type { EntityDataManager } from './internal/EntityDataManager.ts';
10
+ import type { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter.ts';
11
11
  /**
12
12
  * The primary entry point for loading entities.
13
13
  */
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityLoaderFactory = void 0;
4
- const AuthorizationResultBasedEntityLoader_1 = require("./AuthorizationResultBasedEntityLoader");
5
- const EntityConstructionUtils_1 = require("./EntityConstructionUtils");
6
- const EntityInvalidationUtils_1 = require("./EntityInvalidationUtils");
1
+ import { AuthorizationResultBasedEntityLoader } from "./AuthorizationResultBasedEntityLoader.js";
2
+ import { EntityConstructionUtils } from "./EntityConstructionUtils.js";
3
+ import { EntityInvalidationUtils } from "./EntityInvalidationUtils.js";
7
4
  /**
8
5
  * The primary entry point for loading entities.
9
6
  */
10
- class EntityLoaderFactory {
7
+ export class EntityLoaderFactory {
11
8
  entityCompanion;
12
9
  dataManager;
13
10
  metricsAdapter;
@@ -17,10 +14,10 @@ class EntityLoaderFactory {
17
14
  this.metricsAdapter = metricsAdapter;
18
15
  }
19
16
  invalidationUtils() {
20
- return new EntityInvalidationUtils_1.EntityInvalidationUtils(this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.dataManager, this.metricsAdapter);
17
+ return new EntityInvalidationUtils(this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.dataManager, this.metricsAdapter);
21
18
  }
22
19
  constructionUtils(viewerContext, queryContext, privacyPolicyEvaluationContext) {
23
- return new EntityConstructionUtils_1.EntityConstructionUtils(viewerContext, queryContext, privacyPolicyEvaluationContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.entityCompanion.entityCompanionDefinition.entitySelectedFields, this.entityCompanion.privacyPolicy, this.metricsAdapter);
20
+ return new EntityConstructionUtils(viewerContext, queryContext, privacyPolicyEvaluationContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.entityCompanion.entityCompanionDefinition.entitySelectedFields, this.entityCompanion.privacyPolicy, this.metricsAdapter);
24
21
  }
25
22
  /**
26
23
  * Vend loader for loading an entity in a given query context.
@@ -29,8 +26,6 @@ class EntityLoaderFactory {
29
26
  */
30
27
  forLoad(viewerContext, queryContext, privacyPolicyEvaluationContext) {
31
28
  const constructionUtils = this.constructionUtils(viewerContext, queryContext, privacyPolicyEvaluationContext);
32
- return new AuthorizationResultBasedEntityLoader_1.AuthorizationResultBasedEntityLoader(queryContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.dataManager, constructionUtils);
29
+ return new AuthorizationResultBasedEntityLoader(queryContext, this.entityCompanion.entityCompanionDefinition.entityConfiguration, this.entityCompanion.entityCompanionDefinition.entityClass, this.dataManager, constructionUtils);
33
30
  }
34
31
  }
35
- exports.EntityLoaderFactory = EntityLoaderFactory;
36
- //# sourceMappingURL=EntityLoaderFactory.js.map
@@ -1,5 +1,5 @@
1
- import { Entity } from './Entity';
2
- import { ViewerContext } from './ViewerContext';
1
+ import type { Entity } from './Entity.ts';
2
+ import type { ViewerContext } from './ViewerContext.ts';
3
3
  export declare enum EntityMutationType {
4
4
  CREATE = 0,
5
5
  UPDATE = 1,
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityMutationType = void 0;
4
- var EntityMutationType;
1
+ export var EntityMutationType;
5
2
  (function (EntityMutationType) {
6
3
  EntityMutationType[EntityMutationType["CREATE"] = 0] = "CREATE";
7
4
  EntityMutationType[EntityMutationType["UPDATE"] = 1] = "UPDATE";
8
5
  EntityMutationType[EntityMutationType["DELETE"] = 2] = "DELETE";
9
- })(EntityMutationType || (exports.EntityMutationType = EntityMutationType = {}));
10
- //# sourceMappingURL=EntityMutationInfo.js.map
6
+ })(EntityMutationType || (EntityMutationType = {}));
@@ -1,7 +1,7 @@
1
- import { EntityTriggerMutationInfo } from './EntityMutationInfo';
2
- import { EntityTransactionalQueryContext } from './EntityQueryContext';
3
- import { ReadonlyEntity } from './ReadonlyEntity';
4
- import { ViewerContext } from './ViewerContext';
1
+ import type { EntityTriggerMutationInfo } from './EntityMutationInfo.ts';
2
+ import type { EntityTransactionalQueryContext } from './EntityQueryContext.ts';
3
+ import type { ReadonlyEntity } from './ReadonlyEntity.ts';
4
+ import type { ViewerContext } from './ViewerContext.ts';
5
5
  /**
6
6
  * Interface to define trigger behavior for entities.
7
7
  */
@@ -1,18 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityNonTransactionalMutationTrigger = exports.EntityMutationTrigger = void 0;
4
1
  /**
5
2
  * A transactional trigger is a way to specify entity mutation operation side-effects that run within the
6
3
  * same transaction as the mutation itself.
7
4
  */
8
- class EntityMutationTrigger {
5
+ export class EntityMutationTrigger {
9
6
  }
10
- exports.EntityMutationTrigger = EntityMutationTrigger;
11
7
  /**
12
8
  * A non-transactional trigger is like a EntityMutationTrigger but used for afterCommit triggers
13
9
  * since they run after the transaction is committed.
14
10
  */
15
- class EntityNonTransactionalMutationTrigger {
11
+ export class EntityNonTransactionalMutationTrigger {
16
12
  }
17
- exports.EntityNonTransactionalMutationTrigger = EntityNonTransactionalMutationTrigger;
18
- //# sourceMappingURL=EntityMutationTriggerConfiguration.js.map
@@ -1,7 +1,7 @@
1
- import { EntityValidatorMutationInfo } from './EntityMutationInfo';
2
- import { EntityTransactionalQueryContext } from './EntityQueryContext';
3
- import { ReadonlyEntity } from './ReadonlyEntity';
4
- import { ViewerContext } from './ViewerContext';
1
+ import type { EntityValidatorMutationInfo } from './EntityMutationInfo.ts';
2
+ import type { EntityTransactionalQueryContext } from './EntityQueryContext.ts';
3
+ import type { ReadonlyEntity } from './ReadonlyEntity.ts';
4
+ import type { ViewerContext } from './ViewerContext.ts';
5
5
  /**
6
6
  * Interface to define validator behavior for entities.
7
7
  */
@@ -1,11 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityMutationValidator = void 0;
4
1
  /**
5
2
  * A validator is a way to specify side-effect-free entity mutation validation that runs within the
6
3
  * same transaction as the mutation itself.
7
4
  */
8
- class EntityMutationValidator {
5
+ export class EntityMutationValidator {
9
6
  }
10
- exports.EntityMutationValidator = EntityMutationValidator;
11
- //# sourceMappingURL=EntityMutationValidatorConfiguration.js.map
@@ -1,16 +1,16 @@
1
- import { AuthorizationResultBasedCreateMutator, AuthorizationResultBasedDeleteMutator, AuthorizationResultBasedUpdateMutator } from './AuthorizationResultBasedEntityMutator';
2
- import { Entity, IEntityClass } from './Entity';
3
- import { EntityCompanionProvider } from './EntityCompanionProvider';
4
- import { EntityConfiguration } from './EntityConfiguration';
5
- import { EntityDatabaseAdapter } from './EntityDatabaseAdapter';
6
- import { EntityLoaderFactory } from './EntityLoaderFactory';
7
- import { EntityCascadingDeletionInfo } from './EntityMutationInfo';
8
- import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
9
- import { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
10
- import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
11
- import { EntityQueryContext } from './EntityQueryContext';
12
- import { ViewerContext } from './ViewerContext';
13
- import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
1
+ import { AuthorizationResultBasedCreateMutator, AuthorizationResultBasedDeleteMutator, AuthorizationResultBasedUpdateMutator } from './AuthorizationResultBasedEntityMutator.ts';
2
+ import type { Entity, IEntityClass } from './Entity.ts';
3
+ import type { EntityCompanionProvider } from './EntityCompanionProvider.ts';
4
+ import type { EntityConfiguration } from './EntityConfiguration.ts';
5
+ import type { EntityDatabaseAdapter } from './EntityDatabaseAdapter.ts';
6
+ import type { EntityLoaderFactory } from './EntityLoaderFactory.ts';
7
+ import type { EntityCascadingDeletionInfo } from './EntityMutationInfo.ts';
8
+ import type { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration.ts';
9
+ import type { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration.ts';
10
+ import type { EntityPrivacyPolicy } from './EntityPrivacyPolicy.ts';
11
+ import type { EntityQueryContext } from './EntityQueryContext.ts';
12
+ import type { ViewerContext } from './ViewerContext.ts';
13
+ import type { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter.ts';
14
14
  /**
15
15
  * The primary interface for creating, mutating, and deleting entities.
16
16
  */
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityMutatorFactory = void 0;
4
- const AuthorizationResultBasedEntityMutator_1 = require("./AuthorizationResultBasedEntityMutator");
1
+ import { AuthorizationResultBasedCreateMutator, AuthorizationResultBasedDeleteMutator, AuthorizationResultBasedUpdateMutator, } from "./AuthorizationResultBasedEntityMutator.js";
5
2
  /**
6
3
  * The primary interface for creating, mutating, and deleting entities.
7
4
  */
8
- class EntityMutatorFactory {
5
+ export class EntityMutatorFactory {
9
6
  entityCompanionProvider;
10
7
  entityConfiguration;
11
8
  entityClass;
@@ -33,7 +30,7 @@ class EntityMutatorFactory {
33
30
  * @returns mutator for creating an entity
34
31
  */
35
32
  forCreate(viewerContext, queryContext) {
36
- return new AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedCreateMutator(this.entityCompanionProvider, viewerContext, queryContext, this.entityConfiguration, this.entityClass, this.privacyPolicy, this.mutationValidators, this.mutationTriggers, this.entityLoaderFactory, this.databaseAdapter, this.metricsAdapter);
33
+ return new AuthorizationResultBasedCreateMutator(this.entityCompanionProvider, viewerContext, queryContext, this.entityConfiguration, this.entityClass, this.privacyPolicy, this.mutationValidators, this.mutationTriggers, this.entityLoaderFactory, this.databaseAdapter, this.metricsAdapter);
37
34
  }
38
35
  /**
39
36
  * Vend mutator for updating an existing entity in given query context.
@@ -42,7 +39,7 @@ class EntityMutatorFactory {
42
39
  * @returns mutator for updating existingEntity
43
40
  */
44
41
  forUpdate(existingEntity, queryContext, cascadingDeleteCause) {
45
- return new AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedUpdateMutator(this.entityCompanionProvider, existingEntity.getViewerContext(), queryContext, this.entityConfiguration, this.entityClass, this.privacyPolicy, this.mutationValidators, this.mutationTriggers, this.entityLoaderFactory, this.databaseAdapter, this.metricsAdapter, existingEntity, cascadingDeleteCause);
42
+ return new AuthorizationResultBasedUpdateMutator(this.entityCompanionProvider, existingEntity.getViewerContext(), queryContext, this.entityConfiguration, this.entityClass, this.privacyPolicy, this.mutationValidators, this.mutationTriggers, this.entityLoaderFactory, this.databaseAdapter, this.metricsAdapter, existingEntity, cascadingDeleteCause);
46
43
  }
47
44
  /**
48
45
  * Delete an existing entity in given query context.
@@ -50,8 +47,6 @@ class EntityMutatorFactory {
50
47
  * @param queryContext - query context in which to perform the delete
51
48
  */
52
49
  forDelete(existingEntity, queryContext, cascadingDeleteCause) {
53
- return new AuthorizationResultBasedEntityMutator_1.AuthorizationResultBasedDeleteMutator(this.entityCompanionProvider, existingEntity.getViewerContext(), queryContext, this.entityConfiguration, this.entityClass, this.privacyPolicy, this.mutationValidators, this.mutationTriggers, this.entityLoaderFactory, this.databaseAdapter, this.metricsAdapter, existingEntity, cascadingDeleteCause);
50
+ return new AuthorizationResultBasedDeleteMutator(this.entityCompanionProvider, existingEntity.getViewerContext(), queryContext, this.entityConfiguration, this.entityClass, this.privacyPolicy, this.mutationValidators, this.mutationTriggers, this.entityLoaderFactory, this.databaseAdapter, this.metricsAdapter, existingEntity, cascadingDeleteCause);
54
51
  }
55
52
  }
56
- exports.EntityMutatorFactory = EntityMutatorFactory;
57
- //# sourceMappingURL=EntityMutatorFactory.js.map
@@ -1,10 +1,10 @@
1
- import { EntityCascadingDeletionInfo } from './EntityMutationInfo';
2
- import { EntityQueryContext } from './EntityQueryContext';
3
- import { ReadonlyEntity } from './ReadonlyEntity';
4
- import { ViewerContext } from './ViewerContext';
5
- import { EntityNotAuthorizedError } from './errors/EntityNotAuthorizedError';
6
- import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
7
- import { PrivacyPolicyRule } from './rules/PrivacyPolicyRule';
1
+ import type { EntityCascadingDeletionInfo } from './EntityMutationInfo.ts';
2
+ import type { EntityQueryContext } from './EntityQueryContext.ts';
3
+ import type { ReadonlyEntity } from './ReadonlyEntity.ts';
4
+ import type { ViewerContext } from './ViewerContext.ts';
5
+ import { EntityNotAuthorizedError } from './errors/EntityNotAuthorizedError.ts';
6
+ import type { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter.ts';
7
+ import type { PrivacyPolicyRule } from './rules/PrivacyPolicyRule.ts';
8
8
  /**
9
9
  * Information about the reason this privacy policy is being evaluated.
10
10
  */
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityPrivacyPolicy = exports.EntityAuthorizationAction = exports.EntityPrivacyPolicyEvaluationMode = void 0;
4
- const EntityNotAuthorizedError_1 = require("./errors/EntityNotAuthorizedError");
5
- const IEntityMetricsAdapter_1 = require("./metrics/IEntityMetricsAdapter");
6
- const PrivacyPolicyRule_1 = require("./rules/PrivacyPolicyRule");
1
+ import { EntityNotAuthorizedError } from "./errors/EntityNotAuthorizedError.js";
2
+ import { EntityMetricsAuthorizationResult } from "./metrics/IEntityMetricsAdapter.js";
3
+ import { RuleEvaluationResult } from "./rules/PrivacyPolicyRule.js";
7
4
  /**
8
5
  * Evaluation mode for a EntityPrivacyPolicy. Useful when transitioning to
9
6
  * using Entity for privacy.
10
7
  */
11
- var EntityPrivacyPolicyEvaluationMode;
8
+ export var EntityPrivacyPolicyEvaluationMode;
12
9
  (function (EntityPrivacyPolicyEvaluationMode) {
13
10
  /**
14
11
  * Enforce this privacy policy. Throw upon denial.
@@ -22,14 +19,14 @@ var EntityPrivacyPolicyEvaluationMode;
22
19
  * Enforce this privacy policy. Throw and log upon denial.
23
20
  */
24
21
  EntityPrivacyPolicyEvaluationMode[EntityPrivacyPolicyEvaluationMode["ENFORCE_AND_LOG"] = 2] = "ENFORCE_AND_LOG";
25
- })(EntityPrivacyPolicyEvaluationMode || (exports.EntityPrivacyPolicyEvaluationMode = EntityPrivacyPolicyEvaluationMode = {}));
26
- var EntityAuthorizationAction;
22
+ })(EntityPrivacyPolicyEvaluationMode || (EntityPrivacyPolicyEvaluationMode = {}));
23
+ export var EntityAuthorizationAction;
27
24
  (function (EntityAuthorizationAction) {
28
25
  EntityAuthorizationAction[EntityAuthorizationAction["CREATE"] = 0] = "CREATE";
29
26
  EntityAuthorizationAction[EntityAuthorizationAction["READ"] = 1] = "READ";
30
27
  EntityAuthorizationAction[EntityAuthorizationAction["UPDATE"] = 2] = "UPDATE";
31
28
  EntityAuthorizationAction[EntityAuthorizationAction["DELETE"] = 3] = "DELETE";
32
- })(EntityAuthorizationAction || (exports.EntityAuthorizationAction = EntityAuthorizationAction = {}));
29
+ })(EntityAuthorizationAction || (EntityAuthorizationAction = {}));
33
30
  /**
34
31
  * Privacy policy for an entity.
35
32
  *
@@ -51,7 +48,7 @@ var EntityAuthorizationAction;
51
48
  * return not authorized if all rules skip
52
49
  * ```
53
50
  */
54
- class EntityPrivacyPolicy {
51
+ export class EntityPrivacyPolicy {
55
52
  /**
56
53
  * List of rules to evaluate for create authorization.
57
54
  */
@@ -143,19 +140,19 @@ class EntityPrivacyPolicy {
143
140
  metricsAdapter.logAuthorizationEvent({
144
141
  entityClassName: entity.constructor.name,
145
142
  action,
146
- evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.ALLOW,
143
+ evaluationResult: EntityMetricsAuthorizationResult.ALLOW,
147
144
  privacyPolicyEvaluationMode: privacyPolicyEvaluator.mode,
148
145
  });
149
146
  return result;
150
147
  }
151
148
  catch (e) {
152
- if (!(e instanceof EntityNotAuthorizedError_1.EntityNotAuthorizedError)) {
149
+ if (!(e instanceof EntityNotAuthorizedError)) {
153
150
  throw e;
154
151
  }
155
152
  metricsAdapter.logAuthorizationEvent({
156
153
  entityClassName: entity.constructor.name,
157
154
  action,
158
- evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
155
+ evaluationResult: EntityMetricsAuthorizationResult.DENY,
159
156
  privacyPolicyEvaluationMode: privacyPolicyEvaluator.mode,
160
157
  });
161
158
  throw e;
@@ -166,20 +163,20 @@ class EntityPrivacyPolicy {
166
163
  metricsAdapter.logAuthorizationEvent({
167
164
  entityClassName: entity.constructor.name,
168
165
  action,
169
- evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.ALLOW,
166
+ evaluationResult: EntityMetricsAuthorizationResult.ALLOW,
170
167
  privacyPolicyEvaluationMode: privacyPolicyEvaluator.mode,
171
168
  });
172
169
  return result;
173
170
  }
174
171
  catch (e) {
175
- if (!(e instanceof EntityNotAuthorizedError_1.EntityNotAuthorizedError)) {
172
+ if (!(e instanceof EntityNotAuthorizedError)) {
176
173
  throw e;
177
174
  }
178
175
  privacyPolicyEvaluator.denyHandler(e);
179
176
  metricsAdapter.logAuthorizationEvent({
180
177
  entityClassName: entity.constructor.name,
181
178
  action,
182
- evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
179
+ evaluationResult: EntityMetricsAuthorizationResult.DENY,
183
180
  privacyPolicyEvaluationMode: privacyPolicyEvaluator.mode,
184
181
  });
185
182
  throw e;
@@ -190,20 +187,20 @@ class EntityPrivacyPolicy {
190
187
  metricsAdapter.logAuthorizationEvent({
191
188
  entityClassName: entity.constructor.name,
192
189
  action,
193
- evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.ALLOW,
190
+ evaluationResult: EntityMetricsAuthorizationResult.ALLOW,
194
191
  privacyPolicyEvaluationMode: privacyPolicyEvaluator.mode,
195
192
  });
196
193
  return result;
197
194
  }
198
195
  catch (e) {
199
- if (!(e instanceof EntityNotAuthorizedError_1.EntityNotAuthorizedError)) {
196
+ if (!(e instanceof EntityNotAuthorizedError)) {
200
197
  throw e;
201
198
  }
202
199
  privacyPolicyEvaluator.denyHandler(e);
203
200
  metricsAdapter.logAuthorizationEvent({
204
201
  entityClassName: entity.constructor.name,
205
202
  action,
206
- evaluationResult: IEntityMetricsAdapter_1.EntityMetricsAuthorizationResult.DENY,
203
+ evaluationResult: EntityMetricsAuthorizationResult.DENY,
207
204
  privacyPolicyEvaluationMode: privacyPolicyEvaluator.mode,
208
205
  });
209
206
  return entity;
@@ -215,18 +212,16 @@ class EntityPrivacyPolicy {
215
212
  const rule = ruleset[i];
216
213
  const ruleEvaluationResult = await rule.evaluateAsync(viewerContext, queryContext, { ...evaluationContext, action }, entity);
217
214
  switch (ruleEvaluationResult) {
218
- case PrivacyPolicyRule_1.RuleEvaluationResult.DENY:
219
- throw new EntityNotAuthorizedError_1.EntityNotAuthorizedError(entity, viewerContext, action, i);
220
- case PrivacyPolicyRule_1.RuleEvaluationResult.SKIP:
215
+ case RuleEvaluationResult.DENY:
216
+ throw new EntityNotAuthorizedError(entity, viewerContext, action, i);
217
+ case RuleEvaluationResult.SKIP:
221
218
  continue;
222
- case PrivacyPolicyRule_1.RuleEvaluationResult.ALLOW:
219
+ case RuleEvaluationResult.ALLOW:
223
220
  return entity;
224
221
  default:
225
222
  throw new Error(`Invalid RuleEvaluationResult returned from rule: ${entity} (viewer = ${viewerContext}, action = ${EntityAuthorizationAction[action]}, ruleIndex = ${i})`);
226
223
  }
227
224
  }
228
- throw new EntityNotAuthorizedError_1.EntityNotAuthorizedError(entity, viewerContext, action, -1);
225
+ throw new EntityNotAuthorizedError(entity, viewerContext, action, -1);
229
226
  }
230
227
  }
231
- exports.EntityPrivacyPolicy = EntityPrivacyPolicy;
232
- //# sourceMappingURL=EntityPrivacyPolicy.js.map
@@ -1,4 +1,4 @@
1
- import { EntityQueryContextProvider } from './EntityQueryContextProvider';
1
+ import type { EntityQueryContextProvider } from './EntityQueryContextProvider.ts';
2
2
  export type PostCommitCallback = (...args: any) => Promise<any>;
3
3
  export type PreCommitCallback = (queryContext: EntityTransactionalQueryContext, ...args: any) => Promise<any>;
4
4
  export declare enum TransactionIsolationLevel {