massarg 2.0.0-pre.3 → 2.0.0-pre.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/help.js CHANGED
@@ -7,15 +7,29 @@ exports.HelpGenerator = exports.defaultHelpConfig = exports.HelpConfig = exports
7
7
  const zod_1 = __importDefault(require("zod"));
8
8
  const style_1 = require("./style");
9
9
  const utils_1 = require("./utils");
10
+ const option_1 = require("./option");
10
11
  exports.GenerateTableCommandConfig = zod_1.default.object({
11
- maxRowLength: zod_1.default.number().optional(),
12
- namePrefix: zod_1.default.string().optional(),
13
- aliasPrefix: zod_1.default.string().optional(),
12
+ /** Length of each row in the table */
13
+ lineLength: zod_1.default.number().optional(),
14
+ /** When `false`, each row is separated by a blank line */
14
15
  compact: zod_1.default.boolean().optional(),
16
+ /** Style of the command/option name */
15
17
  nameStyle: style_1.StringStyle.optional(),
18
+ /** Style of the command/option description */
16
19
  descriptionStyle: style_1.StringStyle.optional(),
20
+ /** Prefix for the command/option name (default is the command's prefix) */
21
+ namePrefix: zod_1.default.string().optional(),
22
+ /** Prefix for the command/option aliases (default is the command's prefix) */
23
+ aliasPrefix: zod_1.default.string().optional(),
17
24
  });
