UNPKG

whale-plus

Version:

A Component Library for Vue 3

1 lines 1.77 kB
{"version":3,"file":"useSessionStorageCache.mjs","sources":["../../../../../../packages/request/request-cache/imp/useSessionStorageCache.ts"],"sourcesContent":["import type { AsyncCacheStore } from '../asyncCacheStore';\n\nclass SessionStorageCacheStore implements AsyncCacheStore {\n private storage: Storage;\n\n constructor() {\n this.storage = sessionStorage;\n }\n\n async get<T>(key: string): Promise<T | undefined> {\n const item = this.storage.getItem(key);\n if (item) {\n return JSON.parse(item) as T;\n }\n return undefined;\n }\n\n async set<T>(key: string, value: T): Promise<void> {\n this.storage.setItem(key, JSON.stringify(value));\n }\n\n async delete(key: string): Promise<void> {\n this.storage.removeItem(key);\n }\n\n async has(key: string): Promise<boolean> {\n return this.storage.getItem(key) !== null;\n }\n}\n\nexport function useSessionStorageCache() {\n return new SessionStorageCacheStore();\n}\n"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,CAAC;AAC/B,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;AAClC,GAAG;AACH,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AACjB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3C,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG;AACH,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE;AACxB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,GAAG;AACH,EAAE,MAAM,MAAM,CAAC,GAAG,EAAE;AACpB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjC,GAAG;AACH,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AACjB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAC9C,GAAG;AACH,CAAC;AACM,SAAS,sBAAsB,GAAG;AACzC,EAAE,OAAO,IAAI,wBAAwB,EAAE,CAAC;AACxC;;;;"}