UNPKG

@startpage/local-storage

Version:

Local storage management for your startpage

26 lines (25 loc) 849 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.injectBackup = void 0; const STORAGE = window.localStorage; const writeBackupIntoStorage = (backup) => { Object.keys(backup).forEach(key => STORAGE.setItem(key, JSON.stringify(backup[key]))); }; const filterWantedKeys = (keys, backup) => { const filteredBackup = {}; Object.keys(backup) .filter(key => keys.includes(key)) .forEach(key => (filteredBackup[key] = backup[key])); return filteredBackup; }; const injectBackup = (keys, backupFile) => backupFile.text().then(content => { try { const backup = JSON.parse(content); writeBackupIntoStorage(filterWantedKeys(keys, backup)); return true; } catch { return false; } }); exports.injectBackup = injectBackup;