@boneskull/bargs 0.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +100 -11
  2. package/dist/bargs.cjs +22 -10
  3. package/dist/bargs.cjs.map +1 -1
  4. package/dist/bargs.d.cts +6 -6
  5. package/dist/bargs.d.cts.map +1 -1
  6. package/dist/bargs.d.ts +6 -6
  7. package/dist/bargs.d.ts.map +1 -1
  8. package/dist/bargs.js +23 -11
  9. package/dist/bargs.js.map +1 -1
  10. package/dist/help.cjs.map +1 -1
  11. package/dist/help.d.cts +2 -2
  12. package/dist/help.d.cts.map +1 -1
  13. package/dist/help.d.ts +2 -2
  14. package/dist/help.d.ts.map +1 -1
  15. package/dist/help.js.map +1 -1
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +8 -7
  18. package/dist/index.d.cts.map +1 -1
  19. package/dist/index.d.ts +8 -7
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/opt.cjs +51 -7
  23. package/dist/opt.cjs.map +1 -1
  24. package/dist/opt.d.cts +50 -10
  25. package/dist/opt.d.cts.map +1 -1
  26. package/dist/opt.d.ts +50 -10
  27. package/dist/opt.d.ts.map +1 -1
  28. package/dist/opt.js +51 -7
  29. package/dist/opt.js.map +1 -1
  30. package/dist/parser.cjs +118 -29
  31. package/dist/parser.cjs.map +1 -1
  32. package/dist/parser.d.cts +37 -10
  33. package/dist/parser.d.cts.map +1 -1
  34. package/dist/parser.d.ts +37 -10
  35. package/dist/parser.d.ts.map +1 -1
  36. package/dist/parser.js +113 -26
  37. package/dist/parser.js.map +1 -1
  38. package/dist/types.d.cts +207 -35
  39. package/dist/types.d.cts.map +1 -1
  40. package/dist/types.d.ts +207 -35
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/validate.cjs +28 -17
  43. package/dist/validate.cjs.map +1 -1
  44. package/dist/validate.d.cts.map +1 -1
  45. package/dist/validate.d.ts.map +1 -1
  46. package/dist/validate.js +28 -17
  47. package/dist/validate.js.map +1 -1
  48. package/package.json +1 -1
package/dist/types.d.ts CHANGED
@@ -15,15 +15,37 @@
15
15
  */
16
16
  import type { ThemeInput } from "./theme.js";
17
17
  /**
18
- * Any command config (type-erased for collections). Uses a permissive handler
19
- * type to avoid variance issues.
18
+ * Type-erased command config for use in collections and constraints.
19
+ *
20
+ * WARNING: The handler uses `any` which will leak into inline command handlers.
21
+ * For proper type inference in command handlers, use one of these patterns:
22
+ *
23
+ * 1. Use `bargs.command<typeof globalOptions>()({...})` to define commands
24
+ * 2. Define commands in a separate variable with explicit types
25
+ * 3. Add explicit type annotations to handler parameters
26
+ *
27
+ * @example // Option 1: Use bargs.command() (recommended) const myCmd =
28
+ * bargs.command<typeof globalOpts>()({ handler: ({ values }) => { ... } //
29
+ * values is properly typed });
30
+ *
31
+ * // Option 2: Explicit parameter types handler: ({ values }: BargsResult<...>)
32
+ * => { ... }
20
33
  */
21
34
  export interface AnyCommandConfig {
22
35
  description: string;
23
- handler: ((result: any) => Promise<void> | void)[] | ((result: any) => Promise<void> | void);
36
+ handler: (result: any) => Promise<void> | void;
24
37
  options?: OptionsSchema;
25
38
  positionals?: PositionalsSchema;
39
+ transforms?: TransformsConfig<any, any, any, any>;
26
40
  }
41
+ /**
42
+ * Command config shape used for type constraints/inference.
43
+ *
44
+ * Intentionally omits `handler` so inline command handlers are not
45
+ * context-typed as `(result: any) => …` before `CommandsInput` can apply the
46
+ * computed handler signature.
47
+ */
48
+ export type AnyCommandConfigInput = Omit<AnyCommandConfig, 'handler'>;
27
49
  /**
28
50
  * Array option definition (--flag value --flag value2).
29
51
  */
@@ -35,8 +57,13 @@ export interface ArrayOption extends OptionBase {
35
57
  }
36
58
  /**
37
59
  * Main bargs configuration.
60
+ *
61
+ * @typeParam TOptions - Options schema type
62
+ * @typeParam TPositionals - Positionals schema type
63
+ * @typeParam TCommands - Commands record type (undefined for simple CLIs)
64
+ * @typeParam TTransforms - Transforms config type (affects handler input types)
38
65
  */
39
- export interface BargsConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TCommands extends Record<string, AnyCommandConfig> | undefined = undefined> {
66
+ export interface BargsConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TCommands extends Record<string, AnyCommandConfigInput> | undefined = undefined, TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined> {
40
67
  args?: string[];
41
68
  commands?: TCommands;
42
69
  description?: string;
@@ -46,26 +73,20 @@ export interface BargsConfig<TOptions extends OptionsSchema = OptionsSchema, TPo
46
73
  * string to disable.
47
74
  */
48
75
  epilog?: false | string;
49
- handler?: Handler<BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>>;
50
76
  name: string;
51
77
  options?: TOptions;
52
78
  positionals?: TPositionals;
79
+ /**
80
+ * Transform functions that modify parsed values before handler execution.
81
+ * Values transform receives InferOptions<TOptions>, positionals transform
82
+ * receives InferPositionals<TPositionals>.
83
+ */
84
+ transforms?: 0 extends 1 & TTransforms ? TransformsConfig<any, any, any, any> : [TTransforms] extends [undefined] ? TransformsInput<InferOptions<TOptions>, InferPositionals<TPositionals>> : TTransforms;
53
85
  version?: string;
54
86
  }
55
- /**
56
- * Bargs config with commands (requires commands, allows defaultHandler).
57
- *
58
- * Commands can be defined in two ways:
59
- *
60
- * 1. Using opt.command() - handler receives local options only (legacy)
61
- * 2. Inline definition - handler can receive both global and local options
62
- *
63
- * Note: Top-level `positionals` is not allowed for command-based CLIs. Each
64
- * command defines its own positionals.
65
- */
66
- export type BargsConfigWithCommands<TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, CommandConfigInput> = Record<string, CommandConfigInput>> = Omit<BargsConfig<TOptions, PositionalsSchema, TCommands>, 'handler' | 'positionals'> & {
67
- commands: TCommands;
68
- defaultHandler?: Handler<BargsResult<InferOptions<TOptions>, [], undefined>> | keyof TCommands;
87
+ export type BargsConfigWithCommands<TOptions extends OptionsSchema = OptionsSchema, TCommands extends Record<string, AnyCommandConfigInput> = Record<string, AnyCommandConfigInput>, TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined> = Omit<BargsConfig<TOptions, PositionalsSchema, TCommands, TTransforms>, 'commands' | 'positionals'> & {
88
+ commands: CommandsInput<TOptions, TTransforms, TCommands> & TCommands;
89
+ defaultHandler?: CommandNames<TCommands> | Handler<BargsResult<InferTransformedValues<InferOptions<TOptions>, TTransforms>, readonly [], undefined>>;
69
90
  };
70
91
  /**
71
92
  * Runtime options for bargs (separate from parsing config).
@@ -92,26 +113,36 @@ export interface BooleanOption extends OptionBase {
92
113
  /**
93
114
  * Command configuration.
94
115
  *
95
- * The handler receives typed local options plus access to global options (as
96
- * Record<string, unknown>). Global options are available at runtime but require
97
- * type narrowing to access safely.
116
+ * The handler receives typed global options merged with command-specific
117
+ * options, properly transformed. Use `bargs.command<TGlobalOptions,
118
+ * TGlobalTransforms>()` to pass both global options and transforms types for
119
+ * full type inference.
120
+ *
121
+ * @typeParam TGlobalOptions - Global options schema (from parent config)
122
+ * @typeParam TGlobalTransforms - Global transforms config (from parent config)
123
+ * @typeParam TOptions - Command-specific options schema
124
+ * @typeParam TPositionals - Command positionals schema
125
+ * @typeParam TTransforms - Command-level transforms config
98
126
  */
99
- export interface CommandConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema> {
127
+ export interface CommandConfig<TGlobalOptions extends OptionsSchema = OptionsSchema, TGlobalTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined, TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined> {
100
128
  description: string;
101
- handler: Handler<BargsResult<InferOptions<TOptions> & Record<string, unknown>, InferPositionals<TPositionals>, string>>;
129
+ handler: Handler<BargsResult<InferTransformedValues<InferOptions<TOptions> & InferTransformedValues<InferOptions<TGlobalOptions>, TGlobalTransforms>, TTransforms>, InferTransformedPositionals<InferPositionals<TPositionals>, TTransforms>, string>>;
102
130
  options?: TOptions;
103
131
  positionals?: TPositionals;
132
+ /** Command-level transforms run after top-level transforms */
133
+ transforms?: 0 extends 1 & TTransforms ? TransformsConfig<any, any, any, any> : [TTransforms] extends [undefined] ? TransformsInput<InferOptions<TOptions> & InferTransformedValues<InferOptions<TGlobalOptions>, TGlobalTransforms>, InferPositionals<TPositionals>> : TTransforms;
104
134
  }
105
135
  /**
106
- * Command config input type for inline command definitions. The handler type is
107
- * intentionally loose here - it accepts any result type, allowing commands
108
- * defined with opt.command() or inline to work.
136
+ * Command config input type for inline command definitions. Uses `any` for
137
+ * handler result to accept any handler signature. See AnyCommandConfig for
138
+ * workarounds to get proper type inference.
109
139
  */
110
140
  export interface CommandConfigInput {
111
141
  description: string;
112
- handler: Handler<any>;
142
+ handler: (result: any) => Promise<void> | void;
113
143
  options?: OptionsSchema;
114
144
  positionals?: PositionalsSchema;
145
+ transforms?: TransformsConfig<any, any, any, any>;
115
146
  }
116
147
  /**
117
148
  * Count option definition (--verbose --verbose = 2).
@@ -137,14 +168,19 @@ export interface EnumPositional<T extends string = string> extends PositionalBas
137
168
  type: 'enum';
138
169
  }
139
170
  /**
140
- * Handler - either a single function or an array of functions. When an array is
141
- * provided, handlers run sequentially in order.
171
+ * Handler function signature. Handler arrays are no longer supported - use
172
+ * transforms for middleware-like sequential processing instead.
142
173
  */
143
- export type Handler<TResult> = HandlerFn<TResult> | HandlerFn<TResult>[];
174
+ export type Handler<TResult> = HandlerFn<TResult>;
144
175
  /**
145
176
  * Single handler function signature.
146
177
  */
147
178
  export type HandlerFn<TResult> = (result: TResult) => Promise<void> | void;
179
+ /**
180
+ * Compute the handler result type for a single command. Separating this makes
181
+ * the type easier for TypeScript to evaluate.
182
+ */
183
+ export type InferCommandResult<TGlobalOptions extends OptionsSchema, TGlobalTransforms extends TransformsConfig<any, any, any, any> | undefined, TCommandOptions extends OptionsSchema | undefined, TCommandPositionals extends PositionalsSchema | undefined, TCommandTransforms extends TransformsConfig<any, any, any, any> | undefined> = BargsResult<InferTransformedValues<InferTransformedValues<InferOptions<TGlobalOptions> & (TCommandOptions extends OptionsSchema ? InferOptions<TCommandOptions> : Record<string, never>), TGlobalTransforms>, TCommandTransforms>, InferTransformedPositionals<TCommandPositionals extends PositionalsSchema ? InferPositionals<TCommandPositionals> : readonly [], TCommandTransforms>, string>;
148
184
  /**
149
185
  * Infer the TypeScript type from an option definition.
150
186
  */
@@ -160,11 +196,59 @@ export type InferOptions<T extends OptionsSchema> = {
160
196
  */
161
197
  export type InferPositional<T extends PositionalDef> = T extends NumberPositional ? T['required'] extends true ? number : T['default'] extends number ? number : number | undefined : T extends StringPositional ? T['required'] extends true ? string : T['default'] extends string ? string : string | undefined : T extends EnumPositional<infer E> ? T['required'] extends true ? E : T['default'] extends E ? E : E | undefined : T extends VariadicPositional ? T['items'] extends 'number' ? number[] : string[] : never;
162
198
  /**
163
- * Infer positionals tuple type from schema.
199
+ * Recursively build a tuple type from a positionals schema array. Preserves
200
+ * tuple structure (order and length) rather than producing a mapped object
201
+ * type.
164
202
  */
165
- export type InferPositionals<T extends PositionalsSchema> = {
166
- [K in keyof T]: T[K] extends PositionalDef ? InferPositional<T[K]> : never;
203
+ export type InferPositionals<T extends PositionalsSchema> = T extends readonly [
204
+ infer First,
205
+ ...infer Rest
206
+ ] ? First extends PositionalDef ? Rest extends PositionalsSchema ? readonly [InferPositional<First>, ...InferPositionals<Rest>] : readonly [InferPositional<First>] : readonly [] : T extends readonly [infer Only] ? Only extends PositionalDef ? readonly [InferPositional<Only>] : readonly [] : T extends readonly [] ? readonly [] : readonly InferPositional<T[number]>[];
207
+ /**
208
+ * Compute proper handler types for each command in a commands record.
209
+ *
210
+ * This mapped type enables type inference for inline command definitions by
211
+ * computing the handler signature from each command's options, positionals, and
212
+ * transforms - plus the global options and transforms from the parent config.
213
+ *
214
+ * The handler receives:
215
+ *
216
+ * - Values: global options + command options, transformed by global then command
217
+ * transforms
218
+ * - Positionals: command positionals, transformed by command transforms
219
+ * - Command: the command name (string)
220
+ *
221
+ * Commands defined with `opt.command()` (returning `CommandConfig`) are passed
222
+ * through unchanged to preserve their existing handler types. Only inline
223
+ * command definitions get the computed handler type.
224
+ *
225
+ * @typeParam TGlobalOptions - Top-level options schema
226
+ * @typeParam TGlobalTransforms - Top-level transforms config
227
+ * @typeParam TCommands - Record of command configurations
228
+ */
229
+ export type InferredCommands<TGlobalOptions extends OptionsSchema, TGlobalTransforms extends TransformsConfig<any, any, any, any> | undefined, TCommands extends Record<string, AnyCommandConfigInput>> = {
230
+ [K in keyof TCommands]: TCommands[K] extends CommandConfig<infer _TGlobalOpts, infer _TGlobalTrans, infer _TOpts, infer _TPos, infer _TTrans> ? TCommands[K] : {
231
+ description: TCommands[K]['description'];
232
+ handler: Handler<InferCommandResult<TGlobalOptions, TGlobalTransforms, NonNullable<TCommands[K]['options']> extends OptionsSchema ? NonNullable<TCommands[K]['options']> : undefined, NonNullable<TCommands[K]['positionals']> extends PositionalsSchema ? NonNullable<TCommands[K]['positionals']> : undefined, NonNullable<TCommands[K]['transforms']> extends TransformsConfig<any, any, any, any> ? NonNullable<TCommands[K]['transforms']> : undefined>>;
233
+ options?: TCommands[K]['options'];
234
+ positionals?: TCommands[K]['positionals'];
235
+ transforms?: TCommands[K]['transforms'];
236
+ };
167
237
  };
238
+ /**
239
+ * Infer the output positionals type from a transforms config. If no positionals
240
+ * transform, output equals input.
241
+ */
242
+ export type InferTransformedPositionals<TPositionalsIn extends readonly unknown[], TTransforms> = TTransforms extends {
243
+ positionals: PositionalsTransformFn<any, infer TOut>;
244
+ } ? TOut extends readonly unknown[] ? TOut : TPositionalsIn : TPositionalsIn;
245
+ /**
246
+ * Infer the output values type from a transforms config. If no values
247
+ * transform, output equals input.
248
+ */
249
+ export type InferTransformedValues<TValuesIn, TTransforms> = TTransforms extends {
250
+ values: ValuesTransformFn<any, infer TOut>;
251
+ } ? TOut : TValuesIn;
168
252
  /**
169
253
  * Number option definition.
170
254
  */
@@ -194,7 +278,13 @@ export type PositionalDef = EnumPositional<string> | NumberPositional | StringPo
194
278
  /**
195
279
  * Positionals can be a tuple (ordered) or a single variadic.
196
280
  */
197
- export type PositionalsSchema = PositionalDef[];
281
+ export type PositionalsSchema = readonly PositionalDef[];
282
+ /**
283
+ * Positionals transform function. Receives parsed positionals tuple, returns
284
+ * transformed positionals tuple. The return type becomes the new positionals
285
+ * type for the handler.
286
+ */
287
+ export type PositionalsTransformFn<TIn extends readonly unknown[], TOut extends readonly unknown[]> = (positionals: TIn) => Promise<TOut> | TOut;
198
288
  /**
199
289
  * String option definition.
200
290
  */
@@ -209,6 +299,21 @@ export interface StringPositional extends PositionalBase {
209
299
  default?: string;
210
300
  type: 'string';
211
301
  }
302
+ /**
303
+ * Transforms configuration for modifying parsed results before handler
304
+ * execution. Each transform is optional and can be sync or async.
305
+ */
306
+ export interface TransformsConfig<TValuesIn, TValuesOut, TPositionalsIn extends readonly unknown[], TPositionalsOut extends readonly unknown[]> {
307
+ /** Transform parsed positionals tuple */
308
+ positionals?: PositionalsTransformFn<TPositionalsIn, TPositionalsOut>;
309
+ /** Transform parsed option values */
310
+ values?: ValuesTransformFn<TValuesIn, TValuesOut>;
311
+ }
312
+ /**
313
+ * Values transform function. Receives parsed values, returns transformed
314
+ * values. The return type becomes the new values type for the handler.
315
+ */
316
+ export type ValuesTransformFn<TIn, TOut> = (values: TIn) => Promise<TOut> | TOut;
212
317
  /**
213
318
  * Variadic positional (rest args).
214
319
  */
@@ -216,6 +321,51 @@ export interface VariadicPositional extends PositionalBase {
216
321
  items: 'number' | 'string';
217
322
  type: 'variadic';
218
323
  }
324
+ /**
325
+ * Command input type that computes the proper handler signature from the
326
+ * command's own options/positionals schemas. This provides contextual typing
327
+ * for inline command handlers.
328
+ *
329
+ * @typeParam TGlobalOptions - Global options schema from parent config
330
+ * @typeParam TGlobalTransforms - Global transforms from parent config
331
+ * @typeParam TOptions - Command's own options schema
332
+ * @typeParam TPositionals - Command's own positionals schema
333
+ * @typeParam TTransforms - Command's own transforms
334
+ */
335
+ interface CommandInput<TGlobalOptions extends OptionsSchema, TGlobalTransforms extends TransformsConfig<any, any, any, any> | undefined, TOptions extends OptionsSchema = Record<string, never>, TPositionals extends PositionalsSchema = [], TTransforms extends TransformsConfig<any, any, any, any> | undefined = undefined> {
336
+ description: string;
337
+ handler: Handler<InferCommandResult<TGlobalOptions, TGlobalTransforms, TOptions, TPositionals, TTransforms>>;
338
+ options?: TOptions;
339
+ positionals?: TPositionals;
340
+ transforms?: TTransforms;
341
+ }
342
+ /**
343
+ * Helper type to extract command names from a commands record for
344
+ * defaultHandler typing.
345
+ */
346
+ type CommandNames<T> = T extends Record<infer K, AnyCommandConfigInput> ? K : never;
347
+ /**
348
+ * Bargs config with commands (requires commands, allows defaultHandler).
349
+ *
350
+ * Commands can be defined in two ways:
351
+ *
352
+ * 1. Using opt.command() - handler receives local options only (legacy)
353
+ * 2. Inline definition - handler receives both global and local options
354
+ *
355
+ * Note: Top-level `positionals` is not allowed for command-based CLIs. Each
356
+ * command defines its own positionals.
357
+ *
358
+ * The `commands` property uses `InferredCommands` to compute proper handler
359
+ * types for inline command definitions. Each command's handler type includes
360
+ * global options merged with command options, transformed appropriately.
361
+ */
362
+ /**
363
+ * Mapped type that computes the expected command input type for each command in
364
+ * the record. This provides contextual typing for inline command handlers.
365
+ */
366
+ type CommandsInput<TGlobalOptions extends OptionsSchema, TGlobalTransforms extends TransformsConfig<any, any, any, any> | undefined, TCommands extends Record<string, AnyCommandConfigInput>> = {
367
+ [K in keyof TCommands]: TCommands[K] extends CommandConfig<infer _TGlobalOpts, infer _TGlobalTrans, infer _TOpts, infer _TPos, infer _TTrans> ? TCommands[K] : CommandInput<TGlobalOptions, TGlobalTransforms, NonNullable<TCommands[K]['options']> extends OptionsSchema ? NonNullable<TCommands[K]['options']> : Record<string, never>, NonNullable<TCommands[K]['positionals']> extends PositionalsSchema ? NonNullable<TCommands[K]['positionals']> : [], NonNullable<TCommands[K]['transforms']> extends TransformsConfig<any, any, any, any> ? NonNullable<TCommands[K]['transforms']> : undefined>;
368
+ };
219
369
  /**
220
370
  * Base properties shared by all option definitions.
221
371
  */
@@ -240,5 +390,27 @@ interface PositionalBase {
240
390
  name?: string;
241
391
  required?: boolean;
242
392
  }
393
+ /**
394
+ * Partial transform config for inline transforms. Structurally compatible with
395
+ * TransformsConfig while providing contextual typing for callback parameters.
396
+ *
397
+ * Note: Because TypeScript cannot infer return types from inline callbacks and
398
+ * flow them to handlers, using inline transforms without explicit typing means
399
+ * the handler won't know about properties added by transforms. For full type
400
+ * safety, either:
401
+ *
402
+ * 1. Define transforms separately with explicit return types
403
+ * 2. Add type annotations to handler parameters
404
+ *
405
+ * @typeParam TValuesIn - The input values type (from parsed options)
406
+ * @typeParam TPositionalsIn - The input positionals type (from parsed
407
+ * positionals)
408
+ */
409
+ type TransformsInput<TValuesIn, TPositionalsIn extends readonly unknown[]> = {
410
+ /** Transform parsed positionals tuple */
411
+ positionals?: (positionals: TPositionalsIn) => Promise<readonly unknown[]> | readonly unknown[];
412
+ /** Transform parsed option values */
413
+ values?: (values: TValuesIn) => Promise<unknown> | unknown;
414
+ };
243
415
  export {};
244
416
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACnD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9B,gCAAgC;IAChC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAC1B,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,EAC1D,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,GACjE,SAAS,EACX,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAClE,SAAS;IAEX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,WAAW,GAClC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACpC,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,GAC/B,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,GACvE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,CACjC,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,MAAM,CAC9D,MAAM,EACN,qBAAqB,CACtB,EACD,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAClE,SAAS,IACT,IAAI,CACN,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,EAChE,UAAU,GAAG,aAAa,CAC3B,GAAG;IACF,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IACtE,cAAc,CAAC,EACX,YAAY,CAAC,SAAS,CAAC,GACvB,OAAO,CACL,WAAW,CACT,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAC3D,SAAS,EAAE,EACX,SAAS,CACV,CACF,CAAC;CACP,CAAC;AAgCF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAExD,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,YAAY,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa,CAC5B,cAAc,SAAS,aAAa,GAAG,aAAa,EACpD,iBAAiB,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACxE,SAAS,EACX,QAAQ,SAAS,aAAa,GAAG,aAAa,EAC9C,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,EAC1D,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAClE,SAAS;IAEX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CACd,WAAW,CAET,sBAAsB,CACpB,YAAY,CAAC,QAAQ,CAAC,GACpB,sBAAsB,CACpB,YAAY,CAAC,cAAc,CAAC,EAC5B,iBAAiB,CAClB,EACH,WAAW,CACZ,EACD,2BAA2B,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,EACxE,MAAM,CACP,CACF,CAAC;IACF,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,WAAW,GAClC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACpC,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,GAC/B,eAAe,CACb,YAAY,CAAC,QAAQ,CAAC,GACpB,sBAAsB,CACpB,YAAY,CAAC,cAAc,CAAC,EAC5B,iBAAiB,CAClB,EACH,gBAAgB,CAAC,YAAY,CAAC,CAC/B,GACD,WAAW,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,UAAU;IACvE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,MAAM,GAAG,MAAM,CACzB,SAAQ,cAAc;IACtB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAC5B,cAAc,SAAS,aAAa,EACpC,iBAAiB,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EAC1E,eAAe,SAAS,aAAa,GAAG,SAAS,EACjD,mBAAmB,SAAS,iBAAiB,GAAG,SAAS,EACzD,kBAAkB,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,IACzE,WAAW,CACb,sBAAsB,CACpB,sBAAsB,CACpB,YAAY,CAAC,cAAc,CAAC,GAC1B,CAAC,eAAe,SAAS,aAAa,GAClC,YAAY,CAAC,eAAe,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAC5B,iBAAiB,CAClB,EACD,kBAAkB,CACnB,EACD,2BAA2B,CACzB,mBAAmB,SAAS,iBAAiB,GACzC,gBAAgB,CAAC,mBAAmB,CAAC,GACrC,SAAS,EAAE,EACf,kBAAkB,CACnB,EACD,MAAM,CACP,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,aAAa,GAClE,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,OAAO,GACP,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,GAC1B,OAAO,GACP,OAAO,GAAG,SAAS,GACvB,CAAC,SAAS,YAAY,GACpB,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,MAAM,GACN,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACzB,MAAM,GACN,MAAM,GAAG,SAAS,GACtB,CAAC,SAAS,YAAY,GACpB,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,MAAM,GACN,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACzB,MAAM,GACN,MAAM,GAAG,SAAS,GACtB,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAC3B,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,CAAC,GACD,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GACpB,CAAC,GACD,CAAC,GAAG,SAAS,GACjB,CAAC,SAAS,WAAW,GACnB,CAAC,CAAC,OAAO,CAAC,SAAS,QAAQ,GACzB,MAAM,EAAE,GACR,MAAM,EAAE,GACV,CAAC,SAAS,WAAW,GACnB,MAAM,GACN,KAAK,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IACjD,CAAC,SAAS,gBAAgB,GACtB,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,MAAM,GACN,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACzB,MAAM,GACN,MAAM,GAAG,SAAS,GACtB,CAAC,SAAS,gBAAgB,GACxB,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,MAAM,GACN,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,GACzB,MAAM,GACN,MAAM,GAAG,SAAS,GACtB,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAC/B,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GACxB,CAAC,GACD,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GACpB,CAAC,GACD,CAAC,GAAG,SAAS,GACjB,CAAC,SAAS,kBAAkB,GAC1B,CAAC,CAAC,OAAO,CAAC,SAAS,QAAQ,GACzB,MAAM,EAAE,GACR,MAAM,EAAE,GACV,KAAK,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,SAAS;IAC7E,MAAM,KAAK;IACX,GAAG,MAAM,IAAI;CACd,GACG,KAAK,SAAS,aAAa,GACzB,IAAI,SAAS,iBAAiB,GAC5B,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAC5D,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GACnC,SAAS,EAAE,GACb,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,GAC7B,IAAI,SAAS,aAAa,GACxB,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAChC,SAAS,EAAE,GACb,CAAC,SAAS,SAAS,EAAE,GACnB,SAAS,EAAE,GACX,SAAS,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,gBAAgB,CAC1B,cAAc,SAAS,aAAa,EACpC,iBAAiB,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EAC1E,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,IACrD;KACD,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,aAAa,CACxD,MAAM,YAAY,EAClB,MAAM,aAAa,EACnB,MAAM,MAAM,EACZ,MAAM,KAAK,EACX,MAAM,OAAO,CACd,GAEG,SAAS,CAAC,CAAC,CAAC,GAEZ;QACE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO,EAAE,OAAO,CACd,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,aAAa,GACtD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GACpC,SAAS,EACb,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,iBAAiB,GAC9D,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GACxC,SAAS,EACb,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gBAAgB,CAC9D,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GACvC,SAAS,CACd,CACF,CAAC;QACF,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC1C,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KACzC;CACN,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,CACrC,cAAc,SAAS,SAAS,OAAO,EAAE,EACzC,WAAW,IACT,WAAW,SAAS;IAAE,WAAW,EAAE,sBAAsB,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAA;CAAE,GAC5E,IAAI,SAAS,SAAS,OAAO,EAAE,GAC7B,IAAI,GACJ,cAAc,GAChB,cAAc,CAAC;AAEnB;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,SAAS,EAAE,WAAW,IACvD,WAAW,SAAS;IAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAA;CAAE,GAC9D,IAAI,GACJ,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,aAAa,GACb,WAAW,GACX,UAAU,CAAC,MAAM,CAAC,GAClB,YAAY,GACZ,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,cAAc,CAAC,MAAM,CAAC,GACtB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,aAAa,EAAE,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,CAChC,GAAG,SAAS,SAAS,OAAO,EAAE,EAC9B,IAAI,SAAS,SAAS,OAAO,EAAE,IAC7B,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAC/B,SAAS,EACT,UAAU,EACV,cAAc,SAAS,SAAS,OAAO,EAAE,EACzC,eAAe,SAAS,SAAS,OAAO,EAAE;IAE1C,yCAAyC;IACzC,WAAW,CAAC,EAAE,sBAAsB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACtE,qCAAqC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,IAAI,CACzC,MAAM,EAAE,GAAG,KACR,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,UAAU,YAAY,CACpB,cAAc,SAAS,aAAa,EACpC,iBAAiB,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EAC1E,QAAQ,SAAS,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACtD,YAAY,SAAS,iBAAiB,GAAG,EAAE,EAC3C,WAAW,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAClE,SAAS;IAEX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CACd,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,WAAW,CACZ,CACF,CAAC;IACF,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED;;;GAGG;AACH,KAAK,YAAY,CAAC,CAAC,IACjB,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/D;;;;;;;;;;;;;;GAcG;AACH;;;GAGG;AACH,KAAK,aAAa,CAChB,cAAc,SAAS,aAAa,EACpC,iBAAiB,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,EAC1E,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,IACrD;KACD,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,aAAa,CACxD,MAAM,YAAY,EAClB,MAAM,aAAa,EACnB,MAAM,MAAM,EACZ,MAAM,KAAK,EACX,MAAM,OAAO,CACd,GAEG,SAAS,CAAC,CAAC,CAAC,GAEZ,YAAY,CACV,cAAc,EACd,iBAAiB,EACjB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,aAAa,GACtD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GACpC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACzB,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,iBAAiB,GAC9D,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GACxC,EAAE,EACN,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gBAAgB,CAC9D,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GACvC,SAAS,CACd;CACN,CAAC;AAEF;;GAEG;AACH,UAAU,UAAU;IAClB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,eAAe,CAAC,SAAS,EAAE,cAAc,SAAS,SAAS,OAAO,EAAE,IAAI;IAC3E,yCAAyC;IACzC,WAAW,CAAC,EAAE,CACZ,WAAW,EAAE,cAAc,KACxB,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,CAAC;IACtD,qCAAqC;IAErC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC5D,CAAC"}
package/dist/validate.cjs CHANGED
@@ -285,24 +285,33 @@ const validatePositionalsSchema = (schema, path) => {
285
285
  };
286
286
  // ─── Handler Validation ─────────────────────────────────────────────────────
287
287
  /**
288
- * Validate a handler (function or array of functions).
288
+ * Validate a handler function.
289
289
  */
290
290
  const validateHandler = (handler, path) => {
291
291
  if (handler === undefined) {
292
292
  return; // handlers are optional in some contexts
293
293
  }
294
- if (Array.isArray(handler)) {
295
- if (handler.length === 0) {
296
- throw new errors_js_1.ValidationError(path, 'handler array must not be empty');
297
- }
298
- for (let i = 0; i < handler.length; i++) {
299
- if (!isFunction(handler[i])) {
300
- throw new errors_js_1.ValidationError(`${path}[${i}]`, 'must be a function');
301
- }
302
- }
294
+ if (!isFunction(handler)) {
295
+ throw new errors_js_1.ValidationError(path, 'must be a function');
303
296
  }
304
- else if (!isFunction(handler)) {
305
- throw new errors_js_1.ValidationError(path, 'must be a function or array of functions');
297
+ };
298
+ // ─── Transforms Validation ──────────────────────────────────────────────────
299
+ /**
300
+ * Validate a transforms configuration object.
301
+ */
302
+ const validateTransforms = (transforms, path) => {
303
+ if (transforms === undefined) {
304
+ return; // transforms are optional
305
+ }
306
+ if (!isObject(transforms)) {
307
+ throw new errors_js_1.ValidationError(path, 'must be an object');
308
+ }
309
+ if (transforms['values'] !== undefined && !isFunction(transforms['values'])) {
310
+ throw new errors_js_1.ValidationError(`${path}.values`, 'must be a function');
311
+ }
312
+ if (transforms['positionals'] !== undefined &&
313
+ !isFunction(transforms['positionals'])) {
314
+ throw new errors_js_1.ValidationError(`${path}.positionals`, 'must be a function');
306
315
  }
307
316
  };
308
317
  // ─── Command Validation ─────────────────────────────────────────────────────
@@ -328,6 +337,8 @@ const validateCommand = (name, cmd, path, globalAliases) => {
328
337
  validateOptionsSchema(cmd['options'], `${path}.options`, commandAliases);
329
338
  // Validate positionals
330
339
  validatePositionalsSchema(cmd['positionals'], `${path}.positionals`);
340
+ // Validate transforms (optional)
341
+ validateTransforms(cmd['transforms'], `${path}.transforms`);
331
342
  };
332
343
  /**
333
344
  * Validate commands record.
@@ -394,6 +405,8 @@ const validateSimpleConfig = (config, path, _aliases) => {
394
405
  validatePositionalsSchema(config['positionals'], `${path}.positionals`);
395
406
  // Validate handler (optional for simple CLI)
396
407
  validateHandler(config['handler'], `${path}.handler`);
408
+ // Validate transforms (optional)
409
+ validateTransforms(config['transforms'], `${path}.transforms`);
397
410
  };
398
411
  /**
399
412
  * Validate a command-based CLI config.
@@ -421,14 +434,12 @@ const validateCommandConfig = (config, path, aliases) => {
421
434
  throw new errors_js_1.ValidationError(`${path}.defaultHandler`, `must reference an existing command, got "${defaultHandler}"`);
422
435
  }
423
436
  }
424
- else if (Array.isArray(defaultHandler)) {
425
- // Array of handlers
426
- validateHandler(defaultHandler, `${path}.defaultHandler`);
427
- }
428
437
  else if (!isFunction(defaultHandler)) {
429
- throw new errors_js_1.ValidationError(`${path}.defaultHandler`, 'must be a function, array of functions, or command name string');
438
+ throw new errors_js_1.ValidationError(`${path}.defaultHandler`, 'must be a function or command name string');
430
439
  }
431
440
  }
441
+ // Validate top-level transforms (optional, run before command-level transforms)
442
+ validateTransforms(config['transforms'], `${path}.transforms`);
432
443
  };
433
444
  /**
434
445
  * Validate a bargs configuration object. Throws ValidationError if invalid.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,oBAAmB;AA8lBpB;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,QACI,WAAW,CACT,aAAa,EACb,iBAAiB,EACjB,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAC/C,GACD,WAAW,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,GACxD,uBAAuB,CACrB,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CACnC,KACJ,IAQF,CAAC"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,oBAAmB;AAqnBpB;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,QACI,WAAW,CACT,aAAa,EACb,iBAAiB,EACjB,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAC/C,GACD,WAAW,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,GACxD,uBAAuB,CACrB,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CACnC,KACJ,IAQF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,mBAAmB;AA8lBpB;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,QACI,WAAW,CACT,aAAa,EACb,iBAAiB,EACjB,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAC/C,GACD,WAAW,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,GACxD,uBAAuB,CACrB,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CACnC,KACJ,IAQF,CAAC"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,mBAAmB;AAqnBpB;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,QACI,WAAW,CACT,aAAa,EACb,iBAAiB,EACjB,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,CAC/C,GACD,WAAW,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,GACxD,uBAAuB,CACrB,aAAa,EACb,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CACnC,KACJ,IAQF,CAAC"}
package/dist/validate.js CHANGED
@@ -282,24 +282,33 @@ const validatePositionalsSchema = (schema, path) => {
282
282
  };
283
283
  // ─── Handler Validation ─────────────────────────────────────────────────────
284
284
  /**
285
- * Validate a handler (function or array of functions).
285
+ * Validate a handler function.
286
286
  */
287
287
  const validateHandler = (handler, path) => {
288
288
  if (handler === undefined) {
289
289
  return; // handlers are optional in some contexts
290
290
  }
291
- if (Array.isArray(handler)) {
292
- if (handler.length === 0) {
293
- throw new ValidationError(path, 'handler array must not be empty');
294
- }
295
- for (let i = 0; i < handler.length; i++) {
296
- if (!isFunction(handler[i])) {
297
- throw new ValidationError(`${path}[${i}]`, 'must be a function');
298
- }
299
- }
291
+ if (!isFunction(handler)) {
292
+ throw new ValidationError(path, 'must be a function');
300
293
  }
301
- else if (!isFunction(handler)) {
302
- throw new ValidationError(path, 'must be a function or array of functions');
294
+ };
295
+ // ─── Transforms Validation ──────────────────────────────────────────────────
296
+ /**
297
+ * Validate a transforms configuration object.
298
+ */
299
+ const validateTransforms = (transforms, path) => {
300
+ if (transforms === undefined) {
301
+ return; // transforms are optional
302
+ }
303
+ if (!isObject(transforms)) {
304
+ throw new ValidationError(path, 'must be an object');
305
+ }
306
+ if (transforms['values'] !== undefined && !isFunction(transforms['values'])) {
307
+ throw new ValidationError(`${path}.values`, 'must be a function');
308
+ }
309
+ if (transforms['positionals'] !== undefined &&
310
+ !isFunction(transforms['positionals'])) {
311
+ throw new ValidationError(`${path}.positionals`, 'must be a function');
303
312
  }
304
313
  };
305
314
  // ─── Command Validation ─────────────────────────────────────────────────────
@@ -325,6 +334,8 @@ const validateCommand = (name, cmd, path, globalAliases) => {
325
334
  validateOptionsSchema(cmd['options'], `${path}.options`, commandAliases);
326
335
  // Validate positionals
327
336
  validatePositionalsSchema(cmd['positionals'], `${path}.positionals`);
337
+ // Validate transforms (optional)
338
+ validateTransforms(cmd['transforms'], `${path}.transforms`);
328
339
  };
329
340
  /**
330
341
  * Validate commands record.
@@ -391,6 +402,8 @@ const validateSimpleConfig = (config, path, _aliases) => {
391
402
  validatePositionalsSchema(config['positionals'], `${path}.positionals`);
392
403
  // Validate handler (optional for simple CLI)
393
404
  validateHandler(config['handler'], `${path}.handler`);
405
+ // Validate transforms (optional)
406
+ validateTransforms(config['transforms'], `${path}.transforms`);
394
407
  };
395
408
  /**
396
409
  * Validate a command-based CLI config.
@@ -418,14 +431,12 @@ const validateCommandConfig = (config, path, aliases) => {
418
431
  throw new ValidationError(`${path}.defaultHandler`, `must reference an existing command, got "${defaultHandler}"`);
419
432
  }
420
433
  }
421
- else if (Array.isArray(defaultHandler)) {
422
- // Array of handlers
423
- validateHandler(defaultHandler, `${path}.defaultHandler`);
424
- }
425
434
  else if (!isFunction(defaultHandler)) {
426
- throw new ValidationError(`${path}.defaultHandler`, 'must be a function, array of functions, or command name string');
435
+ throw new ValidationError(`${path}.defaultHandler`, 'must be a function or command name string');
427
436
  }
428
437
  }
438
+ // Validate top-level transforms (optional, run before command-level transforms)
439
+ validateTransforms(config['transforms'], `${path}.transforms`);
429
440
  };
430
441
  /**
431
442
  * Validate a bargs configuration object. Throws ValidationError if invalid.