2017-04-22 20:09:51 +00:00
|
|
|
import * as smartq from 'smartq';
|
2016-12-18 19:53:50 +00:00
|
|
|
import { Subject } from 'rxjs';
|
2016-10-14 22:56:02 +00:00
|
|
|
import { Objectmap } from 'lik';
|
2016-12-18 19:53:50 +00:00
|
|
|
export interface ICommandPromiseObject {
|
2016-08-26 09:52:09 +00:00
|
|
|
commandName: string;
|
2017-04-22 19:03:28 +00:00
|
|
|
promise: Promise<void>;
|
2016-12-18 19:53:50 +00:00
|
|
|
}
|
|
|
|
export interface ITriggerObservableObject {
|
|
|
|
triggerName: string;
|
2016-12-18 19:58:37 +00:00
|
|
|
subject: Subject<any>;
|
2016-08-26 09:52:09 +00:00
|
|
|
}
|
2016-06-10 01:10:21 +00:00
|
|
|
export declare class Smartcli {
|
2016-06-10 01:48:01 +00:00
|
|
|
argv: any;
|
2016-06-10 01:10:21 +00:00
|
|
|
questionsDone: any;
|
2017-04-22 20:09:51 +00:00
|
|
|
parseStarted: smartq.Deferred<any>;
|
2016-06-10 01:48:01 +00:00
|
|
|
commands: any;
|
2016-06-10 01:10:21 +00:00
|
|
|
questions: any;
|
2016-06-10 01:48:01 +00:00
|
|
|
version: string;
|
2016-12-18 00:36:19 +00:00
|
|
|
/**
|
|
|
|
* map of all Command/Promise objects to keep track
|
|
|
|
*/
|
2016-12-18 19:53:50 +00:00
|
|
|
allCommandPromisesMap: Objectmap<ICommandPromiseObject>;
|
|
|
|
/**
|
|
|
|
* map of all Trigger/Observable objects to keep track
|
|
|
|
*/
|
|
|
|
allTriggerObservablesMap: Objectmap<ITriggerObservableObject>;
|
2016-06-10 01:10:21 +00:00
|
|
|
constructor();
|
2016-08-26 07:21:42 +00:00
|
|
|
/**
|
2016-12-18 19:53:50 +00:00
|
|
|
* adds an alias, meaning one equals the other in terms of command execution.
|
2016-08-26 07:21:42 +00:00
|
|
|
*/
|
2016-12-18 19:53:50 +00:00
|
|
|
addCommandAlias(keyArg: any, aliasArg: any): void;
|
2016-08-26 07:21:42 +00:00
|
|
|
/**
|
|
|
|
* adds a Command by returning a Promise that reacts to the specific commandString given.
|
|
|
|
* Note: in e.g. "npm install something" the "install" is considered the command.
|
|
|
|
*/
|
2017-04-22 19:03:28 +00:00
|
|
|
addCommand(commandNameArg: string): Promise<any>;
|
2016-08-26 07:21:42 +00:00
|
|
|
/**
|
|
|
|
* gets a Promise for a command word
|
|
|
|
*/
|
2017-04-22 19:03:28 +00:00
|
|
|
getCommandPromiseByName(commandNameArg: string): Promise<void>;
|
2016-12-18 00:36:19 +00:00
|
|
|
/**
|
2016-12-18 19:53:50 +00:00
|
|
|
* adds a Trigger. Like addCommand(), but returns an subscribable observable
|
|
|
|
*/
|
2016-12-18 19:58:37 +00:00
|
|
|
addTrigger(triggerNameArg: string): Subject<any>;
|
2016-12-18 19:53:50 +00:00
|
|
|
/**
|
|
|
|
* execute trigger by name
|
2016-12-18 00:36:19 +00:00
|
|
|
* @param commandNameArg - the name of the command to trigger
|
|
|
|
*/
|
2016-12-18 19:58:37 +00:00
|
|
|
trigger(triggerName: string): Subject<any>;
|
2016-08-26 09:52:09 +00:00
|
|
|
/**
|
|
|
|
* allows to specify help text to be printed above the rest of the help text
|
|
|
|
*/
|
|
|
|
addHelp(optionsArg: {
|
|
|
|
helpText: string;
|
2016-06-10 01:10:21 +00:00
|
|
|
}): void;
|
2016-08-26 09:52:09 +00:00
|
|
|
/**
|
|
|
|
* specify version to be printed for -v --version
|
|
|
|
*/
|
2016-06-10 01:10:21 +00:00
|
|
|
addVersion(versionArg: string): void;
|
2016-08-26 09:52:09 +00:00
|
|
|
/**
|
|
|
|
* returns promise that is resolved when no commands are specified
|
|
|
|
*/
|
2017-04-22 19:03:28 +00:00
|
|
|
standardTask(): Promise<any>;
|
2016-09-04 15:32:12 +00:00
|
|
|
/**
|
|
|
|
* start the process of evaluating commands
|
|
|
|
*/
|
2016-06-10 01:10:21 +00:00
|
|
|
startParse(): void;
|
2016-06-09 12:03:18 +00:00
|
|
|
}
|