UNPKG

3.35 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ArgInvalidOptionError = exports.FlagInvalidOptionError = exports.UnexpectedArgsError = exports.RequiredFlagError = exports.RequiredArgsError = exports.InvalidArgsSpecError = exports.CLIParseError = void 0;
4const tslib_1 = require("tslib");
5const errors_1 = require("@oclif/errors");
6const deps_1 = tslib_1.__importDefault(require("./deps"));
7var errors_2 = require("@oclif/errors");
8Object.defineProperty(exports, "CLIError", { enumerable: true, get: function () { return errors_2.CLIError; } });
9// eslint-disable-next-line new-cap
10const m = deps_1.default()
11 // eslint-disable-next-line node/no-missing-require
12 .add('help', () => require('./help'))
13 // eslint-disable-next-line node/no-missing-require
14 .add('list', () => require('./list'));
15class 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}
22exports.CLIParseError = CLIParseError;
23class 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}
35exports.InvalidArgsSpecError = InvalidArgsSpecError;
36class 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}
48exports.RequiredArgsError = RequiredArgsError;
49class 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}
57exports.RequiredFlagError = RequiredFlagError;
58class 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}
65exports.UnexpectedArgsError = UnexpectedArgsError;
66class 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}
72exports.FlagInvalidOptionError = FlagInvalidOptionError;
73class 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}
79exports.ArgInvalidOptionError = ArgInvalidOptionError;