@boneskull/bargs 3.2.0 → 3.4.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 (70) hide show
  1. package/README.md +125 -52
  2. package/dist/bargs.cjs +139 -21
  3. package/dist/bargs.cjs.map +1 -1
  4. package/dist/bargs.d.cts +51 -5
  5. package/dist/bargs.d.cts.map +1 -1
  6. package/dist/bargs.d.ts +51 -5
  7. package/dist/bargs.d.ts.map +1 -1
  8. package/dist/bargs.js +136 -20
  9. package/dist/bargs.js.map +1 -1
  10. package/dist/help.cjs +31 -2
  11. package/dist/help.cjs.map +1 -1
  12. package/dist/help.d.cts +4 -0
  13. package/dist/help.d.cts.map +1 -1
  14. package/dist/help.d.ts +4 -0
  15. package/dist/help.d.ts.map +1 -1
  16. package/dist/help.js +31 -2
  17. package/dist/help.js.map +1 -1
  18. package/dist/index.cjs +3 -3
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +4 -5
  21. package/dist/index.d.cts.map +1 -1
  22. package/dist/index.d.ts +4 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/opt.cjs +38 -0
  27. package/dist/opt.cjs.map +1 -1
  28. package/dist/opt.d.cts +63 -0
  29. package/dist/opt.d.cts.map +1 -1
  30. package/dist/opt.d.ts +63 -0
  31. package/dist/opt.d.ts.map +1 -1
  32. package/dist/opt.js +38 -0
  33. package/dist/opt.js.map +1 -1
  34. package/dist/osc.cjs +12 -0
  35. package/dist/osc.cjs.map +1 -1
  36. package/dist/osc.d.cts +6 -0
  37. package/dist/osc.d.cts.map +1 -1
  38. package/dist/osc.d.ts +6 -0
  39. package/dist/osc.d.ts.map +1 -1
  40. package/dist/osc.js +12 -0
  41. package/dist/osc.js.map +1 -1
  42. package/dist/parser.cjs +48 -1
  43. package/dist/parser.cjs.map +1 -1
  44. package/dist/parser.d.cts +2 -0
  45. package/dist/parser.d.cts.map +1 -1
  46. package/dist/parser.d.ts +2 -0
  47. package/dist/parser.d.ts.map +1 -1
  48. package/dist/parser.js +48 -1
  49. package/dist/parser.js.map +1 -1
  50. package/dist/theme.cjs +8 -0
  51. package/dist/theme.cjs.map +1 -1
  52. package/dist/theme.d.cts +6 -0
  53. package/dist/theme.d.cts.map +1 -1
  54. package/dist/theme.d.ts +6 -0
  55. package/dist/theme.d.ts.map +1 -1
  56. package/dist/theme.js +8 -0
  57. package/dist/theme.js.map +1 -1
  58. package/dist/types.d.cts +50 -1
  59. package/dist/types.d.cts.map +1 -1
  60. package/dist/types.d.ts +50 -1
  61. package/dist/types.d.ts.map +1 -1
  62. package/dist/version.cjs +16 -0
  63. package/dist/version.cjs.map +1 -1
  64. package/dist/version.d.cts +4 -0
  65. package/dist/version.d.cts.map +1 -1
  66. package/dist/version.d.ts +4 -0
  67. package/dist/version.d.ts.map +1 -1
  68. package/dist/version.js +16 -0
  69. package/dist/version.js.map +1 -1
  70. package/package.json +3 -1
package/dist/opt.cjs CHANGED
@@ -14,6 +14,8 @@ exports.pos = exports.opt = void 0;
14
14
  const errors_js_1 = require("./errors.cjs");
15
15
  /**
16
16
  * Validate that no alias conflicts exist in a merged options schema.
17
+ *
18
+ * @function
17
19
  */
