zod-args-parser 2.0.0-beta.0 → 2.0.0-beta.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/LICENSE +1 -0
- package/README.md +230 -289
- package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js +74 -2
- package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js.map +7 -1
- package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js +90 -2
- package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js.map +7 -1
- package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js +39 -13
- package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js.map +7 -1
- package/lib/esm/cli-error/cli-error.js +38 -0
- package/lib/esm/cli-error/cli-error.js.map +7 -0
- package/lib/esm/cli-error/error-cause.js +12 -0
- package/lib/esm/cli-error/error-cause.js.map +7 -0
- package/lib/esm/cli-error/error-code/definition-error-code.js +23 -0
- package/lib/esm/cli-error/error-code/definition-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-code/internal-error-code.js +10 -0
- package/lib/esm/cli-error/error-code/internal-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-code/parse-error-code.js +18 -0
- package/lib/esm/cli-error/error-code/parse-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-code/validation-error-code.js +17 -0
- package/lib/esm/cli-error/error-code/validation-error-code.js.map +7 -0
- package/lib/esm/cli-error/error-message/definition-error-message.js +70 -0
- package/lib/esm/cli-error/error-message/definition-error-message.js.map +7 -0
- package/lib/esm/cli-error/error-message/internal-error-message.js +16 -0
- package/lib/esm/cli-error/error-message/internal-error-message.js.map +7 -0
- package/lib/esm/cli-error/error-message/parse-error-message.js +40 -0
- package/lib/esm/cli-error/error-message/parse-error-message.js.map +7 -0
- package/lib/esm/cli-error/error-message/validation-error-message.js +60 -0
- package/lib/esm/cli-error/error-message/validation-error-message.js.map +7 -0
- package/lib/esm/coerce/coerce-methods.js +197 -2
- package/lib/esm/coerce/coerce-methods.js.map +7 -1
- package/lib/esm/coerce/string-to-array.js +17 -2
- package/lib/esm/coerce/string-to-array.js.map +7 -1
- package/lib/esm/coerce/string-to-primitive.js +73 -2
- package/lib/esm/coerce/string-to-primitive.js.map +7 -1
- package/lib/esm/coerce/string-to-set.js +17 -2
- package/lib/esm/coerce/string-to-set.js.map +7 -1
- package/lib/esm/definitions/define-arguments.js +10 -2
- package/lib/esm/definitions/define-arguments.js.map +7 -1
- package/lib/esm/definitions/define-cli.js +89 -2
- package/lib/esm/definitions/define-cli.js.map +7 -1
- package/lib/esm/definitions/define-options.js +10 -2
- package/lib/esm/definitions/define-options.js.map +7 -1
- package/lib/esm/definitions/define-subcommand.js +56 -2
- package/lib/esm/definitions/define-subcommand.js.map +7 -1
- package/lib/esm/definitions/validate-cli-definition.js +360 -2
- package/lib/esm/definitions/validate-cli-definition.js.map +7 -1
- package/lib/esm/help-message/format-arguments.js +48 -2
- package/lib/esm/help-message/format-arguments.js.map +7 -1
- package/lib/esm/help-message/format-options.js +50 -2
- package/lib/esm/help-message/format-options.js.map +7 -1
- package/lib/esm/help-message/format-subcommands.js +37 -2
- package/lib/esm/help-message/format-subcommands.js.map +7 -1
- package/lib/esm/help-message/generate-for-cli.js +71 -2
- package/lib/esm/help-message/generate-for-cli.js.map +7 -1
- package/lib/esm/help-message/generate-for-subcommand.js +23 -2
- package/lib/esm/help-message/generate-for-subcommand.js.map +7 -1
- package/lib/esm/help-message/print-help.js +14 -2
- package/lib/esm/help-message/print-help.js.map +7 -1
- package/lib/esm/help-message/set-defaults.js +29 -2
- package/lib/esm/help-message/set-defaults.js.map +7 -1
- package/lib/esm/help-message/styles.js +154 -2
- package/lib/esm/help-message/styles.js.map +7 -1
- package/lib/esm/help-message/terminal-markdown.js +121 -2
- package/lib/esm/help-message/terminal-markdown.js.map +7 -1
- package/lib/esm/index.js +52 -2
- package/lib/esm/index.js.map +7 -1
- package/lib/esm/markdown/generate-markdown.js +153 -2
- package/lib/esm/markdown/generate-markdown.js.map +7 -1
- package/lib/esm/metadata/arguments-metadata.js +26 -2
- package/lib/esm/metadata/arguments-metadata.js.map +7 -1
- package/lib/esm/metadata/cli-metadata.js +24 -2
- package/lib/esm/metadata/cli-metadata.js.map +7 -1
- package/lib/esm/metadata/options-metadata.js +35 -2
- package/lib/esm/metadata/options-metadata.js.map +7 -1
- package/lib/esm/metadata/subcommands-metadata.js +32 -2
- package/lib/esm/metadata/subcommands-metadata.js.map +7 -1
- package/lib/esm/parse/context/cli-context-builder.js +283 -2
- package/lib/esm/parse/context/cli-context-builder.js.map +7 -1
- package/lib/esm/parse/context/object-context-builder.js +62 -2
- package/lib/esm/parse/context/object-context-builder.js.map +7 -1
- package/lib/esm/parse/parser-utilities.js +108 -2
- package/lib/esm/parse/parser-utilities.js.map +7 -1
- package/lib/esm/parse/safe-parse.js +57 -2
- package/lib/esm/parse/safe-parse.js.map +7 -1
- package/lib/esm/parse/validation/validate-context.js +17 -2
- package/lib/esm/parse/validation/validate-context.js.map +7 -1
- package/lib/esm/parse/validation/validators/arguments.js +67 -2
- package/lib/esm/parse/validation/validators/arguments.js.map +7 -1
- package/lib/esm/parse/validation/validators/conflict.js +38 -2
- package/lib/esm/parse/validation/validators/conflict.js.map +7 -1
- package/lib/esm/parse/validation/validators/exclusive.js +39 -2
- package/lib/esm/parse/validation/validators/exclusive.js.map +7 -1
- package/lib/esm/parse/validation/validators/explicitly-passed.js +18 -2
- package/lib/esm/parse/validation/validators/explicitly-passed.js.map +7 -1
- package/lib/esm/parse/validation/validators/options.js +67 -2
- package/lib/esm/parse/validation/validators/options.js.map +7 -1
- package/lib/esm/parse/validation/validators/requires.js +43 -2
- package/lib/esm/parse/validation/validators/requires.js.map +7 -1
- package/lib/esm/utilities/parse-argv.js +61 -0
- package/lib/esm/utilities/parse-argv.js.map +7 -0
- package/lib/esm/utilities/schema-utilities.js +57 -0
- package/lib/esm/utilities/schema-utilities.js.map +7 -0
- package/lib/esm/utilities/utilities.js +122 -0
- package/lib/esm/utilities/utilities.js.map +7 -0
- package/lib/iife/index.js +1 -1
- package/lib/iife/index.js.map +1 -1
- package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs +74 -2
- package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs.map +7 -1
- package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs +90 -2
- package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs.map +7 -1
- package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs +39 -13
- package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs.map +7 -1
- package/lib/mjs/cli-error/cli-error.mjs +38 -0
- package/lib/mjs/cli-error/cli-error.mjs.map +7 -0
- package/lib/mjs/cli-error/error-cause.mjs +12 -0
- package/lib/mjs/cli-error/error-cause.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/definition-error-code.mjs +23 -0
- package/lib/mjs/cli-error/error-code/definition-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/internal-error-code.mjs +10 -0
- package/lib/mjs/cli-error/error-code/internal-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/parse-error-code.mjs +18 -0
- package/lib/mjs/cli-error/error-code/parse-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-code/validation-error-code.mjs +17 -0
- package/lib/mjs/cli-error/error-code/validation-error-code.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/definition-error-message.mjs +70 -0
- package/lib/mjs/cli-error/error-message/definition-error-message.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/internal-error-message.mjs +16 -0
- package/lib/mjs/cli-error/error-message/internal-error-message.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/parse-error-message.mjs +40 -0
- package/lib/mjs/cli-error/error-message/parse-error-message.mjs.map +7 -0
- package/lib/mjs/cli-error/error-message/validation-error-message.mjs +60 -0
- package/lib/mjs/cli-error/error-message/validation-error-message.mjs.map +7 -0
- package/lib/mjs/coerce/coerce-methods.mjs +197 -2
- package/lib/mjs/coerce/coerce-methods.mjs.map +7 -1
- package/lib/mjs/coerce/string-to-array.mjs +17 -2
- package/lib/mjs/coerce/string-to-array.mjs.map +7 -1
- package/lib/mjs/coerce/string-to-primitive.mjs +73 -2
- package/lib/mjs/coerce/string-to-primitive.mjs.map +7 -1
- package/lib/mjs/coerce/string-to-set.mjs +17 -2
- package/lib/mjs/coerce/string-to-set.mjs.map +7 -1
- package/lib/mjs/definitions/define-arguments.mjs +10 -2
- package/lib/mjs/definitions/define-arguments.mjs.map +7 -1
- package/lib/mjs/definitions/define-cli.mjs +89 -2
- package/lib/mjs/definitions/define-cli.mjs.map +7 -1
- package/lib/mjs/definitions/define-options.mjs +10 -2
- package/lib/mjs/definitions/define-options.mjs.map +7 -1
- package/lib/mjs/definitions/define-subcommand.mjs +56 -2
- package/lib/mjs/definitions/define-subcommand.mjs.map +7 -1
- package/lib/mjs/definitions/validate-cli-definition.mjs +360 -2
- package/lib/mjs/definitions/validate-cli-definition.mjs.map +7 -1
- package/lib/mjs/help-message/format-arguments.mjs +48 -2
- package/lib/mjs/help-message/format-arguments.mjs.map +7 -1
- package/lib/mjs/help-message/format-options.mjs +50 -2
- package/lib/mjs/help-message/format-options.mjs.map +7 -1
- package/lib/mjs/help-message/format-subcommands.mjs +37 -2
- package/lib/mjs/help-message/format-subcommands.mjs.map +7 -1
- package/lib/mjs/help-message/generate-for-cli.mjs +71 -2
- package/lib/mjs/help-message/generate-for-cli.mjs.map +7 -1
- package/lib/mjs/help-message/generate-for-subcommand.mjs +23 -2
- package/lib/mjs/help-message/generate-for-subcommand.mjs.map +7 -1
- package/lib/mjs/help-message/print-help.mjs +14 -2
- package/lib/mjs/help-message/print-help.mjs.map +7 -1
- package/lib/mjs/help-message/set-defaults.mjs +29 -2
- package/lib/mjs/help-message/set-defaults.mjs.map +7 -1
- package/lib/mjs/help-message/styles.mjs +154 -2
- package/lib/mjs/help-message/styles.mjs.map +7 -1
- package/lib/mjs/help-message/terminal-markdown.mjs +121 -2
- package/lib/mjs/help-message/terminal-markdown.mjs.map +7 -1
- package/lib/mjs/index.mjs +52 -2
- package/lib/mjs/index.mjs.map +7 -1
- package/lib/mjs/markdown/generate-markdown.mjs +153 -2
- package/lib/mjs/markdown/generate-markdown.mjs.map +7 -1
- package/lib/mjs/metadata/arguments-metadata.mjs +26 -2
- package/lib/mjs/metadata/arguments-metadata.mjs.map +7 -1
- package/lib/mjs/metadata/cli-metadata.mjs +24 -2
- package/lib/mjs/metadata/cli-metadata.mjs.map +7 -1
- package/lib/mjs/metadata/options-metadata.mjs +35 -2
- package/lib/mjs/metadata/options-metadata.mjs.map +7 -1
- package/lib/mjs/metadata/subcommands-metadata.mjs +32 -2
- package/lib/mjs/metadata/subcommands-metadata.mjs.map +7 -1
- package/lib/mjs/parse/context/cli-context-builder.mjs +283 -2
- package/lib/mjs/parse/context/cli-context-builder.mjs.map +7 -1
- package/lib/mjs/parse/context/object-context-builder.mjs +62 -2
- package/lib/mjs/parse/context/object-context-builder.mjs.map +7 -1
- package/lib/mjs/parse/parser-utilities.mjs +108 -2
- package/lib/mjs/parse/parser-utilities.mjs.map +7 -1
- package/lib/mjs/parse/safe-parse.mjs +57 -2
- package/lib/mjs/parse/safe-parse.mjs.map +7 -1
- package/lib/mjs/parse/validation/validate-context.mjs +17 -2
- package/lib/mjs/parse/validation/validate-context.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/arguments.mjs +67 -2
- package/lib/mjs/parse/validation/validators/arguments.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/conflict.mjs +38 -2
- package/lib/mjs/parse/validation/validators/conflict.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/exclusive.mjs +39 -2
- package/lib/mjs/parse/validation/validators/exclusive.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/explicitly-passed.mjs +18 -2
- package/lib/mjs/parse/validation/validators/explicitly-passed.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/options.mjs +67 -2
- package/lib/mjs/parse/validation/validators/options.mjs.map +7 -1
- package/lib/mjs/parse/validation/validators/requires.mjs +43 -2
- package/lib/mjs/parse/validation/validators/requires.mjs.map +7 -1
- package/lib/mjs/utilities/parse-argv.mjs +61 -0
- package/lib/mjs/utilities/parse-argv.mjs.map +7 -0
- package/lib/mjs/utilities/schema-utilities.mjs +57 -0
- package/lib/mjs/utilities/schema-utilities.mjs.map +7 -0
- package/lib/mjs/utilities/utilities.mjs +122 -0
- package/lib/mjs/utilities/utilities.mjs.map +7 -0
- package/lib/{typescript → types}/autocomplete-scripts/bash-autocomplete-script.d.ts.map +1 -1
- package/lib/types/autocomplete-scripts/powershell-autocomplete-script.d.ts +15 -0
- package/lib/{typescript → types}/autocomplete-scripts/powershell-autocomplete-script.d.ts.map +1 -1
- package/lib/types/autocomplete-scripts/zsh-autocomplete-script.d.ts +4 -0
- package/lib/{typescript → types}/autocomplete-scripts/zsh-autocomplete-script.d.ts.map +1 -1
- package/lib/types/cli-error/cli-error.d.ts +152 -0
- package/lib/types/cli-error/cli-error.d.ts.map +1 -0
- package/lib/types/cli-error/error-cause.d.ts +5 -0
- package/lib/types/cli-error/error-cause.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/definition-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/definition-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/internal-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/internal-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/parse-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/parse-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-code/validation-error-code.d.ts +5 -0
- package/lib/types/cli-error/error-code/validation-error-code.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/definition-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/definition-error-message.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/internal-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/internal-error-message.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/parse-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/parse-error-message.d.ts.map +1 -0
- package/lib/types/cli-error/error-message/validation-error-message.d.ts +3 -0
- package/lib/types/cli-error/error-message/validation-error-message.d.ts.map +1 -0
- package/lib/types/coerce/coerce-methods.d.ts +122 -0
- package/lib/types/coerce/coerce-methods.d.ts.map +1 -0
- package/lib/{typescript → types}/coerce/string-to-array.d.ts +2 -2
- package/lib/types/coerce/string-to-array.d.ts.map +1 -0
- package/lib/types/coerce/string-to-primitive.d.ts +21 -0
- package/lib/types/coerce/string-to-primitive.d.ts.map +1 -0
- package/lib/{typescript → types}/coerce/string-to-set.d.ts +2 -2
- package/lib/{typescript → types}/coerce/string-to-set.d.ts.map +1 -1
- package/lib/{typescript → types}/definitions/define-cli.d.ts +2 -6
- package/lib/types/definitions/define-cli.d.ts.map +1 -0
- package/lib/{typescript → types}/definitions/define-subcommand.d.ts +2 -4
- package/lib/types/definitions/define-subcommand.d.ts.map +1 -0
- package/lib/{typescript → types}/definitions/validate-cli-definition.d.ts +1 -1
- package/lib/types/definitions/validate-cli-definition.d.ts.map +1 -0
- package/lib/{typescript → types}/help-message/terminal-markdown.d.ts.map +1 -1
- package/lib/{typescript → types}/index.d.ts +7 -0
- package/lib/{typescript → types}/index.d.ts.map +1 -1
- package/lib/{typescript → types}/metadata/arguments-metadata.d.ts.map +1 -1
- package/lib/{typescript → types}/metadata/options-metadata.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/context/cli-context-builder.d.ts +1 -1
- package/lib/{typescript → types}/parse/context/cli-context-builder.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/context/object-context-builder.d.ts +1 -1
- package/lib/types/parse/context/object-context-builder.d.ts.map +1 -0
- package/lib/{typescript → types}/parse/parser-utilities.d.ts +9 -0
- package/lib/{typescript → types}/parse/parser-utilities.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/safe-parse.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validate-context.d.ts +1 -1
- package/lib/{typescript → types}/parse/validation/validate-context.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/arguments.d.ts +1 -1
- package/lib/{typescript → types}/parse/validation/validators/arguments.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/conflict.d.ts +3 -3
- package/lib/{typescript → types}/parse/validation/validators/conflict.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/exclusive.d.ts +3 -3
- package/lib/{typescript → types}/parse/validation/validators/exclusive.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/options.d.ts +1 -1
- package/lib/{typescript → types}/parse/validation/validators/options.d.ts.map +1 -1
- package/lib/{typescript → types}/parse/validation/validators/requires.d.ts +3 -3
- package/lib/{typescript → types}/parse/validation/validators/requires.d.ts.map +1 -1
- package/lib/{typescript → types}/types/definitions-types.d.ts +35 -4
- package/lib/types/types/definitions-types.d.ts.map +1 -0
- package/lib/types/types/error-types.d.ts +275 -0
- package/lib/types/types/error-types.d.ts.map +1 -0
- package/lib/{typescript → types}/types/io-types.d.ts +1 -1
- package/lib/types/types/types.d.ts +146 -0
- package/lib/types/types/types.d.ts.map +1 -0
- package/lib/{typescript → types}/types/utilities-types.d.ts +0 -2
- package/lib/{typescript → types}/types/utilities-types.d.ts.map +1 -1
- package/lib/types/utilities/parse-argv.d.ts +3 -0
- package/lib/types/utilities/parse-argv.d.ts.map +1 -0
- package/lib/types/utilities/schema-utilities.d.ts +15 -0
- package/lib/types/utilities/schema-utilities.d.ts.map +1 -0
- package/lib/{typescript → types/utilities}/utilities.d.ts +12 -15
- package/lib/types/utilities/utilities.d.ts.map +1 -0
- package/package.json +7 -7
- package/src/autocomplete-scripts/bash-autocomplete-script.ts +14 -12
- package/src/autocomplete-scripts/powershell-autocomplete-script.ts +67 -33
- package/src/autocomplete-scripts/zsh-autocomplete-script.ts +39 -31
- package/src/cli-error/cli-error.ts +44 -0
- package/src/cli-error/error-cause.ts +10 -0
- package/src/cli-error/error-code/definition-error-code.ts +21 -0
- package/src/cli-error/error-code/internal-error-code.ts +8 -0
- package/src/cli-error/error-code/parse-error-code.ts +16 -0
- package/src/cli-error/error-code/validation-error-code.ts +15 -0
- package/src/cli-error/error-message/definition-error-message.ts +144 -0
- package/src/cli-error/error-message/internal-error-message.ts +19 -0
- package/src/cli-error/error-message/parse-error-message.ts +76 -0
- package/src/cli-error/error-message/validation-error-message.ts +104 -0
- package/src/coerce/coerce-methods.ts +194 -39
- package/src/coerce/string-to-array.ts +2 -2
- package/src/coerce/string-to-primitive.ts +72 -13
- package/src/coerce/string-to-set.ts +2 -2
- package/src/definitions/define-arguments.ts +1 -1
- package/src/definitions/define-cli.ts +65 -30
- package/src/definitions/define-options.ts +1 -1
- package/src/definitions/define-subcommand.ts +47 -17
- package/src/definitions/validate-cli-definition.ts +287 -172
- package/src/help-message/format-arguments.ts +1 -1
- package/src/help-message/format-options.ts +1 -1
- package/src/help-message/format-subcommands.ts +1 -1
- package/src/help-message/generate-for-cli.ts +1 -1
- package/src/help-message/terminal-markdown.ts +3 -4
- package/src/index.ts +16 -0
- package/src/markdown/generate-markdown.ts +5 -4
- package/src/metadata/arguments-metadata.ts +2 -1
- package/src/metadata/options-metadata.ts +2 -1
- package/src/parse/context/cli-context-builder.ts +166 -39
- package/src/parse/context/object-context-builder.ts +37 -11
- package/src/parse/parser-utilities.ts +24 -10
- package/src/parse/safe-parse.ts +3 -6
- package/src/parse/validation/validate-context.ts +1 -1
- package/src/parse/validation/validators/arguments.ts +42 -14
- package/src/parse/validation/validators/conflict.ts +11 -20
- package/src/parse/validation/validators/exclusive.ts +16 -25
- package/src/parse/validation/validators/options.ts +40 -12
- package/src/parse/validation/validators/requires.ts +11 -20
- package/src/types/definitions-types.ts +36 -8
- package/src/types/error-types.ts +326 -0
- package/src/types/io-types.ts +1 -1
- package/src/types/types.ts +100 -7
- package/src/types/utilities-types.ts +0 -10
- package/src/utilities/parse-argv.ts +79 -0
- package/src/utilities/schema-utilities.ts +72 -0
- package/src/{utilities.ts → utilities/utilities.ts} +25 -138
- package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs +0 -2
- package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +0 -1
- package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs +0 -2
- package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +0 -1
- package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs +0 -42
- package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +0 -1
- package/lib/cjs/coerce/coerce-methods.cjs +0 -2
- package/lib/cjs/coerce/coerce-methods.cjs.map +0 -1
- package/lib/cjs/coerce/string-to-array.cjs +0 -2
- package/lib/cjs/coerce/string-to-array.cjs.map +0 -1
- package/lib/cjs/coerce/string-to-primitive.cjs +0 -2
- package/lib/cjs/coerce/string-to-primitive.cjs.map +0 -1
- package/lib/cjs/coerce/string-to-set.cjs +0 -2
- package/lib/cjs/coerce/string-to-set.cjs.map +0 -1
- package/lib/cjs/definitions/define-arguments.cjs +0 -2
- package/lib/cjs/definitions/define-arguments.cjs.map +0 -1
- package/lib/cjs/definitions/define-cli.cjs +0 -2
- package/lib/cjs/definitions/define-cli.cjs.map +0 -1
- package/lib/cjs/definitions/define-options.cjs +0 -2
- package/lib/cjs/definitions/define-options.cjs.map +0 -1
- package/lib/cjs/definitions/define-subcommand.cjs +0 -2
- package/lib/cjs/definitions/define-subcommand.cjs.map +0 -1
- package/lib/cjs/definitions/validate-cli-definition.cjs +0 -2
- package/lib/cjs/definitions/validate-cli-definition.cjs.map +0 -1
- package/lib/cjs/help-message/format-arguments.cjs +0 -2
- package/lib/cjs/help-message/format-arguments.cjs.map +0 -1
- package/lib/cjs/help-message/format-options.cjs +0 -2
- package/lib/cjs/help-message/format-options.cjs.map +0 -1
- package/lib/cjs/help-message/format-subcommands.cjs +0 -2
- package/lib/cjs/help-message/format-subcommands.cjs.map +0 -1
- package/lib/cjs/help-message/generate-for-cli.cjs +0 -2
- package/lib/cjs/help-message/generate-for-cli.cjs.map +0 -1
- package/lib/cjs/help-message/generate-for-subcommand.cjs +0 -2
- package/lib/cjs/help-message/generate-for-subcommand.cjs.map +0 -1
- package/lib/cjs/help-message/print-help.cjs +0 -2
- package/lib/cjs/help-message/print-help.cjs.map +0 -1
- package/lib/cjs/help-message/set-defaults.cjs +0 -2
- package/lib/cjs/help-message/set-defaults.cjs.map +0 -1
- package/lib/cjs/help-message/styles.cjs +0 -2
- package/lib/cjs/help-message/styles.cjs.map +0 -1
- package/lib/cjs/help-message/terminal-markdown.cjs +0 -2
- package/lib/cjs/help-message/terminal-markdown.cjs.map +0 -1
- package/lib/cjs/index.cjs +0 -2
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/markdown/generate-markdown.cjs +0 -2
- package/lib/cjs/markdown/generate-markdown.cjs.map +0 -1
- package/lib/cjs/metadata/arguments-metadata.cjs +0 -2
- package/lib/cjs/metadata/arguments-metadata.cjs.map +0 -1
- package/lib/cjs/metadata/cli-metadata.cjs +0 -2
- package/lib/cjs/metadata/cli-metadata.cjs.map +0 -1
- package/lib/cjs/metadata/options-metadata.cjs +0 -2
- package/lib/cjs/metadata/options-metadata.cjs.map +0 -1
- package/lib/cjs/metadata/subcommands-metadata.cjs +0 -2
- package/lib/cjs/metadata/subcommands-metadata.cjs.map +0 -1
- package/lib/cjs/parse/context/cli-context-builder.cjs +0 -2
- package/lib/cjs/parse/context/cli-context-builder.cjs.map +0 -1
- package/lib/cjs/parse/context/object-context-builder.cjs +0 -2
- package/lib/cjs/parse/context/object-context-builder.cjs.map +0 -1
- package/lib/cjs/parse/parser-utilities.cjs +0 -2
- package/lib/cjs/parse/parser-utilities.cjs.map +0 -1
- package/lib/cjs/parse/safe-parse.cjs +0 -2
- package/lib/cjs/parse/safe-parse.cjs.map +0 -1
- package/lib/cjs/parse/validation/validate-context.cjs +0 -2
- package/lib/cjs/parse/validation/validate-context.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/arguments.cjs +0 -2
- package/lib/cjs/parse/validation/validators/arguments.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/conflict.cjs +0 -2
- package/lib/cjs/parse/validation/validators/conflict.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/exclusive.cjs +0 -2
- package/lib/cjs/parse/validation/validators/exclusive.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/explicitly-passed.cjs +0 -2
- package/lib/cjs/parse/validation/validators/explicitly-passed.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/options.cjs +0 -2
- package/lib/cjs/parse/validation/validators/options.cjs.map +0 -1
- package/lib/cjs/parse/validation/validators/requires.cjs +0 -2
- package/lib/cjs/parse/validation/validators/requires.cjs.map +0 -1
- package/lib/cjs/utilities.cjs +0 -2
- package/lib/cjs/utilities.cjs.map +0 -1
- package/lib/esm/utilities.js +0 -2
- package/lib/esm/utilities.js.map +0 -1
- package/lib/mjs/utilities.mjs +0 -2
- package/lib/mjs/utilities.mjs.map +0 -1
- package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts +0 -14
- package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts +0 -11
- package/lib/typescript/coerce/coerce-methods.d.ts +0 -20
- package/lib/typescript/coerce/coerce-methods.d.ts.map +0 -1
- package/lib/typescript/coerce/string-to-array.d.ts.map +0 -1
- package/lib/typescript/coerce/string-to-primitive.d.ts +0 -5
- package/lib/typescript/coerce/string-to-primitive.d.ts.map +0 -1
- package/lib/typescript/definitions/define-cli.d.ts.map +0 -1
- package/lib/typescript/definitions/define-subcommand.d.ts.map +0 -1
- package/lib/typescript/definitions/validate-cli-definition.d.ts.map +0 -1
- package/lib/typescript/parse/context/object-context-builder.d.ts.map +0 -1
- package/lib/typescript/types/definitions-types.d.ts.map +0 -1
- package/lib/typescript/types/types.d.ts +0 -61
- package/lib/typescript/types/types.d.ts.map +0 -1
- package/lib/typescript/utilities.d.ts.map +0 -1
- /package/lib/{typescript → types}/autocomplete-scripts/bash-autocomplete-script.d.ts +0 -0
- /package/lib/{typescript → types}/definitions/define-arguments.d.ts +0 -0
- /package/lib/{typescript → types}/definitions/define-arguments.d.ts.map +0 -0
- /package/lib/{typescript → types}/definitions/define-options.d.ts +0 -0
- /package/lib/{typescript → types}/definitions/define-options.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/format-arguments.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/format-arguments.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/format-options.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/format-options.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/format-subcommands.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/format-subcommands.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-cli.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-cli.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-subcommand.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/generate-for-subcommand.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/print-help.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/print-help.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/set-defaults.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/set-defaults.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/styles.d.ts +0 -0
- /package/lib/{typescript → types}/help-message/styles.d.ts.map +0 -0
- /package/lib/{typescript → types}/help-message/terminal-markdown.d.ts +0 -0
- /package/lib/{typescript → types}/markdown/generate-markdown.d.ts +0 -0
- /package/lib/{typescript → types}/markdown/generate-markdown.d.ts.map +0 -0
- /package/lib/{typescript → types}/metadata/arguments-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/cli-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/cli-metadata.d.ts.map +0 -0
- /package/lib/{typescript → types}/metadata/options-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/subcommands-metadata.d.ts +0 -0
- /package/lib/{typescript → types}/metadata/subcommands-metadata.d.ts.map +0 -0
- /package/lib/{typescript → types}/parse/safe-parse.d.ts +0 -0
- /package/lib/{typescript → types}/parse/validation/validators/explicitly-passed.d.ts +0 -0
- /package/lib/{typescript → types}/parse/validation/validators/explicitly-passed.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/context-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/context-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/help-message-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/help-message-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/io-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/metadata-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/metadata-types.d.ts.map +0 -0
- /package/lib/{typescript → types}/types/schema-types.d.ts +0 -0
- /package/lib/{typescript → types}/types/schema-types.d.ts.map +0 -0
|
@@ -1,2 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/autocomplete-scripts/bash-autocomplete-script.ts
|
|
2
|
+
import { transformOptionToArgument } from "../parse/parser-utilities.js";
|
|
3
|
+
function generateBashAutocompleteScript(cliDefinition) {
|
|
4
|
+
const subcommands = cliDefinition.subcommands ?? [];
|
|
5
|
+
const mappedCommands = {};
|
|
6
|
+
for (const subcommand of subcommands) {
|
|
7
|
+
mappedCommands[subcommand.name] = {
|
|
8
|
+
options: subcommand.options ? Object.keys(subcommand.options).map((key) => transformOptionToArgument(key)) : [],
|
|
9
|
+
aliases: subcommand.aliases ?? []
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
let switchCase = "";
|
|
13
|
+
for (const [name, { options, aliases }] of Object.entries(mappedCommands)) {
|
|
14
|
+
const caseNames = [name, ...aliases];
|
|
15
|
+
switchCase += ` ${caseNames.join("|")})
|
|
16
|
+
`;
|
|
17
|
+
switchCase += ` opts="${options.join(" ")}"
|
|
18
|
+
`;
|
|
19
|
+
switchCase += " ;;\n";
|
|
20
|
+
}
|
|
21
|
+
const globalOptions = cliDefinition.options ? Object.keys(cliDefinition.options).map((key) => transformOptionToArgument(key)) : [];
|
|
22
|
+
if (globalOptions.length > 0) {
|
|
23
|
+
switchCase += ` *)
|
|
24
|
+
`;
|
|
25
|
+
switchCase += ` opts="${globalOptions.join(" ")}"
|
|
26
|
+
`;
|
|
27
|
+
switchCase += " ;;\n";
|
|
28
|
+
}
|
|
29
|
+
return `# Auto-generated by zod-args-parser
|
|
30
|
+
|
|
31
|
+
_${cliDefinition.cliName}_autocomplete() {
|
|
32
|
+
local cur prev commands opts subcommand used_opts filtered_opts
|
|
33
|
+
|
|
34
|
+
cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
35
|
+
prev="\${COMP_WORDS[COMP_CWORD-1]}"
|
|
36
|
+
subcommand="\${COMP_WORDS[1]}"
|
|
37
|
+
|
|
38
|
+
commands="${Object.keys(mappedCommands).join(" ")}"
|
|
39
|
+
|
|
40
|
+
case "$subcommand" in
|
|
41
|
+
${switchCase} esac
|
|
42
|
+
|
|
43
|
+
used_opts=""
|
|
44
|
+
if [[ " \${commands[@]} " =~ " $subcommand " ]]; then
|
|
45
|
+
for word in "\${COMP_WORDS[@]:2}"; do
|
|
46
|
+
if [[ "$word" =~ ^- ]]; then
|
|
47
|
+
used_opts+=" $word"
|
|
48
|
+
fi
|
|
49
|
+
done
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
if [[ -n "$opts" ]]; then
|
|
53
|
+
filtered_opts=""
|
|
54
|
+
for opt in $opts; do
|
|
55
|
+
if [[ ! " $used_opts " =~ " $opt " ]]; then
|
|
56
|
+
filtered_opts+="$opt "
|
|
57
|
+
fi
|
|
58
|
+
done
|
|
59
|
+
COMPREPLY=( $(compgen -W "$filtered_opts" -- "$cur") )
|
|
60
|
+
return
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
if [[ "\${COMP_CWORD}" -eq 1 ]]; then
|
|
64
|
+
COMPREPLY=( $(compgen -W "$commands" -- "$cur") )
|
|
65
|
+
fi
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
complete -F _${cliDefinition.cliName}_autocomplete ${cliDefinition.cliName}
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
generateBashAutocompleteScript
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=bash-autocomplete-script.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/autocomplete-scripts/bash-autocomplete-script.ts"],
|
|
4
|
+
"sourcesContent": ["import { transformOptionToArgument } from \"../parse/parser-utilities.ts\";\n\nimport type { Cli } from \"../types/definitions-types.ts\";\n\n/**\n * - Generate bash autocomplete script for your CLI\n * - The generated script should be added to your `.bash_profile` or `.bashrc` file:\n *\n * - Run: `nano $HOME/.bash_profile` or `nano $HOME/.bashrc`\n * - Add the following line: `source <generated script path>`\n * - Save and reopen bash to take effect\n */\nexport function generateBashAutocompleteScript(cliDefinition: Cli): string {\n const subcommands = cliDefinition.subcommands ?? [];\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n // Map subcommands to options + aliases\n const mappedCommands: MappedCommands = {};\n for (const subcommand of subcommands) {\n mappedCommands[subcommand.name] = {\n options: subcommand.options ? Object.keys(subcommand.options).map(key => transformOptionToArgument(key)) : [],\n aliases: subcommand.aliases ?? [],\n };\n }\n\n // Generate switch-case block for subcommands + aliases\n let switchCase = \"\";\n for (const [name, { options, aliases }] of Object.entries(mappedCommands)) {\n const caseNames = [name, ...aliases];\n switchCase += ` ${caseNames.join(\"|\")})\\n`;\n switchCase += ` opts=\"${options.join(\" \")}\"\\n`;\n switchCase += \" ;;\\n\";\n }\n\n // Include global CLI options in a default case\n const globalOptions = cliDefinition.options\n ? Object.keys(cliDefinition.options).map(key => transformOptionToArgument(key))\n : [];\n\n if (globalOptions.length > 0) {\n switchCase += ` *)\\n`;\n switchCase += ` opts=\"${globalOptions.join(\" \")}\"\\n`;\n switchCase += \" ;;\\n\";\n }\n\n return `# Auto-generated by zod-args-parser\n\n_${cliDefinition.cliName}_autocomplete() {\n local cur prev commands opts subcommand used_opts filtered_opts\n\n cur=\"\\${COMP_WORDS[COMP_CWORD]}\"\n prev=\"\\${COMP_WORDS[COMP_CWORD-1]}\"\n subcommand=\"\\${COMP_WORDS[1]}\"\n\n commands=\"${Object.keys(mappedCommands).join(\" \")}\"\n\n case \"$subcommand\" in\n${switchCase} esac\n\n used_opts=\"\"\n if [[ \" \\${commands[@]} \" =~ \" $subcommand \" ]]; then\n for word in \"\\${COMP_WORDS[@]:2}\"; do\n if [[ \"$word\" =~ ^- ]]; then\n used_opts+=\" $word\"\n fi\n done\n fi\n\n if [[ -n \"$opts\" ]]; then\n filtered_opts=\"\"\n for opt in $opts; do\n if [[ ! \" $used_opts \" =~ \" $opt \" ]]; then\n filtered_opts+=\"$opt \"\n fi\n done\n COMPREPLY=( $(compgen -W \"$filtered_opts\" -- \"$cur\") )\n return\n fi\n\n if [[ \"\\${COMP_CWORD}\" -eq 1 ]]; then\n COMPREPLY=( $(compgen -W \"$commands\" -- \"$cur\") )\n fi\n}\n\ncomplete -F _${cliDefinition.cliName}_autocomplete ${cliDefinition.cliName}\n`;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iCAAiC;AAYnC,SAAS,+BAA+B,eAA4B;AACzE,QAAM,cAAc,cAAc,eAAe,CAAC;AAIlD,QAAM,iBAAiC,CAAC;AACxC,aAAW,cAAc,aAAa;AACpC,mBAAe,WAAW,IAAI,IAAI;AAAA,MAChC,SAAS,WAAW,UAAU,OAAO,KAAK,WAAW,OAAO,EAAE,IAAI,SAAO,0BAA0B,GAAG,CAAC,IAAI,CAAC;AAAA,MAC5G,SAAS,WAAW,WAAW,CAAC;AAAA,IAClC;AAAA,EACF;AAGA,MAAI,aAAa;AACjB,aAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,CAAC,KAAK,OAAO,QAAQ,cAAc,GAAG;AACzE,UAAM,YAAY,CAAC,MAAM,GAAG,OAAO;AACnC,kBAAc,OAAO,UAAU,KAAK,GAAG,CAAC;AAAA;AACxC,kBAAc,eAAe,QAAQ,KAAK,GAAG,CAAC;AAAA;AAC9C,kBAAc;AAAA,EAChB;AAGA,QAAM,gBAAgB,cAAc,UAChC,OAAO,KAAK,cAAc,OAAO,EAAE,IAAI,SAAO,0BAA0B,GAAG,CAAC,IAC5E,CAAC;AAEL,MAAI,cAAc,SAAS,GAAG;AAC5B,kBAAc;AAAA;AACd,kBAAc,eAAe,cAAc,KAAK,GAAG,CAAC;AAAA;AACpD,kBAAc;AAAA,EAChB;AAEA,SAAO;AAAA;AAAA,GAEN,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOV,OAAO,KAAK,cAAc,EAAE,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,EAGjD,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eA2BG,cAAc,OAAO,iBAAiB,cAAc,OAAO;AAAA;AAE1E;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,2 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// src/autocomplete-scripts/powershell-autocomplete-script.ts
|
|
2
|
+
import { transformOptionToArgument } from "../parse/parser-utilities.js";
|
|
3
|
+
function generatePowerShellAutocompleteScript(cliDefinition) {
|
|
4
|
+
const subcommands = cliDefinition.subcommands ?? [];
|
|
5
|
+
const meta = cliDefinition.meta ?? {};
|
|
6
|
+
const mappedCommands = {};
|
|
7
|
+
for (const subcommand of subcommands) {
|
|
8
|
+
const options = [];
|
|
9
|
+
if (subcommand.options) {
|
|
10
|
+
for (const key of Object.keys(subcommand.options)) {
|
|
11
|
+
options.push(transformOptionToArgument(key));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const aliases = subcommand.aliases ?? [];
|
|
15
|
+
mappedCommands[subcommand.name] = { options, aliases };
|
|
16
|
+
}
|
|
17
|
+
const subcommandsString = Object.keys(mappedCommands).map((key) => `'${key}'`).join(", ");
|
|
18
|
+
const cliOptions = [];
|
|
19
|
+
if (cliDefinition.options) {
|
|
20
|
+
for (const key of Object.keys(cliDefinition.options)) {
|
|
21
|
+
cliOptions.push(transformOptionToArgument(key));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const cliOptionsString = cliOptions.map((opt) => `'${opt}'`).join(", ");
|
|
25
|
+
let switchCase = "switch ($subcommand) {\n";
|
|
26
|
+
for (const commandName in mappedCommands) {
|
|
27
|
+
const data = mappedCommands[commandName];
|
|
28
|
+
const optionsString = data.options.map((opt) => `'${opt}'`).join(", ");
|
|
29
|
+
switchCase += ` '${commandName}' { @(${optionsString}) }
|
|
30
|
+
`;
|
|
31
|
+
for (const alias of data.aliases) {
|
|
32
|
+
switchCase += ` '${alias}' { @(${optionsString}) }
|
|
33
|
+
`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
switchCase += ` default { @(${cliOptionsString}) }
|
|
37
|
+
}`;
|
|
38
|
+
let commentBlock = "";
|
|
39
|
+
if (meta.description || meta.example) {
|
|
40
|
+
commentBlock = "<#\n";
|
|
41
|
+
if (meta.description || meta.descriptionMarkdown) {
|
|
42
|
+
commentBlock += `.DESCRIPTION
|
|
43
|
+
${meta.description ?? meta.descriptionMarkdown}
|
|
44
|
+
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
47
|
+
if (meta.example) {
|
|
48
|
+
commentBlock += `.EXAMPLE
|
|
49
|
+
${meta.example}
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
commentBlock += "#>";
|
|
53
|
+
}
|
|
54
|
+
const cliName = cliDefinition.cliName;
|
|
55
|
+
return `# Auto-generated by zod-args-parser
|
|
56
|
+
|
|
57
|
+
${commentBlock}
|
|
58
|
+
function ${cliName} {
|
|
59
|
+
param(
|
|
60
|
+
[Parameter(Position = 0, Mandatory = $false)]
|
|
61
|
+
[string]$subcommand,
|
|
62
|
+
[Parameter(Position = 1, ValueFromRemainingArguments = $true)]
|
|
63
|
+
[string[]]$arguments
|
|
64
|
+
)
|
|
65
|
+
$scriptPath = (Get-Command '${cliName}.ps1').Source
|
|
66
|
+
if ($scriptPath) {
|
|
67
|
+
$argumentList = @($subcommand) + ($arguments | Where-Object { $_ -notin '--', '--%' }) | Where-Object { $_ -ne '' }
|
|
68
|
+
& $scriptPath @argumentList
|
|
69
|
+
return
|
|
70
|
+
}
|
|
71
|
+
Write-Error "Could not find '${cliName}.ps1' script"
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
Register-ArgumentCompleter -CommandName '${cliName}' -ParameterName 'subcommand' -ScriptBlock {
|
|
75
|
+
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
|
|
76
|
+
$subcommands = @(${subcommandsString}${subcommandsString && cliOptionsString ? ", " : ""}${cliOptionsString})
|
|
77
|
+
$subcommands | Where-Object { $_ -like "$wordToComplete*" }
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
Register-ArgumentCompleter -CommandName '${cliName}' -ParameterName 'arguments' -ScriptBlock {
|
|
81
|
+
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
|
|
82
|
+
$subcommand = $commandAst.CommandElements[1].Value
|
|
83
|
+
$arguments = ${switchCase}
|
|
84
|
+
$arguments | Where-Object { $_ -like "$wordToComplete*" }
|
|
85
|
+
}`;
|
|
86
|
+
}
|
|
87
|
+
export {
|
|
88
|
+
generatePowerShellAutocompleteScript
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=powershell-autocomplete-script.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/autocomplete-scripts/powershell-autocomplete-script.ts"],
|
|
4
|
+
"sourcesContent": ["import { transformOptionToArgument } from \"../parse/parser-utilities.ts\";\n\nimport type { Cli } from \"../types/definitions-types.ts\";\n\n/**\n * Generates a PowerShell autocomplete script for a CLI.\n *\n * Instructions:\n *\n * - Ensure your CLI is available as a `.ps1` file in your environment. e.g., `cliName.ps1`.\n * - Add the generated script to your `profile.ps1` file:\n *\n * 1. Run: `notepad $profile`\n * 2. Add: `. \"<generated script path>\"`\n * 3. Save and reopen PowerShell\n */\nexport function generatePowerShellAutocompleteScript(cliDefinition: Cli): string {\n const subcommands = cliDefinition.subcommands ?? [];\n const meta = cliDefinition.meta ?? {};\n\n interface CommandData {\n options: string[];\n aliases: string[];\n }\n\n const mappedCommands: Record<string, CommandData> = {};\n\n // Map subcommands to their options and aliases\n for (const subcommand of subcommands) {\n const options: string[] = [];\n if (subcommand.options) {\n for (const key of Object.keys(subcommand.options)) {\n options.push(transformOptionToArgument(key));\n }\n }\n\n const aliases: string[] = subcommand.aliases ?? [];\n mappedCommands[subcommand.name] = { options, aliases };\n }\n\n // Prepare string representations for subcommands and CLI global options\n const subcommandsString = Object.keys(mappedCommands)\n .map(key => `'${key}'`)\n .join(\", \");\n\n const cliOptions: string[] = [];\n if (cliDefinition.options) {\n for (const key of Object.keys(cliDefinition.options)) {\n cliOptions.push(transformOptionToArgument(key));\n }\n }\n\n const cliOptionsString = cliOptions.map(opt => `'${opt}'`).join(\", \");\n\n // Build the switch-case mapping subcommands/aliases to their options\n let switchCase = \"switch ($subcommand) {\\n\";\n for (const commandName in mappedCommands) {\n const data = mappedCommands[commandName];\n const optionsString = data.options.map(opt => `'${opt}'`).join(\", \");\n\n // Primary subcommand\n switchCase += ` '${commandName}' { @(${optionsString}) }\\n`;\n\n // Aliases\n for (const alias of data.aliases) {\n switchCase += ` '${alias}' { @(${optionsString}) }\\n`;\n }\n }\n\n // Default case returns global CLI options\n switchCase += ` default { @(${cliOptionsString}) }\\n }`;\n\n // Optional comment block with description/example\n let commentBlock = \"\";\n if (meta.description || meta.example) {\n commentBlock = \"<#\\n\";\n\n if (meta.description || meta.descriptionMarkdown) {\n commentBlock += `.DESCRIPTION\\n${meta.description ?? meta.descriptionMarkdown}\\n\\n`;\n }\n\n if (meta.example) {\n commentBlock += `.EXAMPLE\\n${meta.example}\\n`;\n }\n\n commentBlock += \"#>\";\n }\n\n const cliName = cliDefinition.cliName;\n\n return `# Auto-generated by zod-args-parser\n\n${commentBlock}\nfunction ${cliName} {\n param(\n [Parameter(Position = 0, Mandatory = $false)]\n [string]$subcommand,\n [Parameter(Position = 1, ValueFromRemainingArguments = $true)]\n [string[]]$arguments\n )\n $scriptPath = (Get-Command '${cliName}.ps1').Source\n if ($scriptPath) {\n $argumentList = @($subcommand) + ($arguments | Where-Object { $_ -notin '--', '--%' }) | Where-Object { $_ -ne '' }\n & $scriptPath @argumentList\n return\n }\n Write-Error \"Could not find '${cliName}.ps1' script\"\n}\n\nRegister-ArgumentCompleter -CommandName '${cliName}' -ParameterName 'subcommand' -ScriptBlock {\n param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)\n $subcommands = @(${subcommandsString}${subcommandsString && cliOptionsString ? \", \" : \"\"}${cliOptionsString})\n $subcommands | Where-Object { $_ -like \"$wordToComplete*\" }\n}\n\nRegister-ArgumentCompleter -CommandName '${cliName}' -ParameterName 'arguments' -ScriptBlock {\n param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)\n $subcommand = $commandAst.CommandElements[1].Value\n $arguments = ${switchCase}\n $arguments | Where-Object { $_ -like \"$wordToComplete*\" }\n}`;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iCAAiC;AAgBnC,SAAS,qCAAqC,eAA4B;AAC/E,QAAM,cAAc,cAAc,eAAe,CAAC;AAClD,QAAM,OAAO,cAAc,QAAQ,CAAC;AAOpC,QAAM,iBAA8C,CAAC;AAGrD,aAAW,cAAc,aAAa;AACpC,UAAM,UAAoB,CAAC;AAC3B,QAAI,WAAW,SAAS;AACtB,iBAAW,OAAO,OAAO,KAAK,WAAW,OAAO,GAAG;AACjD,gBAAQ,KAAK,0BAA0B,GAAG,CAAC;AAAA,MAC7C;AAAA,IACF;AAEA,UAAM,UAAoB,WAAW,WAAW,CAAC;AACjD,mBAAe,WAAW,IAAI,IAAI,EAAE,SAAS,QAAQ;AAAA,EACvD;AAGA,QAAM,oBAAoB,OAAO,KAAK,cAAc,EACjD,IAAI,SAAO,IAAI,GAAG,GAAG,EACrB,KAAK,IAAI;AAEZ,QAAM,aAAuB,CAAC;AAC9B,MAAI,cAAc,SAAS;AACzB,eAAW,OAAO,OAAO,KAAK,cAAc,OAAO,GAAG;AACpD,iBAAW,KAAK,0BAA0B,GAAG,CAAC;AAAA,IAChD;AAAA,EACF;AAEA,QAAM,mBAAmB,WAAW,IAAI,SAAO,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI;AAGpE,MAAI,aAAa;AACjB,aAAW,eAAe,gBAAgB;AACxC,UAAM,OAAO,eAAe,WAAW;AACvC,UAAM,gBAAgB,KAAK,QAAQ,IAAI,SAAO,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI;AAGnE,kBAAc,YAAY,WAAW,SAAS,aAAa;AAAA;AAG3D,eAAW,SAAS,KAAK,SAAS;AAChC,oBAAc,YAAY,KAAK,SAAS,aAAa;AAAA;AAAA,IACvD;AAAA,EACF;AAGA,gBAAc,uBAAuB,gBAAgB;AAAA;AAGrD,MAAI,eAAe;AACnB,MAAI,KAAK,eAAe,KAAK,SAAS;AACpC,mBAAe;AAEf,QAAI,KAAK,eAAe,KAAK,qBAAqB;AAChD,sBAAgB;AAAA,EAAiB,KAAK,eAAe,KAAK,mBAAmB;AAAA;AAAA;AAAA,IAC/E;AAEA,QAAI,KAAK,SAAS;AAChB,sBAAgB;AAAA,EAAa,KAAK,OAAO;AAAA;AAAA,IAC3C;AAEA,oBAAgB;AAAA,EAClB;AAEA,QAAM,UAAU,cAAc;AAE9B,SAAO;AAAA;AAAA,EAEP,YAAY;AAAA,WACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAOgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAMN,OAAO;AAAA;AAAA;AAAA,2CAGC,OAAO;AAAA;AAAA,uBAE3B,iBAAiB,GAAG,qBAAqB,mBAAmB,OAAO,EAAE,GAAG,gBAAgB;AAAA;AAAA;AAAA;AAAA,2CAIpE,OAAO;AAAA;AAAA;AAAA,mBAG/B,UAAU;AAAA;AAAA;AAG7B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,25 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
// src/autocomplete-scripts/zsh-autocomplete-script.ts
|
|
2
|
+
import { transformOptionToArgument } from "../parse/parser-utilities.js";
|
|
3
|
+
function generateZshAutocompleteScript(cliDefinition) {
|
|
4
|
+
const subcommands = cliDefinition.subcommands ?? [];
|
|
5
|
+
const generateArguments = (command) => {
|
|
6
|
+
if (!command.options) return "";
|
|
7
|
+
const arguments_ = Object.entries(command.options).map(([name, option]) => {
|
|
8
|
+
const description = option.meta?.description ?? "";
|
|
9
|
+
return `'${transformOptionToArgument(name)}[${description}]'`;
|
|
10
|
+
});
|
|
11
|
+
return arguments_.join(" \\\n ");
|
|
12
|
+
};
|
|
13
|
+
const generateSubcommandCase = (subcommand) => {
|
|
14
|
+
return String.raw`${subcommand.name})
|
|
2
15
|
_arguments \
|
|
3
|
-
${
|
|
16
|
+
${generateArguments(subcommand)} \
|
|
4
17
|
'*: :_files' \
|
|
5
18
|
&& ret=0
|
|
6
|
-
|
|
19
|
+
;;`;
|
|
20
|
+
};
|
|
21
|
+
const subcommandCases = subcommands.map((cmd) => generateSubcommandCase(cmd)).filter(Boolean).join("\n ");
|
|
22
|
+
const commandDescriptions = subcommands.map((sub) => `"${sub.name}:${sub.meta?.description ?? ""}"`).join("\n ");
|
|
23
|
+
const globalOptions = cliDefinition.options ? Object.entries(cliDefinition.options).map(([name, option]) => {
|
|
24
|
+
const description = option.meta?.description ?? "";
|
|
25
|
+
return `'${transformOptionToArgument(name)}[${description}]'`;
|
|
26
|
+
}).join(" \\\n ") : "";
|
|
27
|
+
const cliName = cliDefinition.cliName;
|
|
28
|
+
return String.raw`# Auto-generated by zod-args-parser
|
|
7
29
|
|
|
8
|
-
_${
|
|
30
|
+
_${cliName}_autocomplete() {
|
|
9
31
|
local ret=1
|
|
10
32
|
|
|
11
33
|
_arguments -C \
|
|
12
|
-
'1: :_${
|
|
34
|
+
'1: :_${cliName}_commands' \
|
|
13
35
|
'*:: :->subcmds' \
|
|
14
36
|
&& ret=0
|
|
15
37
|
|
|
16
38
|
case $state in
|
|
17
39
|
subcmds)
|
|
18
40
|
case "$words[1]" in
|
|
19
|
-
${
|
|
41
|
+
${subcommandCases}
|
|
20
42
|
*)
|
|
21
43
|
_arguments \
|
|
22
|
-
'*: :_files' \
|
|
44
|
+
${globalOptions ? globalOptions + " \\\n " : ""}'*: :_files' \
|
|
23
45
|
&& ret=0
|
|
24
46
|
;;
|
|
25
47
|
esac
|
|
@@ -28,15 +50,19 @@ _${e.cliName}_autocomplete() {
|
|
|
28
50
|
|
|
29
51
|
return $ret
|
|
30
52
|
}
|
|
31
|
-
|
|
32
|
-
_${
|
|
53
|
+
|
|
54
|
+
_${cliName}_commands() {
|
|
33
55
|
local -a commands=(
|
|
34
|
-
${
|
|
56
|
+
${commandDescriptions}
|
|
35
57
|
)
|
|
36
58
|
|
|
37
59
|
_describe -t subcommands 'subcommand' commands
|
|
38
60
|
}
|
|
39
61
|
|
|
40
|
-
compdef _${
|
|
41
|
-
|
|
42
|
-
|
|
62
|
+
compdef _${cliName}_autocomplete ${cliName}
|
|
63
|
+
`;
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
generateZshAutocompleteScript
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=zsh-autocomplete-script.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/autocomplete-scripts/zsh-autocomplete-script.ts"],
|
|
4
|
+
"sourcesContent": ["import { transformOptionToArgument } from \"../parse/parser-utilities.ts\";\n\nimport type { Cli, Subcommand } from \"../types/definitions-types.ts\";\n\n/** Generates a Zsh autocomplete script for a CLI, including global options when no subcommand is provided. */\nexport function generateZshAutocompleteScript(cliDefinition: Cli): string {\n const subcommands = cliDefinition.subcommands ?? [];\n\n /** Generate the argument strings for a subcommand Format: 'option[description]' */\n const generateArguments = (command: Subcommand) => {\n if (!command.options) return \"\";\n const arguments_ = Object.entries(command.options).map(([name, option]) => {\n const description = option.meta?.description ?? \"\";\n return `'${transformOptionToArgument(name)}[${description}]'`;\n });\n return arguments_.join(\" \\\\\\n \");\n };\n\n /** Generate a case block for a subcommand */\n const generateSubcommandCase = (subcommand: Subcommand) => {\n return String.raw`${subcommand.name})\n _arguments \\\n ${generateArguments(subcommand)} \\\n '*: :_files' \\\n && ret=0\n ;;`;\n };\n\n const subcommandCases = subcommands\n .map(cmd => generateSubcommandCase(cmd))\n .filter(Boolean)\n .join(\"\\n \");\n\n const commandDescriptions = subcommands.map(sub => `\"${sub.name}:${sub.meta?.description ?? \"\"}\"`).join(\"\\n \");\n\n // Global CLI options (only used when no subcommand is provided)\n const globalOptions = cliDefinition.options\n ? Object.entries(cliDefinition.options)\n .map(([name, option]) => {\n const description = option.meta?.description ?? \"\";\n return `'${transformOptionToArgument(name)}[${description}]'`;\n })\n .join(\" \\\\\\n \")\n : \"\";\n\n const cliName = cliDefinition.cliName;\n\n return String.raw`# Auto-generated by zod-args-parser\n\n_${cliName}_autocomplete() {\n local ret=1\n\n _arguments -C \\\n '1: :_${cliName}_commands' \\\n '*:: :->subcmds' \\\n && ret=0\n\n case $state in\n subcmds)\n case \"$words[1]\" in\n ${subcommandCases}\n *)\n _arguments \\\n ${globalOptions ? globalOptions + \" \\\\\\n \" : \"\"}'*: :_files' \\\n && ret=0\n ;;\n esac\n ;;\n esac\n\n return $ret\n}\n\n_${cliName}_commands() {\n local -a commands=(\n ${commandDescriptions}\n )\n\n _describe -t subcommands 'subcommand' commands\n}\n\ncompdef _${cliName}_autocomplete ${cliName}\n`;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iCAAiC;AAKnC,SAAS,8BAA8B,eAA4B;AACxE,QAAM,cAAc,cAAc,eAAe,CAAC;AAGlD,QAAM,oBAAoB,CAAC,YAAwB;AACjD,QAAI,CAAC,QAAQ,QAAS,QAAO;AAC7B,UAAM,aAAa,OAAO,QAAQ,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,MAAM,MAAM;AACzE,YAAM,cAAc,OAAO,MAAM,eAAe;AAChD,aAAO,IAAI,0BAA0B,IAAI,CAAC,IAAI,WAAW;AAAA,IAC3D,CAAC;AACD,WAAO,WAAW,KAAK,mBAAmB;AAAA,EAC5C;AAGA,QAAM,yBAAyB,CAAC,eAA2B;AACzD,WAAO,OAAO,MAAM,WAAW,IAAI;AAAA;AAAA,cAEzB,kBAAkB,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA,EAIzC;AAEA,QAAM,kBAAkB,YACrB,IAAI,SAAO,uBAAuB,GAAG,CAAC,EACtC,OAAO,OAAO,EACd,KAAK,YAAY;AAEpB,QAAM,sBAAsB,YAAY,IAAI,SAAO,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,eAAe,EAAE,GAAG,EAAE,KAAK,QAAQ;AAGhH,QAAM,gBAAgB,cAAc,UAChC,OAAO,QAAQ,cAAc,OAAO,EACjC,IAAI,CAAC,CAAC,MAAM,MAAM,MAAM;AACvB,UAAM,cAAc,OAAO,MAAM,eAAe;AAChD,WAAO,IAAI,0BAA0B,IAAI,CAAC,IAAI,WAAW;AAAA,EAC3D,CAAC,EACA,KAAK,mBAAmB,IAC3B;AAEJ,QAAM,UAAU,cAAc;AAE9B,SAAO,OAAO;AAAA;AAAA,GAEb,OAAO;AAAA;AAAA;AAAA;AAAA,YAIE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOT,eAAe;AAAA;AAAA;AAAA,cAGX,gBAAgB,gBAAgB,sBAAsB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUnE,OAAO;AAAA;AAAA,MAEJ,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAMd,OAAO,iBAAiB,OAAO;AAAA;AAE1C;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// src/cli-error/cli-error.ts
|
|
2
|
+
import { ErrorCause } from "./error-cause.js";
|
|
3
|
+
import { definitionErrorMessage } from "./error-message/definition-error-message.js";
|
|
4
|
+
import { internalErrorMessage } from "./error-message/internal-error-message.js";
|
|
5
|
+
import { parseErrorMessage } from "./error-message/parse-error-message.js";
|
|
6
|
+
import { validationErrorMessage } from "./error-message/validation-error-message.js";
|
|
7
|
+
var CliError = class _CliError extends Error {
|
|
8
|
+
code;
|
|
9
|
+
cause;
|
|
10
|
+
context;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super(options.message ?? _CliError.errorMessage(options));
|
|
13
|
+
this.cause = options.cause;
|
|
14
|
+
this.code = options.code;
|
|
15
|
+
this.context = options.context;
|
|
16
|
+
}
|
|
17
|
+
static errorMessage(options) {
|
|
18
|
+
const defaultErrorMessage = "unknown error";
|
|
19
|
+
if (options.cause === ErrorCause.Internal) {
|
|
20
|
+
return internalErrorMessage(options) ?? defaultErrorMessage;
|
|
21
|
+
}
|
|
22
|
+
if (options.cause === ErrorCause.Parse) {
|
|
23
|
+
return parseErrorMessage(options) ?? defaultErrorMessage;
|
|
24
|
+
}
|
|
25
|
+
if (options.cause === ErrorCause.Definition) {
|
|
26
|
+
return definitionErrorMessage(options) ?? defaultErrorMessage;
|
|
27
|
+
}
|
|
28
|
+
if (options.cause === ErrorCause.Validation) {
|
|
29
|
+
return validationErrorMessage(options) ?? defaultErrorMessage;
|
|
30
|
+
}
|
|
31
|
+
const executiveCheck = options;
|
|
32
|
+
return executiveCheck;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
export {
|
|
36
|
+
CliError
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=cli-error.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/cli-error/cli-error.ts"],
|
|
4
|
+
"sourcesContent": ["import { ErrorCause } from \"./error-cause.ts\";\nimport { definitionErrorMessage } from \"./error-message/definition-error-message.ts\";\nimport { internalErrorMessage } from \"./error-message/internal-error-message.ts\";\nimport { parseErrorMessage } from \"./error-message/parse-error-message.ts\";\nimport { validationErrorMessage } from \"./error-message/validation-error-message.ts\";\n\nimport type { CliErrorImpl, CliErrorOptionUnion } from \"../types/error-types.ts\";\n\nexport class CliError extends Error implements CliErrorImpl {\n readonly code;\n readonly cause;\n readonly context;\n\n constructor(options: CliErrorOptionUnion) {\n super(options.message ?? CliError.errorMessage(options));\n\n this.cause = options.cause;\n this.code = options.code;\n this.context = options.context;\n }\n\n static errorMessage(options: CliErrorOptionUnion): string {\n const defaultErrorMessage = \"unknown error\";\n\n if (options.cause === ErrorCause.Internal) {\n return internalErrorMessage(options) ?? defaultErrorMessage;\n }\n\n if (options.cause === ErrorCause.Parse) {\n return parseErrorMessage(options) ?? defaultErrorMessage;\n }\n\n if (options.cause === ErrorCause.Definition) {\n return definitionErrorMessage(options) ?? defaultErrorMessage;\n }\n\n if (options.cause === ErrorCause.Validation) {\n return validationErrorMessage(options) ?? defaultErrorMessage;\n }\n\n const executiveCheck: never = options;\n return executiveCheck;\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,kBAAkB;AAC3B,SAAS,8BAA8B;AACvC,SAAS,4BAA4B;AACrC,SAAS,yBAAyB;AAClC,SAAS,8BAA8B;AAIhC,IAAM,WAAN,MAAM,kBAAiB,MAA8B;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,SAA8B;AACxC,UAAM,QAAQ,WAAW,UAAS,aAAa,OAAO,CAAC;AAEvD,SAAK,QAAQ,QAAQ;AACrB,SAAK,OAAO,QAAQ;AACpB,SAAK,UAAU,QAAQ;AAAA,EACzB;AAAA,EAEA,OAAO,aAAa,SAAsC;AACxD,UAAM,sBAAsB;AAE5B,QAAI,QAAQ,UAAU,WAAW,UAAU;AACzC,aAAO,qBAAqB,OAAO,KAAK;AAAA,IAC1C;AAEA,QAAI,QAAQ,UAAU,WAAW,OAAO;AACtC,aAAO,kBAAkB,OAAO,KAAK;AAAA,IACvC;AAEA,QAAI,QAAQ,UAAU,WAAW,YAAY;AAC3C,aAAO,uBAAuB,OAAO,KAAK;AAAA,IAC5C;AAEA,QAAI,QAAQ,UAAU,WAAW,YAAY;AAC3C,aAAO,uBAAuB,OAAO,KAAK;AAAA,IAC5C;AAEA,UAAM,iBAAwB;AAC9B,WAAO;AAAA,EACT;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/cli-error/error-cause.ts
|
|
2
|
+
import { Enum } from "../utilities/utilities.js";
|
|
3
|
+
var ErrorCause = Enum({
|
|
4
|
+
Internal: void 0,
|
|
5
|
+
Parse: void 0,
|
|
6
|
+
Validation: void 0,
|
|
7
|
+
Definition: void 0
|
|
8
|
+
});
|
|
9
|
+
export {
|
|
10
|
+
ErrorCause
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=error-cause.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/cli-error/error-cause.ts"],
|
|
4
|
+
"sourcesContent": ["import { Enum } from \"../utilities/utilities.ts\";\n\nimport type { ErrorCauseI } from \"../types/error-types.ts\";\n\nexport const ErrorCause: { [K in keyof ErrorCauseI]: K } = Enum({\n Internal: undefined,\n Parse: undefined,\n Validation: undefined,\n Definition: undefined,\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,YAAY;AAId,IAAM,aAA8C,KAAK;AAAA,EAC9D,UAAU;AAAA,EACV,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AACd,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// src/cli-error/error-code/definition-error-code.ts
|
|
2
|
+
import { Enum } from "../../utilities/utilities.js";
|
|
3
|
+
var DefinitionErrorCode = Enum({
|
|
4
|
+
MissingSchema: void 0,
|
|
5
|
+
EmptyDefinitionGroup: void 0,
|
|
6
|
+
MissingDefinitionName: void 0,
|
|
7
|
+
InvalidDefinitionOptionName: void 0,
|
|
8
|
+
InvalidDefinitionArgumentName: void 0,
|
|
9
|
+
InvalidOptionalArgumentDefinition: void 0,
|
|
10
|
+
DuplicateDefinitionName: void 0,
|
|
11
|
+
EmptyStringAliasName: void 0,
|
|
12
|
+
SelfRequire: void 0,
|
|
13
|
+
UnknownRequireName: void 0,
|
|
14
|
+
SelfConflict: void 0,
|
|
15
|
+
UnknownConflictName: void 0,
|
|
16
|
+
DefinitionRequiresConflictOverlap: void 0,
|
|
17
|
+
MissingOnExecute: void 0,
|
|
18
|
+
SubcommandHelpNotFound: void 0
|
|
19
|
+
});
|
|
20
|
+
export {
|
|
21
|
+
DefinitionErrorCode
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=definition-error-code.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cli-error/error-code/definition-error-code.ts"],
|
|
4
|
+
"sourcesContent": ["import { Enum } from \"../../utilities/utilities.ts\";\n\nimport type { DefinitionErrorI } from \"../../types/error-types.ts\";\n\nexport const DefinitionErrorCode: { [K in keyof DefinitionErrorI]: K } = Enum({\n MissingSchema: undefined,\n EmptyDefinitionGroup: undefined,\n MissingDefinitionName: undefined,\n InvalidDefinitionOptionName: undefined,\n InvalidDefinitionArgumentName: undefined,\n InvalidOptionalArgumentDefinition: undefined,\n DuplicateDefinitionName: undefined,\n EmptyStringAliasName: undefined,\n SelfRequire: undefined,\n UnknownRequireName: undefined,\n SelfConflict: undefined,\n UnknownConflictName: undefined,\n DefinitionRequiresConflictOverlap: undefined,\n MissingOnExecute: undefined,\n SubcommandHelpNotFound: undefined,\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,YAAY;AAId,IAAM,sBAA4D,KAAK;AAAA,EAC5E,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,6BAA6B;AAAA,EAC7B,+BAA+B;AAAA,EAC/B,mCAAmC;AAAA,EACnC,yBAAyB;AAAA,EACzB,sBAAsB;AAAA,EACtB,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,mCAAmC;AAAA,EACnC,kBAAkB;AAAA,EAClB,wBAAwB;AAC1B,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// src/cli-error/error-code/internal-error-code.ts
|
|
2
|
+
import { Enum } from "../../utilities/utilities.js";
|
|
3
|
+
var InternalErrorCode = Enum({
|
|
4
|
+
MissingPreparedTypes: void 0,
|
|
5
|
+
CannotFindCliDefinition: void 0
|
|
6
|
+
});
|
|
7
|
+
export {
|
|
8
|
+
InternalErrorCode
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=internal-error-code.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cli-error/error-code/internal-error-code.ts"],
|
|
4
|
+
"sourcesContent": ["import { Enum } from \"../../utilities/utilities.ts\";\n\nimport type { InternalErrorI } from \"../../types/error-types.ts\";\n\nexport const InternalErrorCode: { [K in keyof InternalErrorI]: K } = Enum({\n MissingPreparedTypes: undefined,\n CannotFindCliDefinition: undefined,\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,YAAY;AAId,IAAM,oBAAwD,KAAK;AAAA,EACxE,sBAAsB;AAAA,EACtB,yBAAyB;AAC3B,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/cli-error/error-code/parse-error-code.ts
|
|
2
|
+
import { Enum } from "../../utilities/utilities.js";
|
|
3
|
+
var ParseErrorCode = Enum({
|
|
4
|
+
UnknownSubcommand: void 0,
|
|
5
|
+
CommandWithoutOptions: void 0,
|
|
6
|
+
UnknownOption: void 0,
|
|
7
|
+
DuplicateOptionProvided: void 0,
|
|
8
|
+
InvalidNegationForNonBooleanOption: void 0,
|
|
9
|
+
PositionalArgumentNotAllowed: void 0,
|
|
10
|
+
MissingRequiredOption: void 0,
|
|
11
|
+
MissingRequiredArgument: void 0,
|
|
12
|
+
OptionMissingValue: void 0,
|
|
13
|
+
FlagAssignedValue: void 0
|
|
14
|
+
});
|
|
15
|
+
export {
|
|
16
|
+
ParseErrorCode
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=parse-error-code.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cli-error/error-code/parse-error-code.ts"],
|
|
4
|
+
"sourcesContent": ["import { Enum } from \"../../utilities/utilities.ts\";\n\nimport type { ParseErrorI } from \"../../types/error-types.ts\";\n\nexport const ParseErrorCode: { [K in keyof ParseErrorI]: K } = Enum({\n UnknownSubcommand: undefined,\n CommandWithoutOptions: undefined,\n UnknownOption: undefined,\n DuplicateOptionProvided: undefined,\n InvalidNegationForNonBooleanOption: undefined,\n PositionalArgumentNotAllowed: undefined,\n MissingRequiredOption: undefined,\n MissingRequiredArgument: undefined,\n OptionMissingValue: undefined,\n FlagAssignedValue: undefined,\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,YAAY;AAId,IAAM,iBAAkD,KAAK;AAAA,EAClE,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,eAAe;AAAA,EACf,yBAAyB;AAAA,EACzB,oCAAoC;AAAA,EACpC,8BAA8B;AAAA,EAC9B,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,mBAAmB;AACrB,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// src/cli-error/error-code/validation-error-code.ts
|
|
2
|
+
import { Enum } from "../../utilities/utilities.js";
|
|
3
|
+
var ValidationErrorCode = Enum({
|
|
4
|
+
NoOptionsToValidate: void 0,
|
|
5
|
+
NoArgumentsToValidate: void 0,
|
|
6
|
+
UnknownOptionValidation: void 0,
|
|
7
|
+
UnknownArgumentValidation: void 0,
|
|
8
|
+
SchemaValidationFailed: void 0,
|
|
9
|
+
MutuallyExclusiveConflict: void 0,
|
|
10
|
+
RequiredDependencyMissing: void 0,
|
|
11
|
+
AsyncSchemaNotSupported: void 0,
|
|
12
|
+
CoercionFailed: void 0
|
|
13
|
+
});
|
|
14
|
+
export {
|
|
15
|
+
ValidationErrorCode
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=validation-error-code.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cli-error/error-code/validation-error-code.ts"],
|
|
4
|
+
"sourcesContent": ["import { Enum } from \"../../utilities/utilities.ts\";\n\nimport type { ValidationErrorI } from \"../../types/error-types.ts\";\n\nexport const ValidationErrorCode: { [K in keyof ValidationErrorI]: K } = Enum({\n NoOptionsToValidate: undefined,\n NoArgumentsToValidate: undefined,\n UnknownOptionValidation: undefined,\n UnknownArgumentValidation: undefined,\n SchemaValidationFailed: undefined,\n MutuallyExclusiveConflict: undefined,\n RequiredDependencyMissing: undefined,\n AsyncSchemaNotSupported: undefined,\n CoercionFailed: undefined,\n});\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,YAAY;AAId,IAAM,sBAA4D,KAAK;AAAA,EAC5E,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,2BAA2B;AAAA,EAC3B,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,gBAAgB;AAClB,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// src/cli-error/error-message/definition-error-message.ts
|
|
2
|
+
import { DefinitionErrorCode } from "../error-code/definition-error-code.js";
|
|
3
|
+
function definitionErrorMessage({ code, context }) {
|
|
4
|
+
if (code === DefinitionErrorCode.MissingDefinitionName) {
|
|
5
|
+
const propertyName = context.commandKind === "command" ? "cliName" : "name";
|
|
6
|
+
return `invalid ${context.commandKind} definition: "${propertyName}" property is required.`;
|
|
7
|
+
}
|
|
8
|
+
if (code === DefinitionErrorCode.EmptyDefinitionGroup) {
|
|
9
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": "${context.kind}" property is optional but cannot be empty.`;
|
|
10
|
+
}
|
|
11
|
+
if (code === DefinitionErrorCode.MissingSchema) {
|
|
12
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" is missing the "schema" property.`;
|
|
13
|
+
}
|
|
14
|
+
if (code === DefinitionErrorCode.InvalidDefinitionOptionName) {
|
|
15
|
+
if (context.negatedAliasName) {
|
|
16
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the option "${context.optionName}" has the alias "${context.negatedAliasName}" which cannot be named as a negated option.`;
|
|
17
|
+
}
|
|
18
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the option "${context.optionName}" cannot be named as a negated option.`;
|
|
19
|
+
}
|
|
20
|
+
if (code === DefinitionErrorCode.InvalidDefinitionArgumentName) {
|
|
21
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the argument "${context.name}" cannot be a number..`;
|
|
22
|
+
}
|
|
23
|
+
if (code === DefinitionErrorCode.DuplicateDefinitionName) {
|
|
24
|
+
const foundIn = context.foundInName ? `conflict with the ${context.foundInKind} "${context.foundInName}" alias name` : `conflict with other ${context.foundInKind} name`;
|
|
25
|
+
if (context.duplicatedAlias) {
|
|
26
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" has the alias "${context.duplicatedAlias}" which ${foundIn}.`;
|
|
27
|
+
}
|
|
28
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" name ${foundIn}.`;
|
|
29
|
+
}
|
|
30
|
+
if (code === DefinitionErrorCode.EmptyStringAliasName) {
|
|
31
|
+
if (context.optionName) {
|
|
32
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the option "${context.optionName}" has an empty string alias name.`;
|
|
33
|
+
}
|
|
34
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": empty string alias name is not allowed.`;
|
|
35
|
+
}
|
|
36
|
+
if (code === DefinitionErrorCode.SelfRequire) {
|
|
37
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" cannot require itself.`;
|
|
38
|
+
}
|
|
39
|
+
if (code === DefinitionErrorCode.UnknownRequireName) {
|
|
40
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" requires a non-existent name "${context.requiredName}".`;
|
|
41
|
+
}
|
|
42
|
+
if (code === DefinitionErrorCode.SelfConflict) {
|
|
43
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" cannot conflict with itself.`;
|
|
44
|
+
}
|
|
45
|
+
if (code === DefinitionErrorCode.UnknownConflictName) {
|
|
46
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" conflicts with a non-existent name "${context.requiredName}".`;
|
|
47
|
+
}
|
|
48
|
+
if (code === DefinitionErrorCode.DefinitionRequiresConflictOverlap) {
|
|
49
|
+
const s = context.intersectedNames.length > 1 ? "s" : "";
|
|
50
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the ${context.kind} "${context.name}" has overlapping 'requires' and 'conflictsWith' name${s}: ` + context.intersectedNames.join(", ");
|
|
51
|
+
}
|
|
52
|
+
if (code === DefinitionErrorCode.InvalidOptionalArgumentDefinition) {
|
|
53
|
+
if (context.allowPositionals) {
|
|
54
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the argument "${context.name}" cannot be optional when "allowPositionals" is enabled.`;
|
|
55
|
+
}
|
|
56
|
+
return `invalid ${context.commandKind} definition "${context.commandName}": the argument "${context.name}" cannot be optional unless it is the last argument.`;
|
|
57
|
+
}
|
|
58
|
+
if (code === DefinitionErrorCode.MissingOnExecute) {
|
|
59
|
+
return `trying to execute ${context.commandKind} "${context.commandName}" which does not have an "onExecute" handler.`;
|
|
60
|
+
}
|
|
61
|
+
if (code === DefinitionErrorCode.SubcommandHelpNotFound) {
|
|
62
|
+
return `cannot generate help message for subcommand "${context.subcommandName}" because it does not exist in CLI "${context.cliName}".`;
|
|
63
|
+
}
|
|
64
|
+
const executiveCheck = code;
|
|
65
|
+
return executiveCheck;
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
definitionErrorMessage
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=definition-error-message.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/cli-error/error-message/definition-error-message.ts"],
|
|
4
|
+
"sourcesContent": ["import { DefinitionErrorCode } from \"../error-code/definition-error-code.ts\";\n\nimport type { CliErrorOptionByCause } from \"../../types/error-types.ts\";\n\nexport function definitionErrorMessage({ code, context }: CliErrorOptionByCause<\"Definition\">) {\n if (code === DefinitionErrorCode.MissingDefinitionName) {\n const propertyName = context.commandKind === \"command\" ? \"cliName\" : \"name\";\n return `invalid ${context.commandKind} definition: \"${propertyName}\" property is required.`;\n }\n\n if (code === DefinitionErrorCode.EmptyDefinitionGroup) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `\"${context.kind}\" property is optional but cannot be empty.`\n );\n }\n\n if (code === DefinitionErrorCode.MissingSchema) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" is missing the \"schema\" property.`\n );\n }\n\n if (code === DefinitionErrorCode.InvalidDefinitionOptionName) {\n if (context.negatedAliasName) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the option \"${context.optionName}\" has the alias \"${context.negatedAliasName}\" which cannot be named as a negated option.`\n );\n }\n\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the option \"${context.optionName}\" cannot be named as a negated option.`\n );\n }\n\n if (code === DefinitionErrorCode.InvalidDefinitionArgumentName) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the argument \"${context.name}\" cannot be a number..`\n );\n }\n\n if (code === DefinitionErrorCode.DuplicateDefinitionName) {\n const foundIn = context.foundInName\n ? `conflict with the ${context.foundInKind} \"${context.foundInName}\" alias name`\n : `conflict with other ${context.foundInKind} name`;\n\n if (context.duplicatedAlias) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" has the alias \"${context.duplicatedAlias}\" which ${foundIn}.`\n );\n }\n\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" name ${foundIn}.`\n );\n }\n\n if (code === DefinitionErrorCode.EmptyStringAliasName) {\n if (context.optionName) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the option \"${context.optionName}\" has an empty string alias name.`\n );\n }\n\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` + `empty string alias name is not allowed.`\n );\n }\n\n if (code === DefinitionErrorCode.SelfRequire) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" cannot require itself.`\n );\n }\n\n if (code === DefinitionErrorCode.UnknownRequireName) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" requires a non-existent name \"${context.requiredName}\".`\n );\n }\n\n if (code === DefinitionErrorCode.SelfConflict) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" cannot conflict with itself.`\n );\n }\n\n if (code === DefinitionErrorCode.UnknownConflictName) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" conflicts with a non-existent name \"${context.requiredName}\".`\n );\n }\n\n if (code === DefinitionErrorCode.DefinitionRequiresConflictOverlap) {\n const s = context.intersectedNames.length > 1 ? \"s\" : \"\";\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the ${context.kind} \"${context.name}\" has overlapping 'requires' and 'conflictsWith' name${s}: ` +\n context.intersectedNames.join(\", \")\n );\n }\n\n if (code === DefinitionErrorCode.InvalidOptionalArgumentDefinition) {\n if (context.allowPositionals) {\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the argument \"${context.name}\" cannot be optional when \"allowPositionals\" is enabled.`\n );\n }\n\n return (\n `invalid ${context.commandKind} definition \"${context.commandName}\": ` +\n `the argument \"${context.name}\" cannot be optional unless it is the last argument.`\n );\n }\n\n if (code === DefinitionErrorCode.MissingOnExecute) {\n return (\n `trying to execute ${context.commandKind} \"${context.commandName}\" ` +\n `which does not have an \"onExecute\" handler.`\n );\n }\n\n if (code === DefinitionErrorCode.SubcommandHelpNotFound) {\n return (\n `cannot generate help message for subcommand \"${context.subcommandName}\" ` +\n `because it does not exist in CLI \"${context.cliName}\".`\n );\n }\n\n const executiveCheck: never = code;\n return executiveCheck;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,2BAA2B;AAI7B,SAAS,uBAAuB,EAAE,MAAM,QAAQ,GAAwC;AAC7F,MAAI,SAAS,oBAAoB,uBAAuB;AACtD,UAAM,eAAe,QAAQ,gBAAgB,YAAY,YAAY;AACrE,WAAO,WAAW,QAAQ,WAAW,iBAAiB,YAAY;AAAA,EACpE;AAEA,MAAI,SAAS,oBAAoB,sBAAsB;AACrD,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,OAC7D,QAAQ,IAAI;AAAA,EAEpB;AAEA,MAAI,SAAS,oBAAoB,eAAe;AAC9C,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI;AAAA,EAExC;AAEA,MAAI,SAAS,oBAAoB,6BAA6B;AAC5D,QAAI,QAAQ,kBAAkB;AAC5B,aACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,kBAClD,QAAQ,UAAU,oBAAoB,QAAQ,gBAAgB;AAAA,IAEjF;AAEA,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,kBAClD,QAAQ,UAAU;AAAA,EAErC;AAEA,MAAI,SAAS,oBAAoB,+BAA+B;AAC9D,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,oBAChD,QAAQ,IAAI;AAAA,EAEjC;AAEA,MAAI,SAAS,oBAAoB,yBAAyB;AACxD,UAAM,UAAU,QAAQ,cACpB,qBAAqB,QAAQ,WAAW,KAAK,QAAQ,WAAW,iBAChE,uBAAuB,QAAQ,WAAW;AAE9C,QAAI,QAAQ,iBAAiB;AAC3B,aACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI,oBAAoB,QAAQ,eAAe,WAAW,OAAO;AAAA,IAErG;AAEA,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI,UAAU,OAAO;AAAA,EAEzD;AAEA,MAAI,SAAS,oBAAoB,sBAAsB;AACrD,QAAI,QAAQ,YAAY;AACtB,aACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,kBAClD,QAAQ,UAAU;AAAA,IAErC;AAEA,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW;AAAA,EAErE;AAEA,MAAI,SAAS,oBAAoB,aAAa;AAC5C,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI;AAAA,EAExC;AAEA,MAAI,SAAS,oBAAoB,oBAAoB;AACnD,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI,mCAAmC,QAAQ,YAAY;AAAA,EAE/F;AAEA,MAAI,SAAS,oBAAoB,cAAc;AAC7C,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI;AAAA,EAExC;AAEA,MAAI,SAAS,oBAAoB,qBAAqB;AACpD,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI,yCAAyC,QAAQ,YAAY;AAAA,EAErG;AAEA,MAAI,SAAS,oBAAoB,mCAAmC;AAClE,UAAM,IAAI,QAAQ,iBAAiB,SAAS,IAAI,MAAM;AACtD,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,UAC1D,QAAQ,IAAI,KAAK,QAAQ,IAAI,wDAAwD,CAAC,OAC7F,QAAQ,iBAAiB,KAAK,IAAI;AAAA,EAEtC;AAEA,MAAI,SAAS,oBAAoB,mCAAmC;AAClE,QAAI,QAAQ,kBAAkB;AAC5B,aACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,oBAChD,QAAQ,IAAI;AAAA,IAEjC;AAEA,WACE,WAAW,QAAQ,WAAW,gBAAgB,QAAQ,WAAW,oBAChD,QAAQ,IAAI;AAAA,EAEjC;AAEA,MAAI,SAAS,oBAAoB,kBAAkB;AACjD,WACE,qBAAqB,QAAQ,WAAW,KAAK,QAAQ,WAAW;AAAA,EAGpE;AAEA,MAAI,SAAS,oBAAoB,wBAAwB;AACvD,WACE,gDAAgD,QAAQ,cAAc,uCACjC,QAAQ,OAAO;AAAA,EAExD;AAEA,QAAM,iBAAwB;AAC9B,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|