1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const errors_1 = require("@oclif/errors");
|
4 | const deps_1 = require("./deps");
|
5 | var errors_2 = require("@oclif/errors");
|
6 | exports.CLIError = errors_2.CLIError;
|
7 | const m = deps_1.default()
|
8 | .add('help', () => require('./help'))
|
9 | .add('list', () => require('./list'));
|
10 | class CLIParseError extends errors_1.CLIError {
|
11 | constructor(options) {
|
12 | options.message += '\nSee more help with --help';
|
13 | super(options.message);
|
14 | this.parse = options.parse;
|
15 | }
|
16 | }
|
17 | exports.CLIParseError = CLIParseError;
|
18 | class RequiredArgsError extends CLIParseError {
|
19 | constructor({ args, parse }) {
|
20 | let message = `Missing ${args.length} required arg${args.length === 1 ? '' : 's'}`;
|
21 | const namedArgs = args.filter(a => a.name);
|
22 | if (namedArgs.length) {
|
23 | const list = m.list.renderList(namedArgs.map(a => [a.name, a.description]));
|
24 | message += `:\n${list}`;
|
25 | }
|
26 | super({ parse, message });
|
27 | this.args = args;
|
28 | }
|
29 | }
|
30 | exports.RequiredArgsError = RequiredArgsError;
|
31 | class RequiredFlagError extends CLIParseError {
|
32 | constructor({ flag, parse }) {
|
33 | const usage = m.list.renderList(m.help.flagUsages([flag], { displayRequired: false }));
|
34 | const message = `Missing required flag:\n${usage}`;
|
35 | super({ parse, message });
|
36 | this.flag = flag;
|
37 | }
|
38 | }
|
39 | exports.RequiredFlagError = RequiredFlagError;
|
40 | class UnexpectedArgsError extends CLIParseError {
|
41 | constructor({ parse, args }) {
|
42 | const message = `Unexpected argument${args.length === 1 ? '' : 's'}: ${args.join(', ')}`;
|
43 | super({ parse, message });
|
44 | this.args = args;
|
45 | }
|
46 | }
|
47 | exports.UnexpectedArgsError = UnexpectedArgsError;
|
48 | class FlagInvalidOptionError extends CLIParseError {
|
49 | constructor(flag, input) {
|
50 | const message = `Expected --${flag.name}=${input} to be one of: ${flag.options.join(', ')}`;
|
51 | super({ parse: {}, message });
|
52 | }
|
53 | }
|
54 | exports.FlagInvalidOptionError = FlagInvalidOptionError;
|
55 | class ArgInvalidOptionError extends CLIParseError {
|
56 | constructor(arg, input) {
|
57 | const message = `Expected ${input} to be one of: ${arg.options.join(', ')}`;
|
58 | super({ parse: {}, message });
|
59 | }
|
60 | }
|
61 | exports.ArgInvalidOptionError = ArgInvalidOptionError;
|