@expo/entity 0.31.0 → 0.32.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/ComposedEntityCacheAdapter.d.ts +4 -6
- package/build/ComposedEntityCacheAdapter.js +3 -6
- package/build/ComposedEntityCacheAdapter.js.map +1 -1
- package/build/EnforcingEntityLoader.d.ts +6 -1
- package/build/EnforcingEntityLoader.js +8 -0
- package/build/EnforcingEntityLoader.js.map +1 -1
- package/build/Entity.d.ts +20 -10
- package/build/Entity.js +2 -2
- package/build/Entity.js.map +1 -1
- package/build/EntityAssociationLoader.d.ts +9 -9
- package/build/EntityCompanion.d.ts +6 -5
- package/build/EntityCompanion.js +6 -4
- package/build/EntityCompanion.js.map +1 -1
- package/build/EntityCompanionProvider.d.ts +28 -36
- package/build/EntityCompanionProvider.js +4 -19
- package/build/EntityCompanionProvider.js.map +1 -1
- package/build/EntityConfiguration.d.ts +3 -3
- package/build/EntityConfiguration.js +2 -2
- package/build/EntityConfiguration.js.map +1 -1
- package/build/EntityDatabaseAdapter.d.ts +1 -1
- package/build/EntityDatabaseAdapter.js +1 -1
- package/build/EntityDatabaseAdapter.js.map +1 -1
- package/build/EntityFieldDefinition.d.ts +2 -2
- package/build/EntityFieldDefinition.js +1 -1
- package/build/EntityFieldDefinition.js.map +1 -1
- package/build/EntityLoader.d.ts +19 -2
- package/build/EntityLoader.js +41 -5
- package/build/EntityLoader.js.map +1 -1
- package/build/EntityLoaderFactory.d.ts +4 -7
- package/build/EntityLoaderFactory.js +3 -5
- package/build/EntityLoaderFactory.js.map +1 -1
- package/build/EntityMutationInfo.d.ts +3 -3
- package/build/EntityMutationInfo.js +1 -1
- package/build/EntityMutationInfo.js.map +1 -1
- package/build/EntityMutationTriggerConfiguration.d.ts +3 -3
- package/build/EntityMutationValidator.d.ts +1 -1
- package/build/EntityMutator.d.ts +9 -7
- package/build/EntityMutator.js +21 -21
- package/build/EntityMutator.js.map +1 -1
- package/build/EntityMutatorFactory.d.ts +4 -2
- package/build/EntityMutatorFactory.js +5 -4
- package/build/EntityMutatorFactory.js.map +1 -1
- package/build/EntityPrivacyPolicy.d.ts +3 -3
- package/build/EntityPrivacyPolicy.js +2 -2
- package/build/EntityPrivacyPolicy.js.map +1 -1
- package/build/EntityQueryContext.d.ts +13 -5
- package/build/EntityQueryContext.js +11 -4
- package/build/EntityQueryContext.js.map +1 -1
- package/build/EntityQueryContextProvider.d.ts +3 -3
- package/build/EntityQueryContextProvider.js +2 -2
- package/build/EntityQueryContextProvider.js.map +1 -1
- package/build/EntitySecondaryCacheLoader.d.ts +1 -1
- package/build/EntitySecondaryCacheLoader.js +1 -1
- package/build/EntitySecondaryCacheLoader.js.map +1 -1
- package/build/GenericEntityCacheAdapter.d.ts +14 -0
- package/build/GenericEntityCacheAdapter.js +38 -0
- package/build/GenericEntityCacheAdapter.js.map +1 -0
- package/build/{EntityCacheAdapter.d.ts → IEntityCacheAdapter.d.ts} +5 -8
- package/build/IEntityCacheAdapter.js +3 -0
- package/build/IEntityCacheAdapter.js.map +1 -0
- package/build/IEntityCacheAdapterProvider.d.ts +2 -2
- package/build/IEntityGenericCacher.d.ts +31 -2
- package/build/ReadonlyEntity.d.ts +19 -7
- package/build/ReadonlyEntity.js +15 -13
- package/build/ReadonlyEntity.js.map +1 -1
- package/build/ViewerContext.d.ts +3 -3
- package/build/ViewerContext.js +3 -3
- package/build/ViewerContext.js.map +1 -1
- package/build/ViewerScopedEntityCompanion.d.ts +2 -2
- package/build/ViewerScopedEntityCompanion.js.map +1 -1
- package/build/ViewerScopedEntityCompanionProvider.d.ts +3 -3
- package/build/ViewerScopedEntityCompanionProvider.js +3 -3
- package/build/ViewerScopedEntityCompanionProvider.js.map +1 -1
- package/build/ViewerScopedEntityLoaderFactory.d.ts +1 -1
- package/build/ViewerScopedEntityMutatorFactory.d.ts +1 -1
- package/build/__tests__/ComposedCacheAdapter-test.js +4 -8
- package/build/__tests__/ComposedCacheAdapter-test.js.map +1 -1
- package/build/__tests__/EnforcingEntityLoader-test.js +26 -0
- package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
- package/build/__tests__/Entity-test.js +42 -20
- package/build/__tests__/Entity-test.js.map +1 -1
- package/build/__tests__/EntityAssociationLoader-test.js +6 -6
- package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
- package/build/__tests__/EntityCommonUseCases-test.js +20 -22
- package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
- package/build/__tests__/EntityCompanion-test.js +2 -1
- package/build/__tests__/EntityCompanion-test.js.map +1 -1
- package/build/__tests__/EntityCompanionProvider-test.js +15 -40
- package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/EntityEdges-test.js +48 -54
- package/build/__tests__/EntityEdges-test.js.map +1 -1
- package/build/__tests__/EntityLoader-constructor-test.d.ts +9 -5
- package/build/__tests__/EntityLoader-constructor-test.js +13 -14
- package/build/__tests__/EntityLoader-constructor-test.js.map +1 -1
- package/build/__tests__/EntityLoader-test.js +80 -10
- package/build/__tests__/EntityLoader-test.js.map +1 -1
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +20 -22
- package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -1
- package/build/__tests__/EntityMutator-test.js +67 -14
- package/build/__tests__/EntityMutator-test.js.map +1 -1
- package/build/__tests__/EntityPrivacyPolicy-test.js +82 -29
- package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
- package/build/__tests__/EntityQueryContext-test.js +12 -0
- package/build/__tests__/EntityQueryContext-test.js.map +1 -1
- package/build/__tests__/EntitySecondaryCacheLoader-test.js +1 -2
- package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
- package/build/__tests__/EntitySelfReferentialEdges-test.js +16 -20
- package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
- package/build/__tests__/GenericEntityCacheAdapter-test.d.ts +1 -0
- package/build/__tests__/GenericEntityCacheAdapter-test.js +80 -0
- package/build/__tests__/GenericEntityCacheAdapter-test.js.map +1 -0
- package/build/__tests__/ReadonlyEntity-test.js +79 -13
- package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +2 -25
- package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +20 -23
- package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +17 -20
- package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
- package/build/errors/EntityError.js +2 -2
- package/build/errors/EntityError.js.map +1 -1
- package/build/errors/EntityInvalidFieldValueError.d.ts +2 -2
- package/build/errors/EntityInvalidFieldValueError.js.map +1 -1
- package/build/errors/EntityNotAuthorizedError.d.ts +2 -2
- package/build/errors/EntityNotAuthorizedError.js +1 -1
- package/build/errors/EntityNotAuthorizedError.js.map +1 -1
- package/build/errors/EntityNotFoundError.d.ts +2 -2
- package/build/errors/EntityNotFoundError.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/build/internal/EntityDataManager.d.ts +1 -1
- package/build/internal/EntityDataManager.js +1 -1
- package/build/internal/EntityDataManager.js.map +1 -1
- package/build/internal/EntityFieldTransformationUtils.d.ts +1 -1
- package/build/internal/EntityFieldTransformationUtils.js +4 -4
- package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
- package/build/internal/EntityTableDataCoordinator.d.ts +3 -3
- package/build/internal/EntityTableDataCoordinator.js.map +1 -1
- package/build/internal/ReadThroughEntityCache.d.ts +3 -3
- package/build/internal/ReadThroughEntityCache.js +1 -1
- package/build/internal/ReadThroughEntityCache.js.map +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js +1 -1
- package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
- package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
- package/build/metrics/EntityMetricsUtils.js.map +1 -1
- package/build/metrics/IEntityMetricsAdapter.js +4 -4
- 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 +1 -1
- package/build/rules/PrivacyPolicyRule.js +1 -1
- package/build/rules/PrivacyPolicyRule.js.map +1 -1
- package/build/testfixtures/DateIDTestEntity.d.ts +2 -3
- package/build/testfixtures/DateIDTestEntity.js +7 -9
- package/build/testfixtures/DateIDTestEntity.js.map +1 -1
- package/build/testfixtures/SimpleTestEntity.d.ts +3 -4
- package/build/testfixtures/SimpleTestEntity.js +7 -9
- package/build/testfixtures/SimpleTestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity.d.ts +2 -3
- package/build/testfixtures/TestEntity.js +14 -10
- package/build/testfixtures/TestEntity.js.map +1 -1
- package/build/testfixtures/TestEntity2.d.ts +2 -3
- package/build/testfixtures/TestEntity2.js +7 -9
- package/build/testfixtures/TestEntity2.js.map +1 -1
- package/build/testfixtures/TestEntityNumberKey.d.ts +2 -3
- package/build/testfixtures/TestEntityNumberKey.js +7 -9
- package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
- package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +4 -4
- package/build/utils/testing/StubCacheAdapter.d.ts +6 -5
- package/build/utils/testing/StubCacheAdapter.js +5 -6
- package/build/utils/testing/StubCacheAdapter.js.map +1 -1
- package/build/utils/testing/StubDatabaseAdapterProvider.js.map +1 -1
- package/build/utils/testing/StubQueryContextProvider.d.ts +2 -1
- package/build/utils/testing/StubQueryContextProvider.js +1 -1
- package/build/utils/testing/StubQueryContextProvider.js.map +1 -1
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js +2 -2
- package/build/utils/testing/createUnitTestEntityCompanionProvider.js.map +1 -1
- package/package.json +3 -3
- package/src/ComposedEntityCacheAdapter.ts +4 -11
- package/src/EnforcingEntityLoader.ts +17 -1
- package/src/Entity.ts +23 -12
- package/src/EntityAssociationLoader.ts +12 -12
- package/src/EntityCompanion.ts +13 -32
- package/src/EntityCompanionProvider.ts +41 -80
- package/src/EntityConfiguration.ts +4 -5
- package/src/EntityFieldDefinition.ts +2 -2
- package/src/EntityLoader.ts +45 -2
- package/src/EntityLoaderFactory.ts +7 -9
- package/src/EntityMutationInfo.ts +2 -2
- package/src/EntityMutationTriggerConfiguration.ts +3 -3
- package/src/EntityMutationValidator.ts +1 -1
- package/src/EntityMutator.ts +38 -31
- package/src/EntityMutatorFactory.ts +6 -1
- package/src/EntityPrivacyPolicy.ts +2 -2
- package/src/EntityQueryContext.ts +24 -4
- package/src/EntityQueryContextProvider.ts +7 -5
- package/src/EntitySecondaryCacheLoader.ts +1 -1
- package/src/GenericEntityCacheAdapter.ts +65 -0
- package/src/{EntityCacheAdapter.ts → IEntityCacheAdapter.ts} +5 -8
- package/src/IEntityCacheAdapterProvider.ts +2 -2
- package/src/IEntityGenericCacher.ts +32 -2
- package/src/ReadonlyEntity.ts +32 -32
- package/src/ViewerContext.ts +10 -8
- package/src/ViewerScopedEntityCompanion.ts +2 -2
- package/src/ViewerScopedEntityCompanionProvider.ts +4 -12
- package/src/ViewerScopedEntityLoaderFactory.ts +1 -1
- package/src/ViewerScopedEntityMutatorFactory.ts +1 -1
- package/src/__tests__/ComposedCacheAdapter-test.ts +6 -11
- package/src/__tests__/EnforcingEntityLoader-test.ts +41 -0
- package/src/__tests__/Entity-test.ts +42 -21
- package/src/__tests__/EntityCommonUseCases-test.ts +20 -22
- package/src/__tests__/EntityCompanion-test.ts +6 -9
- package/src/__tests__/EntityCompanionProvider-test.ts +14 -26
- package/src/__tests__/EntityEdges-test.ts +43 -49
- package/src/__tests__/EntityLoader-constructor-test.ts +16 -12
- package/src/__tests__/EntityLoader-test.ts +105 -0
- package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +20 -22
- package/src/__tests__/EntityMutator-test.ts +119 -19
- package/src/__tests__/EntityPrivacyPolicy-test.ts +82 -29
- package/src/__tests__/EntityQueryContext-test.ts +23 -1
- package/src/__tests__/EntitySelfReferentialEdges-test.ts +8 -10
- package/src/__tests__/GenericEntityCacheAdapter-test.ts +102 -0
- package/src/__tests__/ReadonlyEntity-test.ts +79 -13
- package/src/__tests__/ViewerScopedEntityCompanionProvider-test.ts +2 -5
- package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +30 -24
- package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +14 -18
- package/src/errors/EntityInvalidFieldValueError.ts +2 -2
- package/src/errors/EntityNotAuthorizedError.ts +2 -2
- package/src/errors/EntityNotFoundError.ts +2 -2
- package/src/index.ts +2 -1
- package/src/internal/EntityDataManager.ts +1 -1
- package/src/internal/EntityTableDataCoordinator.ts +4 -4
- package/src/internal/ReadThroughEntityCache.ts +2 -2
- package/src/internal/__tests__/EntityDataManager-test.ts +2 -1
- package/src/internal/__tests__/ReadThroughEntityCache-test.ts +8 -8
- package/src/metrics/EntityMetricsUtils.ts +1 -1
- package/src/rules/AlwaysAllowPrivacyPolicyRule.ts +2 -2
- package/src/rules/AlwaysDenyPrivacyPolicyRule.ts +2 -2
- package/src/rules/AlwaysSkipPrivacyPolicyRule.ts +2 -2
- package/src/rules/PrivacyPolicyRule.ts +1 -1
- package/src/testfixtures/DateIDTestEntity.ts +6 -8
- package/src/testfixtures/SimpleTestEntity.ts +6 -8
- package/src/testfixtures/TestEntity.ts +19 -15
- package/src/testfixtures/TestEntity2.ts +6 -8
- package/src/testfixtures/TestEntityNumberKey.ts +6 -8
- package/src/utils/testing/PrivacyPolicyRuleTestUtils.ts +4 -4
- package/src/utils/testing/StubCacheAdapter.ts +9 -11
- package/src/utils/testing/StubDatabaseAdapterProvider.ts +1 -1
- package/src/utils/testing/StubQueryContextProvider.ts +4 -3
- package/src/utils/testing/createUnitTestEntityCompanionProvider.ts +3 -3
- package/build/EntityCacheAdapter.js +0 -13
- package/build/EntityCacheAdapter.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IEntityCacheAdapter.js","sourceRoot":"","sources":["../src/IEntityCacheAdapter.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import EntityCacheAdapter from './EntityCacheAdapter';
|
|
2
1
|
import EntityConfiguration from './EntityConfiguration';
|
|
2
|
+
import IEntityCacheAdapter from './IEntityCacheAdapter';
|
|
3
3
|
/**
|
|
4
4
|
* A cache adapter provider vends cache adapters for a particular cache adapter type.
|
|
5
5
|
* Allows for passing global configuration to cache adapters.
|
|
@@ -8,5 +8,5 @@ export default interface IEntityCacheAdapterProvider {
|
|
|
8
8
|
/**
|
|
9
9
|
* Vend a cache adapter.
|
|
10
10
|
*/
|
|
11
|
-
getCacheAdapter<TFields>(entityConfiguration: EntityConfiguration<TFields>):
|
|
11
|
+
getCacheAdapter<TFields>(entityConfiguration: EntityConfiguration<TFields>): IEntityCacheAdapter<TFields>;
|
|
12
12
|
}
|
|
@@ -1,11 +1,40 @@
|
|
|
1
1
|
import { CacheLoadResult } from './internal/ReadThroughEntityCache';
|
|
2
2
|
/**
|
|
3
|
-
* A cacher stores and loads key-value pairs. It also supports negative caching - it stores the absence
|
|
4
|
-
* of keys that don't exist in the backing datastore.
|
|
3
|
+
* A generic cacher stores and loads key-value pairs. It also supports negative caching - it stores the absence
|
|
4
|
+
* of keys that don't exist in the backing datastore. It is also responsible for cache key creation.
|
|
5
5
|
*/
|
|
6
6
|
export default interface IEntityGenericCacher<TFields> {
|
|
7
|
+
/**
|
|
8
|
+
* Load many keys from the cache. Return info in a format that is useful for read-through caching and
|
|
9
|
+
* negative caching.
|
|
10
|
+
*
|
|
11
|
+
* @param keys - cache keys to load
|
|
12
|
+
*/
|
|
7
13
|
loadManyAsync(keys: readonly string[]): Promise<ReadonlyMap<string, CacheLoadResult<TFields>>>;
|
|
14
|
+
/**
|
|
15
|
+
* Cache many objects for specified keys.
|
|
16
|
+
*
|
|
17
|
+
* @param objectMap - map from cache key to object to cache for key
|
|
18
|
+
*/
|
|
8
19
|
cacheManyAsync(objectMap: ReadonlyMap<string, Readonly<TFields>>): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Negatively-cache specified keys. Subsequent loads for these keys (without calling invalidate) may
|
|
22
|
+
* return a negative CacheLoadResult
|
|
23
|
+
*
|
|
24
|
+
* @param keys - keys to cache negatively
|
|
25
|
+
*/
|
|
9
26
|
cacheDBMissesAsync(keys: readonly string[]): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Invalidate specified keys in cache. Subsequent loads for these keys may return a cache miss.
|
|
29
|
+
*
|
|
30
|
+
* @param keys - keys to invalidate
|
|
31
|
+
*/
|
|
10
32
|
invalidateManyAsync(keys: readonly string[]): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Create a cache key for a field and value of a object being cached or invalidated.
|
|
35
|
+
*
|
|
36
|
+
* @param fieldName - name of the object field for this cache key
|
|
37
|
+
* @param fieldValue - value of the obejct field for this cache key
|
|
38
|
+
*/
|
|
39
|
+
makeCacheKey<N extends keyof TFields>(fieldName: N, fieldValue: NonNullable<TFields[N]>): string;
|
|
11
40
|
}
|
|
@@ -12,19 +12,31 @@ import ViewerContext from './ViewerContext';
|
|
|
12
12
|
* - Entities representing SQL views.
|
|
13
13
|
* - Entities representing immutable tables.
|
|
14
14
|
*/
|
|
15
|
-
export default abstract class ReadonlyEntity<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TSelectedFields extends keyof TFields = keyof TFields> {
|
|
15
|
+
export default abstract class ReadonlyEntity<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TSelectedFields extends keyof TFields = keyof TFields> {
|
|
16
16
|
private readonly viewerContext;
|
|
17
|
-
private readonly databaseFields;
|
|
18
17
|
private readonly id;
|
|
19
|
-
private readonly
|
|
18
|
+
private readonly databaseFields;
|
|
19
|
+
private readonly selectedFields;
|
|
20
20
|
/**
|
|
21
21
|
* Constructs an instance of an Entity.
|
|
22
|
-
*
|
|
23
|
-
* @param
|
|
22
|
+
*
|
|
23
|
+
* @param constructorParam - data needed to construct an instance of an entity
|
|
24
|
+
* viewerContext - the ViewerContext reading this entity
|
|
25
|
+
* id - the ID of this entity
|
|
26
|
+
* databaseFields - all underlying fields for this entity's data
|
|
27
|
+
* selectedFields - selected fields for this entity from TSelectedFields type
|
|
28
|
+
*
|
|
29
|
+
* This should only be overridden in cases where additional data validation is needed.
|
|
30
|
+
* The params should not be modified when calling super during constructions.
|
|
24
31
|
*
|
|
25
32
|
* @internal
|
|
26
33
|
*/
|
|
27
|
-
constructor(viewerContext
|
|
34
|
+
constructor({ viewerContext, id, databaseFields, selectedFields, }: {
|
|
35
|
+
viewerContext: TViewerContext;
|
|
36
|
+
id: TID;
|
|
37
|
+
databaseFields: Readonly<TFields>;
|
|
38
|
+
selectedFields: Readonly<Pick<TFields, TSelectedFields>>;
|
|
39
|
+
});
|
|
28
40
|
toString(): string;
|
|
29
41
|
getUniqueIdentifier(): string;
|
|
30
42
|
/**
|
|
@@ -58,5 +70,5 @@ export default abstract class ReadonlyEntity<TFields, TID extends NonNullable<TF
|
|
|
58
70
|
* @param viewerContext - viewer context of loading user
|
|
59
71
|
* @param queryContext - query context in which to perform the load
|
|
60
72
|
*/
|
|
61
|
-
static loader<TMFields, TMID extends NonNullable<TMFields[TMSelectedFields]>, TMViewerContext extends ViewerContext, TMViewerContext2 extends TMViewerContext, TMEntity extends ReadonlyEntity<TMFields, TMID, TMViewerContext, TMSelectedFields>, TMPrivacyPolicy extends EntityPrivacyPolicy<TMFields, TMID, TMViewerContext, TMEntity, TMSelectedFields>, TMSelectedFields extends keyof TMFields = keyof TMFields>(this: IEntityClass<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>, viewerContext: TMViewerContext2, queryContext?: EntityQueryContext): EntityLoader<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>;
|
|
73
|
+
static loader<TMFields extends object, TMID extends NonNullable<TMFields[TMSelectedFields]>, TMViewerContext extends ViewerContext, TMViewerContext2 extends TMViewerContext, TMEntity extends ReadonlyEntity<TMFields, TMID, TMViewerContext, TMSelectedFields>, TMPrivacyPolicy extends EntityPrivacyPolicy<TMFields, TMID, TMViewerContext, TMEntity, TMSelectedFields>, TMSelectedFields extends keyof TMFields = keyof TMFields>(this: IEntityClass<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>, viewerContext: TMViewerContext2, queryContext?: EntityQueryContext): EntityLoader<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>;
|
|
62
74
|
}
|
package/build/ReadonlyEntity.js
CHANGED
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const invariant_1 = __importDefault(require("invariant"));
|
|
7
7
|
const EntityAssociationLoader_1 = __importDefault(require("./EntityAssociationLoader"));
|
|
8
|
-
const entityUtils_1 = require("./entityUtils");
|
|
9
8
|
/**
|
|
10
9
|
* A readonly entity exposes only the read functionality of an Entity. Used as the base
|
|
11
10
|
* type for most entity operations excluding mutations.
|
|
@@ -17,21 +16,24 @@ const entityUtils_1 = require("./entityUtils");
|
|
|
17
16
|
class ReadonlyEntity {
|
|
18
17
|
/**
|
|
19
18
|
* Constructs an instance of an Entity.
|
|
20
|
-
*
|
|
21
|
-
* @param
|
|
19
|
+
*
|
|
20
|
+
* @param constructorParam - data needed to construct an instance of an entity
|
|
21
|
+
* viewerContext - the ViewerContext reading this entity
|
|
22
|
+
* id - the ID of this entity
|
|
23
|
+
* databaseFields - all underlying fields for this entity's data
|
|
24
|
+
* selectedFields - selected fields for this entity from TSelectedFields type
|
|
25
|
+
*
|
|
26
|
+
* This should only be overridden in cases where additional data validation is needed.
|
|
27
|
+
* The params should not be modified when calling super during constructions.
|
|
22
28
|
*
|
|
23
29
|
* @internal
|
|
24
30
|
*/
|
|
25
|
-
constructor(viewerContext, databaseFields) {
|
|
31
|
+
constructor({ viewerContext, id, databaseFields, selectedFields, }) {
|
|
32
|
+
(0, invariant_1.default)(id !== null && id !== undefined, 'id must be non-null');
|
|
26
33
|
this.viewerContext = viewerContext;
|
|
27
|
-
this.databaseFields = databaseFields;
|
|
28
|
-
const companionDefinition = this.constructor.getCompanionDefinition();
|
|
29
|
-
const idField = companionDefinition.entityConfiguration.idField;
|
|
30
|
-
const id = databaseFields[idField];
|
|
31
|
-
(0, invariant_1.default)(id, 'must provide ID to create an entity');
|
|
32
34
|
this.id = id;
|
|
33
|
-
|
|
34
|
-
this.
|
|
35
|
+
this.databaseFields = databaseFields;
|
|
36
|
+
this.selectedFields = selectedFields;
|
|
35
37
|
}
|
|
36
38
|
toString() {
|
|
37
39
|
return `${this.constructor.name}[${this.getID()}]`;
|
|
@@ -63,13 +65,13 @@ class ReadonlyEntity {
|
|
|
63
65
|
* @returns the value of the field or undefined if not loaded with that field
|
|
64
66
|
*/
|
|
65
67
|
getField(fieldName) {
|
|
66
|
-
return this.
|
|
68
|
+
return this.selectedFields[fieldName];
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
71
|
* @returns all underlying fields from this entity's data
|
|
70
72
|
*/
|
|
71
73
|
getAllFields() {
|
|
72
|
-
return { ...this.
|
|
74
|
+
return { ...this.selectedFields };
|
|
73
75
|
}
|
|
74
76
|
/**
|
|
75
77
|
* @returns all underlying fields from this entity's database data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadonlyEntity.js","sourceRoot":"","sources":["../src/ReadonlyEntity.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAGlC,wFAAgE;AAMhE
|
|
1
|
+
{"version":3,"file":"ReadonlyEntity.js","sourceRoot":"","sources":["../src/ReadonlyEntity.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAGlC,wFAAgE;AAMhE;;;;;;;GAOG;AACH,MAA8B,cAAc;IAW1C;;;;;;;;;;;;;OAaG;IACH,YAAY,EACV,aAAa,EACb,EAAE,EACF,cAAc,EACd,cAAc,GAMf;QACC,IAAA,mBAAS,EAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;IACrD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,iBAAiB;QAOf,OAAO,IAAI,iCAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,QAAQ,CACN,SAAY;QAEZ,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAuBX,aAA+B,EAC/B,eAAmC,aAAa;SAC7C,sCAAsC,CAAC,IAAI,CAAC;SAC5C,uBAAuB,EAAE;SACzB,eAAe,EAAE;QAEpB,OAAO,aAAa;aACjB,sCAAsC,CAAC,IAAI,CAAC;aAC5C,gBAAgB,EAAE;aAClB,OAAO,CAAC,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF;AA/ID,iCA+IC"}
|
package/build/ViewerContext.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IEntityClass } from './Entity';
|
|
2
2
|
import EntityCompanionProvider, { DatabaseAdapterFlavor } from './EntityCompanionProvider';
|
|
3
3
|
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
4
|
-
import { EntityQueryContext, EntityTransactionalQueryContext } from './EntityQueryContext';
|
|
4
|
+
import { EntityQueryContext, EntityTransactionalQueryContext, TransactionConfig } from './EntityQueryContext';
|
|
5
5
|
import ReadonlyEntity from './ReadonlyEntity';
|
|
6
6
|
import ViewerScopedEntityCompanion from './ViewerScopedEntityCompanion';
|
|
7
7
|
/**
|
|
@@ -15,7 +15,7 @@ export default class ViewerContext {
|
|
|
15
15
|
private readonly viewerScopedEntityCompanionProvider;
|
|
16
16
|
constructor(entityCompanionProvider: EntityCompanionProvider);
|
|
17
17
|
get [Symbol.toStringTag](): string;
|
|
18
|
-
getViewerScopedEntityCompanionForClass<TMFields, TMID extends NonNullable<TMFields[TMSelectedFields]>, TMViewerContext extends ViewerContext, TMEntity extends ReadonlyEntity<TMFields, TMID, TMViewerContext, TMSelectedFields>, TMPrivacyPolicy extends EntityPrivacyPolicy<TMFields, TMID, TMViewerContext, TMEntity, TMSelectedFields>, TMSelectedFields extends keyof TMFields>(entityClass: IEntityClass<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>): ViewerScopedEntityCompanion<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>;
|
|
18
|
+
getViewerScopedEntityCompanionForClass<TMFields extends object, TMID extends NonNullable<TMFields[TMSelectedFields]>, TMViewerContext extends ViewerContext, TMEntity extends ReadonlyEntity<TMFields, TMID, TMViewerContext, TMSelectedFields>, TMPrivacyPolicy extends EntityPrivacyPolicy<TMFields, TMID, TMViewerContext, TMEntity, TMSelectedFields>, TMSelectedFields extends keyof TMFields>(entityClass: IEntityClass<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>): ViewerScopedEntityCompanion<TMFields, TMID, TMViewerContext, TMEntity, TMPrivacyPolicy, TMSelectedFields>;
|
|
19
19
|
/**
|
|
20
20
|
* Get the regular (non-transactional) query context for a database adaptor flavor.
|
|
21
21
|
* @param databaseAdaptorFlavor - database adaptor flavor
|
|
@@ -27,5 +27,5 @@ export default class ViewerContext {
|
|
|
27
27
|
* @param databaseAdaptorFlavor - databaseAdaptorFlavor
|
|
28
28
|
* @param transactionScope - async callback to execute within the transaction
|
|
29
29
|
*/
|
|
30
|
-
runInTransactionForDatabaseAdaptorFlavorAsync<TResult>(databaseAdaptorFlavor: DatabaseAdapterFlavor, transactionScope: (queryContext: EntityTransactionalQueryContext) => Promise<TResult
|
|
30
|
+
runInTransactionForDatabaseAdaptorFlavorAsync<TResult>(databaseAdaptorFlavor: DatabaseAdapterFlavor, transactionScope: (queryContext: EntityTransactionalQueryContext) => Promise<TResult>, transactionConfig?: TransactionConfig): Promise<TResult>;
|
|
31
31
|
}
|
package/build/ViewerContext.js
CHANGED
|
@@ -19,7 +19,7 @@ class ViewerContext {
|
|
|
19
19
|
return this.constructor.name;
|
|
20
20
|
}
|
|
21
21
|
getViewerScopedEntityCompanionForClass(entityClass) {
|
|
22
|
-
return this.viewerScopedEntityCompanionProvider.getViewerScopedCompanionForEntity(entityClass
|
|
22
|
+
return this.viewerScopedEntityCompanionProvider.getViewerScopedCompanionForEntity(entityClass);
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Get the regular (non-transactional) query context for a database adaptor flavor.
|
|
@@ -36,11 +36,11 @@ class ViewerContext {
|
|
|
36
36
|
* @param databaseAdaptorFlavor - databaseAdaptorFlavor
|
|
37
37
|
* @param transactionScope - async callback to execute within the transaction
|
|
38
38
|
*/
|
|
39
|
-
async runInTransactionForDatabaseAdaptorFlavorAsync(databaseAdaptorFlavor, transactionScope) {
|
|
39
|
+
async runInTransactionForDatabaseAdaptorFlavorAsync(databaseAdaptorFlavor, transactionScope, transactionConfig) {
|
|
40
40
|
return await this.entityCompanionProvider
|
|
41
41
|
.getQueryContextProviderForDatabaseAdaptorFlavor(databaseAdaptorFlavor)
|
|
42
42
|
.getQueryContext()
|
|
43
|
-
.runInTransactionIfNotInTransactionAsync(transactionScope);
|
|
43
|
+
.runInTransactionIfNotInTransactionAsync(transactionScope, transactionConfig);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
exports.default = ViewerContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerContext.js","sourceRoot":"","sources":["../src/ViewerContext.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ViewerContext.js","sourceRoot":"","sources":["../src/ViewerContext.ts"],"names":[],"mappings":";;;;;AAUA,gHAAwF;AAExF;;;;;GAKG;AACH,MAAqB,aAAa;IAGhC,YAA4B,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;QAC1E,IAAI,CAAC,mCAAmC,GAAG,IAAI,6CAAmC,CAChF,uBAAuB,EACvB,IAAI,CACL,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,sCAAsC,CAcpC,WAOC;QASD,OAAO,IAAI,CAAC,mCAAmC,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;IACjG,CAAC;IAED;;;OAGG;IACH,uCAAuC,CACrC,qBAA4C;QAE5C,OAAO,IAAI,CAAC,uBAAuB;aAChC,+CAA+C,CAAC,qBAAqB,CAAC;aACtE,eAAe,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6CAA6C,CACjD,qBAA4C,EAC5C,gBAAqF,EACrF,iBAAqC;QAErC,OAAO,MAAM,IAAI,CAAC,uBAAuB;aACtC,+CAA+C,CAAC,qBAAqB,CAAC;aACtE,eAAe,EAAE;aACjB,uCAAuC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAClF,CAAC;CACF;AA3ED,gCA2EC"}
|
|
@@ -10,8 +10,8 @@ import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
|
|
|
10
10
|
* Provides a simpler API for loading and mutating entities by injecting the ViewerContext
|
|
11
11
|
* from the viewer-scoped entity companion provider.
|
|
12
12
|
*/
|
|
13
|
-
export default class ViewerScopedEntityCompanion<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
14
|
-
|
|
13
|
+
export default class ViewerScopedEntityCompanion<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
14
|
+
readonly entityCompanion: EntityCompanion<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
|
|
15
15
|
private readonly viewerContext;
|
|
16
16
|
constructor(entityCompanion: EntityCompanion<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, viewerContext: TViewerContext);
|
|
17
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerScopedEntityCompanion.js","sourceRoot":"","sources":["../src/ViewerScopedEntityCompanion.ts"],"names":[],"mappings":";;;;;AAKA,wGAAgF;AAChF,0GAAkF;AAGlF;;;GAGG;AACH,MAAqB,2BAA2B;IAc9C,
|
|
1
|
+
{"version":3,"file":"ViewerScopedEntityCompanion.js","sourceRoot":"","sources":["../src/ViewerScopedEntityCompanion.ts"],"names":[],"mappings":";;;;;AAKA,wGAAgF;AAChF,0GAAkF;AAGlF;;;GAGG;AACH,MAAqB,2BAA2B;IAc9C,YACkB,eAOf,EACgB,aAA6B;QAR9B,oBAAe,GAAf,eAAe,CAO9B;QACgB,kBAAa,GAAb,aAAa,CAAgB;IAC7C,CAAC;IAEJ;;OAEG;IACH,gBAAgB;QAQd,OAAO,IAAI,yCAA+B,CACxC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,EACvC,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB;QAQf,OAAO,IAAI,0CAAgC,CACzC,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,EACxC,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;IAClD,CAAC;CACF;AAzED,8CAyEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IEntityClass } from './Entity';
|
|
2
|
-
import EntityCompanionProvider
|
|
2
|
+
import EntityCompanionProvider from './EntityCompanionProvider';
|
|
3
3
|
import EntityPrivacyPolicy from './EntityPrivacyPolicy';
|
|
4
4
|
import ReadonlyEntity from './ReadonlyEntity';
|
|
5
5
|
import ViewerContext from './ViewerContext';
|
|
@@ -16,7 +16,7 @@ export default class ViewerScopedEntityCompanionProvider {
|
|
|
16
16
|
* companion is constructed using the configuration provided by the factory.
|
|
17
17
|
*
|
|
18
18
|
* @param entityClass - entity class to load
|
|
19
|
-
* @param
|
|
19
|
+
* @param entityCompanionDefinitionFn - function defining entity companion definition
|
|
20
20
|
*/
|
|
21
|
-
getViewerScopedCompanionForEntity<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields>(entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields
|
|
21
|
+
getViewerScopedCompanionForEntity<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields>(entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>): ViewerScopedEntityCompanion<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
|
|
22
22
|
}
|
|
@@ -17,10 +17,10 @@ class ViewerScopedEntityCompanionProvider {
|
|
|
17
17
|
* companion is constructed using the configuration provided by the factory.
|
|
18
18
|
*
|
|
19
19
|
* @param entityClass - entity class to load
|
|
20
|
-
* @param
|
|
20
|
+
* @param entityCompanionDefinitionFn - function defining entity companion definition
|
|
21
21
|
*/
|
|
22
|
-
getViewerScopedCompanionForEntity(entityClass
|
|
23
|
-
return new ViewerScopedEntityCompanion_1.default(this.entityCompanionProvider.getCompanionForEntity(entityClass
|
|
22
|
+
getViewerScopedCompanionForEntity(entityClass) {
|
|
23
|
+
return new ViewerScopedEntityCompanion_1.default(this.entityCompanionProvider.getCompanionForEntity(entityClass), this.viewerContext);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
exports.default = ViewerScopedEntityCompanionProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewerScopedEntityCompanionProvider.js","sourceRoot":"","sources":["../src/ViewerScopedEntityCompanionProvider.ts"],"names":[],"mappings":";;;;;AAKA,gGAAwE;AAExE;;GAEG;AACH,MAAqB,mCAAmC;IACtD,YACmB,uBAAgD,EAChD,aAA4B;QAD5B,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;OAMG;IACH,iCAAiC,CAc/B,WAOC
|
|
1
|
+
{"version":3,"file":"ViewerScopedEntityCompanionProvider.js","sourceRoot":"","sources":["../src/ViewerScopedEntityCompanionProvider.ts"],"names":[],"mappings":";;;;;AAKA,gGAAwE;AAExE;;GAEG;AACH,MAAqB,mCAAmC;IACtD,YACmB,uBAAgD,EAChD,aAA4B;QAD5B,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;OAMG;IACH,iCAAiC,CAc/B,WAOC;QASD,OAAO,IAAI,qCAA2B,CACpC,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAC/D,IAAI,CAAC,aAA+B,CACrC,CAAC;IACJ,CAAC;CACF;AAhDD,sDAgDC"}
|
|
@@ -7,7 +7,7 @@ import ViewerContext from './ViewerContext';
|
|
|
7
7
|
/**
|
|
8
8
|
* Provides a cleaner API for loading entities by passing through the ViewerContext.
|
|
9
9
|
*/
|
|
10
|
-
export default class ViewerScopedEntityLoaderFactory<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
10
|
+
export default class ViewerScopedEntityLoaderFactory<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
11
11
|
private readonly entityLoaderFactory;
|
|
12
12
|
private readonly viewerContext;
|
|
13
13
|
constructor(entityLoaderFactory: EntityLoaderFactory<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, viewerContext: TViewerContext);
|
|
@@ -7,7 +7,7 @@ import ViewerContext from './ViewerContext';
|
|
|
7
7
|
/**
|
|
8
8
|
* Provides a cleaner API for mutating entities by passing through the ViewerContext.
|
|
9
9
|
*/
|
|
10
|
-
export default class ViewerScopedEntityMutatorFactory<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
10
|
+
export default class ViewerScopedEntityMutatorFactory<TFields extends object, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
|
|
11
11
|
private readonly entityMutatorFactory;
|
|
12
12
|
private readonly viewerContext;
|
|
13
13
|
constructor(entityMutatorFactory: EntityMutatorFactory<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, viewerContext: TViewerContext);
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE = void 0;
|
|
7
7
|
const invariant_1 = __importDefault(require("invariant"));
|
|
8
8
|
const ComposedEntityCacheAdapter_1 = __importDefault(require("../ComposedEntityCacheAdapter"));
|
|
9
|
-
const EntityCacheAdapter_1 = __importDefault(require("../EntityCacheAdapter"));
|
|
10
9
|
const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
|
|
11
10
|
const EntityFields_1 = require("../EntityFields");
|
|
12
11
|
const ReadThroughEntityCache_1 = require("../internal/ReadThroughEntityCache");
|
|
@@ -20,9 +19,9 @@ const entityConfiguration = new EntityConfiguration_1.default({
|
|
|
20
19
|
cacheAdapterFlavor: 'local-memory-and-redis',
|
|
21
20
|
});
|
|
22
21
|
exports.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE = Symbol('doesNotExist');
|
|
23
|
-
class TestLocalCacheAdapter
|
|
22
|
+
class TestLocalCacheAdapter {
|
|
24
23
|
constructor(entityConfiguration, cache) {
|
|
25
|
-
|
|
24
|
+
this.entityConfiguration = entityConfiguration;
|
|
26
25
|
this.cache = cache;
|
|
27
26
|
}
|
|
28
27
|
async loadManyAsync(fieldName, fieldValues) {
|
|
@@ -86,10 +85,7 @@ function makeTestCacheAdapters() {
|
|
|
86
85
|
const primaryCacheAdapter = new TestLocalCacheAdapter(entityConfiguration, primaryCache);
|
|
87
86
|
const fallbackCache = new Map();
|
|
88
87
|
const fallbackCacheAdapter = new TestLocalCacheAdapter(entityConfiguration, fallbackCache);
|
|
89
|
-
const cacheAdapter = new ComposedEntityCacheAdapter_1.default(
|
|
90
|
-
primaryCacheAdapter,
|
|
91
|
-
fallbackCacheAdapter,
|
|
92
|
-
]);
|
|
88
|
+
const cacheAdapter = new ComposedEntityCacheAdapter_1.default([primaryCacheAdapter, fallbackCacheAdapter]);
|
|
93
89
|
return {
|
|
94
90
|
primaryCache,
|
|
95
91
|
primaryCacheAdapter,
|
|
@@ -175,7 +171,7 @@ describe(ComposedEntityCacheAdapter_1.default, () => {
|
|
|
175
171
|
expect(results).toEqual(new Map());
|
|
176
172
|
});
|
|
177
173
|
it('handles 0 cache adapter compose case', async () => {
|
|
178
|
-
const cacheAdapter = new ComposedEntityCacheAdapter_1.default(
|
|
174
|
+
const cacheAdapter = new ComposedEntityCacheAdapter_1.default([]);
|
|
179
175
|
const results = await cacheAdapter.loadManyAsync('id', []);
|
|
180
176
|
expect(results).toEqual(new Map());
|
|
181
177
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposedCacheAdapter-test.js","sourceRoot":"","sources":["../../src/__tests__/ComposedCacheAdapter-test.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAElC,+FAAuE;AACvE
|
|
1
|
+
{"version":3,"file":"ComposedCacheAdapter-test.js","sourceRoot":"","sources":["../../src/__tests__/ComposedCacheAdapter-test.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAElC,+FAAuE;AACvE,iFAAyD;AACzD,kDAA4C;AAE5C,+EAAkF;AAMlF,MAAM,mBAAmB,GAAG,IAAI,6BAAmB,CAAa;IAC9D,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE;QACN,EAAE,EAAE,IAAI,wBAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;KACrD;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,wBAAwB;CAC7C,CAAC,CAAC;AAEU,QAAA,iCAAiC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAGxE,MAAM,qBAAqB;IACzB,YACmB,mBAAiD,EACjD,KAAkD;QADlD,wBAAmB,GAAnB,mBAAmB,CAA8B;QACjD,UAAK,GAAL,KAAK,CAA6C;IAClE,CAAC;IAEG,KAAK,CAAC,aAAa,CACxB,SAAY,EACZ,WAA+C;QAE/C,MAAM,sCAAsC,GAAG,IAAI,GAAG,CACpD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CACxF,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqD,CAAC;QAClF,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,sCAAsC,EAAE;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,WAAW,KAAK,yCAAiC,EAAE;gBACrD,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC3B,MAAM,EAAE,oCAAW,CAAC,QAAQ;iBAC7B,CAAC,CAAC;aACJ;iBAAM,IAAI,WAAW,EAAE;gBACtB,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC3B,MAAM,EAAE,oCAAW,CAAC,GAAG;oBACvB,IAAI,EAAE,WAAW;iBAClB,CAAC,CAAC;aACJ;iBAAM;gBACL,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC3B,MAAM,EAAE,oCAAW,CAAC,IAAI;iBACzB,CAAC,CAAC;aACJ;SACF;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,SAAY,EACZ,SAAkE;QAElE,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,SAAY,EACZ,WAA+C;QAE/C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,yCAAiC,CAAC,CAAC;SAC7D;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,SAAY,EACZ,WAA+C;QAE/C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC7B;IACH,CAAC;IAEO,YAAY,CAClB,SAAY,EACZ,UAAmC;QAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtF,IAAA,mBAAS,EAAC,UAAU,EAAE,sCAAsC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG;YACZ,IAAI,CAAC,mBAAmB,CAAC,SAAS;YAClC,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE;YAC7C,UAAU;YACV,MAAM,CAAC,UAAU,CAAC;SACnB,CAAC;QACF,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC,CAChE,CAAC;QACF,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACF;AAED,SAAS,qBAAqB;IAO5B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,MAAM,mBAAmB,GAAG,IAAI,qBAAqB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IAEzF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAChC,MAAM,oBAAoB,GAAG,IAAI,qBAAqB,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAE3F,MAAM,YAAY,GAAG,IAAI,oCAA0B,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEjG,OAAO;QACL,YAAY;QACZ,mBAAmB;QACnB,aAAa;QACb,oBAAoB;QACpB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,oCAA0B,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAEtE,MAAM,SAAS,GAAG,IAAI,GAAG,CAA+B,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,mBAAmB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAElE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;gBACrD,WAAW;gBACX,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC7C,MAAM,EAAE,oCAAW,CAAC,GAAG;gBACvB,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAEvE,MAAM,SAAS,GAAG,IAAI,GAAG,CAA+B,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,oBAAoB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAEnE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;gBACrD,WAAW;gBACX,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC7C,MAAM,EAAE,oCAAW,CAAC,GAAG;gBACvB,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAE5F,MAAM,SAAS,GAAG,IAAI,GAAG,CAA+B,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,oBAAoB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAEnE,4DAA4D;YAC5D,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhF,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE;gBACnE,WAAW;gBACX,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;gBACpD,MAAM,EAAE,oCAAW,CAAC,GAAG;gBACvB,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxF,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpC,qEAAqE;YACrE,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE;gBAC7D,WAAW;gBACX,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;gBACrD,MAAM,EAAE,oCAAW,CAAC,GAAG;gBACvB,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oCAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACrF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,EAAE,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,YAAY,GAAG,IAAI,oCAA0B,CAAM,EAAE,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EACJ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,GAAG,qBAAqB,EAAE,CAAC;YAE5B,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvF,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1F,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,aAAa,CAAC;gBACjE,EAAE,EAAE,WAAW;aAChB,CAAC,CAAC;YAEH,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5F,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,aAAa,CAAC;gBACnE,EAAE,EAAE,WAAW;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,EACJ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,GAAG,qBAAqB,EAAE,CAAC;YAE5B,MAAM,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAE3D,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1F,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,yCAAiC,CAAC,CAAC;YAE7F,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5F,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CACzD,yCAAiC,CAClC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,EACJ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,YAAY,GACb,GAAG,qBAAqB,EAAE,CAAC;YAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAA+B,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,mBAAmB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAClE,MAAM,oBAAoB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAEnE,MAAM,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YAEzE,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3F,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtE,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3F,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEtE,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC7F,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC7F,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAEjD,MAAM,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -156,6 +156,31 @@ describe(EnforcingEntityLoader_1.default, () => {
|
|
|
156
156
|
})));
|
|
157
157
|
});
|
|
158
158
|
});
|
|
159
|
+
describe('loadFirstByFieldEqualityConjunction', () => {
|
|
160
|
+
it('throws when result is unsuccessful', async () => {
|
|
161
|
+
const entityLoaderMock = (0, ts_mockito_1.mock)(EntityLoader_1.default);
|
|
162
|
+
const rejection = new Error();
|
|
163
|
+
(0, ts_mockito_1.when)(entityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(rejection));
|
|
164
|
+
const entityLoader = (0, ts_mockito_1.instance)(entityLoaderMock);
|
|
165
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(entityLoader);
|
|
166
|
+
await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).rejects.toThrow(rejection);
|
|
167
|
+
});
|
|
168
|
+
it('returns value when result is successful', async () => {
|
|
169
|
+
const entityLoaderMock = (0, ts_mockito_1.mock)(EntityLoader_1.default);
|
|
170
|
+
const resolved = {};
|
|
171
|
+
(0, ts_mockito_1.when)(entityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve((0, results_1.result)(resolved));
|
|
172
|
+
const entityLoader = (0, ts_mockito_1.instance)(entityLoaderMock);
|
|
173
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(entityLoader);
|
|
174
|
+
await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toEqual(resolved);
|
|
175
|
+
});
|
|
176
|
+
it('returns null when the query is successful but no rows match', async () => {
|
|
177
|
+
const entityLoaderMock = (0, ts_mockito_1.mock)(EntityLoader_1.default);
|
|
178
|
+
(0, ts_mockito_1.when)(entityLoaderMock.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(null);
|
|
179
|
+
const entityLoader = (0, ts_mockito_1.instance)(entityLoaderMock);
|
|
180
|
+
const enforcingEntityLoader = new EnforcingEntityLoader_1.default(entityLoader);
|
|
181
|
+
await expect(enforcingEntityLoader.loadFirstByFieldEqualityConjunctionAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).resolves.toBeNull();
|
|
182
|
+
});
|
|
183
|
+
});
|
|
159
184
|
describe('loadManyByFieldEqualityConjunction', () => {
|
|
160
185
|
it('throws when result is unsuccessful', async () => {
|
|
161
186
|
const entityLoaderMock = (0, ts_mockito_1.mock)(EntityLoader_1.default);
|
|
@@ -203,6 +228,7 @@ describe(EnforcingEntityLoader_1.default, () => {
|
|
|
203
228
|
'tryConstructEntities',
|
|
204
229
|
'validateFieldValues',
|
|
205
230
|
'constructAndAuthorizeEntitiesAsync',
|
|
231
|
+
'constructEntity',
|
|
206
232
|
];
|
|
207
233
|
expect(loaderProperties).toEqual(expect.arrayContaining(knownLoaderOnlyDifferences));
|
|
208
234
|
const loaderPropertiesWithoutKnownDifferences = loaderProperties.filter((p) => !knownLoaderOnlyDifferences.includes(p));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnforcingEntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EnforcingEntityLoader-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnforcingEntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EnforcingEntityLoader-test.ts"],"names":[],"mappings":";;;;;AAAA,2CAAuC;AACvC,2CAA4D;AAE5D,qFAA6D;AAC7D,mEAA2C;AAE3C,QAAQ,CAAC,+BAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EAAC,gBAAgB,CAAC,gCAAgC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CACzF,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC;gBACb,KAAK,EAAE,CAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;aAC3B,CAAC,CACH,CACF,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,gCAAgC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAC/E,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,gCAAgC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CACzF,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC;gBACb,KAAK,EAAE,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC;aAC1B,CAAC,CACH,CACF,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,gCAAgC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAC/E,CAAC,QAAQ,CAAC,OAAO,CAChB,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC;gBACb,KAAK,EAAE,CAAC,QAAQ,CAAC;aAClB,CAAC,CACH,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EAAC,gBAAgB,CAAC,4BAA4B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBACtF,IAAA,gBAAM,EAAC,SAAS,CAAC;aAClB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,4BAA4B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,4BAA4B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBACtF,IAAA,gBAAM,EAAC,QAAQ,CAAC;aACjB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,4BAA4B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAC3E,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CACjF,IAAA,gBAAM,EAAC,SAAS,CAAC,CAClB,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CACjF,IAAA,gBAAM,EAAC,QAAQ,CAAC,CACjB,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CACjF,IAAA,gBAAM,EAAC,QAAQ,CAAC,CACjB,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,qBAAqB,GAAG,IAAI,KAAK,EAAE,CAAC;YAC1C,IAAA,iBAAI,EAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,UAAU,CAChF,qBAAqB,CACtB,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wBAAwB,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvE,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EAAC,gBAAgB,CAAC,aAAa,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,aAAa,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;YACxF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACnF,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CACpF,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CACpF,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAC/D,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC;gBACb,KAAK,EAAE,IAAA,gBAAM,EAAC,SAAS,CAAC;aACzB,CAAC,CACH,CACF,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,WAAW,CAC/D,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC;gBACb,KAAK,EAAE,IAAA,gBAAM,EAAC,QAAQ,CAAC;aACxB,CAAC,CACH,CACF,CAAC;YACF,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,IAAA,qBAAQ,GAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CACjF,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC;gBACb,KAAK,EAAE,QAAQ;aAChB,CAAC,CACH,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EACF,gBAAgB,CAAC,wCAAwC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAClF,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;YACjC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wCAAwC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvF,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EACF,gBAAgB,CAAC,wCAAwC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAClF,CAAC,WAAW,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wCAAwC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvF,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,IAAA,iBAAI,EACF,gBAAgB,CAAC,wCAAwC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CAClF,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,wCAAwC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACvF,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EACF,gBAAgB,CAAC,uCAAuC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACjF,CAAC,WAAW,CAAC,CAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,uCAAuC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACtF,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EACF,gBAAgB,CAAC,uCAAuC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACjF,CAAC,WAAW,CAAC,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,uCAAuC,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACtF,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAA,iBAAI,EACF,gBAAgB,CAAC,6BAA6B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACnF,CAAC,WAAW,CAAC,CAAC,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,6BAA6B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACxF,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,gBAAgB,GAAG,IAAA,iBAAI,EAA6C,sBAAY,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAA,iBAAI,EACF,gBAAgB,CAAC,6BAA6B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACnF,CAAC,WAAW,CAAC,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,YAAY,GAAG,IAAA,qBAAQ,EAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM,MAAM,CACV,qBAAqB,CAAC,6BAA6B,CAAC,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,EAAE,IAAA,qBAAQ,GAAE,CAAC,CACxF,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,yBAAyB,GAAG,MAAM,CAAC,mBAAmB,CAAC,+BAAqB,CAAC,SAAS,CAAC,CAAC;QAC9F,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,sBAAY,CAAC,SAAS,CAAC,CAAC;QAE5E,wDAAwD;QACxD,MAAM,0BAA0B,GAAG;YACjC,WAAW;YACX,uBAAuB;YACvB,uBAAuB;YACvB,sBAAsB;YACtB,qBAAqB;YACrB,oCAAoC;YACpC,iBAAiB;SAClB,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAErF,MAAM,uCAAuC,GAAG,gBAAgB,CAAC,MAAM,CACrE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC/C,CAAC;QAEF,MAAM,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|