@boneskull/bargs 1.0.0 → 3.0.0

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.
Files changed (58) hide show
  1. package/README.md +305 -299
  2. package/dist/bargs.cjs +464 -142
  3. package/dist/bargs.cjs.map +1 -1
  4. package/dist/bargs.d.cts +35 -17
  5. package/dist/bargs.d.cts.map +1 -1
  6. package/dist/bargs.d.ts +35 -17
  7. package/dist/bargs.d.ts.map +1 -1
  8. package/dist/bargs.js +462 -142
  9. package/dist/bargs.js.map +1 -1
  10. package/dist/help.cjs +1 -2
  11. package/dist/help.cjs.map +1 -1
  12. package/dist/help.d.cts +20 -3
  13. package/dist/help.d.cts.map +1 -1
  14. package/dist/help.d.ts +20 -3
  15. package/dist/help.d.ts.map +1 -1
  16. package/dist/help.js +1 -2
  17. package/dist/help.js.map +1 -1
  18. package/dist/index.cjs +27 -31
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +15 -78
  21. package/dist/index.d.cts.map +1 -1
  22. package/dist/index.d.ts +15 -78
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +20 -30
  25. package/dist/index.js.map +1 -1
  26. package/dist/opt.cjs +147 -80
  27. package/dist/opt.cjs.map +1 -1
  28. package/dist/opt.d.cts +88 -77
  29. package/dist/opt.d.cts.map +1 -1
  30. package/dist/opt.d.ts +88 -77
  31. package/dist/opt.d.ts.map +1 -1
  32. package/dist/opt.js +146 -79
  33. package/dist/opt.js.map +1 -1
  34. package/dist/parser.cjs +3 -230
  35. package/dist/parser.cjs.map +1 -1
  36. package/dist/parser.d.cts +3 -51
  37. package/dist/parser.d.cts.map +1 -1
  38. package/dist/parser.d.ts +3 -51
  39. package/dist/parser.d.ts.map +1 -1
  40. package/dist/parser.js +2 -223
  41. package/dist/parser.js.map +1 -1
  42. package/dist/types.cjs +1 -3
  43. package/dist/types.cjs.map +1 -1
  44. package/dist/types.d.cts +110 -122
  45. package/dist/types.d.cts.map +1 -1
  46. package/dist/types.d.ts +110 -122
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js +1 -3
  49. package/dist/types.js.map +1 -1
  50. package/package.json +2 -2
  51. package/dist/validate.cjs +0 -463
  52. package/dist/validate.cjs.map +0 -1
  53. package/dist/validate.d.cts +0 -28
  54. package/dist/validate.d.cts.map +0 -1
  55. package/dist/validate.d.ts +0 -28
  56. package/dist/validate.d.ts.map +0 -1
  57. package/dist/validate.js +0 -459
  58. package/dist/validate.js.map +0 -1
package/dist/parser.d.cts CHANGED
@@ -6,48 +6,10 @@
6
6
  * - Building `parseArgs` configuration from bargs option schemas
7
7
  * - Coercing parsed string values to their declared types (number, enum, etc.)
8
8
  * - Processing positional arguments including variadic rest args
9
- * - Running handler functions (sync or async) after successful parsing
10
- * - Supporting both simple CLIs and command-based CLIs with subcommand dispatch
11
9
  *
12
10
  * @packageDocumentation
13
11
  */
