1.0.4 • Published 7 years ago

localStorage v1.0.4

Weekly downloads
32,683
License
(MIT OR Apache-2....
Repository
-
Last release
7 years ago

DOMStorage

See https://git.coolaj86.com/coolaj86/dom-storage.js for a slightly better version of the same thing.

localStorage

An inefficient, but as W3C-compliant as possible using only pure JavaScript, localStorage implementation.

Purpose

This is meant for the purpose of being able to run unit-tests and such for browser-y modules in node.

Usage

var localStorage = require('localStorage')
  , myValue = { foo: 'bar', baz: 'quux' }
  ;

localStorage.setItem('myKey', JSON.stringify(myValue));
myValue = localStorage.getItem('myKey');

API

  • getItem(key)
  • setItem(key, value)
  • removeItem(key)
  • clear()
  • key(n)
  • length

Tests

null === localStorage.getItem('key');

0 === localStorage.length;
null === localStorage.getItem('doesn't exist');
undefined === localStorage['doesn't exist'];

localStorage.setItem('myItem');
"undefined" === localStorage.getItem('myItem');
1 === localStorage.length;

localStorage.setItem('myItem', 0);
"0" === localStorage.getItem('myItem');

localStorage.removeItem('myItem', 0);
0 === localStorage.length;

localStorage.clear();
0 === localStorage.length;

TODO / Bugs

  • Does not persist.
    • could use fs.readFileSync at load and an occasional fs.writeFile to write-out localStorage.json
  • Doesn't not emit Storage events
alaexplorerjs-keygenpcs-notif-and-msguc-coreomnb-twittergatewaypcjs-keygengatsby-source-modular-graphqlskill-f3@infinitebrahmanuniverse/nolb-localsresnodepackage@everything-registry/sub-chunk-2092stackmob-nodejsspoojsstraas-message-sdkvexjs-keygen@byorbit/or-ui-jupiter@byorbit/or-ui-kerber@byorbit/or-ui-master-layout@rtssaas2022/am_sdk@rtssaas2022/rf_sdk@rtssaas2022/rm_sdkjs-unif-commonjs-unif-corejwt-auth-apikarma-jsdomlocalstorage-launcherjm-intlnextjs-unif-core-newjs-unif-core-v1js-unif-core-v2js-uniframe-coreixrlibforwebxrkeyvaluestoragekeigaiuc-core-jsuc-coresuc-sdkturris-test-helperstheme-customizer@anephenix/hub@connext/storezb-eosjs-keygenvikramkalta91unif-uc-sdk@huanghq/edgebase-front@maofung/edgebase-front@sauban/cloudboost@openatc/edgebase-front@patrick-ingle/bestbooks-core@pingleware/bestbooks-core@orygoo/orygoo-sdkmongoose-history-einatecnbpeeropenatc-componentsobjy-catalogobjy-exposeobjy-platformparse-cloud-debuggerparse-custom-xhrpagefiltersettingspcs-message-and-notificationscraper-engineseptrc-antd-pro-libproductmarveljs2redux-toolbox-fetchsegoselenium-webdriver-selectorpier-front-common-toolkits-vue-2redux-lbclientrfml-to-coffeequality-botsinch-rtcreact-svelte-storesharo-localstoragehonk-test-nethaasts-traversehanxiuhlibrajs-keygenlemojs-keygenlogstoragels-chunk-storelycamplusmarvel-js-coremega-design-librarymaxleap-js-sdk@unibiz/uplink@trackingplan/node@yeutech-lab/test-polyfill@zalastax/nolb-localsabhnv-testabaasoalakeygen1arisenjs-keygenapollo-link-local-cachecomsis_jmycc-wallet-corecelesjs-keygencontentstackcloudboostcloudboost-tvclient-side-storage
1.0.4

7 years ago

1.0.3

11 years ago

1.0.2

12 years ago

1.0.1

12 years ago

1.0.0

14 years ago