Preserve
A state lib for keeping track of and change localStorage data
![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)
Install
npm install @oyvindher/preserve
or with Yarn
yarn add @oyvindher/preserve
API
preserve(key:string, initialData?: any)
The preserve function gives you 4 methods in return:
get<T>()
Gives the current state of your localstorage item.set<T>(data:T)
Set the current state of your localstorage item.subscribe(callback: (prevData, nextData) => void)
Gives you a callback to listen to current state changesclearItem()
Clears the localStorge item
Basic usage
import preserve from '@oyvindher/preserve';
const myItem = preserve('myData', 0);
myItem.get();
myItem.set(1);
myItem.subscribe((prevData, nextData) => {
console.log(prevData);
console.log(nextData);
});
myItem.clearItem();
preserveLogger
PreserveLogger is a handy util for development for logging out previous and next state of any given preserved item when it changes.
This is how you would use it:
import preserve, { preserveLogger } from '@oyvindher/preserve';
const myItem = preserve('myItem');
preserveLogger(myItem);