import { Item } from '../../types/Item' import { ICollectionConfig, ISerializedCollectionConfig, } from '../ICollectionConfig' import { List } from '../storage/List' import AdapterMemory from '../AdapterMemory' import AdapterFile from '../AdapterFile' import { FileStorage } from '../storage/FileStorage' import { deserializeIndex } from '../collection' export function deserialize_collection_config( config: ISerializedCollectionConfig, ) { const res = {} as ICollectionConfig res.name = config.name res.root = config.root res.rotate = config.rotate res.ttl = config.ttl res.audit = config?.audit ?? false res.id = config.id || 'id' res.auto = config.auto res.indexList = config.indexList.map((index) => deserializeIndex(index)) res.adapter = config.adapter === 'AdapterMemory' ? new AdapterMemory() : new AdapterFile() res.list = config.list === 'List' ? new List() : new FileStorage() return res }