code-craft-studio
Version:
A comprehensive QR code and barcode scanning/generation library for React. Works with or without Capacitor. Supports 22+ QR data types and 14+ barcode formats (EAN, UPC, Code 128, etc.), with customizable designs, analytics, and React components. Provider
51 lines • 1.58 kB
JavaScript
import { logger } from '../../utils/logger';
export class WebStorageAdapter {
constructor(useSessionStorage = false, prefix = 'code-craft-studio-') {
this.storage = useSessionStorage ? sessionStorage : localStorage;
this.prefix = prefix;
}
async get(key) {
try {
return this.storage.getItem(this.prefix + key);
}
catch (error) {
logger.error('WebStorageAdapter: Error getting item', error);
return null;
}
}
async set(key, value) {
try {
this.storage.setItem(this.prefix + key, value);
}
catch (error) {
logger.error('WebStorageAdapter: Error setting item', error);
throw error;
}
}
async remove(key) {
try {
this.storage.removeItem(this.prefix + key);
}
catch (error) {
logger.error('WebStorageAdapter: Error removing item', error);
throw error;
}
}
async clear() {
try {
const keysToRemove = [];
for (let i = 0; i < this.storage.length; i++) {
const key = this.storage.key(i);
if (key && key.startsWith(this.prefix)) {
keysToRemove.push(key);
}
}
keysToRemove.forEach(key => this.storage.removeItem(key));
}
catch (error) {
logger.error('WebStorageAdapter: Error clearing storage', error);
throw error;
}
}
}
//# sourceMappingURL=web-storage.js.map