UNPKG

will-util

Version:
93 lines (92 loc) 3.54 kB
"use strict"; 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;