-
-
Notifications
You must be signed in to change notification settings - Fork 157
Open
Labels
Description
It's easy to think that it would make for a simpler API. No need to initialize it first. I thought so too at first.
But imagine if it had been a singleton:
index.js
const config = require('electron-config');
const someComponent = require('./some-component');
config.setDefaults({
foo: true
});
…
config.get('foo');
//=> true
some-component.js
const config = require('electron-config');
…
config.get('foo');
//=> undefined
Note the undefined
. So you would have to be careful about setting the defaults before any app imports, which is easy to forget.
The following a much safer and explicit pattern:
config.js
const config = require('electron-config');
module.exports = new Config({
foo: true
});
index.js
const config = require('./config');
const someComponent = require('./some-component');
…
config.get('foo');
//=> true
some-component.js
const config = require('./config');
…
config.get('foo');
//=> true
Thoughts on this?
tmarwen and reconbotHaroenv, thisconnect, ritz078, OhadRon, michaelbremec and 18 morenxame and amilajack