Giter VIP home page Giter VIP logo

local-storage's Introduction

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

local-storage's People

Contributors

script47 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.