Code Monkey home page Code Monkey logo

storage-sync-lite's Introduction

storage-sync-lite
NPM Version Install Size Downloads License: MIT

Easily store objects or any type of data to localStorage or sessionStorage.
Why this? When you store a JSON/object to localStorage or sessionStorage you need to stringify the data. After storing a number in localStorage when you will read it, you will get the number as a string. But storage-sync-lite allows storing and retrieving data without changing the type. If you store an object when you will read, it will return the object.

Table of Contents

Features

  • Set, get and delete localStorage or sessionStorage without stringifying or changing the data type.
  • Change/update objects in localStorage or sessionStorage.
  • Clear localStorage or sessionStorage.

Install

npm i storage-sync-lite

Usage

Set and get local:

import { setLocal, getLocal } from 'storage-sync-lite'

// Set/Store
setLocal('user', {
    email: '[email protected]',
    age: 25
})

// Get
let user = getLocal('user')
console.log(user) // Returns: { email: '[email protected]', age: 25 }

Change/update properties from local:

import { changeLocal, getLocal } from 'storage-sync-lite'

// Change/update properties
changeLocal('user', {
    name: 'Mr. User'
})

console.log(getLocal('user')) // Returns: { email: '[email protected]', age: 25, name: 'Mr. User' }

Delete data from local:

import { deleteLocal, clearLocal } from 'storage-sync-lite'

// Delete single data from local
deleteLocal('user')

// Clear / delete all data from local
clearLocal()

Set and get session:

import { setSession, getSession } from 'storage-sync-lite'

// Set/Store
setSession('user', {
    email: '[email protected]',
    age: 25
})

// Get
let user = getSession('user')
console.log(user) // Returns: { email: '[email protected]', age: 25 }

Change/update properties from session:

import { changeSession, getSession } from 'storage-sync-lite'

// Change/update properties
changeSession('user', {
    name: 'Mr. User'
})

console.log(getSession('user')) // Returns: { email: '[email protected]', age: 25, name: 'Mr. User' }

Delete data from session:

import { deleteSession, clearSession } from 'storage-sync-lite'

// Delete single data from session
deleteSession('user')

// Clear / delete all data from session
clearSession()

API Reference

setLocal(name, value, options)

Stores a value in local storage.

  • name (string): The name of the item to store.
  • value (*): The value to store.
  • options (object, optional): Optional configuration object.
    • options.expiration (string | number | Date): The expiration date/time for the item.
    • options.timeToLive (number): The time to live in milliseconds.

Returns the stored value.

getLocal(name)

Retrieves a value from local storage.

  • name (string): The name of the item to retrieve.

Returns the value stored in local storage, or undefined if the item does not exist or has expired.

changeLocal(name, changes)

Updates a value in local storage with the provided changes.

  • name (string): The name of the item to update.
  • changes (object): An object containing the changes to apply to the stored value.

Returns the updated value.

deleteLocal(name)

Deletes an item from local storage.

  • name (string): The name of the item to delete.

clearLocal()

Clears all items from local storage.

setSession(name, value, options)

Stores a value in session storage.

  • name (string): The name of the item to store.
  • value (*): The value to store.
  • options (object, optional): Optional configuration object.
    • options.expiration (string | number | Date): The expiration date/time for the item.
    • options.timeToLive (number): The time to live in milliseconds.

Returns the stored value.

getSession(name)

Retrieves a value from session storage.

  • name (string): The name of the item to retrieve.

Returns the value stored in session storage, or undefined if the item does not exist or has expired.

changeSession(name, changes)

Updates a value in session storage with the provided changes.

  • name (string): The name of the item to update.
  • changes (object): An object containing the changes to apply to the stored value.

Returns the updated value.

deleteSession(name)

Deletes an item from session storage.

  • name (string): The name of the item to delete.

clearSession()

Clears all items from session storage.

Contributing

You are welcome to contribute! If you are adding a feature or fixing a bug, please contribute to the GitHub repository.

License

storage-sync-lite is licensed under the MIT license.

Author

@SheikhAminul
@SheikhAminul

storage-sync-lite's People

Contributors

sheikhaminul avatar aminulpy avatar

Stargazers

Fan, Yi-Jie 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.