electron-prefs
v1.0.7
Published
Persist and retrieve with ease configuration and preference settings in your Electron-based apps.
Maintainers
Readme
Electron-prefs
User preferences and configuration settings persistence feature for
Electron-based apps.
Overview
As Electron doesn't provide a built-in mechanism to easily persist and retrieve user preferences and configuration settings, install and include the electron-prefs module in your Electron project and let it handle that for you, so you can focus on your app development.
You can use the electron-prefs module directly in both the main and renderer process.
All user preferences and configuration settings are stored locally in a JSON file and can be accessed using app.getPath('userData').
Installation
npm install electron-prefs
or
npm install --save electron-prefs
Usage
const electron = require("electron");
const ElectronPrefs = require('electron-prefs');
const prefs = new ElectronPrefs({
fileName: "config.js",
defaults: {
window: {
width: 600,
height: 300
}
}
});
prefs.set('foo', 'bar');
console.log(prefs.get('foo'));
//=> bar
console.log(prefs.get("window"));
//=> { width: 600, height: 300 }
// use dot-notation to access nested properties
prefs.set('window.width', 700);
console.log(prefs.get("window"));
//=> { width: 700, height: 300 }
console.log(prefs.get('window.width'));
//=> 700
prefs.delete('foo');
console.log(prefs.get('foo'));
//=> undefined
API
Constructor:
▸
new ElectronPrefs(mOptions)Creates an instance of
ElectronPrefs.Parameters:
|Type|Name|Description| |:---|:---|:----------| |
Object|mOptions|A JSON-like object containing instance options| |String|mOptions.fileName|The name of the file where preferences are stored| |String|mOptions.sFilePath|The full path to the settings data file.| |Object|mOptions.defaults|A set of default settings and/or preferences|Properties:
|Type|Name|Description|Read-only|Static| |:---|:---|:---|:---|:---| |
Object|defaults|The default values for this instance.|Yes|No| |String|path|The full path to the configuration data file.|Yes|No| |Number|size|he number of entries in the settings file (same aslength).|Yes|No| |Number|length|he number of entries in the settings file (same assize).|Yes|No| |Function|superClass|Returns a reference to the super class.|Yes|Yes|Methods:
▸
ElectronPrefs.superClass.parseDataFile(sFilePath, mDefaults)Reads the settings data file and returns its content as a
JSONobject.Parameters:
|Type|Name|Description| |:---|:---|:----------| |
String|sFilePath|The full path to the settings data file.| |Object|mDefaults|A set of default values to return if it fails loading the settings data file.|Returns:
Object- AJSON-like object containing the settings and user preferences iub the data file.▸
ElectronPrefs.superClass.flattenObject(oObj, sSeparator)Flattens nested objects into a single-depth object. For example:
{ foo: 'bar', baz: { foo: 'bar' } }will turn into:
{ foo: 'bar', 'baz.foo': 'bar' }Parameters:
|Type|Name|Description| |:---|:---|:----------| |
Object|oObj|The object (with nested objects) to flatten.| |String|sSeparator|A string to use as separator between the keys. By default, the separator is.(dot).|Returns:
Object- The flatten object.▸
ElectronPrefs.prototype.clear()Removes all the settings in the settings list.
Parameters: None
Returns:
ElectronPrefs- Self-reference for method chaining calls.▸
ElectronPrefs.prototype.delete(sKey)Removes the specified settings item from the settings list.
Parameters:
|Type|Name|Description| |:---|:---|:----------| |
String|sKey|The settings item to remove.|Returns:
ElectronPrefs- Self-reference for method chaining calls.▸
ElectronPrefs.prototype.entries()Returns a array containing all the
[key, value]pairs for each settings item in the settings list.Parameters: None
Returns:
Array- The[key, value]pairs array.▸
ElectronPrefs.prototype.forEach(fCallback, thisArg)Executes the given function once for each
key-valuepair in the settings list.Parameters:
|Type|Name|Description| |:---|:---|:----------| |
Function|fCallback|The function to execute for eachkey-valuepair.| |Object|thisArg|The value ofthiswhen executing the callback function.|Returns:
ElectronPrefs- Self-reference for method chaining calls.▸
ElectronPrefs.prototype.has(sKey)Returns whether the settings list contains a settings item with the given key or not.
Parameters:
|Type|Name|Description| |:---|:---|:----------| |
String|sKey|The key to check the settings list for.|Returns:
Boolean-trueif the settings list contains a settings item with given key, orfalseotherwise.▸
ElectronPrefs.prototype.get(sKey)Gets the value of the settings item referenced by the given key in the settings list, or the whole list if no key is given.
Parameters:
|Type|Name|Description| |:---|:---|:----------| |
String|sKey|The key of a settings item in the settings list.|Returns:
any- The value of the settings item referenced by the key in the settings list, or the whole list if no key is given.▸
ElectronPrefs.prototype.set(sKey, sValue)Sets the given value as the value of the settings item referenced by the given key in the settings list.
Parameters:
|Type|Name|Description| |:---|:---|:----------| |
String|sKey|The key of a settings item in the settings list.| |any|sValue|The value to assign to the settings item referenced by the key in the settings list.|Returns:
ElectronPrefs- Self-reference for method chaining calls.▸
ElectronPrefs.prototype.keys()Returns the names of all enumerable settings and preferences of this object.
Parameters: None
Returns:
String[]- The names of the enumerable settings and preferences.▸
ElectronPrefs.prototype.values()Returns the names of all enumerable settings and preferences of this object.
Parameters: None
Returns:
String[]- The values of the enumerable settings and preferences.
Version
1.0.7
