zod-args-parser 1.2.6 → 1.2.8
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 +19 -19
- package/lib/commonjs/autocomplete-scripts/{bash-autocomplete-script.js → bash-autocomplete-script.cjs} +2 -2
- package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +1 -0
- package/lib/commonjs/autocomplete-scripts/{powershell-autocomplete-script.js → powershell-autocomplete-script.cjs} +3 -3
- package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +1 -0
- package/lib/commonjs/autocomplete-scripts/{zsh-autocomplete-script.js → zsh-autocomplete-script.cjs} +4 -4
- package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +1 -0
- package/lib/commonjs/help-message/format-arguments.cjs +1 -0
- package/lib/commonjs/help-message/format-arguments.cjs.map +1 -0
- package/lib/commonjs/help-message/format-cli.cjs +1 -0
- package/lib/commonjs/help-message/format-cli.cjs.map +1 -0
- package/lib/commonjs/help-message/format-options.cjs +1 -0
- package/lib/commonjs/help-message/format-options.cjs.map +1 -0
- package/lib/commonjs/help-message/format-subcommands.cjs +1 -0
- package/lib/commonjs/help-message/format-subcommands.cjs.map +1 -0
- package/lib/commonjs/help-message/styles.cjs +1 -0
- package/lib/commonjs/help-message/styles.cjs.map +1 -0
- package/lib/commonjs/index.cjs +1 -0
- package/lib/commonjs/index.cjs.map +1 -0
- package/lib/commonjs/markdown/generate-markdown.cjs +1 -0
- package/lib/commonjs/markdown/generate-markdown.cjs.map +1 -0
- package/lib/commonjs/metadata/get-arguments-metadata.cjs +1 -0
- package/lib/commonjs/metadata/get-arguments-metadata.cjs.map +1 -0
- package/lib/commonjs/metadata/get-cli-metadata.cjs +1 -0
- package/lib/commonjs/metadata/{get-cli-metadata.js.map → get-cli-metadata.cjs.map} +1 -1
- package/lib/commonjs/metadata/get-options-metadata.cjs +1 -0
- package/lib/commonjs/metadata/get-options-metadata.cjs.map +1 -0
- package/lib/commonjs/metadata/get-subcommands-metadata.cjs +1 -0
- package/lib/commonjs/metadata/get-subcommands-metadata.cjs.map +1 -0
- package/lib/commonjs/parser/parse/parse.cjs +1 -0
- package/lib/commonjs/parser/parse/parse.cjs.map +1 -0
- package/lib/commonjs/parser/parse/parser-helpers.cjs +1 -0
- package/lib/commonjs/parser/parse/parser-helpers.cjs.map +1 -0
- package/lib/commonjs/parser/safe-parse.cjs +1 -0
- package/lib/commonjs/parser/safe-parse.cjs.map +1 -0
- package/lib/commonjs/parser/unsafe-parse.cjs +1 -0
- package/lib/commonjs/parser/unsafe-parse.cjs.map +1 -0
- package/lib/commonjs/parser/validate/validate-type.cjs.map +1 -0
- package/lib/commonjs/parser/validate/validate.cjs +1 -0
- package/lib/commonjs/parser/validate/validate.cjs.map +1 -0
- package/lib/commonjs/utilities.cjs +1 -0
- package/lib/commonjs/utilities.cjs.map +1 -0
- package/lib/commonjs/zod-utilities.cjs +1 -0
- package/lib/commonjs/zod-utilities.cjs.map +1 -0
- package/lib/module/autocomplete-scripts/{bash-autocomplete-script.js → bash-autocomplete-script.mjs} +2 -2
- package/lib/module/autocomplete-scripts/bash-autocomplete-script.mjs.map +1 -0
- package/lib/module/autocomplete-scripts/powershell-autocomplete-script.mjs +31 -0
- package/lib/module/autocomplete-scripts/powershell-autocomplete-script.mjs.map +1 -0
- package/lib/module/autocomplete-scripts/{zsh-autocomplete-script.js → zsh-autocomplete-script.mjs} +4 -4
- package/lib/module/autocomplete-scripts/zsh-autocomplete-script.mjs.map +1 -0
- package/lib/module/help-message/format-arguments.mjs +1 -0
- package/lib/module/help-message/format-arguments.mjs.map +1 -0
- package/lib/module/help-message/format-cli.mjs +1 -0
- package/lib/module/help-message/format-cli.mjs.map +1 -0
- package/lib/module/help-message/format-options.mjs +1 -0
- package/lib/module/help-message/format-options.mjs.map +1 -0
- package/lib/module/help-message/format-subcommands.mjs +1 -0
- package/lib/module/help-message/format-subcommands.mjs.map +1 -0
- package/lib/module/help-message/styles.mjs +1 -0
- package/lib/module/help-message/styles.mjs.map +1 -0
- package/lib/module/index.mjs +1 -0
- package/lib/module/index.mjs.map +1 -0
- package/lib/module/markdown/generate-markdown.mjs +1 -0
- package/lib/module/markdown/generate-markdown.mjs.map +1 -0
- package/lib/module/metadata/get-arguments-metadata.mjs +1 -0
- package/lib/module/metadata/get-arguments-metadata.mjs.map +1 -0
- package/lib/module/metadata/get-cli-metadata.mjs +1 -0
- package/lib/module/metadata/{get-cli-metadata.js.map → get-cli-metadata.mjs.map} +1 -1
- package/lib/module/metadata/get-options-metadata.mjs +1 -0
- package/lib/module/metadata/get-options-metadata.mjs.map +1 -0
- package/lib/module/metadata/get-subcommands-metadata.mjs +1 -0
- package/lib/module/metadata/get-subcommands-metadata.mjs.map +1 -0
- package/lib/module/parser/parse/parse.mjs +1 -0
- package/lib/module/parser/parse/parse.mjs.map +1 -0
- package/lib/module/parser/parse/parser-helpers.mjs +1 -0
- package/lib/module/parser/parse/parser-helpers.mjs.map +1 -0
- package/lib/module/parser/safe-parse.mjs +1 -0
- package/lib/module/parser/safe-parse.mjs.map +1 -0
- package/lib/module/parser/unsafe-parse.mjs +1 -0
- package/lib/module/parser/unsafe-parse.mjs.map +1 -0
- package/lib/module/parser/validate/validate-type.mjs.map +1 -0
- package/lib/module/parser/validate/validate.mjs +1 -0
- package/lib/module/parser/validate/validate.mjs.map +1 -0
- package/lib/module/utilities.mjs +1 -0
- package/lib/module/utilities.mjs.map +1 -0
- package/lib/module/zod-utilities.mjs +1 -0
- package/lib/module/zod-utilities.mjs.map +1 -0
- package/lib/typescript/autocomplete-scripts/bash-autocomplete-script.d.ts +1 -1
- package/lib/typescript/autocomplete-scripts/bash-autocomplete-script.d.ts.map +1 -1
- package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts +1 -1
- package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts.map +1 -1
- package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts +1 -1
- package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts.map +1 -1
- package/lib/typescript/help-message/format-arguments.d.ts +2 -2
- package/lib/typescript/help-message/format-arguments.d.ts.map +1 -1
- package/lib/typescript/help-message/format-cli.d.ts +5 -5
- package/lib/typescript/help-message/format-cli.d.ts.map +1 -1
- package/lib/typescript/help-message/format-options.d.ts +2 -2
- package/lib/typescript/help-message/format-options.d.ts.map +1 -1
- package/lib/typescript/help-message/format-subcommands.d.ts +2 -2
- package/lib/typescript/help-message/format-subcommands.d.ts.map +1 -1
- package/lib/typescript/help-message/styles.d.ts +14 -13
- package/lib/typescript/help-message/styles.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +10 -10
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/markdown/generate-markdown.d.ts +1 -1
- package/lib/typescript/markdown/generate-markdown.d.ts.map +1 -1
- package/lib/typescript/metadata/get-arguments-metadata.d.ts +1 -1
- package/lib/typescript/metadata/get-arguments-metadata.d.ts.map +1 -1
- package/lib/typescript/metadata/get-options-metadata.d.ts.map +1 -1
- package/lib/typescript/metadata/get-subcommands-metadata.d.ts.map +1 -1
- package/lib/typescript/parser/parse/parse-types.d.ts +5 -5
- package/lib/typescript/parser/parse/parse-types.d.ts.map +1 -1
- package/lib/typescript/parser/parse/parse.d.ts +2 -2
- package/lib/typescript/parser/parse/parse.d.ts.map +1 -1
- package/lib/typescript/parser/parse/parser-helpers.d.ts +7 -7
- package/lib/typescript/parser/parse/parser-helpers.d.ts.map +1 -1
- package/lib/typescript/parser/safe-parse.d.ts +2 -2
- package/lib/typescript/parser/safe-parse.d.ts.map +1 -1
- package/lib/typescript/parser/unsafe-parse.d.ts +2 -2
- package/lib/typescript/parser/unsafe-parse.d.ts.map +1 -1
- package/lib/typescript/parser/validate/validate-type.d.ts +4 -4
- package/lib/typescript/parser/validate/validate-type.d.ts.map +1 -1
- package/lib/typescript/parser/validate/validate.d.ts +4 -4
- package/lib/typescript/parser/validate/validate.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +19 -15
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/{utils.d.ts → utilities.d.ts} +9 -9
- package/lib/typescript/utilities.d.ts.map +1 -0
- package/lib/typescript/{zod-utils.d.ts → zod-utilities.d.ts} +11 -10
- package/lib/typescript/zod-utilities.d.ts.map +1 -0
- package/package.json +17 -18
- package/src/autocomplete-scripts/bash-autocomplete-script.ts +10 -10
- package/src/autocomplete-scripts/powershell-autocomplete-script.ts +17 -15
- package/src/autocomplete-scripts/zsh-autocomplete-script.ts +8 -5
- package/src/help-message/format-arguments.ts +20 -13
- package/src/help-message/format-cli.ts +65 -45
- package/src/help-message/format-options.ts +19 -12
- package/src/help-message/format-subcommands.ts +9 -9
- package/src/help-message/styles.ts +18 -18
- package/src/index.ts +21 -21
- package/src/markdown/generate-markdown.ts +55 -55
- package/src/metadata/get-arguments-metadata.ts +10 -10
- package/src/metadata/get-options-metadata.ts +8 -6
- package/src/metadata/get-subcommands-metadata.ts +3 -1
- package/src/parser/parse/parse-types.ts +5 -5
- package/src/parser/parse/parse.ts +67 -64
- package/src/parser/parse/parser-helpers.ts +24 -25
- package/src/parser/safe-parse.ts +24 -18
- package/src/parser/unsafe-parse.ts +34 -34
- package/src/parser/validate/validate-type.ts +4 -4
- package/src/parser/validate/validate.ts +17 -17
- package/src/types.ts +21 -17
- package/src/{utils.ts → utilities.ts} +44 -28
- package/src/zod-utilities.ts +214 -0
- package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.js.map +0 -1
- package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.js.map +0 -1
- package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.js.map +0 -1
- package/lib/commonjs/help-message/format-arguments.js +0 -1
- package/lib/commonjs/help-message/format-arguments.js.map +0 -1
- package/lib/commonjs/help-message/format-cli.js +0 -1
- package/lib/commonjs/help-message/format-cli.js.map +0 -1
- package/lib/commonjs/help-message/format-options.js +0 -1
- package/lib/commonjs/help-message/format-options.js.map +0 -1
- package/lib/commonjs/help-message/format-subcommands.js +0 -1
- package/lib/commonjs/help-message/format-subcommands.js.map +0 -1
- package/lib/commonjs/help-message/styles.js +0 -1
- package/lib/commonjs/help-message/styles.js.map +0 -1
- package/lib/commonjs/index.js +0 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/markdown/generate-markdown.js +0 -1
- package/lib/commonjs/markdown/generate-markdown.js.map +0 -1
- package/lib/commonjs/metadata/get-arguments-metadata.js +0 -1
- package/lib/commonjs/metadata/get-arguments-metadata.js.map +0 -1
- package/lib/commonjs/metadata/get-cli-metadata.js +0 -1
- package/lib/commonjs/metadata/get-options-metadata.js +0 -1
- package/lib/commonjs/metadata/get-options-metadata.js.map +0 -1
- package/lib/commonjs/metadata/get-subcommands-metadata.js +0 -1
- package/lib/commonjs/metadata/get-subcommands-metadata.js.map +0 -1
- package/lib/commonjs/parser/parse/parse.js +0 -1
- package/lib/commonjs/parser/parse/parse.js.map +0 -1
- package/lib/commonjs/parser/parse/parser-helpers.js +0 -1
- package/lib/commonjs/parser/parse/parser-helpers.js.map +0 -1
- package/lib/commonjs/parser/safe-parse.js +0 -1
- package/lib/commonjs/parser/safe-parse.js.map +0 -1
- package/lib/commonjs/parser/unsafe-parse.js +0 -1
- package/lib/commonjs/parser/unsafe-parse.js.map +0 -1
- package/lib/commonjs/parser/validate/validate-type.js.map +0 -1
- package/lib/commonjs/parser/validate/validate.js +0 -1
- package/lib/commonjs/parser/validate/validate.js.map +0 -1
- package/lib/commonjs/utils.js +0 -1
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/commonjs/zod-utils.js +0 -1
- package/lib/commonjs/zod-utils.js.map +0 -1
- package/lib/module/autocomplete-scripts/bash-autocomplete-script.js.map +0 -1
- package/lib/module/autocomplete-scripts/powershell-autocomplete-script.js +0 -31
- package/lib/module/autocomplete-scripts/powershell-autocomplete-script.js.map +0 -1
- package/lib/module/autocomplete-scripts/zsh-autocomplete-script.js.map +0 -1
- package/lib/module/help-message/format-arguments.js +0 -1
- package/lib/module/help-message/format-arguments.js.map +0 -1
- package/lib/module/help-message/format-cli.js +0 -1
- package/lib/module/help-message/format-cli.js.map +0 -1
- package/lib/module/help-message/format-options.js +0 -1
- package/lib/module/help-message/format-options.js.map +0 -1
- package/lib/module/help-message/format-subcommands.js +0 -1
- package/lib/module/help-message/format-subcommands.js.map +0 -1
- package/lib/module/help-message/styles.js +0 -1
- package/lib/module/help-message/styles.js.map +0 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/markdown/generate-markdown.js +0 -1
- package/lib/module/markdown/generate-markdown.js.map +0 -1
- package/lib/module/metadata/get-arguments-metadata.js +0 -1
- package/lib/module/metadata/get-arguments-metadata.js.map +0 -1
- package/lib/module/metadata/get-cli-metadata.js +0 -1
- package/lib/module/metadata/get-options-metadata.js +0 -1
- package/lib/module/metadata/get-options-metadata.js.map +0 -1
- package/lib/module/metadata/get-subcommands-metadata.js +0 -1
- package/lib/module/metadata/get-subcommands-metadata.js.map +0 -1
- package/lib/module/parser/parse/parse.js +0 -1
- package/lib/module/parser/parse/parse.js.map +0 -1
- package/lib/module/parser/parse/parser-helpers.js +0 -1
- package/lib/module/parser/parse/parser-helpers.js.map +0 -1
- package/lib/module/parser/safe-parse.js +0 -1
- package/lib/module/parser/safe-parse.js.map +0 -1
- package/lib/module/parser/unsafe-parse.js +0 -1
- package/lib/module/parser/unsafe-parse.js.map +0 -1
- package/lib/module/parser/validate/validate-type.js.map +0 -1
- package/lib/module/parser/validate/validate.js +0 -1
- package/lib/module/parser/validate/validate.js.map +0 -1
- package/lib/module/utils.js +0 -1
- package/lib/module/utils.js.map +0 -1
- package/lib/module/zod-utils.js +0 -1
- package/lib/module/zod-utils.js.map +0 -1
- package/lib/typescript/utils.d.ts.map +0 -1
- package/lib/typescript/zod-utils.d.ts.map +0 -1
- package/src/zod-utils.ts +0 -199
- /package/lib/commonjs/parser/validate/{validate-type.js → validate-type.cjs} +0 -0
- /package/lib/module/parser/validate/{validate-type.js → validate-type.mjs} +0 -0
|
@@ -7,7 +7,7 @@ import type { Option, Subcommand } from "../../types.js";
|
|
|
7
7
|
* @param subcommandArr - An array of `Subcommand` objects to search within.
|
|
8
8
|
* @returns The matching `Subcommand` object if found; otherwise, `undefined`.
|
|
9
9
|
*/
|
|
10
|
-
export declare function findSubcommand(subCmdName: string | undefined,
|
|
10
|
+
export declare function findSubcommand(subCmdName: string | undefined, subcommandArray: Subcommand[]): Subcommand | undefined;
|
|
11
11
|
/**
|
|
12
12
|
* Finds and returns an `Option` object from the provided list that matches the given argument string.
|
|
13
13
|
*
|
|
@@ -17,24 +17,24 @@ export declare function findSubcommand(subCmdName: string | undefined, subcomman
|
|
|
17
17
|
* @param options - An array of `Option` objects to search through.
|
|
18
18
|
* @returns The matching `Option` object if found; otherwise, `undefined`.
|
|
19
19
|
*/
|
|
20
|
-
export declare function findOption(
|
|
20
|
+
export declare function findOption(optionArgument: string, options: [Option, ...Option[]]): Option | undefined;
|
|
21
21
|
/** - Decouple flags E.g. `-rf` -> `-r, -f` */
|
|
22
|
-
export declare function decoupleFlags(
|
|
22
|
+
export declare function decoupleFlags(arguments_: string[]): string[];
|
|
23
23
|
/**
|
|
24
24
|
* - Transforms an option argument name to a valid JavaScript variable name
|
|
25
25
|
*
|
|
26
26
|
* @param name - Should start with `'--'` or `'-'`
|
|
27
27
|
*/
|
|
28
|
-
export declare function
|
|
28
|
+
export declare function optionArgumentToVariableNames(name: string): Set<string>;
|
|
29
29
|
/** - Check if an arg string is a short arg. E.g. `-i` -> `true` */
|
|
30
|
-
export declare function
|
|
30
|
+
export declare function isFlagArgument(name: string): boolean;
|
|
31
31
|
/** - Check if an arg string is an options arg. E.g. `--input-dir` -> `true` , `-i` -> `true` */
|
|
32
|
-
export declare function
|
|
32
|
+
export declare function isOptionArgument(name: string | boolean): boolean;
|
|
33
33
|
/**
|
|
34
34
|
* - Transform option name to no name. E.g. `include` -> `noInclude`
|
|
35
35
|
* - For short name like `-i` it will be ignored
|
|
36
36
|
*/
|
|
37
37
|
export declare function negateOption(name: string): string;
|
|
38
38
|
/** - Reverse of `transformArg`. E.g. `InputDir` -> `--input-dir` , `i` -> `-i` */
|
|
39
|
-
export declare function
|
|
39
|
+
export declare function transformOptionToArgument(name: string): string;
|
|
40
40
|
//# sourceMappingURL=parser-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-helpers.d.ts","sourceRoot":"","sources":["../../../../src/parser/parse/parser-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"parser-helpers.d.ts","sourceRoot":"","sources":["../../../../src/parser/parse/parser-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS,CAUpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CA6BrG;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAqB5D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAyBvE;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAOD,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAMhE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAe9D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Cli, NoSubcommand, SafeParseResult, Subcommand } from "../types.js";
|
|
2
|
-
export declare function safeParse<T extends Subcommand[], U extends Cli>(argsv: string[], ...
|
|
3
|
-
export declare function safeParseAsync<T extends Subcommand[], U extends Cli>(argsv: string[], ...
|
|
2
|
+
export declare function safeParse<T extends Subcommand[], U extends Cli>(argsv: string[], ...parameters: [U, ...T]): SafeParseResult<[...T, NoSubcommand & U]>;
|
|
3
|
+
export declare function safeParseAsync<T extends Subcommand[], U extends Cli>(argsv: string[], ...parameters: [U, ...T]): Promise<SafeParseResult<[...T, NoSubcommand & U]>>;
|
|
4
4
|
//# sourceMappingURL=safe-parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-parse.d.ts","sourceRoot":"","sources":["../../../src/parser/safe-parse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAgB,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhG,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC7D,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,
|
|
1
|
+
{"version":3,"file":"safe-parse.d.ts","sourceRoot":"","sources":["../../../src/parser/safe-parse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAgB,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhG,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC7D,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CA4C3C;AAED,wBAAsB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EACxE,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CA4CpD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Cli, NoSubcommand, Subcommand, UnsafeParseResult } from "../types.js";
|
|
2
|
-
export declare function unsafeParse<T extends Subcommand[], U extends Cli>(argv: string[], ...
|
|
3
|
-
export declare function unsafeParseAsync<T extends Subcommand[], U extends Cli>(argv: string[], ...
|
|
2
|
+
export declare function unsafeParse<T extends Subcommand[], U extends Cli>(argv: string[], ...parameters: [U, ...T]): UnsafeParseResult<[...T, NoSubcommand & U]>;
|
|
3
|
+
export declare function unsafeParseAsync<T extends Subcommand[], U extends Cli>(argv: string[], ...parameters: [U, ...T]): Promise<UnsafeParseResult<[...T, NoSubcommand & U]>>;
|
|
4
4
|
//# sourceMappingURL=unsafe-parse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unsafe-parse.d.ts","sourceRoot":"","sources":["../../../src/parser/unsafe-parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"unsafe-parse.d.ts","sourceRoot":"","sources":["../../../src/parser/unsafe-parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAoB,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC/D,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAyC7C;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC1E,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAyCtD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Argument, Option, Prettify, Schema, Subcommand, ToOptional, ZodInferOutput } from "../../types.js";
|
|
2
2
|
import type { ParseResult } from "../parse/parse-types.js";
|
|
3
|
-
type
|
|
3
|
+
type OptionsArray2RecordType<T extends Option[] | undefined> = T extends Option[] ? ToOptional<{
|
|
4
4
|
[K in T[number]["name"]]: ZodInferOutput<Extract<T[number], {
|
|
5
5
|
name: K;
|
|
6
6
|
}>["type"]>;
|
|
7
7
|
}> : object;
|
|
8
|
-
type
|
|
8
|
+
type ArgumentsArray2ArrayType<T extends Argument[] | undefined> = T extends Argument[] ? {
|
|
9
9
|
[K in keyof T]: T[K] extends {
|
|
10
10
|
type: Schema;
|
|
11
11
|
} ? ZodInferOutput<T[K]["type"]> : never;
|
|
@@ -13,10 +13,10 @@ type ArgumentsArr2ArrType<T extends Argument[] | undefined> = T extends Argument
|
|
|
13
13
|
export type ValidateResult<S extends Partial<Subcommand>[]> = {
|
|
14
14
|
[K in keyof S]: Prettify<{
|
|
15
15
|
subcommand: S[K]["name"] extends string ? S[K]["name"] : undefined;
|
|
16
|
-
arguments:
|
|
16
|
+
arguments: ArgumentsArray2ArrayType<S[K]["arguments"]>;
|
|
17
17
|
positional: S[K]["allowPositional"] extends true ? string[] : never;
|
|
18
18
|
ctx: ParseResult<S>;
|
|
19
|
-
} &
|
|
19
|
+
} & OptionsArray2RecordType<S[K]["options"]>>;
|
|
20
20
|
}[number];
|
|
21
21
|
export {};
|
|
22
22
|
//# sourceMappingURL=validate-type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-type.d.ts","sourceRoot":"","sources":["../../../../src/parser/validate/validate-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,KAAK,
|
|
1
|
+
{"version":3,"file":"validate-type.d.ts","sourceRoot":"","sources":["../../../../src/parser/validate/validate-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,IAAI,CAAC,SAAS,MAAM,EAAE,GAC7E,UAAU,CAAC;KAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC,GACjG,MAAM,CAAC;AAEX,KAAK,wBAAwB,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,SAAS,IAAI,CAAC,SAAS,QAAQ,EAAE,GAClF;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;CAAE,GACxF,KAAK,CAAC;AAEV,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CACtB;QACE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QACnE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;QACpE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;KACrB,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAC7C;CACF,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ParsedContext } from "../parse/parse-types.js";
|
|
2
2
|
/** The return result object temporarily type. used inside the `parse` function */
|
|
3
|
-
type
|
|
3
|
+
type ResultsTemporaryType = Record<string, unknown> & {
|
|
4
4
|
subcommand: string | undefined;
|
|
5
5
|
positional?: string[];
|
|
6
6
|
arguments?: unknown[];
|
|
7
|
-
ctx:
|
|
7
|
+
ctx: ParsedContext;
|
|
8
8
|
};
|
|
9
|
-
export declare function validate(parsedData:
|
|
9
|
+
export declare function validate(parsedData: ParsedContext): ResultsTemporaryType;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/parser/validate/validate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/parser/validate/validate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,kFAAkF;AAClF,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACpD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,UAAU,EAAE,aAAa,wBAkDjD"}
|
|
@@ -64,7 +64,7 @@ export interface Subcommand {
|
|
|
64
64
|
* const helpCommand = createSubcommand({ name: "help", options: [...] });
|
|
65
65
|
* helpCommand.setAction(res => console.log(res));
|
|
66
66
|
*/
|
|
67
|
-
action?: (
|
|
67
|
+
action?: (data?: any) => any;
|
|
68
68
|
/**
|
|
69
69
|
* - The preValidation hook is executed before the action.
|
|
70
70
|
* - To get typescript types use `setPreValidationHook` instead of this.
|
|
@@ -73,7 +73,7 @@ export interface Subcommand {
|
|
|
73
73
|
* const helpCommand = createSubcommand({ name: "help", options: [...] });
|
|
74
74
|
* helpCommand.setPreValidationHook(ctx => console.log(ctx));
|
|
75
75
|
*/
|
|
76
|
-
preValidation?: (
|
|
76
|
+
preValidation?: (context?: any) => any;
|
|
77
77
|
}
|
|
78
78
|
export type Cli = Prettify<Omit<Subcommand, "name" | "aliases" | "placeholder"> & {
|
|
79
79
|
/** - The name of the CLI program. */
|
|
@@ -135,9 +135,9 @@ export interface Argument {
|
|
|
135
135
|
*/
|
|
136
136
|
example?: string;
|
|
137
137
|
}
|
|
138
|
-
export type
|
|
138
|
+
export type ColorFunctionType = (...text: unknown[]) => string;
|
|
139
139
|
/** - The colors to use for the help message. */
|
|
140
|
-
export type
|
|
140
|
+
export type HelpMessageStyle = Record<"title" | "description" | "default" | "optional" | "exampleTitle" | "example" | "command" | "option" | "argument" | "placeholder" | "punctuation", ColorFunctionType>;
|
|
141
141
|
/**
|
|
142
142
|
* - Infer the options type from a subcommand.
|
|
143
143
|
*
|
|
@@ -214,8 +214,8 @@ export type NoSubcommand = {
|
|
|
214
214
|
name: undefined;
|
|
215
215
|
};
|
|
216
216
|
export type PrintMethods<N extends Subcommand["name"]> = {
|
|
217
|
-
printCliHelp: (style?: Partial<
|
|
218
|
-
printSubcommandHelp: (subcommand: LiteralUnion<NonNullable<N>>, style?: Partial<
|
|
217
|
+
printCliHelp: (style?: Partial<HelpMessageStyle>) => void;
|
|
218
|
+
printSubcommandHelp: (subcommand: LiteralUnion<NonNullable<N>>, style?: Partial<HelpMessageStyle>) => void;
|
|
219
219
|
};
|
|
220
220
|
export type UnsafeParseResult<S extends Partial<Subcommand>[]> = CheckDuplicatedSubcommands<S> extends infer E extends string ? E : Prettify<ValidateResult<S> & PrintMethods<NonNullable<S[number]["name"]>>>;
|
|
221
221
|
export type SafeParseResult<S extends Partial<Subcommand>[]> = CheckDuplicatedSubcommands<S> extends infer E extends string ? E : Prettify<({
|
|
@@ -225,12 +225,12 @@ export type SafeParseResult<S extends Partial<Subcommand>[]> = CheckDuplicatedSu
|
|
|
225
225
|
success: true;
|
|
226
226
|
data: ValidateResult<S>;
|
|
227
227
|
}) & PrintMethods<NonNullable<S[number]["name"]>>>;
|
|
228
|
-
export type
|
|
229
|
-
setAction: (actions: (
|
|
230
|
-
setPreValidationHook: (
|
|
228
|
+
export type ActionsFunctions<T extends Subcommand | Cli> = {
|
|
229
|
+
setAction: (actions: (data: UnsafeParseResult<[T]>) => void) => void;
|
|
230
|
+
setPreValidationHook: (hook: (context: ParseResult<[T]>) => void) => void;
|
|
231
231
|
};
|
|
232
232
|
/** - Combine `name` and `aliases` to a `string[]` */
|
|
233
|
-
type
|
|
233
|
+
type MapNameAndAliasesToStringArray<T extends {
|
|
234
234
|
name?: string;
|
|
235
235
|
aliases?: string[];
|
|
236
236
|
}[]> = T extends [
|
|
@@ -239,12 +239,16 @@ type MapNameAndAliases2StrArr<T extends {
|
|
|
239
239
|
] ? Rest extends {
|
|
240
240
|
name?: string;
|
|
241
241
|
aliases?: string[];
|
|
242
|
-
}[] ? [
|
|
242
|
+
}[] ? [
|
|
243
|
+
First["name"],
|
|
244
|
+
...(First["aliases"] extends string[] ? First["aliases"] : []),
|
|
245
|
+
...MapNameAndAliasesToStringArray<Rest>
|
|
246
|
+
] : [First["name"], ...(First["aliases"] extends string[] ? First["aliases"] : [])] : [];
|
|
243
247
|
/**
|
|
244
248
|
* - Find duplicated items in an array and return it
|
|
245
249
|
* - Return `false` if not found
|
|
246
250
|
*/
|
|
247
|
-
type
|
|
251
|
+
type IsDuplicatesInArray<Input extends any[]> = Input extends [infer Item, ...infer Rest] ? Rest extends any[] ? Item extends Rest[number] ? Item : IsDuplicatesInArray<Rest> : false : false;
|
|
248
252
|
/**
|
|
249
253
|
* - Check if there are duplicated options including aliases in `subcommand`
|
|
250
254
|
* - Return an error message if duplicated is found
|
|
@@ -252,13 +256,13 @@ type IsDuplicatesInArr<Input extends any[]> = Input extends [infer Item, ...infe
|
|
|
252
256
|
*/
|
|
253
257
|
export type CheckDuplicatedOptions<T extends {
|
|
254
258
|
options?: Option[];
|
|
255
|
-
}> = T["options"] extends infer O extends Option[] ?
|
|
259
|
+
}> = T["options"] extends infer O extends Option[] ? IsDuplicatesInArray<MapNameAndAliasesToStringArray<O>> extends infer Name extends string ? `>>> Error: Duplicated Options. Check the options with the name \`${Name}\` <<<` : undefined : undefined;
|
|
256
260
|
/**
|
|
257
261
|
* - Check for duplicated subcommands including aliases
|
|
258
262
|
* - Return an error message if duplicated is found
|
|
259
263
|
* - Return the `undefined` if no error
|
|
260
264
|
*/
|
|
261
|
-
type CheckDuplicatedSubcommands<T extends Partial<Subcommand>[]> =
|
|
265
|
+
type CheckDuplicatedSubcommands<T extends Partial<Subcommand>[]> = IsDuplicatesInArray<MapNameAndAliasesToStringArray<T>> extends infer Name extends string ? `>>> Error: Duplicated Subcommand. Check the subcommands with the name \`${Name}\` <<<` : undefined;
|
|
262
266
|
/**
|
|
263
267
|
* - Check for duplicated arguments
|
|
264
268
|
* - Return an error message if duplicated is found
|
|
@@ -266,7 +270,7 @@ type CheckDuplicatedSubcommands<T extends Partial<Subcommand>[]> = IsDuplicatesI
|
|
|
266
270
|
*/
|
|
267
271
|
export type CheckDuplicatedArguments<T extends {
|
|
268
272
|
arguments?: Argument[];
|
|
269
|
-
}> = T["arguments"] extends infer A extends Argument[] ?
|
|
273
|
+
}> = T["arguments"] extends infer A extends Argument[] ? IsDuplicatesInArray<MapNameAndAliasesToStringArray<A>> extends infer Name extends string ? `>>> Error: Duplicated Arguments. Check the arguments with the name \`${Name}\` <<<` : undefined : undefined;
|
|
270
274
|
type OptionalUnion = Z3.ZodOptional<Z3.ZodAny> | Z4.$ZodOptional | Z3.ZodDefault<Z3.ZodAny> | Z4.$ZodDefault;
|
|
271
275
|
/**
|
|
272
276
|
* - Insures that only the last argument is optional
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACnC,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,QAAQ,GAC7D,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,QAAQ,GAChB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC;AAEZ,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,QAAQ,GAC5D,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GACX,CAAC,SAAS,QAAQ,GAChB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC;AAEZ,MAAM,WAAW,UAAU;IACzB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAEtC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,19 @@ import { SubcommandMetadata } from "./metadata/metadata-types.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Converts a string to its corresponding boolean value if the string is "true" or "false" (case-insensitive).
|
|
4
4
|
*
|
|
5
|
-
* @param
|
|
5
|
+
* @param string - The input string to convert.
|
|
6
6
|
* @returns `true` if the input is "true", `false` if the input is "false", or the original string otherwise.
|
|
7
7
|
*/
|
|
8
|
-
export declare function stringToBoolean(
|
|
8
|
+
export declare function stringToBoolean(string: string): boolean | string;
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Converts a zero-based index into its human-readable ordinal form.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* Examples: 0 → "1st" 1 → "2nd" 2 → "3rd" 3 → "4th" 10 → "11th"
|
|
13
13
|
*
|
|
14
|
-
* Handles special cases for
|
|
14
|
+
* Handles special cases for 11, 12, and 13.
|
|
15
15
|
*
|
|
16
|
-
* @param index - The zero-based index to convert
|
|
17
|
-
* @returns The ordinal string
|
|
16
|
+
* @param index - The zero-based index to convert.
|
|
17
|
+
* @returns The ordinal string (e.g., "1st", "2nd", "3rd", "4th", ...).
|
|
18
18
|
*/
|
|
19
19
|
export declare function generateOrdinalSuffix(index: number): string;
|
|
20
20
|
/** New line */
|
|
@@ -25,7 +25,7 @@ export declare function indent(count: number): string;
|
|
|
25
25
|
export declare function concat(...messages: string[]): string;
|
|
26
26
|
export declare function stringifyValue(value: unknown): string;
|
|
27
27
|
/** Insert text at the end of the first line */
|
|
28
|
-
export declare function insertAtEndOfFirstLine(
|
|
28
|
+
export declare function insertAtEndOfFirstLine(string: string, insert: string): string;
|
|
29
29
|
/** Get the placeholder for a subcommand */
|
|
30
30
|
export declare function subcommandPlaceholder(metadata: SubcommandMetadata): string;
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAUhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAED,eAAe;AACf,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,UAE/B;AAED,YAAY;AACZ,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,UAGnC;AAED,qBAAqB;AACrB,wBAAgB,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAcrD;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAIpE;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAoB1E"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import type * as Z3 from "zod/v3";
|
|
1
2
|
import type * as Z4 from "zod/v4/core";
|
|
2
|
-
import type { Schema } from "./types.
|
|
3
|
+
import type { Schema } from "./types.ts";
|
|
3
4
|
/** - Safe parse a value against a schema */
|
|
4
|
-
export declare function safeParseSchema(schema: Schema, value: unknown): Z4.util.SafeParseError<unknown> |
|
|
5
|
+
export declare function safeParseSchema(schema: Schema, value: unknown): Z4.util.SafeParseError<unknown> | Z3.SafeParseSuccess<any> | Z3.SafeParseError<any>;
|
|
5
6
|
/** - Check if a schema is a boolean */
|
|
6
7
|
export declare function isBooleanSchema(schema: Schema): boolean;
|
|
7
8
|
/** - Get the default value of a schema */
|
|
8
|
-
export declare function schemaDefaultValue(schema: Schema): unknown
|
|
9
|
+
export declare function schemaDefaultValue(schema: Schema): unknown;
|
|
9
10
|
/** - Get the description of a schema */
|
|
10
11
|
export declare function schemaDescription(schema: Schema): string | undefined;
|
|
11
12
|
/** - Check if a schema is optional */
|
|
@@ -13,15 +14,15 @@ export declare function isOptionalSchema(schema: Schema): schema is Z4.$ZodOptio
|
|
|
13
14
|
/**
|
|
14
15
|
* A preprocessing function for Zod that converts a string to an array of strings.
|
|
15
16
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
17
|
+
* @param stringValue - The string value given by zod.
|
|
18
|
+
* @param separator - The separator to use when splitting the string. Defaults to ",".
|
|
18
19
|
*/
|
|
19
|
-
export declare function stringToArray(
|
|
20
|
+
export declare function stringToArray(stringValue: string, separator?: string): string[];
|
|
20
21
|
/**
|
|
21
22
|
* A preprocessing function for Zod that converts a string to a `Set` of strings.
|
|
22
23
|
*
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
24
|
+
* @param stringValue - The string value given by zod.
|
|
25
|
+
* @param separator - The separator to use when splitting the string. Defaults to ",".
|
|
25
26
|
*/
|
|
26
|
-
export declare function stringToSet(
|
|
27
|
-
//# sourceMappingURL=zod-
|
|
27
|
+
export declare function stringToSet(stringValue: string, separator?: string): Set<string>;
|
|
28
|
+
//# sourceMappingURL=zod-utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-utilities.d.ts","sourceRoot":"","sources":["../../src/zod-utilities.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,YAAY,CAAC;AAM7D,4CAA4C;AAC5C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,uFAM7D;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMvD;AAgDD,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAM1D;AA+CD,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiBpE;AAED,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC,YAAY,CAM1E;AAmCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,MAAM,EAAE,CAKpF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAGrF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zod-args-parser",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.8",
|
|
4
4
|
"description": "A strictly typed command-line arguments parser powered by Zod.",
|
|
5
5
|
"author": "Ahmed ALABSI <alabsi91@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -15,14 +15,12 @@
|
|
|
15
15
|
"test": "eslint src/** --fix && tsc --noEmit && tsx test/test.ts",
|
|
16
16
|
"prepare": "npm run test && npm run build"
|
|
17
17
|
},
|
|
18
|
-
"main": "./lib/commonjs/index.js",
|
|
19
|
-
"module": "./lib/module/index.js",
|
|
20
18
|
"types": "./lib/typescript/index.d.ts",
|
|
21
19
|
"exports": {
|
|
22
20
|
".": {
|
|
23
|
-
"import": "./lib/module/index.
|
|
24
|
-
"require": "./lib/commonjs/index.
|
|
25
|
-
"default": "./lib/module/index",
|
|
21
|
+
"import": "./lib/module/index.mjs",
|
|
22
|
+
"require": "./lib/commonjs/index.cjs",
|
|
23
|
+
"default": "./lib/module/index.mjs",
|
|
26
24
|
"types": "./lib/typescript/index.d.ts"
|
|
27
25
|
}
|
|
28
26
|
},
|
|
@@ -39,24 +37,25 @@
|
|
|
39
37
|
"typescript"
|
|
40
38
|
],
|
|
41
39
|
"devDependencies": {
|
|
42
|
-
"@babel/core": "^7.28.
|
|
43
|
-
"@babel/preset-env": "^7.28.
|
|
44
|
-
"@babel/preset-typescript": "^7.
|
|
45
|
-
"@eslint/
|
|
46
|
-
"@eslint/js": "^9.34.0",
|
|
40
|
+
"@babel/core": "^7.28.5",
|
|
41
|
+
"@babel/preset-env": "^7.28.5",
|
|
42
|
+
"@babel/preset-typescript": "^7.28.5",
|
|
43
|
+
"@eslint/js": "^9.38.0",
|
|
47
44
|
"@types/babel__core": "^7.20.5",
|
|
48
|
-
"@types/node": "^24.
|
|
49
|
-
"
|
|
45
|
+
"@types/node": "^24.9.1",
|
|
46
|
+
"babel-plugin-replace-import-extension": "^1.1.5",
|
|
47
|
+
"eslint": "^9.38.0",
|
|
50
48
|
"eslint-config-prettier": "^10.1.8",
|
|
51
49
|
"eslint-plugin-prettier": "^5.5.4",
|
|
50
|
+
"eslint-plugin-unicorn": "^61.0.2",
|
|
52
51
|
"glob": "^11.0.3",
|
|
53
|
-
"globals": "^16.
|
|
52
|
+
"globals": "^16.4.0",
|
|
54
53
|
"prettier": "^3.6.2",
|
|
55
54
|
"prettier-plugin-jsdoc": "^1.3.3",
|
|
56
|
-
"tsx": "^4.20.
|
|
57
|
-
"typescript": "^5.9.
|
|
58
|
-
"typescript-eslint": "^8.
|
|
59
|
-
"zod": "^4.1.
|
|
55
|
+
"tsx": "^4.20.6",
|
|
56
|
+
"typescript": "^5.9.3",
|
|
57
|
+
"typescript-eslint": "^8.46.2",
|
|
58
|
+
"zod": "^4.1.12"
|
|
60
59
|
},
|
|
61
60
|
"peerDependencies": {
|
|
62
61
|
"chalk": "*",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { transformOptionToArgument } from "../parser/parse/parser-helpers.js";
|
|
2
2
|
|
|
3
3
|
import type { Cli, Subcommand } from "../types.js";
|
|
4
4
|
|
|
@@ -10,29 +10,29 @@ import type { Cli, Subcommand } from "../types.js";
|
|
|
10
10
|
* - Add the following line: `source <generated script path>`
|
|
11
11
|
* - Save and reopen bash to take effect
|
|
12
12
|
*/
|
|
13
|
-
export function generateBashAutocompleteScript(...
|
|
14
|
-
const [cli, ...subcommands] =
|
|
13
|
+
export function generateBashAutocompleteScript(...parameters: [Cli, ...Subcommand[]]): string {
|
|
14
|
+
const [cli, ...subcommands] = parameters;
|
|
15
15
|
|
|
16
16
|
type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;
|
|
17
17
|
|
|
18
|
-
const mappedCommands
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const mappedCommands: MappedCommands = {};
|
|
19
|
+
for (const subcommand of subcommands) {
|
|
20
|
+
mappedCommands[subcommand.name] = {
|
|
21
|
+
options: subcommand.options?.map(option => transformOptionToArgument(option.name)) ?? [],
|
|
21
22
|
aliases: subcommand.aliases ?? [],
|
|
22
23
|
};
|
|
23
|
-
|
|
24
|
-
}, {});
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
let switchCase = "";
|
|
27
27
|
for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {
|
|
28
|
-
switchCase += ` ${key}${aliases.length ? "|" : ""}${aliases.join("|")})\n`;
|
|
28
|
+
switchCase += ` ${key}${aliases.length > 0 ? "|" : ""}${aliases.join("|")})\n`;
|
|
29
29
|
switchCase += ` opts="${options.join(" ")}"\n`;
|
|
30
30
|
switchCase += " ;;\n";
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
if (cli.options?.length) {
|
|
34
34
|
switchCase += ` "-"*)\n`;
|
|
35
|
-
switchCase += ` opts="${cli.options.map(option =>
|
|
35
|
+
switchCase += ` opts="${cli.options.map(option => transformOptionToArgument(option.name)).join(" ")}"\n`;
|
|
36
36
|
switchCase += " ;;\n";
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { transformOptionToArgument } from "../parser/parse/parser-helpers.js";
|
|
2
2
|
|
|
3
3
|
import type { Cli, Subcommand } from "../types.js";
|
|
4
4
|
|
|
@@ -13,31 +13,33 @@ import type { Cli, Subcommand } from "../types.js";
|
|
|
13
13
|
* - Add the following line: `. "<generated script path>"`
|
|
14
14
|
* - Save and reopen powershell to take effect
|
|
15
15
|
*/
|
|
16
|
-
export function generatePowerShellAutocompleteScript(...
|
|
17
|
-
const [cli, ...subcommands] =
|
|
16
|
+
export function generatePowerShellAutocompleteScript(...parameters: [Cli, ...Subcommand[]]): string {
|
|
17
|
+
const [cli, ...subcommands] = parameters;
|
|
18
18
|
|
|
19
19
|
type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;
|
|
20
20
|
|
|
21
|
-
const mappedCommands
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const mappedCommands: MappedCommands = {};
|
|
22
|
+
for (const subcommand of subcommands) {
|
|
23
|
+
mappedCommands[subcommand.name] = {
|
|
24
|
+
options: subcommand.options?.map(option => transformOptionToArgument(option.name)) ?? [],
|
|
24
25
|
aliases: subcommand.aliases ?? [],
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
-
}, {});
|
|
27
|
+
}
|
|
28
28
|
|
|
29
|
-
const
|
|
29
|
+
const subcommandsString = Object.keys(mappedCommands)
|
|
30
30
|
.map(key => `'${key}'`)
|
|
31
31
|
.join(", ");
|
|
32
|
-
const
|
|
32
|
+
const cliOptionsString = cli.options?.map(option => `'${transformOptionToArgument(option.name)}'`).join(", ") || "";
|
|
33
33
|
|
|
34
34
|
let switchCase = "switch ($subcommand) {\n";
|
|
35
35
|
for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {
|
|
36
|
-
const
|
|
37
|
-
switchCase += ` '${key}' { @(${
|
|
38
|
-
|
|
36
|
+
const optionsString = options.map(option => `'${option}'`).join(", ");
|
|
37
|
+
switchCase += ` '${key}' { @(${optionsString}) }\n`;
|
|
38
|
+
for (const a of aliases) {
|
|
39
|
+
switchCase += ` '${a}' { @(${optionsString}) }\n`;
|
|
40
|
+
}
|
|
39
41
|
}
|
|
40
|
-
switchCase += ` default { @(${
|
|
42
|
+
switchCase += ` default { @(${cliOptionsString}) }\n }`;
|
|
41
43
|
|
|
42
44
|
let functionInfo = "";
|
|
43
45
|
if (cli.description) {
|
|
@@ -65,7 +67,7 @@ function ${cli.cliName} {
|
|
|
65
67
|
|
|
66
68
|
Register-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'subcommand' -ScriptBlock {
|
|
67
69
|
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
|
|
68
|
-
$subcommands = @(${
|
|
70
|
+
$subcommands = @(${subcommandsString}${subcommandsString && cliOptionsString ? ", " : ""}${cliOptionsString})
|
|
69
71
|
$subcommands | Where-Object { $_ -like "$wordToComplete*" }
|
|
70
72
|
}
|
|
71
73
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { transformOptionToArgument } from "../parser/parse/parser-helpers.js";
|
|
2
2
|
|
|
3
3
|
import type { Cli, Option, Subcommand } from "../types.js";
|
|
4
4
|
|
|
@@ -10,12 +10,12 @@ import type { Cli, Option, Subcommand } from "../types.js";
|
|
|
10
10
|
* - Add the following line: `source <generated script path>`
|
|
11
11
|
* - Save and reopen zsh to take effect
|
|
12
12
|
*/
|
|
13
|
-
export function generateZshAutocompleteScript(...
|
|
14
|
-
const [cli, ...subcommands] =
|
|
13
|
+
export function generateZshAutocompleteScript(...parameters: [Cli, ...Subcommand[]]): string {
|
|
14
|
+
const [cli, ...subcommands] = parameters;
|
|
15
15
|
|
|
16
16
|
const genArguments = (options: Option[]) => {
|
|
17
17
|
return options
|
|
18
|
-
?.map(option => `'${
|
|
18
|
+
?.map(option => `'${transformOptionToArgument(option.name)}[${option.description ?? ""}]'`)
|
|
19
19
|
.join(" \\\n ");
|
|
20
20
|
};
|
|
21
21
|
|
|
@@ -43,7 +43,10 @@ _${cli.cliName}_autocomplete() {
|
|
|
43
43
|
case $state in
|
|
44
44
|
subcmds)
|
|
45
45
|
case "$words[1]" in
|
|
46
|
-
${subcommands
|
|
46
|
+
${subcommands
|
|
47
|
+
.map(subCommand => genSubCommand(subCommand))
|
|
48
|
+
.filter(Boolean)
|
|
49
|
+
.join("\n ")}
|
|
47
50
|
*)
|
|
48
51
|
_arguments \\
|
|
49
52
|
'*: :_files' \\
|