18
- exports.GenerateTableOptionConfig = exports.GenerateTableCommandConfig;
25
+ exports.GenerateTableOptionConfig = exports.GenerateTableCommandConfig.merge(zod_1.default.object({
26
+ /** Prefix for the command/option negations (default is the command's prefix) */
27
+ negatePrefix: zod_1.default.string().optional(),
28
+ /** Prefix for the command/option negation aliases (default is the command's prefix) */
29
+ negateAliasPrefix: zod_1.default.string().optional(),
30
+ /** Whether to display negations with each option name */
31
+ displayNegations: zod_1.default.boolean().optional(),
32
+ }));
19
33
  exports.HelpConfig = zod_1.default.object({
20
34
  /**
21
35
  * Whether to bind the help command to this command
@@ -29,10 +43,12 @@ exports.HelpConfig = zod_1.default.object({
29
43
  * Set this to `true` to automatically add a `--help` option to this command's options.
30
44
  */
31
45
  bindOption: zod_1.default.boolean().optional(),
46
+ /** Whether to align all tables to the column widths, or have each table be independent. Default is `true` */
47
+ useGlobalTableColumns: zod_1.default.boolean().default(true).optional(),
32
48
  /** Options for generating the table of commands */
33
- commandOptions: exports.GenerateTableCommandConfig.omit({ maxRowLength: true }).optional(),
49
+ commandOptions: exports.GenerateTableCommandConfig.omit({ lineLength: true }).optional(),
34
50
  /** Options for generating the table of options */
35
- optionOptions: exports.GenerateTableOptionConfig.omit({ maxRowLength: true }).optional(),
51
+ optionOptions: exports.GenerateTableOptionConfig.omit({ lineLength: true }).optional(),
36
52
  /** Style of the help title */
37
53
  titleStyle: style_1.StringStyle.optional(),
38
54
  /** Style of the help description */
@@ -40,13 +56,27 @@ exports.HelpConfig = zod_1.default.object({
40
56
  /** Style of the help subtitles for commands, options and examples */
41
57
  subtitleStyle: style_1.StringStyle.optional(),
42
58
  /** Style of the help usage */
43
- usageStyle: style_1.StringStyle.optional(),
59
+ usageStyle: zod_1.default
60
+ .object({
61
+ /** Style of the help usage title - appears before the usage text (custom or auto) */
62
+ prefix: style_1.StringStyle.optional(),
63
+ /**
64
+ * For custom usage text, this is the primary style used (right after the `prefix` style).
65
+ * For automated usage text, this style is used for the command/binary name
66
+ */
67
+ main: style_1.StringStyle.optional(),
68
+ /** Style of the help usage commands (if any) */
69
+ command: style_1.StringStyle.optional(),
70
+ /** Style of the help usage options (if any) */
71
+ options: style_1.StringStyle.optional(),
72
+ })
73
+ .optional(),
44
74
  /** Style of the help header */
45
75
  headerStyle: style_1.StringStyle.optional(),
46
76
  /** Style of the help footer */
47
77
  footerStyle: style_1.StringStyle.optional(),
48
78
  /** Maximum length of a row in the help output */
49
- maxRowLength: zod_1.default.number().optional(),
79
+ lineLength: zod_1.default.number().optional(),
50
80
  /** Options for examples section */
51
81
  exampleOptions: zod_1.default
52
82
  .object({
@@ -70,10 +100,9 @@ exports.HelpConfig = zod_1.default.object({
70
100
  footerText: zod_1.default.string().optional(),
71
101
  });
72
102
  exports.defaultHelpConfig = {
73
- maxRowLength: 80,
103
+ lineLength: 80,
104
+ useGlobalTableColumns: true,
74
105
  commandOptions: {
75
- namePrefix: '',
76
- aliasPrefix: '',
77
106
  nameStyle: {
78
107
  color: 'yellow',
79
108
  },
@@ -82,8 +111,11 @@ exports.defaultHelpConfig = {
82
111
  },
83
112
  },
84
113
  optionOptions: {
85
- namePrefix: '--',
86
- aliasPrefix: '-',
114
+ namePrefix: option_1.OPT_FULL_PREFIX,
115
+ aliasPrefix: option_1.OPT_SHORT_PREFIX,
116
+ negatePrefix: option_1.NEGATE_FULL_PREFIX,
117
+ negateAliasPrefix: option_1.NEGATE_SHORT_PREFIX,
118
+ displayNegations: false,
87
119
  nameStyle: {
88
120
  color: 'yellow',
89
121
  },
@@ -113,8 +145,19 @@ exports.defaultHelpConfig = {
113
145
  color: 'yellow',
114
146
  },
115
147
  usageStyle: {
116
- bold: true,
117
- color: 'yellow',
148
+ prefix: {
149
+ bold: true,
150
+ color: 'brightWhite',
151
+ },
152
+ main: {
153
+ color: 'yellow',
154
+ },
155
+ command: {
156
+ color: 'gray',
157
+ },
158
+ options: {
159
+ color: 'gray',
160
+ },
118
161
  },
119
162
  subtitleStyle: {
120
163
  bold: true,
@@ -130,30 +173,26 @@ exports.defaultHelpConfig = {
130
173
  class HelpGenerator {
131
174
  constructor(entry, config) {
132
175
  this.entry = entry;
133
- this.config = exports.HelpConfig.required().parse({
134
- ...entry.helpConfig,
135
- commandOptions: {
136
- ...entry.helpConfig?.commandOptions,
137
- ...config?.commandOptions,
138
- },
139
- optionOptions: {
140
- ...entry.helpConfig?.optionOptions,
141
- ...config?.optionOptions,
142
- },
143
- });
176
+ this.config = exports.HelpConfig.required().parse((0, utils_1.deepMerge)(entry.helpConfig, config));
144
177
  }
145
178
  generate() {
146
179
  const entry = this.entry;
147
180
  const CMD_OPT_INDENT = 4;
148
- const _wrap = (text, indent = 0) => wrap(text, this.config.maxRowLength - indent);
149
- const options = generateHelpTable(entry.options, {
181
+ const _wrap = (text, indent = 0) => wrap(text, this.config.lineLength - indent);
182
+ const optionOptions = {
150
183
  ...this.config.optionOptions,
151
- maxRowLength: this.config.maxRowLength - CMD_OPT_INDENT,
152
- }).trimEnd();
153
- const commands = generateHelpTable(entry.commands, {
184
+ lineLength: this.config.lineLength - CMD_OPT_INDENT,
185
+ };
186
+ const commandOptions = {
154
187
  ...this.config.commandOptions,
155
- maxRowLength: this.config.maxRowLength - CMD_OPT_INDENT,
156
- }).trimEnd();
188
+ displayNegations: false,
189
+ lineLength: this.config.lineLength - CMD_OPT_INDENT,
190
+ };
191
+ const maxNameLength = this.config.useGlobalTableColumns
192
+ ? Math.max(getMaxNameLength(entry.options.map((e) => getItemDetails(e, optionOptions))), getMaxNameLength(entry.commands.map((e) => getItemDetails(e, commandOptions))))
193
+ : undefined;
194
+ const options = generateHelpTable(entry.options, optionOptions, maxNameLength).trimEnd();
195
+ const commands = generateHelpTable(entry.commands, commandOptions, maxNameLength).trimEnd();
157
196
  const examples = entry.examples
158
197
  .map((example) => {
159
198
  const { description, input, output } = example;
@@ -161,14 +200,20 @@ class HelpGenerator {
161
200
  _wrap((0, style_1.format)(description, this.config.exampleOptions.descriptionStyle), 4),
162
201
  ], input &&
163
202
  _wrap((0, style_1.format)([this.config.exampleOptions.inputPrefix, input].filter(Boolean).join(' '), this.config.exampleOptions.inputStyle), 4), output &&
164
- _wrap((0, style_1.format)([this.config.exampleOptions.outputPrefix, output].filter(Boolean).join(' '), this.config.exampleOptions.outputStyle), 4), '');
203
+ _wrap((0, style_1.format)([this.config.exampleOptions.outputPrefix, output].filter(Boolean).join(' '), this.config.exampleOptions.outputStyle), 4));
165
204
  })
166
205
  .join('\n');
167
206
  const { headerText, footerText, usageText } = this.config;
168
- return ((0, utils_1.strConcat)(_wrap((0, style_1.format)(usageText ||
169
- [`Usage:`, entry.name, commands.length && '[command]', options.length && '[options]']
207
+ return ((0, utils_1.strConcat)(_wrap(usageText
208
+ ? (0, utils_1.strConcat)((0, style_1.format)('Usage:', this.config.usageStyle.prefix), (0, style_1.format)(usageText, this.config.usageStyle.main))
209
+ : [
210
+ (0, style_1.format)(`Usage:`, this.config.usageStyle.prefix),
211
+ (0, style_1.format)(entry.name, this.config.usageStyle.main),
212
+ commands.length && (0, style_1.format)('[command]', this.config.usageStyle.command),
213
+ options.length && (0, style_1.format)('[options]', this.config.usageStyle.options),
214
+ ]
170
215
  .filter(Boolean)
171
- .join(' '), this.config.usageStyle)), headerText.length && ['', (0, style_1.format)(headerText, this.config.descriptionStyle)], entry.description.length && [
216
+ .join(' ')), headerText.length && ['', (0, style_1.format)(headerText, this.config.descriptionStyle)], entry.description.length && [
172
217
  '',
173
218
  _wrap((0, style_1.format)(entry.description, this.config.descriptionStyle)),
174
219
  ], commands.length &&
@@ -191,16 +236,16 @@ class HelpGenerator {
191
236
  }
192
237
  }
193
238
  exports.HelpGenerator = HelpGenerator;
194
- function wrap(text, maxRowLength) {
239
+ function wrap(text, lineLength) {
195
240
  const length = (0, style_1.stripStyle)(text).length;
196
- if (length <= maxRowLength) {
241
+ if (length <= lineLength) {
197
242
  return text;
198
243
  }
199
244
  const subRows = [];
200
245
  const words = text.split(' ');
201
246
  let currentRow = '';
202
247
  for (const word of words) {
203
- if ((0, style_1.stripStyle)(currentRow).length + (0, style_1.stripStyle)(word).length + 1 > maxRowLength) {
248
+ if ((0, style_1.stripStyle)(currentRow).length + (0, style_1.stripStyle)(word).length + 1 > lineLength) {
204
249
  subRows.push(currentRow);
205
250
  currentRow = '';
206
251
  }
@@ -209,23 +254,47 @@ function wrap(text, maxRowLength) {
209
254
  subRows.push(currentRow);
210
255
  return subRows.join('\n');
211
256
  }
212
- function generateHelpTable(items, { maxRowLength = 80, namePrefix = '', aliasPrefix = '', compact = false, ...config } = {}) {
257
+ const getMaxNameLength = (items) => Math.max(...items.map((o) => o.name.length));
258
+ function getItemDetails(o, options) {
259
+ const { displayNegations = false, namePrefix = '', negatePrefix = '', aliasPrefix = '', negateAliasPrefix = '', } = options ?? {};
260
+ const cmdNames = {
261
+ full: `${namePrefix}${o.name}`,
262
+ fullNegated: negatePrefix ? `${negatePrefix}${o.name}` : undefined,
263
+ aliases: o.aliases.map((a) => `${aliasPrefix}${a}`).join(' | '),
264
+ aliasesNegated: negatePrefix
265
+ ? o.aliases.map((a) => `${negateAliasPrefix}${a}`).join(' | ')
266
+ : undefined,
267
+ };
268
+ const name = [
269
+ cmdNames.full,
270
+ cmdNames.aliases,
271
+ displayNegations && cmdNames.fullNegated,
272
+ displayNegations && cmdNames.aliasesNegated,
273
+ ]
274
+ .filter(Boolean)
275
+ .join(' | ');
276
+ const description = o.description;
277
+ const hidden = o.hidden || false;
278
+ return { name, description, hidden };
279
+ }
280
+ function generateHelpTable(items, fullConfig = {}, maxNameLength) {
281
+ const { lineLength = 80, namePrefix = '', aliasPrefix = '', negatePrefix = '', negateAliasPrefix = '', displayNegations = false, compact = false, ...config } = fullConfig;
213
282
  const rows = items
214
- .map((o) => {
215
- const name = `${namePrefix}${o.name}${o.aliases.length ? ` | ${aliasPrefix}${o.aliases.join(`|${aliasPrefix}`)}` : ''}`;
216
- const description = o.description;
217
- const hidden = o.hidden || false;
218
- return { name, description, hidden };
219
- })
283
+ .map((o) => getItemDetails(o, {
284
+ namePrefix,
285
+ aliasPrefix,
286
+ negatePrefix,
287
+ negateAliasPrefix,
288
+ }))
220
289
  .filter((r) => !r.hidden);
221
- const maxNameLength = Math.max(...rows.map((o) => o.name.length));
290
+ maxNameLength ??= getMaxNameLength(rows);
222
291
  const nameStyle = (name) => (0, style_1.format)(name, config.nameStyle);
223
292
  const descStyle = (desc) => (0, style_1.format)(desc, config.descriptionStyle);
224
293
  const table = rows.map((row) => {
225
294
  const name = nameStyle(row.name.padEnd(maxNameLength + 2));
226
295
  const description = descStyle(row.description);
227
296
  const length = (0, style_1.stripStyle)(name).length + (0, style_1.stripStyle)(description).length;
228
- if (length <= maxRowLength) {
297
+ if (length <= lineLength) {
229
298
  const line = `${name}${description}`;
230
299
  if (!compact) {
231
300
  return `${line}\n`;
@@ -236,7 +305,7 @@ function generateHelpTable(items, { maxRowLength = 80, namePrefix = '', aliasPre
236
305
  const words = description.split(' ');
237
306
  let currentRow = name;
238
307
  for (const word of words) {
239
- if ((0, style_1.stripStyle)(currentRow).length + (0, style_1.stripStyle)(word).length + 1 > maxRowLength) {
308
+ if ((0, style_1.stripStyle)(currentRow).length + (0, style_1.stripStyle)(word).length + 1 > lineLength) {
240
309
  subRows.push(currentRow);
241
310
  currentRow = ' '.repeat(maxNameLength + 2);
242
311
  }
package/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
package/massarg.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ArgsObject, CommandConfig, MassargCommand } from './command';
2
- type MinimalCommandConfig<Args extends ArgsObject> = Omit<CommandConfig<Args>, 'aliases' | 'run'> & Partial<Pick<CommandConfig<Args>, 'aliases' | 'run'>>;
2
+ type MinimalCommandConfig<Args extends ArgsObject = ArgsObject> = Omit<CommandConfig<Args>, 'aliases' | 'run'> & Partial<Pick<CommandConfig<Args>, 'aliases' | 'run'>>;
3
3
  export declare class Massarg<Args extends ArgsObject = ArgsObject> extends MassargCommand<Args> {
4
4
  constructor(options: MinimalCommandConfig<Args>);
5
5
  }
package/massarg.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"massarg.d.ts","sourceRoot":"","sources":["../src/massarg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAErE,KAAK,oBAAoB,CAAC,IAAI,SAAS,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,GAC/F,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAA;AAEvD,qBAAa,OAAO,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,cAAc,CAAC,IAAI,CAAC;gBACzE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC;CAWhD;AAED,wBAAgB,OAAO,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,EAC1D,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAClC,cAAc,CAAC,IAAI,CAAC,CAEtB"}
1
+ {"version":3,"file":"massarg.d.ts","sourceRoot":"","sources":["../src/massarg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAErE,KAAK,oBAAoB,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI,IAAI,CACpE,aAAa,CAAC,IAAI,CAAC,EACnB,SAAS,GAAG,KAAK,CAClB,GACC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,CAAA;AAEvD,qBAAa,OAAO,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,cAAc,CAAC,IAAI,CAAC;gBACzE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC;CAWhD;AAED,wBAAgB,OAAO,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,EAC1D,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAClC,cAAc,CAAC,IAAI,CAAC,CAEtB"}
package/massarg.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"massarg.js","sourceRoot":"","sources":["../src/massarg.ts"],"names":[],"mappings":";;;AAAA,uCAAqE;AAKrE,MAAa,OAA8C,SAAQ,wBAAoB;IACrF,YAAY,OAAmC;QAC7C,uFAAuF;QACvF,KAAK,CAAC;YACJ,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,GAAG,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;gBAC9B,8CAA8C;YAChD,CAAC;YACD,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF;AAZD,0BAYC;AAED,SAAgB,OAAO,CACrB,OAAmC;IAEnC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAJD,0BAIC"}
1
+ {"version":3,"file":"massarg.js","sourceRoot":"","sources":["../src/massarg.ts"],"names":[],"mappings":";;;AAAA,uCAAqE;AAQrE,MAAa,OAA8C,SAAQ,wBAAoB;IACrF,YAAY,OAAmC;QAC7C,uFAAuF;QACvF,KAAK,CAAC;YACJ,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,GAAG,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;gBAC9B,8CAA8C;YAChD,CAAC;YACD,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;CACF;AAZD,0BAYC;AAED,SAAgB,OAAO,CACrB,OAAmC;IAEnC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC;AAJD,0BAIC"}
package/option.d.ts CHANGED
@@ -38,8 +38,8 @@ export declare const OptionConfig: <OptionType, Args extends object = object>(ty
38
38
  /** Specify a custom name for the output, which will be used when parsing the args. */
39
39
  outputName: z.ZodOptional<z.ZodString>;
40
40
  }, "strip", z.ZodTypeAny, {
41
- description: string;
42
41
  name: string;
42
+ description: string;
43
43
  aliases: string[];
44
44
  defaultValue?: any;
45
45
  parse?: Parser<Args, OptionType> | undefined;
@@ -49,8 +49,8 @@ export declare const OptionConfig: <OptionType, Args extends object = object>(ty
49
49
  hidden?: boolean | undefined;
50
50
  outputName?: string | undefined;
51
51
  }, {
52
- description: string;
53
52
  name: string;
53
+ description: string;
54
54
  aliases: string[];
55
55
  defaultValue?: any;
56
56
  parse?: Parser<Args, OptionType> | undefined;
@@ -61,13 +61,45 @@ export declare const OptionConfig: <OptionType, Args extends object = object>(ty
61
61
  outputName?: string | undefined;
62
62
  }>;
63
63
  export type OptionConfig<T = unknown, Args extends ArgsObject = ArgsObject> = z.infer<ReturnType<typeof OptionConfig<T, Args>>>;
64
+ export declare const FlagConfig: z.ZodObject<{
65
+ name: z.ZodString;
66
+ description: z.ZodString;
67
+ defaultValue: z.ZodOptional<z.ZodAny>;
68
+ aliases: z.ZodArray<z.ZodString, "many">;
69
+ array: z.ZodOptional<z.ZodBoolean>;
70
+ required: z.ZodOptional<z.ZodBoolean>;
71
+ hidden: z.ZodOptional<z.ZodBoolean>;
72
+ outputName: z.ZodOptional<z.ZodString>;
73
+ negatable: z.ZodOptional<z.ZodBoolean>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ name: string;
76
+ description: string;
77
+ aliases: string[];
78
+ defaultValue?: any;
79
+ array?: boolean | undefined;
80
+ required?: boolean | undefined;
81
+ hidden?: boolean | undefined;
82
+ outputName?: string | undefined;
83
+ negatable?: boolean | undefined;
84
+ }, {
85
+ name: string;
86
+ description: string;
87
+ aliases: string[];
88
+ defaultValue?: any;
89
+ array?: boolean | undefined;
90
+ required?: boolean | undefined;
91
+ hidden?: boolean | undefined;
92
+ outputName?: string | undefined;
93
+ negatable?: boolean | undefined;
94
+ }>;
95
+ export type FlagConfig = z.infer<typeof FlagConfig>;
64
96
  export type Parser<Args extends ArgsObject = ArgsObject, OptionType extends any = any> = (x: string, y: Args) => OptionType;
65
97
  export declare const TypedOptionConfig: <OptionType, Args extends object = object>(type: z.ZodType<OptionType, z.ZodTypeDef, OptionType>) => z.ZodObject<{
66
- array: z.ZodOptional<z.ZodBoolean>;
67
- description: z.ZodString;
68
98
  name: z.ZodString;
99
+ description: z.ZodString;
69
100
  defaultValue: z.ZodOptional<z.ZodAny>;
70
101
  aliases: z.ZodArray<z.ZodString, "many">;
102
+ array: z.ZodOptional<z.ZodBoolean>;
71
103
  required: z.ZodOptional<z.ZodBoolean>;
72
104
  isDefault: z.ZodOptional<z.ZodBoolean>;
73
105
  hidden: z.ZodOptional<z.ZodBoolean>;
@@ -75,11 +107,11 @@ export declare const TypedOptionConfig: <OptionType, Args extends object = objec
75
107
  parse: z.ZodOptional<z.ZodType<Parser<Args, OptionType>, z.ZodTypeDef, Parser<Args, OptionType>>>;
76
108
  type: z.ZodOptional<z.ZodEnum<["number"]>>;
77
109
  }, "strip", z.ZodTypeAny, {
78
- description: string;
79
110
  name: string;
111
+ description: string;
80
112
  aliases: string[];
81
- array?: boolean | undefined;
82
113
  defaultValue?: any;
114
+ array?: boolean | undefined;
83
115
  required?: boolean | undefined;
84
116
  isDefault?: boolean | undefined;
85
117
  hidden?: boolean | undefined;
@@ -87,11 +119,11 @@ export declare const TypedOptionConfig: <OptionType, Args extends object = objec
87
119
  parse?: Parser<Args, OptionType> | undefined;
88
120
  type?: "number" | undefined;
89
121
  }, {
90
- description: string;
91
122
  name: string;
123
+ description: string;
92
124
  aliases: string[];
93
- array?: boolean | undefined;
94
125
  defaultValue?: any;
126
+ array?: boolean | undefined;
95
127
  required?: boolean | undefined;
96
128
  isDefault?: boolean | undefined;
97
129
  hidden?: boolean | undefined;
@@ -106,10 +138,10 @@ export type TypedOptionConfig<T, A extends ArgsObject = ArgsObject> = z.infer<Re
106
138
  */
107
139
  export declare const ArrayOptionConfig: <T, A extends object = object>(type: z.ZodType<T, z.ZodTypeDef, T>) => z.ZodObject<{
108
140
  type: z.ZodOptional<z.ZodEnum<["number"]>>;
109
- array: z.ZodOptional<z.ZodBoolean>;
110
- description: z.ZodString;
111
141
  name: z.ZodString;
142
+ description: z.ZodString;
112
143
  aliases: z.ZodArray<z.ZodString, "many">;
144
+ array: z.ZodOptional<z.ZodBoolean>;
113
145
  required: z.ZodOptional<z.ZodBoolean>;
114
146
  isDefault: z.ZodOptional<z.ZodBoolean>;
115
147
  hidden: z.ZodOptional<z.ZodBoolean>;
@@ -117,8 +149,8 @@ export declare const ArrayOptionConfig: <T, A extends object = object>(type: z.Z
117
149
  parse: z.ZodOptional<z.ZodType<Parser<A, T[]>, z.ZodTypeDef, Parser<A, T[]>>>;
118
150
  defaultValue: z.ZodOptional<z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">>;
119
151
  }, "strip", z.ZodTypeAny, {
120
- description: string;
121
152
  name: string;
153
+ description: string;
122
154
  aliases: string[];
123
155
  type?: "number" | undefined;
124
156
  array?: boolean | undefined;
@@ -129,8 +161,8 @@ export declare const ArrayOptionConfig: <T, A extends object = object>(type: z.Z
129
161
  parse?: Parser<A, T[]> | undefined;
130
162
  defaultValue?: T[] | undefined;
131
163
  }, {
132
- description: string;
133
164
  name: string;
165
+ description: string;
134
166
  aliases: string[];
135
167
  type?: "number" | undefined;
136
168
  array?: boolean | undefined;
@@ -147,6 +179,16 @@ export declare const ArrayOptionConfig: <T, A extends object = object>(type: z.Z
147
179
  * This type represents an array option, which can be specified multiple times.
148
180
  */
149
181
  export type ArrayOptionConfig<T = unknown> = z.infer<ReturnType<typeof ArrayOptionConfig<z.ZodType<T>>>>;
182
+ export declare const OPT_FULL_PREFIX = "--";
183
+ export declare const OPT_SHORT_PREFIX = "-";
184
+ export declare const NEGATE_FULL_PREFIX = "--no-";
185
+ export declare const NEGATE_SHORT_PREFIX = "^";
186
+ export type Prefixes = {
187
+ optionPrefix: string;
188
+ aliasPrefix: string;
189
+ negateFlagPrefix: string;
190
+ negateAliasPrefix: string;
191
+ };
150
192
  /** @internal */
151
193
  export type ArgvValue<T> = {
152
194
  argv: string[];
@@ -182,16 +224,17 @@ export declare class MassargOption<OptionType extends any = unknown, Args extend
182
224
  aliases: string[];
183
225
  parse: Parser<Args, OptionType>;
184
226
  isArray: boolean;
227
+ isRequired: boolean;
185
228
  isDefault: boolean;
186
229
  outputName?: string;
187
230
  constructor(options: OptionConfig<OptionType, Args>);
188
231
  static fromTypedConfig<T = unknown, A extends ArgsObject = ArgsObject>(config: TypedOptionConfig<T, A>): MassargOption<T>;
189
232
  getOutputName(): string;
190
- _parseDetails(argv: string[], options: ArgsObject): ArgvValue<OptionType>;
233
+ parseDetails(argv: string[], options: ArgsObject, prefixes: Prefixes): ArgvValue<OptionType>;
191
234
  helpString(): string;
192
- _match(arg: string): boolean;
193
- _isOption(arg: string): boolean;
194
- static getName(arg: string): string;
235
+ _match(arg: string, prefixes: Prefixes): boolean;
236
+ _isOption(arg: string, prefixes: Prefixes): boolean;
237
+ static findNameInArg(arg: string, prefixes: Prefixes): string;
195
238
  }
196
239
  /**
197
240
  * An option that can be passed to a command.
@@ -211,7 +254,7 @@ export declare class MassargOption<OptionType extends any = unknown, Args extend
211
254
  */
212
255
  export declare class MassargNumber extends MassargOption<number> {
213
256
  constructor(options: Omit<OptionConfig<number>, 'parse'>);
214
- _parseDetails(argv: string[], options: ArgsObject): ArgvValue<number>;
257
+ parseDetails(argv: string[], options: ArgsObject, prefixes: Prefixes): ArgvValue<number>;
215
258
  }
216
259
  /**
217
260
  * An option that can be passed to a command.
@@ -222,7 +265,7 @@ export declare class MassargNumber extends MassargOption<number> {
222
265
  *
223
266
  * A flag can be negated by prefixing it with `no-`. For example, `--no-verbose`,
224
267
  * or by prefixing the alias with `^` instead of `-`. This is configurable via the command's
225
- * configuration.
268
+ * configuration. To turn this behavior on, set `negatable: true` in the flag's configuration.
226
269
  *
227
270
  * @example
228
271
  * ```ts
@@ -235,8 +278,9 @@ export declare class MassargNumber extends MassargOption<number> {
235
278
  * ```
236
279
  */
237
280
  export declare class MassargFlag extends MassargOption<boolean> {
238
- constructor(options: Omit<OptionConfig<boolean>, 'parse'>);
239
- _parseDetails(argv: string[]): ArgvValue<boolean>;
281
+ negatable: boolean;
282
+ constructor(options: FlagConfig);
283
+ parseDetails(argv: string[], options: ArgsObject, prefixes: Prefixes): ArgvValue<boolean>;
240
284
  }
241
285
  export declare class MassargHelpFlag extends MassargFlag {
242
286
  constructor(config?: Partial<Omit<OptionConfig<boolean>, 'parse'>>);
package/option.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../src/option.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../src/option.ts"],"names":[],"mappings":"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"}