@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.
- package/README.md +125 -52
- package/dist/bargs.cjs +139 -21
- package/dist/bargs.cjs.map +1 -1
- package/dist/bargs.d.cts +51 -5
- package/dist/bargs.d.cts.map +1 -1
- package/dist/bargs.d.ts +51 -5
- package/dist/bargs.d.ts.map +1 -1
- package/dist/bargs.js +136 -20
- package/dist/bargs.js.map +1 -1
- package/dist/help.cjs +31 -2
- package/dist/help.cjs.map +1 -1
- package/dist/help.d.cts +4 -0
- package/dist/help.d.cts.map +1 -1
- package/dist/help.d.ts +4 -0
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +31 -2
- package/dist/help.js.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/opt.cjs +38 -0
- package/dist/opt.cjs.map +1 -1
- package/dist/opt.d.cts +63 -0
- package/dist/opt.d.cts.map +1 -1
- package/dist/opt.d.ts +63 -0
- package/dist/opt.d.ts.map +1 -1
- package/dist/opt.js +38 -0
- package/dist/opt.js.map +1 -1
- package/dist/osc.cjs +12 -0
- package/dist/osc.cjs.map +1 -1
- package/dist/osc.d.cts +6 -0
- package/dist/osc.d.cts.map +1 -1
- package/dist/osc.d.ts +6 -0
- package/dist/osc.d.ts.map +1 -1
- package/dist/osc.js +12 -0
- package/dist/osc.js.map +1 -1
- package/dist/parser.cjs +48 -1
- package/dist/parser.cjs.map +1 -1
- package/dist/parser.d.cts +2 -0
- package/dist/parser.d.cts.map +1 -1
- package/dist/parser.d.ts +2 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +48 -1
- package/dist/parser.js.map +1 -1
- package/dist/theme.cjs +8 -0
- package/dist/theme.cjs.map +1 -1
- package/dist/theme.d.cts +6 -0
- package/dist/theme.d.cts.map +1 -1
- package/dist/theme.d.ts +6 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +8 -0
- package/dist/theme.js.map +1 -1
- package/dist/types.d.cts +50 -1
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.ts +50 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/version.cjs +16 -0
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +4 -0
- package/dist/version.d.cts.map +1 -1
- package/dist/version.d.ts +4 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -1
- 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":";AAAA;;;;;;;;;GASG;;;AAsBH,4CAAyC;AAEzC
|
|
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
|
};
|
package/dist/opt.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,oBAAmB;
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"opt.d.ts","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
|
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":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,EAAE,UAAU,EAAE,oBAAoB;AAEzC
|
|
1
|
+
{"version":3,"file":"opt.js","sourceRoot":"","sources":["../src/opt.ts"],"names":[],"mappings":"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"}
|