@expo/entity-cache-adapter-local-memory 0.24.0 → 0.25.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.
Files changed (31) hide show
  1. package/README.md +2 -0
  2. package/build/GenericLocalMemoryCacher.d.ts +7 -7
  3. package/build/GenericLocalMemoryCacher.js +7 -7
  4. package/build/GenericLocalMemoryCacher.js.map +1 -1
  5. package/build/LocalMemoryCacheAdapter.d.ts +1 -1
  6. package/build/LocalMemoryCacheAdapter.js +3 -3
  7. package/build/LocalMemoryCacheAdapter.js.map +1 -1
  8. package/build/LocalMemoryCacheAdapterProvider.d.ts +2 -2
  9. package/build/LocalMemoryCacheAdapterProvider.js +6 -7
  10. package/build/LocalMemoryCacheAdapterProvider.js.map +1 -1
  11. package/build/{__integration-tests__/LocalMemoryCacheAdapter-integration-test.d.ts → __tests__/LocalMemoryCacheAdapter-full-test.d.ts} +0 -0
  12. package/build/{__integration-tests__/LocalMemoryCacheAdapter-integration-test.js → __tests__/LocalMemoryCacheAdapter-full-test.js} +10 -10
  13. package/build/__tests__/LocalMemoryCacheAdapter-full-test.js.map +1 -0
  14. package/build/__tests__/LocalMemoryCacheAdapter-test.js +8 -8
  15. package/build/__tests__/LocalMemoryCacheAdapter-test.js.map +1 -1
  16. package/build/index.d.ts +8 -0
  17. package/build/index.js +29 -0
  18. package/build/index.js.map +1 -0
  19. package/build/testfixtures/{createLocalMemoryIntegrationTestEntityCompanionProvider.d.ts → createLocalMemoryTestEntityCompanionProvider.d.ts} +1 -1
  20. package/build/testfixtures/{createLocalMemoryIntegrationTestEntityCompanionProvider.js → createLocalMemoryTestEntityCompanionProvider.js} +11 -8
  21. package/build/testfixtures/createLocalMemoryTestEntityCompanionProvider.js.map +1 -0
  22. package/package.json +2 -2
  23. package/src/GenericLocalMemoryCacher.ts +10 -10
  24. package/src/LocalMemoryCacheAdapter.ts +3 -3
  25. package/src/LocalMemoryCacheAdapterProvider.ts +7 -5
  26. package/src/{__integration-tests__/LocalMemoryCacheAdapter-integration-test.ts → __tests__/LocalMemoryCacheAdapter-full-test.ts} +6 -12
  27. package/src/__tests__/LocalMemoryCacheAdapter-test.ts +8 -8
  28. package/src/index.ts +10 -0
  29. package/src/testfixtures/{createLocalMemoryIntegrationTestEntityCompanionProvider.ts → createLocalMemoryTestEntityCompanionProvider.ts} +3 -3
  30. package/build/__integration-tests__/LocalMemoryCacheAdapter-integration-test.js.map +0 -1
  31. package/build/testfixtures/createLocalMemoryIntegrationTestEntityCompanionProvider.js.map +0 -1
