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