@cardano-sdk/web-extension 0.38.13 → 0.38.15
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.
- package/dist/cjs/storage/persistentCacheStorage/persistentCacheStorage.d.ts.map +1 -1
- package/dist/cjs/storage/persistentCacheStorage/persistentCacheStorage.js +18 -10
- package/dist/cjs/storage/persistentCacheStorage/persistentCacheStorage.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/storage/persistentCacheStorage/persistentCacheStorage.d.ts.map +1 -1
- package/dist/esm/storage/persistentCacheStorage/persistentCacheStorage.js +18 -10
- package/dist/esm/storage/persistentCacheStorage/persistentCacheStorage.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistentCacheStorage.d.ts","sourceRoot":"","sources":["../../../../src/storage/persistentCacheStorage/persistentCacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgD,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,aAAK,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAExE,aAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAIpD,eAAO,MAAM,eAAe,iBAAkB,MAAM,WAA+B,CAAC;AAEpF,eAAO,MAAM,WAAW,iBAAkB,MAAM,OAAO,MAAM,WAAkC,CAAC;AAOhG,eAAO,MAAM,iCAAiC;2BAQnB,YAAY;qCACF,MAAM;kBACzB,MAAM;kBACN,MAAM;
|
|
1
|
+
{"version":3,"file":"persistentCacheStorage.d.ts","sourceRoot":"","sources":["../../../../src/storage/persistentCacheStorage/persistentCacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgD,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,aAAK,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAExE,aAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAIpD,eAAO,MAAM,eAAe,iBAAkB,MAAM,WAA+B,CAAC;AAEpF,eAAO,MAAM,WAAW,iBAAkB,MAAM,OAAO,MAAM,WAAkC,CAAC;AAOhG,eAAO,MAAM,iCAAiC;2BAQnB,YAAY;qCACF,MAAM;kBACzB,MAAM;kBACN,MAAM;gBA0FrB,CAAC;AAEJ,eAAO,MAAM,4BAA4B;2BA/Fd,YAAY;qCACF,MAAM;kBACzB,MAAM;kBACN,MAAM;gBA4FsE,CAAC;AAE/F,oBAAY,4BAA4B,GAAG,OAAO,4BAA4B,CAAC"}
|
|
@@ -4,6 +4,7 @@ export const makeMetadataKey = (resourceName) => `${resourceName}-metadata`;
|
|
|
4
4
|
export const makeItemKey = (resourceName, key) => `${resourceName}-item-${key}`;
|
|
5
5
|
const isGetBytesInUsePresent = (storageLocal) => 'getBytesInUse' in storageLocal;
|
|
6
6
|
export const makePersistentCacheStorageFactory = (createVolatileCache) => ({ extensionLocalStorage, fallbackMaxCollectionItemsGuard, resourceName, quotaInBytes }) => {
|
|
7
|
+
let metadataUpdateQueue = Promise.resolve();
|
|
7
8
|
const loaded = createVolatileCache();
|
|
8
9
|
const metadataKey = makeMetadataKey(resourceName);
|
|
9
10
|
const getItemKey = (key) => makeItemKey(resourceName, key);
|
|
@@ -11,15 +12,21 @@ export const makePersistentCacheStorageFactory = (createVolatileCache) => ({ ext
|
|
|
11
12
|
const result = await extensionLocalStorage.get(metadataKey);
|
|
12
13
|
return result[metadataKey];
|
|
13
14
|
};
|
|
15
|
+
const updateMetadata = async (mutate) => {
|
|
16
|
+
metadataUpdateQueue = metadataUpdateQueue.then(async () => {
|
|
17
|
+
const currentMetadata = await getMetadata();
|
|
18
|
+
const nextMetadata = mutate(currentMetadata);
|
|
19
|
+
await extensionLocalStorage.set({ [metadataKey]: nextMetadata });
|
|
20
|
+
});
|
|
21
|
+
return metadataUpdateQueue;
|
|
22
|
+
};
|
|
14
23
|
const updateAccessTime = async (key) => {
|
|
15
|
-
|
|
16
|
-
const nextMetadata = {
|
|
24
|
+
await updateMetadata((metadata) => ({
|
|
17
25
|
...metadata,
|
|
18
26
|
[key]: {
|
|
19
27
|
accessTime: Date.now()
|
|
20
28
|
}
|
|
21
|
-
};
|
|
22
|
-
await extensionLocalStorage.set({ [metadataKey]: nextMetadata });
|
|
29
|
+
}));
|
|
23
30
|
};
|
|
24
31
|
const isQuotaExceeded = async () => {
|
|
25
32
|
const metadata = await getMetadata();
|
|
@@ -31,7 +38,7 @@ export const makePersistentCacheStorageFactory = (createVolatileCache) => ({ ext
|
|
|
31
38
|
return allCollectionKeys.length > fallbackMaxCollectionItemsGuard;
|
|
32
39
|
};
|
|
33
40
|
const evict = async () => {
|
|
34
|
-
|
|
41
|
+
const metadata = await getMetadata();
|
|
35
42
|
const mostDatedKeysToPurge = Object.entries(metadata)
|
|
36
43
|
.map(([key, { accessTime }]) => ({ accessTime, key }))
|
|
37
44
|
.sort((a, b) => a.accessTime - b.accessTime)
|
|
@@ -41,11 +48,12 @@ export const makePersistentCacheStorageFactory = (createVolatileCache) => ({ ext
|
|
|
41
48
|
})
|
|
42
49
|
.map((i) => i.key);
|
|
43
50
|
await extensionLocalStorage.remove(mostDatedKeysToPurge);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
await updateMetadata((currentMetadata) => {
|
|
52
|
+
for (const key of mostDatedKeysToPurge) {
|
|
53
|
+
delete currentMetadata[key];
|
|
54
|
+
}
|
|
55
|
+
return currentMetadata;
|
|
56
|
+
});
|
|
49
57
|
};
|
|
50
58
|
return {
|
|
51
59
|
async get(key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistentCacheStorage.js","sourceRoot":"","sources":["../../../../src/storage/persistentCacheStorage/persistentCacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAW7F,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,GAAG,YAAY,WAAW,CAAC;AAEpF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,YAAY,SAAS,GAAG,EAAE,CAAC;AAEhG,MAAM,sBAAsB,GAAG,CAC7B,YAA0B,EACuE,EAAE,CACnG,eAAe,IAAI,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,iCAAiC,GAC5C,CAAC,mBAA4C,EAAE,EAAE,CACjD,CAAI,EACF,qBAAqB,EACrB,+BAA+B,EAC/B,YAAY,EACZ,YAAY,EAMb,EAAY,EAAE;IACb,MAAM,MAAM,GAAG,mBAAmB,EAAK,CAAC;IACxC,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,WAAW,CAAa,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"persistentCacheStorage.js","sourceRoot":"","sources":["../../../../src/storage/persistentCacheStorage/persistentCacheStorage.ts"],"names":[],"mappings":"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"}
|