synapse-storage
Version:
Набор инструментов для управления состоянием и апи-запросами
40 lines (31 loc) • 1.47 kB
JavaScript
import { IndexedDBStorage } from "../adapters/indexed-DB.service.js";
import { LocalStorage } from "../adapters/local-storage.service.js";
import { MemoryStorage } from "../adapters/memory-storage.service.js";
class StorageFactory {
static createMemory(config, eventEmitter, logger) {
return MemoryStorage.create(config, eventEmitter, logger);
}
static createLocal(config, eventEmitter, logger) {
return LocalStorage.create(config, eventEmitter, logger);
}
static createIndexedDB(config, eventEmitter, logger) {
return IndexedDBStorage.create(config, eventEmitter, logger);
}
// ─── Реализация ─────────────────────────────────────────────────────────────
static create(config, eventEmitter, logger) {
switch(config.type){
case 'memory':
return this.createMemory(config, eventEmitter, logger);
case 'localStorage':
return this.createLocal(config, eventEmitter, logger);
case 'indexedDB':
return this.createIndexedDB(config, eventEmitter, logger);
default:
{
throw new Error(`Unsupported storage type: ${config.type}`);
}
}
}
}
export { StorageFactory };
//# sourceMappingURL=storage-factory.util.js.map