{"version":3,"sources":["../../src/helpers/BuildTree.ts"],"names":["init_cjs_shims","buildTree","command","executableFile","getExecutableFileCommand","tree","name","description","commands","options","arguments","importAllExecutableSubCommands","cmd","push","forEach","opt","flags","required","optional","variadic","defaultValue","processedArgs","arg"],"mappings":";;;;;AAGAA,gCAAA,EAAA;AAAA,eAAsBC,UAAUC,OAAe,EAAA;AAC3C,EAAGA,IAAAA,OAAAA,CAAQC,gBAAiB,EAAA;AACxBD,IAAU,OAAA,GAAA,MAAMA,QAAQE,wBAAwB,EAAA;AACpD;AACA,EAAA,MAAMC,IAAO,GAAA;AACTC,IAAAA,IAAAA,EAAMJ,QAAQI,IAAI,EAAA;AAClBC,IAAAA,WAAAA,EAAaL,QAAQK,WAAW,EAAA;AAChCC,IAAAA,QAAAA,EAAU,EAAA;AACVC,IAAAA,OAAAA,EAAS,EAAA;AACTC,IAAAA,SAAAA,EAAW;AACf,GAAA;AAEA,EAAIF,IAAAA,QAAAA,GAAW,MAAMN,OAAAA,CAAQS,8BAA8B,EAAA;AAE3D,EAAA,KAAA,IAAQC,OAAOJ,QAAS,EAAA;AACpBH,IAAAA,IAAAA,CAAKG,QAASK,CAAAA,IAAAA,CAAK,MAAMZ,SAAAA,CAAUW,GAAAA,CAAAA,CAAAA;AACvC;AAEAV,EAAQO,OAAAA,CAAAA,OAAAA,CAAQK,OAAQ,CAAA,CAACC,GAAAA,KAAAA;AACrBV,IAAAA,IAAAA,CAAKI,QAAQI,IAAK,CAAA;AACdG,MAAAA,KAAAA,EAAOD,GAAIC,CAAAA,KAAAA;AACXT,MAAAA,WAAAA,EAAaQ,GAAIR,CAAAA,WAAAA;AACjBU,MAAAA,QAAAA,EAAUF,GAAIE,CAAAA,QAAAA;AACdC,MAAAA,QAAAA,EAAUH,GAAIG,CAAAA,QAAAA;AACdC,MAAAA,QAAAA,EAAUJ,GAAII,CAAAA,QAAAA;AACdC,MAAAA,YAAAA,EAAcL,GAAIK,CAAAA;KACtB,CAAA;GACJ,CAAA;AAEAlB,EAAQmB,OAAAA,CAAAA,aAAAA,CAAcP,OAAQ,CAAA,CAACQ,GAAAA,KAAAA;AAC3BjB,IAAAA,IAAAA,CAAKK,UAAUG,IAAK,CAAA;AAChBP,MAAAA,IAAAA,EAAMgB,GAAIhB,CAAAA,IAAAA;AACVC,MAAAA,WAAAA,EAAae,GAAIf,CAAAA,WAAAA;AACjBU,MAAAA,QAAAA,EAAUK,GAAIL,CAAAA,QAAAA;AACdE,MAAAA,QAAAA,EAAUG,GAAIH,CAAAA,QAAAA;AACdC,MAAAA,YAAAA,EAAcE,GAAIF,CAAAA;KACtB,CAAA;GACJ,CAAA;AAEA,EAAOf,OAAAA,IAAAA;AACX;AAxCsBJ,wBAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA","file":"chunk-JBD6P4CD.cjs","sourcesContent":["import { Command } from '../base/Command.js';\n\n\nexport async function buildTree(command:Command){\n    if(command.executableFile()){\n        command = await command.getExecutableFileCommand();\n    }\n    const tree = {\n        name: command.name(),\n        description: command.description(),\n        commands: [],\n        options: [],\n        arguments: [],\n    };\n\n    let commands = await command.importAllExecutableSubCommands();\n\n    for(let cmd of commands){\n        tree.commands.push(await buildTree(cmd));\n    }\n\n    command.options.forEach((opt) => {\n        tree.options.push({\n            flags: opt.flags,\n            description: opt.description,\n            required: opt.required,\n            optional: opt.optional,\n            variadic: opt.variadic,\n            defaultValue: opt.defaultValue,\n        });\n    });\n\n    command.processedArgs.forEach((arg) => {\n        tree.arguments.push({\n            name: arg.name,\n            description: arg.description,\n            required: arg.required,\n            variadic: arg.variadic,\n            defaultValue: arg.defaultValue,\n        });\n    });\n\n    return tree;\n}\n"]}