@boneskull/bargs 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/LICENSE +55 -0
  2. package/README.md +483 -0
  3. package/dist/bargs.cjs +167 -0
  4. package/dist/bargs.cjs.map +1 -0
  5. package/dist/bargs.d.cts +31 -0
  6. package/dist/bargs.d.cts.map +1 -0
  7. package/dist/bargs.d.ts +31 -0
  8. package/dist/bargs.d.ts.map +1 -0
  9. package/dist/bargs.js +163 -0
  10. package/dist/bargs.js.map +1 -0
  11. package/dist/errors.cjs +57 -0
  12. package/dist/errors.cjs.map +1 -0
  13. package/dist/errors.d.cts +40 -0
  14. package/dist/errors.d.cts.map +1 -0
  15. package/dist/errors.d.ts +40 -0
  16. package/dist/errors.d.ts.map +1 -0
  17. package/dist/errors.js +51 -0
  18. package/dist/errors.js.map +1 -0
  19. package/dist/help.cjs +309 -0
  20. package/dist/help.cjs.map +1 -0
  21. package/dist/help.d.cts +21 -0
  22. package/dist/help.d.cts.map +1 -0
  23. package/dist/help.d.ts +21 -0
  24. package/dist/help.d.ts.map +1 -0
  25. package/dist/help.js +304 -0
  26. package/dist/help.js.map +1 -0
  27. package/dist/index.cjs +63 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +96 -0
  30. package/dist/index.d.cts.map +1 -0
  31. package/dist/index.d.ts +96 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +47 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/opt.cjs +205 -0
  36. package/dist/opt.cjs.map +1 -0
  37. package/dist/opt.d.cts +145 -0
  38. package/dist/opt.d.cts.map +1 -0
  39. package/dist/opt.d.ts +145 -0
  40. package/dist/opt.d.ts.map +1 -0
  41. package/dist/opt.js +202 -0
  42. package/dist/opt.js.map +1 -0
  43. package/dist/osc.cjs +190 -0
  44. package/dist/osc.cjs.map +1 -0
  45. package/dist/osc.d.cts +30 -0
  46. package/dist/osc.d.cts.map +1 -0
  47. package/dist/osc.d.ts +30 -0
  48. package/dist/osc.d.ts.map +1 -0
  49. package/dist/osc.js +181 -0
  50. package/dist/osc.js.map +1 -0
  51. package/dist/parser.cjs +293 -0
  52. package/dist/parser.cjs.map +1 -0
  53. package/dist/parser.d.cts +47 -0
  54. package/dist/parser.d.cts.map +1 -0
  55. package/dist/parser.d.ts +47 -0
  56. package/dist/parser.d.ts.map +1 -0
  57. package/dist/parser.js +285 -0
  58. package/dist/parser.js.map +1 -0
  59. package/dist/theme.cjs +203 -0
  60. package/dist/theme.cjs.map +1 -0
  61. package/dist/theme.d.cts +227 -0
  62. package/dist/theme.d.cts.map +1 -0
  63. package/dist/theme.d.ts +227 -0
  64. package/dist/theme.d.ts.map +1 -0
  65. package/dist/theme.js +198 -0
  66. package/dist/theme.js.map +1 -0
  67. package/dist/types.cjs +18 -0
  68. package/dist/types.cjs.map +1 -0
  69. package/dist/types.d.cts +244 -0
  70. package/dist/types.d.cts.map +1 -0
  71. package/dist/types.d.ts +244 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +17 -0
  74. package/dist/types.js.map +1 -0
  75. package/dist/validate.cjs +452 -0
  76. package/dist/validate.cjs.map +1 -0
  77. package/dist/validate.d.cts +28 -0
  78. package/dist/validate.d.cts.map +1 -0
  79. package/dist/validate.d.ts +28 -0
  80. package/dist/validate.d.ts.map +1 -0
  81. package/dist/validate.js +448 -0
  82. package/dist/validate.js.map +1 -0
  83. package/dist/version.cjs +134 -0
  84. package/dist/version.cjs.map +1 -0
  85. package/dist/version.d.cts +27 -0
  86. package/dist/version.d.cts.map +1 -0
  87. package/dist/version.d.ts +27 -0
  88. package/dist/version.d.ts.map +1 -0
  89. package/dist/version.js +129 -0
  90. package/dist/version.js.map +1 -0
  91. package/package.json +149 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * TypeScript type definitions for the bargs CLI argument parser.
