Skip to content

Repository files navigation

@script47/local-storage

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, and clear

Note: This wrapper will not work if the localStorage API is not available.

Contents

Installation

via NPM

npm i @script47/local-storage

via CDN

<scriptsrc="https://unpkg.com/@script47/local-storage"></script>

API

Set or get a key using the quick accessor:

ls(key,value);

Example

ls('key','value');// true// orls({key: 'value'});ls('key');// 'value'

Set a local storage item:

set(key,value);

Example

ls.set('key','value');// true// orls.set({key: 'value'})

Get a local storage item:

get(key,def=undefined);

Example

ls.set('key','value');// truels.set('key','default value');// 'value'ls.get('i-dont-exist','default value');// 'default value'ls.get('i-dont-exist');// undefined

Remove a local storage item:

remove(key);

Example

ls.set('key','value');// truels.get('key');// 'value'ls.remove('key');// true// orls.remove(['key']);ls.get('key');// undefined

Clear local storage completely:

clear();

Example

ls.set('key','value');// truels.set('another-key','another-value');// truels.clear();// truels.get('key');// undefinedls.get('another-key');// undefined

Listen to events attached to localStorage actions by the package:

on(type,listener);

Example

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);

Releases

Used by

Contributors

Languages