import { Database } from './database.types' import { LocalStorage } from './local-storage' import { MemoryStorage } from './memory-storage' export function databaseFactory(): Database { const databaseType = isLocalStorageEnabled() ? 'local-storage' : 'memory-storage' switch (databaseType) { case 'local-storage': return new LocalStorage() case 'memory-storage': return new MemoryStorage() default: throw new Error(`Database type ${databaseType} not supported`) } } function isLocalStorageEnabled(): boolean { try { const key = '__yuno_storage__test' window.localStorage.setItem(key, 'test_value') window.localStorage.removeItem(key) return true } catch (e) { return false } } export const database = databaseFactory()