Skip to content

Instantly share code, notes, and snippets.

@stevenselcuk
Created December 21, 2019 19:19
Show Gist options
  • Select an option

  • Save stevenselcuk/88865dfa5b5863361b9d689beb4dec3b to your computer and use it in GitHub Desktop.

Select an option

Save stevenselcuk/88865dfa5b5863361b9d689beb4dec3b to your computer and use it in GitHub Desktop.
Local Storage Util/Helper
const localStorage = window.localStorage;
export function set(key, value) {
value = JSON.stringify(value);
try {
localStorage.setItem(key, value);
} catch (e) {
console.log(e);
}
}
export function del(key) {
try {
localStorage.removeItem(key);
} catch (e) {
console.log(e);
}
}
export function get(key) {
try {
return JSON.parse(localStorage.getItem(key));
} catch (e) {
console.log(e);
}
}
export function update(key, value, unique, limit) {
var json = null;
try {
json = localStorage.getItem(key);
} catch (e) {
console.log(e);
}
if (!json) {
//console.log([value], value, "setting new");
set(key, [value]);
} else {
let parsed = JSON.parse(json);
if (unique) {
var index = parsed.findIndex(obj => obj.membershipId === value.membershipId);
if (index > -1) {
parsed.splice(index, 1);
}
if (!limit) {
limit = parsed.length + 1;
}
parsed = [value, ...parsed.slice(0, limit)];
} else {
if (!limit) {
limit = parsed.length + 1;
}
parsed = [value, ...parsed.slice(0, limit)];
}
// console.log(json, parsed, "updating");
set(key, parsed);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment