commander-rxjs
v0.0.6
Published
A simple adapter to easily use RxJS with commander.
Readme
commander-rxjs
A simple adapter to easily use RxJS with commander.
Installation
$ npm install commander-rxjsImportant: commander and rxjs are both peer dependencies. You must install them alongside commander-rxjs.
$ npm install commander rxjsAPI
ObservableCommand
commander exports an instance of a Command:
import program from 'commander';
program
.command('example')
.action(options => {
// do stuff
});
program
.parse(proces.argv);commander-rxjs exports an instance of a wrapped Command known as an ObservableCommand.
The ObservableCommand has the exact same API as a Command, with the addition of one function, observe(), which is used in place of the .action() function:
import program from 'commander-rxjs';
program
.command('example')
.observe()
// ... do stream stuff
.subscribe();
program
.parse(proces.argv);observe()
returns an RxJS observable stream with the following data:
{
args: {
'camelCasedArgument': 'value',
'...': '...'
},
options: {
'camelCasedOption': 'value',
'...': '...'
},
command: Command // (commander raw command)
}Examples
Be sure to checkout all of the examples. They can easily be run with npm run example:[example].
