zod-args-parser 2.0.0-beta.1 → 2.0.0-beta.3
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 +244 -282
- 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 +41 -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/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 +10 -9
- 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/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 +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 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var o in t)__defProp(e,o,{get:t[o],enumerable:!0})},__copyProps=(e,t,o,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of __getOwnPropNames(t))__hasOwnProp.call(e,s)||s===o||__defProp(e,s,{get:()=>t[s],enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),generate_for_subcommand_exports={};__export(generate_for_subcommand_exports,{generateSubcommandHelpMessage:()=>generateSubcommandHelpMessage}),module.exports=__toCommonJS(generate_for_subcommand_exports);var import_generate_for_cli=require("./generate-for-cli.cjs"),import_set_defaults=require("./set-defaults.cjs"),import_styles=require("./styles.cjs");function generateSubcommandHelpMessage(e,t={},o=""){(0,import_set_defaults.setPrintHelpOptionsDefaults)(t);const r={...import_styles.helpMessageStyles.default,...t.style},s=e.meta??{};let _=s.usage;_||(_=r.punctuation("$"),_+=o?` ${o}`:"",_+=r.command("",e.name),_+=e.options?r.option(" [options]"):"",_+=e.arguments||e.allowPositionals?r.argument(" <arguments>"):"");const a={...e,cliName:e.name,meta:{usage:_,...s}};return(0,import_generate_for_cli.generateCliHelpMessage)(a,t)}
|
|
2
|
-
//# sourceMappingURL=generate-for-subcommand.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["generate_for_subcommand_exports","__export","generateSubcommandHelpMessage","module","exports","__toCommonJS","import_generate_for_cli","require","import_set_defaults","import_styles","commandDefinition","options","cliName","setPrintHelpOptionsDefaults","style","helpMessageStyles","default","meta","usage","punctuation","command","name","option","arguments","allowPositionals","argument","asCliDefinition","generateCliHelpMessage"],"sources":["../../../src/help-message/generate-for-subcommand.ts"],"sourcesContent":["import { generateCliHelpMessage } from \"./generate-for-cli.ts\";\nimport { setPrintHelpOptionsDefaults } from \"./set-defaults.ts\";\nimport { helpMessageStyles } from \"./styles.ts\";\n\nimport type { Cli, Subcommand } from \"../types/definitions-types.ts\";\nimport type { PrintHelpOptions } from \"../types/help-message-types.ts\";\n\nexport function generateSubcommandHelpMessage(\n commandDefinition: Subcommand,\n options: PrintHelpOptions = {},\n cliName = \"\",\n): string {\n setPrintHelpOptionsDefaults(options);\n\n const style = { ...helpMessageStyles.default, ...options.style };\n\n const meta = commandDefinition.meta ?? {};\n\n let usage = meta.usage;\n if (!usage) {\n usage = style.punctuation(\"$\");\n usage += cliName ? ` ${cliName}` : \"\";\n usage += style.command(\"\", commandDefinition.name);\n usage += commandDefinition.options ? style.option(\" [options]\") : \"\";\n usage += commandDefinition.arguments || commandDefinition.allowPositionals ? style.argument(\" <arguments>\") : \"\";\n }\n\n // convert to cli object without subcommands\n const asCliDefinition: Cli = { ...commandDefinition, cliName: commandDefinition.name, meta: { usage, ...meta } };\n\n return generateCliHelpMessage(asCliDefinition, options);\n}\n"],"mappings":"8iBAAAA,gCAAA,GAAAC,SAAAD,gCAAA,CAAAE,8BAAA,IAAAA,gCAAAC,OAAAC,QAAAC,aAAAL,iCAAA,IAAAM,wBAAuCC,QAAA,0BACvCC,oBAA4CD,QAAA,sBAC5CE,cAAkCF,QAAA,gBAK3B,SAASL,8BACdQ,EACAC,EAA4B,CAAC,EAC7BC,EAAU,KAEV,EAAAJ,oBAAAK,6BAA4BF,GAE5B,MAAMG,EAAQ,IAAKL,cAAAM,kBAAkBC,WAAYL,EAAQG,OAEnDG,EAAOP,EAAkBO,MAAQ,CAAC,EAExC,IAAIC,EAAQD,EAAKC,MACZA,IACHA,EAAQJ,EAAMK,YAAY,KAC1BD,GAASN,EAAU,IAAIA,IAAY,GACnCM,GAASJ,EAAMM,QAAQ,GAAIV,EAAkBW,MAC7CH,GAASR,EAAkBC,QAAUG,EAAMQ,OAAO,cAAgB,GAClEJ,GAASR,EAAkBa,WAAab,EAAkBc,iBAAmBV,EAAMW,SAAS,gBAAkB,IAIhH,MAAMC,EAAuB,IAAKhB,EAAmBE,QAASF,EAAkBW,KAAMJ,KAAM,CAAEC,WAAUD,IAExG,SAAOX,wBAAAqB,wBAAuBD,EAAiBf,EACjD","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,r)=>{for(var o in r)__defProp(e,o,{get:r[o],enumerable:!0})},__copyProps=(e,r,o,t)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let p of __getOwnPropNames(r))__hasOwnProp.call(e,p)||p===o||__defProp(e,p,{get:()=>r[p],enumerable:!(t=__getOwnPropDesc(r,p))||t.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),print_help_exports={};__export(print_help_exports,{printCliHelp:()=>printCliHelp,printSubcommandHelp:()=>printSubcommandHelp}),module.exports=__toCommonJS(print_help_exports);var import_generate_for_cli=require("./generate-for-cli.cjs"),import_generate_for_subcommand=require("./generate-for-subcommand.cjs");function printCliHelp(e,r={}){console.log((0,import_generate_for_cli.generateCliHelpMessage)(e,r))}function printSubcommandHelp(e,r={},o=""){console.log((0,import_generate_for_subcommand.generateSubcommandHelpMessage)(e,r,o))}
|
|
2
|
-
//# sourceMappingURL=print-help.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["print_help_exports","__export","printCliHelp","printSubcommandHelp","module","exports","__toCommonJS","import_generate_for_cli","require","import_generate_for_subcommand","cliDefinition","options","console","log","generateCliHelpMessage","commandDefinition","cliName","generateSubcommandHelpMessage"],"sources":["../../../src/help-message/print-help.ts"],"sourcesContent":["import { generateCliHelpMessage } from \"./generate-for-cli.ts\";\nimport { generateSubcommandHelpMessage } from \"./generate-for-subcommand.ts\";\n\nimport type { Cli, Subcommand } from \"../types/definitions-types.ts\";\nimport type { PrintHelpOptions } from \"../types/help-message-types.ts\";\n\nexport function printCliHelp(cliDefinition: Cli, options: PrintHelpOptions = {}) {\n console.log(generateCliHelpMessage(cliDefinition, options));\n}\n\nexport function printSubcommandHelp(commandDefinition: Subcommand, options: PrintHelpOptions = {}, cliName = \"\") {\n console.log(generateSubcommandHelpMessage(commandDefinition, options, cliName));\n}\n"],"mappings":"8iBAAAA,mBAAA,GAAAC,SAAAD,mBAAA,CAAAE,aAAA,IAAAA,aAAAC,oBAAA,IAAAA,sBAAAC,OAAAC,QAAAC,aAAAN,oBAAA,IAAAO,wBAAuCC,QAAA,0BACvCC,+BAA8CD,QAAA,iCAKvC,SAASN,aAAaQ,EAAoBC,EAA4B,CAAC,GAC5EC,QAAQC,KAAA,EAAIN,wBAAAO,wBAAuBJ,EAAeC,GACpD,CAEO,SAASR,oBAAoBY,EAA+BJ,EAA4B,CAAC,EAAGK,EAAU,IAC3GJ,QAAQC,KAAA,EAAIJ,+BAAAQ,+BAA8BF,EAAmBJ,EAASK,GACxE","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===r||__defProp(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),set_defaults_exports={};__export(set_defaults_exports,{setPrintHelpOptionsDefaults:()=>setPrintHelpOptionsDefaults}),module.exports=__toCommonJS(set_defaults_exports);var import_styles=require("./styles.cjs");function setPrintHelpOptionsDefaults(e){const t={...e};return t.style??(t.style=import_styles.helpMessageStyles.default),t.markdownRenderer??(t.markdownRenderer="terminal"),t.kebabCaseArgumentName??(t.kebabCaseArgumentName=!0),t.indentBeforeName??(t.indentBeforeName=2),t.indentAfterName??(t.indentAfterName=4),t.indentBeforePlaceholder??(t.indentBeforePlaceholder=1),t.newLineIndent??(t.newLineIndent=0),t.emptyLines??(t.emptyLines=0),t.emptyLinesBeforeTitle??(t.emptyLinesBeforeTitle=1),t.emptyLinesAfterTitle??(t.emptyLinesAfterTitle=0),t.exampleKeyword??(t.exampleKeyword="Example"),t.optionalKeyword??(t.optionalKeyword="(optional)"),t.defaultKeyword??(t.defaultKeyword="(default: {{ value }})"),t.usageTitle??(t.usageTitle="USAGE"),t.descriptionTitle??(t.descriptionTitle="DESCRIPTION"),t.commandsTitle??(t.commandsTitle="COMMANDS"),t.optionsTitle??(t.optionsTitle="OPTIONS"),t.argumentsTitle??(t.argumentsTitle="ARGUMENTS"),t.exampleTitle??(t.exampleTitle="EXAMPLE"),t}
|
|
2
|
-
//# sourceMappingURL=set-defaults.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["set_defaults_exports","__export","setPrintHelpOptionsDefaults","module","exports","__toCommonJS","import_styles","require","options","clone","style","helpMessageStyles","default","markdownRenderer","kebabCaseArgumentName","indentBeforeName","indentAfterName","indentBeforePlaceholder","newLineIndent","emptyLines","emptyLinesBeforeTitle","emptyLinesAfterTitle","exampleKeyword","optionalKeyword","defaultKeyword","usageTitle","descriptionTitle","commandsTitle","optionsTitle","argumentsTitle","exampleTitle"],"sources":["../../../src/help-message/set-defaults.ts"],"sourcesContent":["import { helpMessageStyles } from \"./styles.ts\";\n\nimport type { PrintHelpOptions } from \"../types/help-message-types.ts\";\nimport type { FormatOptions } from \"./generate-for-cli.ts\";\n\nexport function setPrintHelpOptionsDefaults(options: PrintHelpOptions) {\n const clone = { ...options };\n\n clone.style ??= helpMessageStyles.default;\n clone.markdownRenderer ??= \"terminal\";\n clone.kebabCaseArgumentName ??= true;\n\n clone.indentBeforeName ??= 2;\n clone.indentAfterName ??= 4;\n clone.indentBeforePlaceholder ??= 1;\n clone.newLineIndent ??= 0;\n\n clone.emptyLines ??= 0;\n clone.emptyLinesBeforeTitle ??= 1;\n clone.emptyLinesAfterTitle ??= 0;\n\n clone.exampleKeyword ??= \"Example\";\n clone.optionalKeyword ??= \"(optional)\";\n clone.defaultKeyword ??= \"(default: {{ value }})\";\n\n clone.usageTitle ??= \"USAGE\";\n clone.descriptionTitle ??= \"DESCRIPTION\";\n clone.commandsTitle ??= \"COMMANDS\";\n clone.optionsTitle ??= \"OPTIONS\";\n clone.argumentsTitle ??= \"ARGUMENTS\";\n clone.exampleTitle ??= \"EXAMPLE\";\n\n return clone as Required<FormatOptions>;\n}\n"],"mappings":"8iBAAAA,qBAAA,GAAAC,SAAAD,qBAAA,CAAAE,4BAAA,IAAAA,8BAAAC,OAAAC,QAAAC,aAAAL,sBAAA,IAAAM,cAAkCC,QAAA,gBAK3B,SAASL,4BAA4BM,GAC1C,MAAMC,EAAQ,IAAKD,GA0BnB,OAxBAC,EAAMC,QAAND,EAAMC,MAAUJ,cAAAK,kBAAkBC,SAClCH,EAAMI,mBAANJ,EAAMI,iBAAqB,YAC3BJ,EAAMK,wBAANL,EAAMK,uBAA0B,GAEhCL,EAAMM,mBAANN,EAAMM,iBAAqB,GAC3BN,EAAMO,kBAANP,EAAMO,gBAAoB,GAC1BP,EAAMQ,0BAANR,EAAMQ,wBAA4B,GAClCR,EAAMS,gBAANT,EAAMS,cAAkB,GAExBT,EAAMU,aAANV,EAAMU,WAAe,GACrBV,EAAMW,wBAANX,EAAMW,sBAA0B,GAChCX,EAAMY,uBAANZ,EAAMY,qBAAyB,GAE/BZ,EAAMa,iBAANb,EAAMa,eAAmB,WACzBb,EAAMc,kBAANd,EAAMc,gBAAoB,cAC1Bd,EAAMe,iBAANf,EAAMe,eAAmB,0BAEzBf,EAAMgB,aAANhB,EAAMgB,WAAe,SACrBhB,EAAMiB,mBAANjB,EAAMiB,iBAAqB,eAC3BjB,EAAMkB,gBAANlB,EAAMkB,cAAkB,YACxBlB,EAAMmB,eAANnB,EAAMmB,aAAiB,WACvBnB,EAAMoB,iBAANpB,EAAMoB,eAAmB,aACzBpB,EAAMqB,eAANrB,EAAMqB,aAAiB,WAEhBrB,CACT","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__defNormalProp=(e,l,t)=>l in e?__defProp(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,__export=(e,l)=>{for(var t in l)__defProp(e,t,{get:l[t],enumerable:!0})},__copyProps=(e,l,t,a)=>{if(l&&"object"==typeof l||"function"==typeof l)for(let o of __getOwnPropNames(l))__hasOwnProp.call(e,o)||o===t||__defProp(e,o,{get:()=>l[o],enumerable:!(a=__getOwnPropDesc(l,o))||a.enumerable});return e},__toESM=(e,l,t)=>(t=null!=e?__create(__getProtoOf(e)):{},__copyProps(!l&&e&&e.__esModule?t:__defProp(t,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__publicField=(e,l,t)=>__defNormalProp(e,"symbol"!=typeof l?l+"":l,t),styles_exports={};__export(styles_exports,{HelpMessageStyle:()=>HelpMessageStyle,helpMessageStyles:()=>helpMessageStyles}),module.exports=__toCommonJS(styles_exports);var import_chalk=__toESM(require("chalk"),1),_HelpMessageStyle=class e{constructor(l,t){__publicField(this,"title",e.noColor),__publicField(this,"description",e.noColor),__publicField(this,"default",e.noColor),__publicField(this,"optional",e.noColor),__publicField(this,"exampleTitle",e.noColor),__publicField(this,"example",e.noColor),__publicField(this,"command",e.noColor),__publicField(this,"option",e.noColor),__publicField(this,"argument",e.noColor),__publicField(this,"placeholder",e.noColor),__publicField(this,"punctuation",e.noColor),t&&Object.assign(this,t),Object.assign(this,l)}};__publicField(_HelpMessageStyle,"noColor",(...e)=>e.join(" "));var HelpMessageStyle=_HelpMessageStyle,helpMessageStyles=Object.freeze({default:new HelpMessageStyle({title:import_chalk.default.bold.blue,description:import_chalk.default.white,default:import_chalk.default.dim.italic,optional:import_chalk.default.dim.italic,exampleTitle:import_chalk.default.yellow,example:import_chalk.default.dim,command:import_chalk.default.yellow,option:import_chalk.default.cyan,argument:import_chalk.default.green,placeholder:import_chalk.default.hex("#FF9800"),punctuation:import_chalk.default.white.dim}),dracula:new HelpMessageStyle({title:import_chalk.default.bold.hex("#BD93F9"),description:import_chalk.default.hex("#F8F8F2"),default:import_chalk.default.italic.hex("#6272A4"),optional:import_chalk.default.italic.hex("#6272A4"),exampleTitle:import_chalk.default.hex("#FFB86C"),example:import_chalk.default.hex("#6272A4"),command:import_chalk.default.hex("#50FA7B"),option:import_chalk.default.hex("#8BE9FD"),argument:import_chalk.default.hex("#FF79C6"),placeholder:import_chalk.default.hex("#F1FA8C"),punctuation:import_chalk.default.hex("#6272A4")}),solarizedDark:new HelpMessageStyle({title:import_chalk.default.bold.hex("#268BD2"),description:import_chalk.default.hex("#93A1A1"),default:import_chalk.default.italic.hex("#586E75"),optional:import_chalk.default.italic.hex("#586E75"),exampleTitle:import_chalk.default.hex("#B58900"),example:import_chalk.default.hex("#586E75"),command:import_chalk.default.hex("#2AA198"),option:import_chalk.default.hex("#268BD2"),argument:import_chalk.default.hex("#859900"),placeholder:import_chalk.default.hex("#CB4B16"),punctuation:import_chalk.default.hex("#657B83")}),nord:new HelpMessageStyle({title:import_chalk.default.bold.hex("#81A1C1"),description:import_chalk.default.hex("#D8DEE9"),default:import_chalk.default.italic.hex("#4C566A"),optional:import_chalk.default.italic.hex("#4C566A"),exampleTitle:import_chalk.default.hex("#EBCB8B"),example:import_chalk.default.hex("#4C566A"),command:import_chalk.default.hex("#A3BE8C"),option:import_chalk.default.hex("#88C0D0"),argument:import_chalk.default.hex("#BF616A"),placeholder:import_chalk.default.hex("#D08770"),punctuation:import_chalk.default.hex("#4C566A")}),html:new HelpMessageStyle({title:(...e)=>`<span style="color: #89dceb; font-weight: bold;">${escapeHTML(e.join(" "))}</span>`,description:(...e)=>`<span style="color: #cdd6e8;">${escapeHTML(e.join(" "))}</span>`,default:(...e)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(e.join(" "))}</span>`,optional:(...e)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(e.join(" "))}</span>`,exampleTitle:(...e)=>`<span style="color: #f9e2af;">${escapeHTML(e.join(" "))}</span>`,example:(...e)=>`<span style="color: #6c7086;">${escapeHTML(e.join(" "))}</span>`,command:(...e)=>`<span style="color: #f9e2af;">${escapeHTML(e.join(" "))}</span>`,option:(...e)=>`<span style="color: #17b85d;">${escapeHTML(e.join(" "))}</span>`,argument:(...e)=>`<span style="color: #00ff00;">${escapeHTML(e.join(" "))}</span>`,placeholder:(...e)=>`<span style="color: #db9518;">${escapeHTML(e.join(" "))}</span>`,punctuation:(...e)=>`<span style="color: #6c7086;">${escapeHTML(e.join(" "))}</span>`}),gruvboxDark:new HelpMessageStyle({title:import_chalk.default.bold.hex("#FABD2F"),description:import_chalk.default.hex("#EBDBB2"),default:import_chalk.default.italic.hex("#928374"),optional:import_chalk.default.italic.hex("#928374"),exampleTitle:import_chalk.default.hex("#FE8019"),example:import_chalk.default.hex("#928374"),command:import_chalk.default.hex("#B8BB26"),option:import_chalk.default.hex("#83A598"),argument:import_chalk.default.hex("#D3869B"),placeholder:import_chalk.default.hex("#FB4934"),punctuation:import_chalk.default.hex("#928374")}),monokai:new HelpMessageStyle({title:import_chalk.default.bold.hex("#AE81FF"),description:import_chalk.default.hex("#F8F8F2"),default:import_chalk.default.italic.hex("#75715E"),optional:import_chalk.default.italic.hex("#75715E"),exampleTitle:import_chalk.default.hex("#FD971F"),example:import_chalk.default.hex("#75715E"),command:import_chalk.default.hex("#A6E22E"),option:import_chalk.default.hex("#66D9EF"),argument:import_chalk.default.hex("#F92672"),placeholder:import_chalk.default.hex("#E6DB74"),punctuation:import_chalk.default.hex("#75715E")}),oneDark:new HelpMessageStyle({title:import_chalk.default.bold.hex("#61AFEF"),description:import_chalk.default.hex("#ABB2BF"),default:import_chalk.default.italic.hex("#5C6370"),optional:import_chalk.default.italic.hex("#5C6370"),exampleTitle:import_chalk.default.hex("#E5C07B"),example:import_chalk.default.hex("#5C6370"),command:import_chalk.default.hex("#98C379"),option:import_chalk.default.hex("#56B6C2"),argument:import_chalk.default.hex("#E06C75"),placeholder:import_chalk.default.hex("#C678DD"),punctuation:import_chalk.default.hex("#5C6370")}),catppuccin:new HelpMessageStyle({title:import_chalk.default.bold.hex("#89B4FA"),description:import_chalk.default.hex("#CDD6F4"),default:import_chalk.default.italic.hex("#6C7086"),optional:import_chalk.default.italic.hex("#6C7086"),exampleTitle:import_chalk.default.hex("#F9E2AF"),example:import_chalk.default.hex("#6C7086"),command:import_chalk.default.hex("#A6E3A1"),option:import_chalk.default.hex("#94E2D5"),argument:import_chalk.default.hex("#F38BA8"),placeholder:import_chalk.default.hex("#FAB387"),punctuation:import_chalk.default.hex("#585B70")}),noColors:new HelpMessageStyle({})});function escapeHTML(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}
|
|
2
|
-
//# sourceMappingURL=styles.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["styles_exports","__export","HelpMessageStyle","helpMessageStyles","module","exports","__toCommonJS","import_chalk","__toESM","require","_HelpMessageStyle","constructor","style","baseStyle","__publicField","this","noColor","Object","assign","text","join","freeze","default","title","c","bold","blue","description","white","dim","italic","optional","exampleTitle","yellow","example","command","option","cyan","argument","green","placeholder","hex","punctuation","dracula","solarizedDark","nord","html","string","escapeHTML","gruvboxDark","monokai","oneDark","catppuccin","noColors","replace"],"sources":["../../../src/help-message/styles.ts"],"sourcesContent":["import c from \"chalk\";\n\nimport type { HelpMessageStyleImpl } from \"../types/help-message-types.ts\";\n\nexport class HelpMessageStyle implements HelpMessageStyleImpl {\n static noColor = (...text: unknown[]) => text.join(\" \");\n\n title = HelpMessageStyle.noColor;\n description = HelpMessageStyle.noColor;\n default = HelpMessageStyle.noColor;\n optional = HelpMessageStyle.noColor;\n exampleTitle = HelpMessageStyle.noColor;\n example = HelpMessageStyle.noColor;\n command = HelpMessageStyle.noColor;\n option = HelpMessageStyle.noColor;\n argument = HelpMessageStyle.noColor;\n placeholder = HelpMessageStyle.noColor;\n punctuation = HelpMessageStyle.noColor;\n\n constructor(style: Partial<HelpMessageStyleImpl>, baseStyle?: HelpMessageStyleImpl) {\n if (baseStyle) {\n Object.assign(this, baseStyle);\n }\n\n Object.assign(this, style);\n }\n}\n\nexport const helpMessageStyles = Object.freeze({\n default: new HelpMessageStyle({\n title: c.bold.blue,\n description: c.white,\n default: c.dim.italic,\n optional: c.dim.italic,\n exampleTitle: c.yellow,\n example: c.dim,\n command: c.yellow,\n option: c.cyan,\n argument: c.green,\n placeholder: c.hex(\"#FF9800\"),\n punctuation: c.white.dim,\n }),\n\n dracula: new HelpMessageStyle({\n title: c.bold.hex(\"#BD93F9\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#6272A4\"),\n optional: c.italic.hex(\"#6272A4\"),\n exampleTitle: c.hex(\"#FFB86C\"),\n example: c.hex(\"#6272A4\"),\n command: c.hex(\"#50FA7B\"),\n option: c.hex(\"#8BE9FD\"),\n argument: c.hex(\"#FF79C6\"),\n placeholder: c.hex(\"#F1FA8C\"),\n punctuation: c.hex(\"#6272A4\"),\n }),\n\n solarizedDark: new HelpMessageStyle({\n title: c.bold.hex(\"#268BD2\"),\n description: c.hex(\"#93A1A1\"),\n default: c.italic.hex(\"#586E75\"),\n optional: c.italic.hex(\"#586E75\"),\n exampleTitle: c.hex(\"#B58900\"),\n example: c.hex(\"#586E75\"),\n command: c.hex(\"#2AA198\"),\n option: c.hex(\"#268BD2\"),\n argument: c.hex(\"#859900\"),\n placeholder: c.hex(\"#CB4B16\"),\n punctuation: c.hex(\"#657B83\"),\n }),\n\n nord: new HelpMessageStyle({\n title: c.bold.hex(\"#81A1C1\"),\n description: c.hex(\"#D8DEE9\"),\n default: c.italic.hex(\"#4C566A\"),\n optional: c.italic.hex(\"#4C566A\"),\n exampleTitle: c.hex(\"#EBCB8B\"),\n example: c.hex(\"#4C566A\"),\n command: c.hex(\"#A3BE8C\"),\n option: c.hex(\"#88C0D0\"),\n argument: c.hex(\"#BF616A\"),\n placeholder: c.hex(\"#D08770\"),\n punctuation: c.hex(\"#4C566A\"),\n }),\n\n /**\n * - Wrap the output in a <pre> element to preserve whitespace.\n * - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.\n */\n html: new HelpMessageStyle({\n title: (...string) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(string.join(\" \"))}</span>`,\n description: (...string) => `<span style=\"color: #cdd6e8;\">${escapeHTML(string.join(\" \"))}</span>`,\n default: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n optional: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n exampleTitle: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n example: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n command: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n option: (...string) => `<span style=\"color: #17b85d;\">${escapeHTML(string.join(\" \"))}</span>`,\n argument: (...string) => `<span style=\"color: #00ff00;\">${escapeHTML(string.join(\" \"))}</span>`,\n placeholder: (...string) => `<span style=\"color: #db9518;\">${escapeHTML(string.join(\" \"))}</span>`,\n punctuation: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n }),\n\n gruvboxDark: new HelpMessageStyle({\n title: c.bold.hex(\"#FABD2F\"),\n description: c.hex(\"#EBDBB2\"),\n default: c.italic.hex(\"#928374\"),\n optional: c.italic.hex(\"#928374\"),\n exampleTitle: c.hex(\"#FE8019\"),\n example: c.hex(\"#928374\"),\n command: c.hex(\"#B8BB26\"),\n option: c.hex(\"#83A598\"),\n argument: c.hex(\"#D3869B\"),\n placeholder: c.hex(\"#FB4934\"),\n punctuation: c.hex(\"#928374\"),\n }),\n\n monokai: new HelpMessageStyle({\n title: c.bold.hex(\"#AE81FF\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#75715E\"),\n optional: c.italic.hex(\"#75715E\"),\n exampleTitle: c.hex(\"#FD971F\"),\n example: c.hex(\"#75715E\"),\n command: c.hex(\"#A6E22E\"),\n option: c.hex(\"#66D9EF\"),\n argument: c.hex(\"#F92672\"),\n placeholder: c.hex(\"#E6DB74\"),\n punctuation: c.hex(\"#75715E\"),\n }),\n\n oneDark: new HelpMessageStyle({\n title: c.bold.hex(\"#61AFEF\"),\n description: c.hex(\"#ABB2BF\"),\n default: c.italic.hex(\"#5C6370\"),\n optional: c.italic.hex(\"#5C6370\"),\n exampleTitle: c.hex(\"#E5C07B\"),\n example: c.hex(\"#5C6370\"),\n command: c.hex(\"#98C379\"),\n option: c.hex(\"#56B6C2\"),\n argument: c.hex(\"#E06C75\"),\n placeholder: c.hex(\"#C678DD\"),\n punctuation: c.hex(\"#5C6370\"),\n }),\n\n catppuccin: new HelpMessageStyle({\n title: c.bold.hex(\"#89B4FA\"),\n description: c.hex(\"#CDD6F4\"),\n default: c.italic.hex(\"#6C7086\"),\n optional: c.italic.hex(\"#6C7086\"),\n exampleTitle: c.hex(\"#F9E2AF\"),\n example: c.hex(\"#6C7086\"),\n command: c.hex(\"#A6E3A1\"),\n option: c.hex(\"#94E2D5\"),\n argument: c.hex(\"#F38BA8\"),\n placeholder: c.hex(\"#FAB387\"),\n punctuation: c.hex(\"#585B70\"),\n }),\n\n noColors: new HelpMessageStyle({}),\n});\n\nfunction escapeHTML(string: string) {\n return string.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of __getOwnPropNames(t))__hasOwnProp.call(e,o)||o===r||__defProp(e,o,{get:()=>t[o],enumerable:!(a=__getOwnPropDesc(t,o))||a.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),terminal_markdown_exports={};__export(terminal_markdown_exports,{terminalMarkdown:()=>terminalMarkdown}),module.exports=__toCommonJS(terminal_markdown_exports);var import_chalk=__toESM(require("chalk"),1),import_marked=require("marked"),markdownStyle={bold:import_chalk.default.bold,italic:import_chalk.default.italic,boldItalic:import_chalk.default.bold.italic,code:(...e)=>import_chalk.default.bgHex("#333333").whiteBright(` ${e.join(" ")} `),strikethrough:import_chalk.default.strikethrough,link:import_chalk.default.underline,listBullet:import_chalk.default.whiteBright,hr:import_chalk.default.dim,blockquote:(...e)=>import_chalk.default.dim.bold("┃ ")+import_chalk.default.dim(e.join("").replace(/\s\s\n/g," \n"+import_chalk.default.bold("┃ ")))};function styleCode(e){const t=e.split("\n"),r=Math.max(...t.map(e=>e.length)),a="┌"+"─".repeat(r+2)+"┐",o="└"+"─".repeat(r+2)+"┘",n=t.map(e=>import_chalk.default.dim("│ ")+import_chalk.default.dim(e).padEnd(r)+import_chalk.default.dim(" │")).join("\n");return[import_chalk.default.dim(a),n,import_chalk.default.dim(o)].join("\n")}var bullets=["•","◦","▪"],terminalRenderer={list(e){let t=0,r=e;for(;r.parent;)t++,r=r.parent;const a=e.ordered&&e.start?e.start:void 0;return"\n"+e.items.map(r=>this.listitem(Object.assign(r,{depth:t,parent:e,start:a}))).join("\n")},listitem(e){let t="";const r=e;for(const a of e.tokens)"list"===a.type&&(t+=this.parser.parse([Object.assign(a,{parent:r.parent})])),"tokens"in a&&Array.isArray(a.tokens)&&(t+=this.parser.parseInline(a.tokens));let a=" ".repeat(2*r.depth);if(r.task)return a+=r.checked?"☑ ":"☐ ",markdownStyle.listBullet(a)+t;if(void 0!==r.start){const e=r.parent.items.indexOf(r);return a+=r.start+e+". ",markdownStyle.listBullet(a)+t}return a+=bullets[r.depth%bullets.length]+" ",markdownStyle.listBullet(a)+t},link:e=>markdownStyle.link(e.text+" <"+e.href+">"),checkbox:({checked:e})=>e.toString(),code:e=>styleCode(e.text),codespan:({text:e})=>markdownStyle.code(e),def:({raw:e})=>e,del:({text:e})=>markdownStyle.strikethrough(e),paragraph({tokens:e}){return this.parser.parseInline(e)},blockquote:({text:e})=>markdownStyle.blockquote(e),strong({tokens:e}){return markdownStyle.bold(this.parser.parseInline(e))},em({tokens:e}){return markdownStyle.italic(this.parser.parseInline(e))},heading:({text:e})=>markdownStyle.bold(e)+"\n",text:e=>e.raw,space:e=>e.raw.replace(/\n+/g,"\n"),hr:()=>markdownStyle.hr("─".repeat(80)),br:()=>"\n"},terminalMarked=new import_marked.Marked;function terminalMarkdown(e,t="terminal",r=(...e)=>e.join(" ")){if(!e)return"";if("terminal"===t)return r(terminalMarked.parse(e));return`<span class="_markdown">${import_marked.marked.parse(e).trim()}</span>`}terminalMarked.use({renderer:terminalRenderer});
|
|
2
|
-
//# sourceMappingURL=terminal-markdown.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["terminal_markdown_exports","__export","terminalMarkdown","module","exports","__toCommonJS","import_chalk","__toESM","require","import_marked","markdownStyle","bold","c","italic","boldItalic","code","string","bgHex","whiteBright","join","strikethrough","link","underline","listBullet","hr","dim","blockquote","replace","styleCode","text","lines","split","width","Math","max","map","l","length","top","repeat","bottom","body","padEnd","bullets","terminalRenderer","list","token","depth","current","parent","start","ordered","items","item","this","listitem","Object","assign","itemCast","tokens","type","parser","parse","Array","isArray","parseInline","prefix","task","checked","findItemIndex","indexOf","href","checkbox","toString","codespan","def","raw","del","paragraph","strong","em","heading","space","br","terminalMarked","Marked","renderer","ansiTextColor","marked","trim","use"],"sources":["../../../src/help-message/terminal-markdown.ts"],"sourcesContent":["import c from \"chalk\";\nimport { Marked, type RendererObject, type Tokens, marked } from \"marked\";\n\nimport type { ColorFunctionType } from \"../types/help-message-types.ts\";\n\nconst markdownStyle: Record<string, ColorFunctionType> = {\n bold: c.bold,\n italic: c.italic,\n boldItalic: c.bold.italic,\n code: (...string) => c.bgHex(\"#333333\").whiteBright(` ${string.join(\" \")} `),\n strikethrough: c.strikethrough,\n link: c.underline,\n listBullet: c.whiteBright,\n hr: c.dim,\n blockquote: (...string) => c.dim.bold(\"┃ \") + c.dim(string.join(\"\").replace(/\\s\\s\\n/g, \" \\n\" + c.bold(\"┃ \"))),\n};\n\nfunction styleCode(text: string) {\n const lines = text.split(\"\\n\");\n const width = Math.max(...lines.map(l => l.length));\n const top = \"┌\" + \"─\".repeat(width + 2) + \"┐\";\n const bottom = \"└\" + \"─\".repeat(width + 2) + \"┘\";\n\n const body = lines.map(l => c.dim(\"│ \") + c.dim(l).padEnd(width) + c.dim(\" │\")).join(\"\\n\");\n\n return [c.dim(top), body, c.dim(bottom)].join(\"\\n\");\n}\n\nconst bullets = [\"•\", \"◦\", \"▪\"];\n\nconst terminalRenderer: RendererObject<string, string> = {\n list(token) {\n // figure out depth\n let depth = 0;\n let current = token as Tokens.List & { parent: Tokens.List };\n while (current.parent) {\n depth++;\n current = current.parent as Tokens.List & { parent: Tokens.List };\n }\n\n // for ordered lists\n const start = token.ordered && token.start ? token.start : undefined;\n\n const items = token.items.map(item => this.listitem(Object.assign(item, { depth, parent: token, start })));\n return \"\\n\" + items.join(\"\\n\");\n },\n listitem(item) {\n let string = \"\";\n\n const itemCast = item as Tokens.ListItem & { parent: Tokens.List; depth: number; start?: number };\n\n for (const token of item.tokens) {\n if (token.type === \"list\") {\n string += this.parser.parse([Object.assign(token, { parent: itemCast.parent })]);\n }\n\n if (\"tokens\" in token && Array.isArray(token.tokens)) {\n string += this.parser.parseInline(token.tokens);\n }\n }\n\n let prefix = \" \".repeat(itemCast.depth * 2);\n\n // Task\n if (itemCast.task) {\n prefix += itemCast.checked ? \"☑ \" : \"☐ \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Ordered\n if (itemCast.start !== undefined) {\n const findItemIndex = itemCast.parent.items.indexOf(itemCast);\n prefix += itemCast.start + findItemIndex + \". \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Unordered\n prefix += bullets[itemCast.depth % bullets.length] + \" \";\n return markdownStyle.listBullet(prefix) + string;\n },\n link(token) {\n return markdownStyle.link(token.text + \" \" + \"<\" + token.href + \">\");\n },\n checkbox({ checked }) {\n return checked.toString();\n },\n code(token) {\n return styleCode(token.text);\n },\n codespan({ text }) {\n return markdownStyle.code(text);\n },\n def({ raw }) {\n return raw;\n },\n del({ text }) {\n return markdownStyle.strikethrough(text);\n },\n paragraph({ tokens }) {\n return this.parser.parseInline(tokens);\n },\n blockquote({ text }) {\n return markdownStyle.blockquote(text);\n },\n strong({ tokens }) {\n return markdownStyle.bold(this.parser.parseInline(tokens));\n },\n em({ tokens }) {\n return markdownStyle.italic(this.parser.parseInline(tokens));\n },\n heading({ text }) {\n return markdownStyle.bold(text) + \"\\n\";\n },\n text(token) {\n return token.raw;\n },\n space(token) {\n return token.raw.replace(/\\n+/g, \"\\n\");\n },\n hr() {\n return markdownStyle.hr(\"─\".repeat(80));\n },\n br() {\n return \"\\n\";\n },\n};\n\nconst terminalMarked = new Marked();\nterminalMarked.use({ renderer: terminalRenderer });\n\nexport function terminalMarkdown(\n text: string,\n renderer: \"terminal\" | \"html\" = \"terminal\",\n ansiTextColor: ColorFunctionType = (...string) => string.join(\" \"),\n): string {\n if (!text) {\n return \"\";\n }\n\n if (renderer === \"terminal\") {\n return ansiTextColor(terminalMarked.parse(text) as string);\n }\n\n const htmlString = marked.parse(text) as string;\n\n return `<span class=\"_markdown\">${htmlString.trim()}</span>`;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/cjs/index.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of __getOwnPropNames(t))__hasOwnProp.call(e,a)||a===r||__defProp(e,a,{get:()=>t[a],enumerable:!(o=__getOwnPropDesc(t,a))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),index_exports={};__export(index_exports,{HelpMessageStyle:()=>import_styles.HelpMessageStyle,coerce:()=>import_coerce_methods.coerce,defineArguments:()=>import_define_arguments.defineArguments,defineCLI:()=>import_define_cli.defineCLI,defineOptions:()=>import_define_options.defineOptions,defineSubcommand:()=>import_define_subcommand.defineSubcommand,generateBashAutocompleteScript:()=>import_bash_autocomplete_script.generateBashAutocompleteScript,generateCliHelpMessage:()=>import_generate_for_cli.generateCliHelpMessage,generateMarkdown:()=>import_generate_markdown.generateMarkdown,generatePowerShellAutocompleteScript:()=>import_powershell_autocomplete_script.generatePowerShellAutocompleteScript,generateSubcommandHelpMessage:()=>import_generate_for_subcommand.generateSubcommandHelpMessage,generateZshAutocompleteScript:()=>import_zsh_autocomplete_script.generateZshAutocompleteScript,getArgumentsMetadata:()=>import_arguments_metadata.getArgumentsMetadata,getCliMetadata:()=>import_cli_metadata.getCliMetadata,getOptionsMetadata:()=>import_options_metadata.getOptionsMetadata,getSubcommandsMetadata:()=>import_subcommands_metadata.getSubcommandsMetadata,helpMessageStyles:()=>import_styles.helpMessageStyles,printCliHelp:()=>import_print_help.printCliHelp,printSubcommandHelp:()=>import_print_help.printSubcommandHelp}),module.exports=__toCommonJS(index_exports);var import_generate_for_cli=require("./help-message/generate-for-cli.cjs"),import_generate_for_subcommand=require("./help-message/generate-for-subcommand.cjs"),import_print_help=require("./help-message/print-help.cjs"),import_styles=require("./help-message/styles.cjs"),import_bash_autocomplete_script=require("./autocomplete-scripts/bash-autocomplete-script.cjs"),import_powershell_autocomplete_script=require("./autocomplete-scripts/powershell-autocomplete-script.cjs"),import_zsh_autocomplete_script=require("./autocomplete-scripts/zsh-autocomplete-script.cjs"),import_generate_markdown=require("./markdown/generate-markdown.cjs"),import_arguments_metadata=require("./metadata/arguments-metadata.cjs"),import_cli_metadata=require("./metadata/cli-metadata.cjs"),import_options_metadata=require("./metadata/options-metadata.cjs"),import_subcommands_metadata=require("./metadata/subcommands-metadata.cjs"),import_define_arguments=require("./definitions/define-arguments.cjs"),import_define_cli=require("./definitions/define-cli.cjs"),import_define_options=require("./definitions/define-options.cjs"),import_define_subcommand=require("./definitions/define-subcommand.cjs"),import_coerce_methods=require("./coerce/coerce-methods.cjs");
|
|
2
|
-
//# sourceMappingURL=index.cjs.map
|
package/lib/cjs/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["index_exports","__export","HelpMessageStyle","import_styles","coerce","import_coerce_methods","defineArguments","import_define_arguments","defineCLI","import_define_cli","defineOptions","import_define_options","defineSubcommand","import_define_subcommand","generateBashAutocompleteScript","import_bash_autocomplete_script","generateCliHelpMessage","import_generate_for_cli","generateMarkdown","import_generate_markdown","generatePowerShellAutocompleteScript","import_powershell_autocomplete_script","generateSubcommandHelpMessage","import_generate_for_subcommand","generateZshAutocompleteScript","import_zsh_autocomplete_script","getArgumentsMetadata","import_arguments_metadata","getCliMetadata","import_cli_metadata","getOptionsMetadata","import_options_metadata","getSubcommandsMetadata","import_subcommands_metadata","helpMessageStyles","printCliHelp","import_print_help","printSubcommandHelp","module","exports","__toCommonJS","require"],"sources":["../../src/index.ts"],"sourcesContent":["export { generateCliHelpMessage } from \"./help-message/generate-for-cli.ts\";\nexport { generateSubcommandHelpMessage } from \"./help-message/generate-for-subcommand.ts\";\nexport { printCliHelp, printSubcommandHelp } from \"./help-message/print-help.ts\";\nexport { HelpMessageStyle, helpMessageStyles } from \"./help-message/styles.ts\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.ts\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.ts\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.ts\";\nexport { generateMarkdown } from \"./markdown/generate-markdown.ts\";\n\nexport { getArgumentsMetadata } from \"./metadata/arguments-metadata.ts\";\nexport { getCliMetadata } from \"./metadata/cli-metadata.ts\";\nexport { getOptionsMetadata } from \"./metadata/options-metadata.ts\";\nexport { getSubcommandsMetadata } from \"./metadata/subcommands-metadata.ts\";\n\nexport { defineArguments } from \"./definitions/define-arguments.ts\";\nexport { defineCLI } from \"./definitions/define-cli.ts\";\nexport { defineOptions } from \"./definitions/define-options.ts\";\nexport { defineSubcommand } from \"./definitions/define-subcommand.ts\";\n\nexport { coerce } from \"./coerce/coerce-methods.ts\";\n\nexport type * from \"./types/context-types.ts\";\nexport type * from \"./types/definitions-types.ts\";\nexport type * from \"./types/help-message-types.ts\";\nexport type * from \"./types/io-types.ts\";\nexport type * from \"./types/metadata-types.ts\";\nexport type * from \"./types/types.ts\";\n"],"mappings":"8iBAAAA,cAAA,GAAAC,SAAAD,cAAA,CAAAE,iBAAA,IAAAC,cAAAD,iBAAAE,OAAA,IAAAC,sBAAAD,OAAAE,gBAAA,IAAAC,wBAAAD,gBAAAE,UAAA,IAAAC,kBAAAD,UAAAE,cAAA,IAAAC,sBAAAD,cAAAE,iBAAA,IAAAC,yBAAAD,iBAAAE,+BAAA,IAAAC,gCAAAD,+BAAAE,uBAAA,IAAAC,wBAAAD,uBAAAE,iBAAA,IAAAC,yBAAAD,iBAAAE,qCAAA,IAAAC,sCAAAD,qCAAAE,8BAAA,IAAAC,+BAAAD,8BAAAE,8BAAA,IAAAC,+BAAAD,8BAAAE,qBAAA,IAAAC,0BAAAD,qBAAAE,eAAA,IAAAC,oBAAAD,eAAAE,mBAAA,IAAAC,wBAAAD,mBAAAE,uBAAA,IAAAC,4BAAAD,uBAAAE,kBAAA,IAAA/B,cAAA+B,kBAAAC,aAAA,IAAAC,kBAAAD,aAAAE,oBAAA,IAAAD,kBAAAC,sBAAAC,OAAAC,QAAAC,aAAAxC,eAAA,IAAAiB,wBAAuCwB,QAAA,uCACvClB,+BAA8CkB,QAAA,8CAC9CL,kBAAkDK,QAAA,iCAClDtC,cAAoDsC,QAAA,6BAEpD1B,gCAA+C0B,QAAA,uDAC/CpB,sCAAqDoB,QAAA,6DACrDhB,+BAA8CgB,QAAA,sDAC9CtB,yBAAiCsB,QAAA,oCAEjCd,0BAAqCc,QAAA,qCACrCZ,oBAA+BY,QAAA,+BAC/BV,wBAAmCU,QAAA,mCACnCR,4BAAuCQ,QAAA,uCAEvClC,wBAAgCkC,QAAA,sCAChChC,kBAA0BgC,QAAA,gCAC1B9B,sBAA8B8B,QAAA,oCAC9B5B,yBAAiC4B,QAAA,uCAEjCpC,sBAAuBoC,QAAA","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,n)=>{for(var r in n)__defProp(e,r,{get:n[r],enumerable:!0})},__copyProps=(e,n,r,t)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let o of __getOwnPropNames(n))__hasOwnProp.call(e,o)||o===r||__defProp(e,o,{get:()=>n[o],enumerable:!(t=__getOwnPropDesc(n,o))||t.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),generate_markdown_exports={};__export(generate_markdown_exports,{generateMarkdown:()=>generateMarkdown}),module.exports=__toCommonJS(generate_markdown_exports);var import_cli_metadata=require("../metadata/cli-metadata.cjs"),import_utilities=require("../utilities.cjs");function generateMarkdown(e){const n=(0,import_cli_metadata.getCliMetadata)(e);let r="\x3c!-- Auto-generated by zod-args-parser --\x3e\n\n";return r+=`# ${n.name}\n\n`,n.description&&!n.descriptionMarkdown&&(r+=`${forceLineBreak(n.description)}\n`),n.descriptionMarkdown&&(r+=`${forceLineBreak(n.descriptionMarkdown)}\n`),n.example&&(r+=renderExamples(n.example)),n.options.length>0&&(r+="\n## Options:\n\n",r+=renderOptions(n.options,3)),n.arguments.length>0&&(r+="\n## Arguments:\n\n",r+=renderArguments(n.arguments,3)),n.subcommands.length>0&&(r+="\n## Subcommands:\n\n",r+=renderSubcommands(n.subcommands)),r=(0,import_utilities.stripAnsi)(r),r=(0,import_utilities.escapeHtmlTags)(r),r}function renderExamples(e){let n="\n**Example:**\n";return n+="\n",n+="```bash\n",n+=e,n+="\n```\n",n}function renderOptions(e=[],n){let r="";for(let t=0;t<e.length;t++){const o=e[t];if(o.hidden)continue;const a=[o.nameAsArg].concat(o.aliasesAsArgs).join(", "),i=o.placeholder&&` ${o.placeholder}`;r+=`${"#".repeat(n)} \`${a+i}\``,o.optional&&(r+=" _optional_"),r+="\n\n",o.description&&!o.descriptionMarkdown&&(r+=`${forceLineBreak(o.description)}\n`),o.descriptionMarkdown&&(r+=`${forceLineBreak(o.descriptionMarkdown)}\n`),void 0!==o.defaultValue&&(r+=`\n**default:** \`${o.defaultValueAsString}\`\n`),o.example&&(r+=renderExamples(o.example)),t<e.length-1&&(r+="\n")}return r}function renderArguments(e=[],n){let r="";for(let t=0;t<e.length;t++){const o=e[t];o.hidden||(r+=`${"#".repeat(n)} \`${o.name}\``,o.optional&&(r+=" _optional_"),r+="\n\n",o.description&&!o.descriptionMarkdown&&(r+=`${forceLineBreak(o.description)}\n`),o.descriptionMarkdown&&(r+=`${forceLineBreak(o.descriptionMarkdown)}\n`),void 0!==o.defaultValue&&(r+=`\n**default:** \`${o.defaultValueAsString}\`\n`),o.example&&(r+=renderExamples(o.example)),t<e.length-1&&(r+="\n"))}return r}function renderSubcommands(e){let n="";for(let r=0;r<e.length;r++){const t=e[r];if(t.hidden)continue;n+=`### ${[t.name].concat(t.aliases).join(", ")+(t.placeholder&&` ${t.placeholder}`)}\n\n`,t.description&&!t.descriptionMarkdown&&(n+=`${forceLineBreak(t.description)}\n`),t.descriptionMarkdown&&(n+=`${forceLineBreak(t.descriptionMarkdown)}\n`),t.example&&(n+=renderExamples(t.example)),t.options.length>0&&(n+="\n#### Options:\n\n",n+=renderOptions(t.options,4)),t.arguments.length>0&&(n+="\n#### Arguments:\n\n",n+=renderArguments(t.arguments,4)),r<e.length-1&&(n+="\n---\n\n")}return n}function forceLineBreak(e){return e.replace(/(\n+)/g," $1")}
|
|
2
|
-
//# sourceMappingURL=generate-markdown.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["generate_markdown_exports","__export","generateMarkdown","module","exports","__toCommonJS","import_cli_metadata","require","import_utilities","cliDefinition","metadata","getCliMetadata","md","name","description","descriptionMarkdown","forceLineBreak","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","stripAnsi","escapeHtmlTags","examples","outString","optionsMetadata","h","index","hidden","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","repeat","optional","defaultValue","defaultValueAsString","argumentsMetadata","subcommandsMetadata","string","replace"],"sources":["../../../src/markdown/generate-markdown.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/cli-metadata.ts\";\nimport { escapeHtmlTags, stripAnsi } from \"../utilities.ts\";\n\nimport type { Cli } from \"../types/definitions-types.ts\";\nimport type { ArgumentMetadata, OptionMetadata, SubcommandMetadata } from \"../types/metadata-types.ts\";\n\nexport function generateMarkdown(cliDefinition: Cli): string {\n const metadata = getCliMetadata(cliDefinition);\n\n let md = \"<!-- Auto-generated by zod-args-parser -->\\n\\n\";\n\n // Title\n md += `# ${metadata.name}\\n\\n`;\n\n // Description\n if (metadata.description && !metadata.descriptionMarkdown) {\n md += `${forceLineBreak(metadata.description)}\\n`;\n }\n\n // Description Markdown\n if (metadata.descriptionMarkdown) {\n md += `${forceLineBreak(metadata.descriptionMarkdown)}\\n`;\n }\n\n // Examples\n if (metadata.example) {\n md += renderExamples(metadata.example);\n }\n\n // Options\n if (metadata.options.length > 0) {\n md += \"\\n## Options:\\n\\n\";\n md += renderOptions(metadata.options, 3);\n }\n\n // Arguments\n if (metadata.arguments.length > 0) {\n md += \"\\n## Arguments:\\n\\n\";\n md += renderArguments(metadata.arguments, 3);\n }\n\n // Subcommands\n if (metadata.subcommands.length > 0) {\n md += \"\\n## Subcommands:\\n\\n\";\n md += renderSubcommands(metadata.subcommands);\n }\n\n md = stripAnsi(md);\n md = escapeHtmlTags(md);\n\n return md;\n}\n\nfunction renderExamples(examples: string) {\n let outString = \"\\n**Example:**\\n\";\n\n const lang = \"bash\";\n\n outString += \"\\n\";\n outString += \"```\" + lang + \"\\n\";\n outString += examples;\n outString += \"\\n```\\n\";\n\n return outString;\n}\n\nfunction renderOptions(optionsMetadata: OptionMetadata[] = [], h: number) {\n let outString = \"\";\n\n for (let index = 0; index < optionsMetadata.length; index++) {\n const metadata = optionsMetadata[index];\n if (metadata.hidden) continue;\n\n const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outString += `${\"#\".repeat(h)} \\`${aliases + placeholder}\\``;\n\n if (metadata.optional) {\n outString += \" _optional_\";\n }\n\n outString += \"\\n\\n\";\n\n if (metadata.description && !metadata.descriptionMarkdown) {\n outString += `${forceLineBreak(metadata.description)}\\n`;\n }\n\n if (metadata.descriptionMarkdown) {\n outString += `${forceLineBreak(metadata.descriptionMarkdown)}\\n`;\n }\n\n if (metadata.defaultValue !== undefined) {\n outString += `\\n**default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outString += renderExamples(metadata.example);\n }\n\n if (index < optionsMetadata.length - 1) {\n outString += \"\\n\";\n }\n }\n\n return outString;\n}\n\nfunction renderArguments(argumentsMetadata: ArgumentMetadata[] = [], h: number) {\n let outString = \"\";\n\n for (let index = 0; index < argumentsMetadata.length; index++) {\n const metadata = argumentsMetadata[index];\n if (metadata.hidden) continue;\n\n outString += `${\"#\".repeat(h)} \\`${metadata.name}\\``;\n\n if (metadata.optional) {\n outString += \" _optional_\";\n }\n\n outString += \"\\n\\n\";\n\n if (metadata.description && !metadata.descriptionMarkdown) {\n outString += `${forceLineBreak(metadata.description)}\\n`;\n }\n\n if (metadata.descriptionMarkdown) {\n outString += `${forceLineBreak(metadata.descriptionMarkdown)}\\n`;\n }\n\n if (metadata.defaultValue !== undefined) {\n outString += `\\n**default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outString += renderExamples(metadata.example);\n }\n\n if (index < argumentsMetadata.length - 1) {\n outString += \"\\n\";\n }\n }\n\n return outString;\n}\n\nfunction renderSubcommands(subcommandsMetadata: SubcommandMetadata[]) {\n let outString = \"\";\n\n for (let index = 0; index < subcommandsMetadata.length; index++) {\n const metadata = subcommandsMetadata[index];\n if (metadata.hidden) continue;\n\n const aliases = [metadata.name].concat(metadata.aliases).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outString += `### ${aliases + placeholder}\\n\\n`;\n\n if (metadata.description && !metadata.descriptionMarkdown) {\n outString += `${forceLineBreak(metadata.description)}\\n`;\n }\n\n if (metadata.descriptionMarkdown) {\n outString += `${forceLineBreak(metadata.descriptionMarkdown)}\\n`;\n }\n\n if (metadata.example) {\n outString += renderExamples(metadata.example);\n }\n\n if (metadata.options.length > 0) {\n outString += \"\\n#### Options:\\n\\n\";\n outString += renderOptions(metadata.options, 4);\n }\n\n if (metadata.arguments.length > 0) {\n outString += \"\\n#### Arguments:\\n\\n\";\n outString += renderArguments(metadata.arguments, 4);\n }\n\n if (index < subcommandsMetadata.length - 1) {\n outString += \"\\n---\\n\\n\";\n }\n }\n\n return outString;\n}\n\n/** Inserts two trailing spaces before newline. In Markdown, a newline that ends with two spaces forces a line break. */\nfunction forceLineBreak(string: string): string {\n return string.replace(/(\\n+)/g, \" $1\");\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of __getOwnPropNames(t))__hasOwnProp.call(e,a)||a===r||__defProp(e,a,{get:()=>t[a],enumerable:!(o=__getOwnPropDesc(t,a))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),arguments_metadata_exports={};__export(arguments_metadata_exports,{getArgumentsMetadata:()=>getArgumentsMetadata}),module.exports=__toCommonJS(arguments_metadata_exports);var import_utilities=require("../utilities.cjs");function getArgumentsMetadata(e){const t=[];for(const[r,o]of Object.entries(e)){const e=o.meta??{},{optional:a,defaultValue:n}=o._preparedType??(0,import_utilities.defaultValueAndIsOptional)(o.schema);t.push({name:e.name??r,description:e.description??"",descriptionMarkdown:e.descriptionMarkdown??"",defaultValue:n,defaultValueAsString:e.default??(0,import_utilities.stringifyValue)(n)??"",optional:e.optional??a,example:e.example??"",schema:o.schema,hidden:e.hidden??!1})}return t}
|
|
2
|
-
//# sourceMappingURL=arguments-metadata.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["arguments_metadata_exports","__export","getArgumentsMetadata","module","exports","__toCommonJS","import_utilities","require","argumentsDefinition","outputMetadata","name","argument","Object","entries","meta","optional","defaultValue","_preparedType","defaultValueAndIsOptional","schema","push","description","descriptionMarkdown","defaultValueAsString","default","stringifyValue","example","hidden"],"sources":["../../../src/metadata/arguments-metadata.ts"],"sourcesContent":["import { defaultValueAndIsOptional, stringifyValue } from \"../utilities.ts\";\n\nimport type { Argument } from \"../types/definitions-types.ts\";\nimport type { ArgumentMetadata } from \"../types/metadata-types.ts\";\n\nexport function getArgumentsMetadata(argumentsDefinition: Record<string, Argument>): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const [name, argument] of Object.entries(argumentsDefinition)) {\n const meta = argument.meta ?? {};\n\n const { optional, defaultValue } = argument._preparedType ?? defaultValueAndIsOptional(argument.schema);\n\n outputMetadata.push({\n name: meta.name ?? name,\n description: meta.description ?? \"\",\n descriptionMarkdown: meta.descriptionMarkdown ?? \"\",\n defaultValue,\n defaultValueAsString: meta.default ?? stringifyValue(defaultValue) ?? \"\",\n optional: meta.optional ?? optional,\n example: meta.example ?? \"\",\n schema: argument.schema,\n hidden: meta.hidden ?? false,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"8iBAAAA,2BAAA,GAAAC,SAAAD,2BAAA,CAAAE,qBAAA,IAAAA,uBAAAC,OAAAC,QAAAC,aAAAL,4BAAA,IAAAM,iBAA0DC,QAAA,oBAKnD,SAASL,qBAAqBM,GACnC,MAAMC,EAAqC,GAE3C,UAAYC,EAAMC,KAAaC,OAAOC,QAAQL,GAAsB,CAClE,MAAMM,EAAOH,EAASG,MAAQ,CAAC,GAEzBC,SAAEA,EAAAC,aAAUA,GAAiBL,EAASM,gBAAA,EAAiBX,iBAAAY,2BAA0BP,EAASQ,QAEhGV,EAAeW,KAAK,CAClBV,KAAMI,EAAKJ,MAAQA,EACnBW,YAAaP,EAAKO,aAAe,GACjCC,oBAAqBR,EAAKQ,qBAAuB,GACjDN,eACAO,qBAAsBT,EAAKU,UAAA,EAAWlB,iBAAAmB,gBAAeT,IAAiB,GACtED,SAAUD,EAAKC,UAAYA,EAC3BW,QAASZ,EAAKY,SAAW,GACzBP,OAAQR,EAASQ,OACjBQ,OAAQb,EAAKa,SAAU,GAE3B,CAEA,OAAOlB,CACT","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(t,e)=>{for(var a in e)__defProp(t,a,{get:e[a],enumerable:!0})},__copyProps=(t,e,a,o)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let r of __getOwnPropNames(e))__hasOwnProp.call(t,r)||r===a||__defProp(t,r,{get:()=>e[r],enumerable:!(o=__getOwnPropDesc(e,r))||o.enumerable});return t},__toCommonJS=t=>__copyProps(__defProp({},"__esModule",{value:!0}),t),cli_metadata_exports={};__export(cli_metadata_exports,{getCliMetadata:()=>getCliMetadata}),module.exports=__toCommonJS(cli_metadata_exports);var import_arguments_metadata=require("./arguments-metadata.cjs"),import_options_metadata=require("./options-metadata.cjs"),import_subcommands_metadata=require("./subcommands-metadata.cjs");function getCliMetadata(t){const e=t.subcommands??[],a=t.meta??{};return{name:t.cliName,description:a.description??"",descriptionMarkdown:a.descriptionMarkdown??"",usage:a.usage??"",example:a.example??"",allowPositionals:t.allowPositionals??!1,options:t.options?(0,import_options_metadata.getOptionsMetadata)(t.options):[],arguments:t.arguments?(0,import_arguments_metadata.getArgumentsMetadata)(t.arguments):[],subcommands:e?(0,import_subcommands_metadata.getSubcommandsMetadata)(e):[]}}
|
|
2
|
-
//# sourceMappingURL=cli-metadata.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cli_metadata_exports","__export","getCliMetadata","module","exports","__toCommonJS","import_arguments_metadata","require","import_options_metadata","import_subcommands_metadata","cliDefinition","subcommands","meta","name","cliName","description","descriptionMarkdown","usage","example","allowPositionals","options","getOptionsMetadata","arguments","getArgumentsMetadata","getSubcommandsMetadata"],"sources":["../../../src/metadata/cli-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./arguments-metadata.ts\";\nimport { getOptionsMetadata } from \"./options-metadata.ts\";\nimport { getSubcommandsMetadata } from \"./subcommands-metadata.ts\";\n\nimport type { Cli } from \"../types/definitions-types.ts\";\nimport type { CliMetadata } from \"../types/metadata-types.ts\";\n\nexport function getCliMetadata(cliDefinition: Cli): CliMetadata {\n const subcommands = cliDefinition.subcommands ?? [];\n\n const meta = cliDefinition.meta ?? {};\n\n const outputMetadata: CliMetadata = {\n name: cliDefinition.cliName,\n description: meta.description ?? \"\",\n descriptionMarkdown: meta.descriptionMarkdown ?? \"\",\n usage: meta.usage ?? \"\",\n example: meta.example ?? \"\",\n allowPositionals: cliDefinition.allowPositionals ?? false,\n options: cliDefinition.options ? getOptionsMetadata(cliDefinition.options) : [],\n arguments: cliDefinition.arguments ? getArgumentsMetadata(cliDefinition.arguments) : [],\n subcommands: subcommands ? getSubcommandsMetadata(subcommands) : [],\n };\n\n return outputMetadata;\n}\n"],"mappings":"8iBAAAA,qBAAA,GAAAC,SAAAD,qBAAA,CAAAE,eAAA,IAAAA,iBAAAC,OAAAC,QAAAC,aAAAL,sBAAA,IAAAM,0BAAqCC,QAAA,4BACrCC,wBAAmCD,QAAA,0BACnCE,4BAAuCF,QAAA,8BAKhC,SAASL,eAAeQ,GAC7B,MAAMC,EAAcD,EAAcC,aAAe,GAE3CC,EAAOF,EAAcE,MAAQ,CAAC,EAcpC,MAZoC,CAClCC,KAAMH,EAAcI,QACpBC,YAAaH,EAAKG,aAAe,GACjCC,oBAAqBJ,EAAKI,qBAAuB,GACjDC,MAAOL,EAAKK,OAAS,GACrBC,QAASN,EAAKM,SAAW,GACzBC,iBAAkBT,EAAcS,mBAAoB,EACpDC,QAASV,EAAcU,SAAA,EAAUZ,wBAAAa,oBAAmBX,EAAcU,SAAW,GAC7EE,UAAWZ,EAAcY,WAAA,EAAYhB,0BAAAiB,sBAAqBb,EAAcY,WAAa,GACrFX,YAAaA,GAAA,EAAcF,4BAAAe,wBAAuBb,GAAe,GAIrE","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of __getOwnPropNames(t))__hasOwnProp.call(e,a)||a===r||__defProp(e,a,{get:()=>t[a],enumerable:!(o=__getOwnPropDesc(t,a))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),options_metadata_exports={};__export(options_metadata_exports,{getOptionsMetadata:()=>getOptionsMetadata}),module.exports=__toCommonJS(options_metadata_exports);var import_parser_utilities=require("../parse/parser-utilities.cjs"),import_utilities=require("../utilities.cjs");function getOptionsMetadata(e){const t=[];if(!e)return t;for(const[r,o]of Object.entries(e)){const e=o.aliases??[],a=o.meta??{},{optional:i,defaultValue:p}=o._preparedType??(0,import_utilities.defaultValueAndIsOptional)(o.schema);t.push({name:r,nameAsArg:(0,import_parser_utilities.transformOptionToArgument)(r),aliases:e,aliasesAsArgs:e.map(e=>(0,import_parser_utilities.transformOptionToArgument)(e)),placeholder:a.placeholder??"",description:a.description??"",descriptionMarkdown:a.descriptionMarkdown??"",optional:a.optional??i,example:a.example??"",defaultValue:p,defaultValueAsString:a.default??(0,import_utilities.stringifyValue)(p)??"",schema:o.schema,hidden:a.hidden??!1})}return t}
|
|
2
|
-
//# sourceMappingURL=options-metadata.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["options_metadata_exports","__export","getOptionsMetadata","module","exports","__toCommonJS","import_parser_utilities","require","import_utilities","optionsDefinition","outputMetadata","optionName","option","Object","entries","aliases","meta","optional","defaultValue","_preparedType","defaultValueAndIsOptional","schema","push","name","nameAsArg","transformOptionToArgument","aliasesAsArgs","map","alias","placeholder","description","descriptionMarkdown","example","defaultValueAsString","default","stringifyValue","hidden"],"sources":["../../../src/metadata/options-metadata.ts"],"sourcesContent":["import { transformOptionToArgument } from \"../parse/parser-utilities.ts\";\nimport { defaultValueAndIsOptional, stringifyValue } from \"../utilities.ts\";\n\nimport type { Option } from \"../types/definitions-types.ts\";\nimport type { OptionMetadata } from \"../types/metadata-types.ts\";\n\nexport function getOptionsMetadata(optionsDefinition: Record<string, Option>): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!optionsDefinition) {\n return outputMetadata;\n }\n\n for (const [optionName, option] of Object.entries(optionsDefinition)) {\n const aliases = option.aliases ?? [];\n const meta = option.meta ?? {};\n\n const { optional, defaultValue } = option._preparedType ?? defaultValueAndIsOptional(option.schema);\n\n outputMetadata.push({\n name: optionName,\n nameAsArg: transformOptionToArgument(optionName),\n aliases,\n aliasesAsArgs: aliases.map(alias => transformOptionToArgument(alias)),\n placeholder: meta.placeholder ?? \"\",\n description: meta.description ?? \"\",\n descriptionMarkdown: meta.descriptionMarkdown ?? \"\",\n optional: meta.optional ?? optional,\n example: meta.example ?? \"\",\n defaultValue,\n defaultValueAsString: meta.default ?? stringifyValue(defaultValue) ?? \"\",\n schema: option.schema,\n hidden: meta.hidden ?? false,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"8iBAAAA,yBAAA,GAAAC,SAAAD,yBAAA,CAAAE,mBAAA,IAAAA,qBAAAC,OAAAC,QAAAC,aAAAL,0BAAA,IAAAM,wBAA0CC,QAAA,iCAC1CC,iBAA0DD,QAAA,oBAKnD,SAASL,mBAAmBO,GACjC,MAAMC,EAAmC,GAEzC,IAAKD,EACH,OAAOC,EAGT,UAAYC,EAAYC,KAAWC,OAAOC,QAAQL,GAAoB,CACpE,MAAMM,EAAUH,EAAOG,SAAW,GAC5BC,EAAOJ,EAAOI,MAAQ,CAAC,GAEvBC,SAAEA,EAAAC,aAAUA,GAAiBN,EAAOO,gBAAA,EAAiBX,iBAAAY,2BAA0BR,EAAOS,QAE5FX,EAAeY,KAAK,CAClBC,KAAMZ,EACNa,WAAA,EAAWlB,wBAAAmB,2BAA0Bd,GACrCI,UACAW,cAAeX,EAAQY,IAAIC,IAAA,EAAStB,wBAAAmB,2BAA0BG,IAC9DC,YAAab,EAAKa,aAAe,GACjCC,YAAad,EAAKc,aAAe,GACjCC,oBAAqBf,EAAKe,qBAAuB,GACjDd,SAAUD,EAAKC,UAAYA,EAC3Be,QAAShB,EAAKgB,SAAW,GACzBd,eACAe,qBAAsBjB,EAAKkB,UAAA,EAAW1B,iBAAA2B,gBAAejB,IAAiB,GACtEG,OAAQT,EAAOS,OACfe,OAAQpB,EAAKoB,SAAU,GAE3B,CAEA,OAAO1B,CACT","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var a in t)__defProp(e,a,{get:t[a],enumerable:!0})},__copyProps=(e,t,a,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of __getOwnPropNames(t))__hasOwnProp.call(e,r)||r===a||__defProp(e,r,{get:()=>t[r],enumerable:!(o=__getOwnPropDesc(t,r))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),subcommands_metadata_exports={};__export(subcommands_metadata_exports,{getSubcommandsMetadata:()=>getSubcommandsMetadata}),module.exports=__toCommonJS(subcommands_metadata_exports);var import_arguments_metadata=require("./arguments-metadata.cjs"),import_options_metadata=require("./options-metadata.cjs");function getSubcommandsMetadata(e){const t=[];if(!e||0===e.length)return t;for(const a of e){const e=a.options?(0,import_options_metadata.getOptionsMetadata)(a.options):[],o=a.arguments?(0,import_arguments_metadata.getArgumentsMetadata)(a.arguments):[],r=a.meta??{};t.push({name:a.name,aliases:a.aliases??[],description:r.description??"",descriptionMarkdown:r.descriptionMarkdown??"",placeholder:r.placeholder??"",usage:r.usage??"",example:r.example??"",allowPositionals:a.allowPositionals??!1,options:e,arguments:o,hidden:r.hidden??!1})}return t}
|
|
2
|
-
//# sourceMappingURL=subcommands-metadata.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["subcommands_metadata_exports","__export","getSubcommandsMetadata","module","exports","__toCommonJS","import_arguments_metadata","require","import_options_metadata","commandDefinition","outputMetadata","length","subcommand","optionsMetadata","options","getOptionsMetadata","argumentsMetadata","arguments","getArgumentsMetadata","meta","push","name","aliases","description","descriptionMarkdown","placeholder","usage","example","allowPositionals","hidden"],"sources":["../../../src/metadata/subcommands-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./arguments-metadata.ts\";\nimport { getOptionsMetadata } from \"./options-metadata.ts\";\n\nimport type { Subcommand } from \"../types/definitions-types.ts\";\nimport type { SubcommandMetadata } from \"../types/metadata-types.ts\";\n\nexport function getSubcommandsMetadata(commandDefinition: readonly Subcommand[]): SubcommandMetadata[] {\n const outputMetadata: SubcommandMetadata[] = [];\n\n if (!commandDefinition || commandDefinition.length === 0) {\n return outputMetadata;\n }\n\n for (const subcommand of commandDefinition) {\n const optionsMetadata = subcommand.options ? getOptionsMetadata(subcommand.options) : [];\n const argumentsMetadata = subcommand.arguments ? getArgumentsMetadata(subcommand.arguments) : [];\n const meta = subcommand.meta ?? {};\n\n outputMetadata.push({\n name: subcommand.name,\n aliases: subcommand.aliases ?? [],\n description: meta.description ?? \"\",\n descriptionMarkdown: meta.descriptionMarkdown ?? \"\",\n placeholder: meta.placeholder ?? \"\",\n usage: meta.usage ?? \"\",\n example: meta.example ?? \"\",\n allowPositionals: subcommand.allowPositionals ?? false,\n options: optionsMetadata,\n arguments: argumentsMetadata,\n hidden: meta.hidden ?? false,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"8iBAAAA,6BAAA,GAAAC,SAAAD,6BAAA,CAAAE,uBAAA,IAAAA,yBAAAC,OAAAC,QAAAC,aAAAL,8BAAA,IAAAM,0BAAqCC,QAAA,4BACrCC,wBAAmCD,QAAA,0BAK5B,SAASL,uBAAuBO,GACrC,MAAMC,EAAuC,GAE7C,IAAKD,GAAkD,IAA7BA,EAAkBE,OAC1C,OAAOD,EAGT,UAAWE,KAAcH,EAAmB,CAC1C,MAAMI,EAAkBD,EAAWE,SAAA,EAAUN,wBAAAO,oBAAmBH,EAAWE,SAAW,GAChFE,EAAoBJ,EAAWK,WAAA,EAAYX,0BAAAY,sBAAqBN,EAAWK,WAAa,GACxFE,EAAOP,EAAWO,MAAQ,CAAC,EAEjCT,EAAeU,KAAK,CAClBC,KAAMT,EAAWS,KACjBC,QAASV,EAAWU,SAAW,GAC/BC,YAAaJ,EAAKI,aAAe,GACjCC,oBAAqBL,EAAKK,qBAAuB,GACjDC,YAAaN,EAAKM,aAAe,GACjCC,MAAOP,EAAKO,OAAS,GACrBC,QAASR,EAAKQ,SAAW,GACzBC,iBAAkBhB,EAAWgB,mBAAoB,EACjDd,QAASD,EACTI,UAAWD,EACXa,OAAQV,EAAKU,SAAU,GAE3B,CAEA,OAAOnB,CACT","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,o)=>{for(var t in o)__defProp(e,t,{get:o[t],enumerable:!0})},__copyProps=(e,o,t,r)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let n of __getOwnPropNames(o))__hasOwnProp.call(e,n)||n===t||__defProp(e,n,{get:()=>o[n],enumerable:!(r=__getOwnPropDesc(o,n))||r.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),cli_context_builder_exports={};__export(cli_context_builder_exports,{buildCliContext:()=>buildCliContext}),module.exports=__toCommonJS(cli_context_builder_exports);var import_parser_utilities=require("../parser-utilities.cjs");function buildCliContext(e,o){const t=o.subcommands??[],r=new Set(t.flatMap(e=>[e.name,...e.aliases||[]]));e=(0,import_parser_utilities.decoupleFlags)(e);const n={subcommand:void 0},i=()=>(0,import_parser_utilities.findSubcommandDefinition)(n.subcommand,o);for(let o=0;o<e.length;o++){const t=e[o];if(0===o&&(n.subcommand=r.has(t)?t:void 0,n.subcommand))continue;const s=t.split("=").filter(Boolean),a=t.includes("="),p=s[0],u=s[1];if((0,import_parser_utilities.isOptionArgument)(p)){if((0,import_parser_utilities.isFlagArgument)(p)&&a)throw new Error(`flag arguments cannot be assigned using "=": "${t}"`);const r=i();if(!r)throw new Error(`unknown subcommand: "${n.subcommand}"`);if(!r.options){if(!n.subcommand)throw new Error(`options are not allowed here: "${p}"`);throw new Error(`subcommand "${n.subcommand}" does not accept options: "${p}"`)}const s=(0,import_parser_utilities.findOption)(p,r.options);if(!s)throw new Error(`unknown option: "${p}"`);const[l,m]=s;if(n.options&&l in n.options)throw new Error(`duplicated option: "${p}"`);if(!m._preparedType)throw new Error(`internal error: missing prepared type for option "${l}"`);const{schema:c,optional:d,defaultValue:f,coerceTo:_}=m._preparedType,g=e[o+1];let w=a?u:g;if("boolean"===_){a||(w="true");p.startsWith("--no-")&&["true","false"].includes(w.toLowerCase())&&(w="true"===w?"false":"true")}if(void 0===w)throw new Error(`expected a value for "${p}" but got nothing`);if(!a&&(0,import_parser_utilities.isOptionArgument)(w))throw new Error(`expected a value for "${p}" but got an argument "${g}"`);n.options??(n.options={}),n.options[l]={schema:c,optional:d,defaultValue:f,flag:p,stringValue:w,source:"terminal"},a||"boolean"===_||o++;continue}const l=i();if(l?.arguments){n.arguments??(n.arguments={});const e=Object.keys(n.arguments).length,o=Object.entries(l.arguments);if(e<o.length){const[r,i]=o[e];if(!i._preparedType)throw new Error(`internal error: missing prepared type for argument "${e}"`);const{schema:s,optional:a,defaultValue:p}=i._preparedType;n.arguments[r]={schema:s,optional:a,defaultValue:p,stringValue:t,source:"terminal"};continue}}if(!l?.allowPositionals){if(!n.subcommand)throw new Error(`unexpected argument "${t}": positionals arguments are not allowed here`);throw new Error(`unexpected argument "${t}": positionals arguments are not allowed for subcommand "${n.subcommand}"`)}n.positionals??(n.positionals=[]),n.positionals.push(t)}const s=i();if(!s)throw new Error(`unknown subcommand: "${n.subcommand}"`);if(s.options){n.options??(n.options={});for(const[e,o]of Object.entries(s.options)){if(e in n.options)continue;if(!o._preparedType)throw new Error(`internal error: missing prepared type for option "${e}"`);const{schema:t,optional:r,defaultValue:i}=o._preparedType;if(!r)throw new Error(`missing required option: ${(0,import_parser_utilities.transformOptionToArgument)(e)}`);void 0!==i&&(n.options[e]={schema:t,optional:r,defaultValue:i,source:"default"})}}if(s.arguments){n.arguments??(n.arguments={});const e=Object.keys(n.arguments).length,o=Object.entries(s.arguments),t=o.length;if(e<t)for(let r=e;r<t;r++){const[e,t]=o[r];if(!t._preparedType)throw new Error(`internal error: missing prepared type for the argument "${e}"`);const{schema:i,optional:s,defaultValue:a}=t._preparedType;if(!s)throw new Error(`The argument "${e}" is required`);void 0!==a&&(n.arguments[e]={schema:i,optional:s,defaultValue:a,source:"default"})}}return s.allowPositionals&&(n.positionals??(n.positionals=[])),n}
|
|
2
|
-
//# sourceMappingURL=cli-context-builder.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cli_context_builder_exports","__export","buildCliContext","module","exports","__toCommonJS","import_parser_utilities","require","argv","cliDefinition","subcommandArray","subcommands","allSubcommands","Set","flatMap","c","name","aliases","decoupleFlags","context","subcommand","getCommandDefinition","findSubcommandDefinition","index","length","argvItem","has","argumentAndValue","split","filter","Boolean","argumentWithEquals","includes","argument","argumentValue","isOptionArgument","isFlagArgument","Error","commandDefinition","options","nameOptionTuple","findOption","optionName","optionDefinition","_preparedType","schema","optional","defaultValue","coerceTo","nextArgument","optionValue","startsWith","toLowerCase","flag","stringValue","source","arguments","currentArgumentCount","Object","keys","argumentDefinitionEntries","entries","argumentDefinition","allowPositionals","positionals","push","transformOptionToArgument","argumentsDefinitionLength"],"sources":["../../../../src/parse/context/cli-context-builder.ts"],"sourcesContent":["import {\n decoupleFlags,\n findOption,\n findSubcommandDefinition,\n isFlagArgument,\n isOptionArgument,\n transformOptionToArgument,\n} from \"../parser-utilities.ts\";\n\nimport type { ContextWide } from \"../../types/context-types.ts\";\nimport type { Cli } from \"../../types/definitions-types.ts\";\n\n/**\n * Parse argv and create a cli context\n *\n * @throws {Error}\n */\nexport function buildCliContext(argv: string[], cliDefinition: Cli) {\n const subcommandArray = cliDefinition.subcommands ?? [];\n const allSubcommands = new Set<string>(subcommandArray.flatMap(c => [c.name, ...(c.aliases || [])]));\n\n // decouple flags E.g. `-rf` -> `-r, -f`\n argv = decoupleFlags(argv);\n\n const context: ContextWide = {\n subcommand: undefined,\n };\n\n /** Get the current subcommand definition or cli definition if subcommand name is `undefined` object */\n const getCommandDefinition = () => findSubcommandDefinition(context.subcommand, cliDefinition);\n\n for (let index = 0; index < argv.length; index++) {\n const argvItem = argv[index];\n\n // * Subcommand check\n if (index === 0) {\n context.subcommand = allSubcommands.has(argvItem) ? argvItem : undefined;\n\n // First argument is a subcommand. Skip to the next argument\n if (context.subcommand) continue;\n }\n\n // * Option check\n\n const argumentAndValue = argvItem.split(\"=\").filter(Boolean); // E.g --option=value -> [\"--option\", \"value\"]\n const argumentWithEquals = argvItem.includes(\"=\"); // E.g --option=value\n const argument = argumentAndValue[0];\n const argumentValue: string | undefined = argumentAndValue[1];\n\n if (isOptionArgument(argument)) {\n if (isFlagArgument(argument) && argumentWithEquals) {\n throw new Error(`flag arguments cannot be assigned using \"=\": \"${argvItem}\"`);\n }\n\n const commandDefinition = getCommandDefinition();\n if (!commandDefinition) {\n throw new Error(`unknown subcommand: \"${context.subcommand}\"`);\n }\n\n if (!commandDefinition.options) {\n if (!context.subcommand) {\n throw new Error(`options are not allowed here: \"${argument}\"`);\n }\n\n throw new Error(`subcommand \"${context.subcommand}\" does not accept options: \"${argument}\"`);\n }\n\n const nameOptionTuple = findOption(argument, commandDefinition.options);\n if (!nameOptionTuple) {\n throw new Error(`unknown option: \"${argument}\"`);\n }\n\n const [optionName, optionDefinition] = nameOptionTuple;\n\n if (context.options && optionName in context.options) {\n throw new Error(`duplicated option: \"${argument}\"`);\n }\n\n if (!optionDefinition._preparedType) {\n throw new Error(`internal error: missing prepared type for option \"${optionName}\"`);\n }\n\n const { schema, optional, defaultValue, coerceTo } = optionDefinition._preparedType;\n\n const nextArgument = argv[index + 1];\n\n let optionValue: string | boolean = argumentWithEquals ? argumentValue : nextArgument;\n\n // infer value for boolean options\n if (coerceTo === \"boolean\") {\n if (!argumentWithEquals) {\n optionValue = \"true\";\n }\n\n const isNegated = argument.startsWith(\"--no-\");\n\n if (isNegated && [\"true\", \"false\"].includes(optionValue.toLowerCase())) {\n optionValue = optionValue === \"true\" ? \"false\" : \"true\";\n }\n }\n\n if (optionValue === undefined) {\n throw new Error(`expected a value for \"${argument}\" but got nothing`);\n }\n\n if (!argumentWithEquals && isOptionArgument(optionValue)) {\n throw new Error(`expected a value for \"${argument}\" but got an argument \"${nextArgument}\"`);\n }\n\n context.options ??= {};\n context.options[optionName] = {\n schema,\n optional,\n defaultValue,\n flag: argument,\n stringValue: optionValue,\n source: \"terminal\",\n };\n\n // Skip to the next argument if it is the current option's value.\n if (!argumentWithEquals && coerceTo !== \"boolean\") {\n index++;\n }\n\n continue;\n }\n\n const commandDefinition = getCommandDefinition();\n\n // * Arguments check\n if (commandDefinition?.arguments) {\n context.arguments ??= {};\n\n const currentArgumentCount = Object.keys(context.arguments).length;\n const argumentDefinitionEntries = Object.entries(commandDefinition.arguments);\n\n // The current argument is a typed argument and not a positional\n if (currentArgumentCount < argumentDefinitionEntries.length) {\n const [name, argumentDefinition] = argumentDefinitionEntries[currentArgumentCount];\n\n if (!argumentDefinition._preparedType) {\n throw new Error(`internal error: missing prepared type for argument \"${currentArgumentCount}\"`);\n }\n\n const { schema, optional, defaultValue } = argumentDefinition._preparedType;\n\n context.arguments[name] = { schema, optional, defaultValue, stringValue: argvItem, source: \"terminal\" };\n continue;\n }\n }\n\n // The current argument is a positional and not a typed argument (when `allowPositionals` is enabled)\n if (commandDefinition?.allowPositionals) {\n context.positionals ??= [];\n context.positionals.push(argvItem);\n continue;\n }\n\n if (!context.subcommand) {\n throw new Error(`unexpected argument \"${argvItem}\": positionals arguments are not allowed here`);\n }\n\n throw new Error(\n `unexpected argument \"${argvItem}\": positionals arguments are not allowed for subcommand \"${context.subcommand}\"`,\n );\n }\n\n const commandDefinition = getCommandDefinition();\n if (!commandDefinition) {\n throw new Error(`unknown subcommand: \"${context.subcommand}\"`);\n }\n\n // Options\n if (commandDefinition.options) {\n context.options ??= {};\n\n for (const [name, optionDefinition] of Object.entries(commandDefinition.options)) {\n // option already added to the context (found during argument parsing)\n if (name in context.options) continue;\n\n if (!optionDefinition._preparedType) {\n throw new Error(`internal error: missing prepared type for option \"${name}\"`);\n }\n\n const { schema, optional, defaultValue } = optionDefinition._preparedType;\n\n if (optional) {\n // optional without default value\n if (defaultValue === undefined) {\n continue;\n }\n\n // optional with default value\n context.options[name] = { schema, optional, defaultValue, source: \"default\" };\n continue;\n }\n\n // required option\n throw new Error(`missing required option: ${transformOptionToArgument(name)}`);\n }\n }\n\n // Arguments\n if (commandDefinition.arguments) {\n context.arguments ??= {};\n\n const currentArgumentCount = Object.keys(context.arguments).length;\n\n const argumentDefinitionEntries = Object.entries(commandDefinition.arguments);\n const argumentsDefinitionLength = argumentDefinitionEntries.length;\n\n // missing arguments\n if (currentArgumentCount < argumentsDefinitionLength) {\n for (let index = currentArgumentCount; index < argumentsDefinitionLength; index++) {\n const [name, argumentDefinition] = argumentDefinitionEntries[index];\n\n if (!argumentDefinition._preparedType) {\n throw new Error(`internal error: missing prepared type for the argument \"${name}\"`);\n }\n\n const { schema, optional, defaultValue } = argumentDefinition._preparedType;\n\n if (optional) {\n // optional argument without default value\n if (defaultValue === undefined) {\n continue;\n }\n\n // optional argument with default value\n context.arguments[name] = { schema, optional, defaultValue, source: \"default\" };\n continue;\n }\n\n // required argument\n throw new Error(`The argument \"${name}\" is required`);\n }\n }\n }\n\n // make sure `positionals` is defined when `allowPositionals` is enabled\n if (commandDefinition.allowPositionals) {\n context.positionals ??= [];\n }\n\n return context;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,o)=>{for(var t in o)__defProp(e,t,{get:o[t],enumerable:!0})},__copyProps=(e,o,t,r)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let n of __getOwnPropNames(o))__hasOwnProp.call(e,n)||n===t||__defProp(e,n,{get:()=>o[n],enumerable:!(r=__getOwnPropDesc(o,n))||r.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),object_context_builder_exports={};function buildObjectContext(e,o){const t={subcommand:"cliName"in o?void 0:o.name};return o.options&&buildForOptionsOrArguments(o.options,t,e.options,"options"),o.arguments&&buildForOptionsOrArguments(o.arguments,t,e.arguments,"arguments"),o.allowPositionals&&(t.positionals??(t.positionals=e.positionals)),t}function buildForOptionsOrArguments(e,o,t,r){const n=Object.entries(e);for(const[e,s]of n){if(!s._preparedType)throw new Error(`internal error: missing prepared type for ${r.slice(0,-1)} "${e}"`);const{schema:n,optional:i,defaultValue:p}=s._preparedType;if(t&&e in t){const s=t[e];o[r]??(o[r]={}),o[r][e]=void 0===s?{schema:n,optional:i,defaultValue:p,source:"default"}:{schema:n,optional:i,defaultValue:p,passedValue:s,source:"programmatic"};continue}if(!i)throw new Error(`the ${r.slice(0,-1)} "${e}" is required`);o[r]??(o[r]={}),o[r][e]={schema:n,optional:i,defaultValue:p,source:"default"}}}__export(object_context_builder_exports,{buildObjectContext:()=>buildObjectContext}),module.exports=__toCommonJS(object_context_builder_exports);
|
|
2
|
-
//# sourceMappingURL=object-context-builder.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["object_context_builder_exports","buildObjectContext","inputValues","commandDefinition","context","subcommand","name","options","buildForOptionsOrArguments","arguments","allowPositionals","positionals","definitionRecord","inputRecord","type","definitionEntries","Object","entries","definition","_preparedType","Error","slice","schema","optional","defaultValue","passedValue","source","__export","module","exports","__toCommonJS"],"sources":["../../../../src/parse/context/object-context-builder.ts"],"sourcesContent":["import type { ContextWide } from \"../../types/context-types.ts\";\nimport type { Argument, Cli, Option, Subcommand } from \"../../types/definitions-types.ts\";\nimport type { InputTypeWide } from \"../../types/io-types.ts\";\n\n/** @throws {Error} */\nexport function buildObjectContext(inputValues: InputTypeWide, commandDefinition: Subcommand | Cli) {\n const context: ContextWide = {\n subcommand: \"cliName\" in commandDefinition ? undefined : commandDefinition.name,\n };\n\n if (commandDefinition.options) {\n buildForOptionsOrArguments(commandDefinition.options, context, inputValues.options, \"options\");\n }\n\n if (commandDefinition.arguments) {\n buildForOptionsOrArguments(commandDefinition.arguments, context, inputValues.arguments, \"arguments\");\n }\n\n if (commandDefinition.allowPositionals) {\n context.positionals ??= inputValues.positionals;\n }\n\n return context;\n}\n\nfunction buildForOptionsOrArguments(\n definitionRecord: Record<string, Option> | Record<string, Argument>,\n context: ContextWide,\n inputRecord: Record<string, unknown> | undefined,\n type: \"options\" | \"arguments\",\n) {\n const definitionEntries = Object.entries(definitionRecord) as [string, Option][] | [string, Argument][];\n\n for (const [name, definition] of definitionEntries) {\n if (!definition._preparedType) {\n throw new Error(`internal error: missing prepared type for ${type.slice(0, -1)} \"${name}\"`);\n }\n\n const { schema, optional, defaultValue } = definition._preparedType;\n\n // Case the value is passed\n if (inputRecord && name in inputRecord) {\n const passedValue = inputRecord[name];\n\n context[type] ??= {};\n context[type][name] =\n passedValue === undefined\n ? { schema, optional, defaultValue, source: \"default\" }\n : { schema, optional, defaultValue, passedValue, source: \"programmatic\" };\n\n continue;\n }\n\n // case the value is not passed\n if (!optional) {\n throw new Error(`the ${type.slice(0, -1)} \"${name}\" is required`);\n }\n\n // case the value is optional\n context[type] ??= {};\n context[type][name] = { schema, optional, defaultValue, source: \"default\" };\n }\n}\n"],"mappings":"8iBAAAA,+BAAA,GAKO,SAASC,mBAAmBC,EAA4BC,GAC7D,MAAMC,EAAuB,CAC3BC,WAAY,YAAaF,OAAoB,EAAYA,EAAkBG,MAe7E,OAZIH,EAAkBI,SACpBC,2BAA2BL,EAAkBI,QAASH,EAASF,EAAYK,QAAS,WAGlFJ,EAAkBM,WACpBD,2BAA2BL,EAAkBM,UAAWL,EAASF,EAAYO,UAAW,aAGtFN,EAAkBO,mBACpBN,EAAQO,cAARP,EAAQO,YAAgBT,EAAYS,cAG/BP,CACT,CAEA,SAASI,2BACPI,EACAR,EACAS,EACAC,GAEA,MAAMC,EAAoBC,OAAOC,QAAQL,GAEzC,UAAYN,EAAMY,KAAeH,EAAmB,CAClD,IAAKG,EAAWC,cACd,MAAM,IAAIC,MAAM,6CAA6CN,EAAKO,MAAM,GAAG,OAAQf,MAGrF,MAAMgB,OAAEA,EAAAC,SAAQA,EAAAC,aAAUA,GAAiBN,EAAWC,cAGtD,GAAIN,GAAeP,KAAQO,EAAa,CACtC,MAAMY,EAAcZ,EAAYP,GAEhCF,EAAAU,KAAAV,EAAAU,GAAkB,CAAC,GACnBV,EAAQU,GAAMR,QACI,IAAhBmB,EACI,CAAEH,SAAQC,WAAUC,eAAcE,OAAQ,WAC1C,CAAEJ,SAAQC,WAAUC,eAAcC,cAAaC,OAAQ,gBAE7D,QACF,CAGA,IAAKH,EACH,MAAM,IAAIH,MAAM,OAAON,EAAKO,MAAM,GAAG,OAAQf,kBAI/CF,EAAAU,KAAAV,EAAAU,GAAkB,CAAC,GACnBV,EAAQU,GAAMR,GAAQ,CAAEgB,SAAQC,WAAUC,eAAcE,OAAQ,UAClE,CACF,CA9DAC,SAAA3B,+BAAA,CAAAC,mBAAA,IAAAA,qBAAA2B,OAAAC,QAAAC,aAAA9B","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var n in t)__defProp(e,n,{get:t[n],enumerable:!0})},__copyProps=(e,t,n,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of __getOwnPropNames(t))__hasOwnProp.call(e,r)||r===n||__defProp(e,r,{get:()=>t[r],enumerable:!(o=__getOwnPropDesc(t,r))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),parser_utilities_exports={};function findSubcommandDefinition(e,t){return void 0===e?t:t.subcommands?t.subcommands.find(t=>t.name===e||e&&t.aliases&&t.aliases.includes(e)):void 0}function findOption(e,t){const n=optionArgumentToVariableNames(e),o=e.startsWith("--no-");return Object.entries(t).find(([e,t])=>{if(n.has(e))return!0;const r=t._preparedType&&"boolean"===t._preparedType.coerceTo;return!!(o&&r&&n.has(negateOption(e)))||!!t.aliases&&(!!t.aliases.some(e=>n.has(e))||!!(o&&r&&t.aliases.map(e=>negateOption(e)).some(e=>n.has(e))))})}function decoupleFlags(e){const t=/^-[a-z0-9]{2,}$/i,n=[];for(const o of e){if(!t.test(o)){n.push(o);continue}const e=o.slice(1).split("").map(e=>"-"+e);n.push(...e)}return n}function optionArgumentToVariableNames(e){if(!e.startsWith("-"))throw new Error(`invalid option name: ${e}`);e=(e=e.startsWith("--")?e.slice(2):e.slice(1)).toLowerCase();const t=new Set,n=e.replace(/-(.)/g,e=>e[1].toUpperCase());t.add(n),t.add(n.replace(/^(.)/,e=>e.toUpperCase()));const o=e.replace(/-(.)/g,e=>"_"+e[1]);return t.add(o),t.add(o.toUpperCase()),t}function isFlagArgument(e){return/^-[A-Za-z]$/.test(e)}function isLongArgument(e){return/^--[A-Za-z-]+[A-Za-z0-9]$/.test(e)}function isOptionArgument(e){return"string"==typeof e&&(isFlagArgument(e)||isLongArgument(e))}function negateOption(e){return"no"+e.replace(/^[a-z]/,e=>e.toUpperCase())}function transformOptionToArgument(e){return 1===e.length?`-${e.toLowerCase()}`:/^[a-z_]+$/.test(e)||/^[A-Z_]+$/.test(e)?`--${(e=e.replace(/_/g,"-")).toLowerCase()}`:`--${(e=e.replace(/[A-Z]/g,(e,t)=>t>0?"-"+e:e)).toLowerCase()}`}__export(parser_utilities_exports,{decoupleFlags:()=>decoupleFlags,findOption:()=>findOption,findSubcommandDefinition:()=>findSubcommandDefinition,isFlagArgument:()=>isFlagArgument,isOptionArgument:()=>isOptionArgument,negateOption:()=>negateOption,optionArgumentToVariableNames:()=>optionArgumentToVariableNames,transformOptionToArgument:()=>transformOptionToArgument}),module.exports=__toCommonJS(parser_utilities_exports);
|
|
2
|
-
//# sourceMappingURL=parser-utilities.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["parser_utilities_exports","findSubcommandDefinition","subcommandName","cliDefinition","subcommands","find","c","name","aliases","includes","findOption","optionArgument","options","validVariableNames","optionArgumentToVariableNames","isNegated","startsWith","Object","entries","optionName","option","has","isBool","_preparedType","coerceTo","negateOption","some","a","map","alias","decoupleFlags","arguments_","flagsRe","result","argument","test","push","decoupledArray","slice","split","Error","toLowerCase","results","Set","camelCase","replace","m","toUpperCase","add","snake_case","g","isFlagArgument","isLongArgument","isOptionArgument","transformOptionToArgument","length","match","index","__export","module","exports","__toCommonJS"],"sources":["../../../src/parse/parser-utilities.ts"],"sourcesContent":["import type { Cli, Option, Subcommand } from \"../types/definitions-types.ts\";\n\n/**\n * Retrieves a subcommand object from an array of subcommands by matching the provided subcommand name against the\n * subcommand's name or its aliases.\n *\n * @param subcommandName - The name or alias of the subcommand to search for.\n * @param subcommandArr - An array of `Subcommand` objects to search within.\n * @returns The matching `Subcommand` object if found; otherwise, `undefined`.\n */\nexport function findSubcommandDefinition(\n subcommandName: string | undefined,\n cliDefinition: Cli,\n): Subcommand | Cli | undefined {\n if (subcommandName === undefined) {\n return cliDefinition;\n }\n\n if (!cliDefinition.subcommands) {\n return;\n }\n\n return cliDefinition.subcommands.find(c => {\n // match for undefined too\n if (c.name === subcommandName) {\n return true;\n }\n\n // match for aliases\n return subcommandName && c.aliases && c.aliases.includes(subcommandName);\n });\n}\n\n/**\n * Finds and returns an `Option` object from the provided list that matches the given argument string.\n *\n * The function supports matching by option name, aliases, and their negated forms (e.g., `--no-` prefix).\n *\n * @param optionArgument - The argument string to match (e.g., `--foo`, `--no-bar`, `-f`).\n * @param options - An array of `Option` objects to search through.\n * @returns The matching `Option` object if found; otherwise, `undefined`.\n */\nexport function findOption(optionArgument: string, options: Record<string, Option>): [string, Option] | undefined {\n const validVariableNames = optionArgumentToVariableNames(optionArgument);\n const isNegated = optionArgument.startsWith(\"--no-\");\n\n const option = Object.entries(options).find(([optionName, option]) => {\n if (validVariableNames.has(optionName)) {\n return true;\n }\n\n const isBool = option._preparedType && option._preparedType.coerceTo === \"boolean\";\n\n if (isNegated && isBool && validVariableNames.has(negateOption(optionName))) {\n return true;\n }\n\n if (!option.aliases) {\n return false;\n }\n\n if (option.aliases.some(a => validVariableNames.has(a))) {\n return true;\n }\n\n if (isNegated && isBool && option.aliases.map(alias => negateOption(alias)).some(a => validVariableNames.has(a))) {\n return true;\n }\n\n return false;\n });\n\n return option;\n}\n\n/** - Decouple flags E.g. `-rf` -> `-r, -f` */\nexport function decoupleFlags(arguments_: string[]): string[] {\n const flagsRe = /^-[a-z0-9]{2,}$/i;\n\n const result = [];\n for (const argument of arguments_) {\n const isCoupled = flagsRe.test(argument);\n\n if (!isCoupled) {\n result.push(argument);\n continue;\n }\n\n const decoupledArray = argument\n .slice(1)\n .split(\"\")\n .map(c => \"-\" + c);\n\n result.push(...decoupledArray);\n }\n\n return result;\n}\n\n/**\n * Transforms an option name to a set of variants: `camelCase`, `PascalCase`, `snake_case`, `SCREAMING_SNAKE_CASE`.\n *\n * **Example** for `--input-dir`\n *\n * - CamelCase: `inputDir`\n * - PascalCase: `InputDir`\n * - Snake_case: `input_dir`\n * - SCREAMING_SNAKE_CASE: `INPUT_DIR`\n *\n * @param name - Should start with `'--'` or `'-'`\n */\nexport function optionArgumentToVariableNames(name: string): Set<string> {\n if (!name.startsWith(\"-\")) {\n throw new Error(`invalid option name: ${name}`);\n }\n\n name = name.startsWith(\"--\") ? name.slice(2) : name.slice(1); // remove prefix\n name = name.toLowerCase(); // lowercase\n\n const results = new Set<string>();\n\n // camelCase\n const camelCase = name.replace(/-(.)/g, m => m[1].toUpperCase());\n results.add(camelCase);\n\n // PascalCase (UpperCamelCase)\n results.add(camelCase.replace(/^(.)/, m => m.toUpperCase()));\n\n // snake_case\n const snake_case = name.replace(/-(.)/g, g => \"_\" + g[1]);\n results.add(snake_case);\n\n // SCREAMING_SNAKE_CASE\n results.add(snake_case.toUpperCase());\n\n return results;\n}\n\n/** - Check if an arg string is a short arg. E.g. `-i` -> `true` */\nexport function isFlagArgument(name: string): boolean {\n return /^-[A-Za-z]$/.test(name);\n}\n\n/** - Check if an arg string is a long arg. E.g. `--input-dir` -> `true` */\nfunction isLongArgument(name: string): boolean {\n return /^--[A-Za-z-]+[A-Za-z0-9]$/.test(name);\n}\n\n/** - Check if an arg string is an options arg. E.g. `--input-dir` -> `true` , `-i` -> `true` */\nexport function isOptionArgument(name: string | boolean): boolean {\n if (typeof name !== \"string\") {\n return false;\n }\n\n return isFlagArgument(name) || isLongArgument(name);\n}\n\n/**\n * Transform option name to no name.\n *\n * - `verbose` -> `noVerbose`\n * - `v` -> `noV`\n */\nexport function negateOption(name: string): string {\n return \"no\" + name.replace(/^[a-z]/, g => g.toUpperCase());\n}\n\n/** - Reverse of `transformArg`. E.g. `InputDir` -> `--input-dir` , `i` -> `-i` */\nexport function transformOptionToArgument(name: string): string {\n // single letter option name\n if (name.length === 1) {\n return `-${name.toLowerCase()}`;\n }\n\n // snake_case, SCREAMING_SNAKE_CASE\n if (/^[a-z_]+$/.test(name) || /^[A-Z_]+$/.test(name)) {\n name = name.replace(/_/g, \"-\");\n return `--${name.toLowerCase()}`;\n }\n\n // camelCase, PascalCase\n\n // add \"-\" before camel case letters except for the first letter\n name = name.replace(/[A-Z]/g, (match, index: number) => (index > 0 ? \"-\" + match : match));\n\n return `--${name.toLowerCase()}`;\n}\n"],"mappings":"8iBAAAA,yBAAA,GAUO,SAASC,yBACdC,EACAC,GAEA,YAAuB,IAAnBD,EACKC,EAGJA,EAAcC,YAIZD,EAAcC,YAAYC,KAAKC,GAEhCA,EAAEC,OAASL,GAKRA,GAAkBI,EAAEE,SAAWF,EAAEE,QAAQC,SAASP,SAX3D,CAaF,CAWO,SAASQ,WAAWC,EAAwBC,GACjD,MAAMC,EAAqBC,8BAA8BH,GACnDI,EAAYJ,EAAeK,WAAW,SA4B5C,OA1BeC,OAAOC,QAAQN,GAASP,KAAK,EAAEc,EAAYC,MACxD,GAAIP,EAAmBQ,IAAIF,GACzB,OAAO,EAGT,MAAMG,EAASF,EAAOG,eAAmD,YAAlCH,EAAOG,cAAcC,SAE5D,SAAIT,GAAaO,GAAUT,EAAmBQ,IAAII,aAAaN,QAI1DC,EAAOZ,YAIRY,EAAOZ,QAAQkB,KAAKC,GAAKd,EAAmBQ,IAAIM,QAIhDZ,GAAaO,GAAUF,EAAOZ,QAAQoB,IAAIC,GAASJ,aAAaI,IAAQH,KAAKC,GAAKd,EAAmBQ,IAAIM,OAQjH,CAGO,SAASG,cAAcC,GAC5B,MAAMC,EAAU,mBAEVC,EAAS,GACf,UAAWC,KAAYH,EAAY,CAGjC,IAFkBC,EAAQG,KAAKD,GAEf,CACdD,EAAOG,KAAKF,GACZ,QACF,CAEA,MAAMG,EAAiBH,EACpBI,MAAM,GACNC,MAAM,IACNX,IAAItB,GAAK,IAAMA,GAElB2B,EAAOG,QAAQC,EACjB,CAEA,OAAOJ,CACT,CAcO,SAASnB,8BAA8BP,GAC5C,IAAKA,EAAKS,WAAW,KACnB,MAAM,IAAIwB,MAAM,wBAAwBjC,KAI1CA,GADAA,EAAOA,EAAKS,WAAW,MAAQT,EAAK+B,MAAM,GAAK/B,EAAK+B,MAAM,IAC9CG,cAEZ,MAAMC,EAAU,IAAIC,IAGdC,EAAYrC,EAAKsC,QAAQ,QAASC,GAAKA,EAAE,GAAGC,eAClDL,EAAQM,IAAIJ,GAGZF,EAAQM,IAAIJ,EAAUC,QAAQ,OAAQC,GAAKA,EAAEC,gBAG7C,MAAME,EAAa1C,EAAKsC,QAAQ,QAASK,GAAK,IAAMA,EAAE,IAMtD,OALAR,EAAQM,IAAIC,GAGZP,EAAQM,IAAIC,EAAWF,eAEhBL,CACT,CAGO,SAASS,eAAe5C,GAC7B,MAAO,cAAc4B,KAAK5B,EAC5B,CAGA,SAAS6C,eAAe7C,GACtB,MAAO,4BAA4B4B,KAAK5B,EAC1C,CAGO,SAAS8C,iBAAiB9C,GAC/B,MAAoB,iBAATA,IAIJ4C,eAAe5C,IAAS6C,eAAe7C,GAChD,CAQO,SAASkB,aAAalB,GAC3B,MAAO,KAAOA,EAAKsC,QAAQ,SAAUK,GAAKA,EAAEH,cAC9C,CAGO,SAASO,0BAA0B/C,GAExC,OAAoB,IAAhBA,EAAKgD,OACA,IAAIhD,EAAKkC,gBAId,YAAYN,KAAK5B,IAAS,YAAY4B,KAAK5B,GAEtC,MADPA,EAAOA,EAAKsC,QAAQ,KAAM,MACTJ,gBAQZ,MAFPlC,EAAOA,EAAKsC,QAAQ,SAAU,CAACW,EAAOC,IAAmBA,EAAQ,EAAI,IAAMD,EAAQA,IAElEf,eACnB,CA1LAiB,SAAA1D,yBAAA,CAAA8B,cAAA,IAAAA,cAAApB,WAAA,IAAAA,WAAAT,yBAAA,IAAAA,yBAAAkD,eAAA,IAAAA,eAAAE,iBAAA,IAAAA,iBAAA5B,aAAA,IAAAA,aAAAX,8BAAA,IAAAA,8BAAAwC,0BAAA,IAAAA,4BAAAK,OAAAC,QAAAC,aAAA7D","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,r)=>{for(var t in r)__defProp(e,t,{get:r[t],enumerable:!0})},__copyProps=(e,r,t,o)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let i of __getOwnPropNames(r))__hasOwnProp.call(e,i)||i===t||__defProp(e,i,{get:()=>r[i],enumerable:!(o=__getOwnPropDesc(r,i))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),safe_parse_exports={};__export(safe_parse_exports,{safeParse:()=>safeParse,safeParseAsync:()=>safeParseAsync}),module.exports=__toCommonJS(safe_parse_exports);var import_validate_cli_definition=require("../definitions/validate-cli-definition.cjs"),import_utilities=require("../utilities.cjs"),import_cli_context_builder=require("./context/cli-context-builder.cjs"),import_parser_utilities=require("./parser-utilities.cjs"),import_validate_context=require("./validation/validate-context.cjs");function safeParse(e,r){const t=safeParseCore(e,r);if(t.error)return{error:t.error};const{validateResult:o,subcommandObject:i}=t;if(i._onExecute)for(const e of i._onExecute)e(o);return{error:void 0,value:o}}async function safeParseAsync(e,r){const t=safeParseCore(e,r);if(t.error)return{error:t.error};const{validateResult:o,subcommandObject:i}=t;if(i._onExecute)for(const e of i._onExecute)await e(o);return{error:void 0,value:o}}function safeParseCore(e,r){const t="string"==typeof e?(0,import_utilities.parseArgv)(e):e;try{(0,import_validate_cli_definition.validateCliDefinition)(r)}catch(e){return{error:e}}let o;try{o=(0,import_cli_context_builder.buildCliContext)(t,r)}catch(e){return{error:e}}const i=(0,import_parser_utilities.findSubcommandDefinition)(o.subcommand,r);if(!i){return{error:new Error(`Subcommand "${o.subcommand}" does not exist`)}}let n;try{n=(0,import_validate_context.validate)(o,i)}catch(e){return{error:e}}return{error:void 0,validateResult:n,subcommandObject:i}}
|
|
2
|
-
//# sourceMappingURL=safe-parse.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["safe_parse_exports","__export","safeParse","safeParseAsync","module","exports","__toCommonJS","import_validate_cli_definition","require","import_utilities","import_cli_context_builder","import_parser_utilities","import_validate_context","stringOrArgv","cliDefinition","core","safeParseCore","error","validateResult","subcommandObject","_onExecute","handler","value","async","argv","parseArgv","validateCliDefinition","cliContext","buildCliContext","findSubcommandDefinition","subcommand","Error","validate"],"sources":["../../../src/parse/safe-parse.ts"],"sourcesContent":["import { validateCliDefinition } from \"../definitions/validate-cli-definition.ts\";\nimport { parseArgv } from \"../utilities.ts\";\nimport { buildCliContext } from \"./context/cli-context-builder.ts\";\nimport { findSubcommandDefinition } from \"./parser-utilities.ts\";\nimport { validate } from \"./validation/validate-context.ts\";\n\nimport type { Cli } from \"../types/definitions-types.ts\";\nimport type { CliParseResultWide } from \"../types/types.ts\";\n\nexport function safeParse(stringOrArgv: string | string[], cliDefinition: Cli): CliParseResultWide {\n const core = safeParseCore(stringOrArgv, cliDefinition);\n if (core.error) return { error: core.error };\n\n const { validateResult, subcommandObject } = core;\n\n // Fire action (throw errors caused by the usage of the action hook)\n if (subcommandObject._onExecute) {\n for (const handler of subcommandObject._onExecute) {\n handler(validateResult);\n }\n }\n\n return { error: undefined, value: validateResult };\n}\n\nexport async function safeParseAsync(stringOrArgv: string | string[], cliDefinition: Cli): Promise<CliParseResultWide> {\n const core = safeParseCore(stringOrArgv, cliDefinition);\n if (core.error) return { error: core.error };\n\n const { validateResult, subcommandObject } = core;\n\n // Fire action (throw errors caused by the usage of the action hook)\n if (subcommandObject._onExecute) {\n for (const handler of subcommandObject._onExecute) {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n await handler(validateResult);\n }\n }\n\n return { error: undefined, value: validateResult };\n}\n\nfunction safeParseCore(stringOrArgv: string | string[], cliDefinition: Cli) {\n const argv = typeof stringOrArgv === \"string\" ? parseArgv(stringOrArgv) : stringOrArgv;\n\n // validate cli definition\n try {\n validateCliDefinition(cliDefinition);\n } catch (error) {\n return { error: error as Error };\n }\n\n // Parse\n let cliContext;\n try {\n cliContext = buildCliContext(argv, cliDefinition);\n } catch (error) {\n return { error: error as Error };\n }\n\n const subcommandObject = findSubcommandDefinition(cliContext.subcommand, cliDefinition);\n if (!subcommandObject) {\n const error = new Error(`Subcommand \"${cliContext.subcommand}\" does not exist`);\n return { error };\n }\n\n // Validate context\n let validateResult;\n try {\n validateResult = validate(cliContext, subcommandObject);\n } catch (error) {\n return { error: error as Error };\n }\n\n return { error: undefined, validateResult, subcommandObject };\n}\n"],"mappings":"8iBAAAA,mBAAA,GAAAC,SAAAD,mBAAA,CAAAE,UAAA,IAAAA,UAAAC,eAAA,IAAAA,iBAAAC,OAAAC,QAAAC,aAAAN,oBAAA,IAAAO,+BAAsCC,QAAA,8CACtCC,iBAA0BD,QAAA,oBAC1BE,2BAAgCF,QAAA,qCAChCG,wBAAyCH,QAAA,0BACzCI,wBAAyBJ,QAAA,qCAKlB,SAASN,UAAUW,EAAiCC,GACzD,MAAMC,EAAOC,cAAcH,EAAcC,GACzC,GAAIC,EAAKE,MAAO,MAAO,CAAEA,MAAOF,EAAKE,OAErC,MAAMC,eAAEA,EAAAC,iBAAgBA,GAAqBJ,EAG7C,GAAII,EAAiBC,WACnB,UAAWC,KAAWF,EAAiBC,WACrCC,EAAQH,GAIZ,MAAO,CAAED,WAAO,EAAWK,MAAOJ,EACpC,CAEAK,eAAsBpB,eAAeU,EAAiCC,GACpE,MAAMC,EAAOC,cAAcH,EAAcC,GACzC,GAAIC,EAAKE,MAAO,MAAO,CAAEA,MAAOF,EAAKE,OAErC,MAAMC,eAAEA,EAAAC,iBAAgBA,GAAqBJ,EAG7C,GAAII,EAAiBC,WACnB,UAAWC,KAAWF,EAAiBC,iBAE/BC,EAAQH,GAIlB,MAAO,CAAED,WAAO,EAAWK,MAAOJ,EACpC,CAEA,SAASF,cAAcH,EAAiCC,GACtD,MAAMU,EAA+B,iBAAjBX,GAAiB,EAAWJ,iBAAAgB,WAAUZ,GAAgBA,EAG1E,KACE,EAAAN,+BAAAmB,uBAAsBZ,EACxB,OAASG,GACP,MAAO,CAAEA,QACX,CAGA,IAAIU,EACJ,IACEA,GAAA,EAAajB,2BAAAkB,iBAAgBJ,EAAMV,EACrC,OAASG,GACP,MAAO,CAAEA,QACX,CAEA,MAAME,GAAA,EAAmBR,wBAAAkB,0BAAyBF,EAAWG,WAAYhB,GACzE,IAAKK,EAAkB,CAErB,MAAO,CAAEF,MADK,IAAIc,MAAM,eAAeJ,EAAWG,8BAEpD,CAGA,IAAIZ,EACJ,IACEA,GAAA,EAAiBN,wBAAAoB,UAASL,EAAYR,EACxC,OAASF,GACP,MAAO,CAAEA,QACX,CAEA,MAAO,CAAEA,WAAO,EAAWC,iBAAgBC,mBAC7C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(t,e)=>{for(var o in e)__defProp(t,o,{get:e[o],enumerable:!0})},__copyProps=(t,e,o,r)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let n of __getOwnPropNames(e))__hasOwnProp.call(t,n)||n===o||__defProp(t,n,{get:()=>e[n],enumerable:!(r=__getOwnPropDesc(e,n))||r.enumerable});return t},__toCommonJS=t=>__copyProps(__defProp({},"__esModule",{value:!0}),t),validate_context_exports={};__export(validate_context_exports,{validate:()=>validate}),module.exports=__toCommonJS(validate_context_exports);var import_arguments=require("./validators/arguments.cjs"),import_options=require("./validators/options.cjs");function validate(t,e){const o={subcommand:t.subcommand,positionals:t.positionals,context:t};return(0,import_options.validateOptions)({commandDefinition:e,context:t,output:o}),(0,import_arguments.validateArguments)({commandDefinition:e,context:t,output:o}),o}
|
|
2
|
-
//# sourceMappingURL=validate-context.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["validate_context_exports","__export","validate","module","exports","__toCommonJS","import_arguments","require","import_options","context","commandDefinition","output","subcommand","positionals","validateOptions","validateArguments"],"sources":["../../../../src/parse/validation/validate-context.ts"],"sourcesContent":["import { validateArguments } from \"./validators/arguments.ts\";\nimport { validateOptions } from \"./validators/options.ts\";\n\nimport type { ContextWide } from \"../../types/context-types.ts\";\nimport type { Cli, Subcommand } from \"../../types/definitions-types.ts\";\nimport type { OutputTypeWide } from \"../../types/io-types.ts\";\n\n/** @throws {Error} */\nexport function validate(context: ContextWide, commandDefinition: Subcommand | Cli) {\n const output: OutputTypeWide = {\n subcommand: context.subcommand,\n positionals: context.positionals,\n context: context,\n };\n\n // validate options\n validateOptions({ commandDefinition, context, output });\n\n // validate arguments\n validateArguments({ commandDefinition, context, output });\n\n return output;\n}\n"],"mappings":"8iBAAAA,yBAAA,GAAAC,SAAAD,yBAAA,CAAAE,SAAA,IAAAA,WAAAC,OAAAC,QAAAC,aAAAL,0BAAA,IAAAM,iBAAkCC,QAAA,8BAClCC,eAAgCD,QAAA,4BAOzB,SAASL,SAASO,EAAsBC,GAC7C,MAAMC,EAAyB,CAC7BC,WAAYH,EAAQG,WACpBC,YAAaJ,EAAQI,YACrBJ,WASF,OALA,EAAAD,eAAAM,iBAAgB,CAAEJ,oBAAmBD,UAASE,YAG9C,EAAAL,iBAAAS,mBAAkB,CAAEL,oBAAmBD,UAASE,WAEzCA,CACT","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===r||__defProp(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),arguments_exports={};__export(arguments_exports,{validateArguments:()=>validateArguments}),module.exports=__toCommonJS(arguments_exports);var import_utilities=require("../../../utilities.cjs"),import_conflict=require("./conflict.cjs"),import_exclusive=require("./exclusive.cjs"),import_requires=require("./requires.cjs");function validateArguments({commandDefinition:e,context:t,output:r}){if(!t.arguments)return;r.arguments??(r.arguments={});const o=e.arguments;if(!o)throw new Error(`Subcommand "${t.subcommand}" does not have arguments`);for(const[r,n]of Object.entries(o))(0,import_requires.validateRequires)({name:r,commandDefinition:e,optionOrArgument:n,context:t,type:"option"}),(0,import_exclusive.validateExclusive)({name:r,optionOrArgument:n,context:t,type:"option"}),(0,import_conflict.validateConflictWith)({name:r,optionOrArgument:n,context:t,type:"option"});const n=Object.entries(t.arguments);for(const[e,{passedValue:i,stringValue:s,source:a,schema:m}]of n){const n="programmatic"===a,p=o[e];if(!p)throw new Error(`Subcommand "${t.subcommand}" does not have the argument "${e}"`);if(!p._preparedType)throw new Error(`internal error: missing prepared type for the argument "${e}"`);const u=n?(0,import_utilities.validateSync)(m,i):p._preparedType.validate(s);if(u.issues)throw new Error(`The argument ${e} argument ${n?"":`"${s}"`} is invalid: ${u.issues.map(e=>e.message).join(", ")}`);r.arguments[e]=u.value}}
|
|
2
|
-
//# sourceMappingURL=arguments.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["arguments_exports","__export","validateArguments","module","exports","__toCommonJS","import_utilities","require","import_conflict","import_exclusive","import_requires","commandDefinition","context","output","arguments","argumentsDefinition","Error","subcommand","argumentName","argument","Object","entries","validateRequires","name","optionOrArgument","type","validateExclusive","validateConflictWith","argumentContextEntries","passedValue","stringValue","source","schema","isProgrammatic","_preparedType","safeParseResult","validateSync","validate","issues","map","issue","message","join","value"],"sources":["../../../../../src/parse/validation/validators/arguments.ts"],"sourcesContent":["import { validateSync } from \"../../../utilities.ts\";\nimport { validateConflictWith } from \"./conflict.ts\";\nimport { validateExclusive } from \"./exclusive.ts\";\nimport { validateRequires } from \"./requires.ts\";\n\nimport type { ContextWide } from \"../../../types/context-types.ts\";\nimport type { Cli, Subcommand } from \"../../../types/definitions-types.ts\";\nimport type { OutputTypeWide } from \"../../../types/io-types.ts\";\n\ninterface ValidateArgument {\n commandDefinition: Subcommand | Cli;\n context: ContextWide;\n output: OutputTypeWide;\n}\n\n/** @throws {Error} */\nexport function validateArguments({ commandDefinition, context, output }: ValidateArgument) {\n if (!context.arguments) return;\n\n output.arguments ??= {};\n\n const argumentsDefinition = commandDefinition.arguments;\n if (!argumentsDefinition) {\n throw new Error(`Subcommand \"${context.subcommand}\" does not have arguments`);\n }\n\n for (const [argumentName, argument] of Object.entries(argumentsDefinition)) {\n validateRequires({ name: argumentName, commandDefinition, optionOrArgument: argument, context, type: \"option\" });\n validateExclusive({ name: argumentName, optionOrArgument: argument, context, type: \"option\" });\n validateConflictWith({ name: argumentName, optionOrArgument: argument, context, type: \"option\" });\n }\n\n const argumentContextEntries = Object.entries(context.arguments);\n\n for (const [name, { passedValue, stringValue, source, schema }] of argumentContextEntries) {\n const isProgrammatic = source === \"programmatic\";\n\n const argument = argumentsDefinition[name];\n if (!argument) {\n throw new Error(`Subcommand \"${context.subcommand}\" does not have the argument \"${name}\"`);\n }\n\n if (!argument._preparedType) {\n throw new Error(`internal error: missing prepared type for the argument \"${name}\"`);\n }\n\n const safeParseResult = isProgrammatic\n ? validateSync(schema, passedValue)\n : argument._preparedType.validate(stringValue);\n\n if (safeParseResult.issues) {\n throw new Error(\n `The argument ${name} argument ${isProgrammatic ? \"\" : `\"${stringValue}\"`} is invalid: ${safeParseResult.issues.map(issue => issue.message).join(\", \")}`,\n );\n }\n\n output.arguments[name] = safeParseResult.value;\n }\n}\n"],"mappings":"8iBAAAA,kBAAA,GAAAC,SAAAD,kBAAA,CAAAE,kBAAA,IAAAA,oBAAAC,OAAAC,QAAAC,aAAAL,mBAAA,IAAAM,iBAA6BC,QAAA,0BAC7BC,gBAAqCD,QAAA,kBACrCE,iBAAkCF,QAAA,mBAClCG,gBAAiCH,QAAA,kBAa1B,SAASL,mBAAkBS,kBAAEA,EAAAC,QAAmBA,EAAAC,OAASA,IAC9D,IAAKD,EAAQE,UAAW,OAExBD,EAAOC,YAAPD,EAAOC,UAAc,CAAC,GAEtB,MAAMC,EAAsBJ,EAAkBG,UAC9C,IAAKC,EACH,MAAM,IAAIC,MAAM,eAAeJ,EAAQK,uCAGzC,UAAYC,EAAcC,KAAaC,OAAOC,QAAQN,IACpD,EAAAL,gBAAAY,kBAAiB,CAAEC,KAAML,EAAcP,oBAAmBa,iBAAkBL,EAAUP,UAASa,KAAM,YACrG,EAAAhB,iBAAAiB,mBAAkB,CAAEH,KAAML,EAAcM,iBAAkBL,EAAUP,UAASa,KAAM,YACnF,EAAAjB,gBAAAmB,sBAAqB,CAAEJ,KAAML,EAAcM,iBAAkBL,EAAUP,UAASa,KAAM,WAGxF,MAAMG,EAAyBR,OAAOC,QAAQT,EAAQE,WAEtD,UAAYS,GAAMM,YAAEA,EAAAC,YAAaA,EAAAC,OAAaA,EAAAC,OAAQA,MAAaJ,EAAwB,CACzF,MAAMK,EAA4B,iBAAXF,EAEjBZ,EAAWJ,EAAoBQ,GACrC,IAAKJ,EACH,MAAM,IAAIH,MAAM,eAAeJ,EAAQK,2CAA2CM,MAGpF,IAAKJ,EAASe,cACZ,MAAM,IAAIlB,MAAM,2DAA2DO,MAG7E,MAAMY,EAAkBF,GAAA,EACpB3B,iBAAA8B,cAAaJ,EAAQH,GACrBV,EAASe,cAAcG,SAASP,GAEpC,GAAIK,EAAgBG,OAClB,MAAM,IAAItB,MACR,gBAAgBO,cAAiBU,EAAiB,GAAK,IAAIH,oBAA8BK,EAAgBG,OAAOC,IAAIC,GAASA,EAAMC,SAASC,KAAK,SAIrJ7B,EAAOC,UAAUS,GAAQY,EAAgBQ,KAC3C,CACF","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var o in t)__defProp(e,o,{get:t[o],enumerable:!0})},__copyProps=(e,t,o,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of __getOwnPropNames(t))__hasOwnProp.call(e,r)||r===o||__defProp(e,r,{get:()=>t[r],enumerable:!(n=__getOwnPropDesc(t,r))||n.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),conflict_exports={};__export(conflict_exports,{validateConflictWith:()=>validateConflictWith}),module.exports=__toCommonJS(conflict_exports);var import_explicitly_passed=require("./explicitly-passed.cjs");function validateConflictWith({name:e,optionOrArgument:t,context:o,type:n}){const r=t.conflictWith;if(!r||0===r.length)return;if(!(0,import_explicitly_passed.isOptionOrArgumentExplicitlyPassed)(e,o))return;const s=[],i=[];if(o.options)for(const[t,n]of Object.entries(o.options))t!==e&&r.includes(t)&&"default"!==n.source&&s.push(t);if(o.arguments)for(const[t,n]of Object.entries(o.arguments))t!==e&&r.includes(t)&&"default"!==n.source&&i.push(t);if(0===s.length&&0===i.length)return;const p=[];if(s.length>0){const e=s.map(e=>`"${e}"`).join(", "),t=s.length>1?"s":"";p.push(`option${t} ${e}`)}if(i.length>0){const e=i.map(e=>`"${e}"`).join(", "),t=i.length>1?"s":"";p.push(`argument${t} ${e}`)}const c=p.join(" and ");throw new Error(`${n} "${e}" cannot be used with the ${c} because they are mutually exclusive.`)}
|
|
2
|
-
//# sourceMappingURL=conflict.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["conflict_exports","__export","validateConflictWith","module","exports","__toCommonJS","import_explicitly_passed","require","name","optionOrArgument","context","type","conflictWith","length","isOptionOrArgumentExplicitlyPassed","conflictedOptions","conflictedArguments","options","optionName","optionContext","Object","entries","includes","source","push","arguments","argumentName","argumentContext","parts","formatted","map","o","join","s","a","joinedParts","Error"],"sources":["../../../../../src/parse/validation/validators/conflict.ts"],"sourcesContent":["import { isOptionOrArgumentExplicitlyPassed } from \"./explicitly-passed.ts\";\n\nimport type { ContextWide } from \"../../../types/context-types.ts\";\nimport type { Argument, Option } from \"../../../types/definitions-types.ts\";\n\ninterface ValidateConflictOptions {\n /** The option or argument name to check its `requires` */\n name: string;\n\n /** The option or argument to check */\n optionOrArgument: Option | Argument;\n\n /** The parsed context */\n context: ContextWide;\n\n /** What we're checking */\n type: \"option\" | \"argument\";\n}\n\n/** @throws {Error} */\nexport function validateConflictWith({ name, optionOrArgument, context, type }: ValidateConflictOptions) {\n const conflictWith = optionOrArgument.conflictWith;\n if (!conflictWith || conflictWith.length === 0) return;\n\n // Check if the options/argument is passed\n if (!isOptionOrArgumentExplicitlyPassed(name, context)) return;\n\n const conflictedOptions: string[] = [];\n const conflictedArguments: string[] = [];\n\n if (context.options) {\n for (const [optionName, optionContext] of Object.entries(context.options)) {\n if (optionName === name) continue; // don't check self\n if (!conflictWith.includes(optionName)) continue; // not a conflict\n if (optionContext.source === \"default\") continue; // not explicitly passed\n conflictedOptions.push(optionName);\n }\n }\n\n if (context.arguments) {\n for (const [argumentName, argumentContext] of Object.entries(context.arguments)) {\n if (argumentName === name) continue; // don't check self\n if (!conflictWith.includes(argumentName)) continue; // not a conflict\n if (argumentContext.source === \"default\") continue; // not explicitly passed\n conflictedArguments.push(argumentName);\n }\n }\n\n if (conflictedOptions.length === 0 && conflictedArguments.length === 0) return; // OK\n\n const parts: string[] = [];\n\n if (conflictedOptions.length > 0) {\n const formatted = conflictedOptions.map(o => `\"${o}\"`).join(\", \");\n const s = conflictedOptions.length > 1 ? \"s\" : \"\";\n parts.push(`option${s} ${formatted}`);\n }\n\n if (conflictedArguments.length > 0) {\n const formatted = conflictedArguments.map(a => `\"${a}\"`).join(\", \");\n const s = conflictedArguments.length > 1 ? \"s\" : \"\";\n parts.push(`argument${s} ${formatted}`);\n }\n\n const joinedParts = parts.join(\" and \");\n\n throw new Error(`${type} \"${name}\" cannot be used with the ${joinedParts} because they are mutually exclusive.`);\n}\n"],"mappings":"8iBAAAA,iBAAA,GAAAC,SAAAD,iBAAA,CAAAE,qBAAA,IAAAA,uBAAAC,OAAAC,QAAAC,aAAAL,kBAAA,IAAAM,yBAAmDC,QAAA,2BAoB5C,SAASL,sBAAqBM,KAAEA,EAAAC,iBAAMA,EAAAC,QAAkBA,EAAAC,KAASA,IACtE,MAAMC,EAAeH,EAAiBG,aACtC,IAAKA,GAAwC,IAAxBA,EAAaC,OAAc,OAGhD,KAAI,EAACP,yBAAAQ,oCAAmCN,EAAME,GAAU,OAExD,MAAMK,EAA8B,GAC9BC,EAAgC,GAEtC,GAAIN,EAAQO,QACV,UAAYC,EAAYC,KAAkBC,OAAOC,QAAQX,EAAQO,SAC3DC,IAAeV,GACdI,EAAaU,SAASJ,IACE,YAAzBC,EAAcI,QAClBR,EAAkBS,KAAKN,GAI3B,GAAIR,EAAQe,UACV,UAAYC,EAAcC,KAAoBP,OAAOC,QAAQX,EAAQe,WAC/DC,IAAiBlB,GAChBI,EAAaU,SAASI,IACI,YAA3BC,EAAgBJ,QACpBP,EAAoBQ,KAAKE,GAI7B,GAAiC,IAA7BX,EAAkBF,QAA+C,IAA/BG,EAAoBH,OAAc,OAExE,MAAMe,EAAkB,GAExB,GAAIb,EAAkBF,OAAS,EAAG,CAChC,MAAMgB,EAAYd,EAAkBe,IAAIC,GAAK,IAAIA,MAAMC,KAAK,MACtDC,EAAIlB,EAAkBF,OAAS,EAAI,IAAM,GAC/Ce,EAAMJ,KAAK,SAASS,KAAKJ,IAC3B,CAEA,GAAIb,EAAoBH,OAAS,EAAG,CAClC,MAAMgB,EAAYb,EAAoBc,IAAII,GAAK,IAAIA,MAAMF,KAAK,MACxDC,EAAIjB,EAAoBH,OAAS,EAAI,IAAM,GACjDe,EAAMJ,KAAK,WAAWS,KAAKJ,IAC7B,CAEA,MAAMM,EAAcP,EAAMI,KAAK,SAE/B,MAAM,IAAII,MAAM,GAAGzB,MAASH,8BAAiC2B,yCAC/D","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var o in t)__defProp(e,o,{get:t[o],enumerable:!0})},__copyProps=(e,t,o,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of __getOwnPropNames(t))__hasOwnProp.call(e,s)||s===o||__defProp(e,s,{get:()=>t[s],enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),exclusive_exports={};__export(exclusive_exports,{validateExclusive:()=>validateExclusive}),module.exports=__toCommonJS(exclusive_exports);var import_explicitly_passed=require("./explicitly-passed.cjs");function validateExclusive({name:e,optionOrArgument:t,context:o,type:r}){if(!t.exclusive)return;if(!(0,import_explicitly_passed.isOptionOrArgumentExplicitlyPassed)(e,o))return;const s=t.requires??[],n=[],i=[];if(o.options)for(const[t,r]of Object.entries(o.options))t!==e&&(s.includes(t)||"default"!==r.source&&n.push(t));if(o.arguments)for(const[t,r]of Object.entries(o.arguments))t!==e&&(s.includes(t)||"default"!==r.source&&i.push(t));if(0===n.length&&0===i.length)return;const p=[];if(n.length>0){const e=n.map(e=>`"${e}"`).join(", "),t=n.length>1?"s":"";p.push(`option${t} ${e}`)}if(i.length>0){const e=i.map(e=>`"${e}"`).join(", "),t=i.length>1?"s":"";p.push(`argument${t} ${e}`)}const c=p.join(" and ");throw new Error(`${r} "${e}" cannot be used with the ${c} because they are mutually exclusive.`)}
|
|
2
|
-
//# sourceMappingURL=exclusive.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["exclusive_exports","__export","validateExclusive","module","exports","__toCommonJS","import_explicitly_passed","require","name","optionOrArgument","context","type","exclusive","isOptionOrArgumentExplicitlyPassed","requires","mutuallyExclusiveOptions","mutuallyExclusiveArguments","options","optionName","optionContext","Object","entries","includes","source","push","arguments","argumentName","argumentContext","length","parts","formatted","map","o","join","s","a","joinedParts","Error"],"sources":["../../../../../src/parse/validation/validators/exclusive.ts"],"sourcesContent":["import { isOptionOrArgumentExplicitlyPassed } from \"./explicitly-passed.ts\";\n\nimport type { ContextWide } from \"../../../types/context-types.ts\";\nimport type { Argument, Option } from \"../../../types/definitions-types.ts\";\n\ninterface ValidateExclusiveOptions {\n /** The option or argument name to check its `requires` */\n name: string;\n\n /** The option or argument to check */\n optionOrArgument: Option | Argument;\n\n /** The parsed context */\n context: ContextWide;\n\n /** What we're checking */\n type: \"option\" | \"argument\";\n}\n\n/** @throws {Error} */\nexport function validateExclusive({ name, optionOrArgument, context, type }: ValidateExclusiveOptions) {\n const exclusive = optionOrArgument.exclusive;\n if (!exclusive) return;\n\n // Check if the options/argument is passed\n if (!isOptionOrArgumentExplicitlyPassed(name, context)) return;\n\n const requires = optionOrArgument.requires ?? [];\n\n const mutuallyExclusiveOptions: string[] = [];\n const mutuallyExclusiveArguments: string[] = [];\n\n if (context.options) {\n for (const [optionName, optionContext] of Object.entries(context.options)) {\n if (optionName === name) continue; // don't check self\n if (requires.includes(optionName)) continue; // allow required options\n if (optionContext.source === \"default\") continue; // not explicitly passed\n mutuallyExclusiveOptions.push(optionName);\n }\n }\n\n if (context.arguments) {\n for (const [argumentName, argumentContext] of Object.entries(context.arguments)) {\n if (argumentName === name) continue; // don't check self\n if (requires.includes(argumentName)) continue; // allow required arguments\n if (argumentContext.source === \"default\") continue; // not explicitly passed\n mutuallyExclusiveArguments.push(argumentName);\n }\n }\n\n if (mutuallyExclusiveOptions.length === 0 && mutuallyExclusiveArguments.length === 0) return;\n\n const parts: string[] = [];\n\n if (mutuallyExclusiveOptions.length > 0) {\n const formatted = mutuallyExclusiveOptions.map(o => `\"${o}\"`).join(\", \");\n const s = mutuallyExclusiveOptions.length > 1 ? \"s\" : \"\";\n parts.push(`option${s} ${formatted}`);\n }\n\n if (mutuallyExclusiveArguments.length > 0) {\n const formatted = mutuallyExclusiveArguments.map(a => `\"${a}\"`).join(\", \");\n const s = mutuallyExclusiveArguments.length > 1 ? \"s\" : \"\";\n parts.push(`argument${s} ${formatted}`);\n }\n\n const joinedParts = parts.join(\" and \");\n\n throw new Error(`${type} \"${name}\" cannot be used with the ${joinedParts} because they are mutually exclusive.`);\n}\n"],"mappings":"8iBAAAA,kBAAA,GAAAC,SAAAD,kBAAA,CAAAE,kBAAA,IAAAA,oBAAAC,OAAAC,QAAAC,aAAAL,mBAAA,IAAAM,yBAAmDC,QAAA,2BAoB5C,SAASL,mBAAkBM,KAAEA,EAAAC,iBAAMA,EAAAC,QAAkBA,EAAAC,KAASA,IAEnE,IADkBF,EAAiBG,UACnB,OAGhB,KAAI,EAACN,yBAAAO,oCAAmCL,EAAME,GAAU,OAExD,MAAMI,EAAWL,EAAiBK,UAAY,GAExCC,EAAqC,GACrCC,EAAuC,GAE7C,GAAIN,EAAQO,QACV,UAAYC,EAAYC,KAAkBC,OAAOC,QAAQX,EAAQO,SAC3DC,IAAeV,IACfM,EAASQ,SAASJ,IACO,YAAzBC,EAAcI,QAClBR,EAAyBS,KAAKN,IAIlC,GAAIR,EAAQe,UACV,UAAYC,EAAcC,KAAoBP,OAAOC,QAAQX,EAAQe,WAC/DC,IAAiBlB,IACjBM,EAASQ,SAASI,IACS,YAA3BC,EAAgBJ,QACpBP,EAA2BQ,KAAKE,IAIpC,GAAwC,IAApCX,EAAyBa,QAAsD,IAAtCZ,EAA2BY,OAAc,OAEtF,MAAMC,EAAkB,GAExB,GAAId,EAAyBa,OAAS,EAAG,CACvC,MAAME,EAAYf,EAAyBgB,IAAIC,GAAK,IAAIA,MAAMC,KAAK,MAC7DC,EAAInB,EAAyBa,OAAS,EAAI,IAAM,GACtDC,EAAML,KAAK,SAASU,KAAKJ,IAC3B,CAEA,GAAId,EAA2BY,OAAS,EAAG,CACzC,MAAME,EAAYd,EAA2Be,IAAII,GAAK,IAAIA,MAAMF,KAAK,MAC/DC,EAAIlB,EAA2BY,OAAS,EAAI,IAAM,GACxDC,EAAML,KAAK,WAAWU,KAAKJ,IAC7B,CAEA,MAAMM,EAAcP,EAAMI,KAAK,SAE/B,MAAM,IAAII,MAAM,GAAG1B,MAASH,8BAAiC4B,yCAC/D","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var s in t)__defProp(e,s,{get:t[s],enumerable:!0})},__copyProps=(e,t,s,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of __getOwnPropNames(t))__hasOwnProp.call(e,o)||o===s||__defProp(e,o,{get:()=>t[o],enumerable:!(i=__getOwnPropDesc(t,o))||i.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),explicitly_passed_exports={};function isArgumentExplicitlyPassed(e,t){return!!t.arguments&&(e in t.arguments&&"default"!==t.arguments[e].source)}function isOptionExplicitlyPassed(e,t){return!!t.options&&(e in t.options&&"default"!==t.options[e].source)}function isOptionOrArgumentExplicitlyPassed(e,t){return isOptionExplicitlyPassed(e,t)||isArgumentExplicitlyPassed(e,t)}__export(explicitly_passed_exports,{isArgumentExplicitlyPassed:()=>isArgumentExplicitlyPassed,isOptionExplicitlyPassed:()=>isOptionExplicitlyPassed,isOptionOrArgumentExplicitlyPassed:()=>isOptionOrArgumentExplicitlyPassed}),module.exports=__toCommonJS(explicitly_passed_exports);
|
|
2
|
-
//# sourceMappingURL=explicitly-passed.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["explicitly_passed_exports","isArgumentExplicitlyPassed","name","context","arguments","source","isOptionExplicitlyPassed","options","isOptionOrArgumentExplicitlyPassed","__export","module","exports","__toCommonJS"],"sources":["../../../../../src/parse/validation/validators/explicitly-passed.ts"],"sourcesContent":["import type { ContextWide } from \"../../../types/context-types.ts\";\n\nexport function isArgumentExplicitlyPassed(name: string, context: ContextWide) {\n if (!context.arguments) return false;\n return name in context.arguments && context.arguments[name].source !== \"default\";\n}\n\nexport function isOptionExplicitlyPassed(name: string, context: ContextWide) {\n if (!context.options) return false;\n return name in context.options && context.options[name].source !== \"default\";\n}\n\nexport function isOptionOrArgumentExplicitlyPassed(name: string, context: ContextWide) {\n return isOptionExplicitlyPassed(name, context) || isArgumentExplicitlyPassed(name, context);\n}\n"],"mappings":"8iBAAAA,0BAAA,GAEO,SAASC,2BAA2BC,EAAcC,GACvD,QAAKA,EAAQC,YACNF,KAAQC,EAAQC,WAAgD,YAAnCD,EAAQC,UAAUF,GAAMG,OAC9D,CAEO,SAASC,yBAAyBJ,EAAcC,GACrD,QAAKA,EAAQI,UACNL,KAAQC,EAAQI,SAA4C,YAAjCJ,EAAQI,QAAQL,GAAMG,OAC1D,CAEO,SAASG,mCAAmCN,EAAcC,GAC/D,OAAOG,yBAAyBJ,EAAMC,IAAYF,2BAA2BC,EAAMC,EACrF,CAdAM,SAAAT,0BAAA,CAAAC,2BAAA,IAAAA,2BAAAK,yBAAA,IAAAA,yBAAAE,mCAAA,IAAAA,qCAAAE,OAAAC,QAAAC,aAAAZ","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,o)=>{for(var t in o)__defProp(e,t,{get:o[t],enumerable:!0})},__copyProps=(e,o,t,r)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let i of __getOwnPropNames(o))__hasOwnProp.call(e,i)||i===t||__defProp(e,i,{get:()=>o[i],enumerable:!(r=__getOwnPropDesc(o,i))||r.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),options_exports={};__export(options_exports,{validateOptions:()=>validateOptions}),module.exports=__toCommonJS(options_exports);var import_utilities=require("../../../utilities.cjs"),import_conflict=require("./conflict.cjs"),import_exclusive=require("./exclusive.cjs"),import_requires=require("./requires.cjs");function validateOptions({commandDefinition:e,context:o,output:t}){if(!o.options)return;t.options??(t.options={});const r=e.options;if(!r)throw new Error(`subcommand "${o.subcommand}" does not have options`);for(const[t,i]of Object.entries(r))(0,import_requires.validateRequires)({name:t,commandDefinition:e,optionOrArgument:i,context:o,type:"option"}),(0,import_exclusive.validateExclusive)({name:t,optionOrArgument:i,context:o,type:"option"}),(0,import_conflict.validateConflictWith)({name:t,optionOrArgument:i,context:o,type:"option"});const i=Object.entries(o.options);for(const[e,{passedValue:n,stringValue:s,flag:p,source:a,schema:c}]of i){const i=r[e];if(!i)throw new Error(`subcommand "${o.subcommand}" does not have option "${e}"`);if(!i._preparedType)throw new Error(`internal error: missing prepared type for option "${e}"`);const _="programmatic"===a,m=_?(0,import_utilities.validateSync)(c,n):i._preparedType.validate(s);if(m.issues)throw new Error(`invalid value ${_?"":`"${s}"`} for "${_?e:p}": ${m.issues.map(e=>e.message).join(", ")}`);t.options[e]=m.value}}
|
|
2
|
-
//# sourceMappingURL=options.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["options_exports","__export","validateOptions","module","exports","__toCommonJS","import_utilities","require","import_conflict","import_exclusive","import_requires","commandDefinition","context","output","options","optionsDefinition","Error","subcommand","optionName","option","Object","entries","validateRequires","name","optionOrArgument","type","validateExclusive","validateConflictWith","optionContextEntries","passedValue","stringValue","flag","source","schema","_preparedType","isProgrammatic","safeParseResult","validateSync","validate","issues","map","issue","message","join","value"],"sources":["../../../../../src/parse/validation/validators/options.ts"],"sourcesContent":["import { validateSync } from \"../../../utilities.ts\";\nimport { validateConflictWith } from \"./conflict.ts\";\nimport { validateExclusive } from \"./exclusive.ts\";\nimport { validateRequires } from \"./requires.ts\";\n\nimport type { ContextWide } from \"../../../types/context-types.ts\";\nimport type { Cli, Subcommand } from \"../../../types/definitions-types.ts\";\nimport type { OutputTypeWide } from \"../../../types/io-types.ts\";\n\ninterface ValidateOptions {\n commandDefinition: Subcommand | Cli;\n context: ContextWide;\n output: OutputTypeWide;\n}\n\n/** @throws {Error} */\nexport function validateOptions({ commandDefinition, context, output }: ValidateOptions) {\n if (!context.options) return;\n\n output.options ??= {};\n\n const optionsDefinition = commandDefinition.options;\n if (!optionsDefinition) {\n throw new Error(`subcommand \"${context.subcommand}\" does not have options`);\n }\n\n for (const [optionName, option] of Object.entries(optionsDefinition)) {\n validateRequires({ name: optionName, commandDefinition, optionOrArgument: option, context, type: \"option\" });\n validateExclusive({ name: optionName, optionOrArgument: option, context, type: \"option\" });\n validateConflictWith({ name: optionName, optionOrArgument: option, context, type: \"option\" });\n }\n\n const optionContextEntries = Object.entries(context.options);\n\n for (const [optionName, { passedValue, stringValue, flag, source, schema }] of optionContextEntries) {\n const option = optionsDefinition[optionName];\n if (!option) {\n throw new Error(`subcommand \"${context.subcommand}\" does not have option \"${optionName}\"`);\n }\n\n if (!option._preparedType) {\n throw new Error(`internal error: missing prepared type for option \"${optionName}\"`);\n }\n\n const isProgrammatic = source === \"programmatic\";\n\n const safeParseResult = isProgrammatic\n ? validateSync(schema, passedValue)\n : option._preparedType.validate(stringValue);\n\n if (safeParseResult.issues) {\n throw new Error(\n `invalid value ${isProgrammatic ? \"\" : `\"${stringValue}\"`} for \"${isProgrammatic ? optionName : flag}\": ${safeParseResult.issues.map(issue => issue.message).join(\", \")}`,\n );\n }\n\n output.options[optionName] = safeParseResult.value;\n }\n}\n"],"mappings":"8iBAAAA,gBAAA,GAAAC,SAAAD,gBAAA,CAAAE,gBAAA,IAAAA,kBAAAC,OAAAC,QAAAC,aAAAL,iBAAA,IAAAM,iBAA6BC,QAAA,0BAC7BC,gBAAqCD,QAAA,kBACrCE,iBAAkCF,QAAA,mBAClCG,gBAAiCH,QAAA,kBAa1B,SAASL,iBAAgBS,kBAAEA,EAAAC,QAAmBA,EAAAC,OAASA,IAC5D,IAAKD,EAAQE,QAAS,OAEtBD,EAAOC,UAAPD,EAAOC,QAAY,CAAC,GAEpB,MAAMC,EAAoBJ,EAAkBG,QAC5C,IAAKC,EACH,MAAM,IAAIC,MAAM,eAAeJ,EAAQK,qCAGzC,UAAYC,EAAYC,KAAWC,OAAOC,QAAQN,IAChD,EAAAL,gBAAAY,kBAAiB,CAAEC,KAAML,EAAYP,oBAAmBa,iBAAkBL,EAAQP,UAASa,KAAM,YACjG,EAAAhB,iBAAAiB,mBAAkB,CAAEH,KAAML,EAAYM,iBAAkBL,EAAQP,UAASa,KAAM,YAC/E,EAAAjB,gBAAAmB,sBAAqB,CAAEJ,KAAML,EAAYM,iBAAkBL,EAAQP,UAASa,KAAM,WAGpF,MAAMG,EAAuBR,OAAOC,QAAQT,EAAQE,SAEpD,UAAYI,GAAYW,YAAEA,EAAAC,YAAaA,EAAAC,KAAaA,EAAAC,OAAMA,EAAAC,OAAQA,MAAaL,EAAsB,CACnG,MAAMT,EAASJ,EAAkBG,GACjC,IAAKC,EACH,MAAM,IAAIH,MAAM,eAAeJ,EAAQK,qCAAqCC,MAG9E,IAAKC,EAAOe,cACV,MAAM,IAAIlB,MAAM,qDAAqDE,MAGvE,MAAMiB,EAA4B,iBAAXH,EAEjBI,EAAkBD,GAAA,EACpB7B,iBAAA+B,cAAaJ,EAAQJ,GACrBV,EAAOe,cAAcI,SAASR,GAElC,GAAIM,EAAgBG,OAClB,MAAM,IAAIvB,MACR,iBAAiBmB,EAAiB,GAAK,IAAIL,aAAuBK,EAAiBjB,EAAaa,OAAUK,EAAgBG,OAAOC,IAAIC,GAASA,EAAMC,SAASC,KAAK,SAItK9B,EAAOC,QAAQI,GAAckB,EAAgBQ,KAC/C,CACF","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===r||__defProp(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),requires_exports={};__export(requires_exports,{validateRequires:()=>validateRequires}),module.exports=__toCommonJS(requires_exports);var import_explicitly_passed=require("./explicitly-passed.cjs");function validateRequires({name:e,commandDefinition:t,optionOrArgument:r,context:o,type:n}){const s=r.requires;if(!s||0===s.length)return;if(!(0,import_explicitly_passed.isOptionOrArgumentExplicitlyPassed)(e,o))return;const i=t.options??{},p=[],_=[];for(const e of s){const t=e in i;(t?(0,import_explicitly_passed.isOptionExplicitlyPassed)(e,o):(0,import_explicitly_passed.isArgumentExplicitlyPassed)(e,o))||(t?p.push(e):_.push(e))}if(0===p.length&&0===_.length)return;const a=[];if(p.length>0){const e=p.map(e=>`"${e}"`).join(", "),t=p.length>1?"s":"";a.push(`option${t} ${e}`)}if(_.length>0){const e=_.map(e=>`"${e}"`).join(", "),t=_.length>1?"s":"";a.push(`argument${t} ${e}`)}const l=a.join(" and ");throw new Error(`${n} "${e}" cannot be used without the required ${l}.`)}
|
|
2
|
-
//# sourceMappingURL=requires.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["requires_exports","__export","validateRequires","module","exports","__toCommonJS","import_explicitly_passed","require","name","commandDefinition","optionOrArgument","context","type","requires","length","isOptionOrArgumentExplicitlyPassed","optionsDefinition","options","missingOptions","missingArguments","requiredName","isOption","isOptionExplicitlyPassed","isArgumentExplicitlyPassed","push","parts","formatted","map","o","join","s","a","joinedParts","Error"],"sources":["../../../../../src/parse/validation/validators/requires.ts"],"sourcesContent":["import {\n isArgumentExplicitlyPassed,\n isOptionExplicitlyPassed,\n isOptionOrArgumentExplicitlyPassed,\n} from \"./explicitly-passed.ts\";\n\nimport type { ContextWide } from \"../../../types/context-types.ts\";\nimport type { Argument, Cli, Option, Subcommand } from \"../../../types/definitions-types.ts\";\n\ninterface ValidateRequiresOptions {\n /** The option or argument name to check its `requires` */\n name: string;\n\n /** The subcommand or cli configuration */\n commandDefinition: Subcommand | Cli;\n\n /** The option or argument to check */\n optionOrArgument: Option | Argument;\n\n /** The parsed context */\n context: ContextWide;\n\n /** What we're checking */\n type: \"option\" | \"argument\";\n}\n\n/** @throws {Error} */\nexport function validateRequires({\n name,\n commandDefinition,\n optionOrArgument,\n context,\n type,\n}: ValidateRequiresOptions) {\n const requires = optionOrArgument.requires;\n if (!requires || requires.length === 0) return;\n\n // Check if the options/argument is passed\n if (!isOptionOrArgumentExplicitlyPassed(name, context)) return;\n\n const optionsDefinition = commandDefinition.options ?? {};\n\n const missingOptions: string[] = [];\n const missingArguments: string[] = [];\n\n for (const requiredName of requires) {\n const isOption = requiredName in optionsDefinition;\n\n const provided = isOption\n ? isOptionExplicitlyPassed(requiredName, context)\n : isArgumentExplicitlyPassed(requiredName, context);\n\n if (provided) continue;\n\n if (isOption) {\n missingOptions.push(requiredName);\n continue;\n }\n\n missingArguments.push(requiredName);\n }\n\n if (missingOptions.length === 0 && missingArguments.length === 0) return; // OK\n\n const parts: string[] = [];\n\n if (missingOptions.length > 0) {\n const formatted = missingOptions.map(o => `\"${o}\"`).join(\", \");\n const s = missingOptions.length > 1 ? \"s\" : \"\";\n parts.push(`option${s} ${formatted}`);\n }\n\n if (missingArguments.length > 0) {\n const formatted = missingArguments.map(a => `\"${a}\"`).join(\", \");\n const s = missingArguments.length > 1 ? \"s\" : \"\";\n parts.push(`argument${s} ${formatted}`);\n }\n\n const joinedParts = parts.join(\" and \");\n\n throw new Error(`${type} \"${name}\" cannot be used without the required ${joinedParts}.`);\n}\n"],"mappings":"8iBAAAA,iBAAA,GAAAC,SAAAD,iBAAA,CAAAE,iBAAA,IAAAA,mBAAAC,OAAAC,QAAAC,aAAAL,kBAAA,IAAAM,yBAIOC,QAAA,2BAuBA,SAASL,kBAAiBM,KAC/BA,EAAAC,kBACAA,EAAAC,iBACAA,EAAAC,QACAA,EAAAC,KACAA,IAEA,MAAMC,EAAWH,EAAiBG,SAClC,IAAKA,GAAgC,IAApBA,EAASC,OAAc,OAGxC,KAAI,EAACR,yBAAAS,oCAAmCP,EAAMG,GAAU,OAExD,MAAMK,EAAoBP,EAAkBQ,SAAW,CAAC,EAElDC,EAA2B,GAC3BC,EAA6B,GAEnC,UAAWC,KAAgBP,EAAU,CACnC,MAAMQ,EAAWD,KAAgBJ,GAEhBK,GAAA,EACbf,yBAAAgB,0BAAyBF,EAAcT,IAAO,EAC9CL,yBAAAiB,4BAA2BH,EAAcT,MAIzCU,EACFH,EAAeM,KAAKJ,GAItBD,EAAiBK,KAAKJ,GACxB,CAEA,GAA8B,IAA1BF,EAAeJ,QAA4C,IAA5BK,EAAiBL,OAAc,OAElE,MAAMW,EAAkB,GAExB,GAAIP,EAAeJ,OAAS,EAAG,CAC7B,MAAMY,EAAYR,EAAeS,IAAIC,GAAK,IAAIA,MAAMC,KAAK,MACnDC,EAAIZ,EAAeJ,OAAS,EAAI,IAAM,GAC5CW,EAAMD,KAAK,SAASM,KAAKJ,IAC3B,CAEA,GAAIP,EAAiBL,OAAS,EAAG,CAC/B,MAAMY,EAAYP,EAAiBQ,IAAII,GAAK,IAAIA,MAAMF,KAAK,MACrDC,EAAIX,EAAiBL,OAAS,EAAI,IAAM,GAC9CW,EAAMD,KAAK,WAAWM,KAAKJ,IAC7B,CAEA,MAAMM,EAAcP,EAAMI,KAAK,SAE/B,MAAM,IAAII,MAAM,GAAGrB,MAASJ,0CAA6CwB,KAC3E","ignoreList":[]}
|
package/lib/cjs/utilities.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,n)=>{for(var t in n)__defProp(e,t,{get:n[t],enumerable:!0})},__copyProps=(e,n,t,r)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let i of __getOwnPropNames(n))__hasOwnProp.call(e,i)||i===t||__defProp(e,i,{get:()=>n[i],enumerable:!(r=__getOwnPropDesc(n,i))||r.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),utilities_exports={};function validateSync(e,n){const t=e["~standard"].validate(n);if(t instanceof Promise)throw new TypeError("async schema validation not supported");return t}function defaultValueAndIsOptional(e){const n=validateSync(e);return n.issues?{defaultValue:void 0,optional:!1}:{defaultValue:n.value,optional:!0}}function PrepareType(e,n){const{optional:t,defaultValue:r}=defaultValueAndIsOptional(e);return{schema:e,optional:t,defaultValue:r,coerceTo:n.type,validate:t=>validateSync(e,t&&n(t))}}function prepareDefinitionTypes(e){if(e)for(const n of Object.values(e))n.coerce||(n.coerce=e=>e),n._preparedType||(n._preparedType=PrepareType(n.schema,n.coerce))}function toKebabCase(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function generateOrdinalSuffix(e){if(e<0)return"";const n=e+1,t=n%100;let r="th";if(t<11||t>13)switch(n%10){case 1:r="st";break;case 2:r="nd";break;case 3:r="rd"}return`${n}${r}`}function ln(e){return"\n".repeat(e)}function indent(e){return e<=0?"":" ".repeat(e)}function indentLines(e,n){return e.replace(/\n/g,"\n"+indent(n))}function stringifyValue(e){return e instanceof Set?"new Set(["+Array.from(e).map(e=>stringifyValue(e)).join(", ")+"])":JSON.stringify(e)}function insertAtEndOfFirstLine(e,n){const t=e.split("\n");return t[0]+=(t[0]?" ":"")+n,t.join("\n")}function subcommandPlaceholder(e){let n=e.placeholder;return n||(e.options.length>0&&(n+=(n?" ":"")+"[options]"),e.arguments.length>0&&(n+=(n?" ":"")+"<arguments>"),e.allowPositionals&&(n+=(n?" ":"")+"<positionals>"),n||(n=" "),n)}function parseArgv(e){const n=[];let t,r;for(let i=0;i<e.length;i++){const o=e[i],a=e[i-1],s=e[i+1],u=i===e.length-1;if('"'!==o&&"'"!==o||"\\"===a)if("\\"!==o||"\n"!==s){if(void 0!==r&&void 0===t){if(" "===o){n.push(r),r=void 0;continue}if(u){r+=o,n.push(r),r=void 0;continue}}" "===o&&void 0===t||("\\"!==o||"'"!==s&&'"'!==s)&&(r??(r=""),r+=o)}else i++;else{if(t===o){t=void 0;continue}if(void 0===t){t=o;continue}if(void 0!==t&&o!==t){r+=o;continue}}}return void 0!==r&&n.push(r),n}function escapeHtmlTags(e){const n={"&":"&","<":"<",">":">"};return e.replace(/(```[\s\S]*?```|`[^`]*`)|(<!--[\s\S]*?-->)|(<[^>]+>)/g,(e,t,r,i)=>t||(r||(i?i.replace(/[&<>]/g,e=>n[e]):e)))}function ansiRegex({onlyFirst:e=!1}={}){const n=String.raw`(?:\u0007|\u001B\u005C|\u009C)`,t=String.raw`(?:\u001B\][\s\S]*?${n})`,r=String.raw`[\u001B\u009B][[\]()#;?]*(?:\d{1,4}(?:[;:]\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]`;return new RegExp(`${t}|${r}`,e?void 0:"g")}__export(utilities_exports,{PrepareType:()=>PrepareType,defaultValueAndIsOptional:()=>defaultValueAndIsOptional,escapeHtmlTags:()=>escapeHtmlTags,findDuplicateStrings:()=>findDuplicateStrings,generateOrdinalSuffix:()=>generateOrdinalSuffix,indent:()=>indent,indentLines:()=>indentLines,insertAtEndOfFirstLine:()=>insertAtEndOfFirstLine,ln:()=>ln,parseArgv:()=>parseArgv,prepareDefinitionTypes:()=>prepareDefinitionTypes,stringifyValue:()=>stringifyValue,stripAnsi:()=>stripAnsi,subcommandPlaceholder:()=>subcommandPlaceholder,toKebabCase:()=>toKebabCase,validateSync:()=>validateSync}),module.exports=__toCommonJS(utilities_exports);var regex=ansiRegex();function stripAnsi(e){return e.replace(regex,"")}function findDuplicateStrings(e){const n=new Set,t=new Set;for(const r of e)n.has(r)?t.add(r):n.add(r);return Array.from(t)}
|
|
2
|
-
//# sourceMappingURL=utilities.cjs.map
|