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