UNPKG

hyde-cli

Version:

Hyde's command line interface module

42 lines (35 loc) 963 B
'use strict'; var rx = require('rx'); //Get args observable skipping first two as they are always the node command and stript location in node var args = rx.Observable.fromArray(process.argv).skip(2); var commands = args.map(function(arg) { if (arg.indexOf('--') === 0) { return { type: 'DoubleFlag', value: arg.substring(2, arg.lenth) }; } if (arg.indexOf('-') === 0) { return { type: 'Flag', value: arg.substring(2, arg.lenth) }; } return { type: 'Value', value: arg }; }); module.exports.init = function(hydeConfig) { hydeConfig.moduleLoader.load(hydeConfig, require('../package.json')); hydeConfig.addObservable({ name: 'args', description: 'The raw arguments passed on the command line.', observable: args }); hydeConfig.addObservable({ name: 'commands', description: 'The arguments parsed into flags, double flags, and values.', observable: commands }); };