14
- import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema, TransformsConfig } from "./types.cjs";
15
- /**
16
- * Run a handler synchronously. Throws if handler returns a thenable.
17
- */
18
- export declare const runSyncHandler: <T>(handler: HandlerFn<T>, result: T) => void;
19
- /**
20
- * Run a handler (async).
21
- */
22
- export declare const runHandler: <T>(handler: HandlerFn<T>, result: T) => Promise<void>;
23
- /**
24
- * Run transforms synchronously when transforms are defined.
25
- */
26
- export declare function runSyncTransforms<TValuesIn, TValuesOut, TPositionalsIn extends readonly unknown[], TPositionalsOut extends readonly unknown[]>(transforms: TransformsConfig<TValuesIn, TValuesOut, TPositionalsIn, TPositionalsOut>, values: TValuesIn, positionals: TPositionalsIn): {
27
- positionals: TPositionalsOut;
28
- values: TValuesOut;
29
- };
30
- /**
31
- * Pass through unchanged when transforms are undefined.
32
- */
33
- export declare function runSyncTransforms<TValues, TPositionals extends readonly unknown[]>(transforms: undefined, values: TValues, positionals: TPositionals): {
34
- positionals: TPositionals;
35
- values: TValues;
36
- };
37
- /**
38
- * Run transforms asynchronously when transforms are defined.
39
- */
40
- export declare function runTransforms<TValuesIn, TValuesOut, TPositionalsIn extends readonly unknown[], TPositionalsOut extends readonly unknown[]>(transforms: TransformsConfig<TValuesIn, TValuesOut, TPositionalsIn, TPositionalsOut>, values: TValuesIn, positionals: TPositionalsIn): Promise<{
41
- positionals: TPositionalsOut;
42
- values: TValuesOut;
43
- }>;
44
- /**
45
- * Pass through unchanged when transforms are undefined.
46
- */
47
- export declare function runTransforms<TValues, TPositionals extends readonly unknown[]>(transforms: undefined, values: TValues, positionals: TPositionals): Promise<{
48
- positionals: TPositionals;
49
- values: TValues;
50
- }>;
12
+ import type { InferOptions, InferPositionals, OptionsSchema, ParseResult, PositionalsSchema } from "./types.cjs";
51
13
  /**
52
14
  * Options for parseSimple.
53
15
  */
@@ -57,18 +19,8 @@ interface ParseSimpleOptions<TOptions extends OptionsSchema = OptionsSchema, TPo
57
19
  positionals?: TPositionals;
58
20
  }
59
21
  /**
60
- * Parse arguments for a simple CLI (no commands). This is synchronous - it only
61
- * parses, does not run handlers.
62
- */
63
- export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
64
- /**
65
- * Parse arguments for a command-based CLI (sync). Throws if any handler or
66
- * transform returns a thenable.
67
- */
68
- export declare const parseCommandsSync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>;
69
- /**
70
- * Parse arguments for a command-based CLI (async).
22
+ * Parse arguments for a simple CLI (no commands).
71
23
  */
72
- export declare const parseCommandsAsync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => Promise<BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>>;
24
+ export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => ParseResult<InferOptions<TOptions>, InferPositionals<TPositionals>>;
73
25
  export {};
74
26
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EAClB,oBAAmB;AAsJpB;;GAEG;AACH,UAAU,kBAAkB,CAC1B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB;IAE1D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,EAE1D,QAAQ,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,KACjD,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CA0BpE,CAAC"}
package/dist/parser.d.ts CHANGED
@@ -6,48 +6,10 @@
6
6
  * - Building `parseArgs` configuration from bargs option schemas
7
7
  * - Coercing parsed string values to their declared types (number, enum, etc.)
8
8
  * - Processing positional arguments including variadic rest args
9
- * - Running handler functions (sync or async) after successful parsing
10
- * - Supporting both simple CLIs and command-based CLIs with subcommand dispatch
11
9
  *
12
10
  * @packageDocumentation
13
11
  */
14
- import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema, TransformsConfig } from "./types.js";
15
- /**
16
- * Run a handler synchronously. Throws if handler returns a thenable.
17
- */
18
- export declare const runSyncHandler: <T>(handler: HandlerFn<T>, result: T) => void;
19
- /**
20
- * Run a handler (async).
21
- */
22
- export declare const runHandler: <T>(handler: HandlerFn<T>, result: T) => Promise<void>;
23
- /**
24
- * Run transforms synchronously when transforms are defined.
25
- */
26
- export declare function runSyncTransforms<TValuesIn, TValuesOut, TPositionalsIn extends readonly unknown[], TPositionalsOut extends readonly unknown[]>(transforms: TransformsConfig<TValuesIn, TValuesOut, TPositionalsIn, TPositionalsOut>, values: TValuesIn, positionals: TPositionalsIn): {
27
- positionals: TPositionalsOut;
28
- values: TValuesOut;
29
- };
30
- /**
31
- * Pass through unchanged when transforms are undefined.
32
- */
33
- export declare function runSyncTransforms<TValues, TPositionals extends readonly unknown[]>(transforms: undefined, values: TValues, positionals: TPositionals): {
34
- positionals: TPositionals;
35
- values: TValues;
36
- };
37
- /**
38
- * Run transforms asynchronously when transforms are defined.
39
- */
40
- export declare function runTransforms<TValuesIn, TValuesOut, TPositionalsIn extends readonly unknown[], TPositionalsOut extends readonly unknown[]>(transforms: TransformsConfig<TValuesIn, TValuesOut, TPositionalsIn, TPositionalsOut>, values: TValuesIn, positionals: TPositionalsIn): Promise<{
41
- positionals: TPositionalsOut;
42
- values: TValuesOut;
43
- }>;
44
- /**
45
- * Pass through unchanged when transforms are undefined.
46
- */
47
- export declare function runTransforms<TValues, TPositionals extends readonly unknown[]>(transforms: undefined, values: TValues, positionals: TPositionals): Promise<{
48
- positionals: TPositionals;
49
- values: TValues;
50
- }>;
12
+ import type { InferOptions, InferPositionals, OptionsSchema, ParseResult, PositionalsSchema } from "./types.js";
51
13
  /**
52
14
  * Options for parseSimple.
53
15
  */
