zod-args-parser 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getArgumentsMetadata=getArgumentsMetadata;var _zodUtils=require("../zod-utils.js");function getArgumentsMetadata(args){const outputMetadata=[];for(const arg of args){const defaultValue=(0,_zodUtils.schemaDefaultValue)(arg.type);outputMetadata.push({name:arg.name,description:arg.description??(0,_zodUtils.schemaDescription)(arg.type)??"",defaultValue,defaultValueAsString:JSON.stringify(defaultValue),optional:(0,_zodUtils.isOptionalSchema)(arg.type),example:arg.example??"",type:arg.type});}return outputMetadata;}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getArgumentsMetadata=getArgumentsMetadata;var _utils=require("../utils.js");var _zodUtils=require("../zod-utils.js");function getArgumentsMetadata(args){const outputMetadata=[];for(const arg of args){const defaultValue=(0,_zodUtils.schemaDefaultValue)(arg.type);outputMetadata.push({name:arg.name,description:arg.description??(0,_zodUtils.schemaDescription)(arg.type)??"",defaultValue,defaultValueAsString:(0,_utils.stringifyValue)(defaultValue),optional:(0,_zodUtils.isOptionalSchema)(arg.type),example:arg.example??"",type:arg.type});}return outputMetadata;}
@@ -1 +1 @@
1
- {"version":3,"names":["_zodUtils","require","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","schemaDefaultValue","type","push","name","description","schemaDescription","defaultValueAsString","JSON","stringify","optional","isOptionalSchema","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const arg of args) {\n const defaultValue = schemaDefaultValue(arg.type);\n\n outputMetadata.push({\n name: arg.name,\n description: arg.description ?? schemaDescription(arg.type) ?? \"\",\n defaultValue,\n defaultValueAsString: JSON.stringify(defaultValue),\n optional: isOptionalSchema(arg.type),\n example: arg.example ?? \"\",\n type: arg.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"wHAAA,IAAAA,SAAA,CAAAC,OAAA,oBAKO,QAAS,CAAAC,oBAAoBA,CAACC,IAAgB,CAAsB,CACzE,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,GAAG,GAAI,CAAAF,IAAI,CAAE,CACtB,KAAM,CAAAG,YAAY,CAAG,GAAAC,4BAAkB,EAACF,GAAG,CAACG,IAAI,CAAC,CAEjDJ,cAAc,CAACK,IAAI,CAAC,CAClBC,IAAI,CAAEL,GAAG,CAACK,IAAI,CACdC,WAAW,CAAEN,GAAG,CAACM,WAAW,EAAI,GAAAC,2BAAiB,EAACP,GAAG,CAACG,IAAI,CAAC,EAAI,EAAE,CACjEF,YAAY,CACZO,oBAAoB,CAAEC,IAAI,CAACC,SAAS,CAACT,YAAY,CAAC,CAClDU,QAAQ,CAAE,GAAAC,0BAAgB,EAACZ,GAAG,CAACG,IAAI,CAAC,CACpCU,OAAO,CAAEb,GAAG,CAACa,OAAO,EAAI,EAAE,CAC1BV,IAAI,CAAEH,GAAG,CAACG,IACZ,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAJ,cAAc,CACvB","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","_zodUtils","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","schemaDefaultValue","type","push","name","description","schemaDescription","defaultValueAsString","stringifyValue","optional","isOptionalSchema","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { stringifyValue } from \"../utils.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const arg of args) {\n const defaultValue = schemaDefaultValue(arg.type);\n\n outputMetadata.push({\n name: arg.name,\n description: arg.description ?? schemaDescription(arg.type) ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n optional: isOptionalSchema(arg.type),\n example: arg.example ?? \"\",\n type: arg.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"wHAAA,IAAAA,MAAA,CAAAC,OAAA,gBACA,IAAAC,SAAA,CAAAD,OAAA,oBAKO,QAAS,CAAAE,oBAAoBA,CAACC,IAAgB,CAAsB,CACzE,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,GAAG,GAAI,CAAAF,IAAI,CAAE,CACtB,KAAM,CAAAG,YAAY,CAAG,GAAAC,4BAAkB,EAACF,GAAG,CAACG,IAAI,CAAC,CAEjDJ,cAAc,CAACK,IAAI,CAAC,CAClBC,IAAI,CAAEL,GAAG,CAACK,IAAI,CACdC,WAAW,CAAEN,GAAG,CAACM,WAAW,EAAI,GAAAC,2BAAiB,EAACP,GAAG,CAACG,IAAI,CAAC,EAAI,EAAE,CACjEF,YAAY,CACZO,oBAAoB,CAAE,GAAAC,qBAAc,EAACR,YAAY,CAAC,CAClDS,QAAQ,CAAE,GAAAC,0BAAgB,EAACX,GAAG,CAACG,IAAI,CAAC,CACpCS,OAAO,CAAEZ,GAAG,CAACY,OAAO,EAAI,EAAE,CAC1BT,IAAI,CAAEH,GAAG,CAACG,IACZ,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAJ,cAAc,CACvB","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getOptionsMetadata=getOptionsMetadata;var _parserHelpers=require("../parser/parse/parser-helpers.js");var _zodUtils=require("../zod-utils.js");function getOptionsMetadata(options){const outputMetadata=[];if(!options||!options.length)return outputMetadata;for(const option of options){const defaultValue=(0,_zodUtils.schemaDefaultValue)(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:(0,_parserHelpers.transformOptionToArg)(option.name),aliases,aliasesAsArgs:aliases.map(_parserHelpers.transformOptionToArg),placeholder:option.placeholder??"",description:option.description??(0,_zodUtils.schemaDescription)(option.type)??"",optional:(0,_zodUtils.isOptionalSchema)(option.type),example:option.example??"",defaultValue,defaultValueAsString:JSON.stringify(defaultValue),type:option.type});}return outputMetadata;}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getOptionsMetadata=getOptionsMetadata;var _parserHelpers=require("../parser/parse/parser-helpers.js");var _utils=require("../utils.js");var _zodUtils=require("../zod-utils.js");function getOptionsMetadata(options){const outputMetadata=[];if(!options||!options.length)return outputMetadata;for(const option of options){const defaultValue=(0,_zodUtils.schemaDefaultValue)(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:(0,_parserHelpers.transformOptionToArg)(option.name),aliases,aliasesAsArgs:aliases.map(_parserHelpers.transformOptionToArg),placeholder:option.placeholder??"",description:option.description??(0,_zodUtils.schemaDescription)(option.type)??"",optional:(0,_zodUtils.isOptionalSchema)(option.type),example:option.example??"",defaultValue,defaultValueAsString:(0,_utils.stringifyValue)(defaultValue),type:option.type});}return outputMetadata;}
@@ -1 +1 @@
1
- {"version":3,"names":["_parserHelpers","require","_zodUtils","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","schemaDefaultValue","type","aliases","push","name","nameAsArg","transformOptionToArg","aliasesAsArgs","map","placeholder","description","schemaDescription","optional","isOptionalSchema","example","defaultValueAsString","JSON","stringify"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Option } from \"../types.js\";\nimport type { OptionMetadata } from \"./metadata-types.js\";\n\nexport function getOptionsMetadata(options: Option[]): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!options || !options.length) return outputMetadata;\n\n for (const option of options) {\n const defaultValue = schemaDefaultValue(option.type);\n const aliases = option.aliases ?? [];\n\n outputMetadata.push({\n name: option.name,\n nameAsArg: transformOptionToArg(option.name),\n aliases,\n aliasesAsArgs: aliases.map(transformOptionToArg),\n placeholder: option.placeholder ?? \"\",\n description: option.description ?? schemaDescription(option.type) ?? \"\",\n optional: isOptionalSchema(option.type),\n example: option.example ?? \"\",\n defaultValue,\n defaultValueAsString: JSON.stringify(defaultValue),\n type: option.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"oHAAA,IAAAA,cAAA,CAAAC,OAAA,sCACA,IAAAC,SAAA,CAAAD,OAAA,oBAKO,QAAS,CAAAE,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAI,CAACA,OAAO,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAEtD,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAG,GAAAC,4BAAkB,EAACF,MAAM,CAACG,IAAI,CAAC,CACpD,KAAM,CAAAC,OAAO,CAAGJ,MAAM,CAACI,OAAO,EAAI,EAAE,CAEpCN,cAAc,CAACO,IAAI,CAAC,CAClBC,IAAI,CAAEN,MAAM,CAACM,IAAI,CACjBC,SAAS,CAAE,GAAAC,mCAAoB,EAACR,MAAM,CAACM,IAAI,CAAC,CAC5CF,OAAO,CACPK,aAAa,CAAEL,OAAO,CAACM,GAAG,CAACF,mCAAoB,CAAC,CAChDG,WAAW,CAAEX,MAAM,CAACW,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEZ,MAAM,CAACY,WAAW,EAAI,GAAAC,2BAAiB,EAACb,MAAM,CAACG,IAAI,CAAC,EAAI,EAAE,CACvEW,QAAQ,CAAE,GAAAC,0BAAgB,EAACf,MAAM,CAACG,IAAI,CAAC,CACvCa,OAAO,CAAEhB,MAAM,CAACgB,OAAO,EAAI,EAAE,CAC7Bf,YAAY,CACZgB,oBAAoB,CAAEC,IAAI,CAACC,SAAS,CAAClB,YAAY,CAAC,CAClDE,IAAI,CAAEH,MAAM,CAACG,IACf,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAL,cAAc,CACvB","ignoreList":[]}
1
+ {"version":3,"names":["_parserHelpers","require","_utils","_zodUtils","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","schemaDefaultValue","type","aliases","push","name","nameAsArg","transformOptionToArg","aliasesAsArgs","map","placeholder","description","schemaDescription","optional","isOptionalSchema","example","defaultValueAsString","stringifyValue"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\nimport { stringifyValue } from \"../utils.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Option } from \"../types.js\";\nimport type { OptionMetadata } from \"./metadata-types.js\";\n\nexport function getOptionsMetadata(options: Option[]): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!options || !options.length) return outputMetadata;\n\n for (const option of options) {\n const defaultValue = schemaDefaultValue(option.type);\n const aliases = option.aliases ?? [];\n\n outputMetadata.push({\n name: option.name,\n nameAsArg: transformOptionToArg(option.name),\n aliases,\n aliasesAsArgs: aliases.map(transformOptionToArg),\n placeholder: option.placeholder ?? \"\",\n description: option.description ?? schemaDescription(option.type) ?? \"\",\n optional: isOptionalSchema(option.type),\n example: option.example ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n type: option.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"oHAAA,IAAAA,cAAA,CAAAC,OAAA,sCACA,IAAAC,MAAA,CAAAD,OAAA,gBACA,IAAAE,SAAA,CAAAF,OAAA,oBAKO,QAAS,CAAAG,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAI,CAACA,OAAO,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAEtD,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAG,GAAAC,4BAAkB,EAACF,MAAM,CAACG,IAAI,CAAC,CACpD,KAAM,CAAAC,OAAO,CAAGJ,MAAM,CAACI,OAAO,EAAI,EAAE,CAEpCN,cAAc,CAACO,IAAI,CAAC,CAClBC,IAAI,CAAEN,MAAM,CAACM,IAAI,CACjBC,SAAS,CAAE,GAAAC,mCAAoB,EAACR,MAAM,CAACM,IAAI,CAAC,CAC5CF,OAAO,CACPK,aAAa,CAAEL,OAAO,CAACM,GAAG,CAACF,mCAAoB,CAAC,CAChDG,WAAW,CAAEX,MAAM,CAACW,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEZ,MAAM,CAACY,WAAW,EAAI,GAAAC,2BAAiB,EAACb,MAAM,CAACG,IAAI,CAAC,EAAI,EAAE,CACvEW,QAAQ,CAAE,GAAAC,0BAAgB,EAACf,MAAM,CAACG,IAAI,CAAC,CACvCa,OAAO,CAAEhB,MAAM,CAACgB,OAAO,EAAI,EAAE,CAC7Bf,YAAY,CACZgB,oBAAoB,CAAE,GAAAC,qBAAc,EAACjB,YAAY,CAAC,CAClDE,IAAI,CAAEH,MAAM,CAACG,IACf,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAL,cAAc,CACvB","ignoreList":[]}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.concat=concat;exports.generateOrdinalSuffix=generateOrdinalSuffix;exports.indent=indent;exports.ln=ln;exports.stringToBoolean=stringToBoolean;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(" ");}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.concat=concat;exports.generateOrdinalSuffix=generateOrdinalSuffix;exports.indent=indent;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);}
@@ -1 +1 @@
1
- {"version":3,"names":["stringToBoolean","str","toLowerCase","generateOrdinalSuffix","index","suffixes","lastDigit","lastTwoDigits","suffix","ln","count","repeat","indent","concat","messages","join"],"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"],"mappings":"4NAMO,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","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"],"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"],"mappings":"kQAMO,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","ignoreList":[]}
@@ -1 +1 @@
1
- import{isOptionalSchema,schemaDefaultValue,schemaDescription}from"../zod-utils.js";export function getArgumentsMetadata(args){const outputMetadata=[];for(const arg of args){const defaultValue=schemaDefaultValue(arg.type);outputMetadata.push({name:arg.name,description:arg.description??schemaDescription(arg.type)??"",defaultValue,defaultValueAsString:JSON.stringify(defaultValue),optional:isOptionalSchema(arg.type),example:arg.example??"",type:arg.type});}return outputMetadata;}
1
+ import{stringifyValue}from"../utils.js";import{isOptionalSchema,schemaDefaultValue,schemaDescription}from"../zod-utils.js";export function getArgumentsMetadata(args){const outputMetadata=[];for(const arg of args){const defaultValue=schemaDefaultValue(arg.type);outputMetadata.push({name:arg.name,description:arg.description??schemaDescription(arg.type)??"",defaultValue,defaultValueAsString:stringifyValue(defaultValue),optional:isOptionalSchema(arg.type),example:arg.example??"",type:arg.type});}return outputMetadata;}
@@ -1 +1 @@
1
- {"version":3,"names":["isOptionalSchema","schemaDefaultValue","schemaDescription","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","type","push","name","description","defaultValueAsString","JSON","stringify","optional","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const arg of args) {\n const defaultValue = schemaDefaultValue(arg.type);\n\n outputMetadata.push({\n name: arg.name,\n description: arg.description ?? schemaDescription(arg.type) ?? \"\",\n defaultValue,\n defaultValueAsString: JSON.stringify(defaultValue),\n optional: isOptionalSchema(arg.type),\n example: arg.example ?? \"\",\n type: arg.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"AAAA,OAASA,gBAAgB,CAAEC,kBAAkB,CAAEC,iBAAiB,KAAQ,iBAAiB,CAKzF,MAAO,SAAS,CAAAC,oBAAoBA,CAACC,IAAgB,CAAsB,CACzE,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,GAAG,GAAI,CAAAF,IAAI,CAAE,CACtB,KAAM,CAAAG,YAAY,CAAGN,kBAAkB,CAACK,GAAG,CAACE,IAAI,CAAC,CAEjDH,cAAc,CAACI,IAAI,CAAC,CAClBC,IAAI,CAAEJ,GAAG,CAACI,IAAI,CACdC,WAAW,CAAEL,GAAG,CAACK,WAAW,EAAIT,iBAAiB,CAACI,GAAG,CAACE,IAAI,CAAC,EAAI,EAAE,CACjED,YAAY,CACZK,oBAAoB,CAAEC,IAAI,CAACC,SAAS,CAACP,YAAY,CAAC,CAClDQ,QAAQ,CAAEf,gBAAgB,CAACM,GAAG,CAACE,IAAI,CAAC,CACpCQ,OAAO,CAAEV,GAAG,CAACU,OAAO,EAAI,EAAE,CAC1BR,IAAI,CAAEF,GAAG,CAACE,IACZ,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAH,cAAc,CACvB","ignoreList":[]}
1
+ {"version":3,"names":["stringifyValue","isOptionalSchema","schemaDefaultValue","schemaDescription","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","type","push","name","description","defaultValueAsString","optional","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { stringifyValue } from \"../utils.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const arg of args) {\n const defaultValue = schemaDefaultValue(arg.type);\n\n outputMetadata.push({\n name: arg.name,\n description: arg.description ?? schemaDescription(arg.type) ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n optional: isOptionalSchema(arg.type),\n example: arg.example ?? \"\",\n type: arg.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"AAAA,OAASA,cAAc,KAAQ,aAAa,CAC5C,OAASC,gBAAgB,CAAEC,kBAAkB,CAAEC,iBAAiB,KAAQ,iBAAiB,CAKzF,MAAO,SAAS,CAAAC,oBAAoBA,CAACC,IAAgB,CAAsB,CACzE,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,GAAG,GAAI,CAAAF,IAAI,CAAE,CACtB,KAAM,CAAAG,YAAY,CAAGN,kBAAkB,CAACK,GAAG,CAACE,IAAI,CAAC,CAEjDH,cAAc,CAACI,IAAI,CAAC,CAClBC,IAAI,CAAEJ,GAAG,CAACI,IAAI,CACdC,WAAW,CAAEL,GAAG,CAACK,WAAW,EAAIT,iBAAiB,CAACI,GAAG,CAACE,IAAI,CAAC,EAAI,EAAE,CACjED,YAAY,CACZK,oBAAoB,CAAEb,cAAc,CAACQ,YAAY,CAAC,CAClDM,QAAQ,CAAEb,gBAAgB,CAACM,GAAG,CAACE,IAAI,CAAC,CACpCM,OAAO,CAAER,GAAG,CAACQ,OAAO,EAAI,EAAE,CAC1BN,IAAI,CAAEF,GAAG,CAACE,IACZ,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAH,cAAc,CACvB","ignoreList":[]}
@@ -1 +1 @@
1
- import{transformOptionToArg}from"../parser/parse/parser-helpers.js";import{isOptionalSchema,schemaDefaultValue,schemaDescription}from"../zod-utils.js";export function getOptionsMetadata(options){const outputMetadata=[];if(!options||!options.length)return outputMetadata;for(const option of options){const defaultValue=schemaDefaultValue(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:transformOptionToArg(option.name),aliases,aliasesAsArgs:aliases.map(transformOptionToArg),placeholder:option.placeholder??"",description:option.description??schemaDescription(option.type)??"",optional:isOptionalSchema(option.type),example:option.example??"",defaultValue,defaultValueAsString:JSON.stringify(defaultValue),type:option.type});}return outputMetadata;}
1
+ import{transformOptionToArg}from"../parser/parse/parser-helpers.js";import{stringifyValue}from"../utils.js";import{isOptionalSchema,schemaDefaultValue,schemaDescription}from"../zod-utils.js";export function getOptionsMetadata(options){const outputMetadata=[];if(!options||!options.length)return outputMetadata;for(const option of options){const defaultValue=schemaDefaultValue(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:transformOptionToArg(option.name),aliases,aliasesAsArgs:aliases.map(transformOptionToArg),placeholder:option.placeholder??"",description:option.description??schemaDescription(option.type)??"",optional:isOptionalSchema(option.type),example:option.example??"",defaultValue,defaultValueAsString:stringifyValue(defaultValue),type:option.type});}return outputMetadata;}
@@ -1 +1 @@
1
- {"version":3,"names":["transformOptionToArg","isOptionalSchema","schemaDefaultValue","schemaDescription","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","type","aliases","push","name","nameAsArg","aliasesAsArgs","map","placeholder","description","optional","example","defaultValueAsString","JSON","stringify"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Option } from \"../types.js\";\nimport type { OptionMetadata } from \"./metadata-types.js\";\n\nexport function getOptionsMetadata(options: Option[]): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!options || !options.length) return outputMetadata;\n\n for (const option of options) {\n const defaultValue = schemaDefaultValue(option.type);\n const aliases = option.aliases ?? [];\n\n outputMetadata.push({\n name: option.name,\n nameAsArg: transformOptionToArg(option.name),\n aliases,\n aliasesAsArgs: aliases.map(transformOptionToArg),\n placeholder: option.placeholder ?? \"\",\n description: option.description ?? schemaDescription(option.type) ?? \"\",\n optional: isOptionalSchema(option.type),\n example: option.example ?? \"\",\n defaultValue,\n defaultValueAsString: JSON.stringify(defaultValue),\n type: option.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"AAAA,OAASA,oBAAoB,KAAQ,mCAAmC,CACxE,OAASC,gBAAgB,CAAEC,kBAAkB,CAAEC,iBAAiB,KAAQ,iBAAiB,CAKzF,MAAO,SAAS,CAAAC,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAI,CAACA,OAAO,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAEtD,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAGP,kBAAkB,CAACM,MAAM,CAACE,IAAI,CAAC,CACpD,KAAM,CAAAC,OAAO,CAAGH,MAAM,CAACG,OAAO,EAAI,EAAE,CAEpCL,cAAc,CAACM,IAAI,CAAC,CAClBC,IAAI,CAAEL,MAAM,CAACK,IAAI,CACjBC,SAAS,CAAEd,oBAAoB,CAACQ,MAAM,CAACK,IAAI,CAAC,CAC5CF,OAAO,CACPI,aAAa,CAAEJ,OAAO,CAACK,GAAG,CAAChB,oBAAoB,CAAC,CAChDiB,WAAW,CAAET,MAAM,CAACS,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEV,MAAM,CAACU,WAAW,EAAIf,iBAAiB,CAACK,MAAM,CAACE,IAAI,CAAC,EAAI,EAAE,CACvES,QAAQ,CAAElB,gBAAgB,CAACO,MAAM,CAACE,IAAI,CAAC,CACvCU,OAAO,CAAEZ,MAAM,CAACY,OAAO,EAAI,EAAE,CAC7BX,YAAY,CACZY,oBAAoB,CAAEC,IAAI,CAACC,SAAS,CAACd,YAAY,CAAC,CAClDC,IAAI,CAAEF,MAAM,CAACE,IACf,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAJ,cAAc,CACvB","ignoreList":[]}
1
+ {"version":3,"names":["transformOptionToArg","stringifyValue","isOptionalSchema","schemaDefaultValue","schemaDescription","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","type","aliases","push","name","nameAsArg","aliasesAsArgs","map","placeholder","description","optional","example","defaultValueAsString"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\nimport { stringifyValue } from \"../utils.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Option } from \"../types.js\";\nimport type { OptionMetadata } from \"./metadata-types.js\";\n\nexport function getOptionsMetadata(options: Option[]): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!options || !options.length) return outputMetadata;\n\n for (const option of options) {\n const defaultValue = schemaDefaultValue(option.type);\n const aliases = option.aliases ?? [];\n\n outputMetadata.push({\n name: option.name,\n nameAsArg: transformOptionToArg(option.name),\n aliases,\n aliasesAsArgs: aliases.map(transformOptionToArg),\n placeholder: option.placeholder ?? \"\",\n description: option.description ?? schemaDescription(option.type) ?? \"\",\n optional: isOptionalSchema(option.type),\n example: option.example ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n type: option.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"AAAA,OAASA,oBAAoB,KAAQ,mCAAmC,CACxE,OAASC,cAAc,KAAQ,aAAa,CAC5C,OAASC,gBAAgB,CAAEC,kBAAkB,CAAEC,iBAAiB,KAAQ,iBAAiB,CAKzF,MAAO,SAAS,CAAAC,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAI,CAACA,OAAO,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAEtD,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAGP,kBAAkB,CAACM,MAAM,CAACE,IAAI,CAAC,CACpD,KAAM,CAAAC,OAAO,CAAGH,MAAM,CAACG,OAAO,EAAI,EAAE,CAEpCL,cAAc,CAACM,IAAI,CAAC,CAClBC,IAAI,CAAEL,MAAM,CAACK,IAAI,CACjBC,SAAS,CAAEf,oBAAoB,CAACS,MAAM,CAACK,IAAI,CAAC,CAC5CF,OAAO,CACPI,aAAa,CAAEJ,OAAO,CAACK,GAAG,CAACjB,oBAAoB,CAAC,CAChDkB,WAAW,CAAET,MAAM,CAACS,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEV,MAAM,CAACU,WAAW,EAAIf,iBAAiB,CAACK,MAAM,CAACE,IAAI,CAAC,EAAI,EAAE,CACvES,QAAQ,CAAElB,gBAAgB,CAACO,MAAM,CAACE,IAAI,CAAC,CACvCU,OAAO,CAAEZ,MAAM,CAACY,OAAO,EAAI,EAAE,CAC7BX,YAAY,CACZY,oBAAoB,CAAErB,cAAc,CAACS,YAAY,CAAC,CAClDC,IAAI,CAAEF,MAAM,CAACE,IACf,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAJ,cAAc,CACvB","ignoreList":[]}
@@ -1 +1 @@
1
- export function stringToBoolean(str){if(str.toLowerCase()==="true"){return true;}if(str.toLowerCase()==="false"){return false;}return str;}export 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}`;}export function ln(count){return"\n".repeat(count);}export function indent(count){return" ".repeat(count);}export function concat(...messages){return messages.join(" ");}
1
+ export function stringToBoolean(str){if(str.toLowerCase()==="true"){return true;}if(str.toLowerCase()==="false"){return false;}return str;}export 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}`;}export function ln(count){return"\n".repeat(count);}export function indent(count){return" ".repeat(count);}export function concat(...messages){return messages.join(" ");}export function stringifyValue(value){if(value instanceof Set){return"new Set(["+Array.from(value).map(stringifyValue).join(", ")+"])";}return JSON.stringify(value);}
@@ -1 +1 @@
1
- {"version":3,"names":["stringToBoolean","str","toLowerCase","generateOrdinalSuffix","index","suffixes","lastDigit","lastTwoDigits","suffix","ln","count","repeat","indent","concat","messages","join"],"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"],"mappings":"AAMA,MAAO,SAAS,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,CAYA,MAAO,SAAS,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,CAGA,MAAO,SAAS,CAAAC,EAAEA,CAACC,KAAa,CAAE,CAChC,MAAO,IAAI,CAACC,MAAM,CAACD,KAAK,CAAC,CAC3B,CAGA,MAAO,SAAS,CAAAE,MAAMA,CAACF,KAAa,CAAE,CACpC,MAAO,GAAG,CAACC,MAAM,CAACD,KAAK,CAAC,CAC1B,CAGA,MAAO,SAAS,CAAAG,MAAMA,CAAC,GAAGC,QAAkB,CAAE,CAE5C,MAAO,CAAAA,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC,CAC3B","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"],"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"],"mappings":"AAMA,MAAO,SAAS,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,CAYA,MAAO,SAAS,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,CAGA,MAAO,SAAS,CAAAC,EAAEA,CAACC,KAAa,CAAE,CAChC,MAAO,IAAI,CAACC,MAAM,CAACD,KAAK,CAAC,CAC3B,CAGA,MAAO,SAAS,CAAAE,MAAMA,CAACF,KAAa,CAAE,CACpC,MAAO,GAAG,CAACC,MAAM,CAACD,KAAK,CAAC,CAC1B,CAGA,MAAO,SAAS,CAAAG,MAAMA,CAAC,GAAGC,QAAkB,CAAE,CAE5C,MAAO,CAAAA,QAAQ,CAACC,IAAI,CAAC,GAAG,CAAC,CAC3B,CAEA,MAAO,SAAS,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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-arguments-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-arguments-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAkBzE"}
1
+ {"version":3,"file":"get-arguments-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-arguments-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAkBzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-options-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-options-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAyBtE"}
1
+ {"version":3,"file":"get-options-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-options-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAyBtE"}
@@ -22,4 +22,5 @@ export declare function ln(count: number): string;
22
22
  export declare function indent(count: number): string;
