JSPM

@script47/local-storage

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q31924F
  • License MIT

A handy wrapper around localStorage.

Package Exports

  • @script47/local-storage
  • @script47/local-storage/dist/local-storage.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@script47/local-storage) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@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

<script src="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
// or
ls({
   key: 'value'
});
ls('key'); // 'value'

Set a local storage item:

set(key, value);

Example

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

Get a local storage item:

get(key, def = undefined);

Example

ls.set('key', 'value'); // true
ls.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'); // true
ls.get('key'); // 'value'
ls.remove('key'); // true
// or
ls.remove(['key']);
ls.get('key'); // undefined

Clear local storage completely:

clear();

Example

ls.set('key', 'value'); // true
ls.set('another-key', 'another-value'); // true
ls.clear(); // true
ls.get('key'); // undefined
ls.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);