@@ -57,18 +19,8 @@ interface ParseSimpleOptions<TOptions extends OptionsSchema = OptionsSchema, TPo
57
19
  positionals?: TPositionals;
58
20
  }
59
21
  /**
60
- * Parse arguments for a simple CLI (no commands). This is synchronous - it only
61
- * parses, does not run handlers.
62
- */
63
- export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
64
- /**
65
- * Parse arguments for a command-based CLI (sync). Throws if any handler or
66
- * transform returns a thenable.
67
- */
68
- export declare const parseCommandsSync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>;
69
- /**
70
- * Parse arguments for a command-based CLI (async).
22
+ * Parse arguments for a simple CLI (no commands).
71
23
  */
72
- export declare const parseCommandsAsync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => Promise<BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>>;
24
+ export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => ParseResult<InferOptions<TOptions>, InferPositionals<TPositionals>>;
73
25
  export {};
74
26
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,EAClB,mBAAmB;AAsJpB;;GAEG;AACH,UAAU,kBAAkB,CAC1B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB;IAE1D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,EAE1D,QAAQ,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,KACjD,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CA0BpE,CAAC"}
package/dist/parser.js CHANGED
@@ -6,87 +6,10 @@
6
6
  * - Building `parseArgs` configuration from bargs option schemas
7
7
  * - Coercing parsed string values to their declared types (number, enum, etc.)
8
8
  * - Processing positional arguments including variadic rest args
9
- * - Running handler functions (sync or async) after successful parsing
10
- * - Supporting both simple CLIs and command-based CLIs with subcommand dispatch
11
9
  *
12
10
  * @packageDocumentation
13
11
  */
14
12
  import { parseArgs } from 'node:util';
15
- import { BargsError, HelpError } from "./errors.js";
16
- /**
17
- * Check if a value is a thenable (Promise-like). Uses duck-typing for
18
- * cross-realm compatibility.
19
- */
20
- const isThenable = (value) => value !== null &&
21
- typeof value === 'object' &&
22
- typeof value.then === 'function';
23
- /**
24
- * Run a handler synchronously. Throws if handler returns a thenable.
25
- */
26
- export const runSyncHandler = (handler, result) => {
27
- const maybePromise = handler(result);
28
- if (isThenable(maybePromise)) {
29
- throw new BargsError('Handler returned a thenable. Use bargsAsync() for async handlers.');
30
- }
31
- };
32
- /**
33
- * Run a handler (async).
34
- */
35
- export const runHandler = async (handler, result) => {
36
- await handler(result);
37
- };
38
- /**
39
- * Run transforms synchronously. Throws if any transform returns a thenable.
40
- */
41
- export function runSyncTransforms(transforms, values, positionals) {
42
- if (!transforms) {
43
- return { positionals, values };
44
- }
45
- // Apply values transform
46
- const transformedValues = transforms.values
47
- ? (() => {
48
- const result = transforms.values(values);
49
- if (isThenable(result)) {
50
- throw new BargsError('Transform returned a thenable. Use bargsAsync() for async transforms.');
51
- }
52
- return result;
53
- })()
54
- : values;
55
- // Apply positionals transform
56
- const transformedPositionals = transforms.positionals
57
- ? (() => {
58
- const result = transforms.positionals(positionals);
59
- if (isThenable(result)) {
60
- throw new BargsError('Transform returned a thenable. Use bargsAsync() for async transforms.');
61
- }
62
- return result;
63
- })()
64
- : positionals;
65
- return {
66
- positionals: transformedPositionals,
67
- values: transformedValues,
68
- };
69
- }
70
- /**
71
- * Run transforms asynchronously.
72
- */
73
- export async function runTransforms(transforms, values, positionals) {
74
- if (!transforms) {
75
- return { positionals, values };
76
- }
77
- // Apply values transform (await if needed)
78
- const transformedValues = transforms.values
79
- ? await transforms.values(values)
80
- : values;
81
- // Apply positionals transform (await if needed)
82
- const transformedPositionals = transforms.positionals
83
- ? await transforms.positionals(positionals)
84
- : positionals;
85
- return {
86
- positionals: transformedPositionals,
87
- values: transformedValues,
88
- };
89
- }
90
13
  /**
91
14
  * Build parseArgs options config from our options schema.
92
15
  */
