massarg 2.0.0-pre.1 → 2.0.0-pre.2
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/command.d.ts +15 -11
- package/command.d.ts.map +1 -1
- package/command.js +7 -5
- package/command.js.map +1 -1
- package/error.d.ts +13 -11
- package/error.d.ts.map +1 -1
- package/error.js +1 -1
- package/error.js.map +1 -1
- package/option.d.ts +27 -24
- package/option.d.ts.map +1 -1
- package/option.js +9 -6
- package/option.js.map +1 -1
- package/package.json +1 -1
package/command.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { HelpConfig } from './help';
|
|
|
3
3
|
import { MassargOption, MassargFlag, OptionConfig, TypedOptionConfig } from './option';
|
|
4
4
|
import { DeepRequired } from './utils';
|
|
5
5
|
import { MassargExample, ExampleConfig } from './example';
|
|
6
|
-
export declare const CommandConfig: <RunArgs extends z.ZodType<
|
|
6
|
+
export declare const CommandConfig: <RunArgs extends object = object>(args: z.ZodType<RunArgs, z.ZodTypeDef, RunArgs>) => z.ZodObject<{
|
|
7
7
|
/** Command name */
|
|
8
8
|
name: z.ZodString;
|
|
9
9
|
/** Command description, displayed in the help output */
|
|
@@ -14,21 +14,21 @@ export declare const CommandConfig: <RunArgs extends z.ZodType<any, z.ZodTypeDef
|
|
|
14
14
|
* Function used when invoking this command. It receives the parsed options and the primary
|
|
15
15
|
* instance of Massarg used to invoke this command (the top-level instance)
|
|
16
16
|
*/
|
|
17
|
-
run: z.ZodType<Runner<
|
|
17
|
+
run: z.ZodType<Runner<RunArgs>, z.ZodTypeDef, Runner<RunArgs>>;
|
|
18
18
|
}, "strip", z.ZodTypeAny, {
|
|
19
19
|
description: string;
|
|
20
20
|
name: string;
|
|
21
|
-
run: Runner<
|
|
21
|
+
run: Runner<RunArgs>;
|
|
22
22
|
aliases?: string[] | undefined;
|
|
23
23
|
}, {
|
|
24
24
|
description: string;
|
|
25
25
|
name: string;
|
|
26
|
-
run: Runner<
|
|
26
|
+
run: Runner<RunArgs>;
|
|
27
27
|
aliases?: string[] | undefined;
|
|
28
28
|
}>;
|
|
29
|
-
export type CommandConfig<
|
|
30
|
-
export type ArgsObject =
|
|
31
|
-
export type Runner<Args extends ArgsObject> =
|
|
29
|
+
export type CommandConfig<RunArgs extends ArgsObject = ArgsObject> = z.infer<ReturnType<typeof CommandConfig<RunArgs>>>;
|
|
30
|
+
export type ArgsObject = object;
|
|
31
|
+
export type Runner<Args extends ArgsObject> = (options: Args, instance: MassargCommand<Args>) => Promise<void> | void;
|
|
32
32
|
/**
|
|
33
33
|
* A command is a named function that can be invoked with a set of options.
|
|
34
34
|
*
|
|
@@ -98,8 +98,8 @@ export declare class MassargCommand<Args extends ArgsObject = ArgsObject> {
|
|
|
98
98
|
* value passed to the command. This is useful if you want to parse a string
|
|
99
99
|
* into a more complex type, or if you want to validate the value.
|
|
100
100
|
*/
|
|
101
|
-
option<T = string>(config: MassargOption<T>): MassargCommand<Args>;
|
|
102
|
-
option<T = string>(config: TypedOptionConfig<T>): MassargCommand<Args>;
|
|
101
|
+
option<T = string, A extends ArgsObject = Args>(config: MassargOption<T, A>): MassargCommand<Args>;
|
|
102
|
+
option<T = string, A extends ArgsObject = Args>(config: TypedOptionConfig<T, A>): MassargCommand<Args>;
|
|
103
103
|
/**
|
|
104
104
|
* Adds an example to this command.
|
|
105
105
|
*
|
|
@@ -125,7 +125,7 @@ export declare class MassargCommand<Args extends ArgsObject = ArgsObject> {
|
|
|
125
125
|
*
|
|
126
126
|
* If none is provided, help will be printed.
|
|
127
127
|
*/
|
|
128
|
-
main
|
|
128
|
+
main(run: Runner<Args>): MassargCommand<Args>;
|
|
129
129
|
/**
|
|
130
130
|
* Parse the given arguments and run the command or sub-commands along with the given options
|
|
131
131
|
* and flags.
|
|
@@ -147,7 +147,11 @@ export declare class MassargCommand<Args extends ArgsObject = ArgsObject> {
|
|
|
147
147
|
*/
|
|
148
148
|
printHelp(): void;
|
|
149
149
|
}
|
|
150
|
-
export declare class MassargHelpCommand<T extends
|
|
150
|
+
export declare class MassargHelpCommand<T extends {
|
|
151
|
+
command?: string;
|
|
152
|
+
} = {
|
|
153
|
+
command?: string;
|
|
154
|
+
}> extends MassargCommand<T> {
|
|
151
155
|
constructor(config?: Partial<Omit<CommandConfig<T>, 'run'>>);
|
|
152
156
|
}
|
|
153
157
|
//# sourceMappingURL=command.d.ts.map
|
package/command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAqB,UAAU,EAAiB,MAAM,QAAQ,CAAA;AACrE,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,iBAAiB,EAElB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAwB,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzD,eAAO,MAAM,aAAa;IAEtB,mBAAmB;;IAEnB,wDAAwD;;IAExD,sBAAsB;;IAEtB;;;OAGG;;;;;;;;;;;;EAKH,CAAA;AAEJ,MAAM,MAAM,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
|
package/command.js
CHANGED
|
@@ -116,7 +116,9 @@ class MassargCommand {
|
|
|
116
116
|
}
|
|
117
117
|
option(config) {
|
|
118
118
|
try {
|
|
119
|
-
const option = config instanceof option_1.MassargOption
|
|
119
|
+
const option = config instanceof option_1.MassargOption
|
|
120
|
+
? config
|
|
121
|
+
: option_1.MassargOption.fromTypedConfig(config);
|
|
120
122
|
const existing = this.options.find((c) => c.name === option.name);
|
|
121
123
|
if (existing) {
|
|
122
124
|
throw new error_1.ValidationError({
|
|
@@ -209,7 +211,7 @@ class MassargCommand {
|
|
|
209
211
|
message: 'Unknown option',
|
|
210
212
|
});
|
|
211
213
|
}
|
|
212
|
-
const res = option._parseDetails([arg, ...argv]);
|
|
214
|
+
const res = option._parseDetails([arg, ...argv], { ...this.args });
|
|
213
215
|
this.args[res.key] = (0, utils_1.setOrPush)(res.value, this.args[res.key], option.isArray);
|
|
214
216
|
return res.argv;
|
|
215
217
|
}
|
|
@@ -220,7 +222,7 @@ class MassargCommand {
|
|
|
220
222
|
// fill defaults
|
|
221
223
|
for (const option of this.options) {
|
|
222
224
|
if (option.defaultValue !== undefined && _a[option.name] === undefined) {
|
|
223
|
-
_args[option.
|
|
225
|
+
_args[option.getOutputName()] = option.defaultValue;
|
|
224
226
|
}
|
|
225
227
|
}
|
|
226
228
|
// parse options
|
|
@@ -238,7 +240,8 @@ class MassargCommand {
|
|
|
238
240
|
if (command) {
|
|
239
241
|
// this is dry run, just exit
|
|
240
242
|
if (!parseCommands) {
|
|
241
|
-
|
|
243
|
+
return command.getArgs(_argv, this.args, parent ?? this, false);
|
|
244
|
+
// break
|
|
242
245
|
}
|
|
243
246
|
// this is real run, parse command, pass unparsed args
|
|
244
247
|
return command.parse(_argv, this.args, parent ?? this);
|
|
@@ -284,7 +287,6 @@ class MassargHelpCommand extends MassargCommand {
|
|
|
284
287
|
name: 'help',
|
|
285
288
|
aliases: ['h'],
|
|
286
289
|
description: 'Print help for this command, or a subcommand if specified',
|
|
287
|
-
// argsHint: "[command]",
|
|
288
290
|
run: (args, parent) => {
|
|
289
291
|
if (args.command) {
|
|
290
292
|
const command = parent.commands.find((c) => c.name === args.command);
|
package/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mCAAiE;AACjE,iCAAqE;AACrE,qCAMiB;AACjB,mCAA4D;AAC5D,uCAAyD;AAElD,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mCAAiE;AACjE,iCAAqE;AACrE,qCAMiB;AACjB,mCAA4D;AAC5D,uCAAyD;AAElD,MAAM,aAAa,GAAG,CAA0C,IAAwB,EAAE,EAAE,CACjG,OAAC,CAAC,MAAM,CAAC;IACP,mBAAmB;IACnB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,wDAAwD;IACxD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,sBAAsB;IACtB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACtC;;;OAGG;IACH,GAAG,EAAE,OAAC;SACH,QAAQ,EAAE;SACV,IAAI,CAAC,IAAI,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC;SACnB,OAAO,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,OAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAA+B;CACnF,CAAC,CAAA;AAhBS,QAAA,aAAa,iBAgBtB;AAaJ;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,cAAc;IAYzB,YAAY,OAA4B,EAAE,MAA4B;QAPtE,aAAQ,GAA0B,EAAE,CAAA;QACpC,YAAO,GAAoB,EAAE,CAAA;QAC7B,aAAQ,GAAqB,EAAE,CAAA;QAC/B,SAAI,GAAkB,EAAE,CAAA;QAKtB,IAAA,qBAAa,EAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAA;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;SAC3D;QACD,OAAO,IAAA,iBAAS,EAAC,wBAAiB,EAAE,IAAI,CAAC,WAAW,CAAyB,CAAA;IAC/E,CAAC;IAaD,OAAO,CACL,MAA4C;QAE5C,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,YAAY,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;YACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;YACnE,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,uBAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,YAAY,OAAO,CAAC,IAAI,kBAAkB;oBACnD,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;iBAChC,CAAC,CAAA;aACH;YACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE;gBACjB,MAAM,IAAI,uBAAe,CAAC;oBACxB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;oBACtB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;iBAC7B,CAAC,CAAA;aACH;YACD,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAeD,IAAI,CACF,MAAwE;QAExE,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,YAAY,oBAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,oBAAW,CAAC,MAAM,CAAC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/D,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,uBAAe,CAAC;oBACxB,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,kBAAkB;oBAC7C,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;iBAC7B,CAAC,CAAA;aACH;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAqB,CAAC,CAAA;YACxC,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE;gBACjB,MAAM,IAAI,uBAAe,CAAC;oBACxB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;oBACtB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;iBAC7B,CAAC,CAAA;aACH;YACD,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAmBD,MAAM,CACJ,MAAqD;QAErD,IAAI;YACF,MAAM,MAAM,GACV,MAAM,YAAY,sBAAa;gBAC7B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,sBAAa,CAAC,eAAe,CAAC,MAAiC,CAAC,CAAA;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;YACjE,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,uBAAe,CAAC;oBACxB,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,kBAAkB;oBACjD,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;iBAC/B,CAAC,CAAA;aACH;YACD,IAAI,MAAM,CAAC,SAAS,EAAE;gBACpB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC3D,IAAI,aAAa,EAAE;oBACjB,MAAM,IAAI,uBAAe,CAAC;wBACxB,IAAI,EAAE,0BAA0B;wBAChC,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,8CAA8C,aAAa,CAAC,IAAI,6BAA6B;wBAC5H,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;qBAC/B,CAAC,CAAA;iBACH;aACF;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAuB,CAAC,CAAA;YAC1C,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,IAAA,kBAAU,EAAC,CAAC,CAAC,EAAE;gBACjB,MAAM,IAAI,uBAAe,CAAC;oBACxB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;oBACtB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;iBAC7B,CAAC,CAAA;aACH;YACD,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAqB;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,wBAAc,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,CAAC,MAAkB;QACrB,IAAI,CAAC,WAAW,GAAG,iBAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;SACvC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,wBAAe,EAAE,CAAC,CAAA;SACnC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAiB;QACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAc,EAAE,IAAoB,EAAE,MAA6B;QACvE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAEO,WAAW,CAAC,GAAW,EAAE,IAAc;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,uBAAe,CAAC;gBACxB,IAAI,EAAE,CAAC,sBAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,gBAAgB;aAC1B,CAAC,CAAA;SACH;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAiB,CAAC,GAAG,IAAA,iBAAS,EAC1C,GAAG,CAAC,KAAK,EACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAiB,CAAC,EAChC,MAAM,CAAC,OAAO,CACf,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAeD,OAAO,CACL,IAAc,EACd,IAAoB,EACpB,MAA4B,EAC5B,aAAa,GAAG,KAAK;QAErB,IAAI,KAAK,GAAS,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAU,CAAA;QACnD,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAgC,CAAA;QAEhD,gBAAgB;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gBACtE,KAAK,CAAC,MAAM,CAAC,aAAa,EAAgB,CAAC,GAAG,MAAM,CAAC,YAAgC,CAAA;aACtF;SACF;QAED,gBAAgB;QAChB,OAAO,KAAK,CAAC,MAAM,EAAE;YACnB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;YAC1B,0BAA0B;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;YACxD,IAAI,KAAK,EAAE;gBACT,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACpC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBAClC,SAAQ;aACT;YAED,oCAAoC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YACpF,IAAI,OAAO,EAAE;gBACX,6BAA6B;gBAC7B,IAAI,CAAC,aAAa,EAAE;oBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,CAAC,CAAA;oBAC/D,QAAQ;iBACT;gBACD,sDAAsD;gBACtD,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAA;aACvD;YACD,2DAA2D;YAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAC3D,IAAI,aAAa,EAAE;gBACjB,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;gBACpE,SAAQ;aACT;YACD,2CAA2C;YAC3C,EAAE,CAAC,KAAK,KAAK,EAAE,CAAA;YACf,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACnB;QACD,aAAa;QACb,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAA;QACtC,qBAAqB;QACrB,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,IAAI,CAAC,IAAY,CAAA;SACzB;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAY,EAAE,MAAM,IAAI,IAAI,CAAC,CAAA;SAC7C;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,oBAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAChC,CAAC;CACF;AAvUD,wCAuUC;AAED,MAAa,kBAEX,SAAQ,cAAiB;IACzB,YAAY,SAAiD,EAAE;QAC7D,KAAK,CAAC;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,GAAG,CAAC;YACd,WAAW,EAAE,2DAA2D;YACxE,GAAG,EAAE,CAAC,IAA0B,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;oBACpE,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,SAAS,EAAE,CAAA;wBACnB,OAAM;qBACP;yBAAM;wBACL,MAAM,IAAI,kBAAU,CAAC;4BACnB,IAAI,EAAE,CAAC,SAAS,CAAC;4BACjB,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,iBAAiB;4BAC1B,QAAQ,EAAE,IAAI,CAAC,OAAO;yBACvB,CAAC,CAAA;qBACH;iBACF;gBACD,MAAM,CAAC,SAAS,EAAE,CAAA;YACpB,CAAC;YACD,GAAG,MAAM;SACV,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC,GAAG,CAAC;YACd,WAAW,EAAE,2BAA2B;YACxC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;IACJ,CAAC;CACF;AAlCD,gDAkCC"}
|
package/error.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export type ValidationErrorOptions = {
|
|
3
|
+
path: string[];
|
|
4
|
+
code: string;
|
|
5
|
+
message: string;
|
|
6
|
+
};
|
|
2
7
|
/** This error is thrown when a validation fails. */
|
|
3
8
|
export declare class ValidationError extends Error {
|
|
4
9
|
/** The path to the value that failed validation. */
|
|
@@ -7,12 +12,14 @@ export declare class ValidationError extends Error {
|
|
|
7
12
|
code: string;
|
|
8
13
|
/** The error message. */
|
|
9
14
|
message: string;
|
|
10
|
-
constructor({ path, code, message }:
|
|
11
|
-
path: string[];
|
|
12
|
-
code: string;
|
|
13
|
-
message: string;
|
|
14
|
-
});
|
|
15
|
+
constructor({ path, code, message }: ValidationErrorOptions);
|
|
15
16
|
}
|
|
17
|
+
export type ParseErrorOptions = {
|
|
18
|
+
path: string[];
|
|
19
|
+
code: string;
|
|
20
|
+
message: string;
|
|
21
|
+
received?: unknown;
|
|
22
|
+
};
|
|
16
23
|
/** This error is thrown when a parse fails on an option value. */
|
|
17
24
|
export declare class ParseError extends Error {
|
|
18
25
|
/** The path to the value that failed parsing. */
|
|
@@ -23,12 +30,7 @@ export declare class ParseError extends Error {
|
|
|
23
30
|
message: string;
|
|
24
31
|
/** The value that failed parsing. */
|
|
25
32
|
received: unknown;
|
|
26
|
-
constructor({ path, code, message, received
|
|
27
|
-
path: string[];
|
|
28
|
-
code: string;
|
|
29
|
-
message: string;
|
|
30
|
-
received?: unknown;
|
|
31
|
-
});
|
|
33
|
+
constructor({ path, code, message, received }: ParseErrorOptions);
|
|
32
34
|
}
|
|
33
35
|
export declare function isZodError(e: unknown): e is z.ZodError;
|
|
34
36
|
//# sourceMappingURL=error.d.ts.map
|
package/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,oDAAoD;AACpD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,oDAAoD;IACpD,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAA;gBAEH,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtF,oDAAoD;AACpD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,oDAAoD;IACpD,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAA;gBAEH,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,sBAAsB;CAQ5D;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,kEAAkE;AAClE,qBAAa,UAAW,SAAQ,KAAK;IACnC,iDAAiD;IACjD,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,QAAQ,EAAE,OAAO,CAAA;gBAEL,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB;CAYjE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAEtD"}
|
package/error.js
CHANGED
|
@@ -16,7 +16,7 @@ class ValidationError extends Error {
|
|
|
16
16
|
exports.ValidationError = ValidationError;
|
|
17
17
|
/** This error is thrown when a parse fails on an option value. */
|
|
18
18
|
class ParseError extends Error {
|
|
19
|
-
constructor({ path, code, message, received
|
|
19
|
+
constructor({ path, code, message, received }) {
|
|
20
20
|
let msg = `${path.join('.')}: ${message}`;
|
|
21
21
|
if (received) {
|
|
22
22
|
msg += ` (received: ${received})`;
|
package/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAIvB,oDAAoD;AACpD,MAAa,eAAgB,SAAQ,KAAK;IAQxC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAA0B;QACzD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAA;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAhBD,0CAgBC;AASD,kEAAkE;AAClE,MAAa,UAAW,SAAQ,KAAK;IAUnC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAqB;QAC9D,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAA;QACzC,IAAI,QAAQ,EAAE;YACZ,GAAG,IAAI,eAAe,QAAQ,GAAG,CAAA;SAClC;QACD,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAtBD,gCAsBC;AAED,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,YAAY,OAAC,CAAC,QAAQ,CAAA;AAChC,CAAC;AAFD,gCAEC"}
|
package/option.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
2
|
+
import { ArgsObject } from './command';
|
|
3
|
+
export declare const OptionConfig: <OptionType, Args extends object = object>(type: z.ZodType<OptionType, z.ZodTypeDef, OptionType>) => z.ZodObject<{
|
|
3
4
|
/** Name of the option */
|
|
4
5
|
name: z.ZodString;
|
|
5
6
|
/** Description of the option, displayed in the help output */
|
|
@@ -12,7 +13,7 @@ export declare const OptionConfig: <T extends z.ZodType<any, z.ZodTypeDef, any>>
|
|
|
12
13
|
* Parse the value of the option. You can return any type here, or throw an error if the value
|
|
13
14
|
* is invalid.
|
|
14
15
|
*/
|
|
15
|
-
parse: z.ZodOptional<z.
|
|
16
|
+
parse: z.ZodOptional<z.ZodType<Parser<Args, OptionType>, z.ZodTypeDef, Parser<Args, OptionType>>>;
|
|
16
17
|
/**
|
|
17
18
|
* Whether the option is an array.
|
|
18
19
|
*
|
|
@@ -41,7 +42,7 @@ export declare const OptionConfig: <T extends z.ZodType<any, z.ZodTypeDef, any>>
|
|
|
41
42
|
name: string;
|
|
42
43
|
aliases: string[];
|
|
43
44
|
defaultValue?: any;
|
|
44
|
-
parse?:
|
|
45
|
+
parse?: Parser<Args, OptionType> | undefined;
|
|
45
46
|
array?: boolean | undefined;
|
|
46
47
|
required?: boolean | undefined;
|
|
47
48
|
isDefault?: boolean | undefined;
|
|
@@ -52,25 +53,26 @@ export declare const OptionConfig: <T extends z.ZodType<any, z.ZodTypeDef, any>>
|
|
|
52
53
|
name: string;
|
|
53
54
|
aliases: string[];
|
|
54
55
|
defaultValue?: any;
|
|
55
|
-
parse?:
|
|
56
|
+
parse?: Parser<Args, OptionType> | undefined;
|
|
56
57
|
array?: boolean | undefined;
|
|
57
58
|
required?: boolean | undefined;
|
|
58
59
|
isDefault?: boolean | undefined;
|
|
59
60
|
hidden?: boolean | undefined;
|
|
60
61
|
outputName?: string | undefined;
|
|
61
62
|
}>;
|
|
62
|
-
export type OptionConfig<T = unknown> = z.infer<ReturnType<typeof OptionConfig<
|
|
63
|
-
export
|
|
63
|
+
export type OptionConfig<T = unknown, Args extends ArgsObject = ArgsObject> = z.infer<ReturnType<typeof OptionConfig<T, Args>>>;
|
|
64
|
+
export type Parser<Args extends ArgsObject = ArgsObject, OptionType extends any = any> = (x: string, y: Args) => OptionType;
|
|
65
|
+
export declare const TypedOptionConfig: <OptionType, Args extends object = object>(type: z.ZodType<OptionType, z.ZodTypeDef, OptionType>) => z.ZodObject<{
|
|
64
66
|
array: z.ZodOptional<z.ZodBoolean>;
|
|
65
67
|
description: z.ZodString;
|
|
66
68
|
name: z.ZodString;
|
|
67
69
|
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
68
70
|
aliases: z.ZodArray<z.ZodString, "many">;
|
|
69
|
-
parse: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, T>>;
|
|
70
71
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
71
72
|
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
72
73
|
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
73
74
|
outputName: z.ZodOptional<z.ZodString>;
|
|
75
|
+
parse: z.ZodOptional<z.ZodType<Parser<Args, OptionType>, z.ZodTypeDef, Parser<Args, OptionType>>>;
|
|
74
76
|
type: z.ZodOptional<z.ZodEnum<["number"]>>;
|
|
75
77
|
}, "strip", z.ZodTypeAny, {
|
|
76
78
|
description: string;
|
|
@@ -78,11 +80,11 @@ export declare const TypedOptionConfig: <T extends z.ZodType<any, z.ZodTypeDef,
|
|
|
78
80
|
aliases: string[];
|
|
79
81
|
array?: boolean | undefined;
|
|
80
82
|
defaultValue?: any;
|
|
81
|
-
parse?: ((args_0: string, ...args_1: unknown[]) => T["_output"]) | undefined;
|
|
82
83
|
required?: boolean | undefined;
|
|
83
84
|
isDefault?: boolean | undefined;
|
|
84
85
|
hidden?: boolean | undefined;
|
|
85
86
|
outputName?: string | undefined;
|
|
87
|
+
parse?: Parser<Args, OptionType> | undefined;
|
|
86
88
|
type?: "number" | undefined;
|
|
87
89
|
}, {
|
|
88
90
|
description: string;
|
|
@@ -90,54 +92,54 @@ export declare const TypedOptionConfig: <T extends z.ZodType<any, z.ZodTypeDef,
|
|
|
90
92
|
aliases: string[];
|
|
91
93
|
array?: boolean | undefined;
|
|
92
94
|
defaultValue?: any;
|
|
93
|
-
parse?: ((args_0: string, ...args_1: unknown[]) => T["_input"]) | undefined;
|
|
94
95
|
required?: boolean | undefined;
|
|
95
96
|
isDefault?: boolean | undefined;
|
|
96
97
|
hidden?: boolean | undefined;
|
|
97
98
|
outputName?: string | undefined;
|
|
99
|
+
parse?: Parser<Args, OptionType> | undefined;
|
|
98
100
|
type?: "number" | undefined;
|
|
99
101
|
}>;
|
|
100
|
-
export type TypedOptionConfig<T =
|
|
102
|
+
export type TypedOptionConfig<T, A extends ArgsObject = ArgsObject> = z.infer<ReturnType<typeof TypedOptionConfig<T, A>>>;
|
|
101
103
|
/**
|
|
102
104
|
* @see OptionConfig
|
|
103
105
|
* @see ArrayOptionConfig
|
|
104
106
|
*/
|
|
105
|
-
export declare const ArrayOptionConfig: <T extends z.ZodType<
|
|
107
|
+
export declare const ArrayOptionConfig: <T, A extends object = object>(type: z.ZodType<T, z.ZodTypeDef, T>) => z.ZodObject<{
|
|
106
108
|
type: z.ZodOptional<z.ZodEnum<["number"]>>;
|
|
107
109
|
array: z.ZodOptional<z.ZodBoolean>;
|
|
108
110
|
description: z.ZodString;
|
|
109
111
|
name: z.ZodString;
|
|
110
112
|
aliases: z.ZodArray<z.ZodString, "many">;
|
|
111
|
-
parse: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodArray<T, "many">>>;
|
|
112
113
|
required: z.ZodOptional<z.ZodBoolean>;
|
|
113
114
|
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
114
115
|
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
115
116
|
outputName: z.ZodOptional<z.ZodString>;
|
|
116
|
-
|
|
117
|
+
parse: z.ZodOptional<z.ZodType<Parser<A, T[]>, z.ZodTypeDef, Parser<A, T[]>>>;
|
|
118
|
+
defaultValue: z.ZodOptional<z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">>;
|
|
117
119
|
}, "strip", z.ZodTypeAny, {
|
|
118
120
|
description: string;
|
|
119
121
|
name: string;
|
|
120
122
|
aliases: string[];
|
|
121
123
|
type?: "number" | undefined;
|
|
122
124
|
array?: boolean | undefined;
|
|
123
|
-
parse?: ((args_0: string, ...args_1: unknown[]) => T["_output"][]) | undefined;
|
|
124
125
|
required?: boolean | undefined;
|
|
125
126
|
isDefault?: boolean | undefined;
|
|
126
127
|
hidden?: boolean | undefined;
|
|
127
128
|
outputName?: string | undefined;
|
|
128
|
-
|
|
129
|
+
parse?: Parser<A, T[]> | undefined;
|
|
130
|
+
defaultValue?: T[] | undefined;
|
|
129
131
|
}, {
|
|
130
132
|
description: string;
|
|
131
133
|
name: string;
|
|
132
134
|
aliases: string[];
|
|
133
135
|
type?: "number" | undefined;
|
|
134
136
|
array?: boolean | undefined;
|
|
135
|
-
parse?: ((args_0: string, ...args_1: unknown[]) => T["_input"][]) | undefined;
|
|
136
137
|
required?: boolean | undefined;
|
|
137
138
|
isDefault?: boolean | undefined;
|
|
138
139
|
hidden?: boolean | undefined;
|
|
139
140
|
outputName?: string | undefined;
|
|
140
|
-
|
|
141
|
+
parse?: Parser<A, T[]> | undefined;
|
|
142
|
+
defaultValue?: T[] | undefined;
|
|
141
143
|
}>;
|
|
142
144
|
/**
|
|
143
145
|
* An option that can be passed to a command.
|
|
@@ -173,18 +175,19 @@ export type ArgvValue<T> = {
|
|
|
173
175
|
* })
|
|
174
176
|
* ```
|
|
175
177
|
*/
|
|
176
|
-
export declare class MassargOption<
|
|
178
|
+
export declare class MassargOption<OptionType extends any = unknown, Args extends ArgsObject = ArgsObject> {
|
|
177
179
|
name: string;
|
|
178
180
|
description: string;
|
|
179
|
-
defaultValue?:
|
|
181
|
+
defaultValue?: OptionType;
|
|
180
182
|
aliases: string[];
|
|
181
|
-
parse:
|
|
183
|
+
parse: Parser<Args, OptionType>;
|
|
182
184
|
isArray: boolean;
|
|
183
185
|
isDefault: boolean;
|
|
184
186
|
outputName?: string;
|
|
185
|
-
constructor(options: OptionConfig<
|
|
186
|
-
static fromTypedConfig<T = unknown>(config: TypedOptionConfig<T>): MassargOption<T>;
|
|
187
|
-
|
|
187
|
+
constructor(options: OptionConfig<OptionType, Args>);
|
|
188
|
+
static fromTypedConfig<T = unknown, A extends ArgsObject = ArgsObject>(config: TypedOptionConfig<T, A>): MassargOption<T>;
|
|
189
|
+
getOutputName(): string;
|
|
190
|
+
_parseDetails(argv: string[], options: ArgsObject): ArgvValue<OptionType>;
|
|
188
191
|
helpString(): string;
|
|
189
192
|
_match(arg: string): boolean;
|
|
190
193
|
_isOption(arg: string): boolean;
|
|
@@ -208,7 +211,7 @@ export declare class MassargOption<T = unknown> {
|
|
|
208
211
|
*/
|
|
209
212
|
export declare class MassargNumber extends MassargOption<number> {
|
|
210
213
|
constructor(options: Omit<OptionConfig<number>, 'parse'>);
|
|
211
|
-
_parseDetails(argv: string[]): ArgvValue<number>;
|
|
214
|
+
_parseDetails(argv: string[], options: ArgsObject): ArgvValue<number>;
|
|
212
215
|
}
|
|
213
216
|
/**
|
|
214
217
|
* An option that can be passed to a command.
|
package/option.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../src/option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../src/option.ts"],"names":[],"mappings":"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"}
|
package/option.js
CHANGED
|
@@ -17,7 +17,7 @@ const OptionConfig = (type) => zod_1.z.object({
|
|
|
17
17
|
* Parse the value of the option. You can return any type here, or throw an error if the value
|
|
18
18
|
* is invalid.
|
|
19
19
|
*/
|
|
20
|
-
parse: zod_1.z.function().args(zod_1.z.string()).returns(type).optional(),
|
|
20
|
+
parse: zod_1.z.function().args(zod_1.z.string(), zod_1.z.any()).returns(type).optional(),
|
|
21
21
|
/**
|
|
22
22
|
* Whether the option is an array.
|
|
23
23
|
*
|
|
@@ -103,7 +103,10 @@ class MassargOption {
|
|
|
103
103
|
}
|
|
104
104
|
return new MassargOption(config);
|
|
105
105
|
}
|
|
106
|
-
|
|
106
|
+
getOutputName() {
|
|
107
|
+
return this.outputName || (0, utils_1.toCamelCase)(this.name);
|
|
108
|
+
}
|
|
109
|
+
_parseDetails(argv, options) {
|
|
107
110
|
// TODO: support --option=value
|
|
108
111
|
let input = '';
|
|
109
112
|
try {
|
|
@@ -117,8 +120,8 @@ class MassargOption {
|
|
|
117
120
|
}
|
|
118
121
|
argv.shift();
|
|
119
122
|
input = argv.shift();
|
|
120
|
-
const value = this.parse(input);
|
|
121
|
-
return { key: this.
|
|
123
|
+
const value = this.parse(input, options);
|
|
124
|
+
return { key: this.getOutputName(), value, argv };
|
|
122
125
|
}
|
|
123
126
|
catch (e) {
|
|
124
127
|
if ((0, error_1.isZodError)(e)) {
|
|
@@ -206,9 +209,9 @@ class MassargNumber extends MassargOption {
|
|
|
206
209
|
parse: (value) => Number(value),
|
|
207
210
|
});
|
|
208
211
|
}
|
|
209
|
-
_parseDetails(argv) {
|
|
212
|
+
_parseDetails(argv, options) {
|
|
210
213
|
try {
|
|
211
|
-
const { argv: _argv, value } = super._parseDetails(argv);
|
|
214
|
+
const { argv: _argv, value } = super._parseDetails(argv, options);
|
|
212
215
|
if (isNaN(value)) {
|
|
213
216
|
throw new error_1.ParseError({
|
|
214
217
|
path: [this.name],
|
package/option.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option.js","sourceRoot":"","sources":["../src/option.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AACvB,mCAAgD;AAChD,mCAAqC;
|
|
1
|
+
{"version":3,"file":"option.js","sourceRoot":"","sources":["../src/option.ts"],"names":[],"mappings":"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"}
|