zod-args-parser 1.2.3 → 1.2.5

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.
Files changed (50) hide show
  1. package/README.md +13 -7
  2. package/lib/commonjs/help-message/format-arguments.js +1 -1
  3. package/lib/commonjs/help-message/format-arguments.js.map +1 -1
  4. package/lib/commonjs/help-message/format-cli.js +1 -1
  5. package/lib/commonjs/help-message/format-cli.js.map +1 -1
  6. package/lib/commonjs/help-message/format-options.js +1 -1
  7. package/lib/commonjs/help-message/format-options.js.map +1 -1
  8. package/lib/commonjs/help-message/format-subcommands.js +1 -1
  9. package/lib/commonjs/help-message/format-subcommands.js.map +1 -1
  10. package/lib/commonjs/index.js +1 -1
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/markdown/generate-markdown.js +1 -1
  13. package/lib/commonjs/markdown/generate-markdown.js.map +1 -1
  14. package/lib/commonjs/parser/validate/validate-type.js.map +1 -1
  15. package/lib/commonjs/utils.js +1 -1
  16. package/lib/commonjs/utils.js.map +1 -1
  17. package/lib/module/help-message/format-arguments.js +1 -1
  18. package/lib/module/help-message/format-arguments.js.map +1 -1
  19. package/lib/module/help-message/format-cli.js +1 -1
  20. package/lib/module/help-message/format-cli.js.map +1 -1
  21. package/lib/module/help-message/format-options.js +1 -1
  22. package/lib/module/help-message/format-options.js.map +1 -1
  23. package/lib/module/help-message/format-subcommands.js +1 -1
  24. package/lib/module/help-message/format-subcommands.js.map +1 -1
  25. package/lib/module/index.js +1 -1
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/markdown/generate-markdown.js +1 -1
  28. package/lib/module/markdown/generate-markdown.js.map +1 -1
  29. package/lib/module/parser/validate/validate-type.js.map +1 -1
  30. package/lib/module/utils.js +1 -1
  31. package/lib/module/utils.js.map +1 -1
  32. package/lib/typescript/help-message/format-subcommands.d.ts.map +1 -1
  33. package/lib/typescript/index.d.ts +3 -3
  34. package/lib/typescript/index.d.ts.map +1 -1
  35. package/lib/typescript/parser/validate/validate-type.d.ts +3 -3
  36. package/lib/typescript/parser/validate/validate-type.d.ts.map +1 -1
  37. package/lib/typescript/types.d.ts +51 -14
  38. package/lib/typescript/types.d.ts.map +1 -1
  39. package/lib/typescript/utils.d.ts +3 -0
  40. package/lib/typescript/utils.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/help-message/format-arguments.ts +2 -2
  43. package/src/help-message/format-cli.ts +5 -5
  44. package/src/help-message/format-options.ts +2 -2
  45. package/src/help-message/format-subcommands.ts +3 -4
  46. package/src/index.ts +3 -3
  47. package/src/markdown/generate-markdown.ts +2 -2
  48. package/src/parser/validate/validate-type.ts +3 -3
  49. package/src/types.ts +61 -15
  50. package/src/utils.ts +26 -0