@@ -158,9 +81,6 @@ const coerceValues = (values, schema) => {
158
81
  };
159
82
  /**
160
83
  * Coerce positional values.
161
- *
162
- * Note: Schema validation (variadic last, required order) is done upfront by
163
- * validateConfig in bargs.ts.
164
84
  */
165
85
  const coercePositionals = (positionals, schema) => {
166
86
  const result = [];
@@ -168,7 +88,7 @@ const coercePositionals = (positionals, schema) => {
168
88
  const def = schema[i];
169
89
  const value = positionals[i];
170
90
  if (def.type === 'variadic') {
171
- // Rest of positionals - def is narrowed to VariadicPositional here
91
+ // Rest of positionals
172
92
  const variadicDef = def;
173
93
  const rest = positionals.slice(i);
174
94
  if (variadicDef.items === 'number') {
@@ -207,8 +127,7 @@ const coercePositionals = (positionals, schema) => {
207
127
  return result;
208
128
  };
209
129
  /**
210
- * Parse arguments for a simple CLI (no commands). This is synchronous - it only
211
- * parses, does not run handlers.
130
+ * Parse arguments for a simple CLI (no commands).
212
131
  */
213
132
  export const parseSimple = (config) => {
214
133
  const { args = process.argv.slice(2), options: optionsSchema = {}, positionals: positionalsSchema = [], } = config;
@@ -225,148 +144,8 @@ export const parseSimple = (config) => {
225
144
  const coercedValues = coerceValues(values, optionsSchema);
226
145
  const coercedPositionals = coercePositionals(positionals, positionalsSchema);
227
146
  return {
228
- command: undefined,
229
147
  positionals: coercedPositionals,
230
148
  values: coercedValues,
231
149
  };
232
150
  };
233
- /**
234
- * Core command parsing logic (sync, no handler execution). Returns the parsed
235
- * result and the handler to run.
236
- */
237
- const parseCommandsCore = (config) => {
238
- const { args = process.argv.slice(2), commands, defaultHandler, options: globalOptions = {}, } = config;
239
- const commandsRecord = commands;
240
- // Find command name (first non-flag argument)
241
- const commandIndex = args.findIndex((arg) => !arg.startsWith('-'));
242
- const commandName = commandIndex >= 0 ? args[commandIndex] : undefined;
243
- const remainingArgs = commandName
244
- ? [...args.slice(0, commandIndex), ...args.slice(commandIndex + 1)]
245
- : args;
246
- // No command specified
247
- if (!commandName) {
248
- if (typeof defaultHandler === 'string') {
249
- // Use named default command (recursive)
250
- return parseCommandsCore({
251
- ...config,
252
- args: [defaultHandler, ...args],
253
- defaultHandler: undefined,
254
- });
255
- }
256
- else if (typeof defaultHandler === 'function') {
257
- // Parse global options only
258
- const parseArgsOptions = buildParseArgsConfig(globalOptions);
259
- const { values } = parseArgs({
260
- allowPositionals: false,
261
- args: remainingArgs,
262
- options: parseArgsOptions,
263
- strict: true,
264
- });
265
- const coercedValues = coerceValues(values, globalOptions);
266
- const result = {
267
- command: undefined,
268
- positionals: [],
269
- values: coercedValues,
270
- };
271
- return {
272
- commandTransforms: undefined,
273
- handler: defaultHandler,
274
- result,
275
- topLevelTransforms: config.transforms,
276
- };
277
- }
278
- else {
279
- throw new HelpError('No command specified.');
280
- }
281
- }
282
- // Find command config
283
- const command = commandsRecord[commandName];
284
- if (!command) {
285
- throw new HelpError(`Unknown command: ${commandName}`);
286
- }
287
- // Merge global and command options
288
- const commandOptions = command.options ?? {};
289
- const mergedOptionsSchema = { ...globalOptions, ...commandOptions };
290
- const commandPositionals = command.positionals ?? [];
291
- // Build parseArgs config
292
- const parseArgsOptions = buildParseArgsConfig(mergedOptionsSchema);
293
- // Parse
294
- const { positionals, values } = parseArgs({
295
- allowPositionals: commandPositionals.length > 0,
296
- args: remainingArgs,
297
- options: parseArgsOptions,
298
- strict: true,
299
- });
300
- // Coerce
301
- const coercedValues = coerceValues(values, mergedOptionsSchema);
302
- const coercedPositionals = coercePositionals(positionals, commandPositionals);
303
- const result = {
304
- command: commandName,
305
- positionals: coercedPositionals,
306
- values: coercedValues,
307
- };
308
- return {
309
- commandTransforms: command.transforms,
310
- handler: command.handler,
311
- result,
312
- topLevelTransforms: config.transforms,
313
- };
314
- };
315
- /**
316
- * Parse arguments for a command-based CLI (sync). Throws if any handler or
317
- * transform returns a thenable.
318
- */
319
- export const parseCommandsSync = (config) => {
320
- const { commandTransforms, handler, result, topLevelTransforms } = parseCommandsCore(config);
321
- // Apply transforms: top-level first, then command-level
322
- let currentValues = result.values;
323
- let currentPositionals = result.positionals;
324
- if (topLevelTransforms) {
325
- const transformed = runSyncTransforms(topLevelTransforms, currentValues, currentPositionals);
326
- currentValues = transformed.values;
327
- currentPositionals = transformed.positionals;
328
- }
329
- if (commandTransforms) {
330
- const transformed = runSyncTransforms(commandTransforms, currentValues, currentPositionals);
331
- currentValues = transformed.values;
332
- currentPositionals = transformed.positionals;
333
- }
334
- const finalResult = {
335
- command: result.command,
336
- positionals: currentPositionals,
337
- values: currentValues,
338
- };
339
- if (handler) {
340
- runSyncHandler(handler, finalResult);
341
- }
342
- return finalResult;
343
- };
344
- /**
345
- * Parse arguments for a command-based CLI (async).
346
- */
347
- export const parseCommandsAsync = async (config) => {
348
- const { commandTransforms, handler, result, topLevelTransforms } = parseCommandsCore(config);
349
- // Apply transforms: top-level first, then command-level
350
- let currentValues = result.values;
351
- let currentPositionals = result.positionals;
352
- if (topLevelTransforms) {
353
- const transformed = await runTransforms(topLevelTransforms, currentValues, currentPositionals);
354
- currentValues = transformed.values;
355
- currentPositionals = transformed.positionals;
356
- }
357
- if (commandTransforms) {
358
- const transformed = await runTransforms(commandTransforms, currentValues, currentPositionals);
359
- currentValues = transformed.values;
360
- currentPositionals = transformed.positionals;
361
- }
362
- const finalResult = {
363
- command: result.command,
364
- positionals: currentPositionals,
365
- values: currentValues,
366
- };
367
- if (handler) {
368
- await runHandler(handler, finalResult);
369
- }
370
- return finalResult;
371
- };
372
151
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/types.cjs CHANGED
@@ -7,10 +7,8 @@
7
7
  * - Option definitions (`StringOption`, `BooleanOption`, `EnumOption`, etc.)
8
8
  * - Positional definitions (`StringPositional`, `VariadicPositional`, etc.)
9
9
  * - Schema types (`OptionsSchema`, `PositionalsSchema`)
10
- * - Configuration types (`BargsConfig`, `BargsConfigWithCommands`)
11
- * - Command types (`CommandConfig`, `CommandConfigInput`)
12
10
  * - Type inference utilities (`InferOptions`, `InferPositionals`)
13
- * - Result types (`BargsResult`)
11
+ * - Parser combinator types (`Parser`, `Command`, `ParseResult`)
14
12
  *
15
13
  * @packageDocumentation
16
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG"}