1.0.0 • Published 3 years ago

flat-local-storage v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

flat-local-storage

npm.io license Build Status Coveralls npm NPM downloads Percentage of issues still open

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:

IECHFFSFOPIOSAndroidNode
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

Contributors

contributors

Change Log

CHANGELOG.md

TODO

TODO.md