@startpage/local-storage
Version:
Local storage management for your startpage
26 lines (25 loc) • 849 B
JavaScript
;
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;