package/README.md CHANGED
@@ -515,15 +515,21 @@ cliSchema.setAction(results => {
515
515
 
516
516
  ### Type Utilities
517
517
 
518
- - `InferOptionsType<Cli | Subcommand>`
519
- Infer the options type from the Cli or subcommand schema.
518
+ - `InferOptionsInput<Cli | Subcommand>`
519
+ Infer the options input type (before zod validation) from the Cli or subcommand schema.
520
520
 
521
- - `InferArgumentsType<Cli | Subcommand>`
522
- Infer the arguments type from the Cli or subcommand schema.
521
+ - `InferOptionsOutput<Cli | Subcommand>`
522
+ Infer the options Output type (after zod validation) from the Cli or subcommand schema.
523
+
524
+ - `InferArgumentsInput<Cli | Subcommand>`
525
+ Infer the arguments input type (before zod validation) from the Cli or subcommand schema.
526
+
527
+ - `InferArgumentsOutput<Cli | Subcommand>`
528
+ Infer the arguments Output type (after zod validation) from the Cli or subcommand schema.
523
529
 
524
530
  ```ts
525
531
  import { createSubcommand } from "zod-args-parser";
526
- import type { InferOptionsType, InferArgumentsType } from "zod-args-parser";
532
+ import type { InferOptionsOutput, InferArgumentsOutput } from "zod-args-parser";
527
533
 
528
534
  const subcommand = createSubcommand({
529
535
  name: "subcommand",
@@ -540,10 +546,10 @@ const subcommand = createSubcommand({
540
546
  ],
541
547
  });
542
548
 
543
- type Options = InferOptionsType<typeof subcommand>;
549
+ type Options = InferOptionsOutput<typeof subcommand>;
544
550
  // { numberOption: number; stringOption: string; booleanOption: boolean; optionalOption?: boolean | undefined; }
545
551
 
546
- type Arguments = InferArgumentsType<typeof subcommand>;
552
+ type Arguments = InferArgumentsOutput<typeof subcommand>;
547
553
  // [string, number, boolean]
548
554
  ```
549
555
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgArguments=formatHelpMsgArguments;var _utils=require("../utils.js");function formatHelpMsgArguments(argsMetadata,c,longest){if(!argsMetadata.length)return"";let msg=c.title(" ARGUMENTS")+(0,_utils.ln)(1);for(const metadata of argsMetadata){const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=(0,_utils.concat)((0,_utils.indent)(2)+c.argument(metadata.name),(0,_utils.indent)(spacing),(0,_utils.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+5),c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgArguments=formatHelpMsgArguments;var _utils=require("../utils.js");function formatHelpMsgArguments(argsMetadata,c,longest){if(!argsMetadata.length)return"";let msg=c.title(" ARGUMENTS")+(0,_utils.ln)(1);for(const metadata of argsMetadata){const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=(0,_utils.concat)((0,_utils.indent)(2)+c.argument(metadata.name),(0,_utils.indent)(spacing),(0,_utils.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+5),c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","formatHelpMsgArguments","argsMetadata","c","longest","length","msg","title","ln","metadata","defaultStr","defaultValue","defaultValueAsString","spacing","name","normalizeDesc","description","replace","indent","punctuation","defaultOrOptional","default","optional","concat","argument","insertAtEndOfFirstLine","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-arguments.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgArguments(argsMetadata: ArgumentMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!argsMetadata.length) return \"\";\n\n let msg = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argsMetadata) {\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const spacing = longest + 2 - metadata.name.length;\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + c.argument(metadata.name),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"4HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,sBAAsBA,CAACC,YAAgC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CACjH,GAAI,CAACF,YAAY,CAACG,MAAM,CAAE,MAAO,EAAE,CAEnC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEvC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,YAAY,CAAE,CACnC,KAAM,CAAAQ,UAAU,CACd,MAAO,CAAAD,QAAQ,CAACE,YAAY,GAAK,WAAW,CAAG,aAAaF,QAAQ,CAACG,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,OAAO,CAAGT,OAAO,CAAG,CAAC,CAAGK,QAAQ,CAACK,IAAI,CAACT,MAAM,CAClD,KAAM,CAAAU,aAAa,CAAGN,QAAQ,CAACO,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAC,CAC1G,KAAM,CAAAC,iBAAiB,CAAGV,UAAU,CAAGP,CAAC,CAACkB,OAAO,CAACX,UAAU,CAAC,CAAGD,QAAQ,CAACa,QAAQ,CAAGnB,CAAC,CAACmB,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHhB,GAAG,EAAI,GAAAiB,aAAM,EACX,GAAAL,aAAM,EAAC,CAAC,CAAC,CAAGf,CAAC,CAACqB,QAAQ,CAACf,QAAQ,CAACK,IAAI,CAAC,CACrC,GAAAI,aAAM,EAACL,OAAO,CAAC,CACf,GAAAY,6BAAsB,EAACtB,CAAC,CAACa,WAAW,CAACD,aAAa,CAAC,CAAEK,iBAAiB,CAAC,CACvE,GAAAZ,SAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACiB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGlB,QAAQ,CAACiB,OAAO,CAACT,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,EAAE,CAAC,CAAC,CACrFE,GAAG,EAAI,GAAAiB,aAAM,EACX,GAAAL,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAGhB,CAAC,CAACyB,YAAY,CAAC,UAAU,CAAC,CAC/CzB,CAAC,CAACuB,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAAnB,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","formatHelpMsgArguments","argsMetadata","c","longest","length","msg","title","ln","metadata","defaultStr","defaultValue","defaultValueAsString","spacing","name","normalizeDesc","description","replace","indent","punctuation","defaultOrOptional","default","optional","concat","argument","insertAtEndOfFirstLine","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-arguments.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgArguments(argsMetadata: ArgumentMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!argsMetadata.length) return \"\";\n\n let msg = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argsMetadata) {\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const spacing = longest + 2 - metadata.name.length;\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + c.argument(metadata.name),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"4HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,sBAAsBA,CAACC,YAAgC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CACjH,GAAI,CAACF,YAAY,CAACG,MAAM,CAAE,MAAO,EAAE,CAEnC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEvC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,YAAY,CAAE,CACnC,KAAM,CAAAQ,UAAU,CACd,MAAO,CAAAD,QAAQ,CAACE,YAAY,GAAK,WAAW,CAAG,aAAaF,QAAQ,CAACG,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,OAAO,CAAGT,OAAO,CAAG,CAAC,CAAGK,QAAQ,CAACK,IAAI,CAACT,MAAM,CAClD,KAAM,CAAAU,aAAa,CAAGN,QAAQ,CAACO,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,iBAAiB,CAAGV,UAAU,CAAGP,CAAC,CAACkB,OAAO,CAACX,UAAU,CAAC,CAAGD,QAAQ,CAACa,QAAQ,CAAGnB,CAAC,CAACmB,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHhB,GAAG,EAAI,GAAAiB,aAAM,EACX,GAAAL,aAAM,EAAC,CAAC,CAAC,CAAGf,CAAC,CAACqB,QAAQ,CAACf,QAAQ,CAACK,IAAI,CAAC,CACrC,GAAAI,aAAM,EAACL,OAAO,CAAC,CACf,GAAAY,6BAAsB,EAACtB,CAAC,CAACa,WAAW,CAACD,aAAa,CAAC,CAAEK,iBAAiB,CAAC,CACvE,GAAAZ,SAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACiB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGlB,QAAQ,CAACiB,OAAO,CAACT,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,GAAG,EAAI,GAAAiB,aAAM,EACX,GAAAL,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAGhB,CAAC,CAACyB,YAAY,CAAC,UAAU,CAAC,CAC/CzB,CAAC,CAACuB,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAAnB,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatCliHelpMsg=formatCliHelpMsg;exports.formatSubcommandHelpMsg=formatSubcommandHelpMsg;exports.printCliHelp=printCliHelp;exports.printSubcommandHelp=printSubcommandHelp;var _getCliMetadata=require("../metadata/get-cli-metadata.js");var _utils=require("../utils.js");var _formatArguments=require("./format-arguments.js");var _formatOptions=require("./format-options.js");var _formatSubcommands=require("./format-subcommands.js");var _styles=require("./styles.js");function formatCliHelpMsg(params,style){const c=_styles.helpMsgStyles.default;if(style)Object.assign(c,style);const metadata=(0,_getCliMetadata.getCliMetadata)(params);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let msg="";const usage=metadata.usage||(0,_utils.concat)(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length?c.command("[command]"):"",metadata.options.length?c.option("[options]"):"",metadata.arguments.length||metadata.allowPositional?c.argument("<arguments>"):"");msg+=formatTitle("Usage")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+usage+(0,_utils.ln)(2);if(metadata.description){msg+=formatTitle("Description")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+c.description(metadata.description)+(0,_utils.ln)(2);}let longest=0;const optionsMetadata=metadata.options;const longestOptionTitle=optionsMetadata.reduce((acc,metadata)=>{const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(", ");const optLength=names.length+metadata.placeholder.length;return optLength>acc?optLength:acc;},0);if(longestOptionTitle>longest){longest=longestOptionTitle;}const subcommandsMetadata=metadata.subcommands;const longestSubcommandTitle=subcommandsMetadata.reduce((acc,metadata)=>{const names=metadata.aliases.concat([metadata.name]).join(", ");const placeholder=metadata.placeholder||(metadata.options.length?"[options]":metadata.allowPositional?"<args>":" ");const optLength=names.length+placeholder.length;return optLength>acc?optLength:acc;},0);if(longestSubcommandTitle>longest){longest=longestSubcommandTitle;}const argsMetadata=metadata.arguments;const longestArgTitle=argsMetadata.reduce((acc,arg)=>arg.name.length>acc?arg.name.length:acc,0);if(longestArgTitle>longest){longest=longestArgTitle;}msg+=(0,_formatOptions.formatHelpMsgOptions)(optionsMetadata,c,longest);msg+=(0,_formatSubcommands.formatHelpMsgCommands)(subcommandsMetadata,c,longest);msg+=(0,_formatArguments.formatHelpMsgArguments)(argsMetadata,c,longest);if(metadata.example){msg+=formatTitle("Example");msg+=(0,_utils.ln)(1);const normalizeExample=metadata.example.replace(/\n/g,"\n"+(0,_utils.indent)(3));msg+=(0,_utils.concat)((0,_utils.indent)(2),c.example(normalizeExample),(0,_utils.ln)(2));}return msg;}function formatSubcommandHelpMsg(subcommand,printStyle,cliName=""){const c=_styles.helpMsgStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||(0,_utils.concat)(c.punctuation("$"),cliName,c.command(subcommand.name),subcommand.options?.length?c.option("[options]"):"",subcommand.arguments?.length||subcommand.allowPositional?c.argument("<arguments>"):"");const asCli={cliName,usage,...subcommand};return formatCliHelpMsg([asCli],c);}function printCliHelp(params,style){console.log(formatCliHelpMsg(params,style));}function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMsg(subcommand,style,cliName));}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatCliHelpMsg=formatCliHelpMsg;exports.formatSubcommandHelpMsg=formatSubcommandHelpMsg;exports.printCliHelp=printCliHelp;exports.printSubcommandHelp=printSubcommandHelp;var _getCliMetadata=require("../metadata/get-cli-metadata.js");var _utils=require("../utils.js");var _formatArguments=require("./format-arguments.js");var _formatOptions=require("./format-options.js");var _formatSubcommands=require("./format-subcommands.js");var _styles=require("./styles.js");function formatCliHelpMsg(params,style){const c=_styles.helpMsgStyles.default;if(style)Object.assign(c,style);const metadata=(0,_getCliMetadata.getCliMetadata)(params);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let msg="";const usage=metadata.usage||(0,_utils.concat)(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length?c.command("[command]"):"",metadata.options.length?c.option("[options]"):"",metadata.arguments.length?c.argument("<arguments>"):"",metadata.allowPositional?c.argument("<positionals>"):"");msg+=formatTitle("Usage")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+usage+(0,_utils.ln)(2);if(metadata.description){msg+=formatTitle("Description")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+c.description(metadata.description)+(0,_utils.ln)(2);}let longest=0;const optionsMetadata=metadata.options;const longestOptionTitle=optionsMetadata.reduce((acc,metadata)=>{const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(", ");const optLength=names.length+metadata.placeholder.length;return optLength>acc?optLength:acc;},0);if(longestOptionTitle>longest){longest=longestOptionTitle;}const subcommandsMetadata=metadata.subcommands;const longestSubcommandTitle=subcommandsMetadata.reduce((acc,metadata)=>{const names=metadata.aliases.concat([metadata.name]).join(", ");const placeholder=(0,_utils.subcommandPlaceholder)(metadata);const optLength=names.length+placeholder.length;return optLength>acc?optLength:acc;},0);if(longestSubcommandTitle>longest){longest=longestSubcommandTitle;}const argsMetadata=metadata.arguments;const longestArgTitle=argsMetadata.reduce((acc,arg)=>arg.name.length>acc?arg.name.length:acc,0);if(longestArgTitle>longest){longest=longestArgTitle;}msg+=(0,_formatOptions.formatHelpMsgOptions)(optionsMetadata,c,longest);msg+=(0,_formatSubcommands.formatHelpMsgCommands)(subcommandsMetadata,c,longest);msg+=(0,_formatArguments.formatHelpMsgArguments)(argsMetadata,c,longest);if(metadata.example){msg+=formatTitle("Example");msg+=(0,_utils.ln)(1);const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utils.indent)(3));msg+=(0,_utils.concat)((0,_utils.indent)(2),c.example(normalizeExample),(0,_utils.ln)(2));}return msg;}function formatSubcommandHelpMsg(subcommand,printStyle,cliName=""){const c=_styles.helpMsgStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||(0,_utils.concat)(c.punctuation("$"),cliName,c.command(subcommand.name),subcommand.options?.length?c.option("[options]"):"",subcommand.arguments?.length||subcommand.allowPositional?c.argument("<arguments>"):"");const asCli={cliName,usage,...subcommand};return formatCliHelpMsg([asCli],c);}function printCliHelp(params,style){console.log(formatCliHelpMsg(params,style));}function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMsg(subcommand,style,cliName));}
@@ -1 +1 @@
1
- {"version":3,"names":["_getCliMetadata","require","_utils","_formatArguments","_formatOptions","_formatSubcommands","_styles","formatCliHelpMsg","params","style","c","helpMsgStyles","default","Object","assign","metadata","getCliMetadata","formatTitle","title","toUpperCase","msg","usage","concat","punctuation","description","name","subcommands","length","command","options","option","arguments","allowPositional","argument","ln","indent","longest","optionsMetadata","longestOptionTitle","reduce","acc","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","argsMetadata","longestArgTitle","arg","formatHelpMsgOptions","formatHelpMsgCommands","formatHelpMsgArguments","example","normalizeExample","replace","formatSubcommandHelpMsg","subcommand","printStyle","cliName","asCli","printCliHelp","console","log","printSubcommandHelp"],"sourceRoot":"../../../src/help-message","sources":["format-cli.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\nimport { concat, indent, ln } from \"../utils.js\";\nimport { formatHelpMsgArguments } from \"./format-arguments.js\";\nimport { formatHelpMsgOptions } from \"./format-options.js\";\nimport { formatHelpMsgCommands } from \"./format-subcommands.js\";\nimport { helpMsgStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMsgStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMsg(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>): string {\n const c = helpMsgStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(params);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let msg = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length ? c.command(\"[command]\") : \"\",\n metadata.options.length ? c.option(\"[options]\") : \"\",\n metadata.arguments.length || metadata.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n msg += formatTitle(\"Usage\") + ln(1);\n msg += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n msg += formatTitle(\"Description\") + ln(1);\n msg += indent(2) + c.description(metadata.description) + ln(2);\n }\n\n let longest = 0;\n\n // Prepare CLI options\n const optionsMetadata = metadata.options;\n\n const longestOptionTitle = optionsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n const longestSubcommandTitle = subcommandsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliases.concat([metadata.name]).join(\", \");\n const placeholder =\n metadata.placeholder || (metadata.options.length ? \"[options]\" : metadata.allowPositional ? \"<args>\" : \" \");\n const optLength = names.length + placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argsMetadata = metadata.arguments;\n const longestArgTitle = argsMetadata.reduce((acc, arg) => (arg.name.length > acc ? arg.name.length : acc), 0);\n if (longestArgTitle > longest) {\n longest = longestArgTitle;\n }\n\n // CLI options\n msg += formatHelpMsgOptions(optionsMetadata, c, longest);\n\n // CLI commands\n msg += formatHelpMsgCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n msg += formatHelpMsgArguments(argsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n msg += formatTitle(\"Example\");\n msg += ln(1);\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(3));\n msg += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return msg;\n}\n\nexport function formatSubcommandHelpMsg(subcommand: Subcommand, printStyle?: Partial<HelpMsgStyle>, cliName = \"\") {\n const c = helpMsgStyles.default;\n if (printStyle) Object.assign(c, printStyle);\n\n const usage =\n subcommand.usage ||\n concat(\n c.punctuation(\"$\"),\n cliName,\n c.command(subcommand.name),\n subcommand.options?.length ? c.option(\"[options]\") : \"\",\n subcommand.arguments?.length || subcommand.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n\n const asCli: Cli = { cliName, usage, ...subcommand };\n\n return formatCliHelpMsg([asCli], c);\n}\n\nexport function printCliHelp(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>) {\n console.log(formatCliHelpMsg(params, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMsgStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMsg(subcommand, style, cliName));\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_getCliMetadata","require","_utils","_formatArguments","_formatOptions","_formatSubcommands","_styles","formatCliHelpMsg","params","style","c","helpMsgStyles","default","Object","assign","metadata","getCliMetadata","formatTitle","title","toUpperCase","msg","usage","concat","punctuation","description","name","subcommands","length","command","options","option","arguments","argument","allowPositional","ln","indent","longest","optionsMetadata","longestOptionTitle","reduce","acc","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","subcommandPlaceholder","argsMetadata","longestArgTitle","arg","formatHelpMsgOptions","formatHelpMsgCommands","formatHelpMsgArguments","example","normalizeExample","replace","formatSubcommandHelpMsg","subcommand","printStyle","cliName","asCli","printCliHelp","console","log","printSubcommandHelp"],"sourceRoot":"../../../src/help-message","sources":["format-cli.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\nimport { concat, indent, ln, subcommandPlaceholder } from \"../utils.js\";\nimport { formatHelpMsgArguments } from \"./format-arguments.js\";\nimport { formatHelpMsgOptions } from \"./format-options.js\";\nimport { formatHelpMsgCommands } from \"./format-subcommands.js\";\nimport { helpMsgStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMsgStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMsg(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>): string {\n const c = helpMsgStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(params);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let msg = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length ? c.command(\"[command]\") : \"\",\n metadata.options.length ? c.option(\"[options]\") : \"\",\n metadata.arguments.length ? c.argument(\"<arguments>\") : \"\",\n metadata.allowPositional ? c.argument(\"<positionals>\") : \"\",\n );\n msg += formatTitle(\"Usage\") + ln(1);\n msg += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n msg += formatTitle(\"Description\") + ln(1);\n msg += indent(2) + c.description(metadata.description) + ln(2);\n }\n\n let longest = 0;\n\n // Prepare CLI options\n const optionsMetadata = metadata.options;\n\n const longestOptionTitle = optionsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n const longestSubcommandTitle = subcommandsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliases.concat([metadata.name]).join(\", \");\n const placeholder = subcommandPlaceholder(metadata);\n const optLength = names.length + placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argsMetadata = metadata.arguments;\n const longestArgTitle = argsMetadata.reduce((acc, arg) => (arg.name.length > acc ? arg.name.length : acc), 0);\n if (longestArgTitle > longest) {\n longest = longestArgTitle;\n }\n\n // CLI options\n msg += formatHelpMsgOptions(optionsMetadata, c, longest);\n\n // CLI commands\n msg += formatHelpMsgCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n msg += formatHelpMsgArguments(argsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n msg += formatTitle(\"Example\");\n msg += ln(1);\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(3));\n msg += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return msg;\n}\n\nexport function formatSubcommandHelpMsg(subcommand: Subcommand, printStyle?: Partial<HelpMsgStyle>, cliName = \"\") {\n const c = helpMsgStyles.default;\n if (printStyle) Object.assign(c, printStyle);\n\n const usage =\n subcommand.usage ||\n concat(\n c.punctuation(\"$\"),\n cliName,\n c.command(subcommand.name),\n subcommand.options?.length ? c.option(\"[options]\") : \"\",\n subcommand.arguments?.length || subcommand.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n\n const asCli: Cli = { cliName, usage, ...subcommand };\n\n return formatCliHelpMsg([asCli], c);\n}\n\nexport function printCliHelp(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>) {\n console.log(formatCliHelpMsg(params, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMsgStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMsg(subcommand, style, cliName));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgOptions=formatHelpMsgOptions;var _utils=require("../utils.js");function formatHelpMsgOptions(optionsMetadata,c,longest){if(!optionsMetadata.length)return"";let msg=c.title(" OPTIONS")+(0,_utils.ln)(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const optLength=names.join(", ").length+metadata.placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.option(name)).join(c.punctuation(", "));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(metadata.placeholder),(0,_utils.indent)(spacing),(0,_utils.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+6)+c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgOptions=formatHelpMsgOptions;var _utils=require("../utils.js");function formatHelpMsgOptions(optionsMetadata,c,longest){if(!optionsMetadata.length)return"";let msg=c.title(" OPTIONS")+(0,_utils.ln)(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const optLength=names.join(", ").length+metadata.placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.option(name)).join(c.punctuation(", "));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(metadata.placeholder),(0,_utils.indent)(spacing),(0,_utils.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+6)+c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","formatHelpMsgOptions","optionsMetadata","c","longest","length","msg","title","ln","metadata","names","aliasesAsArgs","concat","nameAsArg","normalizeDesc","description","replace","indent","punctuation","defaultStr","defaultValue","defaultValueAsString","optLength","join","placeholder","spacing","coloredNames","map","name","option","defaultOrOptional","default","optional","insertAtEndOfFirstLine","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-options.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgOptions(optionsMetadata: OptionMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!optionsMetadata.length) return \"\";\n\n let msg = c.title(\" OPTIONS\") + ln(1);\n\n for (const metadata of optionsMetadata) {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]);\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const optLength = names.join(\", \").length + metadata.placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.option(name)).join(c.punctuation(\", \"));\n\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(metadata.placeholder),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"wHAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,oBAAoBA,CAACC,eAAiC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CAChH,GAAI,CAACF,eAAe,CAACG,MAAM,CAAE,MAAO,EAAE,CAEtC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAErC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,eAAe,CAAE,CACtC,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,aAAa,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,SAAS,CAAC,CAAC,CACjE,KAAM,CAAAC,aAAa,CAAGL,QAAQ,CAACM,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAC,CAC1G,KAAM,CAAAC,UAAU,CACd,MAAO,CAAAV,QAAQ,CAACW,YAAY,GAAK,WAAW,CAAG,aAAaX,QAAQ,CAACY,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,SAAS,CAAGZ,KAAK,CAACa,IAAI,CAAC,IAAI,CAAC,CAAClB,MAAM,CAAGI,QAAQ,CAACe,WAAW,CAACnB,MAAM,CACvE,KAAM,CAAAoB,OAAO,CAAGrB,OAAO,CAAG,CAAC,CAAGkB,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGhB,KAAK,CAACiB,GAAG,CAACC,IAAI,EAAIzB,CAAC,CAAC0B,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACpB,CAAC,CAACe,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhF,KAAM,CAAAY,iBAAiB,CAAGX,UAAU,CAAGhB,CAAC,CAAC4B,OAAO,CAACZ,UAAU,CAAC,CAAGV,QAAQ,CAACuB,QAAQ,CAAG7B,CAAC,CAAC6B,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhH1B,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAAC,CAAC,CAAC,CAAGS,YAAY,CACxBvB,CAAC,CAACqB,WAAW,CAACf,QAAQ,CAACe,WAAW,CAAC,CACnC,GAAAP,aAAM,EAACQ,OAAO,CAAC,CACf,GAAAQ,6BAAsB,EAAC9B,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAAEgB,iBAAiB,CAAC,CACvE,GAAAtB,SAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACyB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAG1B,QAAQ,CAACyB,OAAO,CAAClB,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,EAAE,CAAC,CAAC,CACrFE,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAGf,CAAC,CAACiC,YAAY,CAAC,UAAU,CAAC,CACrEjC,CAAC,CAAC+B,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAA3B,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","formatHelpMsgOptions","optionsMetadata","c","longest","length","msg","title","ln","metadata","names","aliasesAsArgs","concat","nameAsArg","normalizeDesc","description","replace","indent","punctuation","defaultStr","defaultValue","defaultValueAsString","optLength","join","placeholder","spacing","coloredNames","map","name","option","defaultOrOptional","default","optional","insertAtEndOfFirstLine","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-options.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgOptions(optionsMetadata: OptionMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!optionsMetadata.length) return \"\";\n\n let msg = c.title(\" OPTIONS\") + ln(1);\n\n for (const metadata of optionsMetadata) {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]);\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const optLength = names.join(\", \").length + metadata.placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.option(name)).join(c.punctuation(\", \"));\n\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(metadata.placeholder),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"wHAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,oBAAoBA,CAACC,eAAiC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CAChH,GAAI,CAACF,eAAe,CAACG,MAAM,CAAE,MAAO,EAAE,CAEtC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAErC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,eAAe,CAAE,CACtC,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,aAAa,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,SAAS,CAAC,CAAC,CACjE,KAAM,CAAAC,aAAa,CAAGL,QAAQ,CAACM,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,UAAU,CACd,MAAO,CAAAV,QAAQ,CAACW,YAAY,GAAK,WAAW,CAAG,aAAaX,QAAQ,CAACY,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,SAAS,CAAGZ,KAAK,CAACa,IAAI,CAAC,IAAI,CAAC,CAAClB,MAAM,CAAGI,QAAQ,CAACe,WAAW,CAACnB,MAAM,CACvE,KAAM,CAAAoB,OAAO,CAAGrB,OAAO,CAAG,CAAC,CAAGkB,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGhB,KAAK,CAACiB,GAAG,CAACC,IAAI,EAAIzB,CAAC,CAAC0B,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACpB,CAAC,CAACe,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhF,KAAM,CAAAY,iBAAiB,CAAGX,UAAU,CAAGhB,CAAC,CAAC4B,OAAO,CAACZ,UAAU,CAAC,CAAGV,QAAQ,CAACuB,QAAQ,CAAG7B,CAAC,CAAC6B,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhH1B,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAAC,CAAC,CAAC,CAAGS,YAAY,CACxBvB,CAAC,CAACqB,WAAW,CAACf,QAAQ,CAACe,WAAW,CAAC,CACnC,GAAAP,aAAM,EAACQ,OAAO,CAAC,CACf,GAAAQ,6BAAsB,EAAC9B,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAAEgB,iBAAiB,CAAC,CACvE,GAAAtB,SAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACyB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAG1B,QAAQ,CAACyB,OAAO,CAAClB,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAGf,CAAC,CAACiC,YAAY,CAAC,UAAU,CAAC,CACrEjC,CAAC,CAAC+B,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAA3B,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgCommands=formatHelpMsgCommands;var _utils=require("../utils.js");function formatHelpMsgCommands(subcommandsMetadata,c,longest){if(!subcommandsMetadata.length)return"";let msg=c.title(" COMMANDS")+(0,_utils.ln)(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=metadata.placeholder||(metadata.options.length?"[options]":metadata.allowPositional?"<args>":" ");const normalizeDesc=metadata.description.replace(/\n/g,"\n"+(0,_utils.indent)(longest+7)+c.punctuation("└"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(placeholder),(0,_utils.indent)(spacing),c.description(normalizeDesc)+(0,_utils.ln)(1));}msg+=(0,_utils.ln)(1);return msg;}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgCommands=formatHelpMsgCommands;var _utils=require("../utils.js");function formatHelpMsgCommands(subcommandsMetadata,c,longest){if(!subcommandsMetadata.length)return"";let msg=c.title(" COMMANDS")+(0,_utils.ln)(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=(0,_utils.subcommandPlaceholder)(metadata);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(placeholder),(0,_utils.indent)(spacing),c.description(normalizeDesc)+(0,_utils.ln)(1));}msg+=(0,_utils.ln)(1);return msg;}
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","formatHelpMsgCommands","subcommandsMetadata","c","longest","length","msg","title","ln","metadata","names","aliases","concat","name","placeholder","options","allowPositional","normalizeDesc","description","replace","indent","punctuation","optLength","join","spacing","coloredNames","map","command"],"sourceRoot":"../../../src/help-message","sources":["format-subcommands.ts"],"sourcesContent":["import { concat, indent, ln } from \"../utils.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMsgStyle,\n longest: number,\n): string {\n if (!subcommandsMetadata.length) return \"\";\n\n let msg = c.title(\" COMMANDS\") + ln(1);\n\n for (const metadata of subcommandsMetadata) {\n const names = metadata.aliases.concat([metadata.name]);\n const placeholder =\n metadata.placeholder || (metadata.options.length ? \"[options]\" : metadata.allowPositional ? \"<args>\" : \" \");\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 7) + c.punctuation(\"└\"));\n\n const optLength = names.join(\", \").length + placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.command(name)).join(c.punctuation(\", \"));\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"0HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,qBAAqBA,CACnCC,mBAAyC,CACzCC,CAAe,CACfC,OAAe,CACP,CACR,GAAI,CAACF,mBAAmB,CAACG,MAAM,CAAE,MAAO,EAAE,CAE1C,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEtC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,mBAAmB,CAAE,CAC1C,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,OAAO,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,IAAI,CAAC,CAAC,CACtD,KAAM,CAAAC,WAAW,CACfL,QAAQ,CAACK,WAAW,GAAKL,QAAQ,CAACM,OAAO,CAACV,MAAM,CAAG,WAAW,CAAGI,QAAQ,CAACO,eAAe,CAAG,QAAQ,CAAG,GAAG,CAAC,CAC7G,KAAM,CAAAC,aAAa,CAAGR,QAAQ,CAACS,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAG,GAAAC,aAAM,EAAChB,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACkB,WAAW,CAAC,GAAG,CAAC,CAAC,CAE1G,KAAM,CAAAC,SAAS,CAAGZ,KAAK,CAACa,IAAI,CAAC,IAAI,CAAC,CAAClB,MAAM,CAAGS,WAAW,CAACT,MAAM,CAC9D,KAAM,CAAAmB,OAAO,CAAGpB,OAAO,CAAG,CAAC,CAAGkB,SAAS,CAEvC,KAAM,CAAAG,YAAY,CAAGf,KAAK,CAACgB,GAAG,CAACb,IAAI,EAAIV,CAAC,CAACwB,OAAO,CAACd,IAAI,CAAC,CAAC,CAACU,IAAI,CAACpB,CAAC,CAACkB,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjFf,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAQ,aAAM,EAAC,CAAC,CAAC,CAAGK,YAAY,CACxBtB,CAAC,CAACW,WAAW,CAACA,WAAW,CAAC,CAC1B,GAAAM,aAAM,EAACI,OAAO,CAAC,CACfrB,CAAC,CAACe,WAAW,CAACD,aAAa,CAAC,CAAG,GAAAT,SAAE,EAAC,CAAC,CACrC,CAAC,CACH,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","formatHelpMsgCommands","subcommandsMetadata","c","longest","length","msg","title","ln","metadata","names","aliases","concat","name","placeholder","subcommandPlaceholder","normalizeDesc","description","replace","indent","punctuation","optLength","join","spacing","coloredNames","map","command"],"sourceRoot":"../../../src/help-message","sources":["format-subcommands.ts"],"sourcesContent":["import { concat, indent, ln, subcommandPlaceholder } from \"../utils.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMsgStyle,\n longest: number,\n): string {\n if (!subcommandsMetadata.length) return \"\";\n\n let msg = c.title(\" COMMANDS\") + ln(1);\n\n for (const metadata of subcommandsMetadata) {\n const names = metadata.aliases.concat([metadata.name]);\n const placeholder = subcommandPlaceholder(metadata);\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n\n const optLength = names.join(\", \").length + placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.command(name)).join(c.punctuation(\", \"));\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"0HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,qBAAqBA,CACnCC,mBAAyC,CACzCC,CAAe,CACfC,OAAe,CACP,CACR,GAAI,CAACF,mBAAmB,CAACG,MAAM,CAAE,MAAO,EAAE,CAE1C,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEtC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,mBAAmB,CAAE,CAC1C,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,OAAO,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,IAAI,CAAC,CAAC,CACtD,KAAM,CAAAC,WAAW,CAAG,GAAAC,4BAAqB,EAACN,QAAQ,CAAC,CACnD,KAAM,CAAAO,aAAa,CAAGP,QAAQ,CAACQ,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACf,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACiB,WAAW,CAAC,GAAG,CAAC,CAAC,CAE3G,KAAM,CAAAC,SAAS,CAAGX,KAAK,CAACY,IAAI,CAAC,IAAI,CAAC,CAACjB,MAAM,CAAGS,WAAW,CAACT,MAAM,CAC9D,KAAM,CAAAkB,OAAO,CAAGnB,OAAO,CAAG,CAAC,CAAGiB,SAAS,CAEvC,KAAM,CAAAG,YAAY,CAAGd,KAAK,CAACe,GAAG,CAACZ,IAAI,EAAIV,CAAC,CAACuB,OAAO,CAACb,IAAI,CAAC,CAAC,CAACS,IAAI,CAACnB,CAAC,CAACiB,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjFd,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAO,aAAM,EAAC,CAAC,CAAC,CAAGK,YAAY,CACxBrB,CAAC,CAACW,WAAW,CAACA,WAAW,CAAC,CAC1B,GAAAK,aAAM,EAACI,OAAO,CAAC,CACfpB,CAAC,CAACc,WAAW,CAACD,aAAa,CAAC,CAAG,GAAAR,SAAE,EAAC,CAAC,CACrC,CAAC,CACH,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createArguments=createArguments;exports.createCli=createCli;exports.createOptions=createOptions;exports.createSubcommand=createSubcommand;Object.defineProperty(exports,"formatCliHelpMsg",{enumerable:true,get:function(){return _formatCli.formatCliHelpMsg;}});Object.defineProperty(exports,"formatSubcommandHelpMsg",{enumerable:true,get:function(){return _formatCli.formatSubcommandHelpMsg;}});Object.defineProperty(exports,"generateBashAutocompleteScript",{enumerable:true,get:function(){return _bashAutocompleteScript.generateBashAutocompleteScript;}});Object.defineProperty(exports,"generateMarkdown",{enumerable:true,get:function(){return _generateMarkdown.generateMarkdown;}});Object.defineProperty(exports,"generatePowerShellAutocompleteScript",{enumerable:true,get:function(){return _powershellAutocompleteScript.generatePowerShellAutocompleteScript;}});Object.defineProperty(exports,"generateZshAutocompleteScript",{enumerable:true,get:function(){return _zshAutocompleteScript.generateZshAutocompleteScript;}});Object.defineProperty(exports,"getArgumentsMetadata",{enumerable:true,get:function(){return _getArgumentsMetadata.getArgumentsMetadata;}});Object.defineProperty(exports,"getCliMetadata",{enumerable:true,get:function(){return _getCliMetadata.getCliMetadata;}});Object.defineProperty(exports,"getOptionsMetadata",{enumerable:true,get:function(){return _getOptionsMetadata.getOptionsMetadata;}});Object.defineProperty(exports,"getSubcommandsMetadata",{enumerable:true,get:function(){return _getSubcommandsMetadata.getSubcommandsMetadata;}});Object.defineProperty(exports,"helpMsgStyles",{enumerable:true,get:function(){return _styles.helpMsgStyles;}});Object.defineProperty(exports,"isOptionalSchema",{enumerable:true,get:function(){return _zodUtils.isOptionalSchema;}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return _unsafeParse.unsafeParse;}});Object.defineProperty(exports,"parseAsync",{enumerable:true,get:function(){return _unsafeParse.unsafeParseAsync;}});Object.defineProperty(exports,"printCliHelp",{enumerable:true,get:function(){return _formatCli.printCliHelp;}});Object.defineProperty(exports,"printSubcommandHelp",{enumerable:true,get:function(){return _formatCli.printSubcommandHelp;}});Object.defineProperty(exports,"safeParse",{enumerable:true,get:function(){return _safeParse.safeParse;}});Object.defineProperty(exports,"safeParseAsync",{enumerable:true,get:function(){return _safeParse.safeParseAsync;}});Object.defineProperty(exports,"schemaDefaultValue",{enumerable:true,get:function(){return _zodUtils.schemaDefaultValue;}});Object.defineProperty(exports,"stringToArray",{enumerable:true,get:function(){return _zodUtils.stringToArray;}});Object.defineProperty(exports,"stringToSet",{enumerable:true,get:function(){return _zodUtils.stringToSet;}});var _formatCli=require("./help-message/format-cli.js");var _styles=require("./help-message/styles.js");var _unsafeParse=require("./parser/unsafe-parse.js");var _safeParse=require("./parser/safe-parse.js");var _zodUtils=require("./zod-utils.js");var _bashAutocompleteScript=require("./autocomplete-scripts/bash-autocomplete-script.js");var _powershellAutocompleteScript=require("./autocomplete-scripts/powershell-autocomplete-script.js");var _zshAutocompleteScript=require("./autocomplete-scripts/zsh-autocomplete-script.js");var _getArgumentsMetadata=require("./metadata/get-arguments-metadata.js");var _getCliMetadata=require("./metadata/get-cli-metadata.js");var _getOptionsMetadata=require("./metadata/get-options-metadata.js");var _getSubcommandsMetadata=require("./metadata/get-subcommands-metadata.js");var _generateMarkdown=require("./markdown/generate-markdown.js");function createCli(input){const setAction=action=>{if(typeof input==="string")return;input.action=action;};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook;};return Object.assign(input,{setAction,setPreValidationHook});}function createSubcommand(input){const setAction=action=>{if(typeof input==="string")return;input.action=action;};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook;};return Object.assign(input,{setAction,setPreValidationHook});}function createOptions(options){return options;}function createArguments(args){return args;}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createArguments=createArguments;exports.createCli=createCli;exports.createOptions=createOptions;exports.createSubcommand=createSubcommand;Object.defineProperty(exports,"formatCliHelpMsg",{enumerable:true,get:function(){return _formatCli.formatCliHelpMsg;}});Object.defineProperty(exports,"formatSubcommandHelpMsg",{enumerable:true,get:function(){return _formatCli.formatSubcommandHelpMsg;}});Object.defineProperty(exports,"generateBashAutocompleteScript",{enumerable:true,get:function(){return _bashAutocompleteScript.generateBashAutocompleteScript;}});Object.defineProperty(exports,"generateMarkdown",{enumerable:true,get:function(){return _generateMarkdown.generateMarkdown;}});Object.defineProperty(exports,"generatePowerShellAutocompleteScript",{enumerable:true,get:function(){return _powershellAutocompleteScript.generatePowerShellAutocompleteScript;}});Object.defineProperty(exports,"generateZshAutocompleteScript",{enumerable:true,get:function(){return _zshAutocompleteScript.generateZshAutocompleteScript;}});Object.defineProperty(exports,"getArgumentsMetadata",{enumerable:true,get:function(){return _getArgumentsMetadata.getArgumentsMetadata;}});Object.defineProperty(exports,"getCliMetadata",{enumerable:true,get:function(){return _getCliMetadata.getCliMetadata;}});Object.defineProperty(exports,"getOptionsMetadata",{enumerable:true,get:function(){return _getOptionsMetadata.getOptionsMetadata;}});Object.defineProperty(exports,"getSubcommandsMetadata",{enumerable:true,get:function(){return _getSubcommandsMetadata.getSubcommandsMetadata;}});Object.defineProperty(exports,"helpMsgStyles",{enumerable:true,get:function(){return _styles.helpMsgStyles;}});Object.defineProperty(exports,"isOptionalSchema",{enumerable:true,get:function(){return _zodUtils.isOptionalSchema;}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return _unsafeParse.unsafeParse;}});Object.defineProperty(exports,"parseAsync",{enumerable:true,get:function(){return _unsafeParse.unsafeParseAsync;}});Object.defineProperty(exports,"printCliHelp",{enumerable:true,get:function(){return _formatCli.printCliHelp;}});Object.defineProperty(exports,"printSubcommandHelp",{enumerable:true,get:function(){return _formatCli.printSubcommandHelp;}});Object.defineProperty(exports,"safeParse",{enumerable:true,get:function(){return _safeParse.safeParse;}});Object.defineProperty(exports,"safeParseAsync",{enumerable:true,get:function(){return _safeParse.safeParseAsync;}});Object.defineProperty(exports,"schemaDefaultValue",{enumerable:true,get:function(){return _zodUtils.schemaDefaultValue;}});Object.defineProperty(exports,"stringToArray",{enumerable:true,get:function(){return _zodUtils.stringToArray;}});Object.defineProperty(exports,"stringToSet",{enumerable:true,get:function(){return _zodUtils.stringToSet;}});var _formatCli=require("./help-message/format-cli.js");var _styles=require("./help-message/styles.js");var _safeParse=require("./parser/safe-parse.js");var _unsafeParse=require("./parser/unsafe-parse.js");var _zodUtils=require("./zod-utils.js");var _bashAutocompleteScript=require("./autocomplete-scripts/bash-autocomplete-script.js");var _powershellAutocompleteScript=require("./autocomplete-scripts/powershell-autocomplete-script.js");var _zshAutocompleteScript=require("./autocomplete-scripts/zsh-autocomplete-script.js");var _getArgumentsMetadata=require("./metadata/get-arguments-metadata.js");var _getCliMetadata=require("./metadata/get-cli-metadata.js");var _getOptionsMetadata=require("./metadata/get-options-metadata.js");var _getSubcommandsMetadata=require("./metadata/get-subcommands-metadata.js");var _generateMarkdown=require("./markdown/generate-markdown.js");function createCli(input){const setAction=action=>{if(typeof input==="string")return;input.action=action;};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook;};return Object.assign(input,{setAction,setPreValidationHook});}function createSubcommand(input){const setAction=action=>{if(typeof input==="string")return;input.action=action;};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook;};return Object.assign(input,{setAction,setPreValidationHook});}function createOptions(options){return options;}function createArguments(args){return args;}
@@ -1 +1 @@
1
- {"version":3,"names":["_formatCli","require","_styles","_unsafeParse","_safeParse","_zodUtils","_bashAutocompleteScript","_powershellAutocompleteScript","_zshAutocompleteScript","_getArgumentsMetadata","_getCliMetadata","_getOptionsMetadata","_getSubcommandsMetadata","_generateMarkdown","createCli","input","setAction","action","setPreValidationHook","hook","preValidation","Object","assign","createSubcommand","createOptions","options","createArguments","args"],"sourceRoot":"../../src","sources":["index.ts"],"sourcesContent":["import type {\n ActionsFn,\n Argument,\n CheckArgumentsOptional,\n CheckDuplicatedArguments,\n CheckDuplicatedOptions,\n Cli,\n Option,\n Prettify,\n Subcommand,\n} from \"./types.js\";\n\n/**\n * - Insures that there are no duplicated options\n * - Insures that there are no duplicated arguments\n * - Insures that only the last argument is optional\n * - Insures no optional arguments are allowed when `allowPositional` is enabled\n */\ntype CheckCliSubcommandInput<T extends Cli | Subcommand> =\n CheckDuplicatedOptions<T> extends infer Err extends string\n ? Err\n : CheckDuplicatedArguments<T> extends infer Err extends string\n ? Err\n : CheckArgumentsOptional<T> extends infer Err extends string\n ? Err\n : T;\n\nexport function createCli<const T extends Cli>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action;\n };\n\n const setPreValidationHook = (hook: (ctx: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFn<T>>;\n}\n\nexport function createSubcommand<const T extends Subcommand>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action as T[\"action\"];\n };\n\n const setPreValidationHook = (hook: (ctx: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFn<T>>;\n}\n\n/** - Insures that there are no duplicated options */\ntype CheckOptionsInput<T extends Option[]> =\n CheckDuplicatedOptions<{ options: T }> extends infer Err extends string ? Err : T;\n\nexport function createOptions<const T extends [Option, ...Option[]]>(options: CheckOptionsInput<T>) {\n return options;\n}\n\n/** - Insures that only the last argument is optional */\ntype CheckArgumentsInput<T extends Argument[]> =\n CheckArgumentsOptional<{ arguments: T }> extends infer Err extends string ? Err : T;\n\nexport function createArguments<const T extends [Argument, ...Argument[]]>(args: CheckArgumentsInput<T>) {\n return args;\n}\n\nexport {\n formatCliHelpMsg,\n printCliHelp,\n formatSubcommandHelpMsg,\n printSubcommandHelp,\n} from \"./help-message/format-cli.js\";\nexport { helpMsgStyles } from \"./help-message/styles.js\";\n\nexport { unsafeParse as parse, unsafeParseAsync as parseAsync } from \"./parser/unsafe-parse.js\";\nexport { safeParse, safeParseAsync } from \"./parser/safe-parse.js\";\n\nexport { isOptionalSchema, schemaDefaultValue, stringToArray, stringToSet } from \"./zod-utils.js\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.js\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.js\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.js\";\n\nexport { getArgumentsMetadata } from \"./metadata/get-arguments-metadata.js\";\nexport { getCliMetadata } from \"./metadata/get-cli-metadata.js\";\nexport { getOptionsMetadata } from \"./metadata/get-options-metadata.js\";\nexport { getSubcommandsMetadata } from \"./metadata/get-subcommands-metadata.js\";\n\nexport { generateMarkdown } from \"./markdown/generate-markdown.js\";\n\nexport type * from \"./types.js\";\nexport type * from \"./metadata/metadata-types.js\";\n"],"mappings":"00FAuEA,IAAAA,UAAA,CAAAC,OAAA,iCAMA,IAAAC,OAAA,CAAAD,OAAA,6BAEA,IAAAE,YAAA,CAAAF,OAAA,6BACA,IAAAG,UAAA,CAAAH,OAAA,2BAEA,IAAAI,SAAA,CAAAJ,OAAA,mBAEA,IAAAK,uBAAA,CAAAL,OAAA,uDACA,IAAAM,6BAAA,CAAAN,OAAA,6DACA,IAAAO,sBAAA,CAAAP,OAAA,sDAEA,IAAAQ,qBAAA,CAAAR,OAAA,yCACA,IAAAS,eAAA,CAAAT,OAAA,mCACA,IAAAU,mBAAA,CAAAV,OAAA,uCACA,IAAAW,uBAAA,CAAAX,OAAA,2CAEA,IAAAY,iBAAA,CAAAZ,OAAA,oCAlEO,QAAS,CAAAa,SAASA,CAAsBC,KAAiC,CAAE,CAChF,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAM,CACvB,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAEO,QAAS,CAAAK,gBAAgBA,CAA6BR,KAAiC,CAAE,CAC9F,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAqB,CACtC,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAMO,QAAS,CAAAM,aAAaA,CAAwCC,OAA6B,CAAE,CAClG,MAAO,CAAAA,OAAO,CAChB,CAMO,QAAS,CAAAC,eAAeA,CAA4CC,IAA4B,CAAE,CACvG,MAAO,CAAAA,IAAI,CACb","ignoreList":[]}
1
+ {"version":3,"names":["_formatCli","require","_styles","_safeParse","_unsafeParse","_zodUtils","_bashAutocompleteScript","_powershellAutocompleteScript","_zshAutocompleteScript","_getArgumentsMetadata","_getCliMetadata","_getOptionsMetadata","_getSubcommandsMetadata","_generateMarkdown","createCli","input","setAction","action","setPreValidationHook","hook","preValidation","Object","assign","createSubcommand","createOptions","options","createArguments","args"],"sourceRoot":"../../src","sources":["index.ts"],"sourcesContent":["import type {\n ActionsFn,\n Argument,\n CheckArgumentsOptional,\n CheckDuplicatedArguments,\n CheckDuplicatedOptions,\n Cli,\n Option,\n Prettify,\n Subcommand,\n} from \"./types.js\";\n\n/**\n * - Insures that there are no duplicated options\n * - Insures that there are no duplicated arguments\n * - Insures that only the last argument is optional\n * - Insures no optional arguments are allowed when `allowPositional` is enabled\n */\ntype CheckCliSubcommandInput<T extends Cli | Subcommand> =\n CheckDuplicatedOptions<T> extends infer Err extends string\n ? Err\n : CheckDuplicatedArguments<T> extends infer Err extends string\n ? Err\n : CheckArgumentsOptional<T> extends infer Err extends string\n ? Err\n : T;\n\nexport function createCli<const T extends Cli>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action;\n };\n\n const setPreValidationHook = (hook: (ctx: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFn<T>>;\n}\n\nexport function createSubcommand<const T extends Subcommand>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action as T[\"action\"];\n };\n\n const setPreValidationHook = (hook: (ctx: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFn<T>>;\n}\n\n/** - Insures that there are no duplicated options */\ntype CheckOptionsInput<T extends Option[]> =\n CheckDuplicatedOptions<{ options: T }> extends infer Err extends string ? Err : T;\n\nexport function createOptions<const T extends [Option, ...Option[]]>(options: CheckOptionsInput<T>) {\n return options;\n}\n\n/** - Insures that only the last argument is optional */\ntype CheckArgumentsInput<T extends Argument[]> =\n CheckArgumentsOptional<{ arguments: T }> extends infer Err extends string ? Err : T;\n\nexport function createArguments<const T extends [Argument, ...Argument[]]>(args: CheckArgumentsInput<T>) {\n return args;\n}\n\nexport {\n formatCliHelpMsg,\n formatSubcommandHelpMsg,\n printCliHelp,\n printSubcommandHelp,\n} from \"./help-message/format-cli.js\";\nexport { helpMsgStyles } from \"./help-message/styles.js\";\n\nexport { safeParse, safeParseAsync } from \"./parser/safe-parse.js\";\nexport { unsafeParse as parse, unsafeParseAsync as parseAsync } from \"./parser/unsafe-parse.js\";\n\nexport { isOptionalSchema, schemaDefaultValue, stringToArray, stringToSet } from \"./zod-utils.js\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.js\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.js\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.js\";\n\nexport { getArgumentsMetadata } from \"./metadata/get-arguments-metadata.js\";\nexport { getCliMetadata } from \"./metadata/get-cli-metadata.js\";\nexport { getOptionsMetadata } from \"./metadata/get-options-metadata.js\";\nexport { getSubcommandsMetadata } from \"./metadata/get-subcommands-metadata.js\";\n\nexport { generateMarkdown } from \"./markdown/generate-markdown.js\";\n\nexport type * from \"./metadata/metadata-types.js\";\nexport type * from \"./types.js\";\n"],"mappings":"00FAuEA,IAAAA,UAAA,CAAAC,OAAA,iCAMA,IAAAC,OAAA,CAAAD,OAAA,6BAEA,IAAAE,UAAA,CAAAF,OAAA,2BACA,IAAAG,YAAA,CAAAH,OAAA,6BAEA,IAAAI,SAAA,CAAAJ,OAAA,mBAEA,IAAAK,uBAAA,CAAAL,OAAA,uDACA,IAAAM,6BAAA,CAAAN,OAAA,6DACA,IAAAO,sBAAA,CAAAP,OAAA,sDAEA,IAAAQ,qBAAA,CAAAR,OAAA,yCACA,IAAAS,eAAA,CAAAT,OAAA,mCACA,IAAAU,mBAAA,CAAAV,OAAA,uCACA,IAAAW,uBAAA,CAAAX,OAAA,2CAEA,IAAAY,iBAAA,CAAAZ,OAAA,oCAlEO,QAAS,CAAAa,SAASA,CAAsBC,KAAiC,CAAE,CAChF,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAM,CACvB,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAEO,QAAS,CAAAK,gBAAgBA,CAA6BR,KAAiC,CAAE,CAC9F,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAqB,CACtC,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAMO,QAAS,CAAAM,aAAaA,CAAwCC,OAA6B,CAAE,CAClG,MAAO,CAAAA,OAAO,CAChB,CAMO,QAAS,CAAAC,eAAeA,CAA4CC,IAA4B,CAAE,CACvG,MAAO,CAAAA,IAAI,CACb","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateMarkdown=generateMarkdown;var _getCliMetadata=require("../metadata/get-cli-metadata.js");function generateMarkdown(...params){const metadata=(0,_getCliMetadata.getCliMetadata)(params);let md="<!-- Auto-generated by zod-args-parser -->\n\n";md+=`# ${metadata.name}\n\n`;if(metadata.description){md+=`${metadata.description}\n`;}if(metadata.example){md+=renderExamples(metadata.example);}if(metadata.options.length){md+="\n## Options:\n\n";md+=renderOptions(metadata.options,3);}if(metadata.arguments.length){md+="\n## Arguments:\n\n";md+=renderArguments(metadata.arguments,3);}if(metadata.subcommands.length){md+="\n## Subcommands:\n\n";md+=renderSubcommands(metadata.subcommands);}return md;}function renderExamples(examples,list=false){let outStr="";const lang="bash";const listIndent=" ".repeat(list?2:0);outStr+="\n"+(list?"- ":"");outStr+="```"+lang+"\n";outStr+=listIndent+examples.replace(/\n/g,"\n"+listIndent);outStr+="\n"+listIndent+"```\n";return outStr;}function renderOptions(optionsMetadata=[],h){let outStr="";for(let i=0;i<optionsMetadata.length;i++){const metadata=optionsMetadata[i];const aliases=[metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(", ");const placeholder=metadata.placeholder&&` ${metadata.placeholder}`;outStr+=`${"#".repeat(h)} \`${aliases+placeholder}\``;if(metadata.optional){outStr+=" **[optional]**";}outStr+="\n\n";if(metadata.description){outStr+=`- ${metadata.description}\n`;}if(typeof metadata.defaultValue!=="undefined"){outStr+=`- **default:** \`${metadata.defaultValueAsString}\`\n`;}if(metadata.example){outStr+=renderExamples(metadata.example,true);}if(i<optionsMetadata.length-1){outStr+="\n";}}return outStr;}function renderArguments(argsMetadata=[],h){let outStr="";for(let i=0;i<argsMetadata.length;i++){const metadata=argsMetadata[i];outStr+=`${"#".repeat(h)} \`${metadata.name}\``;if(metadata.optional){outStr+=" **[optional]**";}outStr+="\n\n";if(metadata.description){outStr+=`- ${metadata.description}\n`;}if(typeof metadata.defaultValue!=="undefined"){outStr+=`- **default:** \`${metadata.defaultValueAsString}\`\n`;}if(metadata.example){outStr+=renderExamples(metadata.example);}if(i<argsMetadata.length-1){outStr+="\n";}}return outStr;}function renderSubcommands(subcommandsMetadata){let outStr="";for(let i=0;i<subcommandsMetadata.length;i++){const metadata=subcommandsMetadata[i];const aliases=[metadata.name].concat(metadata.aliases).join(", ");const placeholder=metadata.placeholder&&` ${escapeTags(metadata.placeholder)}`;outStr+=`### ${aliases+placeholder}\n\n`;if(metadata.description){outStr+=`${metadata.description}\n`;}if(metadata.example){outStr+=renderExamples(metadata.example);}if(metadata.options.length){outStr+="\n#### Options:\n\n";outStr+=renderOptions(metadata.options,4);}if(metadata.arguments.length){outStr+="\n#### Arguments:\n\n";outStr+=renderArguments(metadata.arguments,4);}if(i<subcommandsMetadata.length-1){outStr+="\n---\n\n";}}return outStr;}function escapeTags(str){return str.replace(/</g,"&lt;").replace(/>/g,"&gt;");}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateMarkdown=generateMarkdown;var _getCliMetadata=require("../metadata/get-cli-metadata.js");function generateMarkdown(...params){const metadata=(0,_getCliMetadata.getCliMetadata)(params);let md="<!-- Auto-generated by zod-args-parser -->\n\n";md+=`# ${metadata.name}\n\n`;if(metadata.description){md+=`${metadata.description}\n`;}if(metadata.example){md+=renderExamples(metadata.example);}if(metadata.options.length){md+="\n## Options:\n\n";md+=renderOptions(metadata.options,3);}if(metadata.arguments.length){md+="\n## Arguments:\n\n";md+=renderArguments(metadata.arguments,3);}if(metadata.subcommands.length){md+="\n## Subcommands:\n\n";md+=renderSubcommands(metadata.subcommands);}return md;}function renderExamples(examples,list=false){let outStr="";const lang="bash";const listIndent=" ".repeat(list?2:0);outStr+="\n"+(list?"- ":"");outStr+="```"+lang+"\n";outStr+=listIndent+examples.replace(/\n/g,"\n"+listIndent);outStr+="\n"+listIndent+"```\n";return outStr;}function renderOptions(optionsMetadata=[],h){let outStr="";for(let i=0;i<optionsMetadata.length;i++){const metadata=optionsMetadata[i];const aliases=[metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(", ");const placeholder=metadata.placeholder&&` ${metadata.placeholder}`;outStr+=`${"#".repeat(h)} \`${aliases+placeholder}\``;if(metadata.optional){outStr+=" **[optional]**";}outStr+="\n\n";if(metadata.description){outStr+=`- ${metadata.description.replace(/(\n+)/g," $1 ")}\n`;}if(typeof metadata.defaultValue!=="undefined"){outStr+=`- **default:** \`${metadata.defaultValueAsString}\`\n`;}if(metadata.example){outStr+=renderExamples(metadata.example,true);}if(i<optionsMetadata.length-1){outStr+="\n";}}return outStr;}function renderArguments(argsMetadata=[],h){let outStr="";for(let i=0;i<argsMetadata.length;i++){const metadata=argsMetadata[i];outStr+=`${"#".repeat(h)} \`${metadata.name}\``;if(metadata.optional){outStr+=" **[optional]**";}outStr+="\n\n";if(metadata.description){outStr+=`- ${metadata.description.replace(/(\n+)/g," $1 ")}\n`;}if(typeof metadata.defaultValue!=="undefined"){outStr+=`- **default:** \`${metadata.defaultValueAsString}\`\n`;}if(metadata.example){outStr+=renderExamples(metadata.example);}if(i<argsMetadata.length-1){outStr+="\n";}}return outStr;}function renderSubcommands(subcommandsMetadata){let outStr="";for(let i=0;i<subcommandsMetadata.length;i++){const metadata=subcommandsMetadata[i];const aliases=[metadata.name].concat(metadata.aliases).join(", ");const placeholder=metadata.placeholder&&` ${escapeTags(metadata.placeholder)}`;outStr+=`### ${aliases+placeholder}\n\n`;if(metadata.description){outStr+=`${metadata.description}\n`;}if(metadata.example){outStr+=renderExamples(metadata.example);}if(metadata.options.length){outStr+="\n#### Options:\n\n";outStr+=renderOptions(metadata.options,4);}if(metadata.arguments.length){outStr+="\n#### Arguments:\n\n";outStr+=renderArguments(metadata.arguments,4);}if(i<subcommandsMetadata.length-1){outStr+="\n---\n\n";}}return outStr;}function escapeTags(str){return str.replace(/</g,"&lt;").replace(/>/g,"&gt;");}
@@ -1 +1 @@
1
- {"version":3,"names":["_getCliMetadata","require","generateMarkdown","params","metadata","getCliMetadata","md","name","description","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","examples","list","outStr","lang","listIndent","repeat","replace","optionsMetadata","h","i","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","optional","defaultValue","defaultValueAsString","argsMetadata","subcommandsMetadata","escapeTags","str"],"sourceRoot":"../../../src/markdown","sources":["generate-markdown.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\n\nimport type { ArgumentMetadata, OptionMetadata, SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { Cli, Subcommand } from \"../types.js\";\n\nexport function generateMarkdown(...params: [Cli, ...Subcommand[]]): string {\n const metadata = getCliMetadata(params);\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) {\n md += `${metadata.description}\\n`;\n }\n\n // Examples\n if (metadata.example) {\n md += renderExamples(metadata.example);\n }\n\n // Options\n if (metadata.options.length) {\n md += \"\\n## Options:\\n\\n\";\n md += renderOptions(metadata.options, 3);\n }\n\n // Arguments\n if (metadata.arguments.length) {\n md += \"\\n## Arguments:\\n\\n\";\n md += renderArguments(metadata.arguments, 3);\n }\n\n // Subcommands\n if (metadata.subcommands.length) {\n md += \"\\n## Subcommands:\\n\\n\";\n md += renderSubcommands(metadata.subcommands);\n }\n\n return md;\n}\n\nfunction renderExamples(examples: string, list = false) {\n let outStr = \"\";\n\n const lang = \"bash\";\n\n const listIndent = \" \".repeat(list ? 2 : 0);\n\n outStr += \"\\n\" + (list ? \"- \" : \"\");\n\n outStr += \"```\" + lang + \"\\n\";\n outStr += listIndent + examples.replace(/\\n/g, \"\\n\" + listIndent);\n outStr += \"\\n\" + listIndent + \"```\\n\";\n\n return outStr;\n}\n\nfunction renderOptions(optionsMetadata: OptionMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < optionsMetadata.length; i++) {\n const metadata = optionsMetadata[i];\n\n const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outStr += `${\"#\".repeat(h)} \\`${aliases + placeholder}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example, true);\n }\n\n if (i < optionsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderArguments(argsMetadata: ArgumentMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < argsMetadata.length; i++) {\n const metadata = argsMetadata[i];\n\n outStr += `${\"#\".repeat(h)} \\`${metadata.name}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (i < argsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderSubcommands(subcommandsMetadata: SubcommandMetadata[]) {\n let outStr = \"\";\n\n for (let i = 0; i < subcommandsMetadata.length; i++) {\n const metadata = subcommandsMetadata[i];\n\n const aliases = [metadata.name].concat(metadata.aliases).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${escapeTags(metadata.placeholder)}`;\n\n outStr += `### ${aliases + placeholder}\\n\\n`;\n\n if (metadata.description) {\n outStr += `${metadata.description}\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (metadata.options.length) {\n outStr += \"\\n#### Options:\\n\\n\";\n outStr += renderOptions(metadata.options, 4);\n }\n\n if (metadata.arguments.length) {\n outStr += \"\\n#### Arguments:\\n\\n\";\n outStr += renderArguments(metadata.arguments, 4);\n }\n\n if (i < subcommandsMetadata.length - 1) {\n outStr += \"\\n---\\n\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction escapeTags(str: string) {\n return str.replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_getCliMetadata","require","generateMarkdown","params","metadata","getCliMetadata","md","name","description","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","examples","list","outStr","lang","listIndent","repeat","replace","optionsMetadata","h","i","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","optional","defaultValue","defaultValueAsString","argsMetadata","subcommandsMetadata","escapeTags","str"],"sourceRoot":"../../../src/markdown","sources":["generate-markdown.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\n\nimport type { ArgumentMetadata, OptionMetadata, SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { Cli, Subcommand } from \"../types.js\";\n\nexport function generateMarkdown(...params: [Cli, ...Subcommand[]]): string {\n const metadata = getCliMetadata(params);\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) {\n md += `${metadata.description}\\n`;\n }\n\n // Examples\n if (metadata.example) {\n md += renderExamples(metadata.example);\n }\n\n // Options\n if (metadata.options.length) {\n md += \"\\n## Options:\\n\\n\";\n md += renderOptions(metadata.options, 3);\n }\n\n // Arguments\n if (metadata.arguments.length) {\n md += \"\\n## Arguments:\\n\\n\";\n md += renderArguments(metadata.arguments, 3);\n }\n\n // Subcommands\n if (metadata.subcommands.length) {\n md += \"\\n## Subcommands:\\n\\n\";\n md += renderSubcommands(metadata.subcommands);\n }\n\n return md;\n}\n\nfunction renderExamples(examples: string, list = false) {\n let outStr = \"\";\n\n const lang = \"bash\";\n\n const listIndent = \" \".repeat(list ? 2 : 0);\n\n outStr += \"\\n\" + (list ? \"- \" : \"\");\n\n outStr += \"```\" + lang + \"\\n\";\n outStr += listIndent + examples.replace(/\\n/g, \"\\n\" + listIndent);\n outStr += \"\\n\" + listIndent + \"```\\n\";\n\n return outStr;\n}\n\nfunction renderOptions(optionsMetadata: OptionMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < optionsMetadata.length; i++) {\n const metadata = optionsMetadata[i];\n\n const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outStr += `${\"#\".repeat(h)} \\`${aliases + placeholder}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description.replace(/(\\n+)/g, \" $1 \")}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example, true);\n }\n\n if (i < optionsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderArguments(argsMetadata: ArgumentMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < argsMetadata.length; i++) {\n const metadata = argsMetadata[i];\n\n outStr += `${\"#\".repeat(h)} \\`${metadata.name}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description.replace(/(\\n+)/g, \" $1 \")}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (i < argsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderSubcommands(subcommandsMetadata: SubcommandMetadata[]) {\n let outStr = \"\";\n\n for (let i = 0; i < subcommandsMetadata.length; i++) {\n const metadata = subcommandsMetadata[i];\n\n const aliases = [metadata.name].concat(metadata.aliases).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${escapeTags(metadata.placeholder)}`;\n\n outStr += `### ${aliases + placeholder}\\n\\n`;\n\n if (metadata.description) {\n outStr += `${metadata.description}\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (metadata.options.length) {\n outStr += \"\\n#### Options:\\n\\n\";\n outStr += renderOptions(metadata.options, 4);\n }\n\n if (metadata.arguments.length) {\n outStr += \"\\n#### Arguments:\\n\\n\";\n outStr += renderArguments(metadata.arguments, 4);\n }\n\n if (i < subcommandsMetadata.length - 1) {\n outStr += \"\\n---\\n\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction escapeTags(str: string) {\n return str.replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src/parser/validate","sources":["validate-type.ts"],"sourcesContent":["import type { Argument, Option, Prettify, Schema, Subcommand, ToOptional, ZodInfer } from \"../../types.js\";\nimport type { ParseResult } from \"../parse/parse-types.js\";\n\ntype OptionsArr2RecordType<T extends Option[] | undefined> = T extends Option[]\n ? ToOptional<{ [K in T[number][\"name\"]]: ZodInfer<Extract<T[number], { name: K }>[\"type\"]> }>\n : object;\n\ntype ArgumentsArr2ArrType<T extends Argument[] | undefined> = T extends Argument[]\n ? { [K in keyof T]: T[K] extends { type: Schema } ? ZodInfer<T[K][\"type\"]> : never }\n : never;\n\nexport type ValidateResult<S extends Partial<Subcommand>[]> = {\n [K in keyof S]: Prettify<\n {\n subcommand: S[K][\"name\"] extends string ? S[K][\"name\"] : undefined;\n arguments: ArgumentsArr2ArrType<S[K][\"arguments\"]>;\n positional: S[K][\"allowPositional\"] extends true ? string[] : never;\n ctx: ParseResult<S>;\n } & OptionsArr2RecordType<S[K][\"options\"]>\n >;\n}[number];\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src/parser/validate","sources":["validate-type.ts"],"sourcesContent":["import type { Argument, Option, Prettify, Schema, Subcommand, ToOptional, ZodInferOutput } from \"../../types.js\";\nimport type { ParseResult } from \"../parse/parse-types.js\";\n\ntype OptionsArr2RecordType<T extends Option[] | undefined> = T extends Option[]\n ? ToOptional<{ [K in T[number][\"name\"]]: ZodInferOutput<Extract<T[number], { name: K }>[\"type\"]> }>\n : object;\n\ntype ArgumentsArr2ArrType<T extends Argument[] | undefined> = T extends Argument[]\n ? { [K in keyof T]: T[K] extends { type: Schema } ? ZodInferOutput<T[K][\"type\"]> : never }\n : never;\n\nexport type ValidateResult<S extends Partial<Subcommand>[]> = {\n [K in keyof S]: Prettify<\n {\n subcommand: S[K][\"name\"] extends string ? S[K][\"name\"] : undefined;\n arguments: ArgumentsArr2ArrType<S[K][\"arguments\"]>;\n positional: S[K][\"allowPositional\"] extends true ? string[] : never;\n ctx: ParseResult<S>;\n } & OptionsArr2RecordType<S[K][\"options\"]>\n >;\n}[number];\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.concat=concat;exports.generateOrdinalSuffix=generateOrdinalSuffix;exports.indent=indent;exports.insertAtEndOfFirstLine=insertAtEndOfFirstLine;exports.ln=ln;exports.stringToBoolean=stringToBoolean;exports.stringifyValue=stringifyValue;function stringToBoolean(str){if(str.toLowerCase()==="true"){return true;}if(str.toLowerCase()==="false"){return false;}return str;}function generateOrdinalSuffix(index){if(index<0)return"";const suffixes=["th","st","nd","rd"];const lastDigit=index%10;const lastTwoDigits=index%100;const suffix=lastDigit===1&&lastTwoDigits!==11?suffixes[1]:lastDigit===2&&lastTwoDigits!==12?suffixes[2]:lastDigit===3&&lastTwoDigits!==13?suffixes[3]:suffixes[0];return`${index+1}${suffix}`;}function ln(count){return"\n".repeat(count);}function indent(count){return" ".repeat(count);}function concat(...messages){return messages.join(" ");}function stringifyValue(value){if(value instanceof Set){return"new Set(["+Array.from(value).map(stringifyValue).join(", ")+"])";}return JSON.stringify(value);}function insertAtEndOfFirstLine(str,insert){const lines=str.split("\n");lines[0]+=" "+insert;return lines.join("\n");}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.concat=concat;exports.generateOrdinalSuffix=generateOrdinalSuffix;exports.indent=indent;exports.insertAtEndOfFirstLine=insertAtEndOfFirstLine;exports.ln=ln;exports.stringToBoolean=stringToBoolean;exports.stringifyValue=stringifyValue;exports.subcommandPlaceholder=subcommandPlaceholder;function stringToBoolean(str){if(str.toLowerCase()==="true"){return true;}if(str.toLowerCase()==="false"){return false;}return str;}function generateOrdinalSuffix(index){if(index<0)return"";const suffixes=["th","st","nd","rd"];const lastDigit=index%10;const lastTwoDigits=index%100;const suffix=lastDigit===1&&lastTwoDigits!==11?suffixes[1]:lastDigit===2&&lastTwoDigits!==12?suffixes[2]:lastDigit===3&&lastTwoDigits!==13?suffixes[3]:suffixes[0];return`${index+1}${suffix}`;}function ln(count){return"\n".repeat(count);}function indent(count){if(count<=0)return"";return" ".repeat(count);}function concat(...messages){return messages.join(" ");}function stringifyValue(value){if(value instanceof Set){return"new Set(["+Array.from(value).map(stringifyValue).join(", ")+"])";}return JSON.stringify(value);}function insertAtEndOfFirstLine(str,insert){const lines=str.split("\n");lines[0]+=" "+insert;return lines.join("\n");}function subcommandPlaceholder(metadata){let placeholder=metadata.placeholder;if(!placeholder&&metadata.options.length){placeholder="[options]";}if(!placeholder&&metadata.arguments.length){placeholder="<arguments>";}if(metadata.allowPositional){placeholder+=(placeholder?" ":"")+"<positionals>";}if(!placeholder){placeholder=" ";}return placeholder;}
@@ -1 +1 @@
1
- {"version":3,"names":["stringToBoolean","str","toLowerCase","generateOrdinalSuffix","index","suffixes","lastDigit","lastTwoDigits","suffix","ln","count","repeat","indent","concat","messages","join","stringifyValue","value","Set","Array","from","map","JSON","stringify","insertAtEndOfFirstLine","insert","lines","split"],"sourceRoot":"../../src","sources":["utils.ts"],"sourcesContent":["/**\n * Converts a string to its corresponding boolean value if the string is \"true\" or \"false\" (case-insensitive).\n *\n * @param str - The input string to convert.\n * @returns `true` if the input is \"true\", `false` if the input is \"false\", or the original string otherwise.\n */\nexport function stringToBoolean(str: string): boolean | string {\n if (str.toLowerCase() === \"true\") {\n return true;\n }\n\n if (str.toLowerCase() === \"false\") {\n return false;\n }\n\n return str;\n}\n\n/**\n * Returns the ordinal representation of a given zero-based index.\n *\n * For example, passing `0` returns `\"1st\"`, `1` returns `\"2nd\"`, and so on.\n *\n * Handles special cases for numbers ending in 11, 12, or 13 (e.g., `10` returns `\"11th\"`).\n *\n * @param index - The zero-based index to convert to an ordinal string.\n * @returns The ordinal string representation (e.g., `\"1st\"`, `\"2nd\"`, `\"3rd\"`, `\"4th\"`, ...).\n */\nexport function generateOrdinalSuffix(index: number): string {\n if (index < 0) return \"\";\n\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const lastDigit = index % 10;\n const lastTwoDigits = index % 100;\n\n const suffix =\n lastDigit === 1 && lastTwoDigits !== 11\n ? suffixes[1]\n : lastDigit === 2 && lastTwoDigits !== 12\n ? suffixes[2]\n : lastDigit === 3 && lastTwoDigits !== 13\n ? suffixes[3]\n : suffixes[0];\n\n return `${index + 1}${suffix}`;\n}\n\n/** New line */\nexport function ln(count: number) {\n return \"\\n\".repeat(count);\n}\n\n/** Space */\nexport function indent(count: number) {\n return \" \".repeat(count);\n}\n\n/** Concat strings */\nexport function concat(...messages: string[]) {\n // messages = messages.filter(Boolean);\n return messages.join(\" \");\n}\n\nexport function stringifyValue(value: unknown): string {\n // Set\n if (value instanceof Set) {\n return \"new Set([\" + Array.from(value).map(stringifyValue).join(\", \") + \"])\";\n }\n\n // unknown\n return JSON.stringify(value);\n}\n\n/** Insert text at the end of the first line */\nexport function insertAtEndOfFirstLine(str: string, insert: string) {\n const lines = str.split(\"\\n\");\n lines[0] += \" \" + insert;\n return lines.join(\"\\n\");\n}\n"],"mappings":"wTAMO,QAAS,CAAAA,eAAeA,CAACC,GAAW,CAAoB,CAC7D,GAAIA,GAAG,CAACC,WAAW,CAAC,CAAC,GAAK,MAAM,CAAE,CAChC,MAAO,KAAI,CACb,CAEA,GAAID,GAAG,CAACC,WAAW,CAAC,CAAC,GAAK,OAAO,CAAE,CACjC,MAAO,MAAK,CACd,CAEA,MAAO,CAAAD,GAAG,CACZ,CAYO,QAAS,CAAAE,qBAAqBA,CAACC,KAAa,CAAU,CAC3D,GAAIA,KAAK,CAAG,CAAC,CAAE,MAAO,EAAE,CAExB,KAAM,CAAAC,QAAQ,CAAG,CAAC,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAC,CACzC,KAAM,CAAAC,SAAS,CAAGF,KAAK,CAAG,EAAE,CAC5B,KAAM,CAAAG,aAAa,CAAGH,KAAK,CAAG,GAAG,CAEjC,KAAM,CAAAI,MAAM,CACVF,SAAS,GAAK,CAAC,EAAIC,aAAa,GAAK,EAAE,CACnCF,QAAQ,CAAC,CAAC,CAAC,CACXC,SAAS,GAAK,CAAC,EAAIC,aAAa,GAAK,EAAE,CACrCF,QAAQ,CAAC,CAAC,CAAC,CACXC,SAAS,GAAK,CAAC,EAAIC,aAAa,GAAK,EAAE,CACrCF,QAAQ,CAAC,CAAC,CAAC,CACXA,QAAQ,CAAC,CAAC,CAAC,CAErB,MAAO,GAAGD,KAAK,CAAG,CAAC,GAAGI,MAAM,EAAE,CAChC,CAGO,QAAS,CAAAC,EAAEA,CAACC,KAAa,CAAE,CAChC,MAAO,IAAI,CAACC,MAAM,CAACD,KAAK,CAAC,CAC3B,CAGO,QAAS,CAAAE,MAAMA,CAACF,KAAa,CAAE,CACpC,MAAO,GAAG,CAACC,MAAM,CAACD,KAAK,CAAC,CAC1B,CAGO,QAAS,CAAAG,MAAMA,CAAC,GAAGC,QAAkB,CAAE,CAE5C,MAAO,CAAAA,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAEO,QAAS,CAAAC,cAAcA,CAACC,KAAc,CAAU,CAErD,GAAIA,KAAK,WAAY,CAAAC,GAAG,CAAE,CACxB,MAAO,WAAW,CAAGC,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,GAAG,CAACL,cAAc,CAAC,CAACD,IAAI,CAAC,IAAI,CAAC,CAAG,IAAI,CAC9E,CAGA,MAAO,CAAAO,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAC9B,CAGO,QAAS,CAAAO,sBAAsBA,CAACvB,GAAW,CAAEwB,MAAc,CAAE,CAClE,KAAM,CAAAC,KAAK,CAAGzB,GAAG,CAAC0B,KAAK,CAAC,IAAI,CAAC,CAC7BD,KAAK,CAAC,CAAC,CAAC,EAAI,GAAG,CAAGD,MAAM,CACxB,MAAO,CAAAC,KAAK,CAACX,IAAI,CAAC,IAAI,CAAC,CACzB","ignoreList":[]}
1
+ {"version":3,"names":["stringToBoolean","str","toLowerCase","generateOrdinalSuffix","index","suffixes","lastDigit","lastTwoDigits","suffix","ln","count","repeat","indent","concat","messages","join","stringifyValue","value","Set","Array","from","map","JSON","stringify","insertAtEndOfFirstLine","insert","lines","split","subcommandPlaceholder","metadata","placeholder","options","length","arguments","allowPositional"],"sourceRoot":"../../src","sources":["utils.ts"],"sourcesContent":["import { SubcommandMetadata } from \"./metadata/metadata-types.js\";\n\n/**\n * Converts a string to its corresponding boolean value if the string is \"true\" or \"false\" (case-insensitive).\n *\n * @param str - The input string to convert.\n * @returns `true` if the input is \"true\", `false` if the input is \"false\", or the original string otherwise.\n */\nexport function stringToBoolean(str: string): boolean | string {\n if (str.toLowerCase() === \"true\") {\n return true;\n }\n\n if (str.toLowerCase() === \"false\") {\n return false;\n }\n\n return str;\n}\n\n/**\n * Returns the ordinal representation of a given zero-based index.\n *\n * For example, passing `0` returns `\"1st\"`, `1` returns `\"2nd\"`, and so on.\n *\n * Handles special cases for numbers ending in 11, 12, or 13 (e.g., `10` returns `\"11th\"`).\n *\n * @param index - The zero-based index to convert to an ordinal string.\n * @returns The ordinal string representation (e.g., `\"1st\"`, `\"2nd\"`, `\"3rd\"`, `\"4th\"`, ...).\n */\nexport function generateOrdinalSuffix(index: number): string {\n if (index < 0) return \"\";\n\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const lastDigit = index % 10;\n const lastTwoDigits = index % 100;\n\n const suffix =\n lastDigit === 1 && lastTwoDigits !== 11\n ? suffixes[1]\n : lastDigit === 2 && lastTwoDigits !== 12\n ? suffixes[2]\n : lastDigit === 3 && lastTwoDigits !== 13\n ? suffixes[3]\n : suffixes[0];\n\n return `${index + 1}${suffix}`;\n}\n\n/** New line */\nexport function ln(count: number) {\n return \"\\n\".repeat(count);\n}\n\n/** Space */\nexport function indent(count: number) {\n if (count <= 0) return \"\";\n return \" \".repeat(count);\n}\n\n/** Concat strings */\nexport function concat(...messages: string[]) {\n // messages = messages.filter(Boolean);\n return messages.join(\" \");\n}\n\nexport function stringifyValue(value: unknown): string {\n // Set\n if (value instanceof Set) {\n return \"new Set([\" + Array.from(value).map(stringifyValue).join(\", \") + \"])\";\n }\n\n // unknown\n return JSON.stringify(value);\n}\n\n/** Insert text at the end of the first line */\nexport function insertAtEndOfFirstLine(str: string, insert: string) {\n const lines = str.split(\"\\n\");\n lines[0] += \" \" + insert;\n return lines.join(\"\\n\");\n}\n\n/** Get the placeholder for a subcommand */\nexport function subcommandPlaceholder(metadata: SubcommandMetadata): string {\n let placeholder = metadata.placeholder;\n\n if (!placeholder && metadata.options.length) {\n placeholder = \"[options]\";\n }\n\n if (!placeholder && metadata.arguments.length) {\n placeholder = \"<arguments>\";\n }\n\n if (metadata.allowPositional) {\n placeholder += (placeholder ? \" \" : \"\") + \"<positionals>\";\n }\n\n if (!placeholder) {\n placeholder = \" \";\n }\n\n return placeholder;\n}\n"],"mappings":"4WAQO,QAAS,CAAAA,eAAeA,CAACC,GAAW,CAAoB,CAC7D,GAAIA,GAAG,CAACC,WAAW,CAAC,CAAC,GAAK,MAAM,CAAE,CAChC,MAAO,KAAI,CACb,CAEA,GAAID,GAAG,CAACC,WAAW,CAAC,CAAC,GAAK,OAAO,CAAE,CACjC,MAAO,MAAK,CACd,CAEA,MAAO,CAAAD,GAAG,CACZ,CAYO,QAAS,CAAAE,qBAAqBA,CAACC,KAAa,CAAU,CAC3D,GAAIA,KAAK,CAAG,CAAC,CAAE,MAAO,EAAE,CAExB,KAAM,CAAAC,QAAQ,CAAG,CAAC,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAC,CACzC,KAAM,CAAAC,SAAS,CAAGF,KAAK,CAAG,EAAE,CAC5B,KAAM,CAAAG,aAAa,CAAGH,KAAK,CAAG,GAAG,CAEjC,KAAM,CAAAI,MAAM,CACVF,SAAS,GAAK,CAAC,EAAIC,aAAa,GAAK,EAAE,CACnCF,QAAQ,CAAC,CAAC,CAAC,CACXC,SAAS,GAAK,CAAC,EAAIC,aAAa,GAAK,EAAE,CACrCF,QAAQ,CAAC,CAAC,CAAC,CACXC,SAAS,GAAK,CAAC,EAAIC,aAAa,GAAK,EAAE,CACrCF,QAAQ,CAAC,CAAC,CAAC,CACXA,QAAQ,CAAC,CAAC,CAAC,CAErB,MAAO,GAAGD,KAAK,CAAG,CAAC,GAAGI,MAAM,EAAE,CAChC,CAGO,QAAS,CAAAC,EAAEA,CAACC,KAAa,CAAE,CAChC,MAAO,IAAI,CAACC,MAAM,CAACD,KAAK,CAAC,CAC3B,CAGO,QAAS,CAAAE,MAAMA,CAACF,KAAa,CAAE,CACpC,GAAIA,KAAK,EAAI,CAAC,CAAE,MAAO,EAAE,CACzB,MAAO,GAAG,CAACC,MAAM,CAACD,KAAK,CAAC,CAC1B,CAGO,QAAS,CAAAG,MAAMA,CAAC,GAAGC,QAAkB,CAAE,CAE5C,MAAO,CAAAA,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAEO,QAAS,CAAAC,cAAcA,CAACC,KAAc,CAAU,CAErD,GAAIA,KAAK,WAAY,CAAAC,GAAG,CAAE,CACxB,MAAO,WAAW,CAAGC,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,GAAG,CAACL,cAAc,CAAC,CAACD,IAAI,CAAC,IAAI,CAAC,CAAG,IAAI,CAC9E,CAGA,MAAO,CAAAO,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAC9B,CAGO,QAAS,CAAAO,sBAAsBA,CAACvB,GAAW,CAAEwB,MAAc,CAAE,CAClE,KAAM,CAAAC,KAAK,CAAGzB,GAAG,CAAC0B,KAAK,CAAC,IAAI,CAAC,CAC7BD,KAAK,CAAC,CAAC,CAAC,EAAI,GAAG,CAAGD,MAAM,CACxB,MAAO,CAAAC,KAAK,CAACX,IAAI,CAAC,IAAI,CAAC,CACzB,CAGO,QAAS,CAAAa,qBAAqBA,CAACC,QAA4B,CAAU,CAC1E,GAAI,CAAAC,WAAW,CAAGD,QAAQ,CAACC,WAAW,CAEtC,GAAI,CAACA,WAAW,EAAID,QAAQ,CAACE,OAAO,CAACC,MAAM,CAAE,CAC3CF,WAAW,CAAG,WAAW,CAC3B,CAEA,GAAI,CAACA,WAAW,EAAID,QAAQ,CAACI,SAAS,CAACD,MAAM,CAAE,CAC7CF,WAAW,CAAG,aAAa,CAC7B,CAEA,GAAID,QAAQ,CAACK,eAAe,CAAE,CAC5BJ,WAAW,EAAI,CAACA,WAAW,CAAG,GAAG,CAAG,EAAE,EAAI,eAAe,CAC3D,CAEA,GAAI,CAACA,WAAW,CAAE,CAChBA,WAAW,CAAG,GAAG,CACnB,CAEA,MAAO,CAAAA,WAAW,CACpB","ignoreList":[]}
@@ -1 +1 @@
1
- import{concat,indent,insertAtEndOfFirstLine,ln}from"../utils.js";export function formatHelpMsgArguments(argsMetadata,c,longest){if(!argsMetadata.length)return"";let msg=c.title(" ARGUMENTS")+ln(1);for(const metadata of argsMetadata){const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n/g,"\n"+indent(longest+6)+c.punctuation("└"));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=concat(indent(2)+c.argument(metadata.name),indent(spacing),insertAtEndOfFirstLine(c.description(normalizeDesc),defaultOrOptional),ln(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n/g,"\n"+indent(longest+16));msg+=concat(indent(longest+5),c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+ln(1));}}msg+=ln(1);return msg;}
1
+ import{concat,indent,insertAtEndOfFirstLine,ln}from"../utils.js";export function formatHelpMsgArguments(argsMetadata,c,longest){if(!argsMetadata.length)return"";let msg=c.title(" ARGUMENTS")+ln(1);for(const metadata of argsMetadata){const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+indent(longest+6)+c.punctuation("└"));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=concat(indent(2)+c.argument(metadata.name),indent(spacing),insertAtEndOfFirstLine(c.description(normalizeDesc),defaultOrOptional),ln(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+indent(longest+16));msg+=concat(indent(longest+5),c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+ln(1));}}msg+=ln(1);return msg;}
@@ -1 +1 @@
1
- {"version":3,"names":["concat","indent","insertAtEndOfFirstLine","ln","formatHelpMsgArguments","argsMetadata","c","longest","length","msg","title","metadata","defaultStr","defaultValue","defaultValueAsString","spacing","name","normalizeDesc","description","replace","punctuation","defaultOrOptional","default","optional","argument","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-arguments.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgArguments(argsMetadata: ArgumentMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!argsMetadata.length) return \"\";\n\n let msg = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argsMetadata) {\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const spacing = longest + 2 - metadata.name.length;\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + c.argument(metadata.name),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,MAAM,CAAEC,sBAAsB,CAAEC,EAAE,KAAQ,aAAa,CAKxE,MAAO,SAAS,CAAAC,sBAAsBA,CAACC,YAAgC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CACjH,GAAI,CAACF,YAAY,CAACG,MAAM,CAAE,MAAO,EAAE,CAEnC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAGP,EAAE,CAAC,CAAC,CAAC,CAEvC,IAAK,KAAM,CAAAQ,QAAQ,GAAI,CAAAN,YAAY,CAAE,CACnC,KAAM,CAAAO,UAAU,CACd,MAAO,CAAAD,QAAQ,CAACE,YAAY,GAAK,WAAW,CAAG,aAAaF,QAAQ,CAACG,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,OAAO,CAAGR,OAAO,CAAG,CAAC,CAAGI,QAAQ,CAACK,IAAI,CAACR,MAAM,CAClD,KAAM,CAAAS,aAAa,CAAGN,QAAQ,CAACO,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGlB,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACc,WAAW,CAAC,GAAG,CAAC,CAAC,CAC1G,KAAM,CAAAC,iBAAiB,CAAGT,UAAU,CAAGN,CAAC,CAACgB,OAAO,CAACV,UAAU,CAAC,CAAGD,QAAQ,CAACY,QAAQ,CAAGjB,CAAC,CAACiB,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHd,GAAG,EAAIT,MAAM,CACXC,MAAM,CAAC,CAAC,CAAC,CAAGK,CAAC,CAACkB,QAAQ,CAACb,QAAQ,CAACK,IAAI,CAAC,CACrCf,MAAM,CAACc,OAAO,CAAC,CACfb,sBAAsB,CAACI,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAAEI,iBAAiB,CAAC,CACvElB,EAAE,CAAC,CAAC,CACN,CAAC,CAED,GAAIQ,QAAQ,CAACc,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGf,QAAQ,CAACc,OAAO,CAACN,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGlB,MAAM,CAACM,OAAO,CAAG,EAAE,CAAC,CAAC,CACrFE,GAAG,EAAIT,MAAM,CACXC,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACc,WAAW,CAAC,GAAG,CAAC,CAAGd,CAAC,CAACqB,YAAY,CAAC,UAAU,CAAC,CAC/CrB,CAAC,CAACmB,OAAO,CAACC,gBAAgB,CAAC,CAAGvB,EAAE,CAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAM,GAAG,EAAIN,EAAE,CAAC,CAAC,CAAC,CAEZ,MAAO,CAAAM,GAAG,CACZ","ignoreList":[]}
1
+ {"version":3,"names":["concat","indent","insertAtEndOfFirstLine","ln","formatHelpMsgArguments","argsMetadata","c","longest","length","msg","title","metadata","defaultStr","defaultValue","defaultValueAsString","spacing","name","normalizeDesc","description","replace","punctuation","defaultOrOptional","default","optional","argument","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-arguments.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgArguments(argsMetadata: ArgumentMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!argsMetadata.length) return \"\";\n\n let msg = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argsMetadata) {\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const spacing = longest + 2 - metadata.name.length;\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + c.argument(metadata.name),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,MAAM,CAAEC,sBAAsB,CAAEC,EAAE,KAAQ,aAAa,CAKxE,MAAO,SAAS,CAAAC,sBAAsBA,CAACC,YAAgC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CACjH,GAAI,CAACF,YAAY,CAACG,MAAM,CAAE,MAAO,EAAE,CAEnC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAGP,EAAE,CAAC,CAAC,CAAC,CAEvC,IAAK,KAAM,CAAAQ,QAAQ,GAAI,CAAAN,YAAY,CAAE,CACnC,KAAM,CAAAO,UAAU,CACd,MAAO,CAAAD,QAAQ,CAACE,YAAY,GAAK,WAAW,CAAG,aAAaF,QAAQ,CAACG,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,OAAO,CAAGR,OAAO,CAAG,CAAC,CAAGI,QAAQ,CAACK,IAAI,CAACR,MAAM,CAClD,KAAM,CAAAS,aAAa,CAAGN,QAAQ,CAACO,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAGlB,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACc,WAAW,CAAC,GAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,iBAAiB,CAAGT,UAAU,CAAGN,CAAC,CAACgB,OAAO,CAACV,UAAU,CAAC,CAAGD,QAAQ,CAACY,QAAQ,CAAGjB,CAAC,CAACiB,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHd,GAAG,EAAIT,MAAM,CACXC,MAAM,CAAC,CAAC,CAAC,CAAGK,CAAC,CAACkB,QAAQ,CAACb,QAAQ,CAACK,IAAI,CAAC,CACrCf,MAAM,CAACc,OAAO,CAAC,CACfb,sBAAsB,CAACI,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAAEI,iBAAiB,CAAC,CACvElB,EAAE,CAAC,CAAC,CACN,CAAC,CAED,GAAIQ,QAAQ,CAACc,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGf,QAAQ,CAACc,OAAO,CAACN,OAAO,CAAC,MAAM,CAAE,IAAI,CAAGlB,MAAM,CAACM,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,GAAG,EAAIT,MAAM,CACXC,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACc,WAAW,CAAC,GAAG,CAAC,CAAGd,CAAC,CAACqB,YAAY,CAAC,UAAU,CAAC,CAC/CrB,CAAC,CAACmB,OAAO,CAACC,gBAAgB,CAAC,CAAGvB,EAAE,CAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAM,GAAG,EAAIN,EAAE,CAAC,CAAC,CAAC,CAEZ,MAAO,CAAAM,GAAG,CACZ","ignoreList":[]}
@@ -1 +1 @@
1
- import{getCliMetadata}from"../metadata/get-cli-metadata.js";import{concat,indent,ln}from"../utils.js";import{formatHelpMsgArguments}from"./format-arguments.js";import{formatHelpMsgOptions}from"./format-options.js";import{formatHelpMsgCommands}from"./format-subcommands.js";import{helpMsgStyles}from"./styles.js";export function formatCliHelpMsg(params,style){const c=helpMsgStyles.default;if(style)Object.assign(c,style);const metadata=getCliMetadata(params);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let msg="";const usage=metadata.usage||concat(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length?c.command("[command]"):"",metadata.options.length?c.option("[options]"):"",metadata.arguments.length||metadata.allowPositional?c.argument("<arguments>"):"");msg+=formatTitle("Usage")+ln(1);msg+=indent(2)+usage+ln(2);if(metadata.description){msg+=formatTitle("Description")+ln(1);msg+=indent(2)+c.description(metadata.description)+ln(2);}let longest=0;const optionsMetadata=metadata.options;const longestOptionTitle=optionsMetadata.reduce((acc,metadata)=>{const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(", ");const optLength=names.length+metadata.placeholder.length;return optLength>acc?optLength:acc;},0);if(longestOptionTitle>longest){longest=longestOptionTitle;}const subcommandsMetadata=metadata.subcommands;const longestSubcommandTitle=subcommandsMetadata.reduce((acc,metadata)=>{const names=metadata.aliases.concat([metadata.name]).join(", ");const placeholder=metadata.placeholder||(metadata.options.length?"[options]":metadata.allowPositional?"<args>":" ");const optLength=names.length+placeholder.length;return optLength>acc?optLength:acc;},0);if(longestSubcommandTitle>longest){longest=longestSubcommandTitle;}const argsMetadata=metadata.arguments;const longestArgTitle=argsMetadata.reduce((acc,arg)=>arg.name.length>acc?arg.name.length:acc,0);if(longestArgTitle>longest){longest=longestArgTitle;}msg+=formatHelpMsgOptions(optionsMetadata,c,longest);msg+=formatHelpMsgCommands(subcommandsMetadata,c,longest);msg+=formatHelpMsgArguments(argsMetadata,c,longest);if(metadata.example){msg+=formatTitle("Example");msg+=ln(1);const normalizeExample=metadata.example.replace(/\n/g,"\n"+indent(3));msg+=concat(indent(2),c.example(normalizeExample),ln(2));}return msg;}export function formatSubcommandHelpMsg(subcommand,printStyle,cliName=""){const c=helpMsgStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||concat(c.punctuation("$"),cliName,c.command(subcommand.name),subcommand.options?.length?c.option("[options]"):"",subcommand.arguments?.length||subcommand.allowPositional?c.argument("<arguments>"):"");const asCli={cliName,usage,...subcommand};return formatCliHelpMsg([asCli],c);}export function printCliHelp(params,style){console.log(formatCliHelpMsg(params,style));}export function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMsg(subcommand,style,cliName));}
1
+ import{getCliMetadata}from"../metadata/get-cli-metadata.js";import{concat,indent,ln,subcommandPlaceholder}from"../utils.js";import{formatHelpMsgArguments}from"./format-arguments.js";import{formatHelpMsgOptions}from"./format-options.js";import{formatHelpMsgCommands}from"./format-subcommands.js";import{helpMsgStyles}from"./styles.js";export function formatCliHelpMsg(params,style){const c=helpMsgStyles.default;if(style)Object.assign(c,style);const metadata=getCliMetadata(params);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let msg="";const usage=metadata.usage||concat(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length?c.command("[command]"):"",metadata.options.length?c.option("[options]"):"",metadata.arguments.length?c.argument("<arguments>"):"",metadata.allowPositional?c.argument("<positionals>"):"");msg+=formatTitle("Usage")+ln(1);msg+=indent(2)+usage+ln(2);if(metadata.description){msg+=formatTitle("Description")+ln(1);msg+=indent(2)+c.description(metadata.description)+ln(2);}let longest=0;const optionsMetadata=metadata.options;const longestOptionTitle=optionsMetadata.reduce((acc,metadata)=>{const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(", ");const optLength=names.length+metadata.placeholder.length;return optLength>acc?optLength:acc;},0);if(longestOptionTitle>longest){longest=longestOptionTitle;}const subcommandsMetadata=metadata.subcommands;const longestSubcommandTitle=subcommandsMetadata.reduce((acc,metadata)=>{const names=metadata.aliases.concat([metadata.name]).join(", ");const placeholder=subcommandPlaceholder(metadata);const optLength=names.length+placeholder.length;return optLength>acc?optLength:acc;},0);if(longestSubcommandTitle>longest){longest=longestSubcommandTitle;}const argsMetadata=metadata.arguments;const longestArgTitle=argsMetadata.reduce((acc,arg)=>arg.name.length>acc?arg.name.length:acc,0);if(longestArgTitle>longest){longest=longestArgTitle;}msg+=formatHelpMsgOptions(optionsMetadata,c,longest);msg+=formatHelpMsgCommands(subcommandsMetadata,c,longest);msg+=formatHelpMsgArguments(argsMetadata,c,longest);if(metadata.example){msg+=formatTitle("Example");msg+=ln(1);const normalizeExample=metadata.example.replace(/\n+/g,"\n"+indent(3));msg+=concat(indent(2),c.example(normalizeExample),ln(2));}return msg;}export function formatSubcommandHelpMsg(subcommand,printStyle,cliName=""){const c=helpMsgStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||concat(c.punctuation("$"),cliName,c.command(subcommand.name),subcommand.options?.length?c.option("[options]"):"",subcommand.arguments?.length||subcommand.allowPositional?c.argument("<arguments>"):"");const asCli={cliName,usage,...subcommand};return formatCliHelpMsg([asCli],c);}export function printCliHelp(params,style){console.log(formatCliHelpMsg(params,style));}export function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMsg(subcommand,style,cliName));}
@@ -1 +1 @@
1
- {"version":3,"names":["getCliMetadata","concat","indent","ln","formatHelpMsgArguments","formatHelpMsgOptions","formatHelpMsgCommands","helpMsgStyles","formatCliHelpMsg","params","style","c","default","Object","assign","metadata","formatTitle","title","toUpperCase","msg","usage","punctuation","description","name","subcommands","length","command","options","option","arguments","allowPositional","argument","longest","optionsMetadata","longestOptionTitle","reduce","acc","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","argsMetadata","longestArgTitle","arg","example","normalizeExample","replace","formatSubcommandHelpMsg","subcommand","printStyle","cliName","asCli","printCliHelp","console","log","printSubcommandHelp"],"sourceRoot":"../../../src/help-message","sources":["format-cli.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\nimport { concat, indent, ln } from \"../utils.js\";\nimport { formatHelpMsgArguments } from \"./format-arguments.js\";\nimport { formatHelpMsgOptions } from \"./format-options.js\";\nimport { formatHelpMsgCommands } from \"./format-subcommands.js\";\nimport { helpMsgStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMsgStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMsg(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>): string {\n const c = helpMsgStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(params);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let msg = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length ? c.command(\"[command]\") : \"\",\n metadata.options.length ? c.option(\"[options]\") : \"\",\n metadata.arguments.length || metadata.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n msg += formatTitle(\"Usage\") + ln(1);\n msg += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n msg += formatTitle(\"Description\") + ln(1);\n msg += indent(2) + c.description(metadata.description) + ln(2);\n }\n\n let longest = 0;\n\n // Prepare CLI options\n const optionsMetadata = metadata.options;\n\n const longestOptionTitle = optionsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n const longestSubcommandTitle = subcommandsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliases.concat([metadata.name]).join(\", \");\n const placeholder =\n metadata.placeholder || (metadata.options.length ? \"[options]\" : metadata.allowPositional ? \"<args>\" : \" \");\n const optLength = names.length + placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argsMetadata = metadata.arguments;\n const longestArgTitle = argsMetadata.reduce((acc, arg) => (arg.name.length > acc ? arg.name.length : acc), 0);\n if (longestArgTitle > longest) {\n longest = longestArgTitle;\n }\n\n // CLI options\n msg += formatHelpMsgOptions(optionsMetadata, c, longest);\n\n // CLI commands\n msg += formatHelpMsgCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n msg += formatHelpMsgArguments(argsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n msg += formatTitle(\"Example\");\n msg += ln(1);\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(3));\n msg += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return msg;\n}\n\nexport function formatSubcommandHelpMsg(subcommand: Subcommand, printStyle?: Partial<HelpMsgStyle>, cliName = \"\") {\n const c = helpMsgStyles.default;\n if (printStyle) Object.assign(c, printStyle);\n\n const usage =\n subcommand.usage ||\n concat(\n c.punctuation(\"$\"),\n cliName,\n c.command(subcommand.name),\n subcommand.options?.length ? c.option(\"[options]\") : \"\",\n subcommand.arguments?.length || subcommand.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n\n const asCli: Cli = { cliName, usage, ...subcommand };\n\n return formatCliHelpMsg([asCli], c);\n}\n\nexport function printCliHelp(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>) {\n console.log(formatCliHelpMsg(params, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMsgStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMsg(subcommand, style, cliName));\n}\n"],"mappings":"AAAA,OAASA,cAAc,KAAQ,iCAAiC,CAChE,OAASC,MAAM,CAAEC,MAAM,CAAEC,EAAE,KAAQ,aAAa,CAChD,OAASC,sBAAsB,KAAQ,uBAAuB,CAC9D,OAASC,oBAAoB,KAAQ,qBAAqB,CAC1D,OAASC,qBAAqB,KAAQ,yBAAyB,CAC/D,OAASC,aAAa,KAAQ,aAAa,CAI3C,MAAO,SAAS,CAAAC,gBAAgBA,CAACC,MAAuC,CAAEC,KAA6B,CAAU,CAC/G,KAAM,CAAAC,CAAC,CAAGJ,aAAa,CAACK,OAAO,CAC/B,GAAIF,KAAK,CAAEG,MAAM,CAACC,MAAM,CAACH,CAAC,CAAED,KAAK,CAAC,CAElC,KAAM,CAAAK,QAAQ,CAAGf,cAAc,CAACS,MAAM,CAAC,CAEvC,KAAM,CAAAO,WAAW,CAAIC,KAAa,EAAKN,CAAC,CAACM,KAAK,CAAC,IAAIA,KAAK,CAACC,WAAW,CAAC,CAAC,EAAE,CAAC,CAEzE,GAAI,CAAAC,GAAG,CAAG,EAAE,CAGZ,KAAM,CAAAC,KAAK,CACTL,QAAQ,CAACK,KAAK,EACdnB,MAAM,CACJU,CAAC,CAACU,WAAW,CAAC,GAAG,CAAC,CAClBV,CAAC,CAACW,WAAW,CAACP,QAAQ,CAACQ,IAAI,CAAC,CAC5BR,QAAQ,CAACS,WAAW,CAACC,MAAM,CAAGd,CAAC,CAACe,OAAO,CAAC,WAAW,CAAC,CAAG,EAAE,CACzDX,QAAQ,CAACY,OAAO,CAACF,MAAM,CAAGd,CAAC,CAACiB,MAAM,CAAC,WAAW,CAAC,CAAG,EAAE,CACpDb,QAAQ,CAACc,SAAS,CAACJ,MAAM,EAAIV,QAAQ,CAACe,eAAe,CAAGnB,CAAC,CAACoB,QAAQ,CAAC,aAAa,CAAC,CAAG,EACtF,CAAC,CACHZ,GAAG,EAAIH,WAAW,CAAC,OAAO,CAAC,CAAGb,EAAE,CAAC,CAAC,CAAC,CACnCgB,GAAG,EAAIjB,MAAM,CAAC,CAAC,CAAC,CAAGkB,KAAK,CAAGjB,EAAE,CAAC,CAAC,CAAC,CAGhC,GAAIY,QAAQ,CAACO,WAAW,CAAE,CACxBH,GAAG,EAAIH,WAAW,CAAC,aAAa,CAAC,CAAGb,EAAE,CAAC,CAAC,CAAC,CACzCgB,GAAG,EAAIjB,MAAM,CAAC,CAAC,CAAC,CAAGS,CAAC,CAACW,WAAW,CAACP,QAAQ,CAACO,WAAW,CAAC,CAAGnB,EAAE,CAAC,CAAC,CAAC,CAChE,CAEA,GAAI,CAAA6B,OAAO,CAAG,CAAC,CAGf,KAAM,CAAAC,eAAe,CAAGlB,QAAQ,CAACY,OAAO,CAExC,KAAM,CAAAO,kBAAkB,CAAGD,eAAe,CAACE,MAAM,CAAC,CAACC,GAAG,CAAErB,QAAQ,GAAK,CACnE,KAAM,CAAAsB,KAAK,CAAGtB,QAAQ,CAACuB,aAAa,CAACrC,MAAM,CAAC,CAACc,QAAQ,CAACwB,SAAS,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAC5E,KAAM,CAAAC,SAAS,CAAGJ,KAAK,CAACZ,MAAM,CAAGV,QAAQ,CAAC2B,WAAW,CAACjB,MAAM,CAC5D,MAAO,CAAAgB,SAAS,CAAGL,GAAG,CAAGK,SAAS,CAAGL,GAAG,CAC1C,CAAC,CAAE,CAAC,CAAC,CAEL,GAAIF,kBAAkB,CAAGF,OAAO,CAAE,CAChCA,OAAO,CAAGE,kBAAkB,CAC9B,CAGA,KAAM,CAAAS,mBAAmB,CAAG5B,QAAQ,CAACS,WAAW,CAEhD,KAAM,CAAAoB,sBAAsB,CAAGD,mBAAmB,CAACR,MAAM,CAAC,CAACC,GAAG,CAAErB,QAAQ,GAAK,CAC3E,KAAM,CAAAsB,KAAK,CAAGtB,QAAQ,CAAC8B,OAAO,CAAC5C,MAAM,CAAC,CAACc,QAAQ,CAACQ,IAAI,CAAC,CAAC,CAACiB,IAAI,CAAC,IAAI,CAAC,CACjE,KAAM,CAAAE,WAAW,CACf3B,QAAQ,CAAC2B,WAAW,GAAK3B,QAAQ,CAACY,OAAO,CAACF,MAAM,CAAG,WAAW,CAAGV,QAAQ,CAACe,eAAe,CAAG,QAAQ,CAAG,GAAG,CAAC,CAC7G,KAAM,CAAAW,SAAS,CAAGJ,KAAK,CAACZ,MAAM,CAAGiB,WAAW,CAACjB,MAAM,CACnD,MAAO,CAAAgB,SAAS,CAAGL,GAAG,CAAGK,SAAS,CAAGL,GAAG,CAC1C,CAAC,CAAE,CAAC,CAAC,CAEL,GAAIQ,sBAAsB,CAAGZ,OAAO,CAAE,CACpCA,OAAO,CAAGY,sBAAsB,CAClC,CAGA,KAAM,CAAAE,YAAY,CAAG/B,QAAQ,CAACc,SAAS,CACvC,KAAM,CAAAkB,eAAe,CAAGD,YAAY,CAACX,MAAM,CAAC,CAACC,GAAG,CAAEY,GAAG,GAAMA,GAAG,CAACzB,IAAI,CAACE,MAAM,CAAGW,GAAG,CAAGY,GAAG,CAACzB,IAAI,CAACE,MAAM,CAAGW,GAAI,CAAE,CAAC,CAAC,CAC7G,GAAIW,eAAe,CAAGf,OAAO,CAAE,CAC7BA,OAAO,CAAGe,eAAe,CAC3B,CAGA5B,GAAG,EAAId,oBAAoB,CAAC4B,eAAe,CAAEtB,CAAC,CAAEqB,OAAO,CAAC,CAGxDb,GAAG,EAAIb,qBAAqB,CAACqC,mBAAmB,CAAEhC,CAAC,CAAEqB,OAAO,CAAC,CAG7Db,GAAG,EAAIf,sBAAsB,CAAC0C,YAAY,CAAEnC,CAAC,CAAEqB,OAAO,CAAC,CAGvD,GAAIjB,QAAQ,CAACkC,OAAO,CAAE,CACpB9B,GAAG,EAAIH,WAAW,CAAC,SAAS,CAAC,CAC7BG,GAAG,EAAIhB,EAAE,CAAC,CAAC,CAAC,CACZ,KAAM,CAAA+C,gBAAgB,CAAGnC,QAAQ,CAACkC,OAAO,CAACE,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGjD,MAAM,CAAC,CAAC,CAAC,CAAC,CAC1EiB,GAAG,EAAIlB,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAES,CAAC,CAACsC,OAAO,CAACC,gBAAgB,CAAC,CAAE/C,EAAE,CAAC,CAAC,CAAC,CAAC,CAC9D,CAEA,MAAO,CAAAgB,GAAG,CACZ,CAEA,MAAO,SAAS,CAAAiC,uBAAuBA,CAACC,UAAsB,CAAEC,UAAkC,CAAEC,OAAO,CAAG,EAAE,CAAE,CAChH,KAAM,CAAA5C,CAAC,CAAGJ,aAAa,CAACK,OAAO,CAC/B,GAAI0C,UAAU,CAAEzC,MAAM,CAACC,MAAM,CAACH,CAAC,CAAE2C,UAAU,CAAC,CAE5C,KAAM,CAAAlC,KAAK,CACTiC,UAAU,CAACjC,KAAK,EAChBnB,MAAM,CACJU,CAAC,CAACU,WAAW,CAAC,GAAG,CAAC,CAClBkC,OAAO,CACP5C,CAAC,CAACe,OAAO,CAAC2B,UAAU,CAAC9B,IAAI,CAAC,CAC1B8B,UAAU,CAAC1B,OAAO,EAAEF,MAAM,CAAGd,CAAC,CAACiB,MAAM,CAAC,WAAW,CAAC,CAAG,EAAE,CACvDyB,UAAU,CAACxB,SAAS,EAAEJ,MAAM,EAAI4B,UAAU,CAACvB,eAAe,CAAGnB,CAAC,CAACoB,QAAQ,CAAC,aAAa,CAAC,CAAG,EAC3F,CAAC,CAEH,KAAM,CAAAyB,KAAU,CAAG,CAAED,OAAO,CAAEnC,KAAK,CAAE,GAAGiC,UAAW,CAAC,CAEpD,MAAO,CAAA7C,gBAAgB,CAAC,CAACgD,KAAK,CAAC,CAAE7C,CAAC,CAAC,CACrC,CAEA,MAAO,SAAS,CAAA8C,YAAYA,CAAChD,MAAuC,CAAEC,KAA6B,CAAE,CACnGgD,OAAO,CAACC,GAAG,CAACnD,gBAAgB,CAACC,MAAM,CAAEC,KAAK,CAAC,CAAC,CAC9C,CAEA,MAAO,SAAS,CAAAkD,mBAAmBA,CAACP,UAAsB,CAAE3C,KAA6B,CAAE6C,OAAO,CAAG,EAAE,CAAE,CACvGG,OAAO,CAACC,GAAG,CAACP,uBAAuB,CAACC,UAAU,CAAE3C,KAAK,CAAE6C,OAAO,CAAC,CAAC,CAClE","ignoreList":[]}
1
+ {"version":3,"names":["getCliMetadata","concat","indent","ln","subcommandPlaceholder","formatHelpMsgArguments","formatHelpMsgOptions","formatHelpMsgCommands","helpMsgStyles","formatCliHelpMsg","params","style","c","default","Object","assign","metadata","formatTitle","title","toUpperCase","msg","usage","punctuation","description","name","subcommands","length","command","options","option","arguments","argument","allowPositional","longest","optionsMetadata","longestOptionTitle","reduce","acc","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","argsMetadata","longestArgTitle","arg","example","normalizeExample","replace","formatSubcommandHelpMsg","subcommand","printStyle","cliName","asCli","printCliHelp","console","log","printSubcommandHelp"],"sourceRoot":"../../../src/help-message","sources":["format-cli.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\nimport { concat, indent, ln, subcommandPlaceholder } from \"../utils.js\";\nimport { formatHelpMsgArguments } from \"./format-arguments.js\";\nimport { formatHelpMsgOptions } from \"./format-options.js\";\nimport { formatHelpMsgCommands } from \"./format-subcommands.js\";\nimport { helpMsgStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMsgStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMsg(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>): string {\n const c = helpMsgStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(params);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let msg = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length ? c.command(\"[command]\") : \"\",\n metadata.options.length ? c.option(\"[options]\") : \"\",\n metadata.arguments.length ? c.argument(\"<arguments>\") : \"\",\n metadata.allowPositional ? c.argument(\"<positionals>\") : \"\",\n );\n msg += formatTitle(\"Usage\") + ln(1);\n msg += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n msg += formatTitle(\"Description\") + ln(1);\n msg += indent(2) + c.description(metadata.description) + ln(2);\n }\n\n let longest = 0;\n\n // Prepare CLI options\n const optionsMetadata = metadata.options;\n\n const longestOptionTitle = optionsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n const longestSubcommandTitle = subcommandsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliases.concat([metadata.name]).join(\", \");\n const placeholder = subcommandPlaceholder(metadata);\n const optLength = names.length + placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argsMetadata = metadata.arguments;\n const longestArgTitle = argsMetadata.reduce((acc, arg) => (arg.name.length > acc ? arg.name.length : acc), 0);\n if (longestArgTitle > longest) {\n longest = longestArgTitle;\n }\n\n // CLI options\n msg += formatHelpMsgOptions(optionsMetadata, c, longest);\n\n // CLI commands\n msg += formatHelpMsgCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n msg += formatHelpMsgArguments(argsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n msg += formatTitle(\"Example\");\n msg += ln(1);\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(3));\n msg += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return msg;\n}\n\nexport function formatSubcommandHelpMsg(subcommand: Subcommand, printStyle?: Partial<HelpMsgStyle>, cliName = \"\") {\n const c = helpMsgStyles.default;\n if (printStyle) Object.assign(c, printStyle);\n\n const usage =\n subcommand.usage ||\n concat(\n c.punctuation(\"$\"),\n cliName,\n c.command(subcommand.name),\n subcommand.options?.length ? c.option(\"[options]\") : \"\",\n subcommand.arguments?.length || subcommand.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n\n const asCli: Cli = { cliName, usage, ...subcommand };\n\n return formatCliHelpMsg([asCli], c);\n}\n\nexport function printCliHelp(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>) {\n console.log(formatCliHelpMsg(params, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMsgStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMsg(subcommand, style, cliName));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- import{concat,indent,insertAtEndOfFirstLine,ln}from"../utils.js";export function formatHelpMsgOptions(optionsMetadata,c,longest){if(!optionsMetadata.length)return"";let msg=c.title(" OPTIONS")+ln(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n/g,"\n"+indent(longest+6)+c.punctuation("└"));const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const optLength=names.join(", ").length+metadata.placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.option(name)).join(c.punctuation(", "));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=concat(indent(2)+coloredNames,c.placeholder(metadata.placeholder),indent(spacing),insertAtEndOfFirstLine(c.description(normalizeDesc),defaultOrOptional),ln(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n/g,"\n"+indent(longest+16));msg+=concat(indent(longest+6)+c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+ln(1));}}msg+=ln(1);return msg;}
1
+ import{concat,indent,insertAtEndOfFirstLine,ln}from"../utils.js";export function formatHelpMsgOptions(optionsMetadata,c,longest){if(!optionsMetadata.length)return"";let msg=c.title(" OPTIONS")+ln(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+indent(longest+6)+c.punctuation("└"));const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const optLength=names.join(", ").length+metadata.placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.option(name)).join(c.punctuation(", "));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=concat(indent(2)+coloredNames,c.placeholder(metadata.placeholder),indent(spacing),insertAtEndOfFirstLine(c.description(normalizeDesc),defaultOrOptional),ln(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+indent(longest+16));msg+=concat(indent(longest+6)+c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+ln(1));}}msg+=ln(1);return msg;}
@@ -1 +1 @@
1
- {"version":3,"names":["concat","indent","insertAtEndOfFirstLine","ln","formatHelpMsgOptions","optionsMetadata","c","longest","length","msg","title","metadata","names","aliasesAsArgs","nameAsArg","normalizeDesc","description","replace","punctuation","defaultStr","defaultValue","defaultValueAsString","optLength","join","placeholder","spacing","coloredNames","map","name","option","defaultOrOptional","default","optional","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-options.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgOptions(optionsMetadata: OptionMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!optionsMetadata.length) return \"\";\n\n let msg = c.title(\" OPTIONS\") + ln(1);\n\n for (const metadata of optionsMetadata) {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]);\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const optLength = names.join(\", \").length + metadata.placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.option(name)).join(c.punctuation(\", \"));\n\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(metadata.placeholder),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,MAAM,CAAEC,sBAAsB,CAAEC,EAAE,KAAQ,aAAa,CAKxE,MAAO,SAAS,CAAAC,oBAAoBA,CAACC,eAAiC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CAChH,GAAI,CAACF,eAAe,CAACG,MAAM,CAAE,MAAO,EAAE,CAEtC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAGP,EAAE,CAAC,CAAC,CAAC,CAErC,IAAK,KAAM,CAAAQ,QAAQ,GAAI,CAAAN,eAAe,CAAE,CACtC,KAAM,CAAAO,KAAK,CAAGD,QAAQ,CAACE,aAAa,CAACb,MAAM,CAAC,CAACW,QAAQ,CAACG,SAAS,CAAC,CAAC,CACjE,KAAM,CAAAC,aAAa,CAAGJ,QAAQ,CAACK,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGhB,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACY,WAAW,CAAC,GAAG,CAAC,CAAC,CAC1G,KAAM,CAAAC,UAAU,CACd,MAAO,CAAAR,QAAQ,CAACS,YAAY,GAAK,WAAW,CAAG,aAAaT,QAAQ,CAACU,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,SAAS,CAAGV,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC,CAACf,MAAM,CAAGG,QAAQ,CAACa,WAAW,CAAChB,MAAM,CACvE,KAAM,CAAAiB,OAAO,CAAGlB,OAAO,CAAG,CAAC,CAAGe,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGd,KAAK,CAACe,GAAG,CAACC,IAAI,EAAItB,CAAC,CAACuB,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACjB,CAAC,CAACY,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhF,KAAM,CAAAY,iBAAiB,CAAGX,UAAU,CAAGb,CAAC,CAACyB,OAAO,CAACZ,UAAU,CAAC,CAAGR,QAAQ,CAACqB,QAAQ,CAAG1B,CAAC,CAAC0B,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHvB,GAAG,EAAIT,MAAM,CACXC,MAAM,CAAC,CAAC,CAAC,CAAGyB,YAAY,CACxBpB,CAAC,CAACkB,WAAW,CAACb,QAAQ,CAACa,WAAW,CAAC,CACnCvB,MAAM,CAACwB,OAAO,CAAC,CACfvB,sBAAsB,CAACI,CAAC,CAACU,WAAW,CAACD,aAAa,CAAC,CAAEe,iBAAiB,CAAC,CACvE3B,EAAE,CAAC,CAAC,CACN,CAAC,CAED,GAAIQ,QAAQ,CAACsB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGvB,QAAQ,CAACsB,OAAO,CAAChB,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGhB,MAAM,CAACM,OAAO,CAAG,EAAE,CAAC,CAAC,CACrFE,GAAG,EAAIT,MAAM,CACXC,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACY,WAAW,CAAC,GAAG,CAAC,CAAGZ,CAAC,CAAC6B,YAAY,CAAC,UAAU,CAAC,CACrE7B,CAAC,CAAC2B,OAAO,CAACC,gBAAgB,CAAC,CAAG/B,EAAE,CAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAM,GAAG,EAAIN,EAAE,CAAC,CAAC,CAAC,CAEZ,MAAO,CAAAM,GAAG,CACZ","ignoreList":[]}
1
+ {"version":3,"names":["concat","indent","insertAtEndOfFirstLine","ln","formatHelpMsgOptions","optionsMetadata","c","longest","length","msg","title","metadata","names","aliasesAsArgs","nameAsArg","normalizeDesc","description","replace","punctuation","defaultStr","defaultValue","defaultValueAsString","optLength","join","placeholder","spacing","coloredNames","map","name","option","defaultOrOptional","default","optional","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-options.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utils.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgOptions(optionsMetadata: OptionMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!optionsMetadata.length) return \"\";\n\n let msg = c.title(\" OPTIONS\") + ln(1);\n\n for (const metadata of optionsMetadata) {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]);\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultStr =\n typeof metadata.defaultValue !== \"undefined\" ? `(default: ${metadata.defaultValueAsString})` : \"\";\n\n const optLength = names.join(\", \").length + metadata.placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.option(name)).join(c.punctuation(\", \"));\n\n const defaultOrOptional = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(metadata.placeholder),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(longest + 16));\n msg += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,MAAM,CAAEC,sBAAsB,CAAEC,EAAE,KAAQ,aAAa,CAKxE,MAAO,SAAS,CAAAC,oBAAoBA,CAACC,eAAiC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CAChH,GAAI,CAACF,eAAe,CAACG,MAAM,CAAE,MAAO,EAAE,CAEtC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAGP,EAAE,CAAC,CAAC,CAAC,CAErC,IAAK,KAAM,CAAAQ,QAAQ,GAAI,CAAAN,eAAe,CAAE,CACtC,KAAM,CAAAO,KAAK,CAAGD,QAAQ,CAACE,aAAa,CAACb,MAAM,CAAC,CAACW,QAAQ,CAACG,SAAS,CAAC,CAAC,CACjE,KAAM,CAAAC,aAAa,CAAGJ,QAAQ,CAACK,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAGhB,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACY,WAAW,CAAC,GAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,UAAU,CACd,MAAO,CAAAR,QAAQ,CAACS,YAAY,GAAK,WAAW,CAAG,aAAaT,QAAQ,CAACU,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,SAAS,CAAGV,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC,CAACf,MAAM,CAAGG,QAAQ,CAACa,WAAW,CAAChB,MAAM,CACvE,KAAM,CAAAiB,OAAO,CAAGlB,OAAO,CAAG,CAAC,CAAGe,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGd,KAAK,CAACe,GAAG,CAACC,IAAI,EAAItB,CAAC,CAACuB,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACjB,CAAC,CAACY,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhF,KAAM,CAAAY,iBAAiB,CAAGX,UAAU,CAAGb,CAAC,CAACyB,OAAO,CAACZ,UAAU,CAAC,CAAGR,QAAQ,CAACqB,QAAQ,CAAG1B,CAAC,CAAC0B,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHvB,GAAG,EAAIT,MAAM,CACXC,MAAM,CAAC,CAAC,CAAC,CAAGyB,YAAY,CACxBpB,CAAC,CAACkB,WAAW,CAACb,QAAQ,CAACa,WAAW,CAAC,CACnCvB,MAAM,CAACwB,OAAO,CAAC,CACfvB,sBAAsB,CAACI,CAAC,CAACU,WAAW,CAACD,aAAa,CAAC,CAAEe,iBAAiB,CAAC,CACvE3B,EAAE,CAAC,CAAC,CACN,CAAC,CAED,GAAIQ,QAAQ,CAACsB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGvB,QAAQ,CAACsB,OAAO,CAAChB,OAAO,CAAC,MAAM,CAAE,IAAI,CAAGhB,MAAM,CAACM,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,GAAG,EAAIT,MAAM,CACXC,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACY,WAAW,CAAC,GAAG,CAAC,CAAGZ,CAAC,CAAC6B,YAAY,CAAC,UAAU,CAAC,CACrE7B,CAAC,CAAC2B,OAAO,CAACC,gBAAgB,CAAC,CAAG/B,EAAE,CAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAM,GAAG,EAAIN,EAAE,CAAC,CAAC,CAAC,CAEZ,MAAO,CAAAM,GAAG,CACZ","ignoreList":[]}
@@ -1 +1 @@
1
- import{concat,indent,ln}from"../utils.js";export function formatHelpMsgCommands(subcommandsMetadata,c,longest){if(!subcommandsMetadata.length)return"";let msg=c.title(" COMMANDS")+ln(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=metadata.placeholder||(metadata.options.length?"[options]":metadata.allowPositional?"<args>":" ");const normalizeDesc=metadata.description.replace(/\n/g,"\n"+indent(longest+7)+c.punctuation("└"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));msg+=concat(indent(2)+coloredNames,c.placeholder(placeholder),indent(spacing),c.description(normalizeDesc)+ln(1));}msg+=ln(1);return msg;}
1
+ import{concat,indent,ln,subcommandPlaceholder}from"../utils.js";export function formatHelpMsgCommands(subcommandsMetadata,c,longest){if(!subcommandsMetadata.length)return"";let msg=c.title(" COMMANDS")+ln(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=subcommandPlaceholder(metadata);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+indent(longest+6)+c.punctuation("└"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));msg+=concat(indent(2)+coloredNames,c.placeholder(placeholder),indent(spacing),c.description(normalizeDesc)+ln(1));}msg+=ln(1);return msg;}
@@ -1 +1 @@
1
- {"version":3,"names":["concat","indent","ln","formatHelpMsgCommands","subcommandsMetadata","c","longest","length","msg","title","metadata","names","aliases","name","placeholder","options","allowPositional","normalizeDesc","description","replace","punctuation","optLength","join","spacing","coloredNames","map","command"],"sourceRoot":"../../../src/help-message","sources":["format-subcommands.ts"],"sourcesContent":["import { concat, indent, ln } from \"../utils.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMsgStyle,\n longest: number,\n): string {\n if (!subcommandsMetadata.length) return \"\";\n\n let msg = c.title(\" COMMANDS\") + ln(1);\n\n for (const metadata of subcommandsMetadata) {\n const names = metadata.aliases.concat([metadata.name]);\n const placeholder =\n metadata.placeholder || (metadata.options.length ? \"[options]\" : metadata.allowPositional ? \"<args>\" : \" \");\n const normalizeDesc = metadata.description.replace(/\\n/g, \"\\n\" + indent(longest + 7) + c.punctuation(\"└\"));\n\n const optLength = names.join(\", \").length + placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.command(name)).join(c.punctuation(\", \"));\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,MAAM,CAAEC,EAAE,KAAQ,aAAa,CAKhD,MAAO,SAAS,CAAAC,qBAAqBA,CACnCC,mBAAyC,CACzCC,CAAe,CACfC,OAAe,CACP,CACR,GAAI,CAACF,mBAAmB,CAACG,MAAM,CAAE,MAAO,EAAE,CAE1C,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAGP,EAAE,CAAC,CAAC,CAAC,CAEtC,IAAK,KAAM,CAAAQ,QAAQ,GAAI,CAAAN,mBAAmB,CAAE,CAC1C,KAAM,CAAAO,KAAK,CAAGD,QAAQ,CAACE,OAAO,CAACZ,MAAM,CAAC,CAACU,QAAQ,CAACG,IAAI,CAAC,CAAC,CACtD,KAAM,CAAAC,WAAW,CACfJ,QAAQ,CAACI,WAAW,GAAKJ,QAAQ,CAACK,OAAO,CAACR,MAAM,CAAG,WAAW,CAAGG,QAAQ,CAACM,eAAe,CAAG,QAAQ,CAAG,GAAG,CAAC,CAC7G,KAAM,CAAAC,aAAa,CAAGP,QAAQ,CAACQ,WAAW,CAACC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGlB,MAAM,CAACK,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAC,CAE1G,KAAM,CAAAC,SAAS,CAAGV,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC,CAACf,MAAM,CAAGO,WAAW,CAACP,MAAM,CAC9D,KAAM,CAAAgB,OAAO,CAAGjB,OAAO,CAAG,CAAC,CAAGe,SAAS,CAEvC,KAAM,CAAAG,YAAY,CAAGb,KAAK,CAACc,GAAG,CAACZ,IAAI,EAAIR,CAAC,CAACqB,OAAO,CAACb,IAAI,CAAC,CAAC,CAACS,IAAI,CAACjB,CAAC,CAACe,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjFZ,GAAG,EAAIR,MAAM,CACXC,MAAM,CAAC,CAAC,CAAC,CAAGuB,YAAY,CACxBnB,CAAC,CAACS,WAAW,CAACA,WAAW,CAAC,CAC1Bb,MAAM,CAACsB,OAAO,CAAC,CACflB,CAAC,CAACa,WAAW,CAACD,aAAa,CAAC,CAAGf,EAAE,CAAC,CAAC,CACrC,CAAC,CACH,CAEAM,GAAG,EAAIN,EAAE,CAAC,CAAC,CAAC,CAEZ,MAAO,CAAAM,GAAG,CACZ","ignoreList":[]}
1
+ {"version":3,"names":["concat","indent","ln","subcommandPlaceholder","formatHelpMsgCommands","subcommandsMetadata","c","longest","length","msg","title","metadata","names","aliases","name","placeholder","normalizeDesc","description","replace","punctuation","optLength","join","spacing","coloredNames","map","command"],"sourceRoot":"../../../src/help-message","sources":["format-subcommands.ts"],"sourcesContent":["import { concat, indent, ln, subcommandPlaceholder } from \"../utils.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMsgStyle,\n longest: number,\n): string {\n if (!subcommandsMetadata.length) return \"\";\n\n let msg = c.title(\" COMMANDS\") + ln(1);\n\n for (const metadata of subcommandsMetadata) {\n const names = metadata.aliases.concat([metadata.name]);\n const placeholder = subcommandPlaceholder(metadata);\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n\n const optLength = names.join(\", \").length + placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.command(name)).join(c.punctuation(\", \"));\n\n msg += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"AAAA,OAASA,MAAM,CAAEC,MAAM,CAAEC,EAAE,CAAEC,qBAAqB,KAAQ,aAAa,CAKvE,MAAO,SAAS,CAAAC,qBAAqBA,CACnCC,mBAAyC,CACzCC,CAAe,CACfC,OAAe,CACP,CACR,GAAI,CAACF,mBAAmB,CAACG,MAAM,CAAE,MAAO,EAAE,CAE1C,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAGR,EAAE,CAAC,CAAC,CAAC,CAEtC,IAAK,KAAM,CAAAS,QAAQ,GAAI,CAAAN,mBAAmB,CAAE,CAC1C,KAAM,CAAAO,KAAK,CAAGD,QAAQ,CAACE,OAAO,CAACb,MAAM,CAAC,CAACW,QAAQ,CAACG,IAAI,CAAC,CAAC,CACtD,KAAM,CAAAC,WAAW,CAAGZ,qBAAqB,CAACQ,QAAQ,CAAC,CACnD,KAAM,CAAAK,aAAa,CAAGL,QAAQ,CAACM,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAGjB,MAAM,CAACM,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACa,WAAW,CAAC,GAAG,CAAC,CAAC,CAE3G,KAAM,CAAAC,SAAS,CAAGR,KAAK,CAACS,IAAI,CAAC,IAAI,CAAC,CAACb,MAAM,CAAGO,WAAW,CAACP,MAAM,CAC9D,KAAM,CAAAc,OAAO,CAAGf,OAAO,CAAG,CAAC,CAAGa,SAAS,CAEvC,KAAM,CAAAG,YAAY,CAAGX,KAAK,CAACY,GAAG,CAACV,IAAI,EAAIR,CAAC,CAACmB,OAAO,CAACX,IAAI,CAAC,CAAC,CAACO,IAAI,CAACf,CAAC,CAACa,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjFV,GAAG,EAAIT,MAAM,CACXC,MAAM,CAAC,CAAC,CAAC,CAAGsB,YAAY,CACxBjB,CAAC,CAACS,WAAW,CAACA,WAAW,CAAC,CAC1Bd,MAAM,CAACqB,OAAO,CAAC,CACfhB,CAAC,CAACW,WAAW,CAACD,aAAa,CAAC,CAAGd,EAAE,CAAC,CAAC,CACrC,CAAC,CACH,CAEAO,GAAG,EAAIP,EAAE,CAAC,CAAC,CAAC,CAEZ,MAAO,CAAAO,GAAG,CACZ","ignoreList":[]}