@expo/entity-secondary-cache-redis 0.16.0 → 0.20.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.
@@ -32,24 +32,24 @@ class RedisSecondaryEntityCache {
32
32
  */
33
33
  async loadManyThroughAsync(loadParamsArray, fetcher) {
34
34
  const redisKeys = loadParamsArray.map(this.constructRedisKey);
35
- const redisKeyToLoadParamsMap = entity_1.zipToMap(redisKeys, loadParamsArray);
35
+ const redisKeyToLoadParamsMap = (0, entity_1.zipToMap)(redisKeys, loadParamsArray);
36
36
  const cacheLoadResults = await this.genericRedisCacher.loadManyAsync(redisKeys);
37
- invariant_1.default(cacheLoadResults.size === loadParamsArray.length, `${this.constructor.name} loadMany should return a result for each key`);
38
- const redisKeysToFetch = Array.from(entity_1.filterMap(cacheLoadResults, (cacheLoadResult) => cacheLoadResult.status === entity_1.CacheStatus.MISS).keys());
37
+ (0, invariant_1.default)(cacheLoadResults.size === loadParamsArray.length, `${this.constructor.name} loadMany should return a result for each key`);
38
+ const redisKeysToFetch = Array.from((0, entity_1.filterMap)(cacheLoadResults, (cacheLoadResult) => cacheLoadResult.status === entity_1.CacheStatus.MISS).keys());
39
39
  // put transformed cache hits in result map
40
40
  const results = new Map();
41
41
  cacheLoadResults.forEach((cacheLoadResult, redisKey) => {
42
42
  if (cacheLoadResult.status === entity_1.CacheStatus.HIT) {
43
43
  const loadParams = redisKeyToLoadParamsMap.get(redisKey);
44
- invariant_1.default(loadParams !== undefined, 'load params should be in redis key map');
45
- results.set(loadParams, entity_1.transformCacheObjectToFields(this.entityConfiguration, entity_cache_adapter_redis_1.redisTransformerMap, cacheLoadResult.item));
44
+ (0, invariant_1.default)(loadParams !== undefined, 'load params should be in redis key map');
45
+ results.set(loadParams, (0, entity_1.transformCacheObjectToFields)(this.entityConfiguration, entity_cache_adapter_redis_1.redisTransformerMap, cacheLoadResult.item));
46
46
  }
47
47
  });
48
48
  // fetch any misses from DB, add DB objects to results, cache DB results, inform cache of any missing DB results
49
49
  if (redisKeysToFetch.length > 0) {
50
50
  const loadParamsToFetch = redisKeysToFetch.map((redisKey) => {
51
51
  const loadParams = redisKeyToLoadParamsMap.get(redisKey);
52
- invariant_1.default(loadParams !== undefined, 'load params should be in redis key map');
52
+ (0, invariant_1.default)(loadParams !== undefined, 'load params should be in redis key map');
53
53
  return loadParams;
54
54
  });
55
55
  const fetchResults = await fetcher(loadParamsToFetch);
@@ -63,7 +63,7 @@ class RedisSecondaryEntityCache {
63
63
  const objectsToCache = new Map();
64
64
  for (const [loadParams, object] of fetchResults.entries()) {
65
65
  if (object) {
66
- objectsToCache.set(this.constructRedisKey(loadParams), entity_1.transformFieldsToCacheObject(this.entityConfiguration, entity_cache_adapter_redis_1.redisTransformerMap, object));
66
+ objectsToCache.set(this.constructRedisKey(loadParams), (0, entity_1.transformFieldsToCacheObject)(this.entityConfiguration, entity_cache_adapter_redis_1.redisTransformerMap, object));
67
67
  results.set(loadParams, object);
68
68
  }
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RedisSecondaryEntityCache.js","sourceRoot":"","sources":["../src/RedisSecondaryEntityCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RedisSecondaryEntityCache.js","sourceRoot":"","sources":["../src/RedisSecondaryEntityCache.ts"],"names":[],"mappings":"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"}
@@ -40,13 +40,15 @@ class TestSecondaryRedisCacheLoader extends entity_1.EntitySecondaryCacheLoader
40
40
  async fetchObjectsFromDatabaseAsync(loadParamsArray) {
41
41
  this.databaseLoadCount += loadParamsArray.length;
42
42
  const emptyMap = new Map(loadParamsArray.map((p) => [p, null]));
43
- return await entity_1.mapMapAsync(emptyMap, async (_value, loadParams) => {
43
+ return await (0, entity_1.mapMapAsync)(emptyMap, async (_value, loadParams) => {
44
44
  if (loadParams.id === FAKE_ID) {
45
45
  return null;
46
46
  }
47
- return (await this.entityLoader
47
+ return (0, nullthrows_1.default)((await this.entityLoader
48
48
  .enforcing()
49
- .loadManyByFieldEqualityConjunctionAsync([{ fieldName: 'id', fieldValue: loadParams.id }]))[0].getAllFields();
49
+ .loadManyByFieldEqualityConjunctionAsync([
50
+ { fieldName: 'id', fieldValue: loadParams.id },
51
+ ]))[0]).getAllFields();
50
52
  });
51
53
  }
52
54
  }
@@ -54,14 +56,14 @@ describe(RedisSecondaryEntityCache_1.default, () => {
54
56
  let redisCacheAdapterContext;
55
57
  beforeAll(() => {
56
58
  redisCacheAdapterContext = {
57
- redisClient: new ioredis_1.default(new url_1.URL(process.env.REDIS_URL).toString()),
59
+ redisClient: new ioredis_1.default(new url_1.URL(process.env['REDIS_URL']).toString()),
58
60
  makeKeyFn(..._parts) {
59
61
  throw new Error('should not be used by this test');
60
62
  },
61
63
  cacheKeyPrefix: 'test-',
62
64
  cacheKeyVersion: 1,
63
65
  ttlSecondsPositive: 86400,
64
- ttlSecondsNegative: 600,
66
+ ttlSecondsNegative: 600, // 10 minutes
65
67
  };
66
68
  });
67
69
  beforeEach(async () => {
@@ -71,25 +73,25 @@ describe(RedisSecondaryEntityCache_1.default, () => {
71
73
  redisCacheAdapterContext.redisClient.disconnect();
72
74
  });
73
75
  it('Loads through secondary loader, caches, and invalidates', async () => {
74
- const viewerContext = new TestViewerContext(createRedisIntegrationTestEntityCompanionProvider_1.createRedisIntegrationTestEntityCompanionProvider(redisCacheAdapterContext));
76
+ const viewerContext = new TestViewerContext((0, createRedisIntegrationTestEntityCompanionProvider_1.createRedisIntegrationTestEntityCompanionProvider)(redisCacheAdapterContext));
75
77
  const createdEntity = await RedisTestEntity_1.default.creator(viewerContext)
76
78
  .setField('name', 'wat')
77
79
  .enforceCreateAsync();
78
80
  const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(new RedisSecondaryEntityCache_1.default(RedisTestEntity_1.redisTestEntityConfiguration, redisCacheAdapterContext, (loadParams) => `test-key-${loadParams.id}`), RedisTestEntity_1.default.loader(viewerContext));
79
81
  const loadParams = { id: createdEntity.getID() };
80
82
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
81
- expect(nullthrows_1.default(results.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
83
+ expect((0, nullthrows_1.default)(results.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
82
84
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(1);
83
85
  const results2 = await secondaryCacheLoader.loadManyAsync([loadParams]);
84
- expect(nullthrows_1.default(results2.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
86
+ expect((0, nullthrows_1.default)(results2.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
85
87
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(1);
86
88
  await secondaryCacheLoader.invalidateManyAsync([loadParams]);
87
89
  const results3 = await secondaryCacheLoader.loadManyAsync([loadParams]);
88
- expect(nullthrows_1.default(results3.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
90
+ expect((0, nullthrows_1.default)(results3.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
89
91
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(2);
90
92
  });
91
93
  it('correctly handles uncached and unfetchable load params', async () => {
92
- const viewerContext = new TestViewerContext(createRedisIntegrationTestEntityCompanionProvider_1.createRedisIntegrationTestEntityCompanionProvider(redisCacheAdapterContext));
94
+ const viewerContext = new TestViewerContext((0, createRedisIntegrationTestEntityCompanionProvider_1.createRedisIntegrationTestEntityCompanionProvider)(redisCacheAdapterContext));
93
95
  const secondaryCacheLoader = new TestSecondaryRedisCacheLoader(new RedisSecondaryEntityCache_1.default(RedisTestEntity_1.redisTestEntityConfiguration, redisCacheAdapterContext, (loadParams) => `test-key-${loadParams.id}`), RedisTestEntity_1.default.loader(viewerContext));
94
96
  const loadParams = { id: FAKE_ID };
95
97
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
@@ -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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"}
@@ -7,9 +7,9 @@ export default class RedisTestEntity extends Entity<RedisTestEntityFields, strin
7
7
  static getCompanionDefinition(): EntityCompanionDefinition<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, RedisTestEntityPrivacyPolicy>;
8
8
  }
9
9
  export declare class RedisTestEntityPrivacyPolicy extends EntityPrivacyPolicy<RedisTestEntityFields, string, ViewerContext, RedisTestEntity> {
10
- protected readonly createRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, "id" | "name">[];
11
- protected readonly readRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, "id" | "name">[];
12
- protected readonly updateRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, "id" | "name">[];
13
- protected readonly deleteRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, "id" | "name">[];
10
+ protected readonly createRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, keyof RedisTestEntityFields>[];
11
+ protected readonly readRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, keyof RedisTestEntityFields>[];
12
+ protected readonly updateRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, keyof RedisTestEntityFields>[];
13
+ protected readonly deleteRules: AlwaysAllowPrivacyPolicyRule<RedisTestEntityFields, string, ViewerContext, RedisTestEntity, keyof RedisTestEntityFields>[];
14
14
  }
15
15
  export declare const redisTestEntityConfiguration: EntityConfiguration<RedisTestEntityFields>;
@@ -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,sBAAsB;QAO3B,OAAO,kCAAkC,CAAC;IAC5C,CAAC;CACF;AAVD,kCAUC;AAED,MAAa,4BAA6B,SAAQ,4BAKjD;IALD;;QAMqB,gBAAW,GAAG;YAC/B,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QACiB,cAAS,GAAG;YAC7B,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QACiB,gBAAW,GAAG;YAC/B,IAAI,qCAA4B,EAK7B;SACJ,CAAC;QACiB,gBAAW,GAAG;YAC/B,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;AAEH,MAAM,kCAAkC,GAAG,IAAI,kCAAyB,CAAC;IACvE,WAAW,EAAE,eAAe;IAC5B,mBAAmB,EAAE,oCAA4B;IACjD,kBAAkB,EAAE,4BAA4B;CACjD,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,sBAAsB;QAO3B,OAAO,kCAAkC,CAAC;IAC5C,CAAC;CACF;AAVD,kCAUC;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;AAEH,MAAM,kCAAkC,GAAG,IAAI,kCAAyB,CAAC;IACvE,WAAW,EAAE,eAAe;IAC5B,mBAAmB,EAAE,oCAA4B;IACjD,kBAAkB,EAAE,4BAA4B;CACjD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity-secondary-cache-redis",
3
- "version": "0.16.0",
3
+ "version": "0.20.0",
4
4
  "description": "Redis secondary cache for @expo/entity",
5
5
  "files": [
6
6
  "build",
@@ -12,6 +12,7 @@
12
12
  "tsc": "tsc",
13
13
  "clean": "rm -rf build coverage coverage-integration",
14
14
  "lint": "eslint src",
15
+ "lint-fix": "eslint src --fix",
15
16
  "test": "jest --rootDir . --config ../../resources/jest.config.js --passWithNoTests",
16
17
  "integration": "../../resources/run-with-docker yarn integration-no-setup",
17
18
  "integration-no-setup": "jest --config ../../resources/jest-integration.config.js --rootDir . --runInBand --passWithNoTests",
@@ -33,8 +34,8 @@
33
34
  "ioredis": "^4.17.3"
34
35
  },
35
36
  "devDependencies": {
36
- "@expo/entity": "^0.16.0",
37
- "@expo/entity-cache-adapter-redis": "^0.16.0",
37
+ "@expo/entity": "^0.20.0",
38
+ "@expo/entity-cache-adapter-redis": "^0.20.0",
38
39
  "nullthrows": "^1.1.1"
39
40
  }
40
41
  }
@@ -20,7 +20,8 @@ import invariant from 'invariant';
20
20
  * a call to {@link EntityLoader.loadManyByFieldEqualityConjunctionAsync} is guaranteed to return at most one entity.
21
21
  */
22
22
  export default class RedisSecondaryEntityCache<TFields, TLoadParams>
23
- implements ISecondaryEntityCache<TFields, TLoadParams> {
23
+ implements ISecondaryEntityCache<TFields, TLoadParams>
24
+ {
24
25
  private readonly genericRedisCacher: GenericRedisCacher;
25
26
 
26
27
  constructor(
@@ -38,11 +38,15 @@ class TestSecondaryRedisCacheLoader extends EntitySecondaryCacheLoader<
38
38
  if (loadParams.id === FAKE_ID) {
39
39
  return null;
40
40
  }
41
- return (
42
- await this.entityLoader
43
- .enforcing()
44
- .loadManyByFieldEqualityConjunctionAsync([{ fieldName: 'id', fieldValue: loadParams.id }])
45
- )[0].getAllFields();
41
+ return nullthrows(
42
+ (
43
+ await this.entityLoader
44
+ .enforcing()
45
+ .loadManyByFieldEqualityConjunctionAsync([
46
+ { fieldName: 'id', fieldValue: loadParams.id },
47
+ ])
48
+ )[0]
49
+ ).getAllFields();
46
50
  });
47
51
  }
48
52
  }
@@ -52,7 +56,7 @@ describe(RedisSecondaryEntityCache, () => {
52
56
 
53
57
  beforeAll(() => {
54
58
  redisCacheAdapterContext = {
55
- redisClient: new Redis(new URL(process.env.REDIS_URL!).toString()),
59
+ redisClient: new Redis(new URL(process.env['REDIS_URL']!).toString()),
56
60
  makeKeyFn(..._parts: string[]): string {
57
61
  throw new Error('should not be used by this test');
58
62
  },
@@ -32,7 +32,7 @@ export class RedisTestEntityPrivacyPolicy extends EntityPrivacyPolicy<
32
32
  ViewerContext,
33
33
  RedisTestEntity
34
34
  > {
35
- protected readonly createRules = [
35
+ protected override readonly createRules = [
36
36
  new AlwaysAllowPrivacyPolicyRule<
37
37
  RedisTestEntityFields,
38
38
  string,
@@ -40,7 +40,7 @@ export class RedisTestEntityPrivacyPolicy extends EntityPrivacyPolicy<
40
40
  RedisTestEntity
41
41
  >(),
42
42
  ];
43
- protected readonly readRules = [
43
+ protected override readonly readRules = [
44
44
  new AlwaysAllowPrivacyPolicyRule<
45
45
  RedisTestEntityFields,
46
46
  string,
@@ -48,7 +48,7 @@ export class RedisTestEntityPrivacyPolicy extends EntityPrivacyPolicy<
48
48
  RedisTestEntity
49
49
  >(),
50
50
  ];
51
- protected readonly updateRules = [
51
+ protected override readonly updateRules = [
52
52
  new AlwaysAllowPrivacyPolicyRule<
53
53
  RedisTestEntityFields,
54
54
  string,
@@ -56,7 +56,7 @@ export class RedisTestEntityPrivacyPolicy extends EntityPrivacyPolicy<
56
56
  RedisTestEntity
57
57
  >(),
58
58
  ];
59
- protected readonly deleteRules = [
59
+ protected override readonly deleteRules = [
60
60
  new AlwaysAllowPrivacyPolicyRule<
61
61
  RedisTestEntityFields,
62
62
  string,
package/CHANGELOG.md DELETED
@@ -1,19 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [0.16.0](https://github.com/expo/entity/compare/v0.15.0...v0.16.0) (2021-07-07)
7
-
8
- **Note:** Version bump only for package @expo/entity-secondary-cache-redis
9
-
10
-
11
-
12
-
13
-
14
- # [0.15.0](https://github.com/expo/entity/compare/v0.14.1...v0.15.0) (2021-05-26)
15
-
16
-
17
- ### Features
18
-
19
- * secondary cache loader ([#123](https://github.com/expo/entity/issues/123)) ([4cba01e](https://github.com/expo/entity/commit/4cba01eb259c87d60b3026ce776e46f781363690))