storage-sync-lite
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)
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'
setLocal('user', {
email: 'user@example.com',
age: 25
})
let user = getLocal('user')
console.log(user)
Change/update properties from local:
import { changeLocal, getLocal } from 'storage-sync-lite'
changeLocal('user', {
name: 'Mr. User'
})
console.log(getLocal('user'))
Delete data from local:
import { deleteLocal, clearLocal } from 'storage-sync-lite'
deleteLocal('user')
clearLocal()
Set and get session:
import { setSession, getSession } from 'storage-sync-lite'
setSession('user', {
email: 'user@example.com',
age: 25
})
let user = getSession('user')
console.log(user)
Change/update properties from session:
import { changeSession, getSession } from 'storage-sync-lite'
changeSession('user', {
name: 'Mr. User'
})
console.log(getSession('user'))
Delete data from session:
import { deleteSession, clearSession } from 'storage-sync-lite'
deleteSession('user')
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