UNPKG

3.06 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const errors_1 = require("@oclif/errors");
5const deps_1 = tslib_1.__importDefault(require("./deps"));
6var errors_2 = require("@oclif/errors");
7exports.CLIError = errors_2.CLIError;
8// eslint-disable-next-line new-cap
9const m = deps_1.default()
10 // eslint-disable-next-line node/no-missing-require
11 .add('help', () => require('./help'))
12 // eslint-disable-next-line node/no-missing-require
13 .add('list', () => require('./list'));
14class 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}
21exports.CLIParseError = CLIParseError;
22class 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}
34exports.InvalidArgsSpecError = InvalidArgsSpecError;
35class 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}
47exports.RequiredArgsError = RequiredArgsError;
48class 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}
56exports.RequiredFlagError = RequiredFlagError;
57class 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}
64exports.UnexpectedArgsError = UnexpectedArgsError;
65class 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}
71exports.FlagInvalidOptionError = FlagInvalidOptionError;
72class 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}
78exports.ArgInvalidOptionError = ArgInvalidOptionError;