@expo/entity 0.41.0 → 0.43.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 (430) hide show
  1. package/build/AuthorizationResultBasedEntityAssociationLoader.d.ts +16 -16
  2. package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -1
  3. package/build/AuthorizationResultBasedEntityLoader.d.ts +39 -67
  4. package/build/AuthorizationResultBasedEntityLoader.js +85 -62
  5. package/build/AuthorizationResultBasedEntityLoader.js.map +1 -1
  6. package/build/AuthorizationResultBasedEntityMutator.d.ts +16 -16
  7. package/build/AuthorizationResultBasedEntityMutator.js.map +1 -1
  8. package/build/ComposedEntityCacheAdapter.d.ts +7 -6
  9. package/build/ComposedEntityCacheAdapter.js +28 -28
  10. package/build/ComposedEntityCacheAdapter.js.map +1 -1
  11. package/build/ComposedSecondaryEntityCache.d.ts +1 -1
  12. package/build/ComposedSecondaryEntityCache.js.map +1 -1
  13. package/build/EnforcingEntityAssociationLoader.d.ts +15 -15
  14. package/build/EnforcingEntityAssociationLoader.js.map +1 -1
  15. package/build/EnforcingEntityCreator.d.ts +2 -2
  16. package/build/EnforcingEntityDeleter.d.ts +2 -2
  17. package/build/EnforcingEntityLoader.d.ts +104 -18
  18. package/build/EnforcingEntityLoader.js +113 -12
  19. package/build/EnforcingEntityLoader.js.map +1 -1
  20. package/build/EnforcingEntityUpdater.d.ts +2 -2
  21. package/build/Entity.d.ts +10 -10
  22. package/build/Entity.js.map +1 -1
  23. package/build/EntityAssociationLoader.d.ts +3 -3
  24. package/build/EntityCompanion.d.ts +5 -5
  25. package/build/EntityCompanion.js.map +1 -1
  26. package/build/EntityCompanionProvider.d.ts +6 -6
  27. package/build/EntityCompanionProvider.js.map +1 -1
  28. package/build/EntityConfiguration.d.ts +46 -5
  29. package/build/EntityConfiguration.js +39 -1
  30. package/build/EntityConfiguration.js.map +1 -1
  31. package/build/EntityCreator.d.ts +4 -4
  32. package/build/EntityDatabaseAdapter.d.ts +15 -14
  33. package/build/EntityDatabaseAdapter.js +20 -12
  34. package/build/EntityDatabaseAdapter.js.map +1 -1
  35. package/build/EntityDeleter.d.ts +4 -4
  36. package/build/EntityFieldDefinition.d.ts +20 -10
  37. package/build/EntityFieldDefinition.js +3 -1
  38. package/build/EntityFieldDefinition.js.map +1 -1
  39. package/build/EntityFields.d.ts +14 -12
  40. package/build/EntityFields.js.map +1 -1
  41. package/build/EntityLoader.d.ts +5 -5
  42. package/build/EntityLoaderFactory.d.ts +3 -3
  43. package/build/EntityLoaderFactory.js.map +1 -1
  44. package/build/EntityLoaderUtils.d.ts +2 -2
  45. package/build/EntityLoaderUtils.js +27 -1
  46. package/build/EntityLoaderUtils.js.map +1 -1
  47. package/build/EntityMutationInfo.d.ts +2 -2
  48. package/build/EntityMutationTriggerConfiguration.d.ts +14 -14
  49. package/build/EntityMutationTriggerConfiguration.js.map +1 -1
  50. package/build/EntityMutationValidator.d.ts +2 -2
  51. package/build/EntityMutatorFactory.d.ts +5 -5
  52. package/build/EntityMutatorFactory.js.map +1 -1
  53. package/build/EntityPrivacyPolicy.d.ts +14 -14
  54. package/build/EntityPrivacyPolicy.js.map +1 -1
  55. package/build/EntitySecondaryCacheLoader.d.ts +4 -4
  56. package/build/EntityUpdater.d.ts +4 -4
  57. package/build/GenericEntityCacheAdapter.d.ts +7 -6
  58. package/build/GenericEntityCacheAdapter.js +13 -14
  59. package/build/GenericEntityCacheAdapter.js.map +1 -1
  60. package/build/GenericSecondaryEntityCache.d.ts +3 -3
  61. package/build/GenericSecondaryEntityCache.js.map +1 -1
  62. package/build/IEntityCacheAdapter.d.ts +17 -16
  63. package/build/IEntityCacheAdapterProvider.d.ts +1 -1
  64. package/build/IEntityDatabaseAdapterProvider.d.ts +1 -1
  65. package/build/IEntityGenericCacher.d.ts +15 -5
  66. package/build/ReadonlyEntity.d.ts +8 -8
  67. package/build/ReadonlyEntity.js.map +1 -1
  68. package/build/ViewerContext.d.ts +1 -1
  69. package/build/ViewerScopedEntityCompanion.d.ts +5 -5
  70. package/build/ViewerScopedEntityCompanionProvider.d.ts +1 -1
  71. package/build/ViewerScopedEntityLoaderFactory.d.ts +3 -3
  72. package/build/ViewerScopedEntityMutatorFactory.d.ts +5 -5
  73. package/build/entityUtils.d.ts +1 -1
  74. package/build/entityUtils.js.map +1 -1
  75. package/build/errors/EntityInvalidFieldValueError.d.ts +2 -2
  76. package/build/errors/EntityNotAuthorizedError.d.ts +1 -1
  77. package/build/errors/EntityNotFoundError.d.ts +2 -2
  78. package/build/index.d.ts +7 -7
  79. package/build/index.js +8 -13
  80. package/build/index.js.map +1 -1
  81. package/build/internal/CompositeFieldHolder.d.ts +48 -0
  82. package/build/internal/CompositeFieldHolder.js +116 -0
  83. package/build/internal/CompositeFieldHolder.js.map +1 -0
  84. package/build/internal/CompositeFieldValueMap.d.ts +15 -0
  85. package/build/internal/CompositeFieldValueMap.js +51 -0
  86. package/build/internal/CompositeFieldValueMap.js.map +1 -0
  87. package/build/internal/EntityDataManager.d.ts +16 -16
  88. package/build/internal/EntityDataManager.js +42 -45
  89. package/build/internal/EntityDataManager.js.map +1 -1
  90. package/build/internal/EntityFieldTransformationUtils.d.ts +5 -5
  91. package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
  92. package/build/internal/EntityLoadInterfaces.d.ts +104 -0
  93. package/build/internal/EntityLoadInterfaces.js +25 -0
  94. package/build/internal/EntityLoadInterfaces.js.map +1 -0
  95. package/build/internal/EntityTableDataCoordinator.d.ts +6 -6
  96. package/build/internal/EntityTableDataCoordinator.js.map +1 -1
  97. package/build/internal/ReadThroughEntityCache.d.ts +17 -16
  98. package/build/internal/ReadThroughEntityCache.js +36 -36
  99. package/build/internal/ReadThroughEntityCache.js.map +1 -1
  100. package/build/internal/SingleFieldHolder.d.ts +34 -0
  101. package/build/internal/SingleFieldHolder.js +90 -0
  102. package/build/internal/SingleFieldHolder.js.map +1 -0
  103. package/build/metrics/EntityMetricsUtils.d.ts +2 -1
  104. package/build/metrics/EntityMetricsUtils.js.map +1 -1
  105. package/build/metrics/IEntityMetricsAdapter.d.ts +5 -0
  106. package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
  107. package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +2 -2
  108. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
  109. package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +2 -2
  110. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
  111. package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +2 -2
  112. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
  113. package/build/rules/PrivacyPolicyRule.d.ts +2 -2
  114. package/build/tsconfig.build.tsbuildinfo +1 -0
  115. package/build/utils/EntityPrivacyUtils.d.ts +4 -4
  116. package/build/utils/EntityPrivacyUtils.js.map +1 -1
  117. package/build/utils/collections/SerializableKeyMap.d.ts +27 -0
  118. package/build/utils/collections/SerializableKeyMap.js +60 -0
  119. package/build/utils/collections/SerializableKeyMap.js.map +1 -0
  120. package/build/utils/collections/maps.js +1 -2
  121. package/build/utils/collections/maps.js.map +1 -1
  122. package/build/utils/collections/sets.d.ts +1 -0
  123. package/build/utils/collections/sets.js +7 -0
  124. package/build/utils/collections/sets.js.map +1 -0
  125. package/build/utils/mergeEntityMutationTriggerConfigurations.d.ts +1 -1
  126. package/package.json +8 -5
  127. package/src/AuthorizationResultBasedEntityAssociationLoader.ts +56 -49
  128. package/src/AuthorizationResultBasedEntityLoader.ts +194 -81
  129. package/src/AuthorizationResultBasedEntityMutator.ts +71 -45
  130. package/src/ComposedEntityCacheAdapter.ts +55 -46
  131. package/src/ComposedSecondaryEntityCache.ts +5 -2
  132. package/src/EnforcingEntityAssociationLoader.ts +52 -44
  133. package/src/EnforcingEntityCreator.ts +5 -5
  134. package/src/EnforcingEntityDeleter.ts +5 -5
  135. package/src/EnforcingEntityLoader.ts +158 -21
  136. package/src/EnforcingEntityUpdater.ts +5 -5
  137. package/src/Entity.ts +39 -39
  138. package/src/EntityAssociationLoader.ts +6 -6
  139. package/src/EntityCompanion.ts +11 -11
  140. package/src/EntityCompanionProvider.ts +21 -18
  141. package/src/EntityConfiguration.ts +123 -9
  142. package/src/EntityCreator.ts +7 -7
  143. package/src/EntityDatabaseAdapter.ts +51 -28
  144. package/src/EntityDeleter.ts +7 -7
  145. package/src/EntityFieldDefinition.ts +32 -12
  146. package/src/EntityFields.ts +49 -12
  147. package/src/EntityLoader.ts +8 -8
  148. package/src/EntityLoaderFactory.ts +8 -8
  149. package/src/EntityLoaderUtils.ts +39 -10
  150. package/src/EntityMutationInfo.ts +6 -6
  151. package/src/EntityMutationTriggerConfiguration.ts +68 -20
  152. package/src/EntityMutationValidator.ts +4 -4
  153. package/src/EntityMutatorFactory.ts +13 -13
  154. package/src/EntityPrivacyPolicy.ts +50 -26
  155. package/src/EntitySecondaryCacheLoader.ts +6 -6
  156. package/src/EntityUpdater.ts +7 -7
  157. package/src/GenericEntityCacheAdapter.ts +39 -28
  158. package/src/GenericSecondaryEntityCache.ts +6 -3
  159. package/src/IEntityCacheAdapter.ts +45 -25
  160. package/src/IEntityCacheAdapterProvider.ts +3 -3
  161. package/src/IEntityDatabaseAdapterProvider.ts +3 -3
  162. package/src/IEntityGenericCacher.ts +33 -5
  163. package/src/ReadonlyEntity.ts +24 -24
  164. package/src/ViewerContext.ts +5 -5
  165. package/src/ViewerScopedEntityCompanion.ts +7 -7
  166. package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
  167. package/src/ViewerScopedEntityLoaderFactory.ts +7 -7
  168. package/src/ViewerScopedEntityMutatorFactory.ts +8 -8
  169. package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +4 -4
  170. package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -13
  171. package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +367 -69
  172. package/src/__tests__/ComposedCacheAdapter-test.ts +235 -117
  173. package/src/__tests__/EnforcingEntityLoader-test.ts +135 -1
  174. package/src/__tests__/Entity-test.ts +2 -2
  175. package/src/__tests__/EntityAssociationLoader-test.ts +2 -2
  176. package/src/__tests__/EntityCommonUseCases-test.ts +11 -11
  177. package/src/__tests__/EntityCompanion-test.ts +4 -4
  178. package/src/__tests__/EntityCompanionProvider-test.ts +9 -8
  179. package/src/__tests__/EntityConfiguration-test.ts +85 -6
  180. package/src/__tests__/EntityDatabaseAdapter-test.ts +113 -17
  181. package/src/__tests__/EntityEdges-test.ts +97 -72
  182. package/src/__tests__/EntityFields-test.ts +2 -2
  183. package/src/__tests__/EntityLoader-test.ts +2 -2
  184. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +11 -11
  185. package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +73 -0
  186. package/src/__tests__/EntityMutator-test.ts +74 -46
  187. package/src/__tests__/EntityPrivacyPolicy-test.ts +51 -74
  188. package/src/__tests__/EntityQueryContext-test.ts +1 -1
  189. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +3 -3
  190. package/src/__tests__/EntitySelfReferentialEdges-test.ts +64 -39
  191. package/src/__tests__/GenericEntityCacheAdapter-test.ts +83 -28
  192. package/src/__tests__/ReadonlyEntity-test.ts +3 -3
  193. package/src/__tests__/ViewerContext-test.ts +1 -1
  194. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +5 -2
  195. package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +1 -1
  196. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +12 -3
  197. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +12 -12
  198. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +12 -12
  199. package/src/entityUtils.ts +4 -1
  200. package/src/errors/EntityInvalidFieldValueError.ts +5 -5
  201. package/src/errors/EntityNotAuthorizedError.ts +3 -3
  202. package/src/errors/EntityNotFoundError.ts +5 -5
  203. package/src/index.ts +7 -7
  204. package/src/internal/CompositeFieldHolder.ts +218 -0
  205. package/src/internal/CompositeFieldValueMap.ts +78 -0
  206. package/src/internal/EntityDataManager.ts +107 -96
  207. package/src/internal/EntityFieldTransformationUtils.ts +33 -14
  208. package/src/internal/EntityLoadInterfaces.ts +143 -0
  209. package/src/internal/EntityTableDataCoordinator.ts +8 -5
  210. package/src/internal/ReadThroughEntityCache.ts +63 -50
  211. package/src/internal/SingleFieldHolder.ts +131 -0
  212. package/src/internal/__tests__/CompositeFieldHolder-test.ts +25 -0
  213. package/src/internal/__tests__/CompositeFieldValueMap-test.ts +43 -0
  214. package/src/internal/__tests__/EntityDataManager-test.ts +308 -91
  215. package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +3 -2
  216. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +315 -107
  217. package/src/metrics/EntityMetricsUtils.ts +7 -2
  218. package/src/metrics/IEntityMetricsAdapter.ts +6 -0
  219. package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +5 -5
  220. package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +5 -5
  221. package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +5 -5
  222. package/src/rules/PrivacyPolicyRule.ts +4 -4
  223. package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +1 -1
  224. package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +1 -1
  225. package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +1 -1
  226. package/src/utils/EntityPrivacyUtils.ts +72 -30
  227. package/src/utils/{testing → __testfixtures__}/PrivacyPolicyRuleTestUtils.ts +26 -26
  228. package/src/{testfixtures → utils/__testfixtures__}/SimpleTestEntity.ts +16 -15
  229. package/src/utils/__testfixtures__/StubCacheAdapter.ts +164 -0
  230. package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapter.ts +19 -12
  231. package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapterProvider.ts +4 -4
  232. package/src/utils/__testfixtures__/TSMockitoExtensions.ts +69 -0
  233. package/src/{testfixtures → utils/__testfixtures__}/TestEntity.ts +21 -15
  234. package/src/{testfixtures → utils/__testfixtures__}/TestEntity2.ts +16 -15
  235. package/src/{testfixtures → utils/__testfixtures__}/TestEntityWithMutationTriggers.ts +23 -22
  236. package/src/{testfixtures → utils/__testfixtures__}/TestViewerContext.ts +1 -1
  237. package/src/utils/{testing → __testfixtures__}/describeFieldTestCase.ts +1 -1
  238. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +62 -66
  239. package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +29 -25
  240. package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +1 -1
  241. package/src/utils/collections/SerializableKeyMap.ts +84 -0
  242. package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +119 -0
  243. package/src/utils/collections/__tests__/sets-test.ts +17 -0
  244. package/src/utils/collections/maps.ts +7 -8
  245. package/src/utils/collections/sets.ts +3 -0
  246. package/src/utils/mergeEntityMutationTriggerConfigurations.ts +5 -5
  247. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
  248. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -242
  249. package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
  250. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
  251. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -110
  252. package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
  253. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
  254. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -401
  255. package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
  256. package/build/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
  257. package/build/__tests__/ComposedCacheAdapter-test.js +0 -229
  258. package/build/__tests__/ComposedCacheAdapter-test.js.map +0 -1
  259. package/build/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
  260. package/build/__tests__/ComposedSecondaryEntityCache-test.js +0 -66
  261. package/build/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
  262. package/build/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
  263. package/build/__tests__/EnforcingEntityAssociationLoader-test.js +0 -115
  264. package/build/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
  265. package/build/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
  266. package/build/__tests__/EnforcingEntityLoader-test.js +0 -253
  267. package/build/__tests__/EnforcingEntityLoader-test.js.map +0 -1
  268. package/build/__tests__/Entity-test.d.ts +0 -1
  269. package/build/__tests__/Entity-test.js +0 -94
  270. package/build/__tests__/Entity-test.js.map +0 -1
  271. package/build/__tests__/EntityAssociationLoader-test.d.ts +0 -1
  272. package/build/__tests__/EntityAssociationLoader-test.js +0 -30
  273. package/build/__tests__/EntityAssociationLoader-test.js.map +0 -1
  274. package/build/__tests__/EntityCommonUseCases-test.d.ts +0 -1
  275. package/build/__tests__/EntityCommonUseCases-test.js +0 -146
  276. package/build/__tests__/EntityCommonUseCases-test.js.map +0 -1
  277. package/build/__tests__/EntityCompanion-test.d.ts +0 -1
  278. package/build/__tests__/EntityCompanion-test.js +0 -77
  279. package/build/__tests__/EntityCompanion-test.js.map +0 -1
  280. package/build/__tests__/EntityCompanionProvider-test.d.ts +0 -1
  281. package/build/__tests__/EntityCompanionProvider-test.js +0 -54
  282. package/build/__tests__/EntityCompanionProvider-test.js.map +0 -1
  283. package/build/__tests__/EntityConfiguration-test.d.ts +0 -1
  284. package/build/__tests__/EntityConfiguration-test.js +0 -103
  285. package/build/__tests__/EntityConfiguration-test.js.map +0 -1
  286. package/build/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
  287. package/build/__tests__/EntityDatabaseAdapter-test.js +0 -146
  288. package/build/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
  289. package/build/__tests__/EntityEdges-test.d.ts +0 -1
  290. package/build/__tests__/EntityEdges-test.js +0 -723
  291. package/build/__tests__/EntityEdges-test.js.map +0 -1
  292. package/build/__tests__/EntityFields-test.d.ts +0 -1
  293. package/build/__tests__/EntityFields-test.js +0 -63
  294. package/build/__tests__/EntityFields-test.js.map +0 -1
  295. package/build/__tests__/EntityLoader-test.d.ts +0 -1
  296. package/build/__tests__/EntityLoader-test.js +0 -36
  297. package/build/__tests__/EntityLoader-test.js.map +0 -1
  298. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
  299. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -73
  300. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
  301. package/build/__tests__/EntityMutator-test.d.ts +0 -1
  302. package/build/__tests__/EntityMutator-test.js +0 -741
  303. package/build/__tests__/EntityMutator-test.js.map +0 -1
  304. package/build/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
  305. package/build/__tests__/EntityPrivacyPolicy-test.js +0 -463
  306. package/build/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
  307. package/build/__tests__/EntityQueryContext-test.d.ts +0 -1
  308. package/build/__tests__/EntityQueryContext-test.js +0 -116
  309. package/build/__tests__/EntityQueryContext-test.js.map +0 -1
  310. package/build/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
  311. package/build/__tests__/EntitySecondaryCacheLoader-test.js +0 -60
  312. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
  313. package/build/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
  314. package/build/__tests__/EntitySelfReferentialEdges-test.js +0 -201
  315. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
  316. package/build/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
  317. package/build/__tests__/GenericEntityCacheAdapter-test.js +0 -80
  318. package/build/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
  319. package/build/__tests__/ReadonlyEntity-test.d.ts +0 -1
  320. package/build/__tests__/ReadonlyEntity-test.js +0 -211
  321. package/build/__tests__/ReadonlyEntity-test.js.map +0 -1
  322. package/build/__tests__/ViewerContext-test.d.ts +0 -1
  323. package/build/__tests__/ViewerContext-test.js +0 -30
  324. package/build/__tests__/ViewerContext-test.js.map +0 -1
  325. package/build/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
  326. package/build/__tests__/ViewerScopedEntityCompanion-test.js +0 -20
  327. package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
  328. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
  329. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -20
  330. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
  331. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
  332. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -23
  333. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
  334. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
  335. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -22
  336. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
  337. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
  338. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -123
  339. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
  340. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
  341. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -121
  342. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
  343. package/build/__tests__/entityUtils-test.d.ts +0 -1
  344. package/build/__tests__/entityUtils-test.js +0 -87
  345. package/build/__tests__/entityUtils-test.js.map +0 -1
  346. package/build/internal/__tests__/EntityDataManager-test.d.ts +0 -1
  347. package/build/internal/__tests__/EntityDataManager-test.js +0 -373
  348. package/build/internal/__tests__/EntityDataManager-test.js.map +0 -1
  349. package/build/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
  350. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -136
  351. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
  352. package/build/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
  353. package/build/internal/__tests__/ReadThroughEntityCache-test.js +0 -206
  354. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
  355. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
  356. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -21
  357. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
  358. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
  359. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -21
  360. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
  361. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
  362. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -21
  363. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
  364. package/build/testfixtures/DateIDTestEntity.d.ts +0 -19
  365. package/build/testfixtures/DateIDTestEntity.js +0 -48
  366. package/build/testfixtures/DateIDTestEntity.js.map +0 -1
  367. package/build/testfixtures/SimpleTestEntity.d.ts +0 -20
  368. package/build/testfixtures/SimpleTestEntity.js +0 -48
  369. package/build/testfixtures/SimpleTestEntity.js.map +0 -1
  370. package/build/testfixtures/TestEntity.d.ts +0 -30
  371. package/build/testfixtures/TestEntity.js +0 -93
  372. package/build/testfixtures/TestEntity.js.map +0 -1
  373. package/build/testfixtures/TestEntity2.d.ts +0 -20
  374. package/build/testfixtures/TestEntity2.js +0 -51
  375. package/build/testfixtures/TestEntity2.js.map +0 -1
  376. package/build/testfixtures/TestEntityNumberKey.d.ts +0 -19
  377. package/build/testfixtures/TestEntityNumberKey.js +0 -48
  378. package/build/testfixtures/TestEntityNumberKey.js.map +0 -1
  379. package/build/testfixtures/TestEntityWithMutationTriggers.d.ts +0 -36
  380. package/build/testfixtures/TestEntityWithMutationTriggers.js +0 -82
  381. package/build/testfixtures/TestEntityWithMutationTriggers.js.map +0 -1
  382. package/build/testfixtures/TestViewerContext.d.ts +0 -3
  383. package/build/testfixtures/TestViewerContext.js +0 -10
  384. package/build/testfixtures/TestViewerContext.js.map +0 -1
  385. package/build/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
  386. package/build/utils/__tests__/EntityPrivacyUtils-test.js +0 -486
  387. package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
  388. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
  389. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -178
  390. package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
  391. package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
  392. package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -26
  393. package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
  394. package/build/utils/collections/__tests__/maps-test.d.ts +0 -1
  395. package/build/utils/collections/__tests__/maps-test.js +0 -120
  396. package/build/utils/collections/__tests__/maps-test.js.map +0 -1
  397. package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +0 -28
  398. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +0 -52
  399. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +0 -1
  400. package/build/utils/testing/StubCacheAdapter.d.ts +0 -27
  401. package/build/utils/testing/StubCacheAdapter.js +0 -86
  402. package/build/utils/testing/StubCacheAdapter.js.map +0 -1
  403. package/build/utils/testing/StubDatabaseAdapter.d.ts +0 -25
  404. package/build/utils/testing/StubDatabaseAdapter.js +0 -191
  405. package/build/utils/testing/StubDatabaseAdapter.js.map +0 -1
  406. package/build/utils/testing/StubDatabaseAdapterProvider.d.ts +0 -7
  407. package/build/utils/testing/StubDatabaseAdapterProvider.js +0 -14
  408. package/build/utils/testing/StubDatabaseAdapterProvider.js.map +0 -1
  409. package/build/utils/testing/StubQueryContextProvider.d.ts +0 -7
  410. package/build/utils/testing/StubQueryContextProvider.js +0 -19
  411. package/build/utils/testing/StubQueryContextProvider.js.map +0 -1
  412. package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.d.ts +0 -1
  413. package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js +0 -42
  414. package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js.map +0 -1
  415. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.d.ts +0 -1
  416. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +0 -402
  417. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +0 -1
  418. package/build/utils/testing/createUnitTestEntityCompanionProvider.d.ts +0 -7
  419. package/build/utils/testing/createUnitTestEntityCompanionProvider.js +0 -36
  420. package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +0 -1
  421. package/build/utils/testing/describeFieldTestCase.d.ts +0 -2
  422. package/build/utils/testing/describeFieldTestCase.js +0 -18
  423. package/build/utils/testing/describeFieldTestCase.js.map +0 -1
  424. package/src/testfixtures/DateIDTestEntity.ts +0 -59
  425. package/src/testfixtures/TestEntityNumberKey.ts +0 -59
  426. package/src/utils/testing/StubCacheAdapter.ts +0 -122
  427. package/src/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.ts +0 -42
  428. package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +0 -548
  429. /package/src/utils/{testing → __testfixtures__}/StubQueryContextProvider.ts +0 -0
  430. /package/src/utils/{testing → __testfixtures__}/createUnitTestEntityCompanionProvider.ts +0 -0
