get(key_or_keys_or_pairs, callback) {
		let obj;
		try {
			if (typeof key_or_keys_or_pairs === "string") {
				const key = key_or_keys_or_pairs;
				const item = localStorage.getItem(key);
				if (item) {
					obj = JSON.parse(item);
				}
			} else {
				obj = {};
				if (Array.isArray(key_or_keys_or_pairs)) {
					const keys = key_or_keys_or_pairs;
					for (let i = 0, len = keys.length; i < len; i++) {
						const key = keys[i];
						const item = localStorage.getItem(key);
						if (item) {
							obj[key] = JSON.parse(item);
						}
					}
				} else {
					const keys_obj = key_or_keys_or_pairs;
					for (const key in keys_obj) {
						let defaultValue = keys_obj[key];
						const item = localStorage.getItem(key);
						if (item) {
							obj[key] = JSON.parse(item);
						} else {
							obj[key] = defaultValue;
						}
					}
				}
			}
		} catch (error) {
			callback(error);
			return;
		}
		callback(null, obj);
	}
See overrides in interface LocalStore.
@param {string | string[] | Record<string, string>} key_or_keys_or_pairs
@param {((error: Error, value_or_values?: string) => void) | ((error: Error, value_or_values?: Record<string, string>) => void)} callback