"use strict"; var Minimist = require('minimist'); var Class = require('class.extend'); var Input = Class.extend('Input', { /** * Constructor. * * @param object process */ init: function(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: function(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: function(name) { return this.args.hasOwnProperty(name); }, /** * Return if args is empty. * * @return boolean */ empty: function() { return Object.keys(this.args).length === 1; }, }); module.exports = Input;