23
23
  /** Concat strings */
24
24
  export declare function concat(...messages: string[]): string;
25
+ export declare function stringifyValue(value: unknown): string;
25
26
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAU7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB3D;AAED,eAAe;AACf,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,UAE/B;AAED,YAAY;AACZ,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,UAEnC;AAED,qBAAqB;AACrB,wBAAgB,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,UAG3C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAU7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB3D;AAED,eAAe;AACf,wBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,UAE/B;AAED,YAAY;AACZ,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,UAEnC;AAED,qBAAqB;AACrB,wBAAgB,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-args-parser",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "A strictly typed command-line arguments parser powered by Zod.",
5
5
  "author": "Ahmed ALABSI <alabsi91@gmail.com>",
6
6
  "license": "MIT",
@@ -1,3 +1,4 @@
1
+ import { stringifyValue } from "../utils.js";
1
2
  import { isOptionalSchema, schemaDefaultValue, schemaDescription } from "../zod-utils.js";
2
3
 
3
4
  import type { Argument } from "../types.js";
@@ -13,7 +14,7 @@ export function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {
13
14
  name: arg.name,
14
15
  description: arg.description ?? schemaDescription(arg.type) ?? "",
15
16
  defaultValue,
16
- defaultValueAsString: JSON.stringify(defaultValue),
17
+ defaultValueAsString: stringifyValue(defaultValue),
17
18
  optional: isOptionalSchema(arg.type),
18
19
  example: arg.example ?? "",
19
20
  type: arg.type,
@@ -1,4 +1,5 @@
1
1
  import { transformOptionToArg } from "../parser/parse/parser-helpers.js";
2
+ import { stringifyValue } from "../utils.js";
2
3
  import { isOptionalSchema, schemaDefaultValue, schemaDescription } from "../zod-utils.js";
3
4
 
4
5
  import type { Option } from "../types.js";
@@ -23,7 +24,7 @@ export function getOptionsMetadata(options: Option[]): OptionMetadata[] {
23
24
  optional: isOptionalSchema(option.type),
24
25
  example: option.example ?? "",
25
26
  defaultValue,
26
- defaultValueAsString: JSON.stringify(defaultValue),
27
+ defaultValueAsString: stringifyValue(defaultValue),
27
28
  type: option.type,
28
29
  });
29
30
  }
package/src/utils.ts CHANGED
@@ -60,3 +60,13 @@ export function concat(...messages: string[]) {
60
60
  // messages = messages.filter(Boolean);
61
61
  return messages.join(" ");
62
62
  }
63
+
64
+ export function stringifyValue(value: unknown): string {
65
+ // Set
66
+ if (value instanceof Set) {
67
+ return "new Set([" + Array.from(value).map(stringifyValue).join(", ") + "])";
68
+ }
69
+
70
+ // unknown
71
+ return JSON.stringify(value);
72
+ }