balena-settings-storage
v8.1.0
Published
Balena settings storage utilities
Downloads
47,128
Readme
balena-settings-storage
Balena settings storage utilities.
Role
The intention of this module is to provide low level access to how balena persists settings in both the filesystem and the browser.
THIS MODULE IS LOW LEVEL AND IS NOT MEANT TO BE USED BY END USERS DIRECTLY.
Unless you know what you're doing, use the balena SDK instead.
Installation
Install balena-settings-storage
by running:
$ npm install --save balena-settings-storage
Documentation
- storage
- .getStorage(options) ⇒ storage
- ~set(name, value) ⇒ Promise
- ~get(name) ⇒ [ 'Promise' ].<*>
- ~has(name) ⇒ [ 'Promise' ].<Boolean>
- ~remove(name) ⇒ Promise
- ~clear() ⇒ Promise
- .getStorage(options) ⇒ storage
storage.getStorage(options) ⇒ storage
Kind: static method of storage
Summary: Get an instance of storage module
Access: public
| Param | Type | Description | | --- | --- | --- | | options | Object | options | | [options.dataDirectory] | String | False | the directory to use for storage in Node.js or false to create an isolated in memory instance. Values other than false are ignored in the browser. |
Example
// with es6 imports
import { getStorage } from 'balena-settings-storage';
// or with node require
const { getStorage } = require('balena-settings-storage');
const storage = getStorage({
dataDirectory: '/opt/cache/balena'
});
- .getStorage(options) ⇒ storage
- ~set(name, value) ⇒ Promise
- ~get(name) ⇒ [ 'Promise' ].<*>
- ~has(name) ⇒ [ 'Promise' ].<Boolean>
- ~remove(name) ⇒ Promise
- ~clear() ⇒ Promise
getStorage~set(name, value) ⇒ Promise
Kind: inner method of getStorage
Summary: Set a value
Access: public
| Param | Type | Description | | --- | --- | --- | | name | String | name | | value | * | value |
Example
storage.set('token', '1234')
getStorage~get(name) ⇒ [ 'Promise' ].<*>
Kind: inner method of getStorage
Summary: Get a value
Returns: [ 'Promise' ].<*> - value or undefined
Access: public
| Param | Type | Description | | --- | --- | --- | | name | String | name |
Example
storage.get('token').then((token) => {
console.log(token)
});
getStorage~has(name) ⇒ [ 'Promise' ].<Boolean>
Kind: inner method of getStorage
Summary: Check if the value exists
Returns: [ 'Promise' ].<Boolean> - has value
Access: public
| Param | Type | Description | | --- | --- | --- | | name | String | name |
Example
storage.has('token').then((hasToken) => {
if (hasToken) {
console.log('Yes')
} else {
console.log('No')
});
getStorage~remove(name) ⇒ Promise
Kind: inner method of getStorage
Summary: Remove a value
Access: public
| Param | Type | Description | | --- | --- | --- | | name | String | name |
Example
storage.remove('token')
getStorage~clear() ⇒ Promise
Kind: inner method of getStorage
Summary: Remove all values
Access: public
Example
storage.clear()
Support
If you're having any problem, please raise an issue on GitHub and the balena team will be happy to help.
Tests
Run the test suite by doing:
$ npm test
Contribute
- Issue Tracker: github.com/balena-io-modules/balena-settings-storage/issues
- Source Code: github.com/balena-io-modules/balena-settings-storage
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ npm run lint
License
The project is licensed under the Apache 2.0 license.