18
20
  const validateAliasConflicts = (schema) => {
19
21
  const aliasToOption = new Map();
@@ -39,10 +41,15 @@ const validateAliasConflicts = (schema) => {
39
41
  * 1. Standalone: `opt.options({ ... })` - returns a Parser
40
42
  * 2. Merging: `pos.positionals(...)(opt.options(...))` - merges positionals into
41
43
  * options
44
+ *
45
+ * @function
42
46
  */
43
47
  const optionsImpl = (schema) => {
44
48
  validateAliasConflicts(schema);
45
49
  // Create the merge function
50
+ /**
51
+ * @function
52
+ */
46
53
  const merger = (parser) => {
47
54
  const mergedSchema = { ...parser.__optionsSchema, ...schema };
48
55
  validateAliasConflicts(mergedSchema);
@@ -118,6 +125,8 @@ exports.opt = {
118
125
  }),
119
126
  /**
120
127
  * Define a boolean option.
128
+ *
129
+ * @function
121
130
  */
122
131
  boolean: (props = {}) => ({
123
132
  type: 'boolean',
@@ -125,6 +134,8 @@ exports.opt = {
125
134
  }),
126
135
  /**
127
136
  * Define a count option (--verbose --verbose = 2).
137
+ *
138
+ * @function
128
139
  */
129
140
  count: (props = {}) => ({
130
141
  type: 'count',
@@ -132,6 +143,8 @@ exports.opt = {
132
143
  }),
133
144
  /**
134
145
  * Define an enum option with string choices.
146
+ *
147
+ * @function
135
148
  */
136
149
  enum: (choices, props = {}) => ({
137
150
  choices,
@@ -140,6 +153,8 @@ exports.opt = {
140
153
  }),
141
154
  /**
142
155
  * Define an enum positional argument with string choices.
156
+ *
157
+ * @function
143
158
  */
144
159
  enumPos: (choices, props = {}) => ({
145
160
  choices,
@@ -148,6 +163,8 @@ exports.opt = {
148
163
  }),
149
164
  /**
150
165
  * Define a number option.
166
+ *
167
+ * @function
151
168
  */
152
169
  number: (props = {}) => ({
153
170
  type: 'number',
@@ -155,6 +172,8 @@ exports.opt = {
155
172
  }),
156
173
  /**
157
174
  * Define a number positional argument.
175
+ *
176
+ * @function
158
177
  */
159
178
  numberPos: (props = {}) => ({
160
179
  type: 'number',
@@ -176,6 +195,8 @@ exports.opt = {
176
195
  options: optionsImpl,
177
196
  /**
178
197
  * Define a string option.
198
+ *
199
+ * @function
179
200
  */
180
201
  string: (props = {}) => ({
181
202
  type: 'string',
@@ -183,6 +204,8 @@ exports.opt = {
183
204
  }),
184
205
  /**
185
206
  * Define a string positional argument.
207
+ *
208
+ * @function
186
209
  */
187
210
  stringPos: (props = {}) => ({
188
211
  type: 'string',
@@ -190,6 +213,8 @@ exports.opt = {
190
213
  }),
191
214
  /**
192
215
  * Define a variadic positional (rest args).
216
+ *
217
+ * @function
193
218
  */
194
219
  variadic: (items, props = {}) => ({
195
220
  items,
@@ -206,9 +231,14 @@ exports.opt = {
206
231
  * 1. Standalone: `pos.positionals(...)` - returns a Parser
207
232
  * 2. Merging: `pos.positionals(...)(opt.options(...))` - merges positionals into
208
233
  * options
234
+ *
235
+ * @function
209
236
  */
210
237
  const positionalsImpl = (...positionals) => {
211
238
  // Create the merge function - just passes through V2, no intersection needed
239
+ /**
240
+ * @function
241
+ */
212
242
  const merger = (parser) => {
213
243
  // Preserve transforms from the incoming parser
214
244
  const transformed = parser;
@@ -251,6 +281,8 @@ const positionalsImpl = (...positionals) => {
251
281
  exports.pos = {
252
282
  /**
253
283
  * Define an enum positional argument with string choices.
284
+ *
285
+ * @function
254
286
  */
255
287
  enum: (choices, props = {}) => ({
256
288
  choices,
@@ -259,6 +291,8 @@ exports.pos = {
259
291
  }),
260
292
  /**
261
293
  * Define a number positional argument.
294
+ *
295
+ * @function
262
296
  */
263
297
  number: (props = {}) => ({
264
298
  type: 'number',
@@ -280,6 +314,8 @@ exports.pos = {
280
314
  positionals: positionalsImpl,
281
315
  /**
282
316
  * Define a string positional argument.
317
+ *
318
+ * @function
283
319
  */
284
320
  string: (props = {}) => ({
285
321
  type: 'string',
@@ -287,6 +323,8 @@ exports.pos = {
287
323
  }),
288
324
  /**
289
325
  * Define a variadic positional (rest args).
326
+ *
327
+ * @function
290
328
  */
291
329
  variadic: (items, props = {}) => ({
292
330
  items,
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
@@ -19,6 +19,25 @@ import type { ArrayOption, BooleanOption, CountOption, EnumArrayOption, EnumOpti
19
19
  * @knipignore
20
20
  */
21
21
  export type CallableOptionsParser<V> = (<V2, P2 extends readonly unknown[]>(parser: Parser<V2, P2>) => Parser<V & V2, P2>) & Parser<V, readonly []>;
22
+ /**
23
+ * Extract the inferred values type from a CallableOptionsParser or Parser.
24
+ *
25
+ * Useful for getting the type of global options to use elsewhere in your code.
26
+ *
27
+ * @example
28
+ *
29
+ * ```typescript
30
+ * const globalOptions = opt.options({
31
+ * verbose: opt.boolean(),
32
+ * 'output-dir': opt.string(),
33
+ * });
34
+ *
35
+ * // Extract the type for use elsewhere
36
+ * type GlobalOpts = InferParserValues<typeof globalOptions>;
37
+ * // { verbose: boolean | undefined; 'output-dir': string | undefined }
38
+ * ```
39
+ */
40
+ export type InferParserValues<T> = T extends CallableOptionsParser<infer V> ? V : T extends Parser<infer V, readonly unknown[]> ? V : never;
22
41
  /**
23
42
  * Namespaced option builders.
24
43
  *
@@ -55,26 +74,38 @@ export declare const opt: {
55
74
  };
56
75
  /**
57
76
  * Define a boolean option.
77
+ *
78
+ * @function
58
79
  */
59
80
  boolean: <P extends Omit<BooleanOption, "type"> = Omit<BooleanOption, "type">>(props?: P) => BooleanOption & P;
60
81
  /**
61
82
  * Define a count option (--verbose --verbose = 2).
83
+ *
84
+ * @function
62
85
  */
63
86
  count: (props?: Omit<CountOption, "type">) => CountOption;
64
87
  /**
65
88
  * Define an enum option with string choices.
89
+ *
90
+ * @function
66
91
  */
67
92
  enum: <const T extends readonly string[], P extends Omit<EnumOption<T[number]>, "choices" | "type"> = Omit<EnumOption<T[number]>, "type" | "choices">>(choices: T, props?: P) => EnumOption<T[number]> & P;
68
93
  /**
69
94
  * Define an enum positional argument with string choices.
95
+ *
96
+ * @function
70
97
  */
71
98
  enumPos: <const T extends readonly string[], P extends Omit<EnumPositional<T[number]>, "choices" | "type"> = Omit<EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => EnumPositional<T[number]> & P;
72
99
  /**
73
100
  * Define a number option.
101
+ *
102
+ * @function
74
103
  */
75
104
  number: <P extends Omit<NumberOption, "type"> = Omit<NumberOption, "type">>(props?: P) => NumberOption & P;
76
105
  /**
77
106
  * Define a number positional argument.
107
+ *
108
+ * @function
78
109
  */
79
110
  numberPos: <P extends Omit<NumberPositional, "type"> = Omit<NumberPositional, "type">>(props?: P) => NumberPositional & P;
80
111
  /**
@@ -93,14 +124,20 @@ export declare const opt: {
93
124
  options: <T extends OptionsSchema>(schema: T) => CallableOptionsParser<InferOptions<T>>;
94
125
  /**
95
126
  * Define a string option.
127
+ *
128
+ * @function
96
129
  */
97
130
  string: <P extends Omit<StringOption, "type"> = Omit<StringOption, "type">>(props?: P) => P & StringOption;
98
131
  /**
99
132
  * Define a string positional argument.
133
+ *
134
+ * @function
100
135
  */
101
136
  stringPos: <P extends Omit<StringPositional, "type"> = Omit<StringPositional, "type">>(props?: P) => P & StringPositional;
102
137
  /**
103
138
  * Define a variadic positional (rest args).
139
+ *
140
+ * @function
104
141
  */
105
142
  variadic: (items: "number" | "string", props?: Omit<VariadicPositional, "items" | "type">) => VariadicPositional;
106
143
  };
@@ -116,6 +153,24 @@ export declare const opt: {
116
153
  * @knipignore
117
154
  */
118
155
  export type CallablePositionalsParser<P extends readonly unknown[]> = (<V2, P2 extends readonly unknown[]>(parser: Parser<V2, P2>) => Parser<V2, readonly [...P2, ...P]>) & Parser<object, P>;
156
+ /**
157
+ * Extract the inferred positionals tuple type from a CallablePositionalsParser
158
+ * or Parser.
159
+ *
160
+ * @example
161
+ *
162
+ * ```typescript
163
+ * const positionals = pos.positionals(
164
+ * pos.string({ name: 'source', required: true }),
165
+ * pos.string({ name: 'dest', required: true }),
166
+ * );
167
+ *
168
+ * // Extract the type for use elsewhere
169
+ * type Positionals = InferParserPositionals<typeof positionals>;
170
+ * // readonly [string, string]
171
+ * ```
172
+ */
173
+ export type InferParserPositionals<T> = T extends CallablePositionalsParser<infer P> ? P : T extends Parser<unknown, infer P> ? P : never;
119
174
  /**
120
175
  * Namespaced positional builders.
121
176
  *
@@ -133,10 +188,14 @@ export type CallablePositionalsParser<P extends readonly unknown[]> = (<V2, P2 e
133
188
  export declare const pos: {
134
189
  /**
135
190
  * Define an enum positional argument with string choices.
191
+ *
192
+ * @function
136
193
  */
137
194
  enum: <const T extends readonly string[], P extends Omit<EnumPositional<T[number]>, "choices" | "type"> = Omit<EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => EnumPositional<T[number]> & P;
138
195
  /**
139
196
  * Define a number positional argument.
197
+ *
198
+ * @function
140
199
  */
141
200
  number: <P extends Omit<NumberPositional, "type"> = Omit<NumberPositional, "type">>(props?: P) => NumberPositional & P;
142
201
  /**
@@ -161,10 +220,14 @@ export declare const pos: {
161
220
  };
162
221
  /**
163
222
  * Define a string positional argument.
223
+ *
224
+ * @function
164
225
  */
165
226
  string: <P extends Omit<StringPositional, "type"> = Omit<StringPositional, "type">>(props?: P) => P & StringPositional;
166
227
  /**
167
228
  * Define a variadic positional (rest args).
229
+ *
230
+ * @function
168
231
  */
169
232
  variadic: (items: "number" | "string", props?: Omit<VariadicPositional, "items" | "type">) => VariadicPositional;
170
233
  };
@@ -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":"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"}
package/dist/opt.d.ts CHANGED
@@ -19,6 +19,25 @@ import type { ArrayOption, BooleanOption, CountOption, EnumArrayOption, EnumOpti
19
19
  * @knipignore
20
20
  */
21
21
  export type CallableOptionsParser<V> = (<V2, P2 extends readonly unknown[]>(parser: Parser<V2, P2>) => Parser<V & V2, P2>) & Parser<V, readonly []>;
22
+ /**
23
+ * Extract the inferred values type from a CallableOptionsParser or Parser.
24
+ *
25
+ * Useful for getting the type of global options to use elsewhere in your code.
26
+ *
27
+ * @example
28
+ *
29
+ * ```typescript
30
+ * const globalOptions = opt.options({
31
+ * verbose: opt.boolean(),
32
+ * 'output-dir': opt.string(),
33
+ * });
34
+ *
35
+ * // Extract the type for use elsewhere
36
+ * type GlobalOpts = InferParserValues<typeof globalOptions>;
37
+ * // { verbose: boolean | undefined; 'output-dir': string | undefined }
38
+ * ```
39
+ */
40
+ export type InferParserValues<T> = T extends CallableOptionsParser<infer V> ? V : T extends Parser<infer V, readonly unknown[]> ? V : never;
22
41
  /**
23
42
  * Namespaced option builders.
24
43
  *
@@ -55,26 +74,38 @@ export declare const opt: {
55
74
  };
56
75
  /**
57
76
  * Define a boolean option.
77
+ *
78
+ * @function
58
79
  */
59
80
  boolean: <P extends Omit<BooleanOption, "type"> = Omit<BooleanOption, "type">>(props?: P) => BooleanOption & P;
60
81
  /**
61
82
  * Define a count option (--verbose --verbose = 2).
83
+ *
84
+ * @function
62
85
  */
63
86
  count: (props?: Omit<CountOption, "type">) => CountOption;
64
87
  /**
65
88
  * Define an enum option with string choices.
89
+ *
90
+ * @function
66
91
  */
67
92
  enum: <const T extends readonly string[], P extends Omit<EnumOption<T[number]>, "choices" | "type"> = Omit<EnumOption<T[number]>, "type" | "choices">>(choices: T, props?: P) => EnumOption<T[number]> & P;
68
93
  /**
69
94
  * Define an enum positional argument with string choices.
95
+ *
96
+ * @function
70
97
  */
71
98
  enumPos: <const T extends readonly string[], P extends Omit<EnumPositional<T[number]>, "choices" | "type"> = Omit<EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => EnumPositional<T[number]> & P;
72
99
  /**
73
100
  * Define a number option.
101
+ *
102
+ * @function
74
103
  */
75
104
  number: <P extends Omit<NumberOption, "type"> = Omit<NumberOption, "type">>(props?: P) => NumberOption & P;
76
105
  /**
77
106
  * Define a number positional argument.
107
+ *
108
+ * @function
78
109
  */
79
110
  numberPos: <P extends Omit<NumberPositional, "type"> = Omit<NumberPositional, "type">>(props?: P) => NumberPositional & P;
80
111
  /**
@@ -93,14 +124,20 @@ export declare const opt: {
93
124
  options: <T extends OptionsSchema>(schema: T) => CallableOptionsParser<InferOptions<T>>;
94
125
  /**
95
126
  * Define a string option.
127
+ *
128
+ * @function
96
129
  */
97
130
  string: <P extends Omit<StringOption, "type"> = Omit<StringOption, "type">>(props?: P) => P & StringOption;
98
131
  /**
99
132
  * Define a string positional argument.
133
+ *
134
+ * @function
100
135
  */
101
136
  stringPos: <P extends Omit<StringPositional, "type"> = Omit<StringPositional, "type">>(props?: P) => P & StringPositional;
102
137
  /**
103
138
  * Define a variadic positional (rest args).
139
+ *
140
+ * @function
104
141
  */
105
142
  variadic: (items: "number" | "string", props?: Omit<VariadicPositional, "items" | "type">) => VariadicPositional;
106
143
  };
@@ -116,6 +153,24 @@ export declare const opt: {
116
153
  * @knipignore
117
154
  */
118
155
  export type CallablePositionalsParser<P extends readonly unknown[]> = (<V2, P2 extends readonly unknown[]>(parser: Parser<V2, P2>) => Parser<V2, readonly [...P2, ...P]>) & Parser<object, P>;
156
+ /**
157
+ * Extract the inferred positionals tuple type from a CallablePositionalsParser
158
+ * or Parser.
159
+ *
160
+ * @example
161
+ *
162
+ * ```typescript
163
+ * const positionals = pos.positionals(
164
+ * pos.string({ name: 'source', required: true }),
165
+ * pos.string({ name: 'dest', required: true }),
166
+ * );
167
+ *
168
+ * // Extract the type for use elsewhere
169
+ * type Positionals = InferParserPositionals<typeof positionals>;
170
+ * // readonly [string, string]
171
+ * ```
172
+ */
173
+ export type InferParserPositionals<T> = T extends CallablePositionalsParser<infer P> ? P : T extends Parser<unknown, infer P> ? P : never;
119
174
  /**
120
175
  * Namespaced positional builders.
121
176
  *
@@ -133,10 +188,14 @@ export type CallablePositionalsParser<P extends readonly unknown[]> = (<V2, P2 e
133
188
  export declare const pos: {
134
189
  /**
135
190
  * Define an enum positional argument with string choices.
191
+ *
192
+ * @function
136
193
  */
137
194
  enum: <const T extends readonly string[], P extends Omit<EnumPositional<T[number]>, "choices" | "type"> = Omit<EnumPositional<T[number]>, "type" | "choices">>(choices: T, props?: P) => EnumPositional<T[number]> & P;
138
195
  /**
139
196
  * Define a number positional argument.
197
+ *
198
+ * @function
140
199
  */
141
200
  number: <P extends Omit<NumberPositional, "type"> = Omit<NumberPositional, "type">>(props?: P) => NumberPositional & P;
142
201
  /**
@@ -161,10 +220,14 @@ export declare const pos: {
161
220
  };
162
221
  /**
163
222
  * Define a string positional argument.
223
+ *
224
+ * @function
164
225
  */
165
226
  string: <P extends Omit<StringPositional, "type"> = Omit<StringPositional, "type">>(props?: P) => P & StringPositional;
166
227
  /**
167
228
  * Define a variadic positional (rest args).
229
+ *
230
+ * @function
168
231
  */
169
232
  variadic: (items: "number" | "string", props?: Omit<VariadicPositional, "items" | "type">) => VariadicPositional;
170
233
  };
package/dist/opt.d.ts.map CHANGED
@@ -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;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,aAAa,EAEb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EACnB,mBAAmB;AA6BpB;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,SAAS,OAAO,EAAE,EACxE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACnB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GACtB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC7B,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,CAAC,GACpC,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,GAC3C,CAAC,GACD,KAAK,CAAC;AA2Dd;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,GAAG;IAGd;;;;;;;;;;;;;OAaG;WAmBG;QAEJ,CACE,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC,GAC1C,WAAW,CAAC;QAEf,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAChC,OAAO,EAAE,CAAC,EACV,KAAK,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,GAC3D,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B;IAED;;;;OAIG;cAED,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,wCAE9B,CAAC,KACP,aAAa,GAAG,CAAC;IAMpB;;;;OAIG;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;;;;OAIG;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;;;;OAIG;aACM,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,uCACpC,CAAC,KACP,YAAY,GAAG,CAAC;IAMnB;;;;OAIG;gBAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,gBAAgB,GAAG,CAAC;IAMvB;;;;;;;;;;;;OAYG;cAvNgB,CAAC,SAAS,aAAa,UAClC,CAAC,KACR,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAwNvC;;;;OAIG;aACM,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,uCACpC,CAAC,KACP,CAAC,GAAG,YAAY;IAMnB;;;;OAIG;gBAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,CAAC,GAAG,gBAAgB;IAMvB;;;;OAIG;sBAEM,QAAQ,GAAG,QAAQ,UACnB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAAC,KAChD,kBAAkB;CAKtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,CACrE,EAAE,EACF,EAAE,SAAS,SAAS,OAAO,EAAE,EAE7B,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,KACnB,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEpB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAClC,CAAC,SAAS,yBAAyB,CAAC,MAAM,CAAC,CAAC,GACxC,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAChC,CAAC,GACD,KAAK,CAAC;AAuDd;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,GAAG;IACd;;;;OAIG;iBAEK,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;;;;OAIG;aAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,gBAAgB,GAAG,CAAC;IAMvB;;;;;;;;;;;;OAYG;iBACwC;QACzC,CAAC,CAAC,SAAS,aAAa,EACtB,CAAC,EAAE,CAAC,GACH,yBAAyB,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAC/C,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,GACH,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,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,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,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,yBAAyB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CACE,GAAG,WAAW,EAAE,aAAa,EAAE,GAC9B,yBAAyB,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;KAClD;IAED;;;;OAIG;aAED,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,2CAEjC,CAAC,KACP,CAAC,GAAG,gBAAgB;IAMvB;;;;OAIG;sBAEM,QAAQ,GAAG,QAAQ,UACnB,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAAC,KAChD,kBAAkB;CAKtB,CAAC"}
package/dist/opt.js CHANGED
@@ -11,6 +11,8 @@
11
11
  import { BargsError } from "./errors.js";
12
12
  /**
13
13
  * Validate that no alias conflicts exist in a merged options schema.
14
+ *
15
+ * @function
14
16
  */
15
17
  const validateAliasConflicts = (schema) => {
16
18
  const aliasToOption = new Map();
@@ -36,10 +38,15 @@ const validateAliasConflicts = (schema) => {
36
38
  * 1. Standalone: `opt.options({ ... })` - returns a Parser
37
39
  * 2. Merging: `pos.positionals(...)(opt.options(...))` - merges positionals into
38
40
  * options
41
+ *
42
+ * @function
39
43
  */
40
44
  const optionsImpl = (schema) => {
41
45
  validateAliasConflicts(schema);
42
46
  // Create the merge function
47
+ /**
48
+ * @function
49
+ */
43
50
  const merger = (parser) => {
44
51
  const mergedSchema = { ...parser.__optionsSchema, ...schema };
45
52
  validateAliasConflicts(mergedSchema);
@@ -115,6 +122,8 @@ export const opt = {
115
122
  }),
116
123
  /**
117
124
  * Define a boolean option.
125
+ *
126
+ * @function
118
127
  */
119
128
  boolean: (props = {}) => ({
120
129
  type: 'boolean',
@@ -122,6 +131,8 @@ export const opt = {
122
131
  }),
123
132
  /**
124
133
  * Define a count option (--verbose --verbose = 2).
134
+ *
135
+ * @function
125
136
  */
126
137
  count: (props = {}) => ({
127
138
  type: 'count',
@@ -129,6 +140,8 @@ export const opt = {
129
140
  }),
130
141
  /**
131
142
  * Define an enum option with string choices.
143
+ *
144
+ * @function
132
145
  */
133
146
  enum: (choices, props = {}) => ({
134
147
  choices,
@@ -137,6 +150,8 @@ export const opt = {
137
150
  }),
138
151
  /**
139
152
  * Define an enum positional argument with string choices.
153
+ *
154
+ * @function
140
155
  */
141
156
  enumPos: (choices, props = {}) => ({
142
157
  choices,
@@ -145,6 +160,8 @@ export const opt = {
145
160
  }),
146
161
  /**
147
162
  * Define a number option.
163
+ *
164
+ * @function
148
165
  */
149
166
  number: (props = {}) => ({
150
167
  type: 'number',
@@ -152,6 +169,8 @@ export const opt = {
152
169
  }),
153
170
  /**
154
171
  * Define a number positional argument.
172
+ *
173
+ * @function
155
174
  */
156
175
  numberPos: (props = {}) => ({
157
176
  type: 'number',
@@ -173,6 +192,8 @@ export const opt = {
173
192
  options: optionsImpl,
174
193
  /**
175
194
  * Define a string option.
195
+ *
196
+ * @function
176
197
  */
177
198
  string: (props = {}) => ({
178
199
  type: 'string',
@@ -180,6 +201,8 @@ export const opt = {
180
201
  }),
181
202
  /**
182
203
  * Define a string positional argument.
204
+ *
205
+ * @function
183
206
  */
184
207
  stringPos: (props = {}) => ({
185
208
  type: 'string',
@@ -187,6 +210,8 @@ export const opt = {
187
210
  }),
188
211
  /**
189
212
  * Define a variadic positional (rest args).
213
+ *
214
+ * @function
190
215
  */
191
216
  variadic: (items, props = {}) => ({
192
217
  items,
@@ -203,9 +228,14 @@ export const opt = {
203
228
  * 1. Standalone: `pos.positionals(...)` - returns a Parser
204
229
  * 2. Merging: `pos.positionals(...)(opt.options(...))` - merges positionals into
205
230
  * options
231
+ *
232
+ * @function
206
233
  */
207
234
  const positionalsImpl = (...positionals) => {
208
235
  // Create the merge function - just passes through V2, no intersection needed
236
+ /**
237
+ * @function
238
+ */
209
239
  const merger = (parser) => {
210
240
  // Preserve transforms from the incoming parser
211
241
  const transformed = parser;
@@ -248,6 +278,8 @@ const positionalsImpl = (...positionals) => {
248
278
  export const pos = {
249
279
  /**
250
280
  * Define an enum positional argument with string choices.
281
+ *
282
+ * @function
251
283
  */
252
284
  enum: (choices, props = {}) => ({
253
285
  choices,
@@ -256,6 +288,8 @@ export const pos = {
256
288
  }),
257
289
  /**
258
290
  * Define a number positional argument.
291
+ *
292
+ * @function
259
293
  */
260
294
  number: (props = {}) => ({
261
295
  type: 'number',
@@ -277,6 +311,8 @@ export const pos = {
277
311
  positionals: positionalsImpl,
278
312
  /**
279
313
  * Define a string positional argument.
314
+ *
315
+ * @function
280
316
  */
281
317
  string: (props = {}) => ({
282
318
  type: 'string',
@@ -284,6 +320,8 @@ export const pos = {
284
320
  }),
285
321
  /**
286
322
  * Define a variadic positional (rest args).
323
+ *
324
+ * @function
287
325
  */
288
326
  variadic: (items, props = {}) => ({
289
327
  items,
package/dist/opt.js.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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"}