config: parsing.
This commit is contained in:
parent
ec41bf2be5
commit
7ec21588ac
@ -122,7 +122,7 @@ config.parseData = function parseData(data) {
|
||||
// Logger
|
||||
options.logLevel = str(data.loglevel);
|
||||
options.logConsole = bool(data.logconsole);
|
||||
options.logFile = boolstr(data.logfile);
|
||||
options.logFile = boolpath(data.logfile);
|
||||
|
||||
// Node
|
||||
options.prefix = path(data.prefix);
|
||||
@ -222,13 +222,13 @@ config.parseText = function parseText(text) {
|
||||
}
|
||||
|
||||
key = key.replace(/\-/g, '').toLowerCase();
|
||||
alias = config.alias.conf[key];
|
||||
|
||||
alias = config.alias.conf[key];
|
||||
if (alias)
|
||||
key = alias;
|
||||
|
||||
if (value.length === 0)
|
||||
value = null;
|
||||
continue;
|
||||
|
||||
data[key] = value;
|
||||
}
|
||||
@ -246,11 +246,8 @@ config.parseArg = function parseArg(argv) {
|
||||
var data = {};
|
||||
var arg, key, value, alias;
|
||||
|
||||
if (!argv) {
|
||||
if (utils.isBrowser)
|
||||
return data;
|
||||
if (!argv)
|
||||
argv = process.argv;
|
||||
}
|
||||
|
||||
argv = argv.slice();
|
||||
|
||||
@ -261,17 +258,25 @@ config.parseArg = function parseArg(argv) {
|
||||
// e.g. --opt
|
||||
arg = arg.split('=');
|
||||
key = arg[0];
|
||||
|
||||
if (arg.length > 1) {
|
||||
// e.g. --opt=val
|
||||
value = arg.slice(1).join('=').trim();
|
||||
} else {
|
||||
value = 'true';
|
||||
}
|
||||
|
||||
key = key.replace(/\-/g, '');
|
||||
|
||||
alias = config.alias.arg[key];
|
||||
if (alias)
|
||||
key = alias;
|
||||
|
||||
if (value.length === 0)
|
||||
continue;
|
||||
|
||||
data[key] = value;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -291,8 +296,14 @@ config.parseArg = function parseArg(argv) {
|
||||
}
|
||||
|
||||
// e.g. foo
|
||||
if (key)
|
||||
data[key] = arg;
|
||||
if (key) {
|
||||
value = arg.trim();
|
||||
|
||||
if (value.length === 0)
|
||||
continue;
|
||||
|
||||
data[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
return config.parseData(data);
|
||||
@ -319,15 +330,18 @@ config.parseEnv = function parseEnv(env) {
|
||||
if (key.indexOf('BCOIN_') !== 0)
|
||||
continue;
|
||||
|
||||
value = env[key];
|
||||
value = env[key].trim();
|
||||
|
||||
key = key.substring(6);
|
||||
key = key.replace(/_/g, '').toLowerCase();
|
||||
alias = config.alias.env[key];
|
||||
|
||||
alias = config.alias.env[key];
|
||||
if (alias)
|
||||
key = alias;
|
||||
|
||||
if (value.length === 0)
|
||||
continue;
|
||||
|
||||
data[key] = value;
|
||||
}
|
||||
|
||||
@ -353,14 +367,21 @@ function path(value) {
|
||||
function bool(value) {
|
||||
if (!value)
|
||||
return null;
|
||||
return value === 'true' || value === '1';
|
||||
|
||||
if (value === 'true' || value === '1')
|
||||
return true;
|
||||
|
||||
if (value === 'false' || value === '0')
|
||||
return false;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function num(value) {
|
||||
if (value == null)
|
||||
if (!value)
|
||||
return null;
|
||||
|
||||
value = parseInt(value, 10);
|
||||
value = +value;
|
||||
|
||||
if (!isFinite(value))
|
||||
return null;
|
||||
@ -368,7 +389,7 @@ function num(value) {
|
||||
return value;
|
||||
}
|
||||
|
||||
function boolstr(value) {
|
||||
function boolpath(value) {
|
||||
if (!value)
|
||||
return null;
|
||||
|
||||
@ -385,14 +406,12 @@ function file(value) {
|
||||
if (!fs)
|
||||
return null;
|
||||
|
||||
value = path(value);
|
||||
|
||||
if (!value)
|
||||
return null;
|
||||
|
||||
try {
|
||||
return fs.readFileSync(path(value));
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
return fs.readFileSync(value);
|
||||
}
|
||||
|
||||
function readFile(file) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user