@expo/entity-secondary-cache-local-memory 0.31.1 → 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.
@@ -1,4 +1,4 @@
1
- import { GenericSecondaryEntityCache } from '@expo/entity';
1
+ import { EntityConfiguration, GenericSecondaryEntityCache } from '@expo/entity';
2
2
  import { LocalMemoryCache } from '@expo/entity-cache-adapter-local-memory';
3
3
  /**
4
4
  * A local memory GenericSecondaryEntityCache.
@@ -8,5 +8,5 @@ import { LocalMemoryCache } from '@expo/entity-cache-adapter-local-memory';
8
8
  * TLoadParams must be JSON stringifyable.
9
9
  */
10
10
  export default class LocalMemorySecondaryEntityCache<TFields, TLoadParams> extends GenericSecondaryEntityCache<TFields, TLoadParams> {
11
- constructor(localMemoryCache: LocalMemoryCache<TFields>);
11
+ constructor(entityConfiguration: EntityConfiguration<TFields>, localMemoryCache: LocalMemoryCache<TFields>);
12
12
  }
@@ -10,8 +10,8 @@ const entity_cache_adapter_local_memory_1 = require("@expo/entity-cache-adapter-
10
10
  * TLoadParams must be JSON stringifyable.
11
11
  */
12
12
  class LocalMemorySecondaryEntityCache extends entity_1.GenericSecondaryEntityCache {
13
- constructor(localMemoryCache) {
14
- super(new entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher(localMemoryCache), (params) => JSON.stringify(params));
13
+ constructor(entityConfiguration, localMemoryCache) {
14
+ super(new entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher(entityConfiguration, localMemoryCache), (params) => JSON.stringify(params));
15
15
  }
16
16
  }
17
17
  exports.default = LocalMemorySecondaryEntityCache;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMemorySecondaryEntityCache.js","sourceRoot":"","sources":["../src/LocalMemorySecondaryEntityCache.ts"],"names":[],"mappings":";;AAAA,yCAA2D;AAC3D,+FAGiD;AAEjD;;;;;;GAMG;AACH,MAAqB,+BAGnB,SAAQ,oCAAiD;IACzD,YAAY,gBAA2C;QACrD,KAAK,CAAC,IAAI,4DAAwB,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,CAAC;CACF;AAPD,kDAOC"}
1
+ {"version":3,"file":"LocalMemorySecondaryEntityCache.js","sourceRoot":"","sources":["../src/LocalMemorySecondaryEntityCache.ts"],"names":[],"mappings":";;AAAA,yCAAgF;AAChF,+FAGiD;AAEjD;;;;;;GAMG;AACH,MAAqB,+BAGnB,SAAQ,oCAAiD;IACzD,YACE,mBAAiD,EACjD,gBAA2C;QAE3C,KAAK,CAAC,IAAI,4DAAwB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CACpF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAC;IACJ,CAAC;CACF;AAZD,kDAYC"}
@@ -1,10 +1,10 @@
1
1
  import { ViewerContext, IEntityMetricsAdapter, EntityCompanionProvider, AlwaysAllowPrivacyPolicyRule, EntityPrivacyPolicy, EntityConfiguration, EntityCompanionDefinition, Entity } from '@expo/entity';
2
- export declare type LocalMemoryTestEntityFields = {
2
+ export type LocalMemoryTestEntityFields = {
3
3
  id: string;
4
4
  name: string;
5
5
  };
6
6
  export default class LocalMemoryTestEntity extends Entity<LocalMemoryTestEntityFields, string, ViewerContext> {
7
- static getCompanionDefinition(): EntityCompanionDefinition<LocalMemoryTestEntityFields, string, ViewerContext, LocalMemoryTestEntity, LocalMemoryTestEntityPrivacyPolicy>;
7
+ static defineCompanionDefinition(): EntityCompanionDefinition<LocalMemoryTestEntityFields, string, ViewerContext, LocalMemoryTestEntity, LocalMemoryTestEntityPrivacyPolicy>;
8
8
  }
9
9
  export declare class LocalMemoryTestEntityPrivacyPolicy extends EntityPrivacyPolicy<LocalMemoryTestEntityFields, string, ViewerContext, LocalMemoryTestEntity> {
10
10
  protected readonly createRules: AlwaysAllowPrivacyPolicyRule<LocalMemoryTestEntityFields, string, ViewerContext, LocalMemoryTestEntity, keyof LocalMemoryTestEntityFields>[];
@@ -9,8 +9,12 @@ const entity_cache_adapter_local_memory_1 = require("@expo/entity-cache-adapter-
9
9
  const nullthrows_1 = __importDefault(require("nullthrows"));
10
10
  const LocalMemorySecondaryEntityCache_1 = __importDefault(require("../LocalMemorySecondaryEntityCache"));
11
11
  class LocalMemoryTestEntity extends entity_1.Entity {
12
- static getCompanionDefinition() {
13
- return localMemoryTestEntityCompanionDefinition;
12
+ static defineCompanionDefinition() {
13
+ return {
14
+ entityClass: LocalMemoryTestEntity,
15
+ entityConfiguration: exports.localMemoryTestEntityConfiguration,
16
+ privacyPolicyClass: LocalMemoryTestEntityPrivacyPolicy,
17
+ };
14
18
  }
15
19
  }
16
20
  exports.default = LocalMemoryTestEntity;
@@ -46,11 +50,6 @@ exports.localMemoryTestEntityConfiguration = new entity_1.EntityConfiguration({
46
50
  databaseAdapterFlavor: 'postgres',
47
51
  cacheAdapterFlavor: 'local-memory',
48
52
  });
49
- const localMemoryTestEntityCompanionDefinition = new entity_1.EntityCompanionDefinition({
50
- entityClass: LocalMemoryTestEntity,
51
- entityConfiguration: exports.localMemoryTestEntityConfiguration,
52
- privacyPolicyClass: LocalMemoryTestEntityPrivacyPolicy,
53
- });
54
53
  const createTestEntityCompanionProvider = (metricsAdapter = new entity_1.NoOpEntityMetricsAdapter()) => {
55
54
  return new entity_1.EntityCompanionProvider(metricsAdapter, new Map([
56
55
  [
@@ -99,7 +98,7 @@ describe(LocalMemorySecondaryEntityCache_1.default, () => {
99
98
  const createdEntity = await LocalMemoryTestEntity.creator(viewerContext)
100
99
  .setField('name', 'wat')
101
100
  .enforceCreateAsync();
102
- const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext));
101
+ const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(exports.localMemoryTestEntityConfiguration, entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext));
103
102
  const loadParams = { id: createdEntity.getID() };
104
103
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
105
104
  expect((0, nullthrows_1.default)(results.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
@@ -114,7 +113,7 @@ describe(LocalMemorySecondaryEntityCache_1.default, () => {
114
113
  });
115
114
  it('correctly handles uncached and unfetchable load params', async () => {
116
115
  const viewerContext = new TestViewerContext((0, exports.createTestEntityCompanionProvider)());
117
- const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext));
116
+ const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(exports.localMemoryTestEntityConfiguration, entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext));
118
117
  const loadParams = { id: FAKE_ID };
119
118
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
120
119
  expect(results.size).toBe(1);
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMemorySecondaryEntityCache-test.js","sourceRoot":"","sources":["../../src/__tests__/LocalMemorySecondaryEntityCache-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalMemorySecondaryEntityCache-test.js","sourceRoot":"","sources":["../../src/__tests__/LocalMemorySecondaryEntityCache-test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity-secondary-cache-local-memory",
3
- "version": "0.31.1",
3
+ "version": "0.32.0",
4
4
  "description": "Local memory secondary cache for @expo/entity",
5
5
  "files": [
6
6
  "build",
@@ -19,7 +19,7 @@
19
19
  "barrelsby": "barrelsby --directory src --location top --exclude tests__ --singleQuotes --exportDefault --delete"
20
20
  },
21
21
  "engines": {
22
- "node": ">=12"
22
+ "node": ">=16"
23
23
  },
24
24
  "keywords": [
25
25
  "entity"
@@ -31,9 +31,9 @@
31
31
  "@expo/entity-cache-adapter-local-memory": "*"
32
32
  },
33
33
  "devDependencies": {
34
- "@expo/entity": "^0.31.1",
35
- "@expo/entity-cache-adapter-local-memory": "^0.31.1",
34
+ "@expo/entity": "^0.32.0",
35
+ "@expo/entity-cache-adapter-local-memory": "^0.32.0",
36
36
  "nullthrows": "^1.1.1"
37
37
  },
38
- "gitHead": "83fe9cdea5b0cd69f38ac58eed12e96d5fa51d07"
38
+ "gitHead": "d2a4405fa1af673a98e36b9b7c76c0ee7961a23e"
39
39
  }
@@ -1,4 +1,4 @@
1
- import { GenericSecondaryEntityCache } from '@expo/entity';
1
+ import { EntityConfiguration, GenericSecondaryEntityCache } from '@expo/entity';
2
2
  import {
3
3
  GenericLocalMemoryCacher,
4
4
  LocalMemoryCache,
@@ -15,7 +15,12 @@ export default class LocalMemorySecondaryEntityCache<
15
15
  TFields,
16
16
  TLoadParams
17
17
  > extends GenericSecondaryEntityCache<TFields, TLoadParams> {
18
- constructor(localMemoryCache: LocalMemoryCache<TFields>) {
19
- super(new GenericLocalMemoryCacher(localMemoryCache), (params) => JSON.stringify(params));
18
+ constructor(
19
+ entityConfiguration: EntityConfiguration<TFields>,
20
+ localMemoryCache: LocalMemoryCache<TFields>
21
+ ) {
22
+ super(new GenericLocalMemoryCacher(entityConfiguration, localMemoryCache), (params) =>
23
+ JSON.stringify(params)
24
+ );
20
25
  }
21
26
  }
@@ -33,14 +33,18 @@ export default class LocalMemoryTestEntity extends Entity<
33
33
  string,
34
34
  ViewerContext
35
35
  > {
36
- static getCompanionDefinition(): EntityCompanionDefinition<
36
+ static defineCompanionDefinition(): EntityCompanionDefinition<
37
37
  LocalMemoryTestEntityFields,
38
38
  string,
39
39
  ViewerContext,
40
40
  LocalMemoryTestEntity,
41
41
  LocalMemoryTestEntityPrivacyPolicy
42
42
  > {
43
- return localMemoryTestEntityCompanionDefinition;
43
+ return {
44
+ entityClass: LocalMemoryTestEntity,
45
+ entityConfiguration: localMemoryTestEntityConfiguration,
46
+ privacyPolicyClass: LocalMemoryTestEntityPrivacyPolicy,
47
+ };
44
48
  }
45
49
  }
46
50
 
@@ -100,12 +104,6 @@ export const localMemoryTestEntityConfiguration =
100
104
  cacheAdapterFlavor: 'local-memory',
101
105
  });
102
106
 
103
- const localMemoryTestEntityCompanionDefinition = new EntityCompanionDefinition({
104
- entityClass: LocalMemoryTestEntity,
105
- entityConfiguration: localMemoryTestEntityConfiguration,
106
- privacyPolicyClass: LocalMemoryTestEntityPrivacyPolicy,
107
- });
108
-
109
107
  export const createTestEntityCompanionProvider = (
110
108
  metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter()
111
109
  ): EntityCompanionProvider => {
@@ -180,6 +178,7 @@ describe(LocalMemorySecondaryEntityCache, () => {
180
178
 
181
179
  const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(
182
180
  new LocalMemorySecondaryEntityCache(
181
+ localMemoryTestEntityConfiguration,
183
182
  GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({})
184
183
  ),
185
184
  LocalMemoryTestEntity.loader(viewerContext)
@@ -215,6 +214,7 @@ describe(LocalMemorySecondaryEntityCache, () => {
215
214
 
216
215
  const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(
217
216
  new LocalMemorySecondaryEntityCache(
217
+ localMemoryTestEntityConfiguration,
218
218
  GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({})
219
219
  ),
220
220
  LocalMemoryTestEntity.loader(viewerContext)