58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* 
 | 
						|
 * This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * Save something to persistent storage.
 | 
						|
 * @param {string} key
 | 
						|
 * @param {string} value non-string values are converted to strings.
 | 
						|
 * @param {bool} nochangeupdate If true, the lastchange setting won't be updated.
 | 
						|
 * @returns {undefined}
 | 
						|
 */
 | 
						|
function setStorage(key, value, nochangeupdate) {
 | 
						|
    if (typeof nochangeupdate == 'undefined') {
 | 
						|
        nochangeupdate = false;
 | 
						|
    }
 | 
						|
    localStorage.setItem(key, value);
 | 
						|
    if (!nochangeupdate && !SETTINGS.synckeyblacklist.includes(key)) {
 | 
						|
        localStorage.setItem("lastchange", Date.now() / 1000);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Get an item from persistent storage.
 | 
						|
 * @param {type} key
 | 
						|
 * @returns {DOMString}
 | 
						|
 */
 | 
						|
function getStorage(key) {
 | 
						|
    return localStorage.getItem(key);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Check if an item is in the persistent storage.
 | 
						|
 * @param {string} key
 | 
						|
 * @returns {Boolean}
 | 
						|
 */
 | 
						|
function inStorage(key) {
 | 
						|
    return localStorage.getItem(key) != null;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Get all item from persistent storage.
 | 
						|
 * @returns {Array} [{key: "", value: ""},...]
 | 
						|
 */
 | 
						|
function getAllStorage() {
 | 
						|
    var all = [];
 | 
						|
    for (var key in localStorage) {
 | 
						|
        if (localStorage.hasOwnProperty(key)) {
 | 
						|
            all.push({
 | 
						|
                key: key,
 | 
						|
                value: getStorage(key)
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return all;
 | 
						|
} |