@boneskull/bargs 0.1.1
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/LICENSE +55 -0
- package/README.md +483 -0
- package/dist/bargs.cjs +167 -0
- package/dist/bargs.cjs.map +1 -0
- package/dist/bargs.d.cts +31 -0
- package/dist/bargs.d.cts.map +1 -0
- package/dist/bargs.d.ts +31 -0
- package/dist/bargs.d.ts.map +1 -0
- package/dist/bargs.js +163 -0
- package/dist/bargs.js.map +1 -0
- package/dist/errors.cjs +57 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +40 -0
- package/dist/errors.d.cts.map +1 -0
- package/dist/errors.d.ts +40 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +51 -0
- package/dist/errors.js.map +1 -0
- package/dist/help.cjs +309 -0
- package/dist/help.cjs.map +1 -0
- package/dist/help.d.cts +21 -0
- package/dist/help.d.cts.map +1 -0
- package/dist/help.d.ts +21 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +304 -0
- package/dist/help.js.map +1 -0
- package/dist/index.cjs +63 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +96 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/opt.cjs +205 -0
- package/dist/opt.cjs.map +1 -0
- package/dist/opt.d.cts +145 -0
- package/dist/opt.d.cts.map +1 -0
- package/dist/opt.d.ts +145 -0
- package/dist/opt.d.ts.map +1 -0
- package/dist/opt.js +202 -0
- package/dist/opt.js.map +1 -0
- package/dist/osc.cjs +190 -0
- package/dist/osc.cjs.map +1 -0
- package/dist/osc.d.cts +30 -0
- package/dist/osc.d.cts.map +1 -0
- package/dist/osc.d.ts +30 -0
- package/dist/osc.d.ts.map +1 -0
- package/dist/osc.js +181 -0
- package/dist/osc.js.map +1 -0
- package/dist/parser.cjs +293 -0
- package/dist/parser.cjs.map +1 -0
- package/dist/parser.d.cts +47 -0
- package/dist/parser.d.cts.map +1 -0
- package/dist/parser.d.ts +47 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +285 -0
- package/dist/parser.js.map +1 -0
- package/dist/theme.cjs +203 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.cts +227 -0
- package/dist/theme.d.cts.map +1 -0
- package/dist/theme.d.ts +227 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +198 -0
- package/dist/theme.js.map +1 -0
- package/dist/types.cjs +18 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +244 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +244 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/dist/validate.cjs +452 -0
- package/dist/validate.cjs.map +1 -0
- package/dist/validate.d.cts +28 -0
- package/dist/validate.d.cts.map +1 -0
- package/dist/validate.d.ts +28 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +448 -0
- package/dist/validate.js.map +1 -0
- package/dist/version.cjs +134 -0
- package/dist/version.cjs.map +1 -0
- package/dist/version.d.cts +27 -0
- package/dist/version.d.cts.map +1 -0
- package/dist/version.d.ts +27 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +129 -0
- package/dist/version.js.map +1 -0
- package/package.json +149 -0
package/dist/parser.cjs
ADDED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Low-level argument parsing logic wrapping Node.js `util.parseArgs()`.
|
|
4
|
+
*
|
|
5
|
+
* Handles the transformation of CLI arguments into typed values by:
|
|
6
|
+
*
|
|
7
|
+
* - Building `parseArgs` configuration from bargs option schemas
|
|
8
|
+
* - Coercing parsed string values to their declared types (number, enum, etc.)
|
|
9
|
+
* - Processing positional arguments including variadic rest args
|
|
10
|
+
* - Running handler functions (sync or async) after successful parsing
|
|
11
|
+
* - Supporting both simple CLIs and command-based CLIs with subcommand dispatch
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.parseCommandsAsync = exports.parseCommandsSync = exports.parseSimple = exports.runHandlers = exports.runSyncHandlers = void 0;
|
|
17
|
+
const node_util_1 = require("node:util");
|
|
18
|
+
const errors_js_1 = require("./errors.cjs");
|
|
19
|
+
/**
|
|
20
|
+
* Check if a value is a thenable (Promise-like). Uses duck-typing for
|
|
21
|
+
* cross-realm compatibility.
|
|
22
|
+
*/
|
|
23
|
+
const isThenable = (value) => value !== null &&
|
|
24
|
+
typeof value === 'object' &&
|
|
25
|
+
typeof value.then === 'function';
|
|
26
|
+
/**
|
|
27
|
+
* Run a handler or array of handlers synchronously. Throws if any handler
|
|
28
|
+
* returns a thenable.
|
|
29
|
+
*/
|
|
30
|
+
const runSyncHandlers = (handler, result) => {
|
|
31
|
+
const handlers = Array.isArray(handler) ? handler : [handler];
|
|
32
|
+
for (const h of handlers) {
|
|
33
|
+
const maybePromise = h(result);
|
|
34
|
+
if (isThenable(maybePromise)) {
|
|
35
|
+
throw new errors_js_1.BargsError('Handler returned a thenable. Use bargsAsync() for async handlers.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.runSyncHandlers = runSyncHandlers;
|
|
40
|
+
/**
|
|
41
|
+
* Run a handler or array of handlers sequentially (async).
|
|
42
|
+
*/
|
|
43
|
+
const runHandlers = async (handler, result) => {
|
|
44
|
+
const handlers = Array.isArray(handler) ? handler : [handler];
|
|
45
|
+
for (const h of handlers) {
|
|
46
|
+
await h(result);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.runHandlers = runHandlers;
|
|
50
|
+
/**
|
|
51
|
+
* Build parseArgs options config from our options schema.
|
|
52
|
+
*/
|
|
53
|
+
const buildParseArgsConfig = (schema) => {
|
|
54
|
+
const config = {};
|
|
55
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
56
|
+
const opt = {
|
|
57
|
+
type: def.type === 'boolean' ? 'boolean' : 'string',
|
|
58
|
+
};
|
|
59
|
+
// First single-char alias becomes short option
|
|
60
|
+
const shortAlias = def.aliases?.find((a) => a.length === 1);
|
|
61
|
+
if (shortAlias) {
|
|
62
|
+
opt.short = shortAlias;
|
|
63
|
+
}
|
|
64
|
+
// Arrays need multiple: true
|
|
65
|
+
if (def.type === 'array') {
|
|
66
|
+
opt.multiple = true;
|
|
67
|
+
}
|
|
68
|
+
config[name] = opt;
|
|
69
|
+
}
|
|
70
|
+
return config;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Coerce parsed values to their expected types.
|
|
74
|
+
*/
|
|
75
|
+
const coerceValues = (values, schema) => {
|
|
76
|
+
const result = {};
|
|
77
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
78
|
+
let value = values[name];
|
|
79
|
+
// Apply default if undefined
|
|
80
|
+
if (value === undefined && 'default' in def) {
|
|
81
|
+
value = def.default;
|
|
82
|
+
}
|
|
83
|
+
// Type coercion
|
|
84
|
+
if (value !== undefined) {
|
|
85
|
+
switch (def.type) {
|
|
86
|
+
case 'array':
|
|
87
|
+
if (def.items === 'number' && Array.isArray(value)) {
|
|
88
|
+
result[name] = value.map((v) => (typeof v === 'string' ? Number(v) : v));
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
result[name] = value;
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
case 'count':
|
|
95
|
+
// Count options count occurrences
|
|
96
|
+
result[name] = typeof value === 'number' ? value : value ? 1 : 0;
|
|
97
|
+
break;
|
|
98
|
+
case 'enum': {
|
|
99
|
+
const enumValue = value;
|
|
100
|
+
if (value !== undefined && !def.choices.includes(enumValue)) {
|
|
101
|
+
throw new Error(`Invalid value for --${name}: "${enumValue}". Must be one of: ${def.choices.join(', ')}`);
|
|
102
|
+
}
|
|
103
|
+
result[name] = value;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'number':
|
|
107
|
+
result[name] = typeof value === 'string' ? Number(value) : value;
|
|
108
|
+
break;
|
|
109
|
+
default:
|
|
110
|
+
result[name] = value;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
result[name] = value;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Coerce positional values.
|
|
121
|
+
*
|
|
122
|
+
* Note: Schema validation (variadic last, required order) is done upfront by
|
|
123
|
+
* validateConfig in bargs.ts.
|
|
124
|
+
*/
|
|
125
|
+
const coercePositionals = (positionals, schema) => {
|
|
126
|
+
const result = [];
|
|
127
|
+
for (let i = 0; i < schema.length; i++) {
|
|
128
|
+
const def = schema[i];
|
|
129
|
+
const value = positionals[i];
|
|
130
|
+
if (def.type === 'variadic') {
|
|
131
|
+
// Rest of positionals - def is narrowed to VariadicPositional here
|
|
132
|
+
const variadicDef = def;
|
|
133
|
+
const rest = positionals.slice(i);
|
|
134
|
+
if (variadicDef.items === 'number') {
|
|
135
|
+
result.push(rest.map(Number));
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
result.push(rest);
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
if (value !== undefined) {
|
|
143
|
+
if (def.type === 'number') {
|
|
144
|
+
result.push(Number(value));
|
|
145
|
+
}
|
|
146
|
+
else if (def.type === 'enum') {
|
|
147
|
+
// Validate enum choice
|
|
148
|
+
if (!def.choices.includes(value)) {
|
|
149
|
+
throw new Error(`Invalid value for positional ${i}: "${value}". Must be one of: ${def.choices.join(', ')}`);
|
|
150
|
+
}
|
|
151
|
+
result.push(value);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
result.push(value);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else if ('default' in def && def.default !== undefined) {
|
|
158
|
+
result.push(def.default);
|
|
159
|
+
}
|
|
160
|
+
else if (def.required) {
|
|
161
|
+
throw new Error(`Missing required positional argument at position ${i}`);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
result.push(undefined);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Parse arguments for a simple CLI (no commands). This is synchronous - it only
|
|
171
|
+
* parses, does not run handlers.
|
|
172
|
+
*/
|
|
173
|
+
const parseSimple = (config) => {
|
|
174
|
+
const { args = process.argv.slice(2), options: optionsSchema = {}, positionals: positionalsSchema = [], } = config;
|
|
175
|
+
// Build parseArgs config
|
|
176
|
+
const parseArgsOptions = buildParseArgsConfig(optionsSchema);
|
|
177
|
+
// Parse with Node.js util.parseArgs
|
|
178
|
+
const { positionals, values } = (0, node_util_1.parseArgs)({
|
|
179
|
+
allowPositionals: positionalsSchema.length > 0,
|
|
180
|
+
args,
|
|
181
|
+
options: parseArgsOptions,
|
|
182
|
+
strict: true,
|
|
183
|
+
});
|
|
184
|
+
// Coerce and apply defaults
|
|
185
|
+
const coercedValues = coerceValues(values, optionsSchema);
|
|
186
|
+
const coercedPositionals = coercePositionals(positionals, positionalsSchema);
|
|
187
|
+
return {
|
|
188
|
+
command: undefined,
|
|
189
|
+
positionals: coercedPositionals,
|
|
190
|
+
values: coercedValues,
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
exports.parseSimple = parseSimple;
|
|
194
|
+
/**
|
|
195
|
+
* Core command parsing logic (sync, no handler execution). Returns the parsed
|
|
196
|
+
* result and the handler to run.
|
|
197
|
+
*/
|
|
198
|
+
const parseCommandsCore = (config) => {
|
|
199
|
+
const { args = process.argv.slice(2), commands, defaultHandler, options: globalOptions = {}, } = config;
|
|
200
|
+
const commandsRecord = commands;
|
|
201
|
+
// Find command name (first non-flag argument)
|
|
202
|
+
const commandIndex = args.findIndex((arg) => !arg.startsWith('-'));
|
|
203
|
+
const commandName = commandIndex >= 0 ? args[commandIndex] : undefined;
|
|
204
|
+
const remainingArgs = commandName
|
|
205
|
+
? [...args.slice(0, commandIndex), ...args.slice(commandIndex + 1)]
|
|
206
|
+
: args;
|
|
207
|
+
// No command specified
|
|
208
|
+
if (!commandName) {
|
|
209
|
+
if (typeof defaultHandler === 'string') {
|
|
210
|
+
// Use named default command (recursive)
|
|
211
|
+
return parseCommandsCore({
|
|
212
|
+
...config,
|
|
213
|
+
args: [defaultHandler, ...args],
|
|
214
|
+
defaultHandler: undefined,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
else if (typeof defaultHandler === 'function' ||
|
|
218
|
+
Array.isArray(defaultHandler)) {
|
|
219
|
+
// Parse global options only
|
|
220
|
+
const parseArgsOptions = buildParseArgsConfig(globalOptions);
|
|
221
|
+
const { values } = (0, node_util_1.parseArgs)({
|
|
222
|
+
allowPositionals: false,
|
|
223
|
+
args: remainingArgs,
|
|
224
|
+
options: parseArgsOptions,
|
|
225
|
+
strict: true,
|
|
226
|
+
});
|
|
227
|
+
const coercedValues = coerceValues(values, globalOptions);
|
|
228
|
+
const result = {
|
|
229
|
+
command: undefined,
|
|
230
|
+
positionals: [],
|
|
231
|
+
values: coercedValues,
|
|
232
|
+
};
|
|
233
|
+
return {
|
|
234
|
+
handler: defaultHandler,
|
|
235
|
+
result,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
throw new errors_js_1.HelpError('No command specified.');
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Find command config
|
|
243
|
+
const command = commandsRecord[commandName];
|
|
244
|
+
if (!command) {
|
|
245
|
+
throw new errors_js_1.HelpError(`Unknown command: ${commandName}`);
|
|
246
|
+
}
|
|
247
|
+
// Merge global and command options
|
|
248
|
+
const commandOptions = command.options ?? {};
|
|
249
|
+
const mergedOptionsSchema = { ...globalOptions, ...commandOptions };
|
|
250
|
+
const commandPositionals = command.positionals ?? [];
|
|
251
|
+
// Build parseArgs config
|
|
252
|
+
const parseArgsOptions = buildParseArgsConfig(mergedOptionsSchema);
|
|
253
|
+
// Parse
|
|
254
|
+
const { positionals, values } = (0, node_util_1.parseArgs)({
|
|
255
|
+
allowPositionals: commandPositionals.length > 0,
|
|
256
|
+
args: remainingArgs,
|
|
257
|
+
options: parseArgsOptions,
|
|
258
|
+
strict: true,
|
|
259
|
+
});
|
|
260
|
+
// Coerce
|
|
261
|
+
const coercedValues = coerceValues(values, mergedOptionsSchema);
|
|
262
|
+
const coercedPositionals = coercePositionals(positionals, commandPositionals);
|
|
263
|
+
const result = {
|
|
264
|
+
command: commandName,
|
|
265
|
+
positionals: coercedPositionals,
|
|
266
|
+
values: coercedValues,
|
|
267
|
+
};
|
|
268
|
+
return { handler: command.handler, result };
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler returns
|
|
272
|
+
* a thenable.
|
|
273
|
+
*/
|
|
274
|
+
const parseCommandsSync = (config) => {
|
|
275
|
+
const { handler, result } = parseCommandsCore(config);
|
|
276
|
+
if (handler) {
|
|
277
|
+
(0, exports.runSyncHandlers)(handler, result);
|
|
278
|
+
}
|
|
279
|
+
return result;
|
|
280
|
+
};
|
|
281
|
+
exports.parseCommandsSync = parseCommandsSync;
|
|
282
|
+
/**
|
|
283
|
+
* Parse arguments for a command-based CLI (async).
|
|
284
|
+
*/
|
|
285
|
+
const parseCommandsAsync = async (config) => {
|
|
286
|
+
const { handler, result } = parseCommandsCore(config);
|
|
287
|
+
if (handler) {
|
|
288
|
+
await (0, exports.runHandlers)(handler, result);
|
|
289
|
+
}
|
|
290
|
+
return result;
|
|
291
|
+
};
|
|
292
|
+
exports.parseCommandsAsync = parseCommandsAsync;
|
|
293
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-level argument parsing logic wrapping Node.js `util.parseArgs()`.
|
|
3
|
+
*
|
|
4
|
+
* Handles the transformation of CLI arguments into typed values by:
|
|
5
|
+
*
|
|
6
|
+
* - Building `parseArgs` configuration from bargs option schemas
|
|
7
|
+
* - Coercing parsed string values to their declared types (number, enum, etc.)
|
|
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
|
+
*
|
|
12
|
+
* @packageDocumentation
|
|
13
|
+
*/
|
|
14
|
+
import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema } from "./types.cjs";
|
|
15
|
+
/**
|
|
16
|
+
* Run a handler or array of handlers synchronously. Throws if any handler
|
|
17
|
+
* returns a thenable.
|
|
18
|
+
*/
|
|
19
|
+
export declare const runSyncHandlers: <T>(handler: HandlerFn<T> | HandlerFn<T>[], result: T) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Run a handler or array of handlers sequentially (async).
|
|
22
|
+
*/
|
|
23
|
+
export declare const runHandlers: <T>(handler: HandlerFn<T> | HandlerFn<T>[], result: T) => Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Options for parseSimple.
|
|
26
|
+
*/
|
|
27
|
+
interface ParseSimpleOptions<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema> {
|
|
28
|
+
args?: string[];
|
|
29
|
+
options?: TOptions;
|
|
30
|
+
positionals?: TPositionals;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse arguments for a simple CLI (no commands). This is synchronous - it only
|
|
34
|
+
* parses, does not run handlers.
|
|
35
|
+
*/
|
|
36
|
+
export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler returns
|
|
39
|
+
* a thenable.
|
|
40
|
+
*/
|
|
41
|
+
export declare const parseCommandsSync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => BargsResult<InferOptions<TOptions>, unknown[], string | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Parse arguments for a command-based CLI (async).
|
|
44
|
+
*/
|
|
45
|
+
export declare const parseCommandsAsync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => Promise<BargsResult<InferOptions<TOptions>, unknown[], string | undefined>>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,oBAAmB;AAapB;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,EACtC,QAAQ,CAAC,KACR,IAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,EACjC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,EACtC,QAAQ,CAAC,KACR,OAAO,CAAC,IAAI,CAKd,CAAC;AAyJF;;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;;;GAGG;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,CACZ,YAAY,CAAC,QAAQ,CAAC,EACtB,gBAAgB,CAAC,YAAY,CAAC,EAC9B,SAAS,CA4BV,CAAC;AAoHF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAC3D,MAAM,EACN,kBAAkB,CACnB,EAED,QAAQ,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,KACnD,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAQnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAC3D,MAAM,EACN,kBAAkB,CACnB,EAED,QAAQ,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,KACnD,OAAO,CACR,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CASnE,CAAC"}
|
package/dist/parser.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-level argument parsing logic wrapping Node.js `util.parseArgs()`.
|
|
3
|
+
*
|
|
4
|
+
* Handles the transformation of CLI arguments into typed values by:
|
|
5
|
+
*
|
|
6
|
+
* - Building `parseArgs` configuration from bargs option schemas
|
|
7
|
+
* - Coercing parsed string values to their declared types (number, enum, etc.)
|
|
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
|
+
*
|
|
12
|
+
* @packageDocumentation
|
|
13
|
+
*/
|
|
14
|
+
import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema } from "./types.js";
|
|
15
|
+
/**
|
|
16
|
+
* Run a handler or array of handlers synchronously. Throws if any handler
|
|
17
|
+
* returns a thenable.
|
|
18
|
+
*/
|
|
19
|
+
export declare const runSyncHandlers: <T>(handler: HandlerFn<T> | HandlerFn<T>[], result: T) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Run a handler or array of handlers sequentially (async).
|
|
22
|
+
*/
|
|
23
|
+
export declare const runHandlers: <T>(handler: HandlerFn<T> | HandlerFn<T>[], result: T) => Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Options for parseSimple.
|
|
26
|
+
*/
|
|
27
|
+
interface ParseSimpleOptions<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema> {
|
|
28
|
+
args?: string[];
|
|
29
|
+
options?: TOptions;
|
|
30
|
+
positionals?: TPositionals;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse arguments for a simple CLI (no commands). This is synchronous - it only
|
|
34
|
+
* parses, does not run handlers.
|
|
35
|
+
*/
|
|
36
|
+
export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler returns
|
|
39
|
+
* a thenable.
|
|
40
|
+
*/
|
|
41
|
+
export declare const parseCommandsSync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => BargsResult<InferOptions<TOptions>, unknown[], string | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Parse arguments for a command-based CLI (async).
|
|
44
|
+
*/
|
|
45
|
+
export declare const parseCommandsAsync: <TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>) => Promise<BargsResult<InferOptions<TOptions>, unknown[], string | undefined>>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,mBAAmB;AAapB;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAC/B,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,EACtC,QAAQ,CAAC,KACR,IAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,CAAC,EACjC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,EACtC,QAAQ,CAAC,KACR,OAAO,CAAC,IAAI,CAKd,CAAC;AAyJF;;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;;;GAGG;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,CACZ,YAAY,CAAC,QAAQ,CAAC,EACtB,gBAAgB,CAAC,YAAY,CAAC,EAC9B,SAAS,CA4BV,CAAC;AAoHF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAC3D,MAAM,EACN,kBAAkB,CACnB,EAED,QAAQ,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,KACnD,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAQnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,MAAM,CAC3D,MAAM,EACN,kBAAkB,CACnB,EAED,QAAQ,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,KACnD,OAAO,CACR,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CASnE,CAAC"}
|