UNPKG

2.19 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 return new (P || (P = Promise))(function (resolve, reject) {
5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 step((generator = generator.apply(thisArg, _arguments || [])).next());
9 });
10};
11Object.defineProperty(exports, "__esModule", { value: true });
12const error_1 = require("./error");
13const internalOptions_1 = require("./internalOptions");
14const Parser_1 = require("./Parser");
15const prompt_1 = require("./prompt");
16const runHandler_1 = require("./runHandler");
17class Cli {
18 constructor(programDefinition, version, cliOptions = {}) {
19 this.programDefinition = programDefinition;
20 this.version = version;
21 this.cliOptions = cliOptions;
22 this.parse = (argv = process.argv) => {
23 const parser = new Parser_1.Parser(argv, this.programDefinition, runHandler_1.createRunHandler(this.cliOptions), error_1.parserErrorHandler, prompt_1.promptHandler, this.version, internalOptions_1.internalOptions, this.cliOptions.showPrompts);
24 return parser.parsedCommand;
25 };
26 this.start = (argv = process.argv) => __awaiter(this, void 0, void 0, function* () {
27 const parsedCommand = this.parse(argv);
28 return parsedCommand.run();
29 });
30 }
31}
32exports.Cli = Cli;
33Cli.start = (programDefinition, version, cliOptions = {}, argv = process.argv) => __awaiter(void 0, void 0, void 0, function* () {
34 const cli = new Cli(programDefinition, version, cliOptions);
35 return cli.start(argv);
36});
37Cli.parse = (programDefinition, version, cliOptions = {}, argv = process.argv) => {
38 const cli = new Cli(programDefinition, version, cliOptions);
39 return cli.parse(argv);
40};
41//# sourceMappingURL=Cli.js.map
\No newline at end of file