flat-local-storage
v1.0.0
Published
Simple wrapper of localStorage API that support serialization and deserialization.
Downloads
5
Readme
flat-local-storage
The best third party JS|TS
library scaffold.
Characteristics
- Coded in ES6+ or TypeScript, easily compile and generate production code
- Supports multi environment, including default browsers, Node, AMD, CMD, Webpack, Rollup, Fis and so on.
- Integrated jsmini
Note: When export
and export default
are not used at the same time, there is the option to
turn on legacy mode
. Under legacy mode
, the module system can be compatible with IE6-8
. For more information on legacy mode,
please see rollup supplemental file.
Compatibility
Unit tests guarantee support on the following environment:
| IE | CH | FF | SF | OP | IOS | Android | Node | | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ----- | | 6+ | 29+ | 55+ | 9+ | 50+ | 9+ | 4+ | 4+ |
Note: Compiling code depend on ES5, so you need import es5-shim to compatible with
IE6-8
, here is a demo
Directory
├── demo - Using demo
├── dist - Compiler output code
├── doc - Project documents
├── src - Source code directory
├── test - Unit tests
├── CHANGELOG.md - Change log
└── TODO.md - Planned features
Install
Using npm, download and install the code.
$ npm install --save flat-local-storage
For node environment:
var storage = require('flat-local-storage');
For webpack or similar environment:
import storage from 'flat-local-storage';
For requirejs environment:
requirejs(['node_modules/flat-local-storage/dist/index.aio.js'], function (storage) {
// do something...
})
For browser environment:
<script src="node_modules/flat-local-storage/dist/index.aio.js"></script>
Basic Usage
Initialization
storage.init({ name: 'NAME', version: '1.0.0' })
Set and Get Item
Set and get a value of type string
storage.setItem('subkey', 'the string')
storage.getItem('subkey')
// expect to return 'the string'
Set and get a value of type json object
storage.setItem('subkey', {
a: {
b: {
c: 123,
d: '789',
}
}
})
storage.getItem('subkey')
/**
expect to return {
a: {
b: {
c: 123,
d: '789',
}
}
}
*/
Set and get a value of type json array
storage.setItem('subkey', [{
a: 1,
b: {
c: '2',
d: [{
g: 'c'
}]
}
}])
storage.getItem('subkey')
/**
expect to return {
a: 1,
b: {
c: '2',
d: [{
g: 'c'
}]
}
}
*/
Set and get a value of type number
storage.setItem('subkey', 1)
storage.getItem('subkey')
/**
expect to return 1
*/
Set and get a value of type null
storage.setItem('subkey', null)
storage.getItem('subkey')
/**
expect to return null
*/
Set and get a value of type undefined
storage.setItem('subkey', undefined)
storage.getItem('subkey')
/**
expect to return undefined
*/
removeItem
storage.removeItem('subkey')
clear
storage.removeItem('subkey')
Contribution Guide
For the first time to run, you need to install dependencies firstly.
$ npm install
To build the project:
$ npm run build
To run unit tests:
$ npm test
Note: The browser environment needs to be tested manually under
test/browser
Modify the version number in package.json, modify the version number in README.md, modify the CHANGELOG.md, and then release the new version.
$ npm run release
Publish the new version to NPM.
$ npm publish