@boneskull/bargs 0.1.1 → 1.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.
- package/README.md +100 -11
- package/dist/bargs.cjs +26 -6
- package/dist/bargs.cjs.map +1 -1
- package/dist/bargs.d.cts +6 -6
- package/dist/bargs.d.cts.map +1 -1
- package/dist/bargs.d.ts +6 -6
- package/dist/bargs.d.ts.map +1 -1
- package/dist/bargs.js +27 -7
- package/dist/bargs.js.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/opt.cjs +4 -1
- package/dist/opt.cjs.map +1 -1
- package/dist/opt.d.cts +6 -3
- package/dist/opt.d.cts.map +1 -1
- package/dist/opt.d.ts +6 -3
- package/dist/opt.d.ts.map +1 -1
- package/dist/opt.js +4 -1
- package/dist/opt.js.map +1 -1
- package/dist/parser.cjs +118 -29
- package/dist/parser.cjs.map +1 -1
- package/dist/parser.d.cts +37 -10
- package/dist/parser.d.cts.map +1 -1
- package/dist/parser.d.ts +37 -10
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +113 -26
- package/dist/parser.js.map +1 -1
- package/dist/types.d.cts +77 -15
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.ts +77 -15
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.cjs +28 -17
- package/dist/validate.cjs.map +1 -1
- package/dist/validate.d.cts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +28 -17
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
package/dist/opt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EACnB,mBAAmB;AA2CpB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,GAAG;IAGd;;OAEG;mBAEM,QAAQ,GAAG,QAAQ,UACnB,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC,KACzC,WAAW;IAMd;;;OAGG;cAED,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,wCAE9B,CAAC,KACP,aAAa,GAAG,CAAC;IAMpB
|
|
1
|
+
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
|
package/dist/opt.js
CHANGED
|
@@ -89,8 +89,11 @@ export const opt = {
|
|
|
89
89
|
* options: opt.options({
|
|
90
90
|
* name: opt.string({ default: 'world' }),
|
|
91
91
|
* }),
|
|
92
|
+
* transforms: {
|
|
93
|
+
* values: (v) => ({ ...v, timestamp: Date.now() }),
|
|
94
|
+
* },
|
|
92
95
|
* handler: ({ values }) => {
|
|
93
|
-
* console.log(`Hello, ${values.name}
|
|
96
|
+
* console.log(`Hello, ${values.name}! (${values.timestamp})`);
|
|
94
97
|
* },
|
|
95
98
|
* });
|
|
96
99
|
* ```
|
package/dist/opt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.cjs
CHANGED
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
* @packageDocumentation
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.parseCommandsAsync = exports.parseCommandsSync = exports.parseSimple = exports.
|
|
16
|
+
exports.parseCommandsAsync = exports.parseCommandsSync = exports.parseSimple = exports.runHandler = exports.runSyncHandler = void 0;
|
|
17
|
+
exports.runSyncTransforms = runSyncTransforms;
|
|
18
|
+
exports.runTransforms = runTransforms;
|
|
17
19
|
const node_util_1 = require("node:util");
|
|
18
20
|
const errors_js_1 = require("./errors.cjs");
|
|
19
21
|
/**
|
|
@@ -24,29 +26,74 @@ const isThenable = (value) => value !== null &&
|
|
|
24
26
|
typeof value === 'object' &&
|
|
25
27
|
typeof value.then === 'function';
|
|
26
28
|
/**
|
|
27
|
-
* Run a handler
|
|
28
|
-
* returns a thenable.
|
|
29
|
+
* Run a handler synchronously. Throws if handler returns a thenable.
|
|
29
30
|
*/
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (isThenable(maybePromise)) {
|
|
35
|
-
throw new errors_js_1.BargsError('Handler returned a thenable. Use bargsAsync() for async handlers.');
|
|
36
|
-
}
|
|
31
|
+
const runSyncHandler = (handler, result) => {
|
|
32
|
+
const maybePromise = handler(result);
|
|
33
|
+
if (isThenable(maybePromise)) {
|
|
34
|
+
throw new errors_js_1.BargsError('Handler returned a thenable. Use bargsAsync() for async handlers.');
|
|
37
35
|
}
|
|
38
36
|
};
|
|
39
|
-
exports.
|
|
37
|
+
exports.runSyncHandler = runSyncHandler;
|
|
40
38
|
/**
|
|
41
|
-
* Run a handler
|
|
39
|
+
* Run a handler (async).
|
|
42
40
|
*/
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
for (const h of handlers) {
|
|
46
|
-
await h(result);
|
|
47
|
-
}
|
|
41
|
+
const runHandler = async (handler, result) => {
|
|
42
|
+
await handler(result);
|
|
48
43
|
};
|
|
49
|
-
exports.
|
|
44
|
+
exports.runHandler = runHandler;
|
|
45
|
+
/**
|
|
46
|
+
* Run transforms synchronously. Throws if any transform returns a thenable.
|
|
47
|
+
*/
|
|
48
|
+
function runSyncTransforms(transforms, values, positionals) {
|
|
49
|
+
if (!transforms) {
|
|
50
|
+
return { positionals, values };
|
|
51
|
+
}
|
|
52
|
+
// Apply values transform
|
|
53
|
+
const transformedValues = transforms.values
|
|
54
|
+
? (() => {
|
|
55
|
+
const result = transforms.values(values);
|
|
56
|
+
if (isThenable(result)) {
|
|
57
|
+
throw new errors_js_1.BargsError('Transform returned a thenable. Use bargsAsync() for async transforms.');
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
})()
|
|
61
|
+
: values;
|
|
62
|
+
// Apply positionals transform
|
|
63
|
+
const transformedPositionals = transforms.positionals
|
|
64
|
+
? (() => {
|
|
65
|
+
const result = transforms.positionals(positionals);
|
|
66
|
+
if (isThenable(result)) {
|
|
67
|
+
throw new errors_js_1.BargsError('Transform returned a thenable. Use bargsAsync() for async transforms.');
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
})()
|
|
71
|
+
: positionals;
|
|
72
|
+
return {
|
|
73
|
+
positionals: transformedPositionals,
|
|
74
|
+
values: transformedValues,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Run transforms asynchronously.
|
|
79
|
+
*/
|
|
80
|
+
async function runTransforms(transforms, values, positionals) {
|
|
81
|
+
if (!transforms) {
|
|
82
|
+
return { positionals, values };
|
|
83
|
+
}
|
|
84
|
+
// Apply values transform (await if needed)
|
|
85
|
+
const transformedValues = transforms.values
|
|
86
|
+
? await transforms.values(values)
|
|
87
|
+
: values;
|
|
88
|
+
// Apply positionals transform (await if needed)
|
|
89
|
+
const transformedPositionals = transforms.positionals
|
|
90
|
+
? await transforms.positionals(positionals)
|
|
91
|
+
: positionals;
|
|
92
|
+
return {
|
|
93
|
+
positionals: transformedPositionals,
|
|
94
|
+
values: transformedValues,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
50
97
|
/**
|
|
51
98
|
* Build parseArgs options config from our options schema.
|
|
52
99
|
*/
|
|
@@ -214,8 +261,7 @@ const parseCommandsCore = (config) => {
|
|
|
214
261
|
defaultHandler: undefined,
|
|
215
262
|
});
|
|
216
263
|
}
|
|
217
|
-
else if (typeof defaultHandler === 'function'
|
|
218
|
-
Array.isArray(defaultHandler)) {
|
|
264
|
+
else if (typeof defaultHandler === 'function') {
|
|
219
265
|
// Parse global options only
|
|
220
266
|
const parseArgsOptions = buildParseArgsConfig(globalOptions);
|
|
221
267
|
const { values } = (0, node_util_1.parseArgs)({
|
|
@@ -231,8 +277,10 @@ const parseCommandsCore = (config) => {
|
|
|
231
277
|
values: coercedValues,
|
|
232
278
|
};
|
|
233
279
|
return {
|
|
280
|
+
commandTransforms: undefined,
|
|
234
281
|
handler: defaultHandler,
|
|
235
282
|
result,
|
|
283
|
+
topLevelTransforms: config.transforms,
|
|
236
284
|
};
|
|
237
285
|
}
|
|
238
286
|
else {
|
|
@@ -265,29 +313,70 @@ const parseCommandsCore = (config) => {
|
|
|
265
313
|
positionals: coercedPositionals,
|
|
266
314
|
values: coercedValues,
|
|
267
315
|
};
|
|
268
|
-
return {
|
|
316
|
+
return {
|
|
317
|
+
commandTransforms: command.transforms,
|
|
318
|
+
handler: command.handler,
|
|
319
|
+
result,
|
|
320
|
+
topLevelTransforms: config.transforms,
|
|
321
|
+
};
|
|
269
322
|
};
|
|
270
323
|
/**
|
|
271
|
-
* Parse arguments for a command-based CLI (sync). Throws if any handler
|
|
272
|
-
* a thenable.
|
|
324
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler or
|
|
325
|
+
* transform returns a thenable.
|
|
273
326
|
*/
|
|
274
327
|
const parseCommandsSync = (config) => {
|
|
275
|
-
const { handler, result } = parseCommandsCore(config);
|
|
328
|
+
const { commandTransforms, handler, result, topLevelTransforms } = parseCommandsCore(config);
|
|
329
|
+
// Apply transforms: top-level first, then command-level
|
|
330
|
+
let currentValues = result.values;
|
|
331
|
+
let currentPositionals = result.positionals;
|
|
332
|
+
if (topLevelTransforms) {
|
|
333
|
+
const transformed = runSyncTransforms(topLevelTransforms, currentValues, currentPositionals);
|
|
334
|
+
currentValues = transformed.values;
|
|
335
|
+
currentPositionals = transformed.positionals;
|
|
336
|
+
}
|
|
337
|
+
if (commandTransforms) {
|
|
338
|
+
const transformed = runSyncTransforms(commandTransforms, currentValues, currentPositionals);
|
|
339
|
+
currentValues = transformed.values;
|
|
340
|
+
currentPositionals = transformed.positionals;
|
|
341
|
+
}
|
|
342
|
+
const finalResult = {
|
|
343
|
+
command: result.command,
|
|
344
|
+
positionals: currentPositionals,
|
|
345
|
+
values: currentValues,
|
|
346
|
+
};
|
|
276
347
|
if (handler) {
|
|
277
|
-
(0, exports.
|
|
348
|
+
(0, exports.runSyncHandler)(handler, finalResult);
|
|
278
349
|
}
|
|
279
|
-
return
|
|
350
|
+
return finalResult;
|
|
280
351
|
};
|
|
281
352
|
exports.parseCommandsSync = parseCommandsSync;
|
|
282
353
|
/**
|
|
283
354
|
* Parse arguments for a command-based CLI (async).
|
|
284
355
|
*/
|
|
285
356
|
const parseCommandsAsync = async (config) => {
|
|
286
|
-
const { handler, result } = parseCommandsCore(config);
|
|
357
|
+
const { commandTransforms, handler, result, topLevelTransforms } = parseCommandsCore(config);
|
|
358
|
+
// Apply transforms: top-level first, then command-level
|
|
359
|
+
let currentValues = result.values;
|
|
360
|
+
let currentPositionals = result.positionals;
|
|
361
|
+
if (topLevelTransforms) {
|
|
362
|
+
const transformed = await runTransforms(topLevelTransforms, currentValues, currentPositionals);
|
|
363
|
+
currentValues = transformed.values;
|
|
364
|
+
currentPositionals = transformed.positionals;
|
|
365
|
+
}
|
|
366
|
+
if (commandTransforms) {
|
|
367
|
+
const transformed = await runTransforms(commandTransforms, currentValues, currentPositionals);
|
|
368
|
+
currentValues = transformed.values;
|
|
369
|
+
currentPositionals = transformed.positionals;
|
|
370
|
+
}
|
|
371
|
+
const finalResult = {
|
|
372
|
+
command: result.command,
|
|
373
|
+
positionals: currentPositionals,
|
|
374
|
+
values: currentValues,
|
|
375
|
+
};
|
|
287
376
|
if (handler) {
|
|
288
|
-
await (0, exports.
|
|
377
|
+
await (0, exports.runHandler)(handler, finalResult);
|
|
289
378
|
}
|
|
290
|
-
return
|
|
379
|
+
return finalResult;
|
|
291
380
|
};
|
|
292
381
|
exports.parseCommandsAsync = parseCommandsAsync;
|
|
293
382
|
//# sourceMappingURL=parser.js.map
|
package/dist/parser.cjs.map
CHANGED
|
@@ -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/parser.d.cts
CHANGED
|
@@ -11,16 +11,43 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @packageDocumentation
|
|
13
13
|
*/
|
|
14
|
-
import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema } from "./types.cjs";
|
|
14
|
+
import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema, TransformsConfig } from "./types.cjs";
|
|
15
15
|
/**
|
|
16
|
-
* Run a handler
|
|
17
|
-
* returns a thenable.
|
|
16
|
+
* Run a handler synchronously. Throws if handler returns a thenable.
|
|
18
17
|
*/
|
|
19
|
-
export declare const
|
|
18
|
+
export declare const runSyncHandler: <T>(handler: HandlerFn<T>, result: T) => void;
|
|
20
19
|
/**
|
|
21
|
-
* Run a handler
|
|
20
|
+
* Run a handler (async).
|
|
22
21
|
*/
|
|
23
|
-
export declare const
|
|
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
|
+
}>;
|
|
24
51
|
/**
|
|
25
52
|
* Options for parseSimple.
|
|
26
53
|
*/
|
|
@@ -35,13 +62,13 @@ interface ParseSimpleOptions<TOptions extends OptionsSchema = OptionsSchema, TPo
|
|
|
35
62
|
*/
|
|
36
63
|
export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
|
|
37
64
|
/**
|
|
38
|
-
* Parse arguments for a command-based CLI (sync). Throws if any handler
|
|
39
|
-
* a thenable.
|
|
65
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler or
|
|
66
|
+
* transform returns a thenable.
|
|
40
67
|
*/
|
|
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>;
|
|
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>;
|
|
42
69
|
/**
|
|
43
70
|
* Parse arguments for a command-based CLI (async).
|
|
44
71
|
*/
|
|
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>>;
|
|
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>>;
|
|
46
73
|
export {};
|
|
47
74
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/parser.d.cts.map
CHANGED
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -11,16 +11,43 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @packageDocumentation
|
|
13
13
|
*/
|
|
14
|
-
import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema } from "./types.js";
|
|
14
|
+
import type { BargsConfigWithCommands, BargsResult, CommandConfigInput, HandlerFn, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema, TransformsConfig } from "./types.js";
|
|
15
15
|
/**
|
|
16
|
-
* Run a handler
|
|
17
|
-
* returns a thenable.
|
|
16
|
+
* Run a handler synchronously. Throws if handler returns a thenable.
|
|
18
17
|
*/
|
|
19
|
-
export declare const
|
|
18
|
+
export declare const runSyncHandler: <T>(handler: HandlerFn<T>, result: T) => void;
|
|
20
19
|
/**
|
|
21
|
-
* Run a handler
|
|
20
|
+
* Run a handler (async).
|
|
22
21
|
*/
|
|
23
|
-
export declare const
|
|
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
|
+
}>;
|
|
24
51
|
/**
|
|
25
52
|
* Options for parseSimple.
|
|
26
53
|
*/
|
|
@@ -35,13 +62,13 @@ interface ParseSimpleOptions<TOptions extends OptionsSchema = OptionsSchema, TPo
|
|
|
35
62
|
*/
|
|
36
63
|
export declare const parseSimple: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: ParseSimpleOptions<TOptions, TPositionals>) => BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
|
|
37
64
|
/**
|
|
38
|
-
* Parse arguments for a command-based CLI (sync). Throws if any handler
|
|
39
|
-
* a thenable.
|
|
65
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler or
|
|
66
|
+
* transform returns a thenable.
|
|
40
67
|
*/
|
|
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>;
|
|
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>;
|
|
42
69
|
/**
|
|
43
70
|
* Parse arguments for a command-based CLI (async).
|
|
44
71
|
*/
|
|
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>>;
|
|
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>>;
|
|
46
73
|
export {};
|
|
47
74
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.js
CHANGED
|
@@ -21,27 +21,72 @@ const isThenable = (value) => value !== null &&
|
|
|
21
21
|
typeof value === 'object' &&
|
|
22
22
|
typeof value.then === 'function';
|
|
23
23
|
/**
|
|
24
|
-
* Run a handler
|
|
25
|
-
* returns a thenable.
|
|
24
|
+
* Run a handler synchronously. Throws if handler returns a thenable.
|
|
26
25
|
*/
|
|
27
|
-
export const
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (isThenable(maybePromise)) {
|
|
32
|
-
throw new BargsError('Handler returned a thenable. Use bargsAsync() for async handlers.');
|
|
33
|
-
}
|
|
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.');
|
|
34
30
|
}
|
|
35
31
|
};
|
|
36
32
|
/**
|
|
37
|
-
* Run a handler
|
|
33
|
+
* Run a handler (async).
|
|
38
34
|
*/
|
|
39
|
-
export const
|
|
40
|
-
|
|
41
|
-
for (const h of handlers) {
|
|
42
|
-
await h(result);
|
|
43
|
-
}
|
|
35
|
+
export const runHandler = async (handler, result) => {
|
|
36
|
+
await handler(result);
|
|
44
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
|
+
}
|
|
45
90
|
/**
|
|
46
91
|
* Build parseArgs options config from our options schema.
|
|
47
92
|
*/
|
|
@@ -208,8 +253,7 @@ const parseCommandsCore = (config) => {
|
|
|
208
253
|
defaultHandler: undefined,
|
|
209
254
|
});
|
|
210
255
|
}
|
|
211
|
-
else if (typeof defaultHandler === 'function'
|
|
212
|
-
Array.isArray(defaultHandler)) {
|
|
256
|
+
else if (typeof defaultHandler === 'function') {
|
|
213
257
|
// Parse global options only
|
|
214
258
|
const parseArgsOptions = buildParseArgsConfig(globalOptions);
|
|
215
259
|
const { values } = parseArgs({
|
|
@@ -225,8 +269,10 @@ const parseCommandsCore = (config) => {
|
|
|
225
269
|
values: coercedValues,
|
|
226
270
|
};
|
|
227
271
|
return {
|
|
272
|
+
commandTransforms: undefined,
|
|
228
273
|
handler: defaultHandler,
|
|
229
274
|
result,
|
|
275
|
+
topLevelTransforms: config.transforms,
|
|
230
276
|
};
|
|
231
277
|
}
|
|
232
278
|
else {
|
|
@@ -259,27 +305,68 @@ const parseCommandsCore = (config) => {
|
|
|
259
305
|
positionals: coercedPositionals,
|
|
260
306
|
values: coercedValues,
|
|
261
307
|
};
|
|
262
|
-
return {
|
|
308
|
+
return {
|
|
309
|
+
commandTransforms: command.transforms,
|
|
310
|
+
handler: command.handler,
|
|
311
|
+
result,
|
|
312
|
+
topLevelTransforms: config.transforms,
|
|
313
|
+
};
|
|
263
314
|
};
|
|
264
315
|
/**
|
|
265
|
-
* Parse arguments for a command-based CLI (sync). Throws if any handler
|
|
266
|
-
* a thenable.
|
|
316
|
+
* Parse arguments for a command-based CLI (sync). Throws if any handler or
|
|
317
|
+
* transform returns a thenable.
|
|
267
318
|
*/
|
|
268
319
|
export const parseCommandsSync = (config) => {
|
|
269
|
-
const { handler, result } = parseCommandsCore(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
|
+
};
|
|
270
339
|
if (handler) {
|
|
271
|
-
|
|
340
|
+
runSyncHandler(handler, finalResult);
|
|
272
341
|
}
|
|
273
|
-
return
|
|
342
|
+
return finalResult;
|
|
274
343
|
};
|
|
275
344
|
/**
|
|
276
345
|
* Parse arguments for a command-based CLI (async).
|
|
277
346
|
*/
|
|
278
347
|
export const parseCommandsAsync = async (config) => {
|
|
279
|
-
const { handler, result } = parseCommandsCore(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
|
+
};
|
|
280
367
|
if (handler) {
|
|
281
|
-
await
|
|
368
|
+
await runHandler(handler, finalResult);
|
|
282
369
|
}
|
|
283
|
-
return
|
|
370
|
+
return finalResult;
|
|
284
371
|
};
|
|
285
372
|
//# sourceMappingURL=parser.js.map
|