@@ -1,178 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Entity_1 = __importDefault(require("../../Entity"));
7
- const EntityConfiguration_1 = __importDefault(require("../../EntityConfiguration"));
8
- const EntityFieldDefinition_1 = require("../../EntityFieldDefinition");
9
- const EntityFields_1 = require("../../EntityFields");
10
- const EntityPrivacyPolicy_1 = __importDefault(require("../../EntityPrivacyPolicy"));
11
- const ViewerContext_1 = __importDefault(require("../../ViewerContext"));
12
- const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../../rules/AlwaysAllowPrivacyPolicyRule"));
13
- const AlwaysDenyPrivacyPolicyRule_1 = __importDefault(require("../../rules/AlwaysDenyPrivacyPolicyRule"));
14
- const EntityPrivacyUtils_1 = require("../EntityPrivacyUtils");
15
- const createUnitTestEntityCompanionProvider_1 = require("../testing/createUnitTestEntityCompanionProvider");
16
- describe(EntityPrivacyUtils_1.canViewerDeleteAsync, () => {
17
- describe('edgeDeletionPermissionInferenceBehavior', () => {
18
- it('optimizes when EntityEdgeDeletionPermissionInferenceBehavior.ONE_IMPLIES_ALL', async () => {
19
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
20
- const viewerContext = new ViewerContext_1.default(companionProvider);
21
- // create root
22
- const testEntity = await TestEntity.creator(viewerContext).createAsync();
23
- // create a bunch of leaves referencing root with
24
- // edgeDeletionPermissionInferenceBehavior = EntityEdgeDeletionPermissionInferenceBehavior.ONE_IMPLIES_ALL
25
- for (let i = 0; i < 10; i++) {
26
- await TestLeafEntity.creator(viewerContext)
27
- .setField('test_entity_id', testEntity.getID())
28
- .createAsync();
29
- }
30
- for (let i = 0; i < 10; i++) {
31
- await TestLeafLookupByFieldEntity.creator(viewerContext)
32
- .setField('test_entity_id', testEntity.getID())
33
- .createAsync();
34
- }
35
- const testLeafEntityCompanion = viewerContext.getViewerScopedEntityCompanionForClass(TestLeafEntity);
36
- const testLeafEntityAuthorizeDeleteSpy = jest.spyOn(testLeafEntityCompanion.entityCompanion.privacyPolicy, 'authorizeDeleteAsync');
37
- const testLeafLookupByFieldEntityCompanion = viewerContext.getViewerScopedEntityCompanionForClass(TestLeafLookupByFieldEntity);
38
- const testLeafLookupByFieldEntityAuthorizeDeleteSpy = jest.spyOn(testLeafLookupByFieldEntityCompanion.entityCompanion.privacyPolicy, 'authorizeDeleteAsync');
39
- const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(TestEntity, testEntity);
40
- expect(canViewerDelete).toBe(true);
41
- expect(testLeafEntityAuthorizeDeleteSpy).toHaveBeenCalledTimes(1);
42
- expect(testLeafLookupByFieldEntityAuthorizeDeleteSpy).toHaveBeenCalledTimes(1);
43
- });
44
- it('does not optimize when undefined', async () => {
45
- const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
46
- const viewerContext = new ViewerContext_1.default(companionProvider);
47
- // create root
48
- const testEntity = await TestEntity.creator(viewerContext).createAsync();
49
- // create a bunch of leaves with no edgeDeletionPermissionInferenceBehavior
50
- for (let i = 0; i < 10; i++) {
51
- await TestLeafNoInferenceEntity.creator(viewerContext)
52
- .setField('test_entity_id', testEntity.getID())
53
- .createAsync();
54
- }
55
- const companion = viewerContext.getViewerScopedEntityCompanionForClass(TestLeafNoInferenceEntity);
56
- const authorizeDeleteSpy = jest.spyOn(companion.entityCompanion.privacyPolicy, 'authorizeDeleteAsync');
57
- const canViewerDelete = await (0, EntityPrivacyUtils_1.canViewerDeleteAsync)(TestEntity, testEntity);
58
- expect(canViewerDelete).toBe(true);
59
- expect(authorizeDeleteSpy).toHaveBeenCalledTimes(10);
60
- });
61
- });
62
- });
63
- class AlwaysAllowEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
64
- readRules = [
65
- new AlwaysAllowPrivacyPolicyRule_1.default(),
66
- ];
67
- createRules = [
68
- new AlwaysAllowPrivacyPolicyRule_1.default(),
69
- ];
70
- updateRules = [
71
- new AlwaysDenyPrivacyPolicyRule_1.default(),
72
- ];
73
- deleteRules = [
74
- new AlwaysAllowPrivacyPolicyRule_1.default(),
75
- ];
76
- }
77
- class TestEntity extends Entity_1.default {
78
- static defineCompanionDefinition() {
79
- return {
80
- entityClass: TestEntity,
81
- entityConfiguration: new EntityConfiguration_1.default({
82
- idField: 'id',
83
- tableName: 'blah',
84
- inboundEdges: [TestLeafEntity, TestLeafLookupByFieldEntity, TestLeafNoInferenceEntity],
85
- schema: {
86
- id: new EntityFields_1.UUIDField({
87
- columnName: 'custom_id',
88
- }),
89
- },
90
- databaseAdapterFlavor: 'postgres',
91
- cacheAdapterFlavor: 'redis',
92
- }),
93
- privacyPolicyClass: AlwaysAllowEntityPrivacyPolicy,
94
- };
95
- }
96
- }
97
- class TestLeafEntity extends Entity_1.default {
98
- static defineCompanionDefinition() {
99
- return {
100
- entityClass: TestLeafEntity,
101
- entityConfiguration: new EntityConfiguration_1.default({
102
- idField: 'id',
103
- tableName: 'blah_2',
104
- schema: {
105
- id: new EntityFields_1.UUIDField({
106
- columnName: 'custom_id',
107
- }),
108
- test_entity_id: new EntityFields_1.UUIDField({
109
- columnName: 'test_entity_id',
110
- association: {
111
- associatedEntityClass: TestEntity,
112
- edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE,
113
- edgeDeletionAuthorizationInferenceBehavior: EntityFieldDefinition_1.EntityEdgeDeletionAuthorizationInferenceBehavior.ONE_IMPLIES_ALL,
114
- },
115
- }),
116
- },
117
- databaseAdapterFlavor: 'postgres',
118
- cacheAdapterFlavor: 'redis',
119
- }),
120
- privacyPolicyClass: AlwaysAllowEntityPrivacyPolicy,
121
- };
122
- }
123
- }
124
- class TestLeafLookupByFieldEntity extends Entity_1.default {
125
- static defineCompanionDefinition() {
126
- return {
127
- entityClass: TestLeafEntity,
128
- entityConfiguration: new EntityConfiguration_1.default({
129
- idField: 'id',
130
- tableName: 'blah_4',
131
- schema: {
132
- id: new EntityFields_1.UUIDField({
133
- columnName: 'custom_id',
134
- }),
135
- test_entity_id: new EntityFields_1.UUIDField({
136
- columnName: 'test_entity_id',
137
- association: {
138
- associatedEntityClass: TestEntity,
139
- edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE,
140
- associatedEntityLookupByField: 'id',
141
- edgeDeletionAuthorizationInferenceBehavior: EntityFieldDefinition_1.EntityEdgeDeletionAuthorizationInferenceBehavior.ONE_IMPLIES_ALL,
142
- },
143
- }),
144
- },
145
- databaseAdapterFlavor: 'postgres',
146
- cacheAdapterFlavor: 'redis',
147
- }),
148
- privacyPolicyClass: AlwaysAllowEntityPrivacyPolicy,
149
- };
150
- }
151
- }
152
- class TestLeafNoInferenceEntity extends Entity_1.default {
153
- static defineCompanionDefinition() {
154
- return {
155
- entityClass: TestLeafNoInferenceEntity,
156
- entityConfiguration: new EntityConfiguration_1.default({
157
- idField: 'id',
158
- tableName: 'blah_3',
159
- schema: {
160
- id: new EntityFields_1.UUIDField({
161
- columnName: 'custom_id',
162
- }),
163
- test_entity_id: new EntityFields_1.UUIDField({
164
- columnName: 'test_entity_id',
165
- association: {
166
- associatedEntityClass: TestEntity,
167
- edgeDeletionBehavior: EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE,
168
- },
169
- }),
170
- },
171
- databaseAdapterFlavor: 'postgres',
172
- cacheAdapterFlavor: 'redis',
173
- }),
174
- privacyPolicyClass: AlwaysAllowEntityPrivacyPolicy,
175
- };
176
- }
177
- }
178
- //# sourceMappingURL=canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const TestEntityWithMutationTriggers_1 = require("../../testfixtures/TestEntityWithMutationTriggers");
4
- const mergeEntityMutationTriggerConfigurations_1 = require("../mergeEntityMutationTriggerConfigurations");
5
- describe(mergeEntityMutationTriggerConfigurations_1.mergeEntityMutationTriggerConfigurations, () => {
6
- it('successfully merges triggers', async () => {
7
- const firstAfter = new TestEntityWithMutationTriggers_1.TestMutationTrigger('2');
8
- const secondAfter = new TestEntityWithMutationTriggers_1.TestMutationTrigger('3');
9
- const merged = (0, mergeEntityMutationTriggerConfigurations_1.mergeEntityMutationTriggerConfigurations)({
10
- beforeAll: [new TestEntityWithMutationTriggers_1.TestMutationTrigger('1')],
11
- afterAll: [firstAfter],
12
- }, {
13
- afterAll: [secondAfter],
14
- });
15
- expect(merged.beforeAll?.length).toBe(1);
16
- expect(merged.afterAll).toEqual([firstAfter, secondAfter]);
17
- expect(merged.beforeCreate?.length).toBeFalsy();
18
- expect(merged.afterCreate?.length).toBeFalsy();
19
- expect(merged.beforeUpdate?.length).toBeFalsy();
20
- expect(merged.afterUpdate?.length).toBeFalsy();
21
- expect(merged.beforeDelete?.length).toBeFalsy();
22
- expect(merged.afterDelete?.length).toBeFalsy();
23
- expect(merged.afterCommit?.length).toBeFalsy();
24
- });
25
- });
26
- //# sourceMappingURL=mergeEntityMutationTriggerConfigurations-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeEntityMutationTriggerConfigurations-test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts"],"names":[],"mappings":";;AAAA,sGAAwF;AACxF,0GAAuG;AAEvG,QAAQ,CAAC,mFAAwC,EAAE,GAAG,EAAE;IACtD,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,UAAU,GAAG,IAAI,oDAAmB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,oDAAmB,CAAC,GAAG,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAA,mFAAwC,EACrD;YACE,SAAS,EAAE,CAAC,IAAI,oDAAmB,CAAC,GAAG,CAAC,CAAC;YACzC,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB,EACD;YACE,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const maps_1 = require("../maps");
4
- describe(maps_1.computeIfAbsent, () => {
5
- it('computes a value when absent', () => {
6
- const map = new Map();
7
- const blah = (0, maps_1.computeIfAbsent)(map, 'hello', () => 'world');
8
- expect(blah).toEqual(map.get('hello'));
9
- });
10
- it('does not compute a value when already present', () => {
11
- const map = new Map([['hello', 'world']]);
12
- let didCompute = false;
13
- const blah = (0, maps_1.computeIfAbsent)(map, 'hello', () => {
14
- didCompute = true;
15
- return 'world2';
16
- });
17
- expect(blah).toEqual(map.get('hello'));
18
- expect(didCompute).toBe(false);
19
- });
20
- });
21
- describe(maps_1.mapMap, () => {
22
- it('maps a map', () => {
23
- const map = new Map([['hello', 'world']]);
24
- const map2 = (0, maps_1.mapMap)(map, () => 2);
25
- expect(map2.get('hello')).toEqual(2);
26
- });
27
- });
28
- describe(maps_1.mapMapAsync, () => {
29
- it('maps a map with async mapper', async () => {
30
- const map = new Map([['hello', 'world']]);
31
- const map2 = await (0, maps_1.mapMapAsync)(map, async () => await Promise.resolve(2));
32
- expect(map2.get('hello')).toEqual(2);
33
- });
34
- });
35
- describe(maps_1.mapKeys, () => {
36
- it('maps keys', async () => {
37
- const map = new Map([
38
- ['hello', 'world'],
39
- ['amphibian', 'creature'],
40
- ]);
41
- const map2 = (0, maps_1.mapKeys)(map, (k) => k.length);
42
- expect(map2.size).toEqual(2);
43
- expect(map2.get(5)).toEqual('world');
44
- expect(map2.get(9)).toEqual('creature');
45
- });
46
- });
47
- describe(maps_1.zipToMap, () => {
48
- it('zips keys to values', () => {
49
- const keys = [1, 2, 3];
50
- const values = ['a', 'b', 'c'];
51
- const map = (0, maps_1.zipToMap)(keys, values);
52
- expect(map.get(2)).toEqual('b');
53
- });
54
- it('throws when input lengths mismatch', () => {
55
- const keys = [1, 2];
56
- const values = [1];
57
- expect(() => (0, maps_1.zipToMap)(keys, values)).toThrowError('zipToMap input length mismatch: keys[2], values[1]');
58
- });
59
- });
60
- describe(maps_1.invertMap, () => {
61
- it('inverts a map', () => {
62
- const map = new Map([
63
- [1, 'world'],
64
- [2, 'what'],
65
- ]);
66
- const inverted = (0, maps_1.invertMap)(map);
67
- expect(inverted.get('world')).toEqual(1);
68
- });
69
- it('keeps last inverted key instance', () => {
70
- const map = new Map([
71
- [1, 'world'],
72
- [2, 'world'],
73
- ]);
74
- const inverted = (0, maps_1.invertMap)(map);
75
- expect(inverted.get('world')).toEqual(2);
76
- });
77
- });
78
- describe(maps_1.reduceMap, () => {
79
- it('reduces a map', () => {
80
- const map = new Map([
81
- ['a', 'a'],
82
- ['b', 'b'],
83
- ]);
84
- const reduction = (0, maps_1.reduceMap)(map, (acc, v, k) => acc.concat(v).concat(k), 'initial-');
85
- expect(reduction).toEqual('initial-aabb');
86
- });
87
- });
88
- describe(maps_1.reduceMapAsync, () => {
89
- it('reduces a map (async)', async () => {
90
- const map = new Map([
91
- ['a', 'a'],
92
- ['b', 'b'],
93
- ]);
94
- const reduction = await (0, maps_1.reduceMapAsync)(map, async (acc, v, k) => acc.concat(v).concat(k), 'initial-');
95
- expect(reduction).toEqual('initial-aabb');
96
- });
97
- });
98
- describe(maps_1.filterMap, () => {
99
- it('filters a map', () => {
100
- const map = new Map([
101
- ['a', false],
102
- ['b', true],
103
- ]);
104
- const filteredMap = (0, maps_1.filterMap)(map, (v) => v);
105
- expect(filteredMap.get('a')).toBeUndefined();
106
- expect(filteredMap.get('b')).toBe(true);
107
- });
108
- it('can use predicates', () => {
109
- function truthy(value) {
110
- return !!value;
111
- }
112
- const map = new Map([
113
- ['a', 'yes'],
114
- ['b', null],
115
- ]);
116
- const filteredMap = (0, maps_1.filterMap)(map, truthy);
117
- expect(filteredMap.size).toBe(1);
118
- });
119
- });
120
- //# sourceMappingURL=maps-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"maps-test.js","sourceRoot":"","sources":["../../../../src/utils/collections/__tests__/maps-test.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { EntityPrivacyPolicyEvaluationContext } from '../../EntityPrivacyPolicy';
2
- import { EntityQueryContext } from '../../EntityQueryContext';
3
- import ReadonlyEntity from '../../ReadonlyEntity';
4
- import ViewerContext from '../../ViewerContext';
5
- import PrivacyPolicyRule from '../../rules/PrivacyPolicyRule';
6
- export interface Case<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields> {
7
- viewerContext: TViewerContext;
8
- queryContext: EntityQueryContext;
9
- evaluationContext: EntityPrivacyPolicyEvaluationContext<TFields, TID, TViewerContext, TEntity, TSelectedFields>;
10
- entity: TEntity;
11
- }
12
- export type CaseMap<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields> = Map<string, () => Promise<Case<TFields, TID, TViewerContext, TEntity, TSelectedFields>>>;
13
- /**
14
- * Useful for defining test cases that have async preconditions.
15
- */
16
- export declare const describePrivacyPolicyRuleWithAsyncTestCase: <TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields>(privacyPolicyRule: PrivacyPolicyRule<TFields, TID, TViewerContext, TEntity, TSelectedFields>, { allowCases, skipCases, denyCases, }: {
17
- allowCases?: CaseMap<TFields, TID, TViewerContext, TEntity, TSelectedFields>;
18
- skipCases?: CaseMap<TFields, TID, TViewerContext, TEntity, TSelectedFields>;
19
- denyCases?: CaseMap<TFields, TID, TViewerContext, TEntity, TSelectedFields>;
20
- }) => void;
21
- /**
22
- * For test simple privacy rules that don't have complex async preconditions.
23
- */
24
- export declare const describePrivacyPolicyRule: <TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields>(privacyPolicyRule: PrivacyPolicyRule<TFields, TID, TViewerContext, TEntity, TSelectedFields>, { allowCases, skipCases, denyCases, }: {
25
- allowCases?: Case<TFields, TID, TViewerContext, TEntity, TSelectedFields>[];
26
- skipCases?: Case<TFields, TID, TViewerContext, TEntity, TSelectedFields>[];
27
- denyCases?: Case<TFields, TID, TViewerContext, TEntity, TSelectedFields>[];
28
- }) => void;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describePrivacyPolicyRule = exports.describePrivacyPolicyRuleWithAsyncTestCase = void 0;
4
- const PrivacyPolicyRule_1 = require("../../rules/PrivacyPolicyRule");
5
- /**
6
- * Useful for defining test cases that have async preconditions.
7
- */
8
- const describePrivacyPolicyRuleWithAsyncTestCase = (privacyPolicyRule, { allowCases = new Map(), skipCases = new Map(), denyCases = new Map(), }) => {
9
- describe(privacyPolicyRule.constructor.name, () => {
10
- if (allowCases && allowCases.size > 0) {
11
- describe('allow cases', () => {
12
- test.each(Array.from(allowCases.keys()))('%p', async (caseKey) => {
13
- const { viewerContext, queryContext, evaluationContext, entity } = await allowCases.get(caseKey)();
14
- await expect(privacyPolicyRule.evaluateAsync(viewerContext, queryContext, evaluationContext, entity)).resolves.toEqual(PrivacyPolicyRule_1.RuleEvaluationResult.ALLOW);
15
- });
16
- });
17
- }
18
- if (skipCases && skipCases.size > 0) {
19
- describe('skip cases', () => {
20
- test.each(Array.from(skipCases.keys()))('%p', async (caseKey) => {
21
- const { viewerContext, queryContext, evaluationContext, entity } = await skipCases.get(caseKey)();
22
- await expect(privacyPolicyRule.evaluateAsync(viewerContext, queryContext, evaluationContext, entity)).resolves.toEqual(PrivacyPolicyRule_1.RuleEvaluationResult.SKIP);
23
- });
24
- });
25
- }
26
- if (denyCases && denyCases.size > 0) {
27
- describe('deny cases', () => {
28
- test.each(Array.from(denyCases.keys()))('%p', async (caseKey) => {
29
- const { viewerContext, queryContext, evaluationContext, entity } = await denyCases.get(caseKey)();
30
- await expect(privacyPolicyRule.evaluateAsync(viewerContext, queryContext, evaluationContext, entity)).resolves.toEqual(PrivacyPolicyRule_1.RuleEvaluationResult.DENY);
31
- });
32
- });
33
- }
34
- });
35
- };
36
- exports.describePrivacyPolicyRuleWithAsyncTestCase = describePrivacyPolicyRuleWithAsyncTestCase;
37
- /**
38
- * For test simple privacy rules that don't have complex async preconditions.
39
- */
40
- const describePrivacyPolicyRule = (privacyPolicyRule, { allowCases = [], skipCases = [], denyCases = [], }) => {
41
- const makeCasesMap = (cases) => cases.reduce((acc, testCase, index) => {
42
- acc.set(`case ${index}`, async () => testCase);
43
- return acc;
44
- }, new Map());
45
- (0, exports.describePrivacyPolicyRuleWithAsyncTestCase)(privacyPolicyRule, {
46
- allowCases: makeCasesMap(allowCases),
47
- skipCases: makeCasesMap(skipCases),
48
- denyCases: makeCasesMap(denyCases),
49
- });
50
- };
51
- exports.describePrivacyPolicyRule = describePrivacyPolicyRule;
52
- //# sourceMappingURL=PrivacyPolicyRuleTestUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrivacyPolicyRuleTestUtils.js","sourceRoot":"","sources":["../../../src/utils/testing/PrivacyPolicyRuleTestUtils.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import EntityConfiguration from '../../EntityConfiguration';
2
- import IEntityCacheAdapter from '../../IEntityCacheAdapter';
3
- import IEntityCacheAdapterProvider from '../../IEntityCacheAdapterProvider';
4
- import { CacheLoadResult } from '../../internal/ReadThroughEntityCache';
5
- export declare class NoCacheStubCacheAdapterProvider implements IEntityCacheAdapterProvider {
6
- getCacheAdapter<TFields extends Record<string, any>>(_entityConfiguration: EntityConfiguration<TFields>): IEntityCacheAdapter<TFields>;
7
- }
8
- export declare class NoCacheStubCacheAdapter<TFields> implements IEntityCacheAdapter<TFields> {
9
- loadManyAsync<N extends keyof TFields>(_fieldName: N, fieldValues: readonly NonNullable<TFields[N]>[]): Promise<ReadonlyMap<NonNullable<TFields[N]>, CacheLoadResult<TFields>>>;
10
- cacheManyAsync<N extends keyof TFields>(_fieldName: N, _objectMap: ReadonlyMap<NonNullable<TFields[N]>, Readonly<TFields>>): Promise<void>;
11
- cacheDBMissesAsync<N extends keyof TFields>(_fieldName: N, _fieldValues: readonly NonNullable<TFields[N]>[]): Promise<void>;
12
- invalidateManyAsync<N extends keyof TFields>(_fieldName: N, _fieldValues: readonly TFields[N][]): Promise<void>;
13
- }
14
- export declare class InMemoryFullCacheStubCacheAdapterProvider implements IEntityCacheAdapterProvider {
15
- cache: Map<string, Readonly<object>>;
16
- getCacheAdapter<TFields extends Record<string, any>>(entityConfiguration: EntityConfiguration<TFields>): IEntityCacheAdapter<TFields>;
17
- }
18
- export declare class InMemoryFullCacheStubCacheAdapter<TFields extends Record<string, any>> implements IEntityCacheAdapter<TFields> {
19
- private readonly entityConfiguration;
20
- readonly cache: Map<string, Readonly<TFields>>;
21
- constructor(entityConfiguration: EntityConfiguration<TFields>, cache: Map<string, Readonly<TFields>>);
22
- loadManyAsync<N extends keyof TFields>(fieldName: N, fieldValues: readonly NonNullable<TFields[N]>[]): Promise<ReadonlyMap<NonNullable<TFields[N]>, CacheLoadResult<TFields>>>;
23
- cacheManyAsync<N extends keyof TFields>(fieldName: N, objectMap: ReadonlyMap<NonNullable<TFields[N]>, Readonly<TFields>>): Promise<void>;
24
- cacheDBMissesAsync<N extends keyof TFields>(_fieldName: N, _fieldValues: readonly NonNullable<TFields[N]>[]): Promise<void>;
25
- invalidateManyAsync<N extends keyof TFields>(fieldName: N, fieldValues: readonly NonNullable<TFields[N]>[]): Promise<void>;
26
- private createCacheKey;
27
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.InMemoryFullCacheStubCacheAdapter = exports.InMemoryFullCacheStubCacheAdapterProvider = exports.NoCacheStubCacheAdapter = exports.NoCacheStubCacheAdapterProvider = void 0;
7
- const invariant_1 = __importDefault(require("invariant"));
8
- const ReadThroughEntityCache_1 = require("../../internal/ReadThroughEntityCache");
9
- class NoCacheStubCacheAdapterProvider {
10
- getCacheAdapter(_entityConfiguration) {
11
- return new NoCacheStubCacheAdapter();
12
- }
13
- }
14
- exports.NoCacheStubCacheAdapterProvider = NoCacheStubCacheAdapterProvider;
15
- class NoCacheStubCacheAdapter {
16
- async loadManyAsync(_fieldName, fieldValues) {
17
- return fieldValues.reduce((acc, v) => {
18
- acc.set(v, {
19
- status: ReadThroughEntityCache_1.CacheStatus.MISS,
20
- });
21
- return acc;
22
- }, new Map());
23
- }
24
- async cacheManyAsync(_fieldName, _objectMap) { }
25
- async cacheDBMissesAsync(_fieldName, _fieldValues) { }
26
- async invalidateManyAsync(_fieldName, _fieldValues) { }
27
- }
28
- exports.NoCacheStubCacheAdapter = NoCacheStubCacheAdapter;
29
- class InMemoryFullCacheStubCacheAdapterProvider {
30
- cache = new Map();
31
- getCacheAdapter(entityConfiguration) {
32
- return new InMemoryFullCacheStubCacheAdapter(entityConfiguration, this.cache);
33
- }
34
- }
35
- exports.InMemoryFullCacheStubCacheAdapterProvider = InMemoryFullCacheStubCacheAdapterProvider;
36
- class InMemoryFullCacheStubCacheAdapter {
37
- entityConfiguration;
38
- cache;
39
- constructor(entityConfiguration, cache) {
40
- this.entityConfiguration = entityConfiguration;
41
- this.cache = cache;
42
- }
43
- async loadManyAsync(fieldName, fieldValues) {
44
- const results = new Map();
45
- fieldValues.forEach((fieldValue) => {
46
- const cacheKey = this.createCacheKey(fieldName, fieldValue);
47
- if (!this.cache.has(cacheKey)) {
48
- results.set(fieldValue, {
49
- status: ReadThroughEntityCache_1.CacheStatus.MISS,
50
- });
51
- }
52
- else {
53
- const objectForFieldValue = this.cache.get(cacheKey);
54
- (0, invariant_1.default)(objectForFieldValue !== undefined, 'should have set value for key');
55
- results.set(fieldValue, {
56
- status: ReadThroughEntityCache_1.CacheStatus.HIT,
57
- item: objectForFieldValue,
58
- });
59
- }
60
- });
61
- return results;
62
- }
63
- async cacheManyAsync(fieldName, objectMap) {
64
- objectMap.forEach((obj, fieldValue) => {
65
- const cacheKey = this.createCacheKey(fieldName, fieldValue);
66
- this.cache.set(cacheKey, obj);
67
- });
68
- }
69
- async cacheDBMissesAsync(_fieldName, _fieldValues) { }
70
- async invalidateManyAsync(fieldName, fieldValues) {
71
- fieldValues.forEach((fieldValue) => {
72
- const cacheKey = this.createCacheKey(fieldName, fieldValue);
73
- this.cache.delete(cacheKey);
74
- });
75
- }
76
- createCacheKey(fieldName, fieldValue) {
77
- return [
78
- this.entityConfiguration.tableName,
79
- `v${this.entityConfiguration.cacheKeyVersion}`,
80
- fieldName,
81
- String(fieldValue),
82
- ].join(':');
83
- }
84
- }
85
- exports.InMemoryFullCacheStubCacheAdapter = InMemoryFullCacheStubCacheAdapter;
86
- //# sourceMappingURL=StubCacheAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StubCacheAdapter.js","sourceRoot":"","sources":["../../../src/utils/testing/StubCacheAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import EntityConfiguration from '../../EntityConfiguration';
2
- import EntityDatabaseAdapter, { TableFieldSingleValueEqualityCondition, TableFieldMultiValueEqualityCondition, TableQuerySelectionModifiers } from '../../EntityDatabaseAdapter';
3
- import { FieldTransformerMap } from '../../internal/EntityFieldTransformationUtils';
4
- export default class StubDatabaseAdapter<T extends Record<string, any>> extends EntityDatabaseAdapter<T> {
5
- private readonly entityConfiguration2;
6
- private readonly dataStore;
7
- constructor(entityConfiguration2: EntityConfiguration<T>, dataStore: Map<string, Readonly<{
8
- [key: string]: any;
9
- }>[]>);
10
- static convertFieldObjectsToDataStore<T extends Record<string, any>>(entityConfiguration: EntityConfiguration<T>, dataStore: Map<string, Readonly<T>[]>): Map<string, Readonly<{
11
- [key: string]: any;
12
- }>[]>;
13
- getObjectCollectionForTable(tableName: string): {
14
- [key: string]: any;
15
- }[];
16
- protected getFieldTransformerMap(): FieldTransformerMap;
17
- protected fetchManyWhereInternalAsync(_queryInterface: any, tableName: string, tableField: string, tableValues: readonly any[]): Promise<object[]>;
18
- private static compareByOrderBys;
19
- protected fetchManyByFieldEqualityConjunctionInternalAsync(_queryInterface: any, tableName: string, tableFieldSingleValueEqualityOperands: TableFieldSingleValueEqualityCondition[], tableFieldMultiValueEqualityOperands: TableFieldMultiValueEqualityCondition[], querySelectionModifiers: TableQuerySelectionModifiers): Promise<object[]>;
20
- protected fetchManyByRawWhereClauseInternalAsync(_queryInterface: any, _tableName: string, _rawWhereClause: string, _bindings: object | any[], _querySelectionModifiers: TableQuerySelectionModifiers): Promise<object[]>;
21
- private generateRandomID;
22
- protected insertInternalAsync(_queryInterface: any, tableName: string, object: object): Promise<object[]>;
23
- protected updateInternalAsync(_queryInterface: any, tableName: string, tableIdField: string, id: any, object: object): Promise<object[]>;
24
- protected deleteInternalAsync(_queryInterface: any, tableName: string, tableIdField: string, id: any): Promise<number>;
25
- }