@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.
@@ -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;gBAiFrB,CAAC;AAEJ,eAAO,MAAM,4BAA4B;2BAtFd,YAAY;qCACF,MAAM;kBACzB,MAAM;kBACN,MAAM;gBAmFsE,CAAC;AAE/F,oBAAY,4BAA4B,GAAG,OAAO,4BAA4B,CAAC"}
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
- const metadata = await getMetadata();
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
- let metadata = await getMetadata();
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
- metadata = await getMetadata();
45
- for (const key of mostDatedKeysToPurge) {
46
- delete metadata[key];
47
- }
48
- await extensionLocalStorage.set({ [metadataKey]: metadata });
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":"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"}
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,IAAI,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,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,cAAc,GAAG,KAAK,EAAE,MAAwC,EAAE,EAAE;QACxE,mBAAmB,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACxD,MAAM,eAAe,GAAG,MAAM,WAAW,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,MAAM,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;QAC7C,MAAM,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,QAAQ;YACX,CAAC,GAAG,CAAC,EAAE;gBACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAGlE,IAAI,sBAAsB,CAAC,qBAAqB,CAAC,EAAE;YACjD,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAChF,OAAO,UAAU,GAAG,YAAY,CAAC;SAClC;QAED,OAAO,iBAAiB,CAAC,MAAM,GAAG,+BAA+B,CAAC;IACpE,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aAClD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC;YAC3E,OAAO,KAAK,GAAG,oBAAoB,CAAC;QACtC,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAErB,MAAM,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,cAAc,CAAC,CAAC,eAAe,EAAE,EAAE;YACvC,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;gBACtC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;aAC7B;YACD,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,GAAW;YACnB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxD,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;aACjD;YAED,IAAI,KAAK,EAAE;gBACT,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC;aAChC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ;YAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE5E,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,MAAM,eAAe,EAAE;oBAAE,MAAM,KAAK,EAAE,CAAC;YAC7C,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,4BAA4B,GAAG,iCAAiC,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC"}