@expo/entity 0.40.0 → 0.42.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.
- package/build/AuthorizationResultBasedEntityAssociationLoader.d.ts +16 -16
- package/build/AuthorizationResultBasedEntityAssociationLoader.js +2 -4
- package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -1
- package/build/AuthorizationResultBasedEntityLoader.d.ts +39 -67
- package/build/AuthorizationResultBasedEntityLoader.js +85 -62
- package/build/AuthorizationResultBasedEntityLoader.js.map +1 -1
- package/build/AuthorizationResultBasedEntityMutator.d.ts +16 -16
- package/build/AuthorizationResultBasedEntityMutator.js.map +1 -1
- package/build/ComposedEntityCacheAdapter.d.ts +7 -6
- package/build/ComposedEntityCacheAdapter.js +28 -28
- package/build/ComposedEntityCacheAdapter.js.map +1 -1
- package/build/ComposedSecondaryEntityCache.d.ts +1 -1
- package/build/ComposedSecondaryEntityCache.js.map +1 -1
- package/build/EnforcingEntityAssociationLoader.d.ts +15 -15
- package/build/EnforcingEntityAssociationLoader.js.map +1 -1
- package/build/EnforcingEntityCreator.d.ts +2 -2
- package/build/EnforcingEntityDeleter.d.ts +2 -2
- package/build/EnforcingEntityLoader.d.ts +104 -18
- package/build/EnforcingEntityLoader.js +113 -12
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/EnforcingEntityUpdater.d.ts +2 -2
- package/build/Entity.d.ts +32 -10
- package/build/Entity.js +41 -3
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.d.ts +3 -3
- package/build/EntityCompanion.d.ts +5 -5
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +6 -6
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +46 -5
- package/build/EntityConfiguration.js +39 -1
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityCreator.d.ts +4 -4
- package/build/EntityDatabaseAdapter.d.ts +15 -14
- package/build/EntityDatabaseAdapter.js +20 -12
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityDeleter.d.ts +4 -4
- package/build/EntityFieldDefinition.d.ts +20 -10
- package/build/EntityFieldDefinition.js +3 -1
- package/build/EntityFieldDefinition.js.map +1 -1
- package/build/EntityFields.d.ts +14 -12
- package/build/EntityFields.js.map +1 -1
- package/build/EntityLoader.d.ts +5 -5
- package/build/EntityLoaderFactory.d.ts +3 -3
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityLoaderUtils.d.ts +2 -2
- package/build/EntityLoaderUtils.js +27 -1
- package/build/EntityLoaderUtils.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +2 -2
- package/build/EntityMutationTriggerConfiguration.d.ts +14 -14
- package/build/EntityMutationTriggerConfiguration.js.map +1 -1
- package/build/EntityMutationValidator.d.ts +2 -2
- package/build/EntityMutatorFactory.d.ts +5 -5
- package/build/EntityMutatorFactory.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +14 -14
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.d.ts +4 -4
- package/build/EntityUpdater.d.ts +4 -4
- package/build/GenericEntityCacheAdapter.d.ts +7 -6
- package/build/GenericEntityCacheAdapter.js +13 -14
- package/build/GenericEntityCacheAdapter.js.map +1 -1
- package/build/GenericSecondaryEntityCache.d.ts +3 -3
- package/build/GenericSecondaryEntityCache.js.map +1 -1
- package/build/IEntityCacheAdapter.d.ts +17 -16
- package/build/IEntityCacheAdapterProvider.d.ts +1 -1
- package/build/IEntityDatabaseAdapterProvider.d.ts +1 -1
- package/build/IEntityGenericCacher.d.ts +15 -5
- package/build/ReadonlyEntity.d.ts +27 -8
- package/build/ReadonlyEntity.js +31 -3
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerContext.d.ts +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +5 -5
- package/build/ViewerScopedEntityCompanionProvider.d.ts +1 -1
- package/build/ViewerScopedEntityLoaderFactory.d.ts +3 -3
- package/build/ViewerScopedEntityMutatorFactory.d.ts +5 -5
- package/build/entityUtils.d.ts +1 -1
- package/build/entityUtils.js.map +1 -1
- package/build/errors/EntityInvalidFieldValueError.d.ts +2 -2
- package/build/errors/EntityNotAuthorizedError.d.ts +1 -1
- package/build/errors/EntityNotFoundError.d.ts +2 -2
- package/build/index.d.ts +7 -7
- package/build/index.js +8 -13
- package/build/index.js.map +1 -1
- package/build/internal/CompositeFieldHolder.d.ts +48 -0
- package/build/internal/CompositeFieldHolder.js +116 -0
- package/build/internal/CompositeFieldHolder.js.map +1 -0
- package/build/internal/CompositeFieldValueMap.d.ts +15 -0
- package/build/internal/CompositeFieldValueMap.js +51 -0
- package/build/internal/CompositeFieldValueMap.js.map +1 -0
- package/build/internal/EntityDataManager.d.ts +16 -16
- package/build/internal/EntityDataManager.js +42 -45
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.d.ts +5 -5
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/EntityLoadInterfaces.d.ts +104 -0
- package/build/internal/EntityLoadInterfaces.js +25 -0
- package/build/internal/EntityLoadInterfaces.js.map +1 -0
- package/build/internal/EntityTableDataCoordinator.d.ts +6 -6
- package/build/internal/EntityTableDataCoordinator.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.d.ts +17 -16
- package/build/internal/ReadThroughEntityCache.js +36 -36
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/SingleFieldHolder.d.ts +34 -0
- package/build/internal/SingleFieldHolder.js +90 -0
- package/build/internal/SingleFieldHolder.js.map +1 -0
- package/build/metrics/EntityMetricsUtils.d.ts +2 -1
- package/build/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.d.ts +5 -0
- package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.d.ts +2 -2
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
- package/build/rules/PrivacyPolicyRule.d.ts +2 -2
- package/build/tsconfig.build.tsbuildinfo +1 -0
- package/build/utils/EntityPrivacyUtils.d.ts +4 -4
- package/build/utils/EntityPrivacyUtils.js.map +1 -1
- package/build/utils/collections/SerializableKeyMap.d.ts +27 -0
- package/build/utils/collections/SerializableKeyMap.js +60 -0
- package/build/utils/collections/SerializableKeyMap.js.map +1 -0
- package/build/utils/collections/maps.js +1 -2
- package/build/utils/collections/maps.js.map +1 -1
- package/build/utils/collections/sets.d.ts +1 -0
- package/build/utils/collections/sets.js +7 -0
- package/build/utils/collections/sets.js.map +1 -0
- package/build/utils/mergeEntityMutationTriggerConfigurations.d.ts +1 -1
- package/package.json +8 -5
- package/src/AuthorizationResultBasedEntityAssociationLoader.ts +58 -53
- package/src/AuthorizationResultBasedEntityLoader.ts +194 -81
- package/src/AuthorizationResultBasedEntityMutator.ts +71 -45
- package/src/ComposedEntityCacheAdapter.ts +55 -46
- package/src/ComposedSecondaryEntityCache.ts +5 -2
- package/src/EnforcingEntityAssociationLoader.ts +52 -44
- package/src/EnforcingEntityCreator.ts +5 -5
- package/src/EnforcingEntityDeleter.ts +5 -5
- package/src/EnforcingEntityLoader.ts +158 -21
- package/src/EnforcingEntityUpdater.ts +5 -5
- package/src/Entity.ts +185 -29
- package/src/EntityAssociationLoader.ts +6 -6
- package/src/EntityCompanion.ts +11 -11
- package/src/EntityCompanionProvider.ts +21 -18
- package/src/EntityConfiguration.ts +123 -9
- package/src/EntityCreator.ts +7 -7
- package/src/EntityDatabaseAdapter.ts +51 -28
- package/src/EntityDeleter.ts +7 -7
- package/src/EntityFieldDefinition.ts +32 -12
- package/src/EntityFields.ts +49 -12
- package/src/EntityLoader.ts +8 -8
- package/src/EntityLoaderFactory.ts +8 -8
- package/src/EntityLoaderUtils.ts +39 -10
- package/src/EntityMutationInfo.ts +6 -6
- package/src/EntityMutationTriggerConfiguration.ts +68 -20
- package/src/EntityMutationValidator.ts +4 -4
- package/src/EntityMutatorFactory.ts +13 -13
- package/src/EntityPrivacyPolicy.ts +50 -26
- package/src/EntitySecondaryCacheLoader.ts +6 -6
- package/src/EntityUpdater.ts +7 -7
- package/src/GenericEntityCacheAdapter.ts +39 -28
- package/src/GenericSecondaryEntityCache.ts +6 -3
- package/src/IEntityCacheAdapter.ts +45 -25
- package/src/IEntityCacheAdapterProvider.ts +3 -3
- package/src/IEntityDatabaseAdapterProvider.ts +3 -3
- package/src/IEntityGenericCacher.ts +33 -5
- package/src/ReadonlyEntity.ts +129 -16
- package/src/ViewerContext.ts +5 -5
- package/src/ViewerScopedEntityCompanion.ts +7 -7
- package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
- package/src/ViewerScopedEntityLoaderFactory.ts +7 -7
- package/src/ViewerScopedEntityMutatorFactory.ts +8 -8
- package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +41 -72
- package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -13
- package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +367 -69
- package/src/__tests__/ComposedCacheAdapter-test.ts +235 -117
- package/src/__tests__/EnforcingEntityLoader-test.ts +135 -1
- package/src/__tests__/Entity-test.ts +64 -11
- package/src/__tests__/EntityAssociationLoader-test.ts +6 -8
- package/src/__tests__/EntityCommonUseCases-test.ts +25 -28
- package/src/__tests__/EntityCompanion-test.ts +4 -4
- package/src/__tests__/EntityCompanionProvider-test.ts +9 -8
- package/src/__tests__/EntityConfiguration-test.ts +85 -6
- package/src/__tests__/EntityDatabaseAdapter-test.ts +113 -17
- package/src/__tests__/EntityEdges-test.ts +135 -138
- package/src/__tests__/EntityFields-test.ts +2 -2
- package/src/__tests__/EntityLoader-test.ts +5 -7
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +17 -19
- package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +73 -0
- package/src/__tests__/EntityMutator-test.ts +74 -46
- package/src/__tests__/EntityPrivacyPolicy-test.ts +51 -74
- package/src/__tests__/EntityQueryContext-test.ts +1 -1
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +9 -9
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +119 -122
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +83 -28
- package/src/__tests__/ReadonlyEntity-test.ts +49 -9
- package/src/__tests__/ViewerContext-test.ts +1 -1
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +5 -2
- package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +1 -1
- package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +12 -3
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +25 -27
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +28 -34
- package/src/entityUtils.ts +4 -1
- package/src/errors/EntityInvalidFieldValueError.ts +5 -5
- package/src/errors/EntityNotAuthorizedError.ts +3 -3
- package/src/errors/EntityNotFoundError.ts +5 -5
- package/src/index.ts +7 -7
- package/src/internal/CompositeFieldHolder.ts +218 -0
- package/src/internal/CompositeFieldValueMap.ts +78 -0
- package/src/internal/EntityDataManager.ts +107 -96
- package/src/internal/EntityFieldTransformationUtils.ts +33 -14
- package/src/internal/EntityLoadInterfaces.ts +143 -0
- package/src/internal/EntityTableDataCoordinator.ts +8 -5
- package/src/internal/ReadThroughEntityCache.ts +63 -50
- package/src/internal/SingleFieldHolder.ts +131 -0
- package/src/internal/__tests__/CompositeFieldHolder-test.ts +25 -0
- package/src/internal/__tests__/CompositeFieldValueMap-test.ts +43 -0
- package/src/internal/__tests__/EntityDataManager-test.ts +308 -91
- package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +3 -2
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +315 -107
- package/src/metrics/EntityMetricsUtils.ts +7 -2
- package/src/metrics/IEntityMetricsAdapter.ts +6 -0
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +5 -5
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +5 -5
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +5 -5
- package/src/rules/PrivacyPolicyRule.ts +4 -4
- package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +1 -1
- package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +1 -1
- package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +1 -1
- package/src/utils/EntityPrivacyUtils.ts +72 -30
- package/src/utils/{testing → __testfixtures__}/PrivacyPolicyRuleTestUtils.ts +26 -26
- package/src/{testfixtures → utils/__testfixtures__}/SimpleTestEntity.ts +16 -15
- package/src/utils/__testfixtures__/StubCacheAdapter.ts +164 -0
- package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapter.ts +19 -12
- package/src/utils/{testing → __testfixtures__}/StubDatabaseAdapterProvider.ts +4 -4
- package/src/utils/__testfixtures__/TSMockitoExtensions.ts +69 -0
- package/src/{testfixtures → utils/__testfixtures__}/TestEntity.ts +21 -15
- package/src/{testfixtures → utils/__testfixtures__}/TestEntity2.ts +16 -15
- package/src/{testfixtures → utils/__testfixtures__}/TestEntityWithMutationTriggers.ts +23 -22
- package/src/{testfixtures → utils/__testfixtures__}/TestViewerContext.ts +1 -1
- package/src/utils/{testing → __testfixtures__}/describeFieldTestCase.ts +1 -1
- package/src/utils/__tests__/EntityPrivacyUtils-test.ts +81 -113
- package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +31 -30
- package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +1 -1
- package/src/utils/collections/SerializableKeyMap.ts +84 -0
- package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +119 -0
- package/src/utils/collections/__tests__/sets-test.ts +17 -0
- package/src/utils/collections/maps.ts +7 -8
- package/src/utils/collections/sets.ts +3 -0
- package/src/utils/mergeEntityMutationTriggerConfigurations.ts +5 -5
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +0 -273
- package/build/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +0 -26
- package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +0 -110
- package/build/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +0 -1
- package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js +0 -401
- package/build/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +0 -1
- package/build/__tests__/ComposedCacheAdapter-test.d.ts +0 -1
- package/build/__tests__/ComposedCacheAdapter-test.js +0 -229
- package/build/__tests__/ComposedCacheAdapter-test.js.map +0 -1
- package/build/__tests__/ComposedSecondaryEntityCache-test.d.ts +0 -1
- package/build/__tests__/ComposedSecondaryEntityCache-test.js +0 -66
- package/build/__tests__/ComposedSecondaryEntityCache-test.js.map +0 -1
- package/build/__tests__/EnforcingEntityAssociationLoader-test.d.ts +0 -1
- package/build/__tests__/EnforcingEntityAssociationLoader-test.js +0 -115
- package/build/__tests__/EnforcingEntityAssociationLoader-test.js.map +0 -1
- package/build/__tests__/EnforcingEntityLoader-test.d.ts +0 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +0 -253
- package/build/__tests__/EnforcingEntityLoader-test.js.map +0 -1
- package/build/__tests__/Entity-test.d.ts +0 -1
- package/build/__tests__/Entity-test.js +0 -54
- package/build/__tests__/Entity-test.js.map +0 -1
- package/build/__tests__/EntityAssociationLoader-test.d.ts +0 -1
- package/build/__tests__/EntityAssociationLoader-test.js +0 -30
- package/build/__tests__/EntityAssociationLoader-test.js.map +0 -1
- package/build/__tests__/EntityCommonUseCases-test.d.ts +0 -1
- package/build/__tests__/EntityCommonUseCases-test.js +0 -154
- package/build/__tests__/EntityCommonUseCases-test.js.map +0 -1
- package/build/__tests__/EntityCompanion-test.d.ts +0 -1
- package/build/__tests__/EntityCompanion-test.js +0 -77
- package/build/__tests__/EntityCompanion-test.js.map +0 -1
- package/build/__tests__/EntityCompanionProvider-test.d.ts +0 -1
- package/build/__tests__/EntityCompanionProvider-test.js +0 -54
- package/build/__tests__/EntityCompanionProvider-test.js.map +0 -1
- package/build/__tests__/EntityConfiguration-test.d.ts +0 -1
- package/build/__tests__/EntityConfiguration-test.js +0 -103
- package/build/__tests__/EntityConfiguration-test.js.map +0 -1
- package/build/__tests__/EntityDatabaseAdapter-test.d.ts +0 -1
- package/build/__tests__/EntityDatabaseAdapter-test.js +0 -146
- package/build/__tests__/EntityDatabaseAdapter-test.js.map +0 -1
- package/build/__tests__/EntityEdges-test.d.ts +0 -1
- package/build/__tests__/EntityEdges-test.js +0 -755
- package/build/__tests__/EntityEdges-test.js.map +0 -1
- package/build/__tests__/EntityFields-test.d.ts +0 -1
- package/build/__tests__/EntityFields-test.js +0 -63
- package/build/__tests__/EntityFields-test.js.map +0 -1
- package/build/__tests__/EntityLoader-test.d.ts +0 -1
- package/build/__tests__/EntityLoader-test.js +0 -36
- package/build/__tests__/EntityLoader-test.js.map +0 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +0 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +0 -77
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +0 -1
- package/build/__tests__/EntityMutator-test.d.ts +0 -1
- package/build/__tests__/EntityMutator-test.js +0 -741
- package/build/__tests__/EntityMutator-test.js.map +0 -1
- package/build/__tests__/EntityPrivacyPolicy-test.d.ts +0 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +0 -463
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +0 -1
- package/build/__tests__/EntityQueryContext-test.d.ts +0 -1
- package/build/__tests__/EntityQueryContext-test.js +0 -116
- package/build/__tests__/EntityQueryContext-test.js.map +0 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.d.ts +0 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +0 -60
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +0 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.d.ts +0 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +0 -247
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +0 -1
- package/build/__tests__/GenericEntityCacheAdapter-test.d.ts +0 -1
- package/build/__tests__/GenericEntityCacheAdapter-test.js +0 -80
- package/build/__tests__/GenericEntityCacheAdapter-test.js.map +0 -1
- package/build/__tests__/ReadonlyEntity-test.d.ts +0 -1
- package/build/__tests__/ReadonlyEntity-test.js +0 -178
- package/build/__tests__/ReadonlyEntity-test.js.map +0 -1
- package/build/__tests__/ViewerContext-test.d.ts +0 -1
- package/build/__tests__/ViewerContext-test.js +0 -30
- package/build/__tests__/ViewerContext-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityCompanion-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityCompanion-test.js +0 -20
- package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +0 -20
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +0 -23
- package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +0 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +0 -1
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +0 -22
- package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +0 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +0 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +0 -129
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +0 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +0 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +0 -136
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +0 -1
- package/build/__tests__/entityUtils-test.d.ts +0 -1
- package/build/__tests__/entityUtils-test.js +0 -87
- package/build/__tests__/entityUtils-test.js.map +0 -1
- package/build/internal/__tests__/EntityDataManager-test.d.ts +0 -1
- package/build/internal/__tests__/EntityDataManager-test.js +0 -373
- package/build/internal/__tests__/EntityDataManager-test.js.map +0 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +0 -1
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +0 -136
- package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +0 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.d.ts +0 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js +0 -206
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +0 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +0 -1
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +0 -21
- package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +0 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +0 -1
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +0 -21
- package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +0 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +0 -1
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +0 -21
- package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +0 -1
- package/build/testfixtures/DateIDTestEntity.d.ts +0 -19
- package/build/testfixtures/DateIDTestEntity.js +0 -48
- package/build/testfixtures/DateIDTestEntity.js.map +0 -1
- package/build/testfixtures/SimpleTestEntity.d.ts +0 -20
- package/build/testfixtures/SimpleTestEntity.js +0 -48
- package/build/testfixtures/SimpleTestEntity.js.map +0 -1
- package/build/testfixtures/TestEntity.d.ts +0 -30
- package/build/testfixtures/TestEntity.js +0 -93
- package/build/testfixtures/TestEntity.js.map +0 -1
- package/build/testfixtures/TestEntity2.d.ts +0 -20
- package/build/testfixtures/TestEntity2.js +0 -51
- package/build/testfixtures/TestEntity2.js.map +0 -1
- package/build/testfixtures/TestEntityNumberKey.d.ts +0 -19
- package/build/testfixtures/TestEntityNumberKey.js +0 -48
- package/build/testfixtures/TestEntityNumberKey.js.map +0 -1
- package/build/testfixtures/TestEntityWithMutationTriggers.d.ts +0 -36
- package/build/testfixtures/TestEntityWithMutationTriggers.js +0 -82
- package/build/testfixtures/TestEntityWithMutationTriggers.js.map +0 -1
- package/build/testfixtures/TestViewerContext.d.ts +0 -3
- package/build/testfixtures/TestViewerContext.js +0 -10
- package/build/testfixtures/TestViewerContext.js.map +0 -1
- package/build/utils/__tests__/EntityPrivacyUtils-test.d.ts +0 -1
- package/build/utils/__tests__/EntityPrivacyUtils-test.js +0 -520
- package/build/utils/__tests__/EntityPrivacyUtils-test.js.map +0 -1
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +0 -1
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +0 -181
- package/build/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +0 -1
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +0 -1
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +0 -26
- package/build/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +0 -1
- package/build/utils/collections/__tests__/maps-test.d.ts +0 -1
- package/build/utils/collections/__tests__/maps-test.js +0 -120
- package/build/utils/collections/__tests__/maps-test.js.map +0 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +0 -28
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +0 -52
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +0 -1
- package/build/utils/testing/StubCacheAdapter.d.ts +0 -27
- package/build/utils/testing/StubCacheAdapter.js +0 -86
- package/build/utils/testing/StubCacheAdapter.js.map +0 -1
- package/build/utils/testing/StubDatabaseAdapter.d.ts +0 -25
- package/build/utils/testing/StubDatabaseAdapter.js +0 -191
- package/build/utils/testing/StubDatabaseAdapter.js.map +0 -1
- package/build/utils/testing/StubDatabaseAdapterProvider.d.ts +0 -7
- package/build/utils/testing/StubDatabaseAdapterProvider.js +0 -14
- package/build/utils/testing/StubDatabaseAdapterProvider.js.map +0 -1
- package/build/utils/testing/StubQueryContextProvider.d.ts +0 -7
- package/build/utils/testing/StubQueryContextProvider.js +0 -19
- package/build/utils/testing/StubQueryContextProvider.js.map +0 -1
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.d.ts +0 -1
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js +0 -42
- package/build/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.js.map +0 -1
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.d.ts +0 -1
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +0 -402
- package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +0 -1
- package/build/utils/testing/createUnitTestEntityCompanionProvider.d.ts +0 -7
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js +0 -36
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +0 -1
- package/build/utils/testing/describeFieldTestCase.d.ts +0 -2
- package/build/utils/testing/describeFieldTestCase.js +0 -18
- package/build/utils/testing/describeFieldTestCase.js.map +0 -1
- package/src/testfixtures/DateIDTestEntity.ts +0 -59
- package/src/testfixtures/TestEntityNumberKey.ts +0 -59
- package/src/utils/testing/StubCacheAdapter.ts +0 -122
- package/src/utils/testing/__tests__/PrivacyPolicyRuleTestUtils-test.ts +0 -42
- package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +0 -548
- /package/src/utils/{testing → __testfixtures__}/StubQueryContextProvider.ts +0 -0
- /package/src/utils/{testing → __testfixtures__}/createUnitTestEntityCompanionProvider.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/authorizationresultbasedentityassociationloader.ts","../src/authorizationresultbasedentityloader.ts","../src/authorizationresultbasedentitymutator.ts","../src/composedentitycacheadapter.ts","../src/composedsecondaryentitycache.ts","../src/enforcingentityassociationloader.ts","../src/enforcingentitycreator.ts","../src/enforcingentitydeleter.ts","../src/enforcingentityloader.ts","../src/enforcingentityupdater.ts","../src/entity.ts","../src/entityassociationloader.ts","../src/entitycompanion.ts","../src/entitycompanionprovider.ts","../src/entityconfiguration.ts","../src/entitycreator.ts","../src/entitydatabaseadapter.ts","../src/entitydeleter.ts","../src/entityfielddefinition.ts","../src/entityfields.ts","../src/entityloader.ts","../src/entityloaderfactory.ts","../src/entityloaderutils.ts","../src/entitymutationinfo.ts","../src/entitymutationtriggerconfiguration.ts","../src/entitymutationvalidator.ts","../src/entitymutatorfactory.ts","../src/entityprivacypolicy.ts","../src/entityquerycontext.ts","../src/entityquerycontextprovider.ts","../src/entitysecondarycacheloader.ts","../src/entityupdater.ts","../src/genericentitycacheadapter.ts","../src/genericsecondaryentitycache.ts","../src/ientitycacheadapter.ts","../src/ientitycacheadapterprovider.ts","../src/ientitydatabaseadapterprovider.ts","../src/ientitygenericcacher.ts","../src/readonlyentity.ts","../src/viewercontext.ts","../src/viewerscopedentitycompanion.ts","../src/viewerscopedentitycompanionprovider.ts","../src/viewerscopedentityloaderfactory.ts","../src/viewerscopedentitymutatorfactory.ts","../src/entityutils.ts","../src/index.ts","../src/errors/entitycacheadaptererror.ts","../src/errors/entitydatabaseadaptererror.ts","../src/errors/entityerror.ts","../src/errors/entityinvalidfieldvalueerror.ts","../src/errors/entitynotauthorizederror.ts","../src/errors/entitynotfounderror.ts","../src/internal/compositefieldholder.ts","../src/internal/compositefieldvaluemap.ts","../src/internal/entitydatamanager.ts","../src/internal/entityfieldtransformationutils.ts","../src/internal/entityloadinterfaces.ts","../src/internal/entitytabledatacoordinator.ts","../src/internal/readthroughentitycache.ts","../src/internal/singlefieldholder.ts","../src/metrics/entitymetricsutils.ts","../src/metrics/ientitymetricsadapter.ts","../src/metrics/noopentitymetricsadapter.ts","../src/rules/alwaysallowprivacypolicyrule.ts","../src/rules/alwaysdenyprivacypolicyrule.ts","../src/rules/alwaysskipprivacypolicyrule.ts","../src/rules/privacypolicyrule.ts","../src/utils/entityprivacyutils.ts","../src/utils/mergeentitymutationtriggerconfigurations.ts","../src/utils/collections/serializablekeymap.ts","../src/utils/collections/maps.ts","../src/utils/collections/sets.ts"],"version":"5.8.3"}
|
|
@@ -28,7 +28,7 @@ export type EntityPrivacyEvaluationResult = EntityPrivacyEvaluationResultSuccess
|
|
|
28
28
|
* @param sourceEntity - entity loaded by viewer
|
|
29
29
|
* @param queryContext - query context in which to perform the check
|
|
30
30
|
*/
|
|
31
|
-
export declare function canViewerUpdateAsync<TFields extends
|
|
31
|
+
export declare function canViewerUpdateAsync<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields>(entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, sourceEntity: TEntity, queryContext?: EntityQueryContext): Promise<boolean>;
|
|
32
32
|
/**
|
|
33
33
|
* Check whether an entity loaded by a viewer can be updated by that same viewer and return the evaluation result.
|
|
34
34
|
*
|
|
@@ -38,7 +38,7 @@ export declare function canViewerUpdateAsync<TFields extends object, TID extends
|
|
|
38
38
|
* @param sourceEntity - entity loaded by viewer
|
|
39
39
|
* @param queryContext - query context in which to perform the check
|
|
40
40
|
*/
|
|
41
|
-
export declare function getCanViewerUpdateResultAsync<TFields extends
|
|
41
|
+
export declare function getCanViewerUpdateResultAsync<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields>(entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, sourceEntity: TEntity, queryContext?: EntityQueryContext): Promise<EntityPrivacyEvaluationResult>;
|
|
42
42
|
/**
|
|
43
43
|
* Check whether a single entity loaded by a viewer can be deleted by that same viewer.
|
|
44
44
|
* This recursively checks edge cascade permissions (EntityEdgeDeletionBehavior) as well.
|
|
@@ -49,7 +49,7 @@ export declare function getCanViewerUpdateResultAsync<TFields extends object, TI
|
|
|
49
49
|
* @param sourceEntity - entity loaded by viewer
|
|
50
50
|
* @param queryContext - query context in which to perform the check
|
|
51
51
|
*/
|
|
52
|
-
export declare function canViewerDeleteAsync<TFields extends
|
|
52
|
+
export declare function canViewerDeleteAsync<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields>(entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, sourceEntity: TEntity, queryContext?: EntityQueryContext): Promise<boolean>;
|
|
53
53
|
/**
|
|
54
54
|
* Check whether a single entity loaded by a viewer can be deleted by that same viewer and return the evaluation result.
|
|
55
55
|
*
|
|
@@ -59,4 +59,4 @@ export declare function canViewerDeleteAsync<TFields extends object, TID extends
|
|
|
59
59
|
* @param sourceEntity - entity loaded by viewer
|
|
60
60
|
* @param queryContext - query context in which to perform the check
|
|
61
61
|
*/
|
|
62
|
-
export declare function getCanViewerDeleteResultAsync<TFields extends
|
|
62
|
+
export declare function getCanViewerDeleteResultAsync<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields>(entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, sourceEntity: TEntity, queryContext?: EntityQueryContext): Promise<EntityPrivacyEvaluationResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPrivacyUtils.js","sourceRoot":"","sources":["../../src/utils/EntityPrivacyUtils.ts"],"names":[],"mappings":";;;;;AA4CA,
|
|
1
|
+
{"version":3,"file":"EntityPrivacyUtils.js","sourceRoot":"","sources":["../../src/utils/EntityPrivacyUtils.ts"],"names":[],"mappings":";;;;;AA4CA,oDAoCC;AAWD,sEAmCC;AA6DD,oDAoCC;AAWD,sEAmCC;AA7QD,2CAAoD;AAGpD,oEAGkC;AAKlC,gDAA+D;AAC/D,kGAA0E;AAe1E;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,oBAAoB,CAcxC,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,WAAW,EACX,YAAY;IACZ,0BAA0B,CAAC,IAAI,EAC/B,YAAY,CACb,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,6BAA6B,CAcjD,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,OAAO,MAAM,4BAA4B,CACvC,WAAW,EACX,YAAY;IACZ,0BAA0B,CAAC,IAAI,EAC/B,YAAY,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CAczC,WAOC,EACD,YAAqB,EACrB,oBAAwD,EACxD,YAAgC;IAEhC,MAAM,SAAS,GAAG,YAAY;SAC3B,gBAAgB,EAAE;SAClB,sCAAsC,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;IAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAA,qBAAW,EACxC,aAAa,CAAC,oBAAoB,CAChC,YAAY,CAAC,gBAAgB,EAAE,EAC/B,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAC7C,YAAY,EACZ,SAAS,CAAC,iBAAiB,EAAE,CAC9B,CACF,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,gBAAgB,CAAC,MAAM,YAAY,kCAAwB,EAAE,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,oBAAoB,CAcxC,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,WAAW,EACX,YAAY;IACZ,0BAA0B,CAAC,IAAI,EAC/B,YAAY,CACb,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,6BAA6B,CAcjD,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,OAAO,MAAM,4BAA4B,CACvC,WAAW,EACX,YAAY;IACZ,0BAA0B,CAAC,IAAI,EAC/B,YAAY,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CAczC,WAOC,EACD,YAAqB,EACrB,oBAAwD,EACxD,YAAgC;IAEhC,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;IACtD,MAAM,uBAAuB,GAAG,aAAa,CAAC,uBAAuB,CAAC;IACtE,MAAM,qBAAqB,GAAG,YAAY;SACvC,gBAAgB,EAAE;SAClB,sCAAsC,CAAC,WAAW,CAAC,CAAC;IAEvD,MAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,aAAa,CAAC;IAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAA,qBAAW,EACxC,aAAa,CAAC,oBAAoB,CAChC,YAAY,CAAC,gBAAgB,EAAE,EAC/B,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAC7C,YAAY,EACZ,qBAAqB,CAAC,iBAAiB,EAAE,CAC1C,CACF,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,gBAAgB,CAAC,MAAM,YAAY,kCAAwB,EAAE,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,uBAAuB,GAAG;QAC9B,MAAM,EAAE,YAAY;QACpB,oBAAoB;KACrB,CAAC;IAEF,oGAAoG;IACpG,6FAA6F;IAC7F,mFAAmF;IACnF,wFAAwF;IACxF,kDAAkD;IAClD,kFAAkF;IAClF,+FAA+F;IAC/F,mFAAmF;IAEnF,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;IACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;IAEtD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,2BAA2B,GAC/B,uBAAuB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,yBAAyB;aACjF,mBAAmB,CAAC;QAEzB,MAAM,MAAM,GAAG,aAAa;aACzB,sCAAsC,CAAC,WAAW,CAAC;aACnD,gBAAgB,EAAE;aAClB,OAAO,CAAC,YAAY,EAAE;YACrB,aAAa,EAAE,IAAI;YACnB,oBAAoB,EAAE,uBAAuB;SAC9C,CAAC,CAAC;QAEL,KAAK,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,2BAA2B,CAAC,MAAM,EAAE,CAAC;YAC9E,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,qBAAqB,CAC3E,WAAW,CAAC,qBAAqB,CAClC,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;YAChD,IAAI,uBAAuB,KAAK,mBAAmB,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,MAAM,uCAAuC,GAC3C,WAAW,CAAC,0CAA0C,CAAC;YAEzD,IAAI,kCAA0D,CAAC;YAE/D,IACE,uCAAuC;gBACvC,wEAAgD,CAAC,eAAe,EAChE,CAAC;gBACD,MAAM,sCAAsC,GAC1C,MAAM,MAAM,CAAC,wCAAwC,CACnD;oBACE;wBACE,SAAS;wBACT,UAAU,EAAE,WAAW,CAAC,6BAA6B;4BACnD,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAAoC,CAAC;4BACzE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;qBACzB;iBACF,EACD,EAAE,OAAO,EAAE,EAAE,EAAE,CAChB,CAAC;gBACJ,kCAAkC,GAAG,sCAAsC;oBACzE,CAAC,CAAC,CAAC,sCAAsC,CAAC;oBAC1C,CAAC,CAAC,EAAE,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,2BAA2B,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAC3E,SAAS,EACT,WAAW,CAAC,6BAA6B;oBACvC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAAoC,CAAC;oBACzE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CACzB,CAAC;gBACF,kCAAkC,GAAG,2BAA2B,CAAC;YACnE,CAAC;YAED,MAAM,uBAAuB,GAAG,IAAA,2BAAa,EAAC,kCAAkC,CAAC,CAAC;YAClF,KAAK,MAAM,YAAY,IAAI,uBAAuB,EAAE,CAAC;gBACnD,IAAI,YAAY,CAAC,MAAM,YAAY,kCAAwB,EAAE,CAAC;oBAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,MAAM,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1E,CAAC,CAAC,YAAY,EAAE,CACjB,CAAC;YAEF,QAAQ,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBACzC,KAAK,kDAA0B,CAAC,cAAc,CAAC;gBAC/C,KAAK,kDAA0B,CAAC,oCAAoC,CAAC,CAAC,CAAC;oBACrE,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,4BAA4B,CAC1B,WAAW,EACX,MAAM,EACN,uBAAuB,EACvB,YAAY,CACb,CACF,CACF,CAAC;oBAEF,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,0BAA0B,CAAC,CAAC;oBACpF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;wBACrC,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBAED,MAAM;gBACR,CAAC;gBAED,KAAK,kDAA0B,CAAC,QAAQ,CAAC;gBACzC,KAAK,kDAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAC/D,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,4BAA4B,CAC1B,WAAW,EACX,MAAM,EACN,uBAAuB,EACvB,YAAY,CACb,CACF,CACF,CAAC;oBAEF,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,0BAA0B,CAAC,CAAC;oBACpF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;wBACrC,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBAED,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAC9B,iBAAkD;IAElD,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,IAAA,4BAAc,EAGrD,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAErE,IAAI,cAAc,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,mBAAmB,EAAE,cAAc,CAAC,OAAO,CACzC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,mBAAmB,CACrD;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A serializable object. The serialized value is used to determine equality.
|
|
3
|
+
*/
|
|
4
|
+
export interface ISerializable<TSerialized> {
|
|
5
|
+
serialize(): TSerialized;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A map with keys that are serializable. Serialized keys are considered equal if their serialized values are equal.
|
|
9
|
+
* Otherwise, the map behaves like a regular Map.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class SerializableKeyMap<TSerialized, K extends ISerializable<TSerialized>, V> implements ReadonlyMap<K, V>, Map<K, V> {
|
|
12
|
+
protected readonly underlyingMap: Map<TSerialized, V>;
|
|
13
|
+
constructor(iterable?: Iterable<readonly [K, V]> | null);
|
|
14
|
+
protected abstract deserializeKey(serializedKey: TSerialized): K;
|
|
15
|
+
forEach(callbackfn: (value: V, key: K, map: SerializableKeyMap<TSerialized, K, V>) => void, thisArg?: any): void;
|
|
16
|
+
get(key: K): V | undefined;
|
|
17
|
+
has(key: K): boolean;
|
|
18
|
+
clear(): void;
|
|
19
|
+
delete(key: K): boolean;
|
|
20
|
+
set(key: K, value: V): this;
|
|
21
|
+
get size(): number;
|
|
22
|
+
entries(): MapIterator<[K, V]>;
|
|
23
|
+
keys(): MapIterator<K>;
|
|
24
|
+
values(): MapIterator<V>;
|
|
25
|
+
[Symbol.iterator](): MapIterator<[K, V]>;
|
|
26
|
+
get [Symbol.toStringTag](): string;
|
|
27
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SerializableKeyMap = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A map with keys that are serializable. Serialized keys are considered equal if their serialized values are equal.
|
|
6
|
+
* Otherwise, the map behaves like a regular Map.
|
|
7
|
+
*/
|
|
8
|
+
class SerializableKeyMap {
|
|
9
|
+
underlyingMap;
|
|
10
|
+
constructor(iterable) {
|
|
11
|
+
this.underlyingMap = new Map(Array.from(iterable ?? []).map(([key, value]) => [key.serialize(), value]));
|
|
12
|
+
}
|
|
13
|
+
forEach(callbackfn, thisArg) {
|
|
14
|
+
this.underlyingMap.forEach((value, key) => {
|
|
15
|
+
callbackfn.call(thisArg, value, this.deserializeKey(key), this);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
get(key) {
|
|
19
|
+
return this.underlyingMap.get(key.serialize());
|
|
20
|
+
}
|
|
21
|
+
has(key) {
|
|
22
|
+
return this.underlyingMap.has(key.serialize());
|
|
23
|
+
}
|
|
24
|
+
clear() {
|
|
25
|
+
this.underlyingMap.clear();
|
|
26
|
+
}
|
|
27
|
+
delete(key) {
|
|
28
|
+
return this.underlyingMap.delete(key.serialize());
|
|
29
|
+
}
|
|
30
|
+
set(key, value) {
|
|
31
|
+
this.underlyingMap.set(key.serialize(), value);
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
get size() {
|
|
35
|
+
return this.underlyingMap.size;
|
|
36
|
+
}
|
|
37
|
+
*entries() {
|
|
38
|
+
for (const [key, value] of this.underlyingMap.entries()) {
|
|
39
|
+
yield [this.deserializeKey(key), value];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
*keys() {
|
|
43
|
+
for (const key of this.underlyingMap.keys()) {
|
|
44
|
+
yield this.deserializeKey(key);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
*values() {
|
|
48
|
+
for (const value of this.underlyingMap.values()) {
|
|
49
|
+
yield value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
[Symbol.iterator]() {
|
|
53
|
+
return this.entries();
|
|
54
|
+
}
|
|
55
|
+
get [Symbol.toStringTag]() {
|
|
56
|
+
return 'SerializableKeyMap';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.SerializableKeyMap = SerializableKeyMap;
|
|
60
|
+
//# sourceMappingURL=SerializableKeyMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SerializableKeyMap.js","sourceRoot":"","sources":["../../../src/utils/collections/SerializableKeyMap.ts"],"names":[],"mappings":";;;AAOA;;;GAGG;AACH,MAAsB,kBAAkB;IAGnB,aAAa,CAAsB;IAEtD,YAAY,QAA2C;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,CAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,CAC3E,CAAC;IACJ,CAAC;IAID,OAAO,CACL,UAAkF,EAClF,OAAa;QAEb,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACxC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAM;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,CAAC,OAAO;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,CAAC,IAAI;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,CAAC,MAAM;QACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF;AAxED,gDAwEC"}
|
|
@@ -84,8 +84,7 @@ const zipToMap = (keys, values) => {
|
|
|
84
84
|
(0, invariant_1.default)(keys.length === values.length, `zipToMap input length mismatch: keys[${keys.length}], values[${values.length}]`);
|
|
85
85
|
const resultingMap = new Map();
|
|
86
86
|
for (let i = 0; i < keys.length; i++) {
|
|
87
|
-
|
|
88
|
-
resultingMap.set(key, values[i]);
|
|
87
|
+
resultingMap.set(keys[i], values[i]);
|
|
89
88
|
}
|
|
90
89
|
return resultingMap;
|
|
91
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/utils/collections/maps.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/utils/collections/maps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function areSetsEqual<T>(a: ReadonlySet<T>, b: ReadonlySet<T>): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sets.js","sourceRoot":"","sources":["../../../src/utils/collections/sets.ts"],"names":[],"mappings":";;AAAA,oCAEC;AAFD,SAAgB,YAAY,CAAI,CAAiB,EAAE,CAAiB;IAClE,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import EntityMutationTriggerConfiguration from '../EntityMutationTriggerConfiguration';
|
|
2
2
|
import ReadonlyEntity from '../ReadonlyEntity';
|
|
3
3
|
import ViewerContext from '../ViewerContext';
|
|
4
|
-
export declare function mergeEntityMutationTriggerConfigurations<TFields extends
|
|
4
|
+
export declare function mergeEntityMutationTriggerConfigurations<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields>(...mutationTriggerConfigurations: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[]): EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/entity",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
4
4
|
"description": "A privacy-first data model",
|
|
5
5
|
"files": [
|
|
6
6
|
"build",
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"types": "build/index.d.ts",
|
|
11
11
|
"scripts": {
|
|
12
12
|
"tsc": "tsc",
|
|
13
|
+
"build": "tsc -b tsconfig.build.json",
|
|
13
14
|
"clean": "rm -rf build coverage coverage-integration",
|
|
14
15
|
"lint": "eslint src",
|
|
15
16
|
"lint-fix": "eslint src --fix",
|
|
@@ -36,7 +37,8 @@
|
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@types/invariant": "^2.2.37",
|
|
39
|
-
"@types/jest": "^29.5.
|
|
40
|
+
"@types/jest": "^29.5.14",
|
|
41
|
+
"@types/lodash": "^4.17.16",
|
|
40
42
|
"@types/node": "^20.14.1",
|
|
41
43
|
"@types/uuid": "^8.3.0",
|
|
42
44
|
"ctix": "^2.7.0",
|
|
@@ -44,11 +46,12 @@
|
|
|
44
46
|
"eslint-config-universe": "^14.0.0",
|
|
45
47
|
"eslint-plugin-tsdoc": "^0.3.0",
|
|
46
48
|
"jest": "^29.7.0",
|
|
49
|
+
"lodash": "^4.17.21",
|
|
47
50
|
"prettier": "^3.3.3",
|
|
48
51
|
"prettier-plugin-organize-imports": "^4.1.0",
|
|
49
|
-
"ts-jest": "^29.
|
|
52
|
+
"ts-jest": "^29.3.1",
|
|
50
53
|
"ts-mockito": "^2.6.1",
|
|
51
|
-
"typescript": "^5.
|
|
54
|
+
"typescript": "^5.8.3"
|
|
52
55
|
},
|
|
53
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "8414d96d948882735687da146e84913397cd8368"
|
|
54
57
|
}
|
|
@@ -12,10 +12,10 @@ import ViewerContext from './ViewerContext';
|
|
|
12
12
|
* by foreign keys.
|
|
13
13
|
*/
|
|
14
14
|
export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
15
|
-
TFields extends
|
|
16
|
-
|
|
15
|
+
TFields extends Record<string, any>,
|
|
16
|
+
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
17
17
|
TViewerContext extends ViewerContext,
|
|
18
|
-
TEntity extends ReadonlyEntity<TFields,
|
|
18
|
+
TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>,
|
|
19
19
|
TSelectedFields extends keyof TFields,
|
|
20
20
|
> {
|
|
21
21
|
constructor(
|
|
@@ -32,16 +32,18 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
32
32
|
async loadAssociatedEntityAsync<
|
|
33
33
|
TIdentifyingField extends keyof Pick<TFields, TSelectedFields>,
|
|
34
34
|
TAssociatedFields extends object,
|
|
35
|
-
|
|
35
|
+
TAssociatedIDField extends keyof NonNullable<
|
|
36
|
+
Pick<TAssociatedFields, TAssociatedSelectedFields>
|
|
37
|
+
>,
|
|
36
38
|
TAssociatedEntity extends ReadonlyEntity<
|
|
37
39
|
TAssociatedFields,
|
|
38
|
-
|
|
40
|
+
TAssociatedIDField,
|
|
39
41
|
TViewerContext,
|
|
40
42
|
TAssociatedSelectedFields
|
|
41
43
|
>,
|
|
42
44
|
TAssociatedPrivacyPolicy extends EntityPrivacyPolicy<
|
|
43
45
|
TAssociatedFields,
|
|
44
|
-
|
|
46
|
+
TAssociatedIDField,
|
|
45
47
|
TViewerContext,
|
|
46
48
|
TAssociatedEntity,
|
|
47
49
|
TAssociatedSelectedFields
|
|
@@ -51,7 +53,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
51
53
|
fieldIdentifyingAssociatedEntity: TIdentifyingField,
|
|
52
54
|
associatedEntityClass: IEntityClass<
|
|
53
55
|
TAssociatedFields,
|
|
54
|
-
|
|
56
|
+
TAssociatedIDField,
|
|
55
57
|
TViewerContext,
|
|
56
58
|
TAssociatedEntity,
|
|
57
59
|
TAssociatedPrivacyPolicy,
|
|
@@ -72,8 +74,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
72
74
|
.getViewerScopedEntityCompanionForClass(associatedEntityClass)
|
|
73
75
|
.getLoaderFactory()
|
|
74
76
|
.forLoad(this.queryContext, { previousValue: null, cascadingDeleteCause: null });
|
|
75
|
-
|
|
76
|
-
return (await loader.loadByIDAsync(associatedEntityID as unknown as TAssociatedID)) as Result<
|
|
77
|
+
return (await loader.loadByIDAsync(associatedEntityID)) as Result<
|
|
77
78
|
null extends TFields[TIdentifyingField] ? TAssociatedEntity | null : TAssociatedEntity
|
|
78
79
|
>;
|
|
79
80
|
}
|
|
@@ -88,16 +89,18 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
88
89
|
*/
|
|
89
90
|
async loadManyAssociatedEntitiesAsync<
|
|
90
91
|
TAssociatedFields extends object,
|
|
91
|
-
|
|
92
|
+
TAssociatedIDField extends keyof NonNullable<
|
|
93
|
+
Pick<TAssociatedFields, TAssociatedSelectedFields>
|
|
94
|
+
>,
|
|
92
95
|
TAssociatedEntity extends ReadonlyEntity<
|
|
93
96
|
TAssociatedFields,
|
|
94
|
-
|
|
97
|
+
TAssociatedIDField,
|
|
95
98
|
TViewerContext,
|
|
96
99
|
TAssociatedSelectedFields
|
|
97
100
|
>,
|
|
98
101
|
TAssociatedPrivacyPolicy extends EntityPrivacyPolicy<
|
|
99
102
|
TAssociatedFields,
|
|
100
|
-
|
|
103
|
+
TAssociatedIDField,
|
|
101
104
|
TViewerContext,
|
|
102
105
|
TAssociatedEntity,
|
|
103
106
|
TAssociatedSelectedFields
|
|
@@ -106,7 +109,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
106
109
|
>(
|
|
107
110
|
associatedEntityClass: IEntityClass<
|
|
108
111
|
TAssociatedFields,
|
|
109
|
-
|
|
112
|
+
TAssociatedIDField,
|
|
110
113
|
TViewerContext,
|
|
111
114
|
TAssociatedEntity,
|
|
112
115
|
TAssociatedPrivacyPolicy,
|
|
@@ -135,16 +138,18 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
135
138
|
*/
|
|
136
139
|
async loadAssociatedEntityByFieldEqualingAsync<
|
|
137
140
|
TAssociatedFields extends object,
|
|
138
|
-
|
|
141
|
+
TAssociatedIDField extends keyof NonNullable<
|
|
142
|
+
Pick<TAssociatedFields, TAssociatedSelectedFields>
|
|
143
|
+
>,
|
|
139
144
|
TAssociatedEntity extends ReadonlyEntity<
|
|
140
145
|
TAssociatedFields,
|
|
141
|
-
|
|
146
|
+
TAssociatedIDField,
|
|
142
147
|
TViewerContext,
|
|
143
148
|
TAssociatedSelectedFields
|
|
144
149
|
>,
|
|
145
150
|
TAssociatedPrivacyPolicy extends EntityPrivacyPolicy<
|
|
146
151
|
TAssociatedFields,
|
|
147
|
-
|
|
152
|
+
TAssociatedIDField,
|
|
148
153
|
TViewerContext,
|
|
149
154
|
TAssociatedEntity,
|
|
150
155
|
TAssociatedSelectedFields
|
|
@@ -154,7 +159,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
154
159
|
fieldIdentifyingAssociatedEntity: keyof Pick<TFields, TSelectedFields>,
|
|
155
160
|
associatedEntityClass: IEntityClass<
|
|
156
161
|
TAssociatedFields,
|
|
157
|
-
|
|
162
|
+
TAssociatedIDField,
|
|
158
163
|
TViewerContext,
|
|
159
164
|
TAssociatedEntity,
|
|
160
165
|
TAssociatedPrivacyPolicy,
|
|
@@ -186,16 +191,18 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
186
191
|
*/
|
|
187
192
|
async loadManyAssociatedEntitiesByFieldEqualingAsync<
|
|
188
193
|
TAssociatedFields extends object,
|
|
189
|
-
|
|
194
|
+
TAssociatedIDField extends keyof NonNullable<
|
|
195
|
+
Pick<TAssociatedFields, TAssociatedSelectedFields>
|
|
196
|
+
>,
|
|
190
197
|
TAssociatedEntity extends ReadonlyEntity<
|
|
191
198
|
TAssociatedFields,
|
|
192
|
-
|
|
199
|
+
TAssociatedIDField,
|
|
193
200
|
TViewerContext,
|
|
194
201
|
TAssociatedSelectedFields
|
|
195
202
|
>,
|
|
196
203
|
TAssociatedPrivacyPolicy extends EntityPrivacyPolicy<
|
|
197
204
|
TAssociatedFields,
|
|
198
|
-
|
|
205
|
+
TAssociatedIDField,
|
|
199
206
|
TViewerContext,
|
|
200
207
|
TAssociatedEntity,
|
|
201
208
|
TAssociatedSelectedFields
|
|
@@ -205,7 +212,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
205
212
|
fieldIdentifyingAssociatedEntity: keyof Pick<TFields, TSelectedFields>,
|
|
206
213
|
associatedEntityClass: IEntityClass<
|
|
207
214
|
TAssociatedFields,
|
|
208
|
-
|
|
215
|
+
TAssociatedIDField,
|
|
209
216
|
TViewerContext,
|
|
210
217
|
TAssociatedEntity,
|
|
211
218
|
TAssociatedPrivacyPolicy,
|
|
@@ -236,11 +243,11 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
236
243
|
*/
|
|
237
244
|
async loadAssociatedEntityThroughAsync<
|
|
238
245
|
TFields2 extends object,
|
|
239
|
-
|
|
240
|
-
TEntity2 extends ReadonlyEntity<TFields2,
|
|
246
|
+
TIDField2 extends keyof NonNullable<Pick<TFields2, TSelectedFields2>>,
|
|
247
|
+
TEntity2 extends ReadonlyEntity<TFields2, TIDField2, TViewerContext, TSelectedFields2>,
|
|
241
248
|
TPrivacyPolicy2 extends EntityPrivacyPolicy<
|
|
242
249
|
TFields2,
|
|
243
|
-
|
|
250
|
+
TIDField2,
|
|
244
251
|
TViewerContext,
|
|
245
252
|
TEntity2,
|
|
246
253
|
TSelectedFields2
|
|
@@ -252,7 +259,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
252
259
|
TViewerContext,
|
|
253
260
|
TFields,
|
|
254
261
|
TFields2,
|
|
255
|
-
|
|
262
|
+
TIDField2,
|
|
256
263
|
TEntity2,
|
|
257
264
|
TPrivacyPolicy2,
|
|
258
265
|
TSelectedFields,
|
|
@@ -268,21 +275,21 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
268
275
|
*/
|
|
269
276
|
async loadAssociatedEntityThroughAsync<
|
|
270
277
|
TFields2 extends object,
|
|
271
|
-
|
|
272
|
-
TEntity2 extends ReadonlyEntity<TFields2,
|
|
278
|
+
TIDField2 extends keyof NonNullable<Pick<TFields2, TSelectedFields2>>,
|
|
279
|
+
TEntity2 extends ReadonlyEntity<TFields2, TIDField2, TViewerContext, TSelectedFields2>,
|
|
273
280
|
TPrivacyPolicy2 extends EntityPrivacyPolicy<
|
|
274
281
|
TFields2,
|
|
275
|
-
|
|
282
|
+
TIDField2,
|
|
276
283
|
TViewerContext,
|
|
277
284
|
TEntity2,
|
|
278
285
|
TSelectedFields2
|
|
279
286
|
>,
|
|
280
287
|
TFields3 extends object,
|
|
281
|
-
|
|
282
|
-
TEntity3 extends ReadonlyEntity<TFields3,
|
|
288
|
+
TIDField3 extends keyof NonNullable<Pick<TFields3, TSelectedFields3>>,
|
|
289
|
+
TEntity3 extends ReadonlyEntity<TFields3, TIDField3, TViewerContext, TSelectedFields3>,
|
|
283
290
|
TPrivacyPolicy3 extends EntityPrivacyPolicy<
|
|
284
291
|
TFields3,
|
|
285
|
-
|
|
292
|
+
TIDField3,
|
|
286
293
|
TViewerContext,
|
|
287
294
|
TEntity3,
|
|
288
295
|
TSelectedFields3
|
|
@@ -295,7 +302,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
295
302
|
TViewerContext,
|
|
296
303
|
TFields,
|
|
297
304
|
TFields2,
|
|
298
|
-
|
|
305
|
+
TIDField2,
|
|
299
306
|
TEntity2,
|
|
300
307
|
TPrivacyPolicy2,
|
|
301
308
|
TSelectedFields,
|
|
@@ -305,7 +312,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
305
312
|
TViewerContext,
|
|
306
313
|
TFields2,
|
|
307
314
|
TFields3,
|
|
308
|
-
|
|
315
|
+
TIDField3,
|
|
309
316
|
TEntity3,
|
|
310
317
|
TPrivacyPolicy3,
|
|
311
318
|
TSelectedFields2,
|
|
@@ -321,31 +328,31 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
321
328
|
*/
|
|
322
329
|
async loadAssociatedEntityThroughAsync<
|
|
323
330
|
TFields2 extends object,
|
|
324
|
-
|
|
325
|
-
TEntity2 extends ReadonlyEntity<TFields2,
|
|
331
|
+
TIDField2 extends keyof NonNullable<Pick<TFields2, TSelectedFields2>>,
|
|
332
|
+
TEntity2 extends ReadonlyEntity<TFields2, TIDField2, TViewerContext, TSelectedFields2>,
|
|
326
333
|
TPrivacyPolicy2 extends EntityPrivacyPolicy<
|
|
327
334
|
TFields2,
|
|
328
|
-
|
|
335
|
+
TIDField2,
|
|
329
336
|
TViewerContext,
|
|
330
337
|
TEntity2,
|
|
331
338
|
TSelectedFields2
|
|
332
339
|
>,
|
|
333
340
|
TFields3 extends object,
|
|
334
|
-
|
|
335
|
-
TEntity3 extends ReadonlyEntity<TFields3,
|
|
341
|
+
TIDField3 extends keyof NonNullable<Pick<TFields3, TSelectedFields3>>,
|
|
342
|
+
TEntity3 extends ReadonlyEntity<TFields3, TIDField3, TViewerContext, TSelectedFields3>,
|
|
336
343
|
TPrivacyPolicy3 extends EntityPrivacyPolicy<
|
|
337
344
|
TFields3,
|
|
338
|
-
|
|
345
|
+
TIDField3,
|
|
339
346
|
TViewerContext,
|
|
340
347
|
TEntity3,
|
|
341
348
|
TSelectedFields3
|
|
342
349
|
>,
|
|
343
350
|
TFields4 extends object,
|
|
344
|
-
|
|
345
|
-
TEntity4 extends ReadonlyEntity<TFields4,
|
|
351
|
+
TIDField4 extends keyof NonNullable<Pick<TFields4, TSelectedFields4>>,
|
|
352
|
+
TEntity4 extends ReadonlyEntity<TFields4, TIDField4, TViewerContext, TSelectedFields4>,
|
|
346
353
|
TPrivacyPolicy4 extends EntityPrivacyPolicy<
|
|
347
354
|
TFields4,
|
|
348
|
-
|
|
355
|
+
TIDField4,
|
|
349
356
|
TViewerContext,
|
|
350
357
|
TEntity4,
|
|
351
358
|
TSelectedFields4
|
|
@@ -359,7 +366,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
359
366
|
TViewerContext,
|
|
360
367
|
TFields,
|
|
361
368
|
TFields2,
|
|
362
|
-
|
|
369
|
+
TIDField2,
|
|
363
370
|
TEntity2,
|
|
364
371
|
TPrivacyPolicy2,
|
|
365
372
|
TSelectedFields,
|
|
@@ -369,7 +376,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
369
376
|
TViewerContext,
|
|
370
377
|
TFields2,
|
|
371
378
|
TFields3,
|
|
372
|
-
|
|
379
|
+
TIDField3,
|
|
373
380
|
TEntity3,
|
|
374
381
|
TPrivacyPolicy3,
|
|
375
382
|
TSelectedFields2,
|
|
@@ -379,7 +386,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
379
386
|
TViewerContext,
|
|
380
387
|
TFields3,
|
|
381
388
|
TFields4,
|
|
382
|
-
|
|
389
|
+
TIDField4,
|
|
383
390
|
TEntity4,
|
|
384
391
|
TPrivacyPolicy4,
|
|
385
392
|
TSelectedFields3,
|
|
@@ -410,8 +417,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
410
417
|
let associatedEntityResult: Result<ReadonlyEntity<any, any, any, any>> | null;
|
|
411
418
|
if (associatedEntityLookupByField) {
|
|
412
419
|
associatedEntityResult = await currentEntity
|
|
413
|
-
.
|
|
414
|
-
.withAuthorizationResults()
|
|
420
|
+
.associationLoaderWithAuthorizationResults(this.queryContext)
|
|
415
421
|
.loadAssociatedEntityByFieldEqualingAsync(
|
|
416
422
|
fieldIdentifyingAssociatedEntity,
|
|
417
423
|
associatedEntityClass,
|
|
@@ -419,8 +425,7 @@ export default class AuthorizationResultBasedEntityAssociationLoader<
|
|
|
419
425
|
);
|
|
420
426
|
} else {
|
|
421
427
|
const associatedEntityResultLocal = await currentEntity
|
|
422
|
-
.
|
|
423
|
-
.withAuthorizationResults()
|
|
428
|
+
.associationLoaderWithAuthorizationResults(this.queryContext)
|
|
424
429
|
.loadAssociatedEntityAsync(fieldIdentifyingAssociatedEntity, associatedEntityClass);
|
|
425
430
|
|
|
426
431
|
if (associatedEntityResultLocal.ok && associatedEntityResultLocal.value === null) {
|
|
@@ -450,16 +455,16 @@ export interface EntityLoadThroughDirective<
|
|
|
450
455
|
TViewerContext extends ViewerContext,
|
|
451
456
|
TFields,
|
|
452
457
|
TAssociatedFields extends object,
|
|
453
|
-
|
|
458
|
+
TAssociatedIDField extends keyof NonNullable<Pick<TAssociatedFields, TAssociatedSelectedFields>>,
|
|
454
459
|
TAssociatedEntity extends ReadonlyEntity<
|
|
455
460
|
TAssociatedFields,
|
|
456
|
-
|
|
461
|
+
TAssociatedIDField,
|
|
457
462
|
TViewerContext,
|
|
458
463
|
TAssociatedSelectedFields
|
|
459
464
|
>,
|
|
460
465
|
TAssociatedPrivacyPolicy extends EntityPrivacyPolicy<
|
|
461
466
|
TAssociatedFields,
|
|
462
|
-
|
|
467
|
+
TAssociatedIDField,
|
|
463
468
|
TViewerContext,
|
|
464
469
|
TAssociatedEntity,
|
|
465
470
|
TAssociatedSelectedFields
|
|
@@ -472,7 +477,7 @@ export interface EntityLoadThroughDirective<
|
|
|
472
477
|
*/
|
|
473
478
|
associatedEntityClass: IEntityClass<
|
|
474
479
|
TAssociatedFields,
|
|
475
|
-
|
|
480
|
+
TAssociatedIDField,
|
|
476
481
|
TViewerContext,
|
|
477
482
|
TAssociatedEntity,
|
|
478
483
|
TAssociatedPrivacyPolicy,
|