balena-settings-storage
TypeScript icon, indicating that this package has built-in type declarations

8.1.0 • Public • Published

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 | 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~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.

Package Sidebar

Install

npm i balena-settings-storage

Weekly Downloads

7,960

Version

8.1.0

License

Apache-2.0

Unpacked Size

78.4 kB

Total Files

42

Last publish

Collaborators

  • balena.io