import { createStorage as create, CreateStorageParams } from './storageCache'; import { enableStorageEncryption, DEFAULT_CACHE_TIME } from '@/setting/encryptionSetting'; export type Options = Partial; const createOptions = (storage: Storage, options: Options = {}): Options => { return { // No encryption in debug mode hasEncrypt: enableStorageEncryption, storage, prefixKey: 'voya-cache', ...options, }; }; export const WebStorage = create(createOptions(sessionStorage)); export const createStorageInstance = (storage: Storage = sessionStorage, options: Options = {}) => { return create(createOptions(storage, options)); }; export const createSessionStorage = (options: Options = {}) => { return createStorageInstance(sessionStorage, { ...options, timeout: DEFAULT_CACHE_TIME }); }; export const createLocalStorage = (options: Options = {}) => { return createStorageInstance(localStorage, { ...options, timeout: DEFAULT_CACHE_TIME }); }; export const getValueInBack = (dictItem) => { return dictItem.mapping?.code; };