@expo/entity 0.44.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{AuthorizationResultBasedEntityAssociationLoader.d.ts → src/AuthorizationResultBasedEntityAssociationLoader.d.ts} +4 -4
- package/build/{AuthorizationResultBasedEntityAssociationLoader.js → src/AuthorizationResultBasedEntityAssociationLoader.js} +2 -1
- package/build/src/AuthorizationResultBasedEntityAssociationLoader.js.map +1 -0
- package/build/{AuthorizationResultBasedEntityLoader.d.ts → src/AuthorizationResultBasedEntityLoader.d.ts} +8 -8
- package/build/{AuthorizationResultBasedEntityLoader.js → src/AuthorizationResultBasedEntityLoader.js} +10 -5
- package/build/src/AuthorizationResultBasedEntityLoader.js.map +1 -0
- package/build/{AuthorizationResultBasedEntityMutator.d.ts → src/AuthorizationResultBasedEntityMutator.d.ts} +11 -11
- package/build/{AuthorizationResultBasedEntityMutator.js → src/AuthorizationResultBasedEntityMutator.js} +2 -2
- package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -0
- package/build/{ComposedEntityCacheAdapter.d.ts → src/ComposedEntityCacheAdapter.d.ts} +2 -2
- package/build/{ComposedEntityCacheAdapter.js → src/ComposedEntityCacheAdapter.js} +2 -1
- package/build/src/ComposedEntityCacheAdapter.js.map +1 -0
- package/build/{ComposedSecondaryEntityCache.d.ts → src/ComposedSecondaryEntityCache.d.ts} +1 -1
- package/build/{ComposedSecondaryEntityCache.js → src/ComposedSecondaryEntityCache.js} +2 -1
- package/build/src/ComposedSecondaryEntityCache.js.map +1 -0
- package/build/{EnforcingEntityAssociationLoader.d.ts → src/EnforcingEntityAssociationLoader.d.ts} +5 -5
- package/build/{EnforcingEntityAssociationLoader.js → src/EnforcingEntityAssociationLoader.js} +2 -1
- package/build/src/EnforcingEntityAssociationLoader.js.map +1 -0
- package/build/{EnforcingEntityCreator.d.ts → src/EnforcingEntityCreator.d.ts} +4 -4
- package/build/{EnforcingEntityCreator.js → src/EnforcingEntityCreator.js} +2 -1
- package/build/src/EnforcingEntityCreator.js.map +1 -0
- package/build/{EnforcingEntityDeleter.d.ts → src/EnforcingEntityDeleter.d.ts} +4 -4
- package/build/{EnforcingEntityDeleter.js → src/EnforcingEntityDeleter.js} +2 -1
- package/build/src/EnforcingEntityDeleter.js.map +1 -0
- package/build/{EnforcingEntityLoader.d.ts → src/EnforcingEntityLoader.d.ts} +5 -5
- package/build/{EnforcingEntityLoader.js → src/EnforcingEntityLoader.js} +2 -1
- package/build/src/EnforcingEntityLoader.js.map +1 -0
- package/build/{EnforcingEntityUpdater.d.ts → src/EnforcingEntityUpdater.d.ts} +4 -4
- package/build/{EnforcingEntityUpdater.js → src/EnforcingEntityUpdater.js} +2 -1
- package/build/src/EnforcingEntityUpdater.js.map +1 -0
- package/build/{Entity.d.ts → src/Entity.d.ts} +7 -7
- package/build/{Entity.js → src/Entity.js} +13 -15
- package/build/src/Entity.js.map +1 -0
- package/build/{EntityAssociationLoader.d.ts → src/EntityAssociationLoader.d.ts} +5 -5
- package/build/{EntityAssociationLoader.js → src/EntityAssociationLoader.js} +6 -8
- package/build/src/EntityAssociationLoader.js.map +1 -0
- package/build/{EntityCompanion.d.ts → src/EntityCompanion.d.ts} +10 -10
- package/build/{EntityCompanion.js → src/EntityCompanion.js} +6 -8
- package/build/src/EntityCompanion.js.map +1 -0
- package/build/{EntityCompanionProvider.d.ts → src/EntityCompanionProvider.d.ts} +12 -12
- package/build/{EntityCompanionProvider.js → src/EntityCompanionProvider.js} +6 -5
- package/build/src/EntityCompanionProvider.js.map +1 -0
- package/build/{EntityConfiguration.d.ts → src/EntityConfiguration.d.ts} +2 -2
- package/build/{EntityConfiguration.js → src/EntityConfiguration.js} +2 -2
- package/build/src/EntityConfiguration.js.map +1 -0
- package/build/{EntityCreator.d.ts → src/EntityCreator.d.ts} +5 -5
- package/build/{EntityCreator.js → src/EntityCreator.js} +4 -6
- package/build/{EntityCreator.js.map → src/EntityCreator.js.map} +1 -1
- package/build/{EntityDatabaseAdapter.d.ts → src/EntityDatabaseAdapter.d.ts} +2 -2
- package/build/{EntityDatabaseAdapter.js → src/EntityDatabaseAdapter.js} +2 -2
- package/build/src/EntityDatabaseAdapter.js.map +1 -0
- package/build/{EntityDeleter.d.ts → src/EntityDeleter.d.ts} +5 -5
- package/build/{EntityDeleter.js → src/EntityDeleter.js} +4 -6
- package/build/{EntityDeleter.js.map → src/EntityDeleter.js.map} +1 -1
- package/build/{EntityFieldDefinition.d.ts → src/EntityFieldDefinition.d.ts} +3 -3
- package/build/src/EntityFieldDefinition.js.map +1 -0
- package/build/src/EntityFields.js.map +1 -0
- package/build/{EntityLoader.d.ts → src/EntityLoader.d.ts} +7 -7
- package/build/{EntityLoader.js → src/EntityLoader.js} +4 -6
- package/build/{EntityLoader.js.map → src/EntityLoader.js.map} +1 -1
- package/build/{EntityLoaderFactory.d.ts → src/EntityLoaderFactory.d.ts} +8 -8
- package/build/src/EntityLoaderFactory.js +29 -0
- package/build/src/EntityLoaderFactory.js.map +1 -0
- package/build/{EntityLoaderUtils.d.ts → src/EntityLoaderUtils.d.ts} +7 -7
- package/build/{EntityLoaderUtils.js → src/EntityLoaderUtils.js} +2 -1
- package/build/src/EntityLoaderUtils.js.map +1 -0
- package/build/{EntityMutationInfo.d.ts → src/EntityMutationInfo.d.ts} +2 -2
- package/build/src/EntityMutationInfo.js.map +1 -0
- package/build/{EntityMutationTriggerConfiguration.d.ts → src/EntityMutationTriggerConfiguration.d.ts} +3 -3
- package/build/src/EntityMutationTriggerConfiguration.js.map +1 -0
- package/build/{EntityMutationValidator.d.ts → src/EntityMutationValidator.d.ts} +3 -3
- package/build/{EntityMutationValidator.js → src/EntityMutationValidator.js} +2 -1
- package/build/src/EntityMutationValidator.js.map +1 -0
- package/build/{EntityMutatorFactory.d.ts → src/EntityMutatorFactory.d.ts} +12 -12
- package/build/{EntityMutatorFactory.js → src/EntityMutatorFactory.js} +2 -1
- package/build/src/EntityMutatorFactory.js.map +1 -0
- package/build/{EntityPrivacyPolicy.d.ts → src/EntityPrivacyPolicy.d.ts} +6 -6
- package/build/{EntityPrivacyPolicy.js → src/EntityPrivacyPolicy.js} +8 -11
- package/build/{EntityPrivacyPolicy.js.map → src/EntityPrivacyPolicy.js.map} +1 -1
- package/build/{EntityQueryContext.d.ts → src/EntityQueryContext.d.ts} +1 -1
- package/build/src/EntityQueryContext.js.map +1 -0
- package/build/{EntityQueryContextProvider.d.ts → src/EntityQueryContextProvider.d.ts} +2 -2
- package/build/{EntityQueryContextProvider.js → src/EntityQueryContextProvider.js} +2 -1
- package/build/src/EntityQueryContextProvider.js.map +1 -0
- package/build/{EntitySecondaryCacheLoader.d.ts → src/EntitySecondaryCacheLoader.d.ts} +5 -5
- package/build/{EntitySecondaryCacheLoader.js → src/EntitySecondaryCacheLoader.js} +2 -1
- package/build/src/EntitySecondaryCacheLoader.js.map +1 -0
- package/build/{EntityUpdater.d.ts → src/EntityUpdater.d.ts} +5 -5
- package/build/{EntityUpdater.js → src/EntityUpdater.js} +4 -6
- package/build/{EntityUpdater.js.map → src/EntityUpdater.js.map} +1 -1
- package/build/{GenericEntityCacheAdapter.d.ts → src/GenericEntityCacheAdapter.d.ts} +3 -3
- package/build/{GenericEntityCacheAdapter.js → src/GenericEntityCacheAdapter.js} +2 -1
- package/build/src/GenericEntityCacheAdapter.js.map +1 -0
- package/build/{GenericSecondaryEntityCache.d.ts → src/GenericSecondaryEntityCache.d.ts} +2 -2
- package/build/{GenericSecondaryEntityCache.js → src/GenericSecondaryEntityCache.js} +2 -1
- package/build/src/GenericSecondaryEntityCache.js.map +1 -0
- package/build/{IEntityCacheAdapter.d.ts → src/IEntityCacheAdapter.d.ts} +1 -1
- package/build/src/IEntityCacheAdapter.js.map +1 -0
- package/build/{IEntityCacheAdapterProvider.d.ts → src/IEntityCacheAdapterProvider.d.ts} +3 -3
- package/build/src/IEntityCacheAdapterProvider.js.map +1 -0
- package/build/{IEntityDatabaseAdapterProvider.d.ts → src/IEntityDatabaseAdapterProvider.d.ts} +3 -3
- package/build/src/IEntityDatabaseAdapterProvider.js.map +1 -0
- package/build/{IEntityGenericCacher.d.ts → src/IEntityGenericCacher.d.ts} +1 -1
- package/build/src/IEntityGenericCacher.js.map +1 -0
- package/build/{ReadonlyEntity.d.ts → src/ReadonlyEntity.d.ts} +8 -8
- package/build/{ReadonlyEntity.js → src/ReadonlyEntity.js} +9 -8
- package/build/src/ReadonlyEntity.js.map +1 -0
- package/build/{ViewerContext.d.ts → src/ViewerContext.d.ts} +5 -5
- package/build/{ViewerContext.js → src/ViewerContext.js} +4 -6
- package/build/{ViewerContext.js.map → src/ViewerContext.js.map} +1 -1
- package/build/{ViewerScopedEntityCompanion.d.ts → src/ViewerScopedEntityCompanion.d.ts} +9 -9
- package/build/{ViewerScopedEntityCompanion.js → src/ViewerScopedEntityCompanion.js} +6 -8
- package/build/{ViewerScopedEntityCompanion.js.map → src/ViewerScopedEntityCompanion.js.map} +1 -1
- package/build/{ViewerScopedEntityCompanionProvider.d.ts → src/ViewerScopedEntityCompanionProvider.d.ts} +6 -6
- package/build/{ViewerScopedEntityCompanionProvider.js → src/ViewerScopedEntityCompanionProvider.js} +4 -6
- package/build/src/ViewerScopedEntityCompanionProvider.js.map +1 -0
- package/build/{ViewerScopedEntityLoaderFactory.d.ts → src/ViewerScopedEntityLoaderFactory.d.ts} +6 -6
- package/build/{ViewerScopedEntityLoaderFactory.js → src/ViewerScopedEntityLoaderFactory.js} +2 -1
- package/build/src/ViewerScopedEntityLoaderFactory.js.map +1 -0
- package/build/{ViewerScopedEntityMutatorFactory.d.ts → src/ViewerScopedEntityMutatorFactory.d.ts} +6 -6
- package/build/{ViewerScopedEntityMutatorFactory.js → src/ViewerScopedEntityMutatorFactory.js} +2 -1
- package/build/src/ViewerScopedEntityMutatorFactory.js.map +1 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.d.ts +1 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js +240 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.js.map +1 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.d.ts +26 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js +109 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.js.map +1 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.d.ts +1 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js +590 -0
- package/build/src/__tests__/AuthorizationResultBasedEntityLoader-test.js.map +1 -0
- package/build/src/__tests__/ComposedCacheAdapter-test.d.ts +1 -0
- package/build/src/__tests__/ComposedCacheAdapter-test.js +259 -0
- package/build/src/__tests__/ComposedCacheAdapter-test.js.map +1 -0
- package/build/src/__tests__/ComposedSecondaryEntityCache-test.d.ts +1 -0
- package/build/src/__tests__/ComposedSecondaryEntityCache-test.js +67 -0
- package/build/src/__tests__/ComposedSecondaryEntityCache-test.js.map +1 -0
- package/build/src/__tests__/EnforcingEntityAssociationLoader-test.d.ts +1 -0
- package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js +113 -0
- package/build/src/__tests__/EnforcingEntityAssociationLoader-test.js.map +1 -0
- package/build/src/__tests__/EnforcingEntityLoader-test.d.ts +1 -0
- package/build/src/__tests__/EnforcingEntityLoader-test.js +316 -0
- package/build/src/__tests__/EnforcingEntityLoader-test.js.map +1 -0
- package/build/src/__tests__/Entity-test.d.ts +1 -0
- package/build/src/__tests__/Entity-test.js +92 -0
- package/build/src/__tests__/Entity-test.js.map +1 -0
- package/build/src/__tests__/EntityAssociationLoader-test.d.ts +1 -0
- package/build/src/__tests__/EntityAssociationLoader-test.js +28 -0
- package/build/src/__tests__/EntityAssociationLoader-test.js.map +1 -0
- package/build/src/__tests__/EntityCommonUseCases-test.d.ts +1 -0
- package/build/src/__tests__/EntityCommonUseCases-test.js +111 -0
- package/build/src/__tests__/EntityCommonUseCases-test.js.map +1 -0
- package/build/src/__tests__/EntityCompanion-test.d.ts +1 -0
- package/build/src/__tests__/EntityCompanion-test.js +42 -0
- package/build/src/__tests__/EntityCompanion-test.js.map +1 -0
- package/build/src/__tests__/EntityCompanionProvider-test.d.ts +1 -0
- package/build/src/__tests__/EntityCompanionProvider-test.js +53 -0
- package/build/src/__tests__/EntityCompanionProvider-test.js.map +1 -0
- package/build/src/__tests__/EntityConfiguration-test.d.ts +1 -0
- package/build/src/__tests__/EntityConfiguration-test.js +164 -0
- package/build/src/__tests__/EntityConfiguration-test.js.map +1 -0
- package/build/src/__tests__/EntityDatabaseAdapter-test.d.ts +1 -0
- package/build/src/__tests__/EntityDatabaseAdapter-test.js +189 -0
- package/build/src/__tests__/EntityDatabaseAdapter-test.js.map +1 -0
- package/build/src/__tests__/EntityEdges-test.d.ts +1 -0
- package/build/src/__tests__/EntityEdges-test.js +680 -0
- package/build/src/__tests__/EntityEdges-test.js.map +1 -0
- package/build/src/__tests__/EntityFields-test.d.ts +1 -0
- package/build/src/__tests__/EntityFields-test.js +61 -0
- package/build/src/__tests__/EntityFields-test.js.map +1 -0
- package/build/src/__tests__/EntityLoader-test.d.ts +1 -0
- package/build/src/__tests__/EntityLoader-test.js +34 -0
- package/build/src/__tests__/EntityLoader-test.js.map +1 -0
- package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
- package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js +71 -0
- package/build/src/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
- package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.d.ts +1 -0
- package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js +54 -0
- package/build/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.js.map +1 -0
- package/build/src/__tests__/EntityMutator-test.d.ts +1 -0
- package/build/src/__tests__/EntityMutator-test.js +721 -0
- package/build/src/__tests__/EntityMutator-test.js.map +1 -0
- package/build/src/__tests__/EntityPrivacyPolicy-test.d.ts +1 -0
- package/build/src/__tests__/EntityPrivacyPolicy-test.js +429 -0
- package/build/src/__tests__/EntityPrivacyPolicy-test.js.map +1 -0
- package/build/src/__tests__/EntityQueryContext-test.d.ts +1 -0
- package/build/src/__tests__/EntityQueryContext-test.js +181 -0
- package/build/src/__tests__/EntityQueryContext-test.js.map +1 -0
- package/build/src/__tests__/EntitySecondaryCacheLoader-test.d.ts +1 -0
- package/build/src/__tests__/EntitySecondaryCacheLoader-test.js +58 -0
- package/build/src/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -0
- package/build/src/__tests__/EntitySelfReferentialEdges-test.d.ts +1 -0
- package/build/src/__tests__/EntitySelfReferentialEdges-test.js +196 -0
- package/build/src/__tests__/EntitySelfReferentialEdges-test.js.map +1 -0
- package/build/src/__tests__/GenericEntityCacheAdapter-test.d.ts +1 -0
- package/build/src/__tests__/GenericEntityCacheAdapter-test.js +95 -0
- package/build/src/__tests__/GenericEntityCacheAdapter-test.js.map +1 -0
- package/build/src/__tests__/ReadonlyEntity-test.d.ts +1 -0
- package/build/src/__tests__/ReadonlyEntity-test.js +209 -0
- package/build/src/__tests__/ReadonlyEntity-test.js.map +1 -0
- package/build/src/__tests__/ViewerContext-test.d.ts +1 -0
- package/build/src/__tests__/ViewerContext-test.js +28 -0
- package/build/src/__tests__/ViewerContext-test.js.map +1 -0
- package/build/src/__tests__/ViewerScopedEntityCompanion-test.d.ts +1 -0
- package/build/src/__tests__/ViewerScopedEntityCompanion-test.js +18 -0
- package/build/src/__tests__/ViewerScopedEntityCompanion-test.js.map +1 -0
- package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.d.ts +1 -0
- package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js +18 -0
- package/build/src/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -0
- package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.d.ts +1 -0
- package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js +21 -0
- package/build/src/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -0
- package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.d.ts +1 -0
- package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js +20 -0
- package/build/src/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -0
- package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.d.ts +1 -0
- package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +121 -0
- package/build/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -0
- package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.d.ts +1 -0
- package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +119 -0
- package/build/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -0
- package/build/src/__tests__/entityUtils-test.d.ts +1 -0
- package/build/src/__tests__/entityUtils-test.js +88 -0
- package/build/src/__tests__/entityUtils-test.js.map +1 -0
- package/build/src/entityUtils.js.map +1 -0
- package/build/{errors → src/errors}/EntityCacheAdapterError.d.ts +2 -2
- package/build/src/errors/EntityCacheAdapterError.js +13 -0
- package/build/src/errors/EntityCacheAdapterError.js.map +1 -0
- package/build/{errors → src/errors}/EntityDatabaseAdapterError.d.ts +2 -2
- package/build/{errors → src/errors}/EntityDatabaseAdapterError.js +4 -37
- package/build/src/errors/EntityDatabaseAdapterError.js.map +1 -0
- package/build/{errors → src/errors}/EntityError.d.ts +1 -1
- package/build/{errors → src/errors}/EntityError.js +2 -2
- package/build/src/errors/EntityError.js.map +1 -0
- package/build/{errors → src/errors}/EntityInvalidFieldValueError.d.ts +5 -5
- package/build/src/errors/EntityInvalidFieldValueError.js +13 -0
- package/build/src/errors/EntityInvalidFieldValueError.js.map +1 -0
- package/build/{errors → src/errors}/EntityNotAuthorizedError.d.ts +4 -4
- package/build/src/errors/EntityNotAuthorizedError.js +16 -0
- package/build/src/errors/EntityNotAuthorizedError.js.map +1 -0
- package/build/src/errors/EntityNotFoundError.d.ts +17 -0
- package/build/src/errors/EntityNotFoundError.js +18 -0
- package/build/src/errors/EntityNotFoundError.js.map +1 -0
- package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.d.ts +1 -0
- package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js +21 -0
- package/build/src/errors/__tests__/EntityDatabaseAdapterError-test.js.map +1 -0
- package/build/src/index.d.ts +76 -0
- package/build/src/index.js +94 -0
- package/build/src/index.js.map +1 -0
- package/build/{internal → src/internal}/CompositeFieldHolder.d.ts +1 -1
- package/build/src/internal/CompositeFieldHolder.js.map +1 -0
- package/build/src/internal/CompositeFieldValueMap.js.map +1 -0
- package/build/{internal → src/internal}/EntityDataManager.d.ts +5 -5
- package/build/{internal → src/internal}/EntityDataManager.js +2 -1
- package/build/src/internal/EntityDataManager.js.map +1 -0
- package/build/{internal → src/internal}/EntityFieldTransformationUtils.d.ts +1 -1
- package/build/src/internal/EntityFieldTransformationUtils.js.map +1 -0
- package/build/{internal → src/internal}/EntityLoadInterfaces.d.ts +1 -1
- package/build/src/internal/EntityLoadInterfaces.js.map +1 -0
- package/build/{internal → src/internal}/EntityTableDataCoordinator.d.ts +9 -9
- package/build/{internal → src/internal}/EntityTableDataCoordinator.js +5 -7
- package/build/{internal → src/internal}/EntityTableDataCoordinator.js.map +1 -1
- package/build/{internal → src/internal}/ReadThroughEntityCache.d.ts +3 -3
- package/build/{internal → src/internal}/ReadThroughEntityCache.js +2 -2
- package/build/src/internal/ReadThroughEntityCache.js.map +1 -0
- package/build/{internal → src/internal}/SingleFieldHolder.d.ts +1 -1
- package/build/src/internal/SingleFieldHolder.js.map +1 -0
- package/build/src/internal/__tests__/CompositeFieldHolder-test.d.ts +1 -0
- package/build/src/internal/__tests__/CompositeFieldHolder-test.js +25 -0
- package/build/src/internal/__tests__/CompositeFieldHolder-test.js.map +1 -0
- package/build/src/internal/__tests__/CompositeFieldValueMap-test.d.ts +1 -0
- package/build/src/internal/__tests__/CompositeFieldValueMap-test.js +40 -0
- package/build/src/internal/__tests__/CompositeFieldValueMap-test.js.map +1 -0
- package/build/src/internal/__tests__/EntityDataManager-test.d.ts +1 -0
- package/build/src/internal/__tests__/EntityDataManager-test.js +666 -0
- package/build/src/internal/__tests__/EntityDataManager-test.js.map +1 -0
- package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.d.ts +1 -0
- package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js +135 -0
- package/build/src/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -0
- package/build/src/internal/__tests__/ReadThroughEntityCache-test.d.ts +1 -0
- package/build/src/internal/__tests__/ReadThroughEntityCache-test.js +217 -0
- package/build/src/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -0
- package/build/{metrics → src/metrics}/EntityMetricsUtils.d.ts +1 -1
- package/build/src/metrics/EntityMetricsUtils.js.map +1 -0
- package/build/{metrics → src/metrics}/IEntityMetricsAdapter.d.ts +1 -1
- package/build/src/metrics/IEntityMetricsAdapter.js.map +1 -0
- package/build/{metrics → src/metrics}/NoOpEntityMetricsAdapter.d.ts +2 -2
- package/build/{metrics → src/metrics}/NoOpEntityMetricsAdapter.js +2 -1
- package/build/src/metrics/NoOpEntityMetricsAdapter.js.map +1 -0
- package/build/{rules → src/rules}/AlwaysAllowPrivacyPolicyRule.d.ts +4 -4
- package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js +14 -0
- package/build/src/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -0
- package/build/{rules → src/rules}/AlwaysDenyPrivacyPolicyRule.d.ts +4 -4
- package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js +14 -0
- package/build/src/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -0
- package/build/{rules → src/rules}/AlwaysSkipPrivacyPolicyRule.d.ts +4 -4
- package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js +14 -0
- package/build/src/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -0
- package/build/{rules → src/rules}/PrivacyPolicyRule.d.ts +3 -3
- package/build/{rules → src/rules}/PrivacyPolicyRule.js +2 -2
- package/build/src/rules/PrivacyPolicyRule.js.map +1 -0
- package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.d.ts +1 -0
- package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +18 -0
- package/build/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -0
- package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.d.ts +1 -0
- package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +18 -0
- package/build/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -0
- package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.d.ts +1 -0
- package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +18 -0
- package/build/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -0
- package/build/src/utils/EntityCreationUtils.d.ts +14 -0
- package/build/src/utils/EntityCreationUtils.js +54 -0
- package/build/src/utils/EntityCreationUtils.js.map +1 -0
- package/build/{utils → src/utils}/EntityPrivacyUtils.d.ts +4 -4
- package/build/{utils → src/utils}/EntityPrivacyUtils.js +4 -7
- package/build/{utils → src/utils}/EntityPrivacyUtils.js.map +1 -1
- package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.d.ts +28 -0
- package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js +53 -0
- package/build/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.js.map +1 -0
- package/build/src/utils/__testfixtures__/SimpleTestEntity.d.ts +20 -0
- package/build/src/utils/__testfixtures__/SimpleTestEntity.js +46 -0
- package/build/src/utils/__testfixtures__/SimpleTestEntity.js.map +1 -0
- package/build/src/utils/__testfixtures__/StubCacheAdapter.d.ts +29 -0
- package/build/src/utils/__testfixtures__/StubCacheAdapter.js +103 -0
- package/build/src/utils/__testfixtures__/StubCacheAdapter.js.map +1 -0
- package/build/src/utils/__testfixtures__/StubDatabaseAdapter.d.ts +26 -0
- package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js +173 -0
- package/build/src/utils/__testfixtures__/StubDatabaseAdapter.js.map +1 -0
- package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.d.ts +7 -0
- package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js +12 -0
- package/build/src/utils/__testfixtures__/StubDatabaseAdapterProvider.js.map +1 -0
- package/build/src/utils/__testfixtures__/StubQueryContextProvider.d.ts +7 -0
- package/build/src/utils/__testfixtures__/StubQueryContextProvider.js +17 -0
- package/build/src/utils/__testfixtures__/StubQueryContextProvider.js.map +1 -0
- package/build/src/utils/__testfixtures__/TSMockitoExtensions.d.ts +9 -0
- package/build/src/utils/__testfixtures__/TSMockitoExtensions.js +65 -0
- package/build/src/utils/__testfixtures__/TSMockitoExtensions.js.map +1 -0
- package/build/src/utils/__testfixtures__/TestEntity.d.ts +30 -0
- package/build/src/utils/__testfixtures__/TestEntity.js +96 -0
- package/build/src/utils/__testfixtures__/TestEntity.js.map +1 -0
- package/build/src/utils/__testfixtures__/TestEntity2.d.ts +20 -0
- package/build/src/utils/__testfixtures__/TestEntity2.js +49 -0
- package/build/src/utils/__testfixtures__/TestEntity2.js.map +1 -0
- package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.d.ts +36 -0
- package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js +80 -0
- package/build/src/utils/__testfixtures__/TestEntityWithMutationTriggers.js.map +1 -0
- package/build/src/utils/__testfixtures__/TestViewerContext.d.ts +3 -0
- package/build/src/utils/__testfixtures__/TestViewerContext.js +8 -0
- package/build/src/utils/__testfixtures__/TestViewerContext.js.map +1 -0
- package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.d.ts +7 -0
- package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js +33 -0
- package/build/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.js.map +1 -0
- package/build/src/utils/__testfixtures__/describeFieldTestCase.d.ts +2 -0
- package/build/src/utils/__testfixtures__/describeFieldTestCase.js +19 -0
- package/build/src/utils/__testfixtures__/describeFieldTestCase.js.map +1 -0
- package/build/src/utils/__tests__/EntityCreationUtils-test.d.ts +1 -0
- package/build/src/utils/__tests__/EntityCreationUtils-test.js +144 -0
- package/build/src/utils/__tests__/EntityCreationUtils-test.js.map +1 -0
- package/build/src/utils/__tests__/EntityPrivacyUtils-test.d.ts +1 -0
- package/build/src/utils/__tests__/EntityPrivacyUtils-test.js +460 -0
- package/build/src/utils/__tests__/EntityPrivacyUtils-test.js.map +1 -0
- package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.d.ts +1 -0
- package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js +180 -0
- package/build/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.js.map +1 -0
- package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.d.ts +1 -0
- package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js +27 -0
- package/build/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.js.map +1 -0
- package/build/src/utils/collections/SerializableKeyMap.js.map +1 -0
- package/build/src/utils/collections/__tests__/SerializableKeyMap-test.d.ts +5 -0
- package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js +99 -0
- package/build/src/utils/collections/__tests__/SerializableKeyMap-test.js.map +1 -0
- package/build/src/utils/collections/__tests__/maps-test.d.ts +1 -0
- package/build/src/utils/collections/__tests__/maps-test.js +121 -0
- package/build/src/utils/collections/__tests__/maps-test.js.map +1 -0
- package/build/src/utils/collections/__tests__/sets-test.d.ts +1 -0
- package/build/src/utils/collections/__tests__/sets-test.js +19 -0
- package/build/src/utils/collections/__tests__/sets-test.js.map +1 -0
- package/build/src/utils/collections/maps.js.map +1 -0
- package/build/src/utils/collections/sets.js.map +1 -0
- package/build/{utils → src/utils}/mergeEntityMutationTriggerConfigurations.d.ts +3 -3
- package/build/src/utils/mergeEntityMutationTriggerConfigurations.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +11 -23
- package/src/AuthorizationResultBasedEntityAssociationLoader.ts +4 -4
- package/src/AuthorizationResultBasedEntityLoader.ts +20 -13
- package/src/AuthorizationResultBasedEntityMutator.ts +15 -14
- package/src/ComposedEntityCacheAdapter.ts +3 -3
- package/src/ComposedSecondaryEntityCache.ts +1 -1
- package/src/EnforcingEntityAssociationLoader.ts +6 -5
- package/src/EnforcingEntityCreator.ts +4 -4
- package/src/EnforcingEntityDeleter.ts +4 -4
- package/src/EnforcingEntityLoader.ts +5 -5
- package/src/EnforcingEntityUpdater.ts +4 -4
- package/src/Entity.ts +10 -10
- package/src/EntityAssociationLoader.ts +5 -5
- package/src/EntityCompanion.ts +10 -10
- package/src/EntityCompanionProvider.ts +13 -13
- package/src/EntityConfiguration.ts +3 -3
- package/src/EntityCreator.ts +5 -5
- package/src/EntityDatabaseAdapter.ts +3 -3
- package/src/EntityDeleter.ts +5 -5
- package/src/EntityFieldDefinition.ts +3 -3
- package/src/EntityLoader.ts +7 -7
- package/src/EntityLoaderFactory.ts +9 -9
- package/src/EntityLoaderUtils.ts +7 -7
- package/src/EntityMutationInfo.ts +2 -2
- package/src/EntityMutationTriggerConfiguration.ts +3 -3
- package/src/EntityMutationValidator.ts +3 -3
- package/src/EntityMutatorFactory.ts +12 -12
- package/src/EntityPrivacyPolicy.ts +7 -6
- package/src/EntityQueryContext.ts +1 -1
- package/src/EntityQueryContextProvider.ts +3 -3
- package/src/EntitySecondaryCacheLoader.ts +5 -5
- package/src/EntityUpdater.ts +5 -5
- package/src/GenericEntityCacheAdapter.ts +3 -3
- package/src/GenericSecondaryEntityCache.ts +2 -2
- package/src/IEntityCacheAdapter.ts +1 -1
- package/src/IEntityCacheAdapterProvider.ts +3 -3
- package/src/IEntityDatabaseAdapterProvider.ts +3 -3
- package/src/IEntityGenericCacher.ts +1 -1
- package/src/ReadonlyEntity.ts +10 -10
- package/src/ViewerContext.ts +6 -6
- package/src/ViewerScopedEntityCompanion.ts +9 -9
- package/src/ViewerScopedEntityCompanionProvider.ts +6 -6
- package/src/ViewerScopedEntityLoaderFactory.ts +6 -6
- package/src/ViewerScopedEntityMutatorFactory.ts +6 -6
- package/src/__tests__/AuthorizationResultBasedEntityAssociationLoader-test.ts +5 -4
- package/src/__tests__/AuthorizationResultBasedEntityLoader-constructor-test.ts +14 -18
- package/src/__tests__/AuthorizationResultBasedEntityLoader-test.ts +18 -16
- package/src/__tests__/ComposedCacheAdapter-test.ts +5 -3
- package/src/__tests__/ComposedSecondaryEntityCache-test.ts +2 -1
- package/src/__tests__/EnforcingEntityAssociationLoader-test.ts +4 -3
- package/src/__tests__/EnforcingEntityLoader-test.ts +4 -3
- package/src/__tests__/Entity-test.ts +8 -6
- package/src/__tests__/EntityAssociationLoader-test.ts +7 -5
- package/src/__tests__/EntityCommonUseCases-test.ts +10 -9
- package/src/__tests__/EntityCompanion-test.ts +13 -11
- package/src/__tests__/EntityCompanionProvider-test.ts +7 -5
- package/src/__tests__/EntityConfiguration-test.ts +3 -1
- package/src/__tests__/EntityDatabaseAdapter-test.ts +9 -7
- package/src/__tests__/EntityEdges-test.ts +10 -8
- package/src/__tests__/EntityFields-test.ts +8 -7
- package/src/__tests__/EntityLoader-test.ts +8 -6
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +8 -6
- package/src/__tests__/EntityMutator-SingleCompositeFieldCacheConsistency-test.ts +5 -3
- package/src/__tests__/EntityMutator-test.ts +33 -29
- package/src/__tests__/EntityPrivacyPolicy-test.ts +19 -16
- package/src/__tests__/EntityQueryContext-test.ts +7 -6
- package/src/__tests__/EntitySecondaryCacheLoader-test.ts +5 -3
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +7 -5
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +4 -3
- package/src/__tests__/ReadonlyEntity-test.ts +10 -9
- package/src/__tests__/ViewerContext-test.ts +3 -1
- package/src/__tests__/ViewerScopedEntityCompanion-test.ts +10 -8
- package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +7 -6
- package/src/__tests__/ViewerScopedEntityLoaderFactory-test.ts +5 -4
- package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +8 -6
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +15 -13
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +7 -5
- package/src/__tests__/entityUtils-test.ts +3 -2
- package/src/errors/EntityCacheAdapterError.ts +2 -2
- package/src/errors/EntityDatabaseAdapterError.ts +2 -2
- package/src/errors/EntityError.ts +1 -1
- package/src/errors/EntityInvalidFieldValueError.ts +5 -5
- package/src/errors/EntityNotAuthorizedError.ts +4 -4
- package/src/errors/EntityNotFoundError.ts +56 -9
- package/src/errors/__tests__/EntityDatabaseAdapterError-test.ts +29 -0
- package/src/index.ts +40 -54
- package/src/internal/CompositeFieldHolder.ts +2 -1
- package/src/internal/EntityDataManager.ts +7 -5
- package/src/internal/EntityFieldTransformationUtils.ts +1 -1
- package/src/internal/EntityLoadInterfaces.ts +1 -1
- package/src/internal/EntityTableDataCoordinator.ts +10 -10
- package/src/internal/ReadThroughEntityCache.ts +3 -3
- package/src/internal/SingleFieldHolder.ts +1 -1
- package/src/internal/__tests__/CompositeFieldHolder-test.ts +2 -0
- package/src/internal/__tests__/CompositeFieldValueMap-test.ts +2 -0
- package/src/internal/__tests__/EntityDataManager-test.ts +34 -31
- package/src/internal/__tests__/EntityFieldTransformationUtils-test.ts +5 -3
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +5 -4
- package/src/metrics/EntityMetricsUtils.ts +3 -2
- package/src/metrics/IEntityMetricsAdapter.ts +1 -1
- package/src/metrics/NoOpEntityMetricsAdapter.ts +3 -2
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +4 -4
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +4 -4
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +4 -4
- package/src/rules/PrivacyPolicyRule.ts +3 -3
- package/src/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.ts +3 -3
- package/src/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.ts +3 -3
- package/src/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.ts +3 -3
- package/src/utils/EntityCreationUtils.ts +143 -0
- package/src/utils/EntityPrivacyUtils.ts +5 -5
- package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +5 -3
- package/src/utils/__testfixtures__/SimpleTestEntity.ts +6 -6
- package/src/utils/__testfixtures__/StubCacheAdapter.ts +4 -4
- package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +8 -7
- package/src/utils/__testfixtures__/StubDatabaseAdapterProvider.ts +5 -5
- package/src/utils/__testfixtures__/StubQueryContextProvider.ts +2 -2
- package/src/utils/__testfixtures__/TestEntity.ts +7 -7
- package/src/utils/__testfixtures__/TestEntity2.ts +6 -6
- package/src/utils/__testfixtures__/TestEntityWithMutationTriggers.ts +6 -10
- package/src/utils/__testfixtures__/TestViewerContext.ts +2 -2
- package/src/utils/__testfixtures__/createUnitTestEntityCompanionProvider.ts +5 -5
- package/src/utils/__testfixtures__/describeFieldTestCase.ts +3 -1
- package/src/utils/__tests__/EntityCreationUtils-test.ts +356 -0
- package/src/utils/__tests__/EntityPrivacyUtils-test.ts +15 -13
- package/src/utils/__tests__/canViewerDeleteAsync-edgeDeletionPermissionInferenceBehavior-test.ts +10 -8
- package/src/utils/__tests__/mergeEntityMutationTriggerConfigurations-test.ts +2 -0
- package/src/utils/collections/__tests__/SerializableKeyMap-test.ts +2 -0
- package/src/utils/collections/__tests__/maps-test.ts +3 -1
- package/src/utils/collections/__tests__/sets-test.ts +2 -0
- package/src/utils/mergeEntityMutationTriggerConfigurations.ts +3 -3
- package/build/AuthorizationResultBasedEntityAssociationLoader.js.map +0 -1
- package/build/AuthorizationResultBasedEntityLoader.js.map +0 -1
- package/build/AuthorizationResultBasedEntityMutator.js.map +0 -1
- package/build/ComposedEntityCacheAdapter.js.map +0 -1
- package/build/ComposedSecondaryEntityCache.js.map +0 -1
- package/build/EnforcingEntityAssociationLoader.js.map +0 -1
- package/build/EnforcingEntityCreator.js.map +0 -1
- package/build/EnforcingEntityDeleter.js.map +0 -1
- package/build/EnforcingEntityLoader.js.map +0 -1
- package/build/EnforcingEntityUpdater.js.map +0 -1
- package/build/Entity.js.map +0 -1
- package/build/EntityAssociationLoader.js.map +0 -1
- package/build/EntityCompanion.js.map +0 -1
- package/build/EntityCompanionProvider.js.map +0 -1
- package/build/EntityConfiguration.js.map +0 -1
- package/build/EntityDatabaseAdapter.js.map +0 -1
- package/build/EntityFieldDefinition.js.map +0 -1
- package/build/EntityFields.js.map +0 -1
- package/build/EntityLoaderFactory.js +0 -31
- package/build/EntityLoaderFactory.js.map +0 -1
- package/build/EntityLoaderUtils.js.map +0 -1
- package/build/EntityMutationInfo.js.map +0 -1
- package/build/EntityMutationTriggerConfiguration.js.map +0 -1
- package/build/EntityMutationValidator.js.map +0 -1
- package/build/EntityMutatorFactory.js.map +0 -1
- package/build/EntityQueryContext.js.map +0 -1
- package/build/EntityQueryContextProvider.js.map +0 -1
- package/build/EntitySecondaryCacheLoader.js.map +0 -1
- package/build/GenericEntityCacheAdapter.js.map +0 -1
- package/build/GenericSecondaryEntityCache.js.map +0 -1
- package/build/IEntityCacheAdapter.js.map +0 -1
- package/build/IEntityCacheAdapterProvider.js.map +0 -1
- package/build/IEntityDatabaseAdapterProvider.js.map +0 -1
- package/build/IEntityGenericCacher.js.map +0 -1
- package/build/ReadonlyEntity.js.map +0 -1
- package/build/ViewerScopedEntityCompanionProvider.js.map +0 -1
- package/build/ViewerScopedEntityLoaderFactory.js.map +0 -1
- package/build/ViewerScopedEntityMutatorFactory.js.map +0 -1
- package/build/entityUtils.js.map +0 -1
- package/build/errors/EntityCacheAdapterError.js +0 -46
- package/build/errors/EntityCacheAdapterError.js.map +0 -1
- package/build/errors/EntityDatabaseAdapterError.js.map +0 -1
- package/build/errors/EntityError.js.map +0 -1
- package/build/errors/EntityInvalidFieldValueError.js +0 -45
- package/build/errors/EntityInvalidFieldValueError.js.map +0 -1
- package/build/errors/EntityNotAuthorizedError.js +0 -48
- package/build/errors/EntityNotAuthorizedError.js.map +0 -1
- package/build/errors/EntityNotFoundError.d.ts +0 -10
- package/build/errors/EntityNotFoundError.js +0 -45
- package/build/errors/EntityNotFoundError.js.map +0 -1
- package/build/index.d.ts +0 -90
- package/build/index.js +0 -154
- package/build/index.js.map +0 -1
- package/build/internal/CompositeFieldHolder.js.map +0 -1
- package/build/internal/CompositeFieldValueMap.js.map +0 -1
- package/build/internal/EntityDataManager.js.map +0 -1
- package/build/internal/EntityFieldTransformationUtils.js.map +0 -1
- package/build/internal/EntityLoadInterfaces.js.map +0 -1
- package/build/internal/ReadThroughEntityCache.js.map +0 -1
- package/build/internal/SingleFieldHolder.js.map +0 -1
- package/build/metrics/EntityMetricsUtils.js.map +0 -1
- package/build/metrics/IEntityMetricsAdapter.js.map +0 -1
- package/build/metrics/NoOpEntityMetricsAdapter.js.map +0 -1
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js +0 -46
- package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +0 -1
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js +0 -46
- package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +0 -1
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js +0 -46
- package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +0 -1
- package/build/rules/PrivacyPolicyRule.js.map +0 -1
- package/build/tsconfig.build.tsbuildinfo +0 -1
- package/build/utils/collections/SerializableKeyMap.js.map +0 -1
- package/build/utils/collections/maps.js.map +0 -1
- package/build/utils/collections/sets.js.map +0 -1
- package/build/utils/mergeEntityMutationTriggerConfigurations.js.map +0 -1
- /package/build/{EntityFieldDefinition.js → src/EntityFieldDefinition.js} +0 -0
- /package/build/{EntityFields.d.ts → src/EntityFields.d.ts} +0 -0
- /package/build/{EntityFields.js → src/EntityFields.js} +0 -0
- /package/build/{EntityMutationInfo.js → src/EntityMutationInfo.js} +0 -0
- /package/build/{EntityMutationTriggerConfiguration.js → src/EntityMutationTriggerConfiguration.js} +0 -0
- /package/build/{EntityQueryContext.js → src/EntityQueryContext.js} +0 -0
- /package/build/{IEntityCacheAdapter.js → src/IEntityCacheAdapter.js} +0 -0
- /package/build/{IEntityCacheAdapterProvider.js → src/IEntityCacheAdapterProvider.js} +0 -0
- /package/build/{IEntityDatabaseAdapterProvider.js → src/IEntityDatabaseAdapterProvider.js} +0 -0
- /package/build/{IEntityGenericCacher.js → src/IEntityGenericCacher.js} +0 -0
- /package/build/{entityUtils.d.ts → src/entityUtils.d.ts} +0 -0
- /package/build/{entityUtils.js → src/entityUtils.js} +0 -0
- /package/build/{internal → src/internal}/CompositeFieldHolder.js +0 -0
- /package/build/{internal → src/internal}/CompositeFieldValueMap.d.ts +0 -0
- /package/build/{internal → src/internal}/CompositeFieldValueMap.js +0 -0
- /package/build/{internal → src/internal}/EntityFieldTransformationUtils.js +0 -0
- /package/build/{internal → src/internal}/EntityLoadInterfaces.js +0 -0
- /package/build/{internal → src/internal}/SingleFieldHolder.js +0 -0
- /package/build/{metrics → src/metrics}/EntityMetricsUtils.js +0 -0
- /package/build/{metrics → src/metrics}/IEntityMetricsAdapter.js +0 -0
- /package/build/{utils → src/utils}/collections/SerializableKeyMap.d.ts +0 -0
- /package/build/{utils → src/utils}/collections/SerializableKeyMap.js +0 -0
- /package/build/{utils → src/utils}/collections/maps.d.ts +0 -0
- /package/build/{utils → src/utils}/collections/maps.js +0 -0
- /package/build/{utils → src/utils}/collections/sets.d.ts +0 -0
- /package/build/{utils → src/utils}/collections/sets.js +0 -0
- /package/build/{utils → src/utils}/mergeEntityMutationTriggerConfigurations.js +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import nullthrows from 'nullthrows';
|
|
2
2
|
|
|
3
|
-
import IEntityCacheAdapter from './IEntityCacheAdapter';
|
|
3
|
+
import { IEntityCacheAdapter } from './IEntityCacheAdapter';
|
|
4
4
|
import { IEntityLoadKey, IEntityLoadValue } from './internal/EntityLoadInterfaces';
|
|
5
|
-
import {
|
|
5
|
+
import { CacheLoadResult, CacheStatus } from './internal/ReadThroughEntityCache';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* A IEntityCacheAdapter that composes other IEntityCacheAdapter instances.
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
10
|
+
export class ComposedEntityCacheAdapter<
|
|
11
11
|
TFields extends Record<string, any>,
|
|
12
12
|
TIDField extends keyof TFields,
|
|
13
13
|
> implements IEntityCacheAdapter<TFields, TIDField>
|
|
@@ -5,7 +5,7 @@ import { ISecondaryEntityCache } from './EntitySecondaryCacheLoader';
|
|
|
5
5
|
/**
|
|
6
6
|
* A ISecondaryEntityCache that composes other ISecondaryEntityCache instances.
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export class ComposedSecondaryEntityCache<TLoadParams, TFields extends Record<string, any>>
|
|
9
9
|
implements ISecondaryEntityCache<TFields, TLoadParams>
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { enforceAsyncResult } from '@expo/results';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import {
|
|
4
|
+
AuthorizationResultBasedEntityAssociationLoader,
|
|
4
5
|
EntityLoadThroughDirective,
|
|
5
6
|
} from './AuthorizationResultBasedEntityAssociationLoader';
|
|
6
7
|
import { IEntityClass } from './Entity';
|
|
7
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
8
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
9
|
-
import ViewerContext from './ViewerContext';
|
|
8
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
9
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
10
|
+
import { ViewerContext } from './ViewerContext';
|
|
10
11
|
import { enforceResultsAsync } from './entityUtils';
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -14,7 +15,7 @@ import { enforceResultsAsync } from './entityUtils';
|
|
|
14
15
|
* associated with an entity. In relational databases, these entities are often referenced
|
|
15
16
|
* by foreign keys.
|
|
16
17
|
*/
|
|
17
|
-
export
|
|
18
|
+
export class EnforcingEntityAssociationLoader<
|
|
18
19
|
TFields extends Record<string, any>,
|
|
19
20
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
20
21
|
TViewerContext extends ViewerContext,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { enforceAsyncResult } from '@expo/results';
|
|
2
2
|
|
|
3
3
|
import { AuthorizationResultBasedCreateMutator } from './AuthorizationResultBasedEntityMutator';
|
|
4
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
5
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
6
|
-
import ViewerContext from './ViewerContext';
|
|
4
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
6
|
+
import { ViewerContext } from './ViewerContext';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Enforcing entity creator. All updates
|
|
10
10
|
* through this creator will throw if authorization is not successful.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export class EnforcingEntityCreator<
|
|
13
13
|
TFields extends Record<string, any>,
|
|
14
14
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
15
15
|
TViewerContext extends ViewerContext,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { enforceAsyncResult } from '@expo/results';
|
|
2
2
|
|
|
3
3
|
import { AuthorizationResultBasedDeleteMutator } from './AuthorizationResultBasedEntityMutator';
|
|
4
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
5
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
6
|
-
import ViewerContext from './ViewerContext';
|
|
4
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
6
|
+
import { ViewerContext } from './ViewerContext';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Enforcing entity deleter. All deletes
|
|
10
10
|
* through this deleter will throw if authorization is not successful.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export class EnforcingEntityDeleter<
|
|
13
13
|
TFields extends Record<string, any>,
|
|
14
14
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
15
15
|
TViewerContext extends ViewerContext,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
|
|
1
|
+
import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
|
|
2
2
|
import { EntityCompositeField, EntityCompositeFieldValue } from './EntityConfiguration';
|
|
3
3
|
import {
|
|
4
4
|
FieldEqualityCondition,
|
|
5
5
|
QuerySelectionModifiers,
|
|
6
6
|
QuerySelectionModifiersWithOrderByRaw,
|
|
7
7
|
} from './EntityDatabaseAdapter';
|
|
8
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
9
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
10
|
-
import ViewerContext from './ViewerContext';
|
|
8
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
9
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
10
|
+
import { ViewerContext } from './ViewerContext';
|
|
11
11
|
import { CompositeFieldValueHolder } from './internal/CompositeFieldHolder';
|
|
12
12
|
import { CompositeFieldValueMap } from './internal/CompositeFieldValueMap';
|
|
13
13
|
import { mapMap } from './utils/collections/maps';
|
|
@@ -17,7 +17,7 @@ import { mapMap } from './utils/collections/maps';
|
|
|
17
17
|
* cached, and authorized against the entity's EntityPrivacyPolicy. All loads
|
|
18
18
|
* through this loader will throw if the load is not successful.
|
|
19
19
|
*/
|
|
20
|
-
export
|
|
20
|
+
export class EnforcingEntityLoader<
|
|
21
21
|
TFields extends Record<string, any>,
|
|
22
22
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
23
23
|
TViewerContext extends ViewerContext,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { enforceAsyncResult } from '@expo/results';
|
|
2
2
|
|
|
3
3
|
import { AuthorizationResultBasedUpdateMutator } from './AuthorizationResultBasedEntityMutator';
|
|
4
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
5
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
6
|
-
import ViewerContext from './ViewerContext';
|
|
4
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
6
|
+
import { ViewerContext } from './ViewerContext';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Enforcing entity updater. All updates
|
|
10
10
|
* through this updater will throw if authorization is not successful.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export class EnforcingEntityUpdater<
|
|
13
13
|
TFields extends Record<string, any>,
|
|
14
14
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
15
15
|
TViewerContext extends ViewerContext,
|
package/src/Entity.ts
CHANGED
|
@@ -3,17 +3,17 @@ import {
|
|
|
3
3
|
AuthorizationResultBasedDeleteMutator,
|
|
4
4
|
AuthorizationResultBasedUpdateMutator,
|
|
5
5
|
} from './AuthorizationResultBasedEntityMutator';
|
|
6
|
-
import EnforcingEntityCreator from './EnforcingEntityCreator';
|
|
7
|
-
import EnforcingEntityDeleter from './EnforcingEntityDeleter';
|
|
8
|
-
import EnforcingEntityUpdater from './EnforcingEntityUpdater';
|
|
6
|
+
import { EnforcingEntityCreator } from './EnforcingEntityCreator';
|
|
7
|
+
import { EnforcingEntityDeleter } from './EnforcingEntityDeleter';
|
|
8
|
+
import { EnforcingEntityUpdater } from './EnforcingEntityUpdater';
|
|
9
9
|
import { EntityCompanionDefinition } from './EntityCompanionProvider';
|
|
10
|
-
import EntityCreator from './EntityCreator';
|
|
11
|
-
import EntityDeleter from './EntityDeleter';
|
|
12
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
10
|
+
import { EntityCreator } from './EntityCreator';
|
|
11
|
+
import { EntityDeleter } from './EntityDeleter';
|
|
12
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
13
13
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
14
|
-
import EntityUpdater from './EntityUpdater';
|
|
15
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
16
|
-
import ViewerContext from './ViewerContext';
|
|
14
|
+
import { EntityUpdater } from './EntityUpdater';
|
|
15
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
16
|
+
import { ViewerContext } from './ViewerContext';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Entity is a privacy-first data model.
|
|
@@ -33,7 +33,7 @@ import ViewerContext from './ViewerContext';
|
|
|
33
33
|
* All concrete entity implementations should extend this class and provide their
|
|
34
34
|
* own EntityCompanionDefinition.
|
|
35
35
|
*/
|
|
36
|
-
export
|
|
36
|
+
export abstract class Entity<
|
|
37
37
|
TFields extends Record<string, any>,
|
|
38
38
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
39
39
|
TViewerContext extends ViewerContext,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import AuthorizationResultBasedEntityAssociationLoader from './AuthorizationResultBasedEntityAssociationLoader';
|
|
2
|
-
import EnforcingEntityAssociationLoader from './EnforcingEntityAssociationLoader';
|
|
1
|
+
import { AuthorizationResultBasedEntityAssociationLoader } from './AuthorizationResultBasedEntityAssociationLoader';
|
|
2
|
+
import { EnforcingEntityAssociationLoader } from './EnforcingEntityAssociationLoader';
|
|
3
3
|
import { IEntityClass } from './Entity';
|
|
4
4
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
5
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
6
|
-
import ViewerContext from './ViewerContext';
|
|
5
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
6
|
+
import { ViewerContext } from './ViewerContext';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* An association loader is a set of convenience methods for loading entities
|
|
10
10
|
* associated with an entity. In relational databases, these entities are often referenced
|
|
11
11
|
* by foreign keys.
|
|
12
12
|
*/
|
|
13
|
-
export
|
|
13
|
+
export class EntityAssociationLoader<
|
|
14
14
|
TFields extends Record<string, any>,
|
|
15
15
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
16
16
|
TViewerContext extends ViewerContext,
|
package/src/EntityCompanion.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import EntityLoaderFactory from './EntityLoaderFactory';
|
|
3
|
-
import EntityMutatorFactory from './EntityMutatorFactory';
|
|
4
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
5
|
-
import EntityQueryContextProvider from './EntityQueryContextProvider';
|
|
6
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
7
|
-
import ViewerContext from './ViewerContext';
|
|
8
|
-
import EntityTableDataCoordinator from './internal/EntityTableDataCoordinator';
|
|
9
|
-
import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
|
|
1
|
+
import { EntityCompanionDefinition, EntityCompanionProvider } from './EntityCompanionProvider';
|
|
2
|
+
import { EntityLoaderFactory } from './EntityLoaderFactory';
|
|
3
|
+
import { EntityMutatorFactory } from './EntityMutatorFactory';
|
|
4
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
|
+
import { EntityQueryContextProvider } from './EntityQueryContextProvider';
|
|
6
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
7
|
+
import { ViewerContext } from './ViewerContext';
|
|
8
|
+
import { EntityTableDataCoordinator } from './internal/EntityTableDataCoordinator';
|
|
9
|
+
import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
|
|
10
10
|
import { mergeEntityMutationTriggerConfigurations } from './utils/mergeEntityMutationTriggerConfigurations';
|
|
11
11
|
|
|
12
12
|
export interface IPrivacyPolicyClass<TPrivacyPolicy> {
|
|
@@ -16,7 +16,7 @@ export interface IPrivacyPolicyClass<TPrivacyPolicy> {
|
|
|
16
16
|
/**
|
|
17
17
|
* Composition root responsible for orchestrating setup of Entity mutators and loaders.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export class EntityCompanion<
|
|
20
20
|
TFields extends Record<string, any>,
|
|
21
21
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
22
22
|
TViewerContext extends ViewerContext,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import invariant from 'invariant';
|
|
2
2
|
|
|
3
3
|
import { IEntityClass } from './Entity';
|
|
4
|
-
import EntityCompanion,
|
|
5
|
-
import EntityConfiguration from './EntityConfiguration';
|
|
6
|
-
import EntityMutationTriggerConfiguration from './EntityMutationTriggerConfiguration';
|
|
7
|
-
import EntityMutationValidator from './EntityMutationValidator';
|
|
8
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
9
|
-
import EntityQueryContextProvider from './EntityQueryContextProvider';
|
|
10
|
-
import IEntityCacheAdapterProvider from './IEntityCacheAdapterProvider';
|
|
11
|
-
import IEntityDatabaseAdapterProvider from './IEntityDatabaseAdapterProvider';
|
|
12
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
13
|
-
import ViewerContext from './ViewerContext';
|
|
14
|
-
import EntityTableDataCoordinator from './internal/EntityTableDataCoordinator';
|
|
15
|
-
import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
|
|
4
|
+
import { EntityCompanion, IPrivacyPolicyClass } from './EntityCompanion';
|
|
5
|
+
import { EntityConfiguration } from './EntityConfiguration';
|
|
6
|
+
import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
|
|
7
|
+
import { EntityMutationValidator } from './EntityMutationValidator';
|
|
8
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
9
|
+
import { EntityQueryContextProvider } from './EntityQueryContextProvider';
|
|
10
|
+
import { IEntityCacheAdapterProvider } from './IEntityCacheAdapterProvider';
|
|
11
|
+
import { IEntityDatabaseAdapterProvider } from './IEntityDatabaseAdapterProvider';
|
|
12
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
13
|
+
import { ViewerContext } from './ViewerContext';
|
|
14
|
+
import { EntityTableDataCoordinator } from './internal/EntityTableDataCoordinator';
|
|
15
|
+
import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
|
|
16
16
|
import { computeIfAbsent } from './utils/collections/maps';
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -124,7 +124,7 @@ export interface EntityCompanionDefinition<
|
|
|
124
124
|
* Internally, this is a lazy entity companion factory that instantiates and caches one
|
|
125
125
|
* EntityCompanion for each type of Entity.
|
|
126
126
|
*/
|
|
127
|
-
export
|
|
127
|
+
export class EntityCompanionProvider {
|
|
128
128
|
private readonly companionDefinitionMap: Map<
|
|
129
129
|
string,
|
|
130
130
|
EntityCompanionDefinition<any, any, any, any, any, any>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import invariant from 'invariant';
|
|
2
2
|
|
|
3
3
|
import { IEntityClass } from './Entity';
|
|
4
|
-
import {
|
|
4
|
+
import { CacheAdapterFlavor, DatabaseAdapterFlavor } from './EntityCompanionProvider';
|
|
5
5
|
import { EntityFieldDefinition } from './EntityFieldDefinition';
|
|
6
6
|
import {
|
|
7
7
|
CompositeFieldHolder,
|
|
8
8
|
SerializedCompositeFieldHolder,
|
|
9
9
|
} from './internal/CompositeFieldHolder';
|
|
10
|
-
import {
|
|
10
|
+
import { invertMap, mapMap, reduceMap } from './utils/collections/maps';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* A composite field is an unordered set of fields by which entities can be loaded in a batched
|
|
@@ -103,7 +103,7 @@ export class CompositeFieldInfo<
|
|
|
103
103
|
* The data storage configuration for a type of Entity. Contains information relating to IDs,
|
|
104
104
|
* cachable fields, field mappings, and types of cache and database adapter.
|
|
105
105
|
*/
|
|
106
|
-
export
|
|
106
|
+
export class EntityConfiguration<
|
|
107
107
|
TFields extends Record<string, any>,
|
|
108
108
|
TIDField extends keyof TFields,
|
|
109
109
|
> {
|
package/src/EntityCreator.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AuthorizationResultBasedCreateMutator } from './AuthorizationResultBasedEntityMutator';
|
|
2
|
-
import EnforcingEntityCreator from './EnforcingEntityCreator';
|
|
2
|
+
import { EnforcingEntityCreator } from './EnforcingEntityCreator';
|
|
3
3
|
import { IEntityClass } from './Entity';
|
|
4
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
4
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
5
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
6
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
7
|
-
import ViewerContext from './ViewerContext';
|
|
6
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
7
|
+
import { ViewerContext } from './ViewerContext';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* The primary interface for creating entities.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export class EntityCreator<
|
|
13
13
|
TFields extends Record<string, any>,
|
|
14
14
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
15
15
|
TViewerContext extends ViewerContext,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import invariant from 'invariant';
|
|
2
2
|
|
|
3
|
-
import EntityConfiguration from './EntityConfiguration';
|
|
3
|
+
import { EntityConfiguration } from './EntityConfiguration';
|
|
4
4
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
5
5
|
import {
|
|
6
|
+
FieldTransformerMap,
|
|
6
7
|
getDatabaseFieldForEntityField,
|
|
7
8
|
transformDatabaseObjectToFields,
|
|
8
9
|
transformFieldsToDatabaseObject,
|
|
9
|
-
FieldTransformerMap,
|
|
10
10
|
} from './internal/EntityFieldTransformationUtils';
|
|
11
11
|
import { IEntityLoadKey, IEntityLoadValue } from './internal/EntityLoadInterfaces';
|
|
12
12
|
|
|
@@ -117,7 +117,7 @@ export interface TableQuerySelectionModifiersWithOrderByRaw extends TableQuerySe
|
|
|
117
117
|
* handles all entity field transformation. Subclasses are responsible for
|
|
118
118
|
* implementing database-specific logic for a type of database.
|
|
119
119
|
*/
|
|
120
|
-
export
|
|
120
|
+
export abstract class EntityDatabaseAdapter<
|
|
121
121
|
TFields extends Record<string, any>,
|
|
122
122
|
TIDField extends keyof TFields,
|
|
123
123
|
> {
|
package/src/EntityDeleter.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AuthorizationResultBasedDeleteMutator } from './AuthorizationResultBasedEntityMutator';
|
|
2
|
-
import EnforcingEntityDeleter from './EnforcingEntityDeleter';
|
|
2
|
+
import { EnforcingEntityDeleter } from './EnforcingEntityDeleter';
|
|
3
3
|
import { IEntityClass } from './Entity';
|
|
4
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
4
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
5
5
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
6
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
7
|
-
import ViewerContext from './ViewerContext';
|
|
6
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
7
|
+
import { ViewerContext } from './ViewerContext';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* The primary interface for deleting entities.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export class EntityDeleter<
|
|
13
13
|
TFields extends Record<string, any>,
|
|
14
14
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
15
15
|
TViewerContext extends ViewerContext,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IEntityClass } from './Entity';
|
|
2
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
3
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
4
|
-
import ViewerContext from './ViewerContext';
|
|
2
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
3
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
4
|
+
import { ViewerContext } from './ViewerContext';
|
|
5
5
|
|
|
6
6
|
export enum EntityEdgeDeletionBehavior {
|
|
7
7
|
/**
|
package/src/EntityLoader.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
|
|
2
|
-
import EnforcingEntityLoader from './EnforcingEntityLoader';
|
|
1
|
+
import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
|
|
2
|
+
import { EnforcingEntityLoader } from './EnforcingEntityLoader';
|
|
3
3
|
import { IEntityClass } from './Entity';
|
|
4
|
-
import EntityLoaderUtils from './EntityLoaderUtils';
|
|
5
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
4
|
+
import { EntityLoaderUtils } from './EntityLoaderUtils';
|
|
5
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
6
6
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
7
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
8
|
-
import ViewerContext from './ViewerContext';
|
|
7
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
8
|
+
import { ViewerContext } from './ViewerContext';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* The primary interface for loading entities. All normal loads are batched,
|
|
12
12
|
* cached, and authorized against the entity's EntityPrivacyPolicy.
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
14
|
+
export class EntityLoader<
|
|
15
15
|
TFields extends Record<string, any>,
|
|
16
16
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
17
17
|
TViewerContext extends ViewerContext,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import AuthorizationResultBasedEntityLoader from './AuthorizationResultBasedEntityLoader';
|
|
2
|
-
import EntityCompanion from './EntityCompanion';
|
|
3
|
-
import EntityLoaderUtils from './EntityLoaderUtils';
|
|
4
|
-
import EntityPrivacyPolicy,
|
|
1
|
+
import { AuthorizationResultBasedEntityLoader } from './AuthorizationResultBasedEntityLoader';
|
|
2
|
+
import { EntityCompanion } from './EntityCompanion';
|
|
3
|
+
import { EntityLoaderUtils } from './EntityLoaderUtils';
|
|
4
|
+
import { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
|
|
5
5
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
6
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
7
|
-
import ViewerContext from './ViewerContext';
|
|
8
|
-
import EntityDataManager from './internal/EntityDataManager';
|
|
9
|
-
import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
|
|
6
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
7
|
+
import { ViewerContext } from './ViewerContext';
|
|
8
|
+
import { EntityDataManager } from './internal/EntityDataManager';
|
|
9
|
+
import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* The primary entry point for loading entities.
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
14
|
+
export class EntityLoaderFactory<
|
|
15
15
|
TFields extends Record<string, any>,
|
|
16
16
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
17
17
|
TViewerContext extends ViewerContext,
|
package/src/EntityLoaderUtils.ts
CHANGED
|
@@ -2,23 +2,23 @@ import { Result, asyncResult, result } from '@expo/results';
|
|
|
2
2
|
import nullthrows from 'nullthrows';
|
|
3
3
|
|
|
4
4
|
import { IEntityClass } from './Entity';
|
|
5
|
-
import EntityConfiguration from './EntityConfiguration';
|
|
6
|
-
import EntityPrivacyPolicy,
|
|
5
|
+
import { EntityConfiguration } from './EntityConfiguration';
|
|
6
|
+
import { EntityPrivacyPolicy, EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
|
|
7
7
|
import { EntityQueryContext, EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
8
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
9
|
-
import ViewerContext from './ViewerContext';
|
|
8
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
9
|
+
import { ViewerContext } from './ViewerContext';
|
|
10
10
|
import { pick } from './entityUtils';
|
|
11
|
-
import EntityDataManager from './internal/EntityDataManager';
|
|
11
|
+
import { EntityDataManager } from './internal/EntityDataManager';
|
|
12
12
|
import { LoadPair } from './internal/EntityLoadInterfaces';
|
|
13
13
|
import { SingleFieldHolder, SingleFieldValueHolder } from './internal/SingleFieldHolder';
|
|
14
|
-
import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
|
|
14
|
+
import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
|
|
15
15
|
import { mapMapAsync } from './utils/collections/maps';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Entity loader utilities for things like invalidation, entity construction, and authorization.
|
|
19
19
|
* Methods are exposed publicly since in rare cases they may need to be called manually.
|
|
20
20
|
*/
|
|
21
|
-
export
|
|
21
|
+
export class EntityLoaderUtils<
|
|
22
22
|
TFields extends Record<string, any>,
|
|
23
23
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
24
24
|
TViewerContext extends ViewerContext,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EntityTriggerMutationInfo } from './EntityMutationInfo';
|
|
2
2
|
import { EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
3
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
4
|
-
import ViewerContext from './ViewerContext';
|
|
3
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
4
|
+
import { ViewerContext } from './ViewerContext';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Interface to define trigger behavior for entities.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export interface EntityMutationTriggerConfiguration<
|
|
10
10
|
TFields extends Record<string, any>,
|
|
11
11
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
12
12
|
TViewerContext extends ViewerContext,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { EntityValidatorMutationInfo } from './EntityMutationInfo';
|
|
2
2
|
import { EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
3
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
4
|
-
import ViewerContext from './ViewerContext';
|
|
3
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
4
|
+
import { ViewerContext } from './ViewerContext';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A validator is a way to specify entity mutation validation that runs within the
|
|
8
8
|
* same transaction as the mutation itself before creating or updating an entity.
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
10
|
+
export abstract class EntityMutationValidator<
|
|
11
11
|
TFields extends Record<string, any>,
|
|
12
12
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
13
13
|
TViewerContext extends ViewerContext,
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AuthorizationResultBasedCreateMutator,
|
|
3
|
-
AuthorizationResultBasedUpdateMutator,
|
|
4
3
|
AuthorizationResultBasedDeleteMutator,
|
|
4
|
+
AuthorizationResultBasedUpdateMutator,
|
|
5
5
|
} from './AuthorizationResultBasedEntityMutator';
|
|
6
|
-
import Entity,
|
|
7
|
-
import EntityCompanionProvider from './EntityCompanionProvider';
|
|
8
|
-
import EntityConfiguration from './EntityConfiguration';
|
|
9
|
-
import EntityDatabaseAdapter from './EntityDatabaseAdapter';
|
|
10
|
-
import EntityLoaderFactory from './EntityLoaderFactory';
|
|
11
|
-
import EntityMutationTriggerConfiguration from './EntityMutationTriggerConfiguration';
|
|
12
|
-
import EntityMutationValidator from './EntityMutationValidator';
|
|
13
|
-
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
6
|
+
import { Entity, IEntityClass } from './Entity';
|
|
7
|
+
import { EntityCompanionProvider } from './EntityCompanionProvider';
|
|
8
|
+
import { EntityConfiguration } from './EntityConfiguration';
|
|
9
|
+
import { EntityDatabaseAdapter } from './EntityDatabaseAdapter';
|
|
10
|
+
import { EntityLoaderFactory } from './EntityLoaderFactory';
|
|
11
|
+
import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
|
|
12
|
+
import { EntityMutationValidator } from './EntityMutationValidator';
|
|
13
|
+
import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
|
|
14
14
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
15
|
-
import ViewerContext from './ViewerContext';
|
|
16
|
-
import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
|
|
15
|
+
import { ViewerContext } from './ViewerContext';
|
|
16
|
+
import { IEntityMetricsAdapter } from './metrics/IEntityMetricsAdapter';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* The primary interface for creating, mutating, and deleting entities.
|
|
20
20
|
*/
|
|
21
|
-
export
|
|
21
|
+
export class EntityMutatorFactory<
|
|
22
22
|
TFields extends Record<string, any>,
|
|
23
23
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
24
24
|
TViewerContext extends ViewerContext,
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { EntityCascadingDeletionInfo } from './EntityMutationInfo';
|
|
2
2
|
import { EntityQueryContext } from './EntityQueryContext';
|
|
3
|
-
import ReadonlyEntity from './ReadonlyEntity';
|
|
4
|
-
import ViewerContext from './ViewerContext';
|
|
5
|
-
import EntityNotAuthorizedError from './errors/EntityNotAuthorizedError';
|
|
6
|
-
import
|
|
3
|
+
import { ReadonlyEntity } from './ReadonlyEntity';
|
|
4
|
+
import { ViewerContext } from './ViewerContext';
|
|
5
|
+
import { EntityNotAuthorizedError } from './errors/EntityNotAuthorizedError';
|
|
6
|
+
import {
|
|
7
7
|
EntityMetricsAuthorizationResult,
|
|
8
|
+
IEntityMetricsAdapter,
|
|
8
9
|
} from './metrics/IEntityMetricsAdapter';
|
|
9
|
-
import PrivacyPolicyRule,
|
|
10
|
+
import { PrivacyPolicyRule, RuleEvaluationResult } from './rules/PrivacyPolicyRule';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Information about the reason this privacy policy is being evaluated.
|
|
@@ -115,7 +116,7 @@ export enum EntityAuthorizationAction {
|
|
|
115
116
|
* return not authorized if all rules skip
|
|
116
117
|
* ```
|
|
117
118
|
*/
|
|
118
|
-
export
|
|
119
|
+
export abstract class EntityPrivacyPolicy<
|
|
119
120
|
TFields extends Record<string, any>,
|
|
120
121
|
TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>,
|
|
121
122
|
TViewerContext extends ViewerContext,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from 'assert';
|
|
2
2
|
|
|
3
|
-
import EntityQueryContextProvider from './EntityQueryContextProvider';
|
|
3
|
+
import { EntityQueryContextProvider } from './EntityQueryContextProvider';
|
|
4
4
|
|
|
5
5
|
export type PostCommitCallback = (...args: any) => Promise<any>;
|
|
6
6
|
export type PreCommitCallback = (
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
EntityTransactionalQueryContext,
|
|
5
|
-
EntityNonTransactionalQueryContext,
|
|
6
4
|
EntityNestedTransactionalQueryContext,
|
|
5
|
+
EntityNonTransactionalQueryContext,
|
|
6
|
+
EntityTransactionalQueryContext,
|
|
7
7
|
TransactionConfig,
|
|
8
8
|
TransactionalDataLoaderMode,
|
|
9
9
|
} from './EntityQueryContext';
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
/**
|
|
12
12
|
* A query context provider vends transactional and non-transactional query contexts.
|
|
13
13
|
*/
|
|
14
|
-
export
|
|
14
|
+
export abstract class EntityQueryContextProvider {
|
|
15
15
|
/**
|
|
16
16
|
* Vend a regular (non-transactional) entity query context.
|
|
17
17
|
*/
|