@expo/entity-secondary-cache-local-memory 0.34.0 → 0.36.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.
@@ -7,6 +7,6 @@ import { LocalMemoryCache } from '@expo/entity-cache-adapter-local-memory';
7
7
  *
8
8
  * TLoadParams must be JSON stringifyable.
9
9
  */
10
- export default class LocalMemorySecondaryEntityCache<TFields, TLoadParams> extends GenericSecondaryEntityCache<TFields, TLoadParams> {
10
+ export default class LocalMemorySecondaryEntityCache<TFields extends Record<string, any>, TLoadParams> extends GenericSecondaryEntityCache<TFields, TLoadParams> {
11
11
  constructor(entityConfiguration: EntityConfiguration<TFields>, localMemoryCache: LocalMemoryCache<TFields>);
12
12
  }
@@ -19,21 +19,18 @@ class LocalMemoryTestEntity extends entity_1.Entity {
19
19
  }
20
20
  exports.default = LocalMemoryTestEntity;
21
21
  class LocalMemoryTestEntityPrivacyPolicy extends entity_1.EntityPrivacyPolicy {
22
- constructor() {
23
- super(...arguments);
24
- this.createRules = [
25
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
26
- ];
27
- this.readRules = [
28
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
29
- ];
30
- this.updateRules = [
31
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
32
- ];
33
- this.deleteRules = [
34
- new entity_1.AlwaysAllowPrivacyPolicyRule(),
35
- ];
36
- }
22
+ createRules = [
23
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
24
+ ];
25
+ readRules = [
26
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
27
+ ];
28
+ updateRules = [
29
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
30
+ ];
31
+ deleteRules = [
32
+ new entity_1.AlwaysAllowPrivacyPolicyRule(),
33
+ ];
37
34
  }
38
35
  exports.LocalMemoryTestEntityPrivacyPolicy = LocalMemoryTestEntityPrivacyPolicy;
39
36
  exports.localMemoryTestEntityConfiguration = new entity_1.EntityConfiguration({
@@ -73,10 +70,7 @@ class TestViewerContext extends entity_1.ViewerContext {
73
70
  }
74
71
  const FAKE_ID = 'fake';
75
72
  class TestSecondaryLocalMemoryCacheLoader extends entity_1.EntitySecondaryCacheLoader {
76
- constructor() {
77
- super(...arguments);
78
- this.databaseLoadCount = 0;
79
- }
73
+ databaseLoadCount = 0;
80
74
  async fetchObjectsFromDatabaseAsync(loadParamsArray) {
81
75
  this.databaseLoadCount += loadParamsArray.length;
82
76
  const emptyMap = new Map(loadParamsArray.map((p) => [p, null]));
@@ -95,10 +89,10 @@ class TestSecondaryLocalMemoryCacheLoader extends entity_1.EntitySecondaryCacheL
95
89
  describe(LocalMemorySecondaryEntityCache_1.default, () => {
96
90
  it('Loads through secondary loader, caches, and invalidates', async () => {
97
91
  const viewerContext = new TestViewerContext((0, exports.createTestEntityCompanionProvider)());
98
- const createdEntity = await LocalMemoryTestEntity.creator(viewerContext, viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
92
+ const createdEntity = await LocalMemoryTestEntity.creator(viewerContext)
99
93
  .setField('name', 'wat')
100
94
  .enforceCreateAsync();
101
- const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(exports.localMemoryTestEntityConfiguration, entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext, viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')));
95
+ const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(exports.localMemoryTestEntityConfiguration, entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext));
102
96
  const loadParams = { id: createdEntity.getID() };
103
97
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
104
98
  expect((0, nullthrows_1.default)(results.get(loadParams)).enforceValue().getID()).toEqual(createdEntity.getID());
@@ -113,7 +107,7 @@ describe(LocalMemorySecondaryEntityCache_1.default, () => {
113
107
  });
114
108
  it('correctly handles uncached and unfetchable load params', async () => {
115
109
  const viewerContext = new TestViewerContext((0, exports.createTestEntityCompanionProvider)());
116
- const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(exports.localMemoryTestEntityConfiguration, entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext, viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')));
110
+ const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(new LocalMemorySecondaryEntityCache_1.default(exports.localMemoryTestEntityConfiguration, entity_cache_adapter_local_memory_1.GenericLocalMemoryCacher.createLRUCache({})), LocalMemoryTestEntity.loader(viewerContext));
117
111
  const loadParams = { id: FAKE_ID };
118
112
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
119
113
  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.34.0",
3
+ "version": "0.36.0",
4
4
  "description": "Local memory secondary cache for @expo/entity",
5
5
  "files": [
6
6
  "build",
@@ -31,9 +31,9 @@
31
31
  "@expo/entity-cache-adapter-local-memory": "*"
32
32
  },
33
33
  "devDependencies": {
34
- "@expo/entity": "^0.34.0",
35
- "@expo/entity-cache-adapter-local-memory": "^0.34.0",
34
+ "@expo/entity": "^0.36.0",
35
+ "@expo/entity-cache-adapter-local-memory": "^0.36.0",
36
36
  "nullthrows": "^1.1.1"
37
37
  },
38
- "gitHead": "0fa6f554a27359aede6bd3f7d4578fadfda98bcb"
38
+ "gitHead": "f17a33c42874c0d9c46311d19847074ddafeb04e"
39
39
  }
@@ -12,15 +12,15 @@ import {
12
12
  * TLoadParams must be JSON stringifyable.
13
13
  */
14
14
  export default class LocalMemorySecondaryEntityCache<
15
- TFields,
16
- TLoadParams
15
+ TFields extends Record<string, any>,
16
+ TLoadParams,
17
17
  > extends GenericSecondaryEntityCache<TFields, TLoadParams> {
18
18
  constructor(
19
19
  entityConfiguration: EntityConfiguration<TFields>,
20
- localMemoryCache: LocalMemoryCache<TFields>
20
+ localMemoryCache: LocalMemoryCache<TFields>,
21
21
  ) {
22
22
  super(new GenericLocalMemoryCacher(entityConfiguration, localMemoryCache), (params) =>
23
- JSON.stringify(params)
23
+ JSON.stringify(params),
24
24
  );
25
25
  }
26
26
  }
@@ -105,7 +105,7 @@ export const localMemoryTestEntityConfiguration =
105
105
  });
106
106
 
107
107
  export const createTestEntityCompanionProvider = (
108
- metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter()
108
+ metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter(),
109
109
  ): EntityCompanionProvider => {
110
110
  return new EntityCompanionProvider(
111
111
  metricsAdapter,
@@ -125,7 +125,7 @@ export const createTestEntityCompanionProvider = (
125
125
  cacheAdapterProvider: LocalMemoryCacheAdapterProvider.createProviderWithOptions(),
126
126
  },
127
127
  ],
128
- ])
128
+ ]),
129
129
  );
130
130
  };
131
131
 
@@ -146,7 +146,7 @@ class TestSecondaryLocalMemoryCacheLoader extends EntitySecondaryCacheLoader<
146
146
  public databaseLoadCount = 0;
147
147
 
148
148
  protected async fetchObjectsFromDatabaseAsync(
149
- loadParamsArray: readonly Readonly<TestLoadParams>[]
149
+ loadParamsArray: readonly Readonly<TestLoadParams>[],
150
150
  ): Promise<ReadonlyMap<Readonly<TestLoadParams>, Readonly<LocalMemoryTestEntityFields> | null>> {
151
151
  this.databaseLoadCount += loadParamsArray.length;
152
152
 
@@ -162,7 +162,7 @@ class TestSecondaryLocalMemoryCacheLoader extends EntitySecondaryCacheLoader<
162
162
  .loadManyByFieldEqualityConjunctionAsync([
163
163
  { fieldName: 'id', fieldValue: loadParams.id },
164
164
  ])
165
- )[0]
165
+ )[0],
166
166
  ).getAllFields();
167
167
  });
168
168
  }
@@ -172,35 +172,29 @@ describe(LocalMemorySecondaryEntityCache, () => {
172
172
  it('Loads through secondary loader, caches, and invalidates', async () => {
173
173
  const viewerContext = new TestViewerContext(createTestEntityCompanionProvider());
174
174
 
175
- const createdEntity = await LocalMemoryTestEntity.creator(
176
- viewerContext,
177
- viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
178
- )
175
+ const createdEntity = await LocalMemoryTestEntity.creator(viewerContext)
179
176
  .setField('name', 'wat')
180
177
  .enforceCreateAsync();
181
178
 
182
179
  const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(
183
180
  new LocalMemorySecondaryEntityCache(
184
181
  localMemoryTestEntityConfiguration,
185
- GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({})
182
+ GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({}),
186
183
  ),
187
- LocalMemoryTestEntity.loader(
188
- viewerContext,
189
- viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
190
- )
184
+ LocalMemoryTestEntity.loader(viewerContext),
191
185
  );
192
186
 
193
187
  const loadParams = { id: createdEntity.getID() };
194
188
  const results = await secondaryCacheLoader.loadManyAsync([loadParams]);
195
189
  expect(nullthrows(results.get(loadParams)).enforceValue().getID()).toEqual(
196
- createdEntity.getID()
190
+ createdEntity.getID(),
197
191
  );
198
192
 
199
193
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(1);
200
194
 
201
195
  const results2 = await secondaryCacheLoader.loadManyAsync([loadParams]);
202
196
  expect(nullthrows(results2.get(loadParams)).enforceValue().getID()).toEqual(
203
- createdEntity.getID()
197
+ createdEntity.getID(),
204
198
  );
205
199
 
206
200
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(1);
@@ -209,7 +203,7 @@ describe(LocalMemorySecondaryEntityCache, () => {
209
203
 
210
204
  const results3 = await secondaryCacheLoader.loadManyAsync([loadParams]);
211
205
  expect(nullthrows(results3.get(loadParams)).enforceValue().getID()).toEqual(
212
- createdEntity.getID()
206
+ createdEntity.getID(),
213
207
  );
214
208
 
215
209
  expect(secondaryCacheLoader.databaseLoadCount).toEqual(2);
@@ -221,12 +215,9 @@ describe(LocalMemorySecondaryEntityCache, () => {
221
215
  const secondaryCacheLoader = new TestSecondaryLocalMemoryCacheLoader(
222
216
  new LocalMemorySecondaryEntityCache(
223
217
  localMemoryTestEntityConfiguration,
224
- GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({})
218
+ GenericLocalMemoryCacher.createLRUCache<LocalMemoryTestEntityFields>({}),
225
219
  ),
226
- LocalMemoryTestEntity.loader(
227
- viewerContext,
228
- viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
229
- )
220
+ LocalMemoryTestEntity.loader(viewerContext),
230
221
  );
231
222
 
232
223
  const loadParams = { id: FAKE_ID };