@script47/local-storage
Advanced tools
Comparing version 1.0.0 to 1.1.0
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ls=t():e.ls=t()}(self,(()=>(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};function o(e,t){return 1===arguments.length?r(e):n(e,t)}function n(e,t){return localStorage.setItem(e,JSON.stringify(t)),l("ls.set",{key:e,value:t}),!0}function r(e){var t=localStorage.getItem(e);if(null!==t)return JSON.parse(t)}function l(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}e.d(t,{default:()=>a}),o.set=n,o.get=r,o.remove=function(e){return localStorage.removeItem(e),l("ls.remove",{key:e}),!0},o.clear=function(){return localStorage.clear(),l("ls.clear",{}),!0},o.on=function(e,t){window.addEventListener(e,t)};const a=o;return t.default})())); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ls=t():e.ls=t()}(self,(()=>(()=>{"use strict";var e={d:(t,o)=>{for(var r in o)e.o(o,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:o[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};function o(e,t){if(1===arguments.length){if("string"==typeof e)return n(e);if("[object Object]"===Object.prototype.toString.call(e))return r(e);throw new Error("Unknown key type, expected string or object.")}return r(e,t)}function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if("[object Object]"===Object.prototype.toString.call(e))Object.keys(e).forEach((function(t){localStorage.setItem(t,JSON.stringify(e[t])),l("ls.set",{key:t,value:e[t]})}));else{if(void 0===t)throw new Error("Missing argument value.");localStorage.setItem(e,JSON.stringify(t)),l("ls.set",{key:e,value:t})}return!0}function n(e){var t=localStorage.getItem(e);if(null!==t)return JSON.parse(t)}function l(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}e.d(t,{default:()=>c}),o.set=r,o.get=n,o.remove=function(e){return Array.isArray(e)?e.forEach((function(t){localStorage.removeItem(t),l("ls.remove",{key:e})})):(localStorage.removeItem(e),l("ls.remove",{key:e})),!0},o.clear=function(){return localStorage.clear(),l("ls.clear",{}),!0},o.on=function(e,t){window.addEventListener(e,t)};const c=o;return t.default})())); |
{ | ||
"name": "@script47/local-storage", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "A handy wrapper around localStorage.", | ||
@@ -5,0 +5,0 @@ "author": "Script47 <Script47@hotmail.com>", |
@@ -43,2 +43,6 @@ # `@script47/local-storage` | ||
ls('key', 'value'); // true | ||
// or | ||
ls({ | ||
key: 'value' | ||
}); | ||
ls('key'); // 'value' | ||
@@ -59,2 +63,6 @@ ``` | ||
ls.set('key', 'value'); // true | ||
// or | ||
ls.set({ | ||
key: 'value' | ||
}) | ||
``` | ||
@@ -74,3 +82,3 @@ | ||
ls.set('key', 'value'); // true | ||
ls.get('key', 'default value'); // 'value' | ||
ls.set('key', 'default value'); // 'value' | ||
ls.get('i-dont-exist', 'default value'); // 'default value' | ||
@@ -94,2 +102,4 @@ ls.get('i-dont-exist'); // undefined | ||
ls.remove('key'); // true | ||
// or | ||
ls.remove(['key']); | ||
ls.get('key'); // undefined | ||
@@ -96,0 +106,0 @@ ``` |
@@ -9,3 +9,9 @@ /** | ||
if (arguments.length === 1) { | ||
return get(key); | ||
if (typeof key === 'string') { | ||
return get(key); | ||
} else if (Object.prototype.toString.call(key) === '[object Object]') { | ||
return set(key); | ||
} else { | ||
throw new Error(`Unknown key type, expected string or object.`); | ||
} | ||
} | ||
@@ -22,10 +28,25 @@ | ||
*/ | ||
function set(key, value) { | ||
localStorage.setItem(key, JSON.stringify(value)); | ||
function set(key, value = undefined) { | ||
if (Object.prototype.toString.call(key) === '[object Object]') { | ||
Object.keys(key).forEach((k) => { | ||
localStorage.setItem(k, JSON.stringify(key[k])); | ||
dispatchEvent('ls.set', { | ||
key, | ||
value | ||
}); | ||
dispatchEvent('ls.set', { | ||
key: k, | ||
value: key[k] | ||
}); | ||
}); | ||
} else { | ||
if (value === undefined) { | ||
throw new Error(`Missing argument value.`); | ||
} | ||
localStorage.setItem(key, JSON.stringify(value)); | ||
dispatchEvent('ls.set', { | ||
key, | ||
value | ||
}); | ||
} | ||
return true; | ||
@@ -56,8 +77,18 @@ } | ||
function remove(key) { | ||
localStorage.removeItem(key); | ||
if (Array.isArray(key)) { | ||
key.forEach((k) => { | ||
localStorage.removeItem(k); | ||
dispatchEvent('ls.remove', { | ||
key | ||
}); | ||
dispatchEvent('ls.remove', { | ||
key | ||
}); | ||
}); | ||
} else { | ||
localStorage.removeItem(key); | ||
dispatchEvent('ls.remove', { | ||
key | ||
}); | ||
} | ||
return true; | ||
@@ -64,0 +95,0 @@ } |
9362
132
155