node-storage-shim provides a simple shim conforming to the w3c Storage Interface that can be used as a transient replacement for localStorage or sessionStorage when running in environments that do not support these, eg: node.
Note that this does not persist it's data to disk, and is primarily aimed at use in unit tests.
The package can be installed from npm:
npm install --save node-storage-shim
const StorageShim = require('node-storage-shim')
storage = new StorageShim()
storage.setItem("foo", "My Value")
console.log(storage.getItem("foo")
If you wish to polyfill the localStorage and sessionStorage globals that are available in web browsers, you can do something like this:
const StorageShim = require('node-storage-shim')
global.window = global
global.localStorage = new StorageShim()
global.sessionStorage = new StorageShim()
The unit tests use mocha, and are setup to run by the standard npm test command. This also runs a sanity test of the typescript declaration in the test-typescript-declarations directory
npm install
npm test
-
You cannot use any of the method names as keys, this is a trade-off that is required to support for ... in iteration.
-
storage event portion of the interface is not implemented.
- Improve readme
- Updated minimum NodeJS version and started using Proxy to fix limitations with respect to direct property access.
- Added typescript declaration
- Initial release