Security News
Combatting Alert Fatigue by Prioritizing Malicious Intent
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
electron-json-config
Advanced tools
Simply set and get configuration from a json file for your Electron app
Simply set and get configuration from a json file for your Electron app
This is the 2.x.x tree.
For 1.x.x code and documentation please refer to the 1.x.x tree.
See UPGRADE.md for an upgrade guide.
This package can be used from main and renderer process.
npm install --save electron-json-config
yarn add electron-json-config
const config = require('electron-json-config').factory();
config.set('foo', 'bar');
console.log(config.get('foo')); // bar
import { factory } from 'electron-json-config';
const config = factory();
config.set('foo', 'bar');
console.log(config.get('foo')); // bar
type Key = string | Array<string>;
A key
can be :
'foo'
'foo.bar'
['foo', 'bar']
interface Storable {
[key: string]: Storable | any;
}
factory(file?: string, key?: string): Conf
Description:
Create an instance of Config and returns it.
If an instance with the same key exist, returns this instance instead.
If file is specified, the configuration will be saved to that file instead of the default app.getPath('userData') + '/config.json'
.
If key is specified, the requested instance will be saved under une given key instead of the default userData
.
Examples:
// file: app.getPath('userData') + '/config.json'
// key: 'userData'
factory();
// file: '/data/test.json'
// key: '/data/test.json'
factory('/data/test.json');
// file: '/data/test.json'
// key: 'test'
factory('/data/test.json', 'test');
// file: app.getPath('userData') + '/config.json'
// key: 'test'
factory(undefined, 'test');
Parameters:
Name | Type | Default |
---|---|---|
file? | string | app.getPath('userData') + '/config.json' |
key? | string | `key |
Returns: void
The config class is a set of wrappers and helpers providing access to configuration and file synchronization.
new Config(file: string, data: Storable): Config
Parameters:
Name | Type |
---|---|
file | string |
data | Storable |
Returns: Config
get file(): string
Description: Returns the name of the file the config is stored in.
Returns: string
all(): Storable
Description: Returns all the data currently saved.
Returns: Storable
delete(key: Key): void
Description: Removes the key and its value from the config file.
Parameters:
Name | Type |
---|---|
key | Key |
Returns: void
deleteBulk(keys: Array<Key>): void
Description: Removes all the keys specified and theirs value from the config file.
Parameters:
Name | Type |
---|---|
keys | Array<Key> |
Returns: void
get<T>(key: Key, defaultValue?: T): T | undefined
Description: Returns the value associated with the key, undefined otherwise. You can specify a default value returned in case the key does not exists.
Parameters:
Name | Type |
---|---|
key | Key |
defaultValue? | T |
Returns: T | undefined
has(key: Key): boolean
Description: Checks if a key exists.
Parameters:
Name | Type |
---|---|
key | Key |
Returns: boolean
keys(key?: Key): Array<string>
Description: If key
is omitted, returns an array containing all keys in the config file.
If key
is provided, returns an array containing all sub keys in the key object.
Parameters:
Name | Type |
---|---|
key? | Key |
purge(): void
Description: Removes all data from the config file.
Returns: void
set<T>(key: Key,
value: Storable | T): void
Description: Sets a key with the specified value. Overwrites the value, if the key already exists.
Parameters:
Name | Type |
---|---|
key | Key |
value | Storable | T |
Returns: void
setBulk<T>(items: { [key:string]: Storable | T }): void
Description: Like .set() but sets multiple keys in a single call.
Parameters:
Name | Type |
---|---|
items | { [key: string]: Storable | T } |
Returns: void
FAQs
Simply set and get configuration from a json file for your Electron app
We found that electron-json-config demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.