Storage
The type checked localStorage API you might have always been looking for.
What this library does
The land of localStorage polyfill and replacements is a crowded place. Most of these are
fantastic libraries, but none satisfied all the requirements that I wanted.
- Typechecked
- Fully Compatible Storage API. (many are missing keys and length)
- Ability to differentiate between
sessionStorage
and localStorage
- Tested
- Works on Safari incognito mode.
Along the way I also noticed that polyfills for document.cookie
were
missing a few key features for cookies, such as cookies in the past not
being removed.
This library is far from perfect, but it meets all the criteria I need.
Installation & Usage
Installing through npm is done as one would normally expect:
$ npm install --save @urbandoor/storage
Usage in webpack/typescript works as follows:
import Storage from '@urbandoor/storage';
const storage = new Storage();
storage.setItem('potato', 'true');
storage.getItem('potato');
storage.length;
storage.keys(0);
storage.removeItem('potato');
storage.setItem('potato1', 'true');
storage.setItem('potato2', 'true');
storage.setItem('potato3', 'true');
storage.setItem('potato4', 'true');
storage.clear();
storage.getItem('potato1');
Features not implemented yet
- IE user data.
- Typescript typecheck-ed wrapper that handles parsing.
- Probably a lot of things.