Fix oputil

This commit is contained in:
Bryan Ashby 2020-07-06 19:13:22 -06:00
parent 9d8b43b605
commit c91ae50c6b
No known key found for this signature in database
GPG Key ID: B49EB437951D2542
3 changed files with 14 additions and 5 deletions

View File

@ -12,7 +12,12 @@ exports.Config = class Config extends ConfigLoader {
super(options); super(options);
} }
static create(baseConfigPath, cb) { static create(baseConfigPath, options, cb) {
if (!cb && _.isFunction(options)) {
cb = options;
options = {};
}
const replacePaths = [ const replacePaths = [
'loginServers.ssh.algorithms.kex', 'loginServers.ssh.algorithms.kex',
'loginServers.ssh.algorithms.cipher', 'loginServers.ssh.algorithms.cipher',
@ -24,7 +29,7 @@ exports.Config = class Config extends ConfigLoader {
'args', 'sendArgs', 'recvArgs', 'recvArgsNonBatch', 'args', 'sendArgs', 'recvArgs', 'recvArgsNonBatch',
]; ];
const options = { const configOptions = Object.assign({}, options, {
defaultConfig : DefaultConfig, defaultConfig : DefaultConfig,
defaultsCustomizer : (defaultVal, configVal, key, path) => { defaultsCustomizer : (defaultVal, configVal, key, path) => {
if (Array.isArray(defaultVal) && Array.isArray(configVal)) { if (Array.isArray(defaultVal) && Array.isArray(configVal)) {
@ -43,9 +48,9 @@ exports.Config = class Config extends ConfigLoader {
Events.emit(Events.getSystemEvents().ConfigChanged); Events.emit(Events.getSystemEvents().ConfigChanged);
} }
}, },
}; });
systemConfigInstance = new Config(options); systemConfigInstance = new Config(configOptions);
systemConfigInstance.init(baseConfigPath, err => { systemConfigInstance.init(baseConfigPath, err => {
if (err) { if (err) {
console.stdout(`Configuration ${baseConfigPath} error: ${err.message}`); // eslint-disable-line no-console console.stdout(`Configuration ${baseConfigPath} error: ${err.message}`); // eslint-disable-line no-console

View File

@ -13,12 +13,14 @@ module.exports = class ConfigLoader {
defaultConfig = {}, defaultConfig = {},
defaultsCustomizer = null, defaultsCustomizer = null,
onReload = null, onReload = null,
keepWsc = false,
} = } =
{ {
hotReload : true, hotReload : true,
defaultConfig : {}, defaultConfig : {},
defaultsCustomizer : null, defaultsCustomizer : null,
onReload : null, onReload : null,
keepWsc : false,
} }
) )
{ {
@ -28,6 +30,7 @@ module.exports = class ConfigLoader {
this.defaultConfig = defaultConfig; this.defaultConfig = defaultConfig;
this.defaultsCustomizer = defaultsCustomizer; this.defaultsCustomizer = defaultsCustomizer;
this.onReload = onReload; this.onReload = onReload;
this.keepWsc = keepWsc;
} }
init(baseConfigPath, cb) { init(baseConfigPath, cb) {
@ -176,6 +179,7 @@ module.exports = class ConfigLoader {
const options = { const options = {
filePath, filePath,
hotReload : this.hotReload, hotReload : this.hotReload,
keepWsc : this.keepWsc,
callback : this._configFileChanged.bind(this), callback : this._configFileChanged.bind(this),
}; };

View File

@ -71,7 +71,7 @@ function getConfigPath() {
function initConfig(cb) { function initConfig(cb) {
const configPath = getConfigPath(); const configPath = getConfigPath();
config.init(configPath, { keepWsc : true, hotReload : false }, cb); config.Config.create(configPath, { keepWsc : true, hotReload : false }, cb);
} }
function initConfigAndDatabases(cb) { function initConfigAndDatabases(cb) {