UNPKG

@scandit/web-datacapture-core

Version:

Scandit Data Capture SDK for the Web

1 lines 1.2 kB
import {a}from'./chunk-XR65N6EG.js';var s=class o{constructor(e){this.memoryFallback=new Map;o.isStorageTypeSupported(e)?(this.storage=e==="localStorage"?globalThis.localStorage:globalThis.sessionStorage,this.isSupported=true):(this.isSupported=false,a.warn(`Failed to access ${e}. Fallback to memory storage.`));}get length(){return this.storage?this.storage.length:this.memoryFallback.size}static isStorageTypeSupported(e){try{return e==="localStorage"?globalThis.localStorage.setItem("test","test"):globalThis.sessionStorage.setItem("test","test"),e==="localStorage"?globalThis.localStorage.removeItem("test"):globalThis.sessionStorage.removeItem("test"),true}catch(t){return false}}key(e){return this.storage?this.storage.key(e):Array.from(this.memoryFallback.keys())[e]}getItem(e){var t;return this.storage?this.storage.getItem(e):(t=this.memoryFallback.get(e))!=null?t:null}setItem(e,t){this.storage?this.storage.setItem(e,t):this.memoryFallback.set(e,t);}removeItem(e){this.storage?this.storage.removeItem(e):this.memoryFallback.delete(e);}clear(){this.storage?this.storage.clear():this.memoryFallback.clear();}},l=new s("localStorage"),i=new s("sessionStorage");export{s as a,l as b,i as c};