balena-settings-storage

Balena settings storage utilities

Usage no npm install needed!

<script type="module">
  import balenaSettingsStorage from 'https://cdn.skypack.dev/balena-settings-storage';
</script>

README

balena-settings-storage

npm version dependencies Build Status Build status

Join our online chat at Gitter chat

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

Kind: static method of storage
Summary: Get an instance of storage module
Access: public

Param Type Description
options Object options
options.dataDirectory string the directory to use for storage in Node.js. Ignored in the browser.

Example

const storage = require('balena-settings-storage')({
    dataDirectory: '/opt/cache/balena'
})

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

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.