package/README.md CHANGED
@@ -3,6 +3,8 @@
3
3
  Cross-request [LRU](https://github.com/isaacs/node-lru-cache) cache adapter for `@expo/entity`. Use
4
4
  this cache with caution - it is nonstandard. The cache is shared between requests in the node process.
5
5
 
6
+ [Documentation](https://expo.github.io/entity/modules/_expo_cache_adapter_local_memory.html)
7
+
6
8
  ## Why NOT use this cache
7
9
 
8
10
  Because this is an in-memory cache, cross-box invalidation is not possible. Do not use this cache
@@ -1,20 +1,20 @@
1
- import { CacheLoadResult } from '@expo/entity';
1
+ import { CacheLoadResult, IEntityGenericCacher } from '@expo/entity';
2
2
  import LRUCache from 'lru-cache';
3
3
  export declare const DOES_NOT_EXIST_LOCAL_MEMORY_CACHE: unique symbol;
4
4
  declare type LocalMemoryCacheValue<TFields> = Readonly<TFields> | typeof DOES_NOT_EXIST_LOCAL_MEMORY_CACHE;
5
5
  export declare type LocalMemoryCache<TFields> = LRUCache<string, LocalMemoryCacheValue<TFields>>;
6
- export default class GenericLocalMemoryCacher<TFields> {
7
- private readonly lruCache;
8
- constructor(lruCache: LocalMemoryCache<TFields>);
6
+ export default class GenericLocalMemoryCacher<TFields> implements IEntityGenericCacher<TFields> {
7
+ private readonly localMemoryCache;
8
+ constructor(localMemoryCache: LocalMemoryCache<TFields>);
9
9
  static createLRUCache<TFields>(options?: {
10
10
  maxSize?: number;
11
11
  ttlSeconds?: number;
12
12
  }): LocalMemoryCache<TFields>;
13
- static createNoOpLRUCache<TFields>(): LocalMemoryCache<TFields>;
13
+ static createNoOpCache<TFields>(): LocalMemoryCache<TFields>;
14
14
  loadManyAsync(keys: readonly string[]): Promise<ReadonlyMap<string, CacheLoadResult<TFields>>>;
15
15
  cacheManyAsync(objectMap: ReadonlyMap<string, Readonly<TFields>>): Promise<void>;
16
- cacheDBMissesAsync(keys: string[]): Promise<void>;
17
- invalidateManyAsync(keys: string[]): Promise<void>;
16
+ cacheDBMissesAsync(keys: readonly string[]): Promise<void>;
17
+ invalidateManyAsync(keys: readonly string[]): Promise<void>;
18
18
  makeCacheKey(parts: string[]): string;
19
19
  }
20
20
  export {};
@@ -10,8 +10,8 @@ const lru_cache_1 = __importDefault(require("lru-cache"));
10
10
  // The sentinel value is distinct from any (positively) cached value.
11
11
  exports.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE = Symbol('doesNotExist');
12
12
  class GenericLocalMemoryCacher {
13
- constructor(lruCache) {
14
- this.lruCache = lruCache;
13
+ constructor(localMemoryCache) {
14
+ this.localMemoryCache = localMemoryCache;
15
15
  }
16
16
  static createLRUCache(options = {}) {
17
17
  var _a, _b;
@@ -25,7 +25,7 @@ class GenericLocalMemoryCacher {
25
25
  };
26
26
  return new lru_cache_1.default(lruCacheOptions);
27
27
  }
28
- static createNoOpLRUCache() {
28
+ static createNoOpCache() {
29
29
  return new lru_cache_1.default({
30
30
  max: 0,
31
31
  maxAge: -1,
@@ -34,7 +34,7 @@ class GenericLocalMemoryCacher {
34
34
  async loadManyAsync(keys) {
35
35
  const cacheResults = new Map();
36
36
  for (const key of keys) {
37
- const cacheResult = this.lruCache.get(key);
37
+ const cacheResult = this.localMemoryCache.get(key);
38
38
  if (cacheResult === exports.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE) {
39
39
  cacheResults.set(key, {
40
40
  status: entity_1.CacheStatus.NEGATIVE,
@@ -56,17 +56,17 @@ class GenericLocalMemoryCacher {
56
56
  }
57
57
  async cacheManyAsync(objectMap) {
58
58
  for (const [key, item] of objectMap) {
59
- this.lruCache.set(key, item);
59
+ this.localMemoryCache.set(key, item);
60
60
  }
61
61
  }
62
62
  async cacheDBMissesAsync(keys) {
63
63
  for (const key of keys) {
64
- this.lruCache.set(key, exports.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
64
+ this.localMemoryCache.set(key, exports.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
65
65
  }
66
66
  }
67
67
  async invalidateManyAsync(keys) {
68
68
  for (const key of keys) {
69
- this.lruCache.del(key);
69
+ this.localMemoryCache.del(key);
70
70
  }
71
71
  }
72
72
  makeCacheKey(parts) {
@@ -1 +1 @@
1
- {"version":3,"file":"GenericLocalMemoryCacher.js","sourceRoot":"","sources":["../src/GenericLocalMemoryCacher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenericLocalMemoryCacher.js","sourceRoot":"","sources":["../src/GenericLocalMemoryCacher.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { EntityCacheAdapter, CacheLoadResult, EntityConfiguration } from '@expo/
2
2
  import { LocalMemoryCache } from './GenericLocalMemoryCacher';
3
3
  export default class LocalMemoryCacheAdapter<TFields> extends EntityCacheAdapter<TFields> {
4
4
  private readonly genericLocalMemoryCacher;
5
- constructor(entityConfiguration: EntityConfiguration<TFields>, lruCache: LocalMemoryCache<TFields>);
5
+ constructor(entityConfiguration: EntityConfiguration<TFields>, localMemoryCache: LocalMemoryCache<TFields>);
6
6
  loadManyAsync<N extends keyof TFields>(fieldName: N, fieldValues: readonly NonNullable<TFields[N]>[]): Promise<ReadonlyMap<NonNullable<TFields[N]>, CacheLoadResult<TFields>>>;
7
7
  cacheManyAsync<N extends keyof TFields>(fieldName: N, objectMap: ReadonlyMap<NonNullable<TFields[N]>, Readonly<TFields>>): Promise<void>;
8
8
  cacheDBMissesAsync<N extends keyof TFields>(fieldName: N, fieldValues: readonly NonNullable<TFields[N]>[]): Promise<void>;
@@ -7,16 +7,16 @@ const entity_1 = require("@expo/entity");
7
7
  const invariant_1 = __importDefault(require("invariant"));
8
8
  const GenericLocalMemoryCacher_1 = __importDefault(require("./GenericLocalMemoryCacher"));
9
9
  class LocalMemoryCacheAdapter extends entity_1.EntityCacheAdapter {
10
- constructor(entityConfiguration, lruCache) {
10
+ constructor(entityConfiguration, localMemoryCache) {
11
11
  super(entityConfiguration);
12
- this.genericLocalMemoryCacher = new GenericLocalMemoryCacher_1.default(lruCache);
12
+ this.genericLocalMemoryCacher = new GenericLocalMemoryCacher_1.default(localMemoryCache);
13
13
  }
14
14
  async loadManyAsync(fieldName, fieldValues) {
15
15
  const localMemoryCacheKeyToFieldValueMapping = new Map(fieldValues.map((fieldValue) => [this.makeCacheKey(fieldName, fieldValue), fieldValue]));
16
16
  const cacheResults = await this.genericLocalMemoryCacher.loadManyAsync(Array.from(localMemoryCacheKeyToFieldValueMapping.keys()));
17
17
  return (0, entity_1.mapKeys)(cacheResults, (cacheKey) => {
18
18
  const fieldValue = localMemoryCacheKeyToFieldValueMapping.get(cacheKey);
19
- (0, invariant_1.default)(fieldValue !== undefined, 'Unspecified cache key %s returned from generic Local Memory cacher', cacheKey);
19
+ (0, invariant_1.default)(fieldValue !== undefined, 'Unspecified cache key %s returned from generic local memory cacher', cacheKey);
20
20
  return fieldValue;
21
21
  });
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMemoryCacheAdapter.js","sourceRoot":"","sources":["../src/LocalMemoryCacheAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yCAAiG;AACjG,0DAAkC;AAElC,0FAAwF;AAExF,MAAqB,uBAAiC,SAAQ,2BAA2B;IAGvF,YACE,mBAAiD,EACjD,QAAmC;QAEnC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,kCAAwB,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEM,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,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,CACpE,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC,CAC1D,CAAC;QAEF,OAAO,IAAA,gBAAO,EAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM,UAAU,GAAG,sCAAsC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAA,mBAAS,EACP,UAAU,KAAK,SAAS,EACxB,oEAAoE,EACpE,QAAQ,CACT,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,SAAY,EACZ,SAAkE;QAElE,MAAM,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAChD,IAAA,gBAAO,EAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,SAAY,EACZ,WAA+C;QAE/C,MAAM,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CACpD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC1E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,SAAY,EACZ,WAA+C;QAE/C,MAAM,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CACrD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC1E,CAAC;IACJ,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,SAAS,EAAE,CAAC,CAAC;QACzE,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,OAAO,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;CACF;AA1ED,0CA0EC"}
1
+ {"version":3,"file":"LocalMemoryCacheAdapter.js","sourceRoot":"","sources":["../src/LocalMemoryCacheAdapter.ts"],"names":[],"mappings":";;;;;AAAA,yCAAiG;AACjG,0DAAkC;AAElC,0FAAwF;AAExF,MAAqB,uBAAiC,SAAQ,2BAA2B;IAGvF,YACE,mBAAiD,EACjD,gBAA2C;QAE3C,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,kCAAwB,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;IAEM,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,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,CACpE,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,CAAC,CAC1D,CAAC;QAEF,OAAO,IAAA,gBAAO,EAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM,UAAU,GAAG,sCAAsC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAA,mBAAS,EACP,UAAU,KAAK,SAAS,EACxB,oEAAoE,EACpE,QAAQ,CACT,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,SAAY,EACZ,SAAkE;QAElE,MAAM,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAChD,IAAA,gBAAO,EAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,SAAY,EACZ,WAA+C;QAE/C,MAAM,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CACpD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC1E,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,SAAY,EACZ,WAA+C;QAE/C,MAAM,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CACrD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAC1E,CAAC;IACJ,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,SAAS,EAAE,CAAC,CAAC;QACzE,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,OAAO,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;CACF;AA1ED,0CA0EC"}
@@ -1,7 +1,7 @@
1
1
  import { EntityCacheAdapter, EntityConfiguration, IEntityCacheAdapterProvider } from '@expo/entity';
2
2
  import LocalMemoryCacheAdapter from './LocalMemoryCacheAdapter';
3
- export declare class LocalMemoryCacheAdapterProvider implements IEntityCacheAdapterProvider {
4
- private readonly lruCacheCreator;
3
+ export default class LocalMemoryCacheAdapterProvider implements IEntityCacheAdapterProvider {
4
+ private readonly localMemoryCacheCreator;
5
5
  static localMemoryCacheAdapterMap: Map<string, LocalMemoryCacheAdapter<any>>;
6
6
  static getNoOpProvider(): IEntityCacheAdapterProvider;
7
7
  static getProvider(options?: {
@@ -3,28 +3,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LocalMemoryCacheAdapterProvider = void 0;
7
6
  const entity_1 = require("@expo/entity");
8
7
  const GenericLocalMemoryCacher_1 = __importDefault(require("./GenericLocalMemoryCacher"));
9
8
  const LocalMemoryCacheAdapter_1 = __importDefault(require("./LocalMemoryCacheAdapter"));
10
9
  class LocalMemoryCacheAdapterProvider {
11
- constructor(lruCacheCreator) {
12
- this.lruCacheCreator = lruCacheCreator;
10
+ constructor(localMemoryCacheCreator) {
11
+ this.localMemoryCacheCreator = localMemoryCacheCreator;
13
12
  }
14
13
  static getNoOpProvider() {
15
- return new LocalMemoryCacheAdapterProvider(() => GenericLocalMemoryCacher_1.default.createNoOpLRUCache());
14
+ return new LocalMemoryCacheAdapterProvider(() => GenericLocalMemoryCacher_1.default.createNoOpCache());
16
15
  }
17
16
  static getProvider(options = {}) {
18
17
  return new LocalMemoryCacheAdapterProvider(() => GenericLocalMemoryCacher_1.default.createLRUCache(options));
19
18
  }
20
19
  getCacheAdapter(entityConfiguration) {
21
20
  return (0, entity_1.computeIfAbsent)(LocalMemoryCacheAdapterProvider.localMemoryCacheAdapterMap, entityConfiguration.tableName, () => {
22
- const lruCache = this.lruCacheCreator();
23
- return new LocalMemoryCacheAdapter_1.default(entityConfiguration, lruCache);
21
+ const localMemoryCache = this.localMemoryCacheCreator();
22
+ return new LocalMemoryCacheAdapter_1.default(entityConfiguration, localMemoryCache);
24
23
  });
25
24
  }
26
25
  }
27
- exports.LocalMemoryCacheAdapterProvider = LocalMemoryCacheAdapterProvider;
26
+ exports.default = LocalMemoryCacheAdapterProvider;
28
27
  // local memory cache adapters should be shared/reused across requests
29
28
  LocalMemoryCacheAdapterProvider.localMemoryCacheAdapterMap = new Map();
30
29
  //# sourceMappingURL=LocalMemoryCacheAdapterProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMemoryCacheAdapterProvider.js","sourceRoot":"","sources":["../src/LocalMemoryCacheAdapterProvider.ts"],"names":[],"mappings":";;;;;;AAAA,yCAKsB;AAEtB,0FAAwF;AACxF,wFAAgE;AAEhE,MAAa,+BAA+B;IAkB1C,YAAqC,eAAyD;QAAzD,oBAAe,GAAf,eAAe,CAA0C;IAAG,CAAC;IAdlG,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,+BAA+B,CAAC,GAAY,EAAE,CACvD,kCAAwB,CAAC,kBAAkB,EAAW,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,UAAqD,EAAE;QAEvD,OAAO,IAAI,+BAA+B,CAAC,GAAY,EAAE,CACvD,kCAAwB,CAAC,cAAc,CAAU,OAAO,CAAC,CAC1D,CAAC;IACJ,CAAC;IAIM,eAAe,CACpB,mBAAiD;QAEjD,OAAO,IAAA,wBAAe,EACpB,+BAA+B,CAAC,0BAA0B,EAC1D,mBAAmB,CAAC,SAAS,EAC7B,GAAG,EAAE;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAW,CAAC;YACjD,OAAO,IAAI,iCAAuB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC,CACF,CAAC;IACJ,CAAC;;AA/BH,0EAgCC;AA/BC,sEAAsE;AAC/D,0DAA0B,GAAG,IAAI,GAAG,EAAwC,CAAC"}
1
+ {"version":3,"file":"LocalMemoryCacheAdapterProvider.js","sourceRoot":"","sources":["../src/LocalMemoryCacheAdapterProvider.ts"],"names":[],"mappings":";;;;;AAAA,yCAKsB;AAEtB,0FAAwF;AACxF,wFAAgE;AAEhE,MAAqB,+BAA+B;IAkBlD,YACmB,uBAAiE;QAAjE,4BAAuB,GAAvB,uBAAuB,CAA0C;IACjF,CAAC;IAhBJ,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,+BAA+B,CAAC,GAAY,EAAE,CACvD,kCAAwB,CAAC,eAAe,EAAW,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,UAAqD,EAAE;QAEvD,OAAO,IAAI,+BAA+B,CAAC,GAAY,EAAE,CACvD,kCAAwB,CAAC,cAAc,CAAU,OAAO,CAAC,CAC1D,CAAC;IACJ,CAAC;IAMM,eAAe,CACpB,mBAAiD;QAEjD,OAAO,IAAA,wBAAe,EACpB,+BAA+B,CAAC,0BAA0B,EAC1D,mBAAmB,CAAC,SAAS,EAC7B,GAAG,EAAE;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAW,CAAC;YACjE,OAAO,IAAI,iCAAuB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAC5E,CAAC,CACF,CAAC;IACJ,CAAC;;AAjCH,kDAkCC;AAjCC,sEAAsE;AAC/D,0DAA0B,GAAG,IAAI,GAAG,EAAwC,CAAC"}
@@ -7,17 +7,17 @@ const entity_1 = require("@expo/entity");
7
7
  const uuid_1 = require("uuid");
8
8
  const GenericLocalMemoryCacher_1 = __importDefault(require("../GenericLocalMemoryCacher"));
9
9
  const LocalMemoryCacheAdapter_1 = __importDefault(require("../LocalMemoryCacheAdapter"));
10
- const LocalMemoryCacheAdapterProvider_1 = require("../LocalMemoryCacheAdapterProvider");
10
+ const LocalMemoryCacheAdapterProvider_1 = __importDefault(require("../LocalMemoryCacheAdapterProvider"));
11
11
  const LocalMemoryTestEntity_1 = __importDefault(require("../testfixtures/LocalMemoryTestEntity"));
12
- const createLocalMemoryIntegrationTestEntityCompanionProvider_1 = require("../testfixtures/createLocalMemoryIntegrationTestEntityCompanionProvider");
12
+ const createLocalMemoryTestEntityCompanionProvider_1 = require("../testfixtures/createLocalMemoryTestEntityCompanionProvider");
13
13
  class TestViewerContext extends entity_1.ViewerContext {
14
14
  }
15
15
  describe(LocalMemoryCacheAdapter_1.default, () => {
16
16
  beforeEach(async () => {
17
- LocalMemoryCacheAdapterProvider_1.LocalMemoryCacheAdapterProvider.localMemoryCacheAdapterMap.clear();
17
+ LocalMemoryCacheAdapterProvider_1.default.localMemoryCacheAdapterMap.clear();
18
18
  });
19
19
  it('has correct caching behavior', async () => {
20
- const viewerContext = new TestViewerContext((0, createLocalMemoryIntegrationTestEntityCompanionProvider_1.createLocalMemoryIntegrationTestEntityCompanionProvider)());
20
+ const viewerContext = new TestViewerContext((0, createLocalMemoryTestEntityCompanionProvider_1.createLocalMemoryTestEntityCompanionProvider)());
21
21
  const cacheAdapter = viewerContext.entityCompanionProvider.getCompanionForEntity(LocalMemoryTestEntity_1.default, LocalMemoryTestEntity_1.default.getCompanionDefinition())['tableDataCoordinator']['cacheAdapter'];
22
22
  const cacheKeyMaker = cacheAdapter['makeCacheKey'].bind(cacheAdapter);
23
23
  const date = new Date();
@@ -29,7 +29,7 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
29
29
  const entity1 = await LocalMemoryTestEntity_1.default.loader(viewerContext)
30
30
  .enforcing()
31
31
  .loadByIDAsync(entity1Created.getID());
32
- const entitySpecificGenericCacher = LocalMemoryCacheAdapterProvider_1.LocalMemoryCacheAdapterProvider.localMemoryCacheAdapterMap.get(LocalMemoryTestEntity_1.default.getCompanionDefinition().entityConfiguration.tableName)['genericLocalMemoryCacher'];
32
+ const entitySpecificGenericCacher = LocalMemoryCacheAdapterProvider_1.default.localMemoryCacheAdapterMap.get(LocalMemoryTestEntity_1.default.getCompanionDefinition().entityConfiguration.tableName)['genericLocalMemoryCacher'];
33
33
  const cachedResult = await entitySpecificGenericCacher.loadManyAsync([
34
34
  cacheKeyMaker('id', entity1.getID()),
35
35
  ]);
@@ -65,7 +65,7 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
65
65
  });
66
66
  it('shares the cache between different requests', async () => {
67
67
  const genericLocalMemoryCacherLoadManySpy = jest.spyOn(GenericLocalMemoryCacher_1.default.prototype, 'loadManyAsync');
68
- const viewerContext = new TestViewerContext((0, createLocalMemoryIntegrationTestEntityCompanionProvider_1.createLocalMemoryIntegrationTestEntityCompanionProvider)());
68
+ const viewerContext = new TestViewerContext((0, createLocalMemoryTestEntityCompanionProvider_1.createLocalMemoryTestEntityCompanionProvider)());
69
69
  const date = new Date();
70
70
  const entity1Created = await LocalMemoryTestEntity_1.default.creator(viewerContext)
71
71
  .setField('name', 'blah')
@@ -76,7 +76,7 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
76
76
  .enforcing()
77
77
  .loadByIDAsync(entity1Created.getID());
78
78
  // load entity with a different request
79
- const viewerContext2 = new TestViewerContext((0, createLocalMemoryIntegrationTestEntityCompanionProvider_1.createLocalMemoryIntegrationTestEntityCompanionProvider)());
79
+ const viewerContext2 = new TestViewerContext((0, createLocalMemoryTestEntityCompanionProvider_1.createLocalMemoryTestEntityCompanionProvider)());
80
80
  const entity1WithVc2 = await LocalMemoryTestEntity_1.default.loader(viewerContext2)
81
81
  .enforcing()
82
82
  .loadByIDAsync(entity1Created.getID());
@@ -93,7 +93,7 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
93
93
  expect(genericLocalMemoryCacherLoadManySpy).toBeCalledTimes(2);
94
94
  });
95
95
  it('respects the parameters of a noop cache', async () => {
96
- const viewerContext = new TestViewerContext((0, createLocalMemoryIntegrationTestEntityCompanionProvider_1.createNoopLocalMemoryIntegrationTestEntityCompanionProvider)());
96
+ const viewerContext = new TestViewerContext((0, createLocalMemoryTestEntityCompanionProvider_1.createNoopLocalMemoryIntegrationTestEntityCompanionProvider)());
97
97
  const cacheAdapter = viewerContext.entityCompanionProvider.getCompanionForEntity(LocalMemoryTestEntity_1.default, LocalMemoryTestEntity_1.default.getCompanionDefinition())['tableDataCoordinator']['cacheAdapter'];
98
98
  const cacheKeyMaker = cacheAdapter['makeCacheKey'].bind(cacheAdapter);
99
99
  const date = new Date();
@@ -105,7 +105,7 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
105
105
  const entity1 = await LocalMemoryTestEntity_1.default.loader(viewerContext)
106
106
  .enforcing()
107
107
  .loadByIDAsync(entity1Created.getID());
108
- const entitySpecificGenericCacher = LocalMemoryCacheAdapterProvider_1.LocalMemoryCacheAdapterProvider.localMemoryCacheAdapterMap.get(LocalMemoryTestEntity_1.default.getCompanionDefinition().entityConfiguration.tableName)['genericLocalMemoryCacher'];
108
+ const entitySpecificGenericCacher = LocalMemoryCacheAdapterProvider_1.default.localMemoryCacheAdapterMap.get(LocalMemoryTestEntity_1.default.getCompanionDefinition().entityConfiguration.tableName)['genericLocalMemoryCacher'];
109
109
  const cachedResult = await entitySpecificGenericCacher.loadManyAsync([
110
110
  cacheKeyMaker('id', entity1.getID()),
111
111
  ]);
@@ -125,4 +125,4 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
125
125
  });
126
126
  });
127
127
  });
128
- //# sourceMappingURL=LocalMemoryCacheAdapter-integration-test.js.map
128
+ //# sourceMappingURL=LocalMemoryCacheAdapter-full-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalMemoryCacheAdapter-full-test.js","sourceRoot":"","sources":["../../src/__tests__/LocalMemoryCacheAdapter-full-test.ts"],"names":[],"mappings":"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"}
@@ -68,37 +68,37 @@ describe(LocalMemoryCacheAdapter_1.default, () => {
68
68
  });
69
69
  describe('cacheManyAsync', () => {
70
70
  it('correctly caches all objects', async () => {
71
- const lruCache = GenericLocalMemoryCacher_1.default.createLRUCache({
71
+ const localMemoryCache = GenericLocalMemoryCacher_1.default.createLRUCache({
72
72
  maxSize: Number.MAX_SAFE_INTEGER,
73
73
  ttlSeconds: Number.MAX_SAFE_INTEGER,
74
74
  });
75
- const cacheAdapter = new LocalMemoryCacheAdapter_1.default(entityConfiguration, lruCache);
75
+ const cacheAdapter = new LocalMemoryCacheAdapter_1.default(entityConfiguration, localMemoryCache);
76
76
  await cacheAdapter.cacheManyAsync('id', new Map([['test-id-1', { id: 'test-id-1' }]]));
77
77
  const cacheKey = cacheAdapter['makeCacheKey']('id', 'test-id-1');
78
- expect(lruCache.get(cacheKey)).toMatchObject({
78
+ expect(localMemoryCache.get(cacheKey)).toMatchObject({
79
79
  id: 'test-id-1',
80
80
  });
81
81
  });
82
82
  });
83
83
  describe('cacheDBMissesAsync', () => {
84
84
  it('correctly caches misses', async () => {
85
- const lruCache = GenericLocalMemoryCacher_1.default.createLRUCache({
85
+ const localMemoryCache = GenericLocalMemoryCacher_1.default.createLRUCache({
86
86
  maxSize: Number.MAX_SAFE_INTEGER,
87
87
  ttlSeconds: Number.MAX_SAFE_INTEGER,
88
88
  });
89
- const cacheAdapter = new LocalMemoryCacheAdapter_1.default(entityConfiguration, lruCache);
89
+ const cacheAdapter = new LocalMemoryCacheAdapter_1.default(entityConfiguration, localMemoryCache);
90
90
  await cacheAdapter.cacheDBMissesAsync('id', ['test-id-1']);
91
91
  const cacheKey = cacheAdapter['makeCacheKey']('id', 'test-id-1');
92
- expect(lruCache.get(cacheKey)).toEqual(GenericLocalMemoryCacher_1.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
92
+ expect(localMemoryCache.get(cacheKey)).toEqual(GenericLocalMemoryCacher_1.DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
93
93
  });
94
94
  });
95
95
  describe('invalidateManyAsync', () => {
96
96
  it('invalidates correctly', async () => {
97
- const lruCache = GenericLocalMemoryCacher_1.default.createLRUCache({
97
+ const localMemoryCache = GenericLocalMemoryCacher_1.default.createLRUCache({
98
98
  maxSize: Number.MAX_SAFE_INTEGER,
99
99
  ttlSeconds: Number.MAX_SAFE_INTEGER,
100
100
  });
101
- const cacheAdapter = new LocalMemoryCacheAdapter_1.default(entityConfiguration, lruCache);
101
+ const cacheAdapter = new LocalMemoryCacheAdapter_1.default(entityConfiguration, localMemoryCache);
102
102
  await cacheAdapter.cacheManyAsync('id', new Map([['test-id-1', { id: 'test-id-1' }]]));
103
103
  await cacheAdapter.cacheDBMissesAsync('id', ['test-id-2']);
104
104
  await cacheAdapter.invalidateManyAsync('id', ['test-id-1', 'test-id-2']);
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMemoryCacheAdapter-test.js","sourceRoot":"","sources":["../../src/__tests__/LocalMemoryCacheAdapter-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalMemoryCacheAdapter-test.js","sourceRoot":"","sources":["../../src/__tests__/LocalMemoryCacheAdapter-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @module @expo/entity-cache-adapter-local-memory
4
+ */
5
+ export { default as GenericLocalMemoryCacher } from './GenericLocalMemoryCacher';
6
+ export * from './GenericLocalMemoryCacher';
7
+ export { default as LocalMemoryCacheAdapter } from './LocalMemoryCacheAdapter';
8
+ export { default as LocalMemoryCacheAdapterProvider } from './LocalMemoryCacheAdapterProvider';
package/build/index.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /* eslint-disable tsdoc/syntax */
3
+ /**
4
+ * @packageDocumentation
5
+ * @module @expo/entity-cache-adapter-local-memory
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.LocalMemoryCacheAdapterProvider = exports.LocalMemoryCacheAdapter = exports.GenericLocalMemoryCacher = void 0;
22
+ var GenericLocalMemoryCacher_1 = require("./GenericLocalMemoryCacher");
23
+ Object.defineProperty(exports, "GenericLocalMemoryCacher", { enumerable: true, get: function () { return __importDefault(GenericLocalMemoryCacher_1).default; } });
24
+ __exportStar(require("./GenericLocalMemoryCacher"), exports);
25
+ var LocalMemoryCacheAdapter_1 = require("./LocalMemoryCacheAdapter");
26
+ Object.defineProperty(exports, "LocalMemoryCacheAdapter", { enumerable: true, get: function () { return __importDefault(LocalMemoryCacheAdapter_1).default; } });
27
+ var LocalMemoryCacheAdapterProvider_1 = require("./LocalMemoryCacheAdapterProvider");
28
+ Object.defineProperty(exports, "LocalMemoryCacheAdapterProvider", { enumerable: true, get: function () { return __importDefault(LocalMemoryCacheAdapterProvider_1).default; } });
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,uEAAiF;AAAxE,qJAAA,OAAO,OAA4B;AAC5C,6DAA2C;AAC3C,qEAA+E;AAAtE,mJAAA,OAAO,OAA2B;AAC3C,qFAA+F;AAAtF,mKAAA,OAAO,OAAmC"}
@@ -1,5 +1,5 @@
1
1
  import { IEntityMetricsAdapter, EntityCompanionProvider } from '@expo/entity';
2
- export declare const createLocalMemoryIntegrationTestEntityCompanionProvider: (localMemoryOptions?: {
2
+ export declare const createLocalMemoryTestEntityCompanionProvider: (localMemoryOptions?: {
3
3
  maxSize?: number;
4
4
  ttlSeconds?: number;
5
5
  }, metricsAdapter?: IEntityMetricsAdapter) => EntityCompanionProvider;
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNoopLocalMemoryIntegrationTestEntityCompanionProvider = exports.createLocalMemoryIntegrationTestEntityCompanionProvider = void 0;
6
+ exports.createNoopLocalMemoryIntegrationTestEntityCompanionProvider = exports.createLocalMemoryTestEntityCompanionProvider = void 0;
4
7
  const entity_1 = require("@expo/entity");
5
- const LocalMemoryCacheAdapterProvider_1 = require("../LocalMemoryCacheAdapterProvider");
6
- const createLocalMemoryIntegrationTestEntityCompanionProvider = (localMemoryOptions = {}, metricsAdapter = new entity_1.NoOpEntityMetricsAdapter()) => {
8
+ const LocalMemoryCacheAdapterProvider_1 = __importDefault(require("../LocalMemoryCacheAdapterProvider"));
9
+ const createLocalMemoryTestEntityCompanionProvider = (localMemoryOptions = {}, metricsAdapter = new entity_1.NoOpEntityMetricsAdapter()) => {
7
10
  const localMemoryCacheAdapterProvider = localMemoryOptions.maxSize === 0 && localMemoryOptions.ttlSeconds === 0
8
- ? LocalMemoryCacheAdapterProvider_1.LocalMemoryCacheAdapterProvider.getNoOpProvider()
9
- : LocalMemoryCacheAdapterProvider_1.LocalMemoryCacheAdapterProvider.getProvider(localMemoryOptions);
11
+ ? LocalMemoryCacheAdapterProvider_1.default.getNoOpProvider()
12
+ : LocalMemoryCacheAdapterProvider_1.default.getProvider(localMemoryOptions);
10
13
  return new entity_1.EntityCompanionProvider(metricsAdapter, new Map([
11
14
  [
12
15
  'postgres',
@@ -24,9 +27,9 @@ const createLocalMemoryIntegrationTestEntityCompanionProvider = (localMemoryOpti
24
27
  ],
25
28
  ]));
26
29
  };
27
- exports.createLocalMemoryIntegrationTestEntityCompanionProvider = createLocalMemoryIntegrationTestEntityCompanionProvider;
30
+ exports.createLocalMemoryTestEntityCompanionProvider = createLocalMemoryTestEntityCompanionProvider;
28
31
  const createNoopLocalMemoryIntegrationTestEntityCompanionProvider = (metricsAdapter = new entity_1.NoOpEntityMetricsAdapter()) => {
29
- return (0, exports.createLocalMemoryIntegrationTestEntityCompanionProvider)({ maxSize: 0, ttlSeconds: 0 }, metricsAdapter);
32
+ return (0, exports.createLocalMemoryTestEntityCompanionProvider)({ maxSize: 0, ttlSeconds: 0 }, metricsAdapter);
30
33
  };
31
34
  exports.createNoopLocalMemoryIntegrationTestEntityCompanionProvider = createNoopLocalMemoryIntegrationTestEntityCompanionProvider;
32
- //# sourceMappingURL=createLocalMemoryIntegrationTestEntityCompanionProvider.js.map
35
+ //# sourceMappingURL=createLocalMemoryTestEntityCompanionProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLocalMemoryTestEntityCompanionProvider.js","sourceRoot":"","sources":["../../src/testfixtures/createLocalMemoryTestEntityCompanionProvider.ts"],"names":[],"mappings":";;;;;;AAAA,yCAMsB;AAEtB,yGAAiF;AAE1E,MAAM,4CAA4C,GAAG,CAC1D,qBAAgE,EAAE,EAClE,iBAAwC,IAAI,iCAAwB,EAAE,EAC7C,EAAE;IAC3B,MAAM,+BAA+B,GACnC,kBAAkB,CAAC,OAAO,KAAK,CAAC,IAAI,kBAAkB,CAAC,UAAU,KAAK,CAAC;QACrE,CAAC,CAAC,yCAA+B,CAAC,eAAe,EAAE;QACnD,CAAC,CAAC,yCAA+B,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtE,OAAO,IAAI,gCAAuB,CAChC,cAAc,EACd,IAAI,GAAG,CAAC;QACN;YACE,UAAU;YACV;gBACE,eAAe,EAAE,IAAI,oCAA2B,EAAE;gBAClD,oBAAoB,EAAE,iCAAwB;aAC/C;SACF;KACF,CAAC,EACF,IAAI,GAAG,CAAC;QACN;YACE,cAAc;YACd;gBACE,oBAAoB,EAAE,+BAA+B;aACtD;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,4CAA4C,gDA4BvD;AAEK,MAAM,2DAA2D,GAAG,CACzE,iBAAwC,IAAI,iCAAwB,EAAE,EAC7C,EAAE;IAC3B,OAAO,IAAA,oDAA4C,EACjD,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAC7B,cAAc,CACf,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,2DAA2D,+DAOtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity-cache-adapter-local-memory",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "description": "Cross-request local memory cache adapter for @expo/entity",
5
5
  "files": [
6
6
  "build",
@@ -33,6 +33,6 @@
33
33
  "lru-cache": "^7.3.1"
34
34
  },
35
35
  "devDependencies": {
36
- "@expo/entity": "^0.24.0"
36
+ "@expo/entity": "^0.25.0"
37
37
  }
38
38
  }
@@ -1,4 +1,4 @@
1
- import { CacheLoadResult, CacheStatus } from '@expo/entity';
1
+ import { CacheLoadResult, CacheStatus, IEntityGenericCacher } from '@expo/entity';
2
2
  import LRUCache from 'lru-cache';
3
3
 
4
4
  // Sentinel value we store in local memory to negatively cache a database miss.
@@ -77,8 +77,8 @@ type LRUCacheOptionsV7<K, V> = {
77
77
  updateRecencyOnHas?: boolean;
78
78
  };
79
79
 
80
- export default class GenericLocalMemoryCacher<TFields> {
81
- constructor(private readonly lruCache: LocalMemoryCache<TFields>) {}
80
+ export default class GenericLocalMemoryCacher<TFields> implements IEntityGenericCacher<TFields> {
81
+ constructor(private readonly localMemoryCache: LocalMemoryCache<TFields>) {}
82
82
 
83
83
  static createLRUCache<TFields>(
84
84
  options: { maxSize?: number; ttlSeconds?: number } = {}
@@ -95,7 +95,7 @@ export default class GenericLocalMemoryCacher<TFields> {
95
95
  return new LRUCache<string, LocalMemoryCacheValue<TFields>>(lruCacheOptions as any);
96
96
  }
97
97
 
98
- static createNoOpLRUCache<TFields>(): LocalMemoryCache<TFields> {
98
+ static createNoOpCache<TFields>(): LocalMemoryCache<TFields> {
99
99
  return new LRUCache<string, LocalMemoryCacheValue<TFields>>({
100
100
  max: 0,
101
101
  maxAge: -1,
@@ -107,7 +107,7 @@ export default class GenericLocalMemoryCacher<TFields> {
107
107
  ): Promise<ReadonlyMap<string, CacheLoadResult<TFields>>> {
108
108
  const cacheResults = new Map<string, CacheLoadResult<TFields>>();
109
109
  for (const key of keys) {
110
- const cacheResult = this.lruCache.get(key);
110
+ const cacheResult = this.localMemoryCache.get(key);
111
111
  if (cacheResult === DOES_NOT_EXIST_LOCAL_MEMORY_CACHE) {
112
112
  cacheResults.set(key, {
113
113
  status: CacheStatus.NEGATIVE,
@@ -128,19 +128,19 @@ export default class GenericLocalMemoryCacher<TFields> {
128
128
 
129
129
  public async cacheManyAsync(objectMap: ReadonlyMap<string, Readonly<TFields>>): Promise<void> {
130
130
  for (const [key, item] of objectMap) {
131
- this.lruCache.set(key, item);
131
+ this.localMemoryCache.set(key, item);
132
132
  }
133
133
  }
134
134
 
135
- public async cacheDBMissesAsync(keys: string[]): Promise<void> {
135
+ public async cacheDBMissesAsync(keys: readonly string[]): Promise<void> {
136
136
  for (const key of keys) {
137
- this.lruCache.set(key, DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
137
+ this.localMemoryCache.set(key, DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
138
138
  }
139
139
  }
140
140
 
141
- public async invalidateManyAsync(keys: string[]): Promise<void> {
141
+ public async invalidateManyAsync(keys: readonly string[]): Promise<void> {
142
142
  for (const key of keys) {
143
- this.lruCache.del(key);
143
+ this.localMemoryCache.del(key);
144
144
  }
145
145
  }
146
146
 
@@ -8,10 +8,10 @@ export default class LocalMemoryCacheAdapter<TFields> extends EntityCacheAdapter
8
8
 
9
9
  constructor(
10
10
  entityConfiguration: EntityConfiguration<TFields>,
11
- lruCache: LocalMemoryCache<TFields>
11
+ localMemoryCache: LocalMemoryCache<TFields>
12
12
  ) {
13
13
  super(entityConfiguration);
14
- this.genericLocalMemoryCacher = new GenericLocalMemoryCacher(lruCache);
14
+ this.genericLocalMemoryCacher = new GenericLocalMemoryCacher(localMemoryCache);
15
15
  }
16
16
 
17
17
  public async loadManyAsync<N extends keyof TFields>(
@@ -29,7 +29,7 @@ export default class LocalMemoryCacheAdapter<TFields> extends EntityCacheAdapter
29
29
  const fieldValue = localMemoryCacheKeyToFieldValueMapping.get(cacheKey);
30
30
  invariant(
31
31
  fieldValue !== undefined,
32
- 'Unspecified cache key %s returned from generic Local Memory cacher',
32
+ 'Unspecified cache key %s returned from generic local memory cacher',
33
33
  cacheKey
34
34
  );
35
35
  return fieldValue;
@@ -8,13 +8,13 @@ import {
8
8
  import GenericLocalMemoryCacher, { LocalMemoryCache } from './GenericLocalMemoryCacher';
9
9
  import LocalMemoryCacheAdapter from './LocalMemoryCacheAdapter';
10
10
 
11
- export class LocalMemoryCacheAdapterProvider implements IEntityCacheAdapterProvider {
11
+ export default class LocalMemoryCacheAdapterProvider implements IEntityCacheAdapterProvider {
12
12
  // local memory cache adapters should be shared/reused across requests
13
13
  static localMemoryCacheAdapterMap = new Map<string, LocalMemoryCacheAdapter<any>>();
14
14
 
15
15
  static getNoOpProvider(): IEntityCacheAdapterProvider {
16
16
  return new LocalMemoryCacheAdapterProvider(<TFields>() =>
17
- GenericLocalMemoryCacher.createNoOpLRUCache<TFields>()
17
+ GenericLocalMemoryCacher.createNoOpCache<TFields>()
18
18
  );
19
19
  }
20
20
 
@@ -26,7 +26,9 @@ export class LocalMemoryCacheAdapterProvider implements IEntityCacheAdapterProvi
26
26
  );
27
27
  }
28
28
 
29
- private constructor(private readonly lruCacheCreator: <TFields>() => LocalMemoryCache<TFields>) {}
29
+ private constructor(
30
+ private readonly localMemoryCacheCreator: <TFields>() => LocalMemoryCache<TFields>
31
+ ) {}
30
32
 
31
33
  public getCacheAdapter<TFields>(
32
34
  entityConfiguration: EntityConfiguration<TFields>
@@ -35,8 +37,8 @@ export class LocalMemoryCacheAdapterProvider implements IEntityCacheAdapterProvi
35
37
  LocalMemoryCacheAdapterProvider.localMemoryCacheAdapterMap,
36
38
  entityConfiguration.tableName,
37
39
  () => {
38
- const lruCache = this.lruCacheCreator<TFields>();
39
- return new LocalMemoryCacheAdapter(entityConfiguration, lruCache);
40
+ const localMemoryCache = this.localMemoryCacheCreator<TFields>();
41
+ return new LocalMemoryCacheAdapter(entityConfiguration, localMemoryCache);
40
42
  }
41
43
  );
42
44
  }
@@ -3,12 +3,12 @@ import { v4 as uuidv4 } from 'uuid';
3
3
 
4
4
  import GenericLocalMemoryCacher from '../GenericLocalMemoryCacher';
5
5
  import LocalMemoryCacheAdapter from '../LocalMemoryCacheAdapter';
6
- import { LocalMemoryCacheAdapterProvider } from '../LocalMemoryCacheAdapterProvider';
6
+ import LocalMemoryCacheAdapterProvider from '../LocalMemoryCacheAdapterProvider';
7
7
  import LocalMemoryTestEntity from '../testfixtures/LocalMemoryTestEntity';
8
8
  import {
9
- createLocalMemoryIntegrationTestEntityCompanionProvider,
9
+ createLocalMemoryTestEntityCompanionProvider,
10
10
  createNoopLocalMemoryIntegrationTestEntityCompanionProvider,
11
- } from '../testfixtures/createLocalMemoryIntegrationTestEntityCompanionProvider';
11
+ } from '../testfixtures/createLocalMemoryTestEntityCompanionProvider';
12
12
 
13
13
  class TestViewerContext extends ViewerContext {}
14
14
 
@@ -18,9 +18,7 @@ describe(LocalMemoryCacheAdapter, () => {
18
18
  });
19
19
 
20
20
  it('has correct caching behavior', async () => {
21
- const viewerContext = new TestViewerContext(
22
- createLocalMemoryIntegrationTestEntityCompanionProvider()
23
- );
21
+ const viewerContext = new TestViewerContext(createLocalMemoryTestEntityCompanionProvider());
24
22
  const cacheAdapter = viewerContext.entityCompanionProvider.getCompanionForEntity(
25
23
  LocalMemoryTestEntity,
26
24
  LocalMemoryTestEntity.getCompanionDefinition()
@@ -90,9 +88,7 @@ describe(LocalMemoryCacheAdapter, () => {
90
88
  GenericLocalMemoryCacher.prototype as unknown as any,
91
89
  'loadManyAsync'
92
90
  );
93
- const viewerContext = new TestViewerContext(
94
- createLocalMemoryIntegrationTestEntityCompanionProvider()
95
- );
91
+ const viewerContext = new TestViewerContext(createLocalMemoryTestEntityCompanionProvider());
96
92
 
97
93
  const date = new Date();
98
94
  const entity1Created = await LocalMemoryTestEntity.creator(viewerContext)
@@ -106,9 +102,7 @@ describe(LocalMemoryCacheAdapter, () => {
106
102
  .loadByIDAsync(entity1Created.getID());
107
103
 
108
104
  // load entity with a different request
109
- const viewerContext2 = new TestViewerContext(
110
- createLocalMemoryIntegrationTestEntityCompanionProvider()
111
- );
105
+ const viewerContext2 = new TestViewerContext(createLocalMemoryTestEntityCompanionProvider());
112
106
  const entity1WithVc2 = await LocalMemoryTestEntity.loader(viewerContext2)
113
107
  .enforcing()
114
108
  .loadByIDAsync(entity1Created.getID());
@@ -64,16 +64,16 @@ describe(LocalMemoryCacheAdapter, () => {
64
64
 
65
65
  describe('cacheManyAsync', () => {
66
66
  it('correctly caches all objects', async () => {
67
- const lruCache = GenericLocalMemoryCacher.createLRUCache<BlahFields>({
67
+ const localMemoryCache = GenericLocalMemoryCacher.createLRUCache<BlahFields>({
68
68
  maxSize: Number.MAX_SAFE_INTEGER,
69
69
  ttlSeconds: Number.MAX_SAFE_INTEGER,
70
70
  });
71
71
 
72
- const cacheAdapter = new LocalMemoryCacheAdapter(entityConfiguration, lruCache);
72
+ const cacheAdapter = new LocalMemoryCacheAdapter(entityConfiguration, localMemoryCache);
73
73
  await cacheAdapter.cacheManyAsync('id', new Map([['test-id-1', { id: 'test-id-1' }]]));
74
74
 
75
75
  const cacheKey = cacheAdapter['makeCacheKey']('id', 'test-id-1');
76
- expect(lruCache.get(cacheKey)).toMatchObject({
76
+ expect(localMemoryCache.get(cacheKey)).toMatchObject({
77
77
  id: 'test-id-1',
78
78
  });
79
79
  });
@@ -81,27 +81,27 @@ describe(LocalMemoryCacheAdapter, () => {
81
81
 
82
82
  describe('cacheDBMissesAsync', () => {
83
83
  it('correctly caches misses', async () => {
84
- const lruCache = GenericLocalMemoryCacher.createLRUCache<BlahFields>({
84
+ const localMemoryCache = GenericLocalMemoryCacher.createLRUCache<BlahFields>({
85
85
  maxSize: Number.MAX_SAFE_INTEGER,
86
86
  ttlSeconds: Number.MAX_SAFE_INTEGER,
87
87
  });
88
88
 
89
- const cacheAdapter = new LocalMemoryCacheAdapter(entityConfiguration, lruCache);
89
+ const cacheAdapter = new LocalMemoryCacheAdapter(entityConfiguration, localMemoryCache);
90
90
  await cacheAdapter.cacheDBMissesAsync('id', ['test-id-1']);
91
91
 
92
92
  const cacheKey = cacheAdapter['makeCacheKey']('id', 'test-id-1');
93
- expect(lruCache.get(cacheKey)).toEqual(DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
93
+ expect(localMemoryCache.get(cacheKey)).toEqual(DOES_NOT_EXIST_LOCAL_MEMORY_CACHE);
94
94
  });
95
95
  });
96
96
 
97
97
  describe('invalidateManyAsync', () => {
98
98
  it('invalidates correctly', async () => {
99
- const lruCache = GenericLocalMemoryCacher.createLRUCache<BlahFields>({
99
+ const localMemoryCache = GenericLocalMemoryCacher.createLRUCache<BlahFields>({
100
100
  maxSize: Number.MAX_SAFE_INTEGER,
101
101
  ttlSeconds: Number.MAX_SAFE_INTEGER,
102
102
  });
103
103
 
104
- const cacheAdapter = new LocalMemoryCacheAdapter(entityConfiguration, lruCache);
104
+ const cacheAdapter = new LocalMemoryCacheAdapter(entityConfiguration, localMemoryCache);
105
105
  await cacheAdapter.cacheManyAsync('id', new Map([['test-id-1', { id: 'test-id-1' }]]));
106
106
  await cacheAdapter.cacheDBMissesAsync('id', ['test-id-2']);
107
107
  await cacheAdapter.invalidateManyAsync('id', ['test-id-1', 'test-id-2']);
package/src/index.ts ADDED
@@ -0,0 +1,10 @@
1
+ /* eslint-disable tsdoc/syntax */
2
+ /**
3
+ * @packageDocumentation
4
+ * @module @expo/entity-cache-adapter-local-memory
5
+ */
6
+
7
+ export { default as GenericLocalMemoryCacher } from './GenericLocalMemoryCacher';
8
+ export * from './GenericLocalMemoryCacher';
9
+ export { default as LocalMemoryCacheAdapter } from './LocalMemoryCacheAdapter';
10
+ export { default as LocalMemoryCacheAdapterProvider } from './LocalMemoryCacheAdapterProvider';
@@ -6,9 +6,9 @@ import {
6
6
  StubDatabaseAdapterProvider,
7
7
  } from '@expo/entity';
8
8
 
9
- import { LocalMemoryCacheAdapterProvider } from '../LocalMemoryCacheAdapterProvider';
9
+ import LocalMemoryCacheAdapterProvider from '../LocalMemoryCacheAdapterProvider';
10
10
 
11
- export const createLocalMemoryIntegrationTestEntityCompanionProvider = (
11
+ export const createLocalMemoryTestEntityCompanionProvider = (
12
12
  localMemoryOptions: { maxSize?: number; ttlSeconds?: number } = {},
13
13
  metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter()
14
14
  ): EntityCompanionProvider => {
@@ -41,7 +41,7 @@ export const createLocalMemoryIntegrationTestEntityCompanionProvider = (
41
41
  export const createNoopLocalMemoryIntegrationTestEntityCompanionProvider = (
42
42
  metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter()
43
43
  ): EntityCompanionProvider => {
44
- return createLocalMemoryIntegrationTestEntityCompanionProvider(
44
+ return createLocalMemoryTestEntityCompanionProvider(
45
45
  { maxSize: 0, ttlSeconds: 0 },
46
46
  metricsAdapter
47
47
  );
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalMemoryCacheAdapter-integration-test.js","sourceRoot":"","sources":["../../src/__integration-tests__/LocalMemoryCacheAdapter-integration-test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createLocalMemoryIntegrationTestEntityCompanionProvider.js","sourceRoot":"","sources":["../../src/testfixtures/createLocalMemoryIntegrationTestEntityCompanionProvider.ts"],"names":[],"mappings":";;;AAAA,yCAMsB;AAEtB,wFAAqF;AAE9E,MAAM,uDAAuD,GAAG,CACrE,qBAAgE,EAAE,EAClE,iBAAwC,IAAI,iCAAwB,EAAE,EAC7C,EAAE;IAC3B,MAAM,+BAA+B,GACnC,kBAAkB,CAAC,OAAO,KAAK,CAAC,IAAI,kBAAkB,CAAC,UAAU,KAAK,CAAC;QACrE,CAAC,CAAC,iEAA+B,CAAC,eAAe,EAAE;QACnD,CAAC,CAAC,iEAA+B,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtE,OAAO,IAAI,gCAAuB,CAChC,cAAc,EACd,IAAI,GAAG,CAAC;QACN;YACE,UAAU;YACV;gBACE,eAAe,EAAE,IAAI,oCAA2B,EAAE;gBAClD,oBAAoB,EAAE,iCAAwB;aAC/C;SACF;KACF,CAAC,EACF,IAAI,GAAG,CAAC;QACN;YACE,cAAc;YACd;gBACE,oBAAoB,EAAE,+BAA+B;aACtD;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,uDAAuD,2DA4BlE;AAEK,MAAM,2DAA2D,GAAG,CACzE,iBAAwC,IAAI,iCAAwB,EAAE,EAC7C,EAAE;IAC3B,OAAO,IAAA,+DAAuD,EAC5D,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAC7B,cAAc,CACf,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,2DAA2D,+DAOtE"}