@flowscripter/dynamic-cli-framework 1.4.18 → 1.5.0

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 (534) hide show
  1. package/README.md +3 -14
  2. package/cli-plugin.ts +16 -0
  3. package/dist/cli-plugin.d.ts +17 -0
  4. package/dist/cli-plugin.d.ts.map +1 -0
  5. package/dist/cli-plugin.js +69 -0
  6. package/dist/index.d.ts +115 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +105696 -0
  9. package/dist/src/api/BaseCLIFeatureOptions.d.ts +12 -0
  10. package/dist/src/api/BaseCLIFeatureOptions.d.ts.map +1 -0
  11. package/dist/src/api/CLI.d.ts +17 -0
  12. package/dist/src/api/CLI.d.ts.map +1 -0
  13. package/dist/src/api/CLIConfig.d.ts +22 -0
  14. package/dist/src/api/CLIConfig.d.ts.map +1 -0
  15. package/dist/src/api/Context.d.ts +23 -0
  16. package/dist/src/api/Context.d.ts.map +1 -0
  17. package/dist/src/api/RunResult.d.ts +128 -0
  18. package/dist/src/api/RunResult.d.ts.map +1 -0
  19. package/dist/src/api/argument/Argument.d.ts +62 -0
  20. package/dist/src/api/argument/Argument.d.ts.map +1 -0
  21. package/dist/src/api/argument/ArgumentValueTypes.d.ts +68 -0
  22. package/dist/src/api/argument/ArgumentValueTypes.d.ts.map +1 -0
  23. package/dist/src/api/argument/ComplexOption.d.ts +21 -0
  24. package/dist/src/api/argument/ComplexOption.d.ts.map +1 -0
  25. package/dist/src/api/argument/GlobalCommandArgument.d.ts +16 -0
  26. package/dist/src/api/argument/GlobalCommandArgument.d.ts.map +1 -0
  27. package/dist/src/api/argument/Option.d.ts +29 -0
  28. package/dist/src/api/argument/Option.d.ts.map +1 -0
  29. package/dist/src/api/argument/Positional.d.ts +26 -0
  30. package/dist/src/api/argument/Positional.d.ts.map +1 -0
  31. package/dist/src/api/argument/SubCommandArgument.d.ts +18 -0
  32. package/dist/src/api/argument/SubCommandArgument.d.ts.map +1 -0
  33. package/dist/src/api/command/Command.d.ts +21 -0
  34. package/dist/src/api/command/Command.d.ts.map +1 -0
  35. package/dist/src/api/command/GlobalCommand.d.ts +28 -0
  36. package/dist/src/api/command/GlobalCommand.d.ts.map +1 -0
  37. package/dist/src/api/command/GlobalModifierCommand.d.ts +12 -0
  38. package/dist/src/api/command/GlobalModifierCommand.d.ts.map +1 -0
  39. package/dist/src/api/command/GroupCommand.d.ts +19 -0
  40. package/dist/src/api/command/GroupCommand.d.ts.map +1 -0
  41. package/dist/src/api/command/SubCommand.d.ts +37 -0
  42. package/dist/src/api/command/SubCommand.d.ts.map +1 -0
  43. package/dist/src/api/command/UsageExample.d.ts +20 -0
  44. package/dist/src/api/command/UsageExample.d.ts.map +1 -0
  45. package/dist/src/api/plugin/CommandFactory.d.ts +23 -0
  46. package/dist/src/api/plugin/CommandFactory.d.ts.map +1 -0
  47. package/dist/src/api/plugin/ServiceProviderFactory.d.ts +25 -0
  48. package/dist/src/api/plugin/ServiceProviderFactory.d.ts.map +1 -0
  49. package/dist/src/api/service/ServiceProvider.d.ts +47 -0
  50. package/dist/src/api/service/ServiceProvider.d.ts.map +1 -0
  51. package/dist/src/api/service/core/ArgumentPrompterService.d.ts +6 -0
  52. package/dist/src/api/service/core/ArgumentPrompterService.d.ts.map +1 -0
  53. package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts +59 -0
  54. package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts.map +1 -0
  55. package/dist/src/api/service/core/CompletionService.d.ts +22 -0
  56. package/dist/src/api/service/core/CompletionService.d.ts.map +1 -0
  57. package/dist/src/api/service/core/DataDumpGeneratorService.d.ts +22 -0
  58. package/dist/src/api/service/core/DataDumpGeneratorService.d.ts.map +1 -0
  59. package/dist/src/api/service/core/ImagePrinterService.d.ts +21 -0
  60. package/dist/src/api/service/core/ImagePrinterService.d.ts.map +1 -0
  61. package/dist/src/api/service/core/KeyValueService.d.ts +40 -0
  62. package/dist/src/api/service/core/KeyValueService.d.ts.map +1 -0
  63. package/dist/src/api/service/core/PluginService.d.ts +55 -0
  64. package/dist/src/api/service/core/PluginService.d.ts.map +1 -0
  65. package/dist/src/api/service/core/PrettyPrinterService.d.ts +35 -0
  66. package/dist/src/api/service/core/PrettyPrinterService.d.ts.map +1 -0
  67. package/dist/src/api/service/core/PrinterService.d.ts +339 -0
  68. package/dist/src/api/service/core/PrinterService.d.ts.map +1 -0
  69. package/dist/src/api/service/core/PrompterService.d.ts +35 -0
  70. package/dist/src/api/service/core/PrompterService.d.ts.map +1 -0
  71. package/dist/src/api/service/core/SecretService.d.ts +25 -0
  72. package/dist/src/api/service/core/SecretService.d.ts.map +1 -0
  73. package/dist/src/api/service/core/ShutdownService.d.ts +24 -0
  74. package/dist/src/api/service/core/ShutdownService.d.ts.map +1 -0
  75. package/dist/src/api/service/core/SyntaxHighlighterService.d.ts +49 -0
  76. package/dist/src/api/service/core/SyntaxHighlighterService.d.ts.map +1 -0
  77. package/dist/src/api/service/core/Table.d.ts +18 -0
  78. package/dist/src/api/service/core/Table.d.ts.map +1 -0
  79. package/dist/src/api/service/core/TableGeneratorService.d.ts +31 -0
  80. package/dist/src/api/service/core/TableGeneratorService.d.ts.map +1 -0
  81. package/dist/src/api/service/core/TreePrinterService.d.ts +9 -0
  82. package/dist/src/api/service/core/TreePrinterService.d.ts.map +1 -0
  83. package/dist/src/cli/BaseCLI.d.ts +59 -0
  84. package/dist/src/cli/BaseCLI.d.ts.map +1 -0
  85. package/dist/src/cli/DefaultRuntimeCLI.d.ts +12 -0
  86. package/dist/src/cli/DefaultRuntimeCLI.d.ts.map +1 -0
  87. package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts +20 -0
  88. package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts.map +1 -0
  89. package/dist/src/command/CompletionCommand.d.ts +31 -0
  90. package/dist/src/command/CompletionCommand.d.ts.map +1 -0
  91. package/dist/src/command/MultiCommandCliHelpCommand.d.ts +40 -0
  92. package/dist/src/command/MultiCommandCliHelpCommand.d.ts.map +1 -0
  93. package/dist/src/command/PluginCommand.d.ts +67 -0
  94. package/dist/src/command/PluginCommand.d.ts.map +1 -0
  95. package/dist/src/command/SingleCommandCliHelpCommand.d.ts +31 -0
  96. package/dist/src/command/SingleCommandCliHelpCommand.d.ts.map +1 -0
  97. package/dist/src/command/UsageCommand.d.ts +14 -0
  98. package/dist/src/command/UsageCommand.d.ts.map +1 -0
  99. package/dist/src/command/VersionCommand.d.ts +12 -0
  100. package/dist/src/command/VersionCommand.d.ts.map +1 -0
  101. package/dist/src/launcher.d.ts +10 -0
  102. package/dist/src/launcher.d.ts.map +1 -0
  103. package/dist/src/runtime/DefaultContext.d.ts +14 -0
  104. package/dist/src/runtime/DefaultContext.d.ts.map +1 -0
  105. package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts +4 -0
  106. package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts.map +1 -0
  107. package/dist/src/runtime/command/CommandTypeGuards.d.ts +10 -0
  108. package/dist/src/runtime/command/CommandTypeGuards.d.ts.map +1 -0
  109. package/dist/src/runtime/command/CommandValidator.d.ts +15 -0
  110. package/dist/src/runtime/command/CommandValidator.d.ts.map +1 -0
  111. package/dist/src/runtime/parser.d.ts +48 -0
  112. package/dist/src/runtime/parser.d.ts.map +1 -0
  113. package/dist/src/runtime/registry/CommandRegistry.d.ts +89 -0
  114. package/dist/src/runtime/registry/CommandRegistry.d.ts.map +1 -0
  115. package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts +51 -0
  116. package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts.map +1 -0
  117. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts +12 -0
  118. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts.map +1 -0
  119. package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts +11 -0
  120. package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts.map +1 -0
  121. package/dist/src/runtime/runner.d.ts +76 -0
  122. package/dist/src/runtime/runner.d.ts.map +1 -0
  123. package/dist/src/runtime/scanner.d.ts +69 -0
  124. package/dist/src/runtime/scanner.d.ts.map +1 -0
  125. package/dist/src/runtime/values/ValuePopulationResult.d.ts +34 -0
  126. package/dist/src/runtime/values/ValuePopulationResult.d.ts.map +1 -0
  127. package/dist/src/runtime/values/argumentValueMerge.d.ts +13 -0
  128. package/dist/src/runtime/values/argumentValueMerge.d.ts.map +1 -0
  129. package/dist/src/runtime/values/argumentValueValidation.d.ts +33 -0
  130. package/dist/src/runtime/values/argumentValueValidation.d.ts.map +1 -0
  131. package/dist/src/runtime/values/globalCommandValuePopulation.d.ts +12 -0
  132. package/dist/src/runtime/values/globalCommandValuePopulation.d.ts.map +1 -0
  133. package/dist/src/runtime/values/subCommandValuePopulation.d.ts +12 -0
  134. package/dist/src/runtime/values/subCommandValuePopulation.d.ts.map +1 -0
  135. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts +13 -0
  136. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts.map +1 -0
  137. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts +9 -0
  138. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts.map +1 -0
  139. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts +20 -0
  140. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts.map +1 -0
  141. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts +12 -0
  142. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts.map +1 -0
  143. package/dist/src/service/banner/BannerServiceProvider.d.ts +29 -0
  144. package/dist/src/service/banner/BannerServiceProvider.d.ts.map +1 -0
  145. package/dist/src/service/banner/command/NoBannerCommand.d.ts +19 -0
  146. package/dist/src/service/banner/command/NoBannerCommand.d.ts.map +1 -0
  147. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts +22 -0
  148. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts.map +1 -0
  149. package/dist/src/service/completion/CompletionServiceProvider.d.ts +14 -0
  150. package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -0
  151. package/dist/src/service/completion/DefaultCompletionService.d.ts +17 -0
  152. package/dist/src/service/completion/DefaultCompletionService.d.ts.map +1 -0
  153. package/dist/src/service/completion/shell/ShellHandler.d.ts +13 -0
  154. package/dist/src/service/completion/shell/ShellHandler.d.ts.map +1 -0
  155. package/dist/src/service/completion/shell/bash.d.ts +11 -0
  156. package/dist/src/service/completion/shell/bash.d.ts.map +1 -0
  157. package/dist/src/service/completion/shell/fish.d.ts +11 -0
  158. package/dist/src/service/completion/shell/fish.d.ts.map +1 -0
  159. package/dist/src/service/completion/shell/powershell.d.ts +11 -0
  160. package/dist/src/service/completion/shell/powershell.d.ts.map +1 -0
  161. package/dist/src/service/completion/shell/zsh.d.ts +11 -0
  162. package/dist/src/service/completion/shell/zsh.d.ts.map +1 -0
  163. package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts +196 -0
  164. package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts.map +1 -0
  165. package/dist/src/service/configuration/DefaultKeyValueService.d.ts +14 -0
  166. package/dist/src/service/configuration/DefaultKeyValueService.d.ts.map +1 -0
  167. package/dist/src/service/configuration/DefaultSecretService.d.ts +27 -0
  168. package/dist/src/service/configuration/DefaultSecretService.d.ts.map +1 -0
  169. package/dist/src/service/configuration/command/ConfigCommand.d.ts +19 -0
  170. package/dist/src/service/configuration/command/ConfigCommand.d.ts.map +1 -0
  171. package/dist/src/service/configuration/command/DumpConfigCommand.d.ts +14 -0
  172. package/dist/src/service/configuration/command/DumpConfigCommand.d.ts.map +1 -0
  173. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts +12 -0
  174. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts.map +1 -0
  175. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts +10 -0
  176. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts.map +1 -0
  177. package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts +8 -0
  178. package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts.map +1 -0
  179. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts +13 -0
  180. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts.map +1 -0
  181. package/dist/src/service/plugin/DefaultPluginService.d.ts +15 -0
  182. package/dist/src/service/plugin/DefaultPluginService.d.ts.map +1 -0
  183. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +13 -0
  184. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -0
  185. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts +13 -0
  186. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts.map +1 -0
  187. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts +20 -0
  188. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts.map +1 -0
  189. package/dist/src/service/printer/DefaultPrinterService.d.ts +61 -0
  190. package/dist/src/service/printer/DefaultPrinterService.d.ts.map +1 -0
  191. package/dist/src/service/printer/PrinterServiceProvider.d.ts +22 -0
  192. package/dist/src/service/printer/PrinterServiceProvider.d.ts.map +1 -0
  193. package/dist/src/service/printer/command/DarkModeCommand.d.ts +19 -0
  194. package/dist/src/service/printer/command/DarkModeCommand.d.ts.map +1 -0
  195. package/dist/src/service/printer/command/LogLevelCommand.d.ts +19 -0
  196. package/dist/src/service/printer/command/LogLevelCommand.d.ts.map +1 -0
  197. package/dist/src/service/printer/command/NoColorCommand.d.ts +19 -0
  198. package/dist/src/service/printer/command/NoColorCommand.d.ts.map +1 -0
  199. package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts +16 -0
  200. package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts.map +1 -0
  201. package/dist/src/service/printer/terminal/Color.d.ts +15 -0
  202. package/dist/src/service/printer/terminal/Color.d.ts.map +1 -0
  203. package/dist/src/service/printer/terminal/Progress.d.ts +20 -0
  204. package/dist/src/service/printer/terminal/Progress.d.ts.map +1 -0
  205. package/dist/src/service/printer/terminal/Spinner.d.ts +16 -0
  206. package/dist/src/service/printer/terminal/Spinner.d.ts.map +1 -0
  207. package/dist/src/service/printer/terminal/Theme.d.ts +3 -0
  208. package/dist/src/service/printer/terminal/Theme.d.ts.map +1 -0
  209. package/dist/src/service/prompter/DefaultPrompterService.d.ts +21 -0
  210. package/dist/src/service/prompter/DefaultPrompterService.d.ts.map +1 -0
  211. package/dist/src/service/prompter/PrompterServiceProvider.d.ts +13 -0
  212. package/dist/src/service/prompter/PrompterServiceProvider.d.ts.map +1 -0
  213. package/dist/src/service/prompter/command/NoPromptCommand.d.ts +16 -0
  214. package/dist/src/service/prompter/command/NoPromptCommand.d.ts.map +1 -0
  215. package/dist/src/service/prompter/prompt/PromptContext.d.ts +15 -0
  216. package/dist/src/service/prompter/prompt/PromptContext.d.ts.map +1 -0
  217. package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts +4 -0
  218. package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts.map +1 -0
  219. package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts +4 -0
  220. package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts.map +1 -0
  221. package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts +4 -0
  222. package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts.map +1 -0
  223. package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts +4 -0
  224. package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts.map +1 -0
  225. package/dist/src/service/prompter/prompt/promptText.d.ts +4 -0
  226. package/dist/src/service/prompter/prompt/promptText.d.ts.map +1 -0
  227. package/dist/src/service/prompter/prompt/promptToggle.d.ts +4 -0
  228. package/dist/src/service/prompter/prompt/promptToggle.d.ts.map +1 -0
  229. package/dist/src/service/shutdown/DefaultShutdownService.d.ts +9 -0
  230. package/dist/src/service/shutdown/DefaultShutdownService.d.ts.map +1 -0
  231. package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts +15 -0
  232. package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts.map +1 -0
  233. package/dist/src/service/shutdown/ShutdownState.d.ts +6 -0
  234. package/dist/src/service/shutdown/ShutdownState.d.ts.map +1 -0
  235. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts +17 -0
  236. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts.map +1 -0
  237. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts +20 -0
  238. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts.map +1 -0
  239. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +10 -0
  240. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -0
  241. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts +12 -0
  242. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts.map +1 -0
  243. package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts +10 -0
  244. package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts.map +1 -0
  245. package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts +12 -0
  246. package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts.map +1 -0
  247. package/dist/src/terminal/Ansi.d.ts +14 -0
  248. package/dist/src/terminal/Ansi.d.ts.map +1 -0
  249. package/dist/src/terminal/ImageRenderer.d.ts +7 -0
  250. package/dist/src/terminal/ImageRenderer.d.ts.map +1 -0
  251. package/dist/src/terminal/KeyReader.d.ts +22 -0
  252. package/dist/src/terminal/KeyReader.d.ts.map +1 -0
  253. package/dist/src/terminal/PngDecoder.d.ts +6 -0
  254. package/dist/src/terminal/PngDecoder.d.ts.map +1 -0
  255. package/dist/src/terminal/Styler.d.ts +9 -0
  256. package/dist/src/terminal/Styler.d.ts.map +1 -0
  257. package/dist/src/terminal/Terminal.d.ts +10 -0
  258. package/dist/src/terminal/Terminal.d.ts.map +1 -0
  259. package/dist/src/terminal/TtyKeyReader.d.ts +11 -0
  260. package/dist/src/terminal/TtyKeyReader.d.ts.map +1 -0
  261. package/dist/src/terminal/TtyStyler.d.ts +19 -0
  262. package/dist/src/terminal/TtyStyler.d.ts.map +1 -0
  263. package/dist/src/terminal/TtyTerminal.d.ts +14 -0
  264. package/dist/src/terminal/TtyTerminal.d.ts.map +1 -0
  265. package/dist/src/terminal/supportsHyperlinks.d.ts +3 -0
  266. package/dist/src/terminal/supportsHyperlinks.d.ts.map +1 -0
  267. package/dist/src/util/configHelper.d.ts +22 -0
  268. package/dist/src/util/configHelper.d.ts.map +1 -0
  269. package/dist/src/util/envVarHelper.d.ts +21 -0
  270. package/dist/src/util/envVarHelper.d.ts.map +1 -0
  271. package/dist/src/util/helpHelper.d.ts +26 -0
  272. package/dist/src/util/helpHelper.d.ts.map +1 -0
  273. package/dist/src/util/logger.d.ts +18 -0
  274. package/dist/src/util/logger.d.ts.map +1 -0
  275. package/dist/src/util/runnerHelper.d.ts +9 -0
  276. package/dist/src/util/runnerHelper.d.ts.map +1 -0
  277. package/dist/tests/cli/BaseCLI.test.d.ts +2 -0
  278. package/dist/tests/cli/BaseCLI.test.d.ts.map +1 -0
  279. package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts +2 -0
  280. package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts.map +1 -0
  281. package/dist/tests/command/CompletionCommand.test.d.ts +2 -0
  282. package/dist/tests/command/CompletionCommand.test.d.ts.map +1 -0
  283. package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts +2 -0
  284. package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts.map +1 -0
  285. package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts +2 -0
  286. package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts.map +1 -0
  287. package/dist/tests/command/UsageCommand.test.d.ts +2 -0
  288. package/dist/tests/command/UsageCommand.test.d.ts.map +1 -0
  289. package/dist/tests/command/VersionCommand.test.d.ts +2 -0
  290. package/dist/tests/command/VersionCommand.test.d.ts.map +1 -0
  291. package/dist/tests/fixtures/CLIConfig.d.ts +3 -0
  292. package/dist/tests/fixtures/CLIConfig.d.ts.map +1 -0
  293. package/dist/tests/fixtures/Command.d.ts +20 -0
  294. package/dist/tests/fixtures/Command.d.ts.map +1 -0
  295. package/{tests/fixtures/CommandRegistry.ts → dist/tests/fixtures/CommandRegistry.d.ts} +2 -4
  296. package/dist/tests/fixtures/CommandRegistry.d.ts.map +1 -0
  297. package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts +10 -0
  298. package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts.map +1 -0
  299. package/dist/tests/fixtures/Context.d.ts +4 -0
  300. package/dist/tests/fixtures/Context.d.ts.map +1 -0
  301. package/dist/tests/fixtures/ServiceProviderRegistry.d.ts +4 -0
  302. package/dist/tests/fixtures/ServiceProviderRegistry.d.ts.map +1 -0
  303. package/dist/tests/fixtures/StreamString.d.ts +10 -0
  304. package/dist/tests/fixtures/StreamString.d.ts.map +1 -0
  305. package/dist/tests/fixtures/prettierPluginFoo.d.ts +4 -0
  306. package/dist/tests/fixtures/prettierPluginFoo.d.ts.map +1 -0
  307. package/dist/tests/fixtures/util.d.ts +8 -0
  308. package/dist/tests/fixtures/util.d.ts.map +1 -0
  309. package/dist/tests/runtime/DefaultContext.test.d.ts +2 -0
  310. package/dist/tests/runtime/DefaultContext.test.d.ts.map +1 -0
  311. package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts +2 -0
  312. package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts.map +1 -0
  313. package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts +2 -0
  314. package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts.map +1 -0
  315. package/dist/tests/runtime/command/CommandValidator.test.d.ts +2 -0
  316. package/dist/tests/runtime/command/CommandValidator.test.d.ts.map +1 -0
  317. package/dist/tests/runtime/parser.test.d.ts +2 -0
  318. package/dist/tests/runtime/parser.test.d.ts.map +1 -0
  319. package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts +2 -0
  320. package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts.map +1 -0
  321. package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts +2 -0
  322. package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts.map +1 -0
  323. package/dist/tests/runtime/runner.test.d.ts +2 -0
  324. package/dist/tests/runtime/runner.test.d.ts.map +1 -0
  325. package/dist/tests/runtime/scanner.test.d.ts +2 -0
  326. package/dist/tests/runtime/scanner.test.d.ts.map +1 -0
  327. package/dist/tests/runtime/values/argumentValueMerge.test.d.ts +2 -0
  328. package/dist/tests/runtime/values/argumentValueMerge.test.d.ts.map +1 -0
  329. package/dist/tests/runtime/values/argumentValueValidation.test.d.ts +2 -0
  330. package/dist/tests/runtime/values/argumentValueValidation.test.d.ts.map +1 -0
  331. package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts +2 -0
  332. package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts.map +1 -0
  333. package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts +2 -0
  334. package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts.map +1 -0
  335. package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts +2 -0
  336. package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts.map +1 -0
  337. package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts +2 -0
  338. package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts.map +1 -0
  339. package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts +2 -0
  340. package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts.map +1 -0
  341. package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts +2 -0
  342. package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts.map +1 -0
  343. package/dist/tests/service/banner/BannerServiceProvider.test.d.ts +2 -0
  344. package/dist/tests/service/banner/BannerServiceProvider.test.d.ts.map +1 -0
  345. package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts +2 -0
  346. package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts.map +1 -0
  347. package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts +2 -0
  348. package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts.map +1 -0
  349. package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts +2 -0
  350. package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts.map +1 -0
  351. package/dist/tests/service/completion/DefaultCompletionService.test.d.ts +2 -0
  352. package/dist/tests/service/completion/DefaultCompletionService.test.d.ts.map +1 -0
  353. package/dist/tests/service/completion/shell/bash.test.d.ts +2 -0
  354. package/dist/tests/service/completion/shell/bash.test.d.ts.map +1 -0
  355. package/dist/tests/service/completion/shell/fish.test.d.ts +2 -0
  356. package/dist/tests/service/completion/shell/fish.test.d.ts.map +1 -0
  357. package/dist/tests/service/completion/shell/powershell.test.d.ts +2 -0
  358. package/dist/tests/service/completion/shell/powershell.test.d.ts.map +1 -0
  359. package/dist/tests/service/completion/shell/zsh.test.d.ts +2 -0
  360. package/dist/tests/service/completion/shell/zsh.test.d.ts.map +1 -0
  361. package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts +2 -0
  362. package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts.map +1 -0
  363. package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts +2 -0
  364. package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts.map +1 -0
  365. package/dist/tests/service/configuration/DefaultSecretService.test.d.ts +2 -0
  366. package/dist/tests/service/configuration/DefaultSecretService.test.d.ts.map +1 -0
  367. package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts +2 -0
  368. package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts.map +1 -0
  369. package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts +2 -0
  370. package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts.map +1 -0
  371. package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts +2 -0
  372. package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts.map +1 -0
  373. package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts +2 -0
  374. package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts.map +1 -0
  375. package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts +2 -0
  376. package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts.map +1 -0
  377. package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts +2 -0
  378. package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts.map +1 -0
  379. package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts +2 -0
  380. package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts.map +1 -0
  381. package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts +2 -0
  382. package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts.map +1 -0
  383. package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts +2 -0
  384. package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts.map +1 -0
  385. package/dist/tests/service/printer/DefaultPrinterService.test.d.ts +2 -0
  386. package/dist/tests/service/printer/DefaultPrinterService.test.d.ts.map +1 -0
  387. package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts +2 -0
  388. package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts.map +1 -0
  389. package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts +2 -0
  390. package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts.map +1 -0
  391. package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts +2 -0
  392. package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts.map +1 -0
  393. package/dist/tests/service/printer/command/NoColorCommand.test.d.ts +2 -0
  394. package/dist/tests/service/printer/command/NoColorCommand.test.d.ts.map +1 -0
  395. package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts +2 -0
  396. package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts.map +1 -0
  397. package/dist/tests/service/printer/terminal/Progress.test.d.ts +2 -0
  398. package/dist/tests/service/printer/terminal/Progress.test.d.ts.map +1 -0
  399. package/dist/tests/service/printer/terminal/Spinner.test.d.ts +2 -0
  400. package/dist/tests/service/printer/terminal/Spinner.test.d.ts.map +1 -0
  401. package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts +2 -0
  402. package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts.map +1 -0
  403. package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts +2 -0
  404. package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts.map +1 -0
  405. package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts +2 -0
  406. package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts.map +1 -0
  407. package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts +2 -0
  408. package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts.map +1 -0
  409. package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts +2 -0
  410. package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts.map +1 -0
  411. package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts +2 -0
  412. package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts.map +1 -0
  413. package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts +2 -0
  414. package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts.map +1 -0
  415. package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts +2 -0
  416. package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts.map +1 -0
  417. package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts +2 -0
  418. package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts.map +1 -0
  419. package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts +2 -0
  420. package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts.map +1 -0
  421. package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts +2 -0
  422. package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts.map +1 -0
  423. package/dist/tests/terminal/ImageRenderer.test.d.ts +2 -0
  424. package/dist/tests/terminal/ImageRenderer.test.d.ts.map +1 -0
  425. package/dist/tests/terminal/PngDecoder.test.d.ts +2 -0
  426. package/dist/tests/terminal/PngDecoder.test.d.ts.map +1 -0
  427. package/dist/tests/terminal/supportsHyperlinks.test.d.ts +2 -0
  428. package/dist/tests/terminal/supportsHyperlinks.test.d.ts.map +1 -0
  429. package/dist/tests/util/configHelper.test.d.ts +2 -0
  430. package/dist/tests/util/configHelper.test.d.ts.map +1 -0
  431. package/dist/tests/util/envVarHelper.test.d.ts +2 -0
  432. package/dist/tests/util/envVarHelper.test.d.ts.map +1 -0
  433. package/dist/tests/util/logger.test.d.ts +2 -0
  434. package/dist/tests/util/logger.test.d.ts.map +1 -0
  435. package/index.ts +15 -1
  436. package/package.json +28 -2
  437. package/src/api/plugin/CommandFactory.ts +25 -0
  438. package/src/api/plugin/ServiceProviderFactory.ts +27 -0
  439. package/src/api/service/core/PluginService.ts +63 -0
  440. package/src/cli/DynamicPluginRuntimeCLI.ts +77 -0
  441. package/src/command/PluginCommand.ts +184 -0
  442. package/src/launcher.ts +35 -0
  443. package/src/service/plugin/DefaultPluginService.ts +37 -0
  444. package/src/service/plugin/DefaultPluginServiceProvider.ts +29 -0
  445. package/.github/workflows/check-bun-dependencies.yml +0 -12
  446. package/.github/workflows/lint-pr-message.yml +0 -13
  447. package/.github/workflows/release-bun-library.yml +0 -15
  448. package/.github/workflows/validate-bun-library-pr.yml +0 -10
  449. package/README/core-commands.md +0 -40
  450. package/README/core-service-providers.md +0 -198
  451. package/README/development.md +0 -57
  452. package/README/implementation-details.md +0 -474
  453. package/README/key-concepts.md +0 -751
  454. package/bun.lock +0 -156
  455. package/tests/cli/BaseCLI.test.ts +0 -283
  456. package/tests/command/CompletionCommand.test.ts +0 -63
  457. package/tests/command/MultiCommandCliHelpCommand.test.ts +0 -496
  458. package/tests/command/SingleCommandCliHelpCommand.test.ts +0 -302
  459. package/tests/command/UsageCommand.test.ts +0 -48
  460. package/tests/command/VersionCommand.test.ts +0 -37
  461. package/tests/fixtures/CLIConfig.ts +0 -9
  462. package/tests/fixtures/Command.ts +0 -248
  463. package/tests/fixtures/ConfigurationServiceProvider.ts +0 -28
  464. package/tests/fixtures/Context.ts +0 -32
  465. package/tests/fixtures/ServiceProviderRegistry.ts +0 -16
  466. package/tests/fixtures/StreamString.ts +0 -37
  467. package/tests/fixtures/prettierPluginFoo.ts +0 -31
  468. package/tests/fixtures/util.ts +0 -35
  469. package/tests/runtime/DefaultContext.test.ts +0 -20
  470. package/tests/runtime/argument/ArgumentTypeGuards.test.ts +0 -47
  471. package/tests/runtime/command/CommandTypeGuards.test.ts +0 -43
  472. package/tests/runtime/command/CommandValidator.test.ts +0 -1196
  473. package/tests/runtime/parser.test.ts +0 -744
  474. package/tests/runtime/registry/DefaultCommandRegistry.test.ts +0 -144
  475. package/tests/runtime/registry/DefaultServiceProviderRegistry.test.ts +0 -36
  476. package/tests/runtime/runner.test.ts +0 -1284
  477. package/tests/runtime/scanner.test.ts +0 -915
  478. package/tests/runtime/values/argumentValueMerge.test.ts +0 -366
  479. package/tests/runtime/values/argumentValueValidation.test.ts +0 -1090
  480. package/tests/runtime/values/globalCommandValuePopulation.test.ts +0 -480
  481. package/tests/runtime/values/subCommandValuePopulation.test.ts +0 -2430
  482. package/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.ts +0 -38
  483. package/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.ts +0 -745
  484. package/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.ts +0 -17
  485. package/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.ts +0 -208
  486. package/tests/service/asciiBannerGenerator/__snapshots__/DefaultAsciiBannerGeneratorService.test.ts.snap +0 -20
  487. package/tests/service/asciiBannerGenerator/small.flf.json +0 -3
  488. package/tests/service/banner/BannerServiceProvider.test.ts +0 -87
  489. package/tests/service/banner/__snapshots__/BannerServiceProvider.test.ts.snap +0 -16
  490. package/tests/service/banner/command/NoBannerCommand.test.ts +0 -18
  491. package/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.ts +0 -52
  492. package/tests/service/completion/CompletionServiceProvider.test.ts +0 -335
  493. package/tests/service/completion/DefaultCompletionService.test.ts +0 -216
  494. package/tests/service/completion/shell/bash.test.ts +0 -73
  495. package/tests/service/completion/shell/fish.test.ts +0 -60
  496. package/tests/service/completion/shell/powershell.test.ts +0 -59
  497. package/tests/service/completion/shell/zsh.test.ts +0 -60
  498. package/tests/service/configuration/ConfigurationServiceProvider.test.ts +0 -212
  499. package/tests/service/configuration/DefaultKeyValueService.test.ts +0 -155
  500. package/tests/service/configuration/DefaultSecretService.test.ts +0 -140
  501. package/tests/service/configuration/command/ConfigCommand.test.ts +0 -29
  502. package/tests/service/configuration/command/DumpConfigCommand.test.ts +0 -51
  503. package/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.ts +0 -51
  504. package/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts +0 -208
  505. package/tests/service/imagePrinter/DefaultImagePrinterService.test.ts +0 -31
  506. package/tests/service/imagePrinter/ImagePrinterServiceProvider.test.ts +0 -17
  507. package/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts +0 -46
  508. package/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts +0 -37
  509. package/tests/service/printer/DefaultPrinterService.test.ts +0 -530
  510. package/tests/service/printer/PrinterServiceProvider.test.ts +0 -34
  511. package/tests/service/printer/command/DarkModeCommand.test.ts +0 -75
  512. package/tests/service/printer/command/LogLevelCommand.test.ts +0 -47
  513. package/tests/service/printer/command/NoColorCommand.test.ts +0 -75
  514. package/tests/service/printer/command/NoHyperlinksCommand.test.ts +0 -75
  515. package/tests/service/printer/terminal/Progress.test.ts +0 -98
  516. package/tests/service/printer/terminal/Spinner.test.ts +0 -92
  517. package/tests/service/prompter/DefaultPrompterService.test.ts +0 -598
  518. package/tests/service/prompter/PrompterServiceProvider.test.ts +0 -41
  519. package/tests/service/prompter/command/NoPromptCommand.test.ts +0 -58
  520. package/tests/service/prompter/prompt/PromptContext.test.ts +0 -61
  521. package/tests/service/shutdown/ShutdownServiceProvider.test.ts +0 -13
  522. package/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts +0 -101
  523. package/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts +0 -37
  524. package/tests/service/tableGenerator/DefaultTableGeneratorService.test.ts +0 -342
  525. package/tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts +0 -47
  526. package/tests/service/treePrinter/DefaultTreePrinterService.test.ts +0 -142
  527. package/tests/service/treePrinter/TreePrinterServiceProvider.test.ts +0 -51
  528. package/tests/terminal/ImageRenderer.test.ts +0 -152
  529. package/tests/terminal/PngDecoder.test.ts +0 -219
  530. package/tests/terminal/supportsHyperlinks.test.ts +0 -149
  531. package/tests/util/configHelper.test.ts +0 -193
  532. package/tests/util/envVarHelper.test.ts +0 -254
  533. package/tests/util/logger.test.ts +0 -56
  534. package/tsconfig.json +0 -32
