UNPKG

2.32 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const errors_1 = require("@oclif/errors");
4const deps_1 = require("./deps");
5var errors_2 = require("@oclif/errors");
6exports.CLIError = errors_2.CLIError;
7const m = deps_1.default()
8 .add('help', () => require('./help'))
9 .add('list', () => require('./list'));
10class 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}
17exports.CLIParseError = CLIParseError;
18class 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}
30exports.RequiredArgsError = RequiredArgsError;
31class 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}
39exports.RequiredFlagError = RequiredFlagError;
40class 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}
47exports.UnexpectedArgsError = UnexpectedArgsError;
48class 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}
54exports.FlagInvalidOptionError = FlagInvalidOptionError;
55class 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}
61exports.ArgInvalidOptionError = ArgInvalidOptionError;