Skip to content

artmakarov/simple-data-storage

Repository files navigation

SData.js

Minified size npm downloads npm downloads Open issues Open pull request Version Maintenance License: MIT

Simple key-value storage in the browser or node

Install

npm i simple-data-storage

in browser:

<script src="//unpkg.com/simple-data-storage/dist/sdata.min.js"></script>

API

SData([key: any, value: any])

If there are no parameters it returns the full storage object.
If there is a value, it sets the passed value by the specified key and returns value.
If only a key is passed, the value for this key is returned.

SData.init(data: object)

Initializes the storage from the passed data in JSON format.

SData.has(key: any)

Checks whether the key exists in the storage.
Returns a Boolean value.

SData.clear([key: any, key_2: any, key_3: any, ...key_n: any])

Deletes the key and value from storage.
If there are no parameters, the entire storage is cleared

SData.toString()

Returns a snapshot of the storage as a string.

Usage example

const SData = require('simple-data-storage');

SData('one_key', 'one_value');
console.log(SData('one_key')); //=> one_value

SData(321, 963);
SData('other key', { abc: 'boom!' });

console.log(SData(321)); //=> 963
console.log(SData('321')); //=> 963
console.log(SData('other key')); //=> { abc: 'boom!' }
console.log(SData('other key').abc); //=> boom!

// clear one item
SData.clear('other key');

console.log(SData('other key')); //=> undefined
console.log(SData('one_key')); //=> one_value

// clear all items
SData(123, ['test', 4]);
SData.clear();

console.log(SData(123)); //=> undefined
console.log(SData('one_key')); //=> undefined

In the browser, use the global function SData()

<script>
  SData('key', { data: [1, 'two', { other: 3 }] });
  alert(SData('key').data[2].other); //=> 3
</script>

Development

git clone git@github.com:artmakarov/simple-data-storage.git
cd simple-data-storage
npm install
npm run build

Tests

npm run test

Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

License

This project is MIT licensed.