@@ -1,480 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import type { GlobalCommandValuePopulationResult } from "../../../src/runtime/values/ValuePopulationResult.ts";
3
- import populateGlobalCommandValue from "../../../src/runtime/values/globalCommandValuePopulation.ts";
4
- import { InvalidArgumentReason } from "../../../src/api/RunResult.ts";
5
- import type GlobalCommand from "../../../src/api/command/GlobalCommand.ts";
6
- import {
7
- type ArgumentSingleValueType,
8
- ArgumentValueTypeName,
9
- } from "../../../src/api/argument/ArgumentValueTypes.ts";
10
-
11
- function expectExtractResult(
12
- result: GlobalCommandValuePopulationResult,
13
- value: ArgumentSingleValueType | undefined,
14
- unusedArgs: ReadonlyArray<string>,
15
- ) {
16
- expect(result.populatedArgumentValue).toEqual(value!);
17
- expect(result.unusedArgs).toEqual(unusedArgs);
18
- }
19
-
20
- describe("globalCommandValuePopulation tests", () => {
21
- test("Global command argument", () => {
22
- const command: GlobalCommand = {
23
- name: "foo",
24
- argument: {
25
- type: ArgumentValueTypeName.STRING,
26
- },
27
- execute: async (): Promise<void> => {},
28
- };
29
-
30
- const result = populateGlobalCommandValue(command, ["bar"], undefined);
31
- expectExtractResult(result, "bar", []);
32
- expect(result.invalidArgument).toBeUndefined();
33
- });
34
-
35
- test("Global command argument types", () => {
36
- let command: GlobalCommand = {
37
- name: "foo",
38
- argument: {
39
- type: ArgumentValueTypeName.NUMBER,
40
- },
41
- execute: async (): Promise<void> => {},
42
- };
43
-
44
- let result = populateGlobalCommandValue(command, ["1.1"], undefined);
45
- expectExtractResult(result, "1.1", []);
46
- expect(result.invalidArgument).toBeUndefined();
47
-
48
- command = {
49
- name: "foo",
50
- argument: {
51
- type: ArgumentValueTypeName.INTEGER,
52
- },
53
- execute: async (): Promise<void> => {},
54
- };
55
-
56
- result = populateGlobalCommandValue(command, ["1"], undefined);
57
- expectExtractResult(result, "1", []);
58
- expect(result.invalidArgument).toBeUndefined();
59
-
60
- command = {
61
- name: "foo",
62
- argument: {
63
- type: ArgumentValueTypeName.SECRET,
64
- },
65
- execute: async (): Promise<void> => {},
66
- };
67
-
68
- result = populateGlobalCommandValue(command, ["xxx"], undefined);
69
- expectExtractResult(result, "xxx", []);
70
- expect(result.invalidArgument).toBeUndefined();
71
-
72
- command = {
73
- name: "foo",
74
- argument: {
75
- type: ArgumentValueTypeName.STRING,
76
- },
77
- execute: async (): Promise<void> => {},
78
- };
79
-
80
- result = populateGlobalCommandValue(command, ["bar"], undefined);
81
- expectExtractResult(result, "bar", []);
82
- expect(result.invalidArgument).toBeUndefined();
83
-
84
- command = {
85
- name: "foo",
86
- argument: {
87
- type: ArgumentValueTypeName.BOOLEAN,
88
- },
89
- execute: async (): Promise<void> => {},
90
- };
91
-
92
- result = populateGlobalCommandValue(command, [], undefined);
93
- expectExtractResult(result, "true", []);
94
- expect(result.invalidArgument).toBeUndefined();
95
-
96
- result = populateGlobalCommandValue(command, ["false"], undefined);
97
- expectExtractResult(result, "false", []);
98
- expect(result.invalidArgument).toBeUndefined();
99
- });
100
-
101
- test("Global command boolean argument with defaults", () => {
102
- let command: GlobalCommand = {
103
- name: "foo",
104
- argument: {
105
- type: ArgumentValueTypeName.BOOLEAN,
106
- },
107
- execute: async (): Promise<void> => {},
108
- };
109
-
110
- let result = populateGlobalCommandValue(command, [], undefined);
111
- expectExtractResult(result, "true", []);
112
- expect(result.invalidArgument).toBeUndefined();
113
-
114
- command = {
115
- name: "foo",
116
- argument: {
117
- type: ArgumentValueTypeName.BOOLEAN,
118
- },
119
- execute: async (): Promise<void> => {},
120
- };
121
-
122
- result = populateGlobalCommandValue(command, ["true"], undefined);
123
- expectExtractResult(result, "true", []);
124
- expect(result.invalidArgument).toBeUndefined();
125
-
126
- command = {
127
- name: "foo",
128
- argument: {
129
- type: ArgumentValueTypeName.BOOLEAN,
130
- },
131
- execute: async (): Promise<void> => {},
132
- };
133
-
134
- result = populateGlobalCommandValue(command, ["false"], undefined);
135
- expectExtractResult(result, "false", []);
136
- expect(result.invalidArgument).toBeUndefined();
137
-
138
- command = {
139
- name: "foo",
140
- argument: {
141
- type: ArgumentValueTypeName.BOOLEAN,
142
- defaultValue: true,
143
- },
144
- execute: async (): Promise<void> => {},
145
- };
146
-
147
- result = populateGlobalCommandValue(command, [], undefined);
148
- expectExtractResult(result, true, []);
149
- expect(result.invalidArgument).toBeUndefined();
150
-
151
- command = {
152
- name: "foo",
153
- argument: {
154
- type: ArgumentValueTypeName.BOOLEAN,
155
- defaultValue: true,
156
- },
157
- execute: async (): Promise<void> => {},
158
- };
159
-
160
- result = populateGlobalCommandValue(command, ["false"], undefined);
161
- expectExtractResult(result, "false", []);
162
- expect(result.invalidArgument).toBeUndefined();
163
-
164
- command = {
165
- name: "foo",
166
- argument: {
167
- type: ArgumentValueTypeName.BOOLEAN,
168
- defaultValue: false,
169
- },
170
- execute: async (): Promise<void> => {},
171
- };
172
-
173
- result = populateGlobalCommandValue(command, [], undefined);
174
- expectExtractResult(result, "true", []);
175
- expect(result.invalidArgument).toBeUndefined();
176
-
177
- command = {
178
- name: "foo",
179
- argument: {
180
- type: ArgumentValueTypeName.BOOLEAN,
181
- defaultValue: false,
182
- },
183
- execute: async (): Promise<void> => {},
184
- };
185
-
186
- result = populateGlobalCommandValue(command, ["false"], undefined);
187
- expectExtractResult(result, "false", []);
188
- expect(result.invalidArgument).toBeUndefined();
189
-
190
- command = {
191
- name: "foo",
192
- argument: {
193
- type: ArgumentValueTypeName.BOOLEAN,
194
- defaultValue: false,
195
- },
196
- execute: async (): Promise<void> => {},
197
- };
198
-
199
- result = populateGlobalCommandValue(command, ["true"], undefined);
200
- expectExtractResult(result, "true", []);
201
- expect(result.invalidArgument).toBeUndefined();
202
- });
203
-
204
- test("Argument following is not used if not applicable to a boolean", () => {
205
- const command: GlobalCommand = {
206
- name: "foo",
207
- argument: {
208
- type: ArgumentValueTypeName.BOOLEAN,
209
- },
210
- execute: async (): Promise<void> => {},
211
- };
212
-
213
- let result = populateGlobalCommandValue(command, ["--bar"], undefined);
214
- expectExtractResult(result, "true", ["--bar"]);
215
- expect(result.invalidArgument).toBeUndefined();
216
-
217
- result = populateGlobalCommandValue(command, ["True"], undefined);
218
- expectExtractResult(result, "True", []);
219
- expect(result.invalidArgument).toBeUndefined();
220
-
221
- result = populateGlobalCommandValue(command, ["FALSE"], undefined);
222
- expectExtractResult(result, "FALSE", []);
223
- expect(result.invalidArgument).toBeUndefined();
224
- });
225
-
226
- test("Missing argument", () => {
227
- let command: GlobalCommand = {
228
- name: "foo",
229
- argument: {
230
- type: ArgumentValueTypeName.STRING,
231
- },
232
- execute: async (): Promise<void> => {},
233
- };
234
-
235
- let result = populateGlobalCommandValue(command, [], undefined);
236
- expectExtractResult(result, undefined, []);
237
- expect(result.invalidArgument).toEqual({
238
- name: "foo",
239
- reason: InvalidArgumentReason.MISSING_VALUE,
240
- });
241
-
242
- command = {
243
- name: "foo",
244
- argument: {
245
- type: ArgumentValueTypeName.STRING,
246
- isOptional: true,
247
- },
248
- execute: async (): Promise<void> => {},
249
- };
250
-
251
- result = populateGlobalCommandValue(command, [], undefined);
252
- expectExtractResult(result, undefined, []);
253
- expect(result.invalidArgument).toBeUndefined();
254
-
255
- command = {
256
- name: "foo",
257
- argument: {
258
- type: ArgumentValueTypeName.STRING,
259
- defaultValue: "bar",
260
- },
261
- execute: async (): Promise<void> => {},
262
- };
263
-
264
- result = populateGlobalCommandValue(command, [], undefined);
265
- expectExtractResult(result, "bar", []);
266
- expect(result.invalidArgument).toBeUndefined();
267
- });
268
-
269
- test("Unused option after global command argument", () => {
270
- const command: GlobalCommand = {
271
- name: "foo",
272
- argument: {
273
- type: ArgumentValueTypeName.STRING,
274
- },
275
- execute: async (): Promise<void> => {},
276
- };
277
-
278
- const result = populateGlobalCommandValue(command, ["bar", "--goo", "gar"], undefined);
279
- expectExtractResult(result, "bar", ["--goo", "gar"]);
280
- expect(result.invalidArgument).toBeUndefined();
281
- });
282
-
283
- test("Unused positional after global command argument", () => {
284
- const command: GlobalCommand = {
285
- name: "foo",
286
- argument: {
287
- type: ArgumentValueTypeName.STRING,
288
- },
289
- execute: async (): Promise<void> => {},
290
- };
291
-
292
- const result = populateGlobalCommandValue(command, ["bar", "goo"], undefined);
293
- expectExtractResult(result, "bar", ["goo"]);
294
- expect(result.invalidArgument).toBeUndefined();
295
- });
296
-
297
- test("Global command default value is overridden by arg", () => {
298
- let command: GlobalCommand = {
299
- name: "foo",
300
- argument: {
301
- type: ArgumentValueTypeName.NUMBER,
302
- defaultValue: 0,
303
- },
304
- execute: async (): Promise<void> => {},
305
- };
306
- let result = populateGlobalCommandValue(command, ["1"], undefined);
307
- expectExtractResult(result, "1", []);
308
- expect(result.invalidArgument).toBeUndefined();
309
-
310
- command = {
311
- name: "foo",
312
- argument: {
313
- type: ArgumentValueTypeName.STRING,
314
- defaultValue: "foo",
315
- },
316
- execute: async (): Promise<void> => {},
317
- };
318
-
319
- result = populateGlobalCommandValue(command, ["bar"], undefined);
320
- expectExtractResult(result, "bar", []);
321
- expect(result.invalidArgument).toBeUndefined();
322
-
323
- command = {
324
- name: "foo",
325
- argument: {
326
- type: ArgumentValueTypeName.BOOLEAN,
327
- defaultValue: false,
328
- },
329
- execute: async (): Promise<void> => {},
330
- };
331
-
332
- result = populateGlobalCommandValue(command, ["false"], undefined);
333
- expectExtractResult(result, "false", []);
334
- expect(result.invalidArgument).toBeUndefined();
335
- });
336
-
337
- test("Global command configured value is overridden by arg", () => {
338
- let command: GlobalCommand = {
339
- name: "foo",
340
- argument: {
341
- type: ArgumentValueTypeName.NUMBER,
342
- },
343
- execute: async (): Promise<void> => {},
344
- };
345
-
346
- let result = populateGlobalCommandValue(command, ["1"], 0);
347
- expectExtractResult(result, "1", []);
348
- expect(result.invalidArgument).toBeUndefined();
349
-
350
- command = {
351
- name: "foo",
352
- argument: {
353
- type: ArgumentValueTypeName.STRING,
354
- },
355
- execute: async (): Promise<void> => {},
356
- };
357
-
358
- result = populateGlobalCommandValue(command, ["bar"], "foo");
359
- expectExtractResult(result, "bar", []);
360
- expect(result.invalidArgument).toBeUndefined();
361
-
362
- command = {
363
- name: "foo",
364
- argument: {
365
- type: ArgumentValueTypeName.BOOLEAN,
366
- },
367
- execute: async (): Promise<void> => {},
368
- };
369
-
370
- result = populateGlobalCommandValue(command, ["true"], "false");
371
- expectExtractResult(result, "true", []);
372
- expect(result.invalidArgument).toBeUndefined();
373
-
374
- command = {
375
- name: "foo",
376
- argument: {
377
- type: ArgumentValueTypeName.BOOLEAN,
378
- },
379
- execute: async (): Promise<void> => {},
380
- };
381
-
382
- result = populateGlobalCommandValue(command, ["false"], "true");
383
- expectExtractResult(result, "false", []);
384
- expect(result.invalidArgument).toBeUndefined();
385
- });
386
-
387
- test("Global command default value is overridden by configured value", () => {
388
- let command: GlobalCommand = {
389
- name: "foo",
390
- argument: {
391
- type: ArgumentValueTypeName.NUMBER,
392
- defaultValue: 0,
393
- },
394
- execute: async (): Promise<void> => {},
395
- };
396
-
397
- let result = populateGlobalCommandValue(command, [], 1);
398
- expectExtractResult(result, 1, []);
399
- expect(result.invalidArgument).toBeUndefined();
400
-
401
- command = {
402
- name: "foo",
403
- argument: {
404
- type: ArgumentValueTypeName.STRING,
405
- defaultValue: "foo",
406
- },
407
- execute: async (): Promise<void> => {},
408
- };
409
-
410
- result = populateGlobalCommandValue(command, [], "bar");
411
- expectExtractResult(result, "bar", []);
412
- expect(result.invalidArgument).toBeUndefined();
413
-
414
- command = {
415
- name: "foo",
416
- argument: {
417
- type: ArgumentValueTypeName.BOOLEAN,
418
- defaultValue: false,
419
- },
420
- execute: async (): Promise<void> => {},
421
- };
422
-
423
- result = populateGlobalCommandValue(command, [], "true");
424
- expectExtractResult(result, "true", []);
425
- expect(result.invalidArgument).toBeUndefined();
426
-
427
- command = {
428
- name: "foo",
429
- argument: {
430
- type: ArgumentValueTypeName.BOOLEAN,
431
- defaultValue: true,
432
- },
433
- execute: async (): Promise<void> => {},
434
- };
435
-
436
- result = populateGlobalCommandValue(command, [], "false");
437
- expectExtractResult(result, "false", []);
438
- expect(result.invalidArgument).toBeUndefined();
439
- });
440
-
441
- test("Missing argument when configured value is provided is not an error", () => {
442
- let command: GlobalCommand = {
443
- name: "foo",
444
- argument: {
445
- type: ArgumentValueTypeName.STRING,
446
- },
447
- execute: async (): Promise<void> => {},
448
- };
449
-
450
- let result = populateGlobalCommandValue(command, [], 1);
451
- expectExtractResult(result, 1, []);
452
- expect(result.invalidArgument).toBeUndefined();
453
-
454
- command = {
455
- name: "foo",
456
- argument: {
457
- type: ArgumentValueTypeName.STRING,
458
- isOptional: true,
459
- },
460
- execute: async (): Promise<void> => {},
461
- };
462
-
463
- result = populateGlobalCommandValue(command, [], "foo");
464
- expectExtractResult(result, "foo", []);
465
- expect(result.invalidArgument).toBeUndefined();
466
-
467
- command = {
468
- name: "foo",
469
- argument: {
470
- type: ArgumentValueTypeName.STRING,
471
- defaultValue: "bar",
472
- },
473
- execute: async (): Promise<void> => {},
474
- };
475
-
476
- result = populateGlobalCommandValue(command, [], "foo");
477
- expectExtractResult(result, "foo", []);
478
- expect(result.invalidArgument).toBeUndefined();
479
- });
480
- });