"use strict"; var Minimist = require('minimist'); class Input { /** * Constructor. * * @param object process */ constructor(process) { this.args = Minimist(process.argv.slice(2)); this.node = process.argv[0]; this.script = process.argv[1]; } /** * Return the value of the given name argument. * * @param string name * @param mixed default * * @return mixed */ get(name, defaultValue) { if (this.has(name)) { return this.args[name]; } if (defaultValue !== undefined) { return defaultValue; } return null; } /** * Check the given argument name exists. * * @param string name * * @return boolean */ has(name) { return this.args.hasOwnProperty(name); } /** * Return if args is empty. * * @return boolean */ empty() { return Object.keys(this.args).length === 1; } } module.exports = Input