UNPKG

anon-identity

Version:

Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure

44 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageFactory = void 0; const memory_storage_provider_1 = require("./providers/memory-storage-provider"); /** * Browser-compatible storage factory * Only supports memory storage in the browser */ class StorageFactory { static createProvider(config) { const key = JSON.stringify(config); // Return existing instance if available if (this.instances.has(key)) { return this.instances.get(key); } let provider; switch (config.provider) { case 'memory': provider = new memory_storage_provider_1.MemoryStorageProvider(); break; case 'file': throw new Error('File storage is not available in browser environment. Use memory storage instead.'); case 'ipfs': throw new Error('IPFS storage requires a server-side proxy in browser environment.'); case 'blockchain': throw new Error('Blockchain storage requires a server-side proxy in browser environment.'); case 'hybrid': throw new Error('Hybrid storage is not available in browser environment. Use memory storage instead.'); default: throw new Error(`Unknown storage provider: ${config.provider}`); } this.instances.set(key, provider); return provider; } static getDefaultProvider() { return this.createProvider({ provider: 'memory' }); } static clearInstances() { this.instances.clear(); } } exports.StorageFactory = StorageFactory; StorageFactory.instances = new Map(); //# sourceMappingURL=storage-factory-browser.js.map