A handy wrapper around localStorage.
- What you see is what you get; Simple and clean wrapper, nothing extra
- Respects types; no longer do you have to worry about casting items after retrieving them
- Custom events on actions; listen to events on
set,remove, andclear
Note: This wrapper will not work if the localStorage API is not available.
npm i @script47/local-storage<scriptsrc="https://unpkg.com/@script47/local-storage"></script>ls(key,value);ls('key','value');// true// orls({key: 'value'});ls('key');// 'value'set(key,value);ls.set('key','value');// true// orls.set({key: 'value'})get(key,def=undefined);ls.set('key','value');// truels.set('key','default value');// 'value'ls.get('i-dont-exist','default value');// 'default value'ls.get('i-dont-exist');// undefinedremove(key);ls.set('key','value');// truels.get('key');// 'value'ls.remove('key');// true// orls.remove(['key']);ls.get('key');// undefinedclear();ls.set('key','value');// truels.set('another-key','another-value');// truels.clear();// truels.get('key');// undefinedls.get('another-key');// undefinedon(type,listener);ls.on('ls.set',({detail})=>{console.log(`${detail.key}=${detail.value}`);});ls.on('ls.remove',({detail})=>{console.log(`${detail.key} was removed.`);});ls.on('ls.clear',()=>{console.log('localStorage was cleared.');})ls.set('name','John Doe');ls.set('age',35);setTimeout(()=>{ls.remove('name');setTimeout(()=>{ls.clear();},2500);},2500);