UNPKG

@spartacus/core

Version:

Spartacus - the core framework

41 lines 4.32 kB
import { StorageSyncType } from '../config/state-config'; export function getStorage(storageType, winRef) { let storage; switch (storageType) { case StorageSyncType.LOCAL_STORAGE: { storage = winRef.localStorage; break; } case StorageSyncType.SESSION_STORAGE: { storage = winRef.sessionStorage; break; } case StorageSyncType.NO_STORAGE: { storage = undefined; break; } default: { storage = winRef.sessionStorage; } } return storage; } export function persistToStorage(configKey, value, storage) { if (!isSsr(storage) && value) { storage.setItem(configKey, JSON.stringify(value)); } } export function readFromStorage(storage, key) { if (isSsr(storage)) { return; } const storageValue = storage.getItem(key); if (!storageValue) { return; } return JSON.parse(storageValue); } export function isSsr(storage) { return !Boolean(storage); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvc3RhdGUvdXRpbHMvYnJvd3Nlci1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxNQUFNLFVBQVUsVUFBVSxDQUN4QixXQUE0QixFQUM1QixNQUFpQjtJQUVqQixJQUFJLE9BQTRCLENBQUM7SUFFakMsUUFBUSxXQUFXLEVBQUU7UUFDbkIsS0FBSyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDOUIsTUFBTTtTQUNQO1FBQ0QsS0FBSyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDaEMsTUFBTTtTQUNQO1FBQ0QsS0FBSyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUNwQixNQUFNO1NBQ1A7UUFFRCxPQUFPLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1NBQ2pDO0tBQ0Y7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixTQUFpQixFQUNqQixLQUFVLEVBQ1YsT0FBZ0I7SUFFaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQUU7UUFDNUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQ25EO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBZ0IsRUFBRSxHQUFXO0lBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2xCLE9BQU87S0FDUjtJQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqQixPQUFPO0tBQ1I7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZ0I7SUFDcEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnLi4vLi4vd2luZG93L3dpbmRvdy1yZWYnO1xuaW1wb3J0IHsgU3RvcmFnZVN5bmNUeXBlIH0gZnJvbSAnLi4vY29uZmlnL3N0YXRlLWNvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdG9yYWdlKFxuICBzdG9yYWdlVHlwZTogU3RvcmFnZVN5bmNUeXBlLFxuICB3aW5SZWY6IFdpbmRvd1JlZlxuKTogU3RvcmFnZSB8IHVuZGVmaW5lZCB7XG4gIGxldCBzdG9yYWdlOiBTdG9yYWdlIHwgdW5kZWZpbmVkO1xuXG4gIHN3aXRjaCAoc3RvcmFnZVR5cGUpIHtcbiAgICBjYXNlIFN0b3JhZ2VTeW5jVHlwZS5MT0NBTF9TVE9SQUdFOiB7XG4gICAgICBzdG9yYWdlID0gd2luUmVmLmxvY2FsU3RvcmFnZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIFN0b3JhZ2VTeW5jVHlwZS5TRVNTSU9OX1NUT1JBR0U6IHtcbiAgICAgIHN0b3JhZ2UgPSB3aW5SZWYuc2Vzc2lvblN0b3JhZ2U7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBTdG9yYWdlU3luY1R5cGUuTk9fU1RPUkFHRToge1xuICAgICAgc3RvcmFnZSA9IHVuZGVmaW5lZDtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHN0b3JhZ2UgPSB3aW5SZWYuc2Vzc2lvblN0b3JhZ2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0b3JhZ2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwZXJzaXN0VG9TdG9yYWdlKFxuICBjb25maWdLZXk6IHN0cmluZyxcbiAgdmFsdWU6IGFueSxcbiAgc3RvcmFnZTogU3RvcmFnZVxuKTogdm9pZCB7XG4gIGlmICghaXNTc3Ioc3RvcmFnZSkgJiYgdmFsdWUpIHtcbiAgICBzdG9yYWdlLnNldEl0ZW0oY29uZmlnS2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkRnJvbVN0b3JhZ2Uoc3RvcmFnZTogU3RvcmFnZSwga2V5OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgaWYgKGlzU3NyKHN0b3JhZ2UpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RvcmFnZVZhbHVlID0gc3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gIGlmICghc3RvcmFnZVZhbHVlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmV0dXJuIEpTT04ucGFyc2Uoc3RvcmFnZVZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3NyKHN0b3JhZ2U6IFN0b3JhZ2UpOiBib29sZWFuIHtcbiAgcmV0dXJuICFCb29sZWFuKHN0b3JhZ2UpO1xufVxuIl19