@expo/entity-secondary-cache-redis 0.35.0 → 0.37.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.
@@ -3,6 +3,6 @@ import { GenericRedisCacheContext } from '@expo/entity-cache-adapter-redis';
3
3
  /**
4
4
  * A redis GenericSecondaryEntityCache.
5
5
  */
6
- export default class RedisSecondaryEntityCache<TFields, TLoadParams> extends GenericSecondaryEntityCache<TFields, TLoadParams> {
6
+ export default class RedisSecondaryEntityCache<TFields extends Record<string, any>, TLoadParams> extends GenericSecondaryEntityCache<TFields, TLoadParams> {
7
7
  constructor(entityConfiguration: EntityConfiguration<TFields>, genericRedisCacheContext: GenericRedisCacheContext, constructRedisKey: (params: Readonly<TLoadParams>) => string);
8
8
  }
@@ -37,10 +37,7 @@ class TestViewerContext extends entity_1.ViewerContext {
37
37
  }
38
38
  const FAKE_ID = 'fake';
39
39
  class TestSecondaryRedisCacheLoader extends entity_1.EntitySecondaryCacheLoader {
40
- constructor() {
41
- super(...arguments);
42
- this.databaseLoadCount = 0;
43
- }
40
+ databaseLoadCount = 0;
44
41
  async fetchObjectsFromDatabaseAsync(loadParamsArray) {
45
42
  this.databaseLoadCount += loadParamsArray.length;
46
43
  const emptyMap = new Map(loadParamsArray.map((p) => [p, null]));
@@ -66,7 +63,7 @@ describe(RedisSecondaryEntityCache_1.default, () => {
66
63
  throw new Error('should not be used by this test');
67
64
  },
68
65
  cacheKeyPrefix: 'test-',
69
- ttlSecondsPositive: 86400,
66
+ ttlSecondsPositive: 86400, // 1 day
70
67
  ttlSecondsNegative: 600, // 10 minutes
71
68
  };
72
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RedisSecondaryEntityCache-integration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/RedisSecondaryEntityCache-integration-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RedisSecondaryEntityCache-integration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/RedisSecondaryEntityCache-integration-test.ts"],"names":[],"mappings":"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"}
@@ -13,21 +13,18 @@ class RedisTestEntity extends entity_1.Entity {
13
13
  }
14
14
  exports.default = RedisTestEntity;
15
15
  class RedisTestEntityPrivacyPolicy extends entity_1.EntityPrivacyPolicy {
16
- constructor() {
17
- super(...arguments);
18
- this.createRules = [
19
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
20
- ];
21
- this.readRules = [
22
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
23
- ];
24
- this.updateRules = [
25
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
26
- ];
27
- this.deleteRules = [
28
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
29
- ];
30
- }
16
+ createRules = [
17
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
18
+ ];
19
+ readRules = [
20
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
21
+ ];
22
+ updateRules = [
23
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
24
+ ];
25
+ deleteRules = [
26
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
27
+ ];
31
28
  }
32
29
  exports.RedisTestEntityPrivacyPolicy = RedisTestEntityPrivacyPolicy;
33
30
  exports.redisTestEntityConfiguration = new entity_1.EntityConfiguration({
@@ -1 +1 @@
1
- {"version":3,"file":"RedisTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/RedisTestEntity.ts"],"names":[],"mappings":";;;AAAA,yCASsB;AAOtB,MAAqB,eAAgB,SAAQ,eAAoD;IAC/F,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,eAAe;YAC5B,mBAAmB,EAAE,oCAA4B;YACjD,kBAAkB,EAAE,4BAA4B;SACjD,CAAC;IACJ,CAAC;CACF;AAdD,kCAcC;AAED,MAAa,4BAA6B,SAAQ,4BAKjD;IALD;;QAM8B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,cAAS,GAAG;YACtC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,qCAA4B,EAK7B;SACJ,CAAC;IACJ,CAAC;CAAA;AAtCD,oEAsCC;AAEY,QAAA,4BAA4B,GAAG,IAAI,4BAAmB,CAAwB;IACzF,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,qBAAqB;IAChC,MAAM,EAAE;QACN,EAAE,EAAE,IAAI,kBAAS,CAAC;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC;QACF,IAAI,EAAE,IAAI,oBAAW,CAAC;YACpB,UAAU,EAAE,MAAM;SACnB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"RedisTestEntity.js","sourceRoot":"","sources":["../../src/testfixtures/RedisTestEntity.ts"],"names":[],"mappings":";;;AAAA,yCASsB;AAOtB,MAAqB,eAAgB,SAAQ,eAAoD;IAC/F,MAAM,CAAC,yBAAyB;QAO9B,OAAO;YACL,WAAW,EAAE,eAAe;YAC5B,mBAAmB,EAAE,oCAA4B;YACjD,kBAAkB,EAAE,4BAA4B;SACjD,CAAC;IACJ,CAAC;CACF;AAdD,kCAcC;AAED,MAAa,4BAA6B,SAAQ,4BAKjD;IAC6B,WAAW,GAAG;QACxC,IAAI,qCAA4B,EAK7B;KACJ,CAAC;IAC0B,SAAS,GAAG;QACtC,IAAI,qCAA4B,EAK7B;KACJ,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,qCAA4B,EAK7B;KACJ,CAAC;IAC0B,WAAW,GAAG;QACxC,IAAI,qCAA4B,EAK7B;KACJ,CAAC;CACH;AAtCD,oEAsCC;AAEY,QAAA,4BAA4B,GAAG,IAAI,4BAAmB,CAAwB;IACzF,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,qBAAqB;IAChC,MAAM,EAAE;QACN,EAAE,EAAE,IAAI,kBAAS,CAAC;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC;QACF,IAAI,EAAE,IAAI,oBAAW,CAAC;YACpB,UAAU,EAAE,MAAM;SACnB,CAAC;KACH;IACD,qBAAqB,EAAE,UAAU;IACjC,kBAAkB,EAAE,OAAO;CAC5B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity-secondary-cache-redis",
3
- "version": "0.35.0",
3
+ "version": "0.37.0",
4
4
  "description": "Redis secondary cache for @expo/entity",
5
5
  "files": [
6
6
  "build",
@@ -16,7 +16,7 @@
16
16
  "test": "jest --rootDir . --config ../../resources/jest.config.js --passWithNoTests",
17
17
  "integration": "../../resources/run-with-docker yarn integration-no-setup",
18
18
  "integration-no-setup": "jest --config ../../resources/jest-integration.config.js --rootDir . --runInBand --passWithNoTests",
19
- "barrelsby": "barrelsby --directory src --location top --exclude tests__ --singleQuotes --exportDefault --delete"
19
+ "barrelsby": "barrelsby --config ../../.barrelsby.json"
20
20
  },
21
21
  "engines": {
22
22
  "node": ">=16"
@@ -31,10 +31,10 @@
31
31
  "@expo/entity-cache-adapter-redis": "*"
32
32
  },
33
33
  "devDependencies": {
34
- "@expo/entity": "^0.35.0",
35
- "@expo/entity-cache-adapter-redis": "^0.35.0",
34
+ "@expo/entity": "^0.37.0",
35
+ "@expo/entity-cache-adapter-redis": "^0.37.0",
36
36
  "ioredis": "^5.2.5",
37
37
  "nullthrows": "^1.1.1"
38
38
  },
39
- "gitHead": "33771295c5da92768114c6cdd1f48936435853cc"
39
+ "gitHead": "59fc77810ad169b1820f5c58a462d996f375e0cc"
40
40
  }
@@ -5,13 +5,13 @@ import { GenericRedisCacheContext, GenericRedisCacher } from '@expo/entity-cache
5
5
  * A redis GenericSecondaryEntityCache.
6
6
  */
7
7
  export default class RedisSecondaryEntityCache<
8
- TFields,
9
- TLoadParams
8
+ TFields extends Record<string, any>,
9
+ TLoadParams,
10
10
  > extends GenericSecondaryEntityCache<TFields, TLoadParams> {
11
11
  constructor(
12
12
  entityConfiguration: EntityConfiguration<TFields>,
13
13
  genericRedisCacheContext: GenericRedisCacheContext,
14
- constructRedisKey: (params: Readonly<TLoadParams>) => string
14
+ constructRedisKey: (params: Readonly<TLoadParams>) => string,
15
15
  ) {
16
16
  super(new GenericRedisCacher(genericRedisCacheContext, entityConfiguration), constructRedisKey);
17
17
  }
@@ -29,7 +29,7 @@ class TestSecondaryRedisCacheLoader extends EntitySecondaryCacheLoader<
29
29
  public databaseLoadCount = 0;
30
30
 
31
31
  protected async fetchObjectsFromDatabaseAsync(
32
- loadParamsArray: readonly Readonly<TestLoadParams>[]
32
+ loadParamsArray: readonly Readonly<TestLoadParams>[],
33
33
  ): Promise<ReadonlyMap<Readonly<TestLoadParams>, Readonly<RedisTestEntityFields> | null>> {
34
34
  this.databaseLoadCount += loadParamsArray.length;
35
35
 
@@ -45,7 +45,7 @@ class TestSecondaryRedisCacheLoader extends EntitySecondaryCacheLoader<
45
45
  .loadManyByFieldEqualityConjunctionAsync([
46
46
  { fieldName: 'id', fieldValue: loadParams.id },
47
47
  ])
48
- )[0]
48
+ )[0],
49
49
  ).getAllFields();
50
50
  });
51
51
  }
@@ -76,7 +76,7 @@ describe(RedisSecondaryEntityCache, () => {
76
76
 
77
77
  it('Loads through secondary loader, caches, and invalidates', async () => {
78
78
  const viewerContext = new TestViewerContext(
79
- createRedisIntegrationTestEntityCompanionProvider(genericRedisCacheContext)
79
+ createRedisIntegrationTestEntityCompanionProvider(genericRedisCacheContext),
80
80
  );
81
81
 
82
82
  const createdEntity = await RedisTestEntity.creator(viewerContext)
@@ -87,22 +87,22 @@ describe(RedisSecondaryEntityCache, () => {
87
87
  new RedisSecondaryEntityCache(
88
88
  redisTestEntityConfiguration,
89
89
  genericRedisCacheContext,
90
- (loadParams) => `test-key-${loadParams.id}`
90
+ (loadParams) => `test-key-${loadParams.id}`,
91
91
  ),
92
- RedisTestEntity.loader(viewerContext)
92
+ RedisTestEntity.loader(viewerContext),
93
93
  );
94
94
 
95
95
  const loadParams = { id: createdEntity.getID() };
96
96
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
97
97
  expect(nullthrows(results.get(loadParams)).enforceValue().getID()).toEqual(
98
- createdEntity.getID()
98
+ createdEntity.getID(),
99
99
  );
100
100
 
101
101
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(1);
102
102
 
103
103
  const results2 = await secondaryCacheLoader.loadManyAsync([loadParams]);
104
104
  expect(nullthrows(results2.get(loadParams)).enforceValue().getID()).toEqual(
105
- createdEntity.getID()
105
+ createdEntity.getID(),
106
106
  );
107
107
 
108
108
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(1);
@@ -111,7 +111,7 @@ describe(RedisSecondaryEntityCache, () => {
111
111
 
112
112
  const results3 = await secondaryCacheLoader.loadManyAsync([loadParams]);
113
113
  expect(nullthrows(results3.get(loadParams)).enforceValue().getID()).toEqual(
114
- createdEntity.getID()
114
+ createdEntity.getID(),
115
115
  );
116
116
 
117
117
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(2);
@@ -119,16 +119,16 @@ describe(RedisSecondaryEntityCache, () => {
119
119
 
120
120
  it('correctly handles uncached and unfetchable load params', async () => {
121
121
  const viewerContext = new TestViewerContext(
122
- createRedisIntegrationTestEntityCompanionProvider(genericRedisCacheContext)
122
+ createRedisIntegrationTestEntityCompanionProvider(genericRedisCacheContext),
123
123
  );
124
124
 
125
125
  const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(
126
126
  new RedisSecondaryEntityCache(
127
127
  redisTestEntityConfiguration,
128
128
  genericRedisCacheContext,
129
- (loadParams) => `test-key-${loadParams.id}`
129
+ (loadParams) => `test-key-${loadParams.id}`,
130
130
  ),
131
- RedisTestEntity.loader(viewerContext)
131
+ RedisTestEntity.loader(viewerContext),
132
132
  );
133
133
 
134
134
  const loadParams = { id: FAKE_ID };
@@ -12,7 +12,7 @@ import {
12
12
 
13
13
  export const createRedisIntegrationTestEntityCompanionProvider = (
14
14
  genericRedisCacheContext: GenericRedisCacheContext,
15
- metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter()
15
+ metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter(),
16
16
  ): EntityCompanionProvider => {
17
17
  return new EntityCompanionProvider(
18
18
  metricsAdapter,
@@ -32,6 +32,6 @@ export const createRedisIntegrationTestEntityCompanionProvider = (
32
32
  cacheAdapterProvider: new RedisCacheAdapterProvider(genericRedisCacheContext),
33
33
  },
34
34
  ],
35
- ])
35
+ ]),
36
36
  );
37
37
  };