3
+ *
4
+ * Defines all public interfaces and types including:
5
+ *
6
+ * - Option definitions (`StringOption`, `BooleanOption`, `EnumOption`, etc.)
7
+ * - Positional definitions (`StringPositional`, `VariadicPositional`, etc.)
8
+ * - Schema types (`OptionsSchema`, `PositionalsSchema`)
9
+ * - Configuration types (`BargsConfig`, `BargsConfigWithCommands`)
10
+ * - Command types (`CommandConfig`, `CommandConfigInput`)
11
+ * - Type inference utilities (`InferOptions`, `InferPositionals`)
12
+ * - Result types (`BargsResult`)
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import type { ThemeInput } from "./theme.cjs";
17
+ /**
18
+ * Any command config (type-erased for collections). Uses a permissive handler
19
+ * type to avoid variance issues.
20
+ */
21
+ export interface AnyCommandConfig {
22
+ description: string;
23
+ handler: ((result: any) => Promise<void> | void)[] | ((result: any) => Promise<void> | void);
24
+ options?: OptionsSchema;
25
+ positionals?: PositionalsSchema;
26
+ }
27
+ /**
28
+ * Array option definition (--flag value --flag value2).
29
+ */
30
+ export interface ArrayOption extends OptionBase {
31
+ default?: number[] | string[];
32
+ /** Element type of the array */
33
+ items: 'number' | 'string';
34
+ type: 'array';
35
+ }
36
+ /**
37
+ * Main bargs configuration.
38
+ */
39
+ export interface BargsConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TCommands extends Record<string, AnyCommandConfig> | undefined = undefined> {
40
+ args?: string[];
41
+ commands?: TCommands;
42
+ description?: string;
43
+ /**
44
+ * Epilog text shown after help output. By default, shows homepage and
45
+ * repository URLs from package.json if available. Set to `false` or empty
46
+ * string to disable.
47
+ */
48
+ epilog?: false | string;
49
+ handler?: Handler<BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>>;
50
+ name: string;
51
+ options?: TOptions;
52
+ positionals?: TPositionals;
53
+ version?: string;
54
+ }
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;
69
+ };
70
+ /**
71
+ * Runtime options for bargs (separate from parsing config).
72
+ */
73
+ export interface BargsOptions {
74
+ /** Color theme for help output */
75
+ theme?: ThemeInput;
76
+ }
77
+ /**
78
+ * Result from parsing CLI arguments.
79
+ */
80
+ export interface BargsResult<TValues = Record<string, unknown>, TPositionals extends readonly unknown[] = [], TCommand extends string | undefined = string | undefined> {
81
+ command: TCommand;
82
+ positionals: TPositionals;
83
+ values: TValues;
84
+ }
85
+ /**
86
+ * Boolean option definition.
87
+ */
88
+ export interface BooleanOption extends OptionBase {
89
+ default?: boolean;
90
+ type: 'boolean';
91
+ }
92
+ /**
93
+ * Command configuration.
94
+ *
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.
98
+ */
99
+ export interface CommandConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema> {
100
+ description: string;
101
+ handler: Handler<BargsResult<InferOptions<TOptions> & Record<string, unknown>, InferPositionals<TPositionals>, string>>;
102
+ options?: TOptions;
103
+ positionals?: TPositionals;
104
+ }
105
+ /**
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.
109
+ */
110
+ export interface CommandConfigInput {
111
+ description: string;
112
+ handler: Handler<any>;
113
+ options?: OptionsSchema;
114
+ positionals?: PositionalsSchema;
115
+ }
116
+ /**
117
+ * Count option definition (--verbose --verbose = 2).
118
+ */
119
+ export interface CountOption extends OptionBase {
120
+ default?: number;
121
+ type: 'count';
122
+ }
123
+ /**
124
+ * Enum option definition with string choices.
125
+ */
126
+ export interface EnumOption<T extends string = string> extends OptionBase {
127
+ choices: readonly T[];
128
+ default?: T;
129
+ type: 'enum';
130
+ }
131
+ /**
132
+ * Enum positional definition with string choices.
133
+ */
134
+ export interface EnumPositional<T extends string = string> extends PositionalBase {
135
+ choices: readonly T[];
136
+ default?: T;
137
+ type: 'enum';
138
+ }
139
+ /**
140
+ * Handler - either a single function or an array of functions. When an array is
141
+ * provided, handlers run sequentially in order.
142
+ */
143
+ export type Handler<TResult> = HandlerFn<TResult> | HandlerFn<TResult>[];
144
+ /**
145
+ * Single handler function signature.
146
+ */
147
+ export type HandlerFn<TResult> = (result: TResult) => Promise<void> | void;
148
+ /**
149
+ * Infer the TypeScript type from an option definition.
150
+ */
151
+ export type InferOption<T extends OptionDef> = T extends BooleanOption ? T['required'] extends true ? boolean : T['default'] extends boolean ? boolean : boolean | undefined : T extends NumberOption ? T['required'] extends true ? number : T['default'] extends number ? number : number | undefined : T extends StringOption ? T['required'] extends true ? string : T['default'] extends string ? string : string | undefined : T extends EnumOption<infer E> ? T['required'] extends true ? E : T['default'] extends E ? E : E | undefined : T extends ArrayOption ? T['items'] extends 'number' ? number[] : string[] : T extends CountOption ? number : never;
152
+ /**
153
+ * Infer values type from an options schema.
154
+ */
155
+ export type InferOptions<T extends OptionsSchema> = {
156
+ [K in keyof T]: InferOption<T[K]>;
157
+ };
158
+ /**
159
+ * Infer a single positional's type.
160
+ */
161
+ 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
+ /**
163
+ * Infer positionals tuple type from schema.
164
+ */
165
+ export type InferPositionals<T extends PositionalsSchema> = {
166
+ [K in keyof T]: T[K] extends PositionalDef ? InferPositional<T[K]> : never;
167
+ };
168
+ /**
169
+ * Number option definition.
170
+ */
171
+ export interface NumberOption extends OptionBase {
172
+ default?: number;
173
+ type: 'number';
174
+ }
175
+ /**
176
+ * Number positional.
177
+ */
178
+ export interface NumberPositional extends PositionalBase {
179
+ default?: number;
180
+ type: 'number';
181
+ }
182
+ /**
183
+ * Union of all option definitions.
184
+ */
185
+ export type OptionDef = ArrayOption | BooleanOption | CountOption | EnumOption<string> | NumberOption | StringOption;
186
+ /**
187
+ * Options schema: a record of option names to their definitions.
188
+ */
189
+ export type OptionsSchema = Record<string, OptionDef>;
190
+ /**
191
+ * Union of positional definitions.
192
+ */
193
+ export type PositionalDef = EnumPositional<string> | NumberPositional | StringPositional | VariadicPositional;
194
+ /**
195
+ * Positionals can be a tuple (ordered) or a single variadic.
196
+ */
197
+ export type PositionalsSchema = PositionalDef[];
198
+ /**
199
+ * String option definition.
200
+ */
201
+ export interface StringOption extends OptionBase {
202
+ default?: string;
203
+ type: 'string';
204
+ }
205
+ /**
206
+ * String positional.
207
+ */
208
+ export interface StringPositional extends PositionalBase {
209
+ default?: string;
210
+ type: 'string';
211
+ }
212
+ /**
213
+ * Variadic positional (rest args).
214
+ */
215
+ export interface VariadicPositional extends PositionalBase {
216
+ items: 'number' | 'string';
217
+ type: 'variadic';
218
+ }
219
+ /**
220
+ * Base properties shared by all option definitions.
221
+ */
222
+ interface OptionBase {
223
+ /** Aliases for this option (e.g., ['v'] for --verbose) */
224
+ aliases?: string[];
225
+ /** Option description displayed in help text */
226
+ description?: string;
227
+ /** Group name for help text organization */
228
+ group?: string;
229
+ /** Whether this option is hidden from help */
230
+ hidden?: boolean;
231
+ /** Whether this option is required */
232
+ required?: boolean;
233
+ }
234
+ /**
235
+ * Base properties for positional definitions.
236
+ */
237
+ interface PositionalBase {
238
+ description?: string;
239
+ /** Display name for help text (defaults to arg0, arg1, etc.) */
240
+ name?: string;
241
+ required?: boolean;
242
+ }
243
+ export {};
244
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * TypeScript type definitions for the bargs CLI argument parser.
3
+ *
4
+ * Defines all public interfaces and types including:
5
+ *
6
+ * - Option definitions (`StringOption`, `BooleanOption`, `EnumOption`, etc.)
7
+ * - Positional definitions (`StringPositional`, `VariadicPositional`, etc.)
8
+ * - Schema types (`OptionsSchema`, `PositionalsSchema`)
9
+ * - Configuration types (`BargsConfig`, `BargsConfigWithCommands`)
10
+ * - Command types (`CommandConfig`, `CommandConfigInput`)
11
+ * - Type inference utilities (`InferOptions`, `InferPositionals`)
12
+ * - Result types (`BargsResult`)
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import type { ThemeInput } from "./theme.js";
17
+ /**
18
+ * Any command config (type-erased for collections). Uses a permissive handler
19
+ * type to avoid variance issues.
20
+ */
21
+ export interface AnyCommandConfig {
22
+ description: string;
23
+ handler: ((result: any) => Promise<void> | void)[] | ((result: any) => Promise<void> | void);
24
+ options?: OptionsSchema;
25
+ positionals?: PositionalsSchema;
26
+ }
27
+ /**
28
+ * Array option definition (--flag value --flag value2).
29
+ */
30
+ export interface ArrayOption extends OptionBase {
31
+ default?: number[] | string[];
32
+ /** Element type of the array */
33
+ items: 'number' | 'string';
34
+ type: 'array';
35
+ }
36
+ /**
37
+ * Main bargs configuration.
38
+ */
39
+ export interface BargsConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema, TCommands extends Record<string, AnyCommandConfig> | undefined = undefined> {
40
+ args?: string[];
41
+ commands?: TCommands;
42
+ description?: string;
43
+ /**
44
+ * Epilog text shown after help output. By default, shows homepage and
45
+ * repository URLs from package.json if available. Set to `false` or empty
46
+ * string to disable.
47
+ */
48
+ epilog?: false | string;
49
+ handler?: Handler<BargsResult<InferOptions<TOptions>, InferPositionals<TPositionals>, undefined>>;
50
+ name: string;
51
+ options?: TOptions;
52
+ positionals?: TPositionals;
53
+ version?: string;
54
+ }
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;
69
+ };
70
+ /**
71
+ * Runtime options for bargs (separate from parsing config).
72
+ */
73
+ export interface BargsOptions {
74
+ /** Color theme for help output */
75
+ theme?: ThemeInput;
76
+ }
77
+ /**
78
+ * Result from parsing CLI arguments.
79
+ */
80
+ export interface BargsResult<TValues = Record<string, unknown>, TPositionals extends readonly unknown[] = [], TCommand extends string | undefined = string | undefined> {
81
+ command: TCommand;
82
+ positionals: TPositionals;
83
+ values: TValues;
84
+ }
85
+ /**
86
+ * Boolean option definition.
87
+ */
88
+ export interface BooleanOption extends OptionBase {
89
+ default?: boolean;
90
+ type: 'boolean';
91
+ }
92
+ /**
93
+ * Command configuration.
94
+ *
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.
98
+ */
99
+ export interface CommandConfig<TOptions extends OptionsSchema = OptionsSchema, TPositionals extends PositionalsSchema = PositionalsSchema> {
100
+ description: string;
101
+ handler: Handler<BargsResult<InferOptions<TOptions> & Record<string, unknown>, InferPositionals<TPositionals>, string>>;
102
+ options?: TOptions;
103
+ positionals?: TPositionals;
104
+ }
105
+ /**
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.
109
+ */
110
+ export interface CommandConfigInput {
111
+ description: string;
112
+ handler: Handler<any>;
113
+ options?: OptionsSchema;
114
+ positionals?: PositionalsSchema;
115
+ }
116
+ /**
117
+ * Count option definition (--verbose --verbose = 2).
118
+ */
119
+ export interface CountOption extends OptionBase {
120
+ default?: number;
121
+ type: 'count';
122
+ }
123
+ /**
124
+ * Enum option definition with string choices.
125
+ */
126
+ export interface EnumOption<T extends string = string> extends OptionBase {
127
+ choices: readonly T[];
128
+ default?: T;
129
+ type: 'enum';
130
+ }
131
+ /**
132
+ * Enum positional definition with string choices.
133
+ */
134
+ export interface EnumPositional<T extends string = string> extends PositionalBase {
135
+ choices: readonly T[];
136
+ default?: T;
137
+ type: 'enum';
138
+ }
139
+ /**
140
+ * Handler - either a single function or an array of functions. When an array is
141
+ * provided, handlers run sequentially in order.
142
+ */
143
+ export type Handler<TResult> = HandlerFn<TResult> | HandlerFn<TResult>[];
144
+ /**
145
+ * Single handler function signature.
146
+ */
147
+ export type HandlerFn<TResult> = (result: TResult) => Promise<void> | void;
148
+ /**
149
+ * Infer the TypeScript type from an option definition.
150
+ */
151
+ export type InferOption<T extends OptionDef> = T extends BooleanOption ? T['required'] extends true ? boolean : T['default'] extends boolean ? boolean : boolean | undefined : T extends NumberOption ? T['required'] extends true ? number : T['default'] extends number ? number : number | undefined : T extends StringOption ? T['required'] extends true ? string : T['default'] extends string ? string : string | undefined : T extends EnumOption<infer E> ? T['required'] extends true ? E : T['default'] extends E ? E : E | undefined : T extends ArrayOption ? T['items'] extends 'number' ? number[] : string[] : T extends CountOption ? number : never;
152
+ /**
153
+ * Infer values type from an options schema.
154
+ */
155
+ export type InferOptions<T extends OptionsSchema> = {
156
+ [K in keyof T]: InferOption<T[K]>;
157
+ };
158
+ /**
159
+ * Infer a single positional's type.
160
+ */
161
+ 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
+ /**
163
+ * Infer positionals tuple type from schema.
164
+ */
165
+ export type InferPositionals<T extends PositionalsSchema> = {
166
+ [K in keyof T]: T[K] extends PositionalDef ? InferPositional<T[K]> : never;
167
+ };
168
+ /**
169
+ * Number option definition.
170
+ */
171
+ export interface NumberOption extends OptionBase {
172
+ default?: number;
173
+ type: 'number';
174
+ }
175
+ /**
176
+ * Number positional.
177
+ */
178
+ export interface NumberPositional extends PositionalBase {
179
+ default?: number;
180
+ type: 'number';
181
+ }
182
+ /**
183
+ * Union of all option definitions.
184
+ */
185
+ export type OptionDef = ArrayOption | BooleanOption | CountOption | EnumOption<string> | NumberOption | StringOption;
186
+ /**
187
+ * Options schema: a record of option names to their definitions.
188
+ */
189
+ export type OptionsSchema = Record<string, OptionDef>;
190
+ /**
191
+ * Union of positional definitions.
192
+ */
193
+ export type PositionalDef = EnumPositional<string> | NumberPositional | StringPositional | VariadicPositional;
194
+ /**
195
+ * Positionals can be a tuple (ordered) or a single variadic.
196
+ */
197
+ export type PositionalsSchema = PositionalDef[];
198
+ /**
199
+ * String option definition.
200
+ */
201
+ export interface StringOption extends OptionBase {
202
+ default?: string;
203
+ type: 'string';
204
+ }
205
+ /**
206
+ * String positional.
207
+ */
208
+ export interface StringPositional extends PositionalBase {
209
+ default?: string;
210
+ type: 'string';
211
+ }
212
+ /**
213
+ * Variadic positional (rest args).
214
+ */
215
+ export interface VariadicPositional extends PositionalBase {
216
+ items: 'number' | 'string';
217
+ type: 'variadic';
218
+ }
219
+ /**
220
+ * Base properties shared by all option definitions.
221
+ */
222
+ interface OptionBase {
223
+ /** Aliases for this option (e.g., ['v'] for --verbose) */
224
+ aliases?: string[];
225
+ /** Option description displayed in help text */
226
+ description?: string;
227
+ /** Group name for help text organization */
228
+ group?: string;
229
+ /** Whether this option is hidden from help */
230
+ hidden?: boolean;
231
+ /** Whether this option is required */
232
+ required?: boolean;
233
+ }
234
+ /**
235
+ * Base properties for positional definitions.
236
+ */
237
+ interface PositionalBase {
238
+ description?: string;
239
+ /** Display name for help text (defaults to arg0, arg1, etc.) */
240
+ name?: string;
241
+ required?: boolean;
242
+ }
243
+ export {};
244
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * TypeScript type definitions for the bargs CLI argument parser.
3
+ *
4
+ * Defines all public interfaces and types including:
5
+ *
6
+ * - Option definitions (`StringOption`, `BooleanOption`, `EnumOption`, etc.)
7
+ * - Positional definitions (`StringPositional`, `VariadicPositional`, etc.)
8
+ * - Schema types (`OptionsSchema`, `PositionalsSchema`)
9
+ * - Configuration types (`BargsConfig`, `BargsConfigWithCommands`)
10
+ * - Command types (`CommandConfig`, `CommandConfigInput`)
11
+ * - Type inference utilities (`InferOptions`, `InferPositionals`)
12
+ * - Result types (`BargsResult`)
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}