This package provides a typed, common interface for LocalStorage, SessionStorage, and WebStorage
npm install typescript-web-storageThis package provides typed interface for LocalStorage, SessionStorage, and WebStorage.


``bash`
npm install typescript-web-storage
`ts`
import { LocalStorage, SessionStorage, WebStorage } from 'typescript-web-storage';
LocalStorage, SessionStorage, and WebStorage all provide a similar interface as JavaScript's native Storage interface.
#### readonly length: number
Returns the number of key/value pairs currently present in storage.
#### protected readonly store: Storage
The Web Storage API instance on which to add, update, or delete store values.
#### getItem
Returns the current value associated with the given key, or null if the given key does not exist in storage.
#### setItem
Stores the value of an existing pair, identified by given key, to the specified value; otherwise, creating a new key/value pair when none previously exists.
#### removeItem (key: string): this
Removes the key/value pair for the given key from storage, if the key/value pair exists.
#### key (index: number): string | null
Returns the name of the key at the given index, or null if the index is greater than or equal to the number of key/value pairs in storage.
#### clear (): this
Empties all key/value pairs from storage, if there are any.
Methods to add and remove listeners to specific storage keys have also been added to allow typed values during event handling.
`ts
import { LocalStorage } from 'typescript-web-storage';
const storage = new LocalStorage();
const listener = store.addListener('my_bool', (event) => {
const { oldValue, newValue } = event;
console.log(typeof oldValue, typeof newValue);
// => 'boolean', 'boolean'
});
store.setItem('my_bool', true);
store.removeListener('my_bool', listener);
// Or, to remove all listeners on the key.
store.removeListener('my_bool');
``