@expo/entity-cache-adapter-local-memory 0.34.0 → 0.35.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.
|
@@ -15,12 +15,12 @@ describe(GenericLocalMemoryCacher_1.default, () => {
|
|
|
15
15
|
const genericCacher = viewerContext.entityCompanionProvider.getCompanionForEntity(LocalMemoryTestEntity_1.default)['tableDataCoordinator']['cacheAdapter']['genericCacher'];
|
|
16
16
|
const cacheKeyMaker = genericCacher['makeCacheKey'].bind(genericCacher);
|
|
17
17
|
const date = new Date();
|
|
18
|
-
const entity1Created = await LocalMemoryTestEntity_1.default.creator(viewerContext
|
|
18
|
+
const entity1Created = await LocalMemoryTestEntity_1.default.creator(viewerContext)
|
|
19
19
|
.setField('name', 'blah')
|
|
20
20
|
.setField('dateField', date)
|
|
21
21
|
.enforceCreateAsync();
|
|
22
22
|
// loading an entity should put it in cache
|
|
23
|
-
const entity1 = await LocalMemoryTestEntity_1.default.loader(viewerContext
|
|
23
|
+
const entity1 = await LocalMemoryTestEntity_1.default.loader(viewerContext)
|
|
24
24
|
.enforcing()
|
|
25
25
|
.loadByIDAsync(entity1Created.getID());
|
|
26
26
|
const localMemoryCacheAdapterProvider = entityCompanionProvider['cacheAdapterFlavors'].get('local-memory').cacheAdapterProvider;
|
|
@@ -40,7 +40,7 @@ describe(GenericLocalMemoryCacher_1.default, () => {
|
|
|
40
40
|
});
|
|
41
41
|
// simulate non existent db fetch, should write negative result ('') to cache
|
|
42
42
|
const nonExistentId = (0, uuid_1.v4)();
|
|
43
|
-
const entityNonExistentResult = await LocalMemoryTestEntity_1.default.loader(viewerContext
|
|
43
|
+
const entityNonExistentResult = await LocalMemoryTestEntity_1.default.loader(viewerContext).loadByIDAsync(nonExistentId);
|
|
44
44
|
expect(entityNonExistentResult.ok).toBe(false);
|
|
45
45
|
const nonExistentCachedResult = await entitySpecificGenericCacher.loadManyAsync([
|
|
46
46
|
cacheKeyMaker('id', nonExistentId),
|
|
@@ -49,10 +49,10 @@ describe(GenericLocalMemoryCacher_1.default, () => {
|
|
|
49
49
|
status: entity_1.CacheStatus.NEGATIVE,
|
|
50
50
|
});
|
|
51
51
|
// load again through entities framework to ensure it reads negative result
|
|
52
|
-
const entityNonExistentResult2 = await LocalMemoryTestEntity_1.default.loader(viewerContext
|
|
52
|
+
const entityNonExistentResult2 = await LocalMemoryTestEntity_1.default.loader(viewerContext).loadByIDAsync(nonExistentId);
|
|
53
53
|
expect(entityNonExistentResult2.ok).toBe(false);
|
|
54
54
|
// invalidate from cache to ensure it invalidates correctly
|
|
55
|
-
await LocalMemoryTestEntity_1.default.loader(viewerContext
|
|
55
|
+
await LocalMemoryTestEntity_1.default.loader(viewerContext).invalidateFieldsAsync(entity1.getAllFields());
|
|
56
56
|
const cachedResultMiss = await entitySpecificGenericCacher.loadManyAsync([
|
|
57
57
|
cacheKeyMaker('id', entity1.getID()),
|
|
58
58
|
]);
|
|
@@ -65,12 +65,12 @@ describe(GenericLocalMemoryCacher_1.default, () => {
|
|
|
65
65
|
const genericCacher = viewerContext.entityCompanionProvider.getCompanionForEntity(LocalMemoryTestEntity_1.default)['tableDataCoordinator']['cacheAdapter']['genericCacher'];
|
|
66
66
|
const cacheKeyMaker = genericCacher['makeCacheKey'].bind(genericCacher);
|
|
67
67
|
const date = new Date();
|
|
68
|
-
const entity1Created = await LocalMemoryTestEntity_1.default.creator(viewerContext
|
|
68
|
+
const entity1Created = await LocalMemoryTestEntity_1.default.creator(viewerContext)
|
|
69
69
|
.setField('name', 'blah')
|
|
70
70
|
.setField('dateField', date)
|
|
71
71
|
.enforceCreateAsync();
|
|
72
72
|
// loading an entity will try to put it in cache but it's a noop cache, so it should be a miss
|
|
73
|
-
const entity1 = await LocalMemoryTestEntity_1.default.loader(viewerContext
|
|
73
|
+
const entity1 = await LocalMemoryTestEntity_1.default.loader(viewerContext)
|
|
74
74
|
.enforcing()
|
|
75
75
|
.loadByIDAsync(entity1Created.getID());
|
|
76
76
|
const localMemoryCacheAdapterProvider = entityCompanionProvider['cacheAdapterFlavors'].get('local-memory').cacheAdapterProvider;
|
|
@@ -85,7 +85,7 @@ describe(GenericLocalMemoryCacher_1.default, () => {
|
|
|
85
85
|
});
|
|
86
86
|
// a non existent db fetch should try to write negative result ('') but it's a noop cache, so it should be a miss
|
|
87
87
|
const nonExistentId = (0, uuid_1.v4)();
|
|
88
|
-
const entityNonExistentResult = await LocalMemoryTestEntity_1.default.loader(viewerContext
|
|
88
|
+
const entityNonExistentResult = await LocalMemoryTestEntity_1.default.loader(viewerContext).loadByIDAsync(nonExistentId);
|
|
89
89
|
expect(entityNonExistentResult.ok).toBe(false);
|
|
90
90
|
const nonExistentCachedResult = await entitySpecificGenericCacher.loadManyAsync([
|
|
91
91
|
cacheKeyMaker('id', nonExistentId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericLocalMemoryCacher-full-test.js","sourceRoot":"","sources":["../../src/__tests__/GenericLocalMemoryCacher-full-test.ts"],"names":[],"mappings":";;;;;AAAA,yCAKsB;AACtB,+BAAoC;AAEpC,2FAAmE;AAEnE,kGAA0E;AAC1E,+HAGsE;AAEtE,QAAQ,CAAC,kCAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,uBAAuB,GAAG,IAAA,2FAA4C,GAAE,CAAC;QAC/E,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,aAAa,GACjB,aAAa,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,+BAAqB,CAAC,CAChF,sBAAsB,CACvB,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExE,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,MAAM,+BAAqB,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"GenericLocalMemoryCacher-full-test.js","sourceRoot":"","sources":["../../src/__tests__/GenericLocalMemoryCacher-full-test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/entity-cache-adapter-local-memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "Cross-request local memory cache adapter for @expo/entity",
|
|
5
5
|
"files": [
|
|
6
6
|
"build",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"lru-cache": "^6.0.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@expo/entity": "^0.
|
|
36
|
+
"@expo/entity": "^0.35.0"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "33771295c5da92768114c6cdd1f48936435853cc"
|
|
39
39
|
}
|
|
@@ -25,19 +25,13 @@ describe(GenericLocalMemoryCacher, () => {
|
|
|
25
25
|
const cacheKeyMaker = genericCacher['makeCacheKey'].bind(genericCacher);
|
|
26
26
|
|
|
27
27
|
const date = new Date();
|
|
28
|
-
const entity1Created = await LocalMemoryTestEntity.creator(
|
|
29
|
-
viewerContext,
|
|
30
|
-
viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
|
|
31
|
-
)
|
|
28
|
+
const entity1Created = await LocalMemoryTestEntity.creator(viewerContext)
|
|
32
29
|
.setField('name', 'blah')
|
|
33
30
|
.setField('dateField', date)
|
|
34
31
|
.enforceCreateAsync();
|
|
35
32
|
|
|
36
33
|
// loading an entity should put it in cache
|
|
37
|
-
const entity1 = await LocalMemoryTestEntity.loader(
|
|
38
|
-
viewerContext,
|
|
39
|
-
viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
|
|
40
|
-
)
|
|
34
|
+
const entity1 = await LocalMemoryTestEntity.loader(viewerContext)
|
|
41
35
|
.enforcing()
|
|
42
36
|
.loadByIDAsync(entity1Created.getID());
|
|
43
37
|
|
|
@@ -69,10 +63,9 @@ describe(GenericLocalMemoryCacher, () => {
|
|
|
69
63
|
// simulate non existent db fetch, should write negative result ('') to cache
|
|
70
64
|
const nonExistentId = uuidv4();
|
|
71
65
|
|
|
72
|
-
const entityNonExistentResult = await LocalMemoryTestEntity.loader(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
).loadByIDAsync(nonExistentId);
|
|
66
|
+
const entityNonExistentResult = await LocalMemoryTestEntity.loader(viewerContext).loadByIDAsync(
|
|
67
|
+
nonExistentId
|
|
68
|
+
);
|
|
76
69
|
expect(entityNonExistentResult.ok).toBe(false);
|
|
77
70
|
|
|
78
71
|
const nonExistentCachedResult = await entitySpecificGenericCacher.loadManyAsync([
|
|
@@ -84,16 +77,12 @@ describe(GenericLocalMemoryCacher, () => {
|
|
|
84
77
|
|
|
85
78
|
// load again through entities framework to ensure it reads negative result
|
|
86
79
|
const entityNonExistentResult2 = await LocalMemoryTestEntity.loader(
|
|
87
|
-
viewerContext
|
|
88
|
-
viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
|
|
80
|
+
viewerContext
|
|
89
81
|
).loadByIDAsync(nonExistentId);
|
|
90
82
|
expect(entityNonExistentResult2.ok).toBe(false);
|
|
91
83
|
|
|
92
84
|
// invalidate from cache to ensure it invalidates correctly
|
|
93
|
-
await LocalMemoryTestEntity.loader(
|
|
94
|
-
viewerContext,
|
|
95
|
-
viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
|
|
96
|
-
).invalidateFieldsAsync(entity1.getAllFields());
|
|
85
|
+
await LocalMemoryTestEntity.loader(viewerContext).invalidateFieldsAsync(entity1.getAllFields());
|
|
97
86
|
const cachedResultMiss = await entitySpecificGenericCacher.loadManyAsync([
|
|
98
87
|
cacheKeyMaker('id', entity1.getID()),
|
|
99
88
|
]);
|
|
@@ -111,19 +100,13 @@ describe(GenericLocalMemoryCacher, () => {
|
|
|
111
100
|
const cacheKeyMaker = genericCacher['makeCacheKey'].bind(genericCacher);
|
|
112
101
|
|
|
113
102
|
const date = new Date();
|
|
114
|
-
const entity1Created = await LocalMemoryTestEntity.creator(
|
|
115
|
-
viewerContext,
|
|
116
|
-
viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
|
|
117
|
-
)
|
|
103
|
+
const entity1Created = await LocalMemoryTestEntity.creator(viewerContext)
|
|
118
104
|
.setField('name', 'blah')
|
|
119
105
|
.setField('dateField', date)
|
|
120
106
|
.enforceCreateAsync();
|
|
121
107
|
|
|
122
108
|
// loading an entity will try to put it in cache but it's a noop cache, so it should be a miss
|
|
123
|
-
const entity1 = await LocalMemoryTestEntity.loader(
|
|
124
|
-
viewerContext,
|
|
125
|
-
viewerContext.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')
|
|
126
|
-
)
|
|
109
|
+
const entity1 = await LocalMemoryTestEntity.loader(viewerContext)
|
|
127
110
|
.enforcing()
|
|
128
111
|
.loadByIDAsync(entity1Created.getID());
|
|
129
112
|
|
|
@@ -150,10 +133,9 @@ describe(GenericLocalMemoryCacher, () => {
|
|
|
150
133
|
// a non existent db fetch should try to write negative result ('') but it's a noop cache, so it should be a miss
|
|
151
134
|
const nonExistentId = uuidv4();
|
|
152
135
|
|
|
153
|
-
const entityNonExistentResult = await LocalMemoryTestEntity.loader(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
).loadByIDAsync(nonExistentId);
|
|
136
|
+
const entityNonExistentResult = await LocalMemoryTestEntity.loader(viewerContext).loadByIDAsync(
|
|
137
|
+
nonExistentId
|
|
138
|
+
);
|
|
157
139
|
expect(entityNonExistentResult.ok).toBe(false);
|
|
158
140
|
|
|
159
141
|
const nonExistentCachedResult = await entitySpecificGenericCacher.loadManyAsync([
|