will-util
Version:
Utility functional
93 lines (92 loc) • 3.54 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Arguments = void 0;
class Arguments {
static isParameterOption(argument) {
if (argument != null && argument.length > 0 && argument.charAt(0) == '-') {
return true;
}
return false;
}
static getString(args, defaultValue, ...options) {
if (!args)
args = process.argv.slice(2);
if (args != null && args.length > 0) {
for (let i = 0, isz = args.length; i < isz; i++) {
let para = args[i];
for (let j = 0; j < options.length; j++) {
if (para == options[j] && (args.length > (i + 1)) && !this.isParameterOption(args[i + 1])) {
return args[i + 1];
}
}
}
}
return defaultValue;
}
static getDate(args, defaultValue, ...options) {
if (!args)
args = process.argv.slice(2);
if (args != null && args.length > 0) {
for (let i = 0, isz = args.length; i < isz; i++) {
let para = args[i];
for (let j = 0; j < options.length; j++) {
if (para == options[j] && (args.length > (i + 1)) && !this.isParameterOption(args[i + 1])) {
//date in format : yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss
return new Date(args[i + 1]);
}
}
}
}
return defaultValue;
}
static getInteger(args, defaultValue, ...options) {
if (!args)
args = process.argv.slice(2);
if (args != null && args.length > 0) {
for (let i = 0, isz = args.length; i < isz; i++) {
let para = args[i];
for (let j = 0; j < options.length; j++) {
if (para == options[j] && (args.length > (i + 1))) {
return parseInt(args[i + 1]);
}
}
}
}
return defaultValue;
}
static getFloat(args, defaultValue, ...options) {
if (!args)
args = process.argv.slice(2);
if (args != null && args.length > 0) {
for (let i = 0, isz = args.length; i < isz; i++) {
let para = args[i];
for (let j = 0; j < options.length; j++) {
if (para == options[j] && (args.length > (i + 1))) {
return parseFloat(args[i + 1]);
}
}
}
}
return defaultValue;
}
static getBoolean(args, defaultValue, ...options) {
if (!args)
args = process.argv.slice(2);
if (args != null && args.length > 0) {
for (let i = 0, isz = args.length; i < isz; i++) {
let para = args[i];
for (let j = 0; j < options.length; j++) {
if (para == options[j] && (args.length > (i + 1)) && !this.isParameterOption(args[i + 1])) {
let pr = args[i + 1].toLowerCase();
if (pr === "true")
return true;
if (pr === "false")
return false;
}
}
}
}
return defaultValue;
}
}
exports.Arguments = Arguments;
;