@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 CHANGED
@@ -67,6 +67,9 @@ const sharedPos = bargs.positionals(
67
67
  );
68
68
  ```
69
69
 
70
+ > [!TIP]
71
+ > Helper functions are provided for convenience and composability, but you can also just use raw object literals. See the ["tasks" example](./examples/tasks.ts) to see how.
72
+
70
73
  ### Zero (0) Dependencies
71
74
 
72
75
  Only Node.js v22+.
@@ -185,21 +188,99 @@ bargs({
185
188
  });
186
189
  ```
187
190
 
191
+ ## Transforms
192
+
193
+ Transforms let you modify parsed values and positionals before they reach your handler. This is useful for:
194
+
195
+ - Loading and merging configuration files
196
+ - Adding computed/derived values
197
+ - Validating or normalizing inputs
198
+ - Async operations like file system checks
199
+
200
+ ```typescript
201
+ const result = await bargsAsync({
202
+ name: 'my-cli',
203
+ options: {
204
+ config: bargsAsync.string({ aliases: ['c'] }),
205
+ verbose: bargsAsync.boolean({ default: false }),
206
+ },
207
+ positionals: [bargsAsync.variadic('string', { name: 'files' })],
208
+ transforms: {
209
+ // Transform option values
210
+ values: (values) => {
211
+ // Load config file if specified
212
+ const fileConfig = values.config
213
+ ? JSON.parse(readFileSync(values.config, 'utf8'))
214
+ : {};
215
+
216
+ return {
217
+ ...fileConfig,
218
+ ...values,
219
+ // Add computed values
220
+ timestamp: new Date().toISOString(),
221
+ };
222
+ },
223
+ // Transform positionals
224
+ positionals: (positionals) => {
225
+ const [files] = positionals;
226
+ // Filter to only existing files
227
+ return [files.filter((f) => existsSync(f))];
228
+ },
229
+ },
230
+ handler: ({ values, positionals }) => {
231
+ // values.timestamp is available here
232
+ // positionals contains only valid files
233
+ },
234
+ });
235
+ ```
236
+
237
+ ### Transform Properties
238
+
239
+ Transforms are akin to yargs' "middleware". They execute after parsing but before the handler (if present). Transforms should also be used in place of yargs' "coerce" option.
240
+
241
+ | Property | Type | Description |
242
+ | ------------- | ----------------------------------------- | --------------------------------- |
243
+ | `values` | `(values) => TransformedValues` | Transform parsed option values |
244
+ | `positionals` | `(positionals) => TransformedPositionals` | Transform parsed positional tuple |
245
+
246
+ Both transforms can be sync or async. The return type of each transform becomes the type available in your handler.
247
+
248
+ ### Type Inference
249
+
250
+ Transforms are fully type-safe. TypeScript infers the transformed types:
251
+
252
+ ```typescript
253
+ bargs({
254
+ name: 'example',
255
+ options: { count: bargs.number() },
256
+ transforms: {
257
+ values: (values) => ({
258
+ ...values,
259
+ doubled: (values.count ?? 0) * 2, // Add computed property
260
+ }),
261
+ },
262
+ handler: ({ values }) => {
263
+ console.log(values.doubled); // number - fully typed!
264
+ },
265
+ });
266
+ ```
267
+
188
268
  ## Configuration
189
269
 
190
270
  ### Config Properties
191
271
 
192
- | Property | Type | Description |
193
- | ------------- | --------------------- | ------------------------------------------------- |
194
- | `name` | `string` | CLI name (required) |
195
- | `description` | `string` | Description shown in help |
196
- | `version` | `string` | Enables `--version` flag |
197
- | `options` | `OptionsSchema` | Named options (`--flag`) |
198
- | `positionals` | `PositionalsSchema` | Positional arguments |
199
- | `commands` | `Record<string, ...>` | Subcommands |
200
- | `handler` | `Handler` | Handler function(s) for simple CLIs |
201
- | `epilog` | `string \| false` | Footer text in help (see [Epilog](#epilog)) |
202
- | `args` | `string[]` | Custom args (defaults to `process.argv.slice(2)`) |
272
+ | Property | Type | Description |
273
+ | ------------- | --------------------- | ------------------------------------------------------------ |
274
+ | `name` | `string` | CLI name (required) |
275
+ | `description` | `string` | Description shown in help |
276
+ | `version` | `string` | Enables `--version` flag |
277
+ | `options` | `OptionsSchema` | Named options (`--flag`) |
278
+ | `positionals` | `PositionalsSchema` | Positional arguments |
279
+ | `commands` | `Record<string, ...>` | Subcommands |
280
+ | `transforms` | `TransformsConfig` | Transform values/positionals (see [Transforms](#transforms)) |
281
+ | `handler` | `Handler` | Handler function for simple CLIs |
282
+ | `epilog` | `string \| false` | Footer text in help (see [Epilog](#epilog)) |
283
+ | `args` | `string[]` | Custom args (defaults to `process.argv.slice(2)`) |
203
284
 
204
285
  ```typescript
205
286
  bargs({
@@ -249,6 +330,8 @@ All option helpers accept these properties:
249
330
  | `hidden` | `boolean` | Hide from `--help` output |
250
331
  | `required` | `boolean` | Mark as required (makes the option non-nullable) |
251
332
 
333
+ Example:
334
+
252
335
  ```typescript
253
336
  bargs.string({
254
337
  aliases: ['o'],
@@ -279,6 +362,8 @@ bargs.variadic('string'); // [files...]
279
362
  | `name` | `string` | Display name in help (defaults to `arg0`, `arg1`, ...) |
280
363
  | `required` | `boolean` | Mark as required (shown as `<name>` vs `[name]`) |
281
364
 
365
+ Example:
366
+
282
367
  ```typescript
283
368
  bargs.stringPos({
284
369
  name: 'file',
@@ -478,6 +563,10 @@ const plain = stripAnsi('\x1b[32m--verbose\x1b[0m'); // '--verbose'
478
563
  const customTheme = { ...themes.ocean, colors: { flag: ansi.green } };
479
564
  ```
480
565
 
566
+ ## Motivation
567
+
568
+ I've always reached for [yargs](https://github.com/yargs/yargs) in my CLI projects. However, I find myself repeatedly doing the same things; I have a sort of boilerplate in my head, ready to go (`requiresArg: true` and `nargs: 1`, amirite?). I don't want boilerplate in my head. I wanted to distill my chosen subset of yargs' behavior into a composable API. And so **bargs** was begat.
569
+
481
570
  ## License
482
571
 
483
572
  Copyright © 2025 [Christopher "boneskull" Hiller](https://github.com/boneskull). Licensed under the [Blue Oak Model License 1.0.0](./LICENSE).
package/dist/bargs.cjs CHANGED
@@ -114,14 +114,24 @@ function bargs(config, options) {
114
114
  return (0, parser_js_1.parseCommandsSync)({ ...config, args });
115
115
  }
116
116
  else {
117
- const result = (0, parser_js_1.parseSimple)({
117
+ const parsed = (0, parser_js_1.parseSimple)({
118
118
  args,
119
119
  options: config.options,
120
120
  positionals: config.positionals,
121
121
  });
122
- // Call handler(s) if provided (sync)
122
+ // Run transforms if present (type-erased in implementation)
123
+ const transforms = config.transforms;
124
+ const transformed = transforms
125
+ ? (0, parser_js_1.runSyncTransforms)(transforms, parsed.values, parsed.positionals)
126
+ : { positionals: parsed.positionals, values: parsed.values };
127
+ const result = {
128
+ command: undefined,
129
+ positionals: transformed.positionals,
130
+ values: transformed.values,
131
+ };
132
+ // Call handler if provided (sync)
123
133
  if (config.handler) {
124
- (0, parser_js_1.runSyncHandlers)(config.handler, result);
134
+ (0, parser_js_1.runSyncHandler)(config.handler, result);
125
135
  }
126
136
  return result;
127
137
  }
@@ -148,14 +158,24 @@ async function bargsAsync(config, options) {
148
158
  return await (0, parser_js_1.parseCommandsAsync)({ ...config, args });
149
159
  }
150
160
  else {
151
- const result = (0, parser_js_1.parseSimple)({
161
+ const parsed = (0, parser_js_1.parseSimple)({
152
162
  args,
153
163
  options: config.options,
154
164
  positionals: config.positionals,
155
165
  });
156
- // Call handler(s) if provided (async)
166
+ // Run transforms if present (type-erased in implementation)
167
+ const transforms = config.transforms;
168
+ const transformed = transforms
169
+ ? await (0, parser_js_1.runTransforms)(transforms, parsed.values, parsed.positionals)
170
+ : { positionals: parsed.positionals, values: parsed.values };
171
+ const result = {
172
+ command: undefined,
173
+ positionals: transformed.positionals,
174
+ values: transformed.values,
175
+ };
176
+ // Call handler if provided (async)
157
177
  if (config.handler) {
158
- await (0, parser_js_1.runHandlers)(config.handler, result);
178
+ await (0, parser_js_1.runHandler)(config.handler, result);
159
179
  }
160
180
  return result;
161
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bargs.js","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAkLH,sBAuCC;AAgCD,gCAuCC;AAlRD,4CAAwC;AACxC,wCAA8D;AAC9D,4CAMqB;AACrB,0CAAgE;AAChE,gDAA+C;AAE/C;;GAEG;AACH,MAAM,WAAW,GAAG,CAClB,MAIC,EAID,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,OAAuB,EAAW,EAAE;IAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,0CAA0C;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,OAAuB,EAAW,EAAE;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,0CAA0C;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG,CACzB,MAIC,EACD,IAAc,EACd,QAAe,uBAAY,EAClB,EAAE;IACX,4DAA4D;IAC5D,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,8CAA8C;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAE/D,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,IAAA,6BAAmB,EAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,IAAA,sBAAY,EACV,MAAkE,EAClE,KAAK,CACN,CACF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kEAAkE;IAClE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,CACtB,KAAc,EACd,MAIC,EACD,QAAe,uBAAY,EACpB,EAAE;IACT,IAAI,KAAK,YAAY,qBAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,IAAA,sBAAY,EACV,MAAkE,EAClE,KAAK,CACN,CACF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC,CAAC;AAgCF;;;GAGG;AACH,SAAgB,KAAK,CACnB,MAIC,EACD,OAAsB;IAEtB,8DAA8D;IAC9D,IAAA,4BAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,KAAK,GAAU,OAAO,EAAE,KAAK;QACjC,CAAC,CAAC,IAAA,mBAAQ,EAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,IAAA,mBAAQ,EAAC,SAAS,CAAC,CAAC;IAExB,IAAI,CAAC;QACH,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAExC,QAAQ;QACR,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,IAAA,6BAAiB,EAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAA,uBAAW,EAAC;gBACzB,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YAEH,qCAAqC;YACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAA,2BAAe,EAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AA4BD;;;GAGG;AACI,KAAK,UAAU,UAAU,CAC9B,MAIC,EACD,OAAsB;IAEtB,8DAA8D;IAC9D,IAAA,4BAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,KAAK,GAAU,OAAO,EAAE,KAAK;QACjC,CAAC,CAAC,IAAA,mBAAQ,EAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,IAAA,mBAAQ,EAAC,SAAS,CAAC,CAAC;IAExB,IAAI,CAAC;QACH,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAExC,QAAQ;QACR,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,IAAA,8BAAkB,EAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAA,uBAAW,EAAC;gBACzB,IAAI;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YAEH,sCAAsC;YACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAA,uBAAW,EAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"bargs.js","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"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"}
package/dist/bargs.d.cts CHANGED
@@ -9,23 +9,23 @@
9
9
  *
10
10
  * @packageDocumentation
11
11
  */
12
- import type { BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, CommandConfigInput, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema } from "./types.cjs";
12
+ import type { BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, CommandConfigInput, InferOptions, InferPositionals, InferTransformedPositionals, InferTransformedValues, OptionsSchema, PositionalsSchema, TransformsConfig } from "./types.cjs";
13
13
  /**
14
14
  * Main bargs entry point for simple CLIs (no commands) - sync version. Throws
15
- * if any handler returns a thenable.
15
+ * if any handler or transform returns a thenable.
16
16
  */
17
- export declare function bargs<TOptions extends OptionsSchema, TPositionals extends PositionalsSchema>(config: BargsConfig<TOptions, TPositionals, undefined>, options?: BargsOptions): BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
17
+ export declare function bargs<const TOptions extends OptionsSchema, const TPositionals extends PositionalsSchema, const TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined>(config: BargsConfig<TOptions, TPositionals, undefined, TTransforms>, options?: BargsOptions): BargsResult<InferTransformedValues<InferOptions<TOptions>, TTransforms>, InferTransformedPositionals<InferPositionals<TPositionals>, TTransforms>, undefined>;
18
18
  /**
19
19
  * Main bargs entry point for command-based CLIs - sync version. Throws if any
20
20
  * handler returns a thenable.
21
21
  */
22
- export declare function bargs<TOptions extends OptionsSchema, TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): BargsResult<InferOptions<TOptions>, unknown[], string | undefined>;
22
+ export declare function bargs<const TOptions extends OptionsSchema, const TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>;
23
23
  /**
24
24
  * Main bargs entry point for simple CLIs (no commands) - async version.
25
25
  */
26
- export declare function bargsAsync<TOptions extends OptionsSchema, TPositionals extends PositionalsSchema>(config: BargsConfig<TOptions, TPositionals, undefined>, options?: BargsOptions): Promise<BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>>;
26
+ export declare function bargsAsync<const TOptions extends OptionsSchema, const TPositionals extends PositionalsSchema, const TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined>(config: BargsConfig<TOptions, TPositionals, undefined, TTransforms>, options?: BargsOptions): Promise<BargsResult<InferTransformedValues<InferOptions<TOptions>, TTransforms>, InferTransformedPositionals<InferPositionals<TPositionals>, TTransforms>, undefined>>;
27
27
  /**
28
28
  * Main bargs entry point for command-based CLIs - async version.
29
29
  */
30
- export declare function bargsAsync<TOptions extends OptionsSchema, TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): Promise<BargsResult<InferOptions<TOptions>, unknown[], string | undefined>>;
30
+ export declare function bargsAsync<const TOptions extends OptionsSchema, const TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): Promise<BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>>;
31
31
  //# sourceMappingURL=bargs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bargs.d.ts","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,oBAAmB;AAsIpB;;;GAGG;AACH,wBAAgB,KAAK,CACnB,QAAQ,SAAS,aAAa,EAC9B,YAAY,SAAS,iBAAiB,EAEtC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,EACtD,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CACZ,YAAY,CAAC,QAAQ,CAAC,EACtB,gBAAgB,CAAC,YAAY,CAAC,EAC9B,SAAS,CACV,CAAC;AAEF;;;GAGG;AACH,wBAAgB,KAAK,CACnB,QAAQ,SAAS,aAAa,EAC9B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAEpD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAiDtE;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,SAAS,aAAa,EAC9B,YAAY,SAAS,iBAAiB,EAEtC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,EACtD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CACR,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAC/E,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,SAAS,aAAa,EAC9B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAEpD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"bargs.d.ts","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EACjB,oBAAmB;AAwIpB;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,YAAY,SAAS,iBAAiB,EAC5C,KAAK,CAAC,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxE,SAAS,EAEX,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,EACnE,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CACZ,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC3D,2BAA2B,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,EACxE,SAAS,CACV,CAAC;AAEF;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAE1D,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAoE/E;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,YAAY,SAAS,iBAAiB,EAC5C,KAAK,CAAC,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxE,SAAS,EAEX,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,EACnE,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CACR,WAAW,CACT,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC3D,2BAA2B,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,EACxE,SAAS,CACV,CACF,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAE1D,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CACR,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAC5E,CAAC"}
package/dist/bargs.d.ts CHANGED
@@ -9,23 +9,23 @@
9
9
  *
10
10
  * @packageDocumentation
11
11
  */
12
- import type { BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, CommandConfigInput, InferOptions, InferPositionals, OptionsSchema, PositionalsSchema } from "./types.js";
12
+ import type { BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, CommandConfigInput, InferOptions, InferPositionals, InferTransformedPositionals, InferTransformedValues, OptionsSchema, PositionalsSchema, TransformsConfig } from "./types.js";
13
13
  /**
14
14
  * Main bargs entry point for simple CLIs (no commands) - sync version. Throws
15
- * if any handler returns a thenable.
15
+ * if any handler or transform returns a thenable.
16
16
  */
17
- export declare function bargs<TOptions extends OptionsSchema, TPositionals extends PositionalsSchema>(config: BargsConfig<TOptions, TPositionals, undefined>, options?: BargsOptions): BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>;
17
+ export declare function bargs<const TOptions extends OptionsSchema, const TPositionals extends PositionalsSchema, const TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined>(config: BargsConfig<TOptions, TPositionals, undefined, TTransforms>, options?: BargsOptions): BargsResult<InferTransformedValues<InferOptions<TOptions>, TTransforms>, InferTransformedPositionals<InferPositionals<TPositionals>, TTransforms>, undefined>;
18
18
  /**
19
19
  * Main bargs entry point for command-based CLIs - sync version. Throws if any
20
20
  * handler returns a thenable.
21
21
  */
22
- export declare function bargs<TOptions extends OptionsSchema, TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): BargsResult<InferOptions<TOptions>, unknown[], string | undefined>;
22
+ export declare function bargs<const TOptions extends OptionsSchema, const TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>;
23
23
  /**
24
24
  * Main bargs entry point for simple CLIs (no commands) - async version.
25
25
  */
26
- export declare function bargsAsync<TOptions extends OptionsSchema, TPositionals extends PositionalsSchema>(config: BargsConfig<TOptions, TPositionals, undefined>, options?: BargsOptions): Promise<BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>>;
26
+ export declare function bargsAsync<const TOptions extends OptionsSchema, const TPositionals extends PositionalsSchema, const TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined>(config: BargsConfig<TOptions, TPositionals, undefined, TTransforms>, options?: BargsOptions): Promise<BargsResult<InferTransformedValues<InferOptions<TOptions>, TTransforms>, InferTransformedPositionals<InferPositionals<TPositionals>, TTransforms>, undefined>>;
27
27
  /**
28
28
  * Main bargs entry point for command-based CLIs - async version.
29
29
  */
30
- export declare function bargsAsync<TOptions extends OptionsSchema, TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): Promise<BargsResult<InferOptions<TOptions>, unknown[], string | undefined>>;
30
+ export declare function bargsAsync<const TOptions extends OptionsSchema, const TCommands extends Record<string, CommandConfigInput>>(config: BargsConfigWithCommands<TOptions, TCommands>, options?: BargsOptions): Promise<BargsResult<InferOptions<TOptions>, readonly unknown[], string | undefined>>;
31
31
  //# sourceMappingURL=bargs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bargs.d.ts","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,mBAAmB;AAsIpB;;;GAGG;AACH,wBAAgB,KAAK,CACnB,QAAQ,SAAS,aAAa,EAC9B,YAAY,SAAS,iBAAiB,EAEtC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,EACtD,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CACZ,YAAY,CAAC,QAAQ,CAAC,EACtB,gBAAgB,CAAC,YAAY,CAAC,EAC9B,SAAS,CACV,CAAC;AAEF;;;GAGG;AACH,wBAAgB,KAAK,CACnB,QAAQ,SAAS,aAAa,EAC9B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAEpD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAiDtE;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,SAAS,aAAa,EAC9B,YAAY,SAAS,iBAAiB,EAEtC,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,EACtD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CACR,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAC/E,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,SAAS,aAAa,EAC9B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAEpD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"bargs.d.ts","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EACjB,mBAAmB;AAwIpB;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,YAAY,SAAS,iBAAiB,EAC5C,KAAK,CAAC,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxE,SAAS,EAEX,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,EACnE,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CACZ,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC3D,2BAA2B,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,EACxE,SAAS,CACV,CAAC;AAEF;;;GAGG;AACH,wBAAgB,KAAK,CACnB,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAE1D,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAoE/E;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,YAAY,SAAS,iBAAiB,EAC5C,KAAK,CAAC,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxE,SAAS,EAEX,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,EACnE,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CACR,WAAW,CACT,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC3D,2BAA2B,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,EACxE,SAAS,CACV,CACF,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,CAAC,QAAQ,SAAS,aAAa,EACpC,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAE1D,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACpD,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CACR,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAC5E,CAAC"}
package/dist/bargs.js CHANGED
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { HelpError } from "./errors.js";
13
13
  import { generateCommandHelp, generateHelp } from "./help.js";
14
- import { parseCommandsAsync, parseCommandsSync, parseSimple, runHandlers, runSyncHandlers, } from "./parser.js";
14
+ import { parseCommandsAsync, parseCommandsSync, parseSimple, runHandler, runSyncHandler, runSyncTransforms, runTransforms, } from "./parser.js";
15
15
  import { defaultTheme, getTheme } from "./theme.js";
16
16
  import { validateConfig } from "./validate.js";
17
17
  /**
@@ -110,14 +110,24 @@ export function bargs(config, options) {
110
110
  return parseCommandsSync({ ...config, args });
111
111
  }
112
112
  else {
113
- const result = parseSimple({
113
+ const parsed = parseSimple({
114
114
  args,
115
115
  options: config.options,
116
116
  positionals: config.positionals,
117
117
  });
118
- // Call handler(s) if provided (sync)
118
+ // Run transforms if present (type-erased in implementation)
119
+ const transforms = config.transforms;
120
+ const transformed = transforms
121
+ ? runSyncTransforms(transforms, parsed.values, parsed.positionals)
122
+ : { positionals: parsed.positionals, values: parsed.values };
123
+ const result = {
124
+ command: undefined,
125
+ positionals: transformed.positionals,
126
+ values: transformed.values,
127
+ };
128
+ // Call handler if provided (sync)
119
129
  if (config.handler) {
120
- runSyncHandlers(config.handler, result);
130
+ runSyncHandler(config.handler, result);
121
131
  }
122
132
  return result;
123
133
  }
@@ -144,14 +154,24 @@ export async function bargsAsync(config, options) {
144
154
  return await parseCommandsAsync({ ...config, args });
145
155
  }
146
156
  else {
147
- const result = parseSimple({
157
+ const parsed = parseSimple({
148
158
  args,
149
159
  options: config.options,
150
160
  positionals: config.positionals,
151
161
  });
152
- // Call handler(s) if provided (async)
162
+ // Run transforms if present (type-erased in implementation)
163
+ const transforms = config.transforms;
164
+ const transformed = transforms
165
+ ? await runTransforms(transforms, parsed.values, parsed.positionals)
166
+ : { positionals: parsed.positionals, values: parsed.values };
167
+ const result = {
168
+ command: undefined,
169
+ positionals: transformed.positionals,
170
+ values: transformed.values,
171
+ };
172
+ // Call handler if provided (async)
153
173
  if (config.handler) {
154
- await runHandlers(config.handler, result);
174
+ await runHandler(config.handler, result);
155
175
  }
156
176
  return result;
157
177
  }
package/dist/bargs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bargs.js","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bargs.js","sourceRoot":"","sources":["../src/bargs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.cts CHANGED
@@ -32,7 +32,7 @@ import { bargsAsync as bargsAsyncBase, bargs as bargsBase } from "./bargs.cjs";
32
32
  export declare const bargs: typeof bargsBase & {
33
33
  array: (items: "number" | "string", props?: Omit<import("./types.js").ArrayOption, "items" | "type">) => import("./types.js").ArrayOption;
34
34
  boolean: <P extends Omit<import("./types.js").BooleanOption, "type"> = Omit<import("./types.js").BooleanOption, "type">>(props?: P) => import("./types.js").BooleanOption & P;
35
- command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema>(config: import("./types.js").CommandConfig<TOptions, TPositionals>) => import("./types.js").CommandConfig<TOptions, TPositionals>;
35
+ command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema, TTransforms extends import("./types.js").TransformsConfig<any, any, any, any> | undefined = undefined>(config: import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>) => import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>;
36
36
  count: (props?: Omit<import("./types.js").CountOption, "type">) => import("./types.js").CountOption;
37
37
  enum: <const T extends readonly string[], P extends Omit<import("./types.js").EnumOption<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumOption<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumOption<T[number]> & P;
38
38
  enumPos: <const T extends readonly string[], P extends Omit<import("./types.js").EnumPositional<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumPositional<T[number]> & P;
@@ -63,7 +63,7 @@ export declare const bargs: typeof bargsBase & {
63
63
  export declare const bargsAsync: typeof bargsAsyncBase & {
64
64
  array: (items: "number" | "string", props?: Omit<import("./types.js").ArrayOption, "items" | "type">) => import("./types.js").ArrayOption;
65
65
  boolean: <P extends Omit<import("./types.js").BooleanOption, "type"> = Omit<import("./types.js").BooleanOption, "type">>(props?: P) => import("./types.js").BooleanOption & P;
66
- command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema>(config: import("./types.js").CommandConfig<TOptions, TPositionals>) => import("./types.js").CommandConfig<TOptions, TPositionals>;
66
+ command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema, TTransforms extends import("./types.js").TransformsConfig<any, any, any, any> | undefined = undefined>(config: import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>) => import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>;
67
67
  count: (props?: Omit<import("./types.js").CountOption, "type">) => import("./types.js").CountOption;
68
68
  enum: <const T extends readonly string[], P extends Omit<import("./types.js").EnumOption<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumOption<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumOption<T[number]> & P;
69
69
  enumPos: <const T extends readonly string[], P extends Omit<import("./types.js").EnumPositional<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumPositional<T[number]> & P;
@@ -92,5 +92,5 @@ export { generateCommandHelp, generateHelp } from "./help.cjs";
92
92
  export { link, linkifyUrls, supportsHyperlinks } from "./osc.cjs";
93
93
  export { ansi, createStyler, defaultTheme, stripAnsi, themes, } from "./theme.cjs";
94
94
  export type { StyleFn, Styler, Theme, ThemeColors, ThemeInput, } from "./theme.cjs";
95
- export type { AnyCommandConfig, ArrayOption, BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, BooleanOption, CommandConfig, CommandConfigInput, CountOption, EnumOption, Handler, HandlerFn, InferOption, InferOptions, InferPositional, InferPositionals, NumberOption, NumberPositional, OptionDef, OptionsSchema, PositionalDef, PositionalsSchema, StringOption, StringPositional, VariadicPositional, } from "./types.cjs";
95
+ export type { AnyCommandConfig, ArrayOption, BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, BooleanOption, CommandConfig, CommandConfigInput, CountOption, EnumOption, EnumPositional, Handler, HandlerFn, InferOption, InferOptions, InferPositional, InferPositionals, InferTransformedPositionals, InferTransformedValues, NumberOption, NumberPositional, OptionDef, OptionsSchema, PositionalDef, PositionalsSchema, PositionalsTransformFn, StringOption, StringPositional, TransformsConfig, ValuesTransformFn, VariadicPositional, } from "./types.cjs";
96
96
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,oBAAmB;AAG9E;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;SAgE8rI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CAhEx/J,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;SA0DyrI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CA1D9+J,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAoB;AAGrE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAkB;AAG9D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAiB;AAGjE,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,GACP,oBAAmB;AAGpB,YAAY,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,GACX,oBAAmB;AAGpB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,oBAAmB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,oBAAmB;AAG9E;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;SAsE0yI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CAtEpmK,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;SAgEqyI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CAhE1lK,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAoB;AAGrE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAkB;AAG9D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAiB;AAGjE,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,GACP,oBAAmB;AAGpB,YAAY,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,GACX,oBAAmB;AAGpB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,oBAAmB"}
package/dist/index.d.ts CHANGED
@@ -32,7 +32,7 @@ import { bargsAsync as bargsAsyncBase, bargs as bargsBase } from "./bargs.js";
32
32
  export declare const bargs: typeof bargsBase & {
33
33
  array: (items: "number" | "string", props?: Omit<import("./types.js").ArrayOption, "items" | "type">) => import("./types.js").ArrayOption;
34
34
  boolean: <P extends Omit<import("./types.js").BooleanOption, "type"> = Omit<import("./types.js").BooleanOption, "type">>(props?: P) => import("./types.js").BooleanOption & P;
35
- command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema>(config: import("./types.js").CommandConfig<TOptions, TPositionals>) => import("./types.js").CommandConfig<TOptions, TPositionals>;
35
+ command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema, TTransforms extends import("./types.js").TransformsConfig<any, any, any, any> | undefined = undefined>(config: import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>) => import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>;
36
36
  count: (props?: Omit<import("./types.js").CountOption, "type">) => import("./types.js").CountOption;
37
37
  enum: <const T extends readonly string[], P extends Omit<import("./types.js").EnumOption<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumOption<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumOption<T[number]> & P;
38
38
  enumPos: <const T extends readonly string[], P extends Omit<import("./types.js").EnumPositional<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumPositional<T[number]> & P;
@@ -63,7 +63,7 @@ export declare const bargs: typeof bargsBase & {
63
63
  export declare const bargsAsync: typeof bargsAsyncBase & {
64
64
  array: (items: "number" | "string", props?: Omit<import("./types.js").ArrayOption, "items" | "type">) => import("./types.js").ArrayOption;
65
65
  boolean: <P extends Omit<import("./types.js").BooleanOption, "type"> = Omit<import("./types.js").BooleanOption, "type">>(props?: P) => import("./types.js").BooleanOption & P;
66
- command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema>(config: import("./types.js").CommandConfig<TOptions, TPositionals>) => import("./types.js").CommandConfig<TOptions, TPositionals>;
66
+ command: <TOptions extends import("./types.js").OptionsSchema = import("./types.js").OptionsSchema, TPositionals extends import("./types.js").PositionalsSchema = import("./types.js").PositionalsSchema, TTransforms extends import("./types.js").TransformsConfig<any, any, any, any> | undefined = undefined>(config: import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>) => import("./types.js").CommandConfig<TOptions, TPositionals, TTransforms>;
67
67
  count: (props?: Omit<import("./types.js").CountOption, "type">) => import("./types.js").CountOption;
68
68
  enum: <const T extends readonly string[], P extends Omit<import("./types.js").EnumOption<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumOption<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumOption<T[number]> & P;
69
69
  enumPos: <const T extends readonly string[], P extends Omit<import("./types.js").EnumPositional<T[number]>, "choices" | "type"> = Omit<import("./types.js").EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => import("./types.js").EnumPositional<T[number]> & P;
@@ -92,5 +92,5 @@ export { generateCommandHelp, generateHelp } from "./help.js";
92
92
  export { link, linkifyUrls, supportsHyperlinks } from "./osc.js";
93
93
  export { ansi, createStyler, defaultTheme, stripAnsi, themes, } from "./theme.js";
94
94
  export type { StyleFn, Styler, Theme, ThemeColors, ThemeInput, } from "./theme.js";
95
- export type { AnyCommandConfig, ArrayOption, BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, BooleanOption, CommandConfig, CommandConfigInput, CountOption, EnumOption, Handler, HandlerFn, InferOption, InferOptions, InferPositional, InferPositionals, NumberOption, NumberPositional, OptionDef, OptionsSchema, PositionalDef, PositionalsSchema, StringOption, StringPositional, VariadicPositional, } from "./types.js";
95
+ export type { AnyCommandConfig, ArrayOption, BargsConfig, BargsConfigWithCommands, BargsOptions, BargsResult, BooleanOption, CommandConfig, CommandConfigInput, CountOption, EnumOption, EnumPositional, Handler, HandlerFn, InferOption, InferOptions, InferPositional, InferPositionals, InferTransformedPositionals, InferTransformedValues, NumberOption, NumberPositional, OptionDef, OptionsSchema, PositionalDef, PositionalsSchema, PositionalsTransformFn, StringOption, StringPositional, TransformsConfig, ValuesTransformFn, VariadicPositional, } from "./types.js";
96
96
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,mBAAmB;AAG9E;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;SAgE8rI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CAhEx/J,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;SA0DyrI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CA1D9+J,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB;AAGrE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,kBAAkB;AAG9D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB;AAGjE,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,GACP,mBAAmB;AAGpB,YAAY,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,GACX,mBAAmB;AAGpB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,mBAAmB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,mBAAmB;AAG9E;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;SAsE0yI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CAtEpmK,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;SAgEqyI,GAAG;;;;;;;SAAo1B,GAAG;;;;;CAhE1lK,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB;AAGrE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,kBAAkB;AAG9D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB;AAGjE,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,GACP,mBAAmB;AAGpB,YAAY,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,UAAU,GACX,mBAAmB;AAGpB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,mBAAmB"}
package/dist/opt.cjs CHANGED
@@ -92,8 +92,11 @@ exports.opt = {
92
92
  * options: opt.options({
93
93
  * name: opt.string({ default: 'world' }),
94
94
  * }),
95
+ * transforms: {
96
+ * values: (v) => ({ ...v, timestamp: Date.now() }),
97
+ * },
95
98
  * handler: ({ values }) => {
96
- * console.log(`Hello, ${values.name}!`);
99
+ * console.log(`Hello, ${values.name}! (${values.timestamp})`);
97
100
  * },
98
101
  * });
99
102
  * ```
package/dist/opt.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
package/dist/opt.d.cts CHANGED
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
- import type { ArrayOption, BooleanOption, CommandConfig, CountOption, EnumOption, EnumPositional, NumberOption, NumberPositional, OptionsSchema, PositionalDef, PositionalsSchema, StringOption, StringPositional, VariadicPositional } from "./types.cjs";
13
+ import type { ArrayOption, BooleanOption, CommandConfig, CountOption, EnumOption, EnumPositional, NumberOption, NumberPositional, OptionsSchema, PositionalDef, PositionalsSchema, StringOption, StringPositional, TransformsConfig, VariadicPositional } from "./types.cjs";
14
14
  /**
15
15
  * Namespaced option builders.
16
16
  *
@@ -50,13 +50,16 @@ export declare const opt: {
50
50
  * options: opt.options({
51
51
  * name: opt.string({ default: 'world' }),
52
52
  * }),
53
+ * transforms: {
54
+ * values: (v) => ({ ...v, timestamp: Date.now() }),
55
+ * },
53
56
  * handler: ({ values }) => {
54
- * console.log(`Hello, ${values.name}!`);
57
+ * console.log(`Hello, ${values.name}! (${values.timestamp})`);
55
58
  * },
56
59
  * });
57
60
  * ```
58
61
  */
59
- command: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: CommandConfig<TOptions, TPositionals>) => CommandConfig<TOptions, TPositionals>;
62
+ command: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined>(config: CommandConfig<TOptions, TPositionals, TTransforms>) => CommandConfig<TOptions, TPositionals, TTransforms>;
60
63
  /**
61
64
  * Define a count option (--verbose --verbose = 2).
62
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
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,gBAAgB,EAChB,kBAAkB,EACnB,oBAAmB;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;;;;;;;;;;;;;;;;;;;OAmBG;cAED,QAAQ,SAAS,aAAa,kBAC9B,YAAY,SAAS,iBAAiB,sBACtC,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,sBAG5D,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,KACzD,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC;IAErD;;OAEG;oBACY,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAAQ,WAAW;IAK3D;;;;OAIG;iBAEK,CAAC,SAAS,SAAS,MAAM,EAAE,EACjC,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,6DAKhD,CAAC,UACH,CAAC,KACP,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IAO5B;;;OAGG;oBAEK,CAAC,SAAS,SAAS,MAAM,EAAE,EACjC,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,iEAKpD,CAAC,UACH,CAAC,KACP,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IAOhC;;;OAGG;aACM,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,uCACpC,CAAC,KACP,YAAY,GAAG,CAAC;IAQnB;;OAEG;wBAEM,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KACpC,gBAAgB;IAKnB;;;;;;;;;;;;;;;;;;;;OAoBG;aACqB;QACtB,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EACxE,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,CACE,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EAEvB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,GAAG,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;KAC9C;IAED;;;;;;;;;;;OAWG;iBAC6B;QAC9B,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EACxE,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACb,CACE,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS,aAAa,EAEvB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;KACtD;IAED;;;OAGG;aACM,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,uCACpC,CAAC,KACP,CAAC,GAAG,YAAY;IAQnB;;OAEG;wBAEM,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KACpC,gBAAgB;IAOnB;;OAEG;sBAEM,QAAQ,GAAG,QAAQ,UACnB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAAC,KAChD,kBAAkB;CAKtB,CAAC"}
package/dist/opt.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
- import type { ArrayOption, BooleanOption, CommandConfig, CountOption, EnumOption, EnumPositional, NumberOption, NumberPositional, OptionsSchema, PositionalDef, PositionalsSchema, StringOption, StringPositional, VariadicPositional } from "./types.js";
13
+ import type { ArrayOption, BooleanOption, CommandConfig, CountOption, EnumOption, EnumPositional, NumberOption, NumberPositional, OptionsSchema, PositionalDef, PositionalsSchema, StringOption, StringPositional, TransformsConfig, VariadicPositional } from "./types.js";
14
14
  /**
15
15
  * Namespaced option builders.
16
16
  *
@@ -50,13 +50,16 @@ export declare const opt: {
50
50
  * options: opt.options({
51
51
  * name: opt.string({ default: 'world' }),
52
52
  * }),
53
+ * transforms: {
54
+ * values: (v) => ({ ...v, timestamp: Date.now() }),
55
+ * },
53
56
  * handler: ({ values }) => {
54
- * console.log(`Hello, ${values.name}!`);
57
+ * console.log(`Hello, ${values.name}! (${values.timestamp})`);
55
58
  * },
56
59
  * });
57
60
  * ```
58
61
  */
59
- command: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema>(config: CommandConfig<TOptions, TPositionals>) => CommandConfig<TOptions, TPositionals>;
62
+ command: <TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined>(config: CommandConfig<TOptions, TPositionals, TTransforms>) => CommandConfig<TOptions, TPositionals, TTransforms>;
60
63
  /**
61
64
  * Define a count option (--verbose --verbose = 2).
62
65
  */