Package Exports
- data-store
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (data-store) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
data-store

Easily get, set and persist config data.
Install
Install with npm
$ npm i data-store --saveUsage example
// default cwd is `~/data-store/`
var store = require('data-store')('app', {cwd: 'actual'});
store
.set('a', 'b')
.set({c: 'd'})
.set('e.f', 'g')
console.log(store.get('e.f'));
//=> 'g'
console.log(store.get());
//=> {name: 'app', data: {a: 'b', c: 'd', e: {f: 'g' }}}
console.log(store.data);
//=> {a: 'b', c: 'd', e: {f: 'g'}}API
Store
Initialize a new Store with the given name and options.
Params
name{String}: Store name.options{Object}
cwd{String}: Current working directory for storage. If not defined, the user home directory is used, based on OS. This is the only option currently, other may be added in the future.indent{Number}: Number passed toJSON.stringifywhen saving the data. Defaults to2ifnullorundefined
Example
var store = require('data-store')('abc');
//=> '~/data-store/a.json'
var store = require('data-store')('abc', {
cwd: 'test/fixtures'
});
//=> './test/fixtures/abc.json'.set
Assign value to key and save to disk. Can be a key-value pair or an object.
Params
key{String}val{any}: The value to save tokey. Must be a valid JSON type: String, Number, Array or Object.returns{Object}Store: for chaining
Example
// key, value
store.set('a', 'b');
//=> {a: 'b'}
// extend the store with an object
store.set({a: 'b'});
//=> {a: 'b'}
// extend the the given value
store.set('a', {b: 'c'});
store.set('a', {d: 'e'}, true);
//=> {a: {b 'c', d: 'e'}}
// overwrite the the given value
store.set('a', {b: 'c'});
store.set('a', {d: 'e'});
//=> {d: 'e'}.union
Add or append an array of unique values to the given key.
Params
key{String}returns{any}: The array to add or append forkey.
Example
store.union('a', ['a']);
store.union('a', ['b']);
store.union('a', ['c']);
store.get('a');
//=> ['a', 'b', 'c'].get
Get the stored value of key, or return the entire store if no key is defined.
Params
key{String}returns{any}: The value to store forkey.
Example
store.set('a', {b: 'c'});
store.get('a');
//=> {b: 'c'}
store.get();
//=> {b: 'c'}.has
Returns true if the specified key has truthy value.
Params
key{String}returns{Boolean}: Returns true ifkeyhas
Example
store.set('a', 'b');
store.set('c', null);
store.has('a'); //=> true
store.has('c'); //=> false
store.has('d'); //=> false.hasOwn
Returns true if the specified key exists.
Params
key{String}returns{Boolean}: Returns true ifkeyexists
Example
store.set('a', 'b');
store.set('b', false);
store.set('c', null);
store.set('d', true);
store.hasOwn('a'); //=> true
store.hasOwn('b'); //=> true
store.hasOwn('c'); //=> true
store.hasOwn('d'); //=> true
store.hasOwn('foo'); //=> false.save
Persist the store to disk.
Params
dest{String}: Optionally define an alternate destination file path.
Example
store.save();.del
Delete keys from the store, or delete the entire store if no keys are passed.
Note that to delete the entire store you must pass {force: true}
Params
keys{String|Array|Object}: Keys to remove, or options.options{Object}
Example
store.del();
// to delete paths outside cwd
store.del({force: true});Related
- assign-value: Assign a value or extend a deeply nested property of an object using object path… more | homepage
- get-value: Use property paths (
a.b.c) to get a nested value from an object. | homepage - has-own-deep: Returns true if an object has an own, nested property using dot notation paths ('a.b.c'). | homepage
- has-value: Returns true if a value exists, false if empty. Works with deeply nested values using… more | homepage
- set-value: Create nested values and any intermediaries using dot notation (
'a.b.c') paths. | homepage - union-value: Set an array of unique values as the property of an object. Supports setting deeply… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running tests
Install dev dependencies:
$ npm i -d && npm testAuthor
Jon Schlinkert
License
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on October 19, 2015.