hyde-cli
Version:
Hyde's command line interface module
42 lines (35 loc) • 963 B
JavaScript
;
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
});
};