@flowscripter/dynamic-cli-framework 1.4.19 → 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,530 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import {
3
- expectBytesEquals,
4
- expectStringEquals,
5
- expectStringIncludes,
6
- sleep,
7
- write,
8
- } from "../../fixtures/util.ts";
9
- import DefaultPrinterService from "../../../src/service/printer/DefaultPrinterService.ts";
10
- import { Icon, Level } from "../../../src/api/service/core/PrinterService.ts";
11
- import TtyTerminal from "../../../src/terminal/TtyTerminal.ts";
12
- import TtyStyler from "../../../src/terminal/TtyStyler.ts";
13
- import StreamString from "../../fixtures/StreamString.ts";
14
-
15
- describe("DefaultPrinterService tests", () => {
16
- test("Color disabled works", async () => {
17
- const dummyStdout = new StreamString();
18
- const dummyStderr = new StreamString();
19
- const printerService = new DefaultPrinterService(
20
- dummyStdout.writableStream,
21
- dummyStderr.writableStream,
22
- true,
23
- true,
24
- new TtyTerminal(dummyStdout.writeStream),
25
- new TtyTerminal(dummyStderr.writeStream),
26
- new TtyStyler(3),
27
- );
28
- printerService.colorEnabled = false;
29
-
30
- await printerService.info(`hello ${printerService.blue("world")}`);
31
-
32
- expectStringEquals(dummyStderr.getString(), "hello world");
33
- });
34
-
35
- test("Color enabled works", async () => {
36
- const dummyStdout = new StreamString();
37
- const dummyStderr = new StreamString();
38
- const printerService = new DefaultPrinterService(
39
- dummyStdout.writableStream,
40
- dummyStderr.writableStream,
41
- true,
42
- true,
43
- new TtyTerminal(dummyStdout.writeStream),
44
- new TtyTerminal(dummyStderr.writeStream),
45
- new TtyStyler(3),
46
- );
47
- printerService.colorEnabled = true;
48
- printerService.darkMode = true;
49
- await printerService.info(`hello ${printerService.blue("world")}`);
50
- expectBytesEquals(
51
- dummyStderr.getString(),
52
- new Uint8Array([
53
- 27, 91, 51, 56, 59, 50, 59, 49, 51, 49, 59, 49, 52, 56, 59, 49, 53, 48, 109, 104, 101, 108,
54
- 108, 111, 32, 27, 91, 51, 56, 59, 50, 59, 51, 56, 59, 49, 51, 57, 59, 50, 49, 48, 109, 119,
55
- 111, 114, 108, 100, 27, 91, 51, 57, 109, 27, 91, 51, 57, 109,
56
- ]),
57
- );
58
- });
59
-
60
- test("Custom color works", async () => {
61
- const dummyStdout = new StreamString();
62
- const dummyStderr = new StreamString();
63
- const printerService = new DefaultPrinterService(
64
- dummyStdout.writableStream,
65
- dummyStderr.writableStream,
66
- true,
67
- true,
68
- new TtyTerminal(dummyStdout.writeStream),
69
- new TtyTerminal(dummyStderr.writeStream),
70
- new TtyStyler(3),
71
- );
72
- printerService.colorEnabled = true;
73
- await printerService.info(printerService.color("hello", "#000000"));
74
- expectBytesEquals(
75
- dummyStderr.getString(),
76
- new Uint8Array([
77
- 27, 91, 51, 56, 59, 50, 59, 49, 48, 49, 59, 49, 50, 51, 59, 49, 51, 49, 109, 27, 91, 51, 56,
78
- 59, 50, 59, 48, 59, 48, 59, 48, 109, 104, 101, 108, 108, 111, 27, 91, 51, 57, 109, 27, 91,
79
- 51, 57, 109,
80
- ]),
81
- );
82
- });
83
-
84
- test("Custom color validation works", () => {
85
- const dummyStdout = new StreamString();
86
- const dummyStderr = new StreamString();
87
- const printerService = new DefaultPrinterService(
88
- dummyStdout.writableStream,
89
- dummyStderr.writableStream,
90
- true,
91
- true,
92
- new TtyTerminal(dummyStdout.writeStream),
93
- new TtyTerminal(dummyStderr.writeStream),
94
- new TtyStyler(3),
95
- );
96
- printerService.colorEnabled = true;
97
-
98
- expect(() => printerService.color("hello", "foo")).toThrow("Invalid color: foo");
99
- expect(() => printerService.color("hello", "0x0")).toThrow("Invalid color: 0x0");
100
- });
101
-
102
- test("stdout writable accessible", async () => {
103
- const dummyStdout = new StreamString();
104
- const dummyStderr = new StreamString();
105
- const printerService = new DefaultPrinterService(
106
- dummyStdout.writableStream,
107
- dummyStderr.writableStream,
108
- true,
109
- true,
110
- new TtyTerminal(dummyStdout.writeStream),
111
- new TtyTerminal(dummyStderr.writeStream),
112
- new TtyStyler(3),
113
- );
114
- printerService.colorEnabled = false;
115
-
116
- await write(printerService.stdoutWritable, "hello world");
117
-
118
- expectStringEquals(dummyStdout.getString(), "hello world");
119
- });
120
-
121
- test("stderr writable accessible", async () => {
122
- const dummyStdout = new StreamString();
123
- const dummyStderr = new StreamString();
124
- const printerService = new DefaultPrinterService(
125
- dummyStdout.writableStream,
126
- dummyStderr.writableStream,
127
- true,
128
- true,
129
- new TtyTerminal(dummyStdout.writeStream),
130
- new TtyTerminal(dummyStderr.writeStream),
131
- new TtyStyler(3),
132
- );
133
- printerService.colorEnabled = false;
134
-
135
- await write(printerService.stderrWritable, "hello world");
136
-
137
- expectStringEquals(dummyStderr.getString(), "hello world");
138
- });
139
-
140
- test("Printing to stdout and stderr works", async () => {
141
- const dummyStdout = new StreamString();
142
- const dummyStderr = new StreamString();
143
- const printerService = new DefaultPrinterService(
144
- dummyStdout.writableStream,
145
- dummyStderr.writableStream,
146
- true,
147
- true,
148
- new TtyTerminal(dummyStdout.writeStream),
149
- new TtyTerminal(dummyStderr.writeStream),
150
- new TtyStyler(3),
151
- );
152
- printerService.colorEnabled = false;
153
-
154
- await printerService.print("hello stdout\n");
155
- await printerService.info("hello stderr\n");
156
-
157
- expectStringEquals(dummyStdout.getString(), "hello stdout\n");
158
- expectStringEquals(dummyStderr.getString(), "hello stderr\n");
159
- });
160
-
161
- test("Level filtering works", async () => {
162
- const dummyStdout = new StreamString();
163
- const dummyStderr = new StreamString();
164
- const printerService = new DefaultPrinterService(
165
- dummyStdout.writableStream,
166
- dummyStderr.writableStream,
167
- true,
168
- true,
169
- new TtyTerminal(dummyStdout.writeStream),
170
- new TtyTerminal(dummyStderr.writeStream),
171
- new TtyStyler(3),
172
- );
173
- printerService.colorEnabled = false;
174
-
175
- await printerService.debug("hello debug 1\n");
176
- await printerService.info("hello info 1\n");
177
- await printerService.warn("hello warn 1\n");
178
-
179
- expectStringEquals(dummyStderr.getString(), "hello info 1\nhello warn 1\n");
180
-
181
- await printerService.setLevel(Level.WARN);
182
-
183
- await printerService.debug("hello debug 2\n");
184
- await printerService.info("hello info 2\n");
185
- await printerService.warn("hello warn 2\n");
186
-
187
- expectStringEquals(dummyStderr.getString(), "hello info 1\nhello warn 1\nhello warn 2\n");
188
-
189
- await printerService.setLevel(Level.DEBUG);
190
-
191
- await printerService.debug("hello debug 3\n");
192
- await printerService.info("hello info 3\n");
193
- await printerService.warn("hello warn 3\n");
194
-
195
- expectStringEquals(
196
- dummyStderr.getString(),
197
- "hello info 1\nhello warn 1\nhello warn 2\nhello debug 3\nhello info 3\nhello warn 3\n",
198
- );
199
- });
200
-
201
- test("Icons work on stderr", async () => {
202
- const dummyStdout = new StreamString();
203
- const dummyStderr = new StreamString();
204
- const printerService = new DefaultPrinterService(
205
- dummyStdout.writableStream,
206
- dummyStderr.writableStream,
207
- true,
208
- true,
209
- new TtyTerminal(dummyStdout.writeStream),
210
- new TtyTerminal(dummyStderr.writeStream),
211
- new TtyStyler(3),
212
- );
213
- printerService.colorEnabled = false;
214
-
215
- await printerService.info("hello info", Icon.INFORMATION);
216
-
217
- expectStringEquals(dummyStderr.getString(), "ℹ hello info");
218
-
219
- await printerService.info("hello success", Icon.SUCCESS);
220
-
221
- expectStringEquals(dummyStderr.getString(), "ℹ hello info✔ hello success");
222
- });
223
-
224
- test("Icons work on stdout", async () => {
225
- const dummyStdout = new StreamString();
226
- const dummyStderr = new StreamString();
227
- const printerService = new DefaultPrinterService(
228
- dummyStdout.writableStream,
229
- dummyStderr.writableStream,
230
- true,
231
- true,
232
- new TtyTerminal(dummyStdout.writeStream),
233
- new TtyTerminal(dummyStderr.writeStream),
234
- new TtyStyler(3),
235
- );
236
- printerService.colorEnabled = false;
237
-
238
- await printerService.print("hello info", Icon.INFORMATION);
239
-
240
- expectStringEquals(dummyStdout.getString(), "ℹ hello info");
241
-
242
- await printerService.print("hello success", Icon.SUCCESS);
243
-
244
- expectStringEquals(dummyStdout.getString(), "ℹ hello info✔ hello success");
245
- });
246
-
247
- test("Spinner works", async () => {
248
- const dummyStdout = new StreamString();
249
- const dummyStderr = new StreamString();
250
- const printerService = new DefaultPrinterService(
251
- dummyStdout.writableStream,
252
- dummyStderr.writableStream,
253
- true,
254
- true,
255
- new TtyTerminal(dummyStdout.writeStream),
256
- new TtyTerminal(dummyStderr.writeStream),
257
- new TtyStyler(3),
258
- );
259
- printerService.colorEnabled = false;
260
-
261
- await printerService.showSpinner("hello world");
262
- await sleep(150);
263
- await printerService.hideSpinner();
264
-
265
- expectBytesEquals(
266
- dummyStderr.getString(),
267
- new Uint8Array([
268
- 27, 91, 63, 50, 53, 108, 27, 91, 50, 75, 27, 91, 71, 226, 160, 139, 32, 104, 101, 108, 108,
269
- 111, 32, 119, 111, 114, 108, 100, 27, 91, 50, 75, 27, 91, 71, 27, 91, 63, 50, 53, 104,
270
- ]),
271
- );
272
- });
273
-
274
- test("Progress bar works", async () => {
275
- const dummyStdout = new StreamString();
276
- const dummyStderr = new StreamString();
277
- const printerService = new DefaultPrinterService(
278
- dummyStdout.writableStream,
279
- dummyStderr.writableStream,
280
- true,
281
- true,
282
- new TtyTerminal(dummyStdout.writeStream),
283
- new TtyTerminal(dummyStderr.writeStream),
284
- new TtyStyler(3),
285
- );
286
- printerService.colorEnabled = false;
287
-
288
- const handle = await printerService.showProgressBar("bits", "foo", 150, 35);
289
- await sleep(50);
290
- printerService.updateProgressBar(handle, 50);
291
- await sleep(50);
292
- await printerService.hideProgressBar(handle);
293
- expectStringIncludes(dummyStderr.getString(), "foo");
294
- expectStringIncludes(dummyStderr.getString(), "bits");
295
- });
296
-
297
- test("Multiple progress bars work", async () => {
298
- const dummyStdout = new StreamString();
299
- const dummyStderr = new StreamString();
300
- const printerService = new DefaultPrinterService(
301
- dummyStdout.writableStream,
302
- dummyStderr.writableStream,
303
- true,
304
- true,
305
- new TtyTerminal(dummyStdout.writeStream),
306
- new TtyTerminal(dummyStderr.writeStream),
307
- new TtyStyler(3),
308
- );
309
- printerService.colorEnabled = false;
310
-
311
- const handle1 = await printerService.showProgressBar("bits", "foo");
312
- await sleep(50);
313
- const handle2 = await printerService.showProgressBar("megaflops", "bar");
314
- await sleep(50);
315
- printerService.updateProgressBar(handle1, 25, "foo1");
316
- await sleep(50);
317
- printerService.updateProgressBar(handle2, 50, "bar1");
318
- await sleep(50);
319
- await printerService.hideProgressBar(handle1);
320
- await printerService.hideProgressBar(handle2);
321
- expectStringIncludes(dummyStderr.getString(), "bits");
322
- expectStringIncludes(dummyStderr.getString(), "megaflops");
323
- expectStringIncludes(dummyStderr.getString(), "foo1");
324
- expectStringIncludes(dummyStderr.getString(), "bar1");
325
- });
326
-
327
- test("backgroundBlue with colorLevel 3 and colorEnabled produces background ANSI code", () => {
328
- const dummyStdout = new StreamString();
329
- const dummyStderr = new StreamString();
330
- const printerService = new DefaultPrinterService(
331
- dummyStdout.writableStream,
332
- dummyStderr.writableStream,
333
- true,
334
- true,
335
- new TtyTerminal(dummyStdout.writeStream),
336
- new TtyTerminal(dummyStderr.writeStream),
337
- new TtyStyler(3),
338
- );
339
- printerService.colorEnabled = true;
340
- const result = printerService.backgroundBlue("text");
341
- expect(result).toStartWith("\x1b[48;2;");
342
- expect(result).toEndWith("\x1b[49m");
343
- });
344
-
345
- test("backgroundColor with colorLevel 3 produces background ANSI code", () => {
346
- const dummyStdout = new StreamString();
347
- const dummyStderr = new StreamString();
348
- const printerService = new DefaultPrinterService(
349
- dummyStdout.writableStream,
350
- dummyStderr.writableStream,
351
- true,
352
- true,
353
- new TtyTerminal(dummyStdout.writeStream),
354
- new TtyTerminal(dummyStderr.writeStream),
355
- new TtyStyler(3),
356
- );
357
- printerService.colorEnabled = true;
358
- const result = printerService.backgroundColor("text", "#268bd2");
359
- expect(result).toStartWith("\x1b[48;2;");
360
- expect(result).toEndWith("\x1b[49m");
361
- });
362
-
363
- test("backgroundColor with invalid color throws", () => {
364
- const dummyStdout = new StreamString();
365
- const dummyStderr = new StreamString();
366
- const printerService = new DefaultPrinterService(
367
- dummyStdout.writableStream,
368
- dummyStderr.writableStream,
369
- true,
370
- true,
371
- new TtyTerminal(dummyStdout.writeStream),
372
- new TtyTerminal(dummyStderr.writeStream),
373
- new TtyStyler(3),
374
- );
375
- printerService.colorEnabled = true;
376
- expect(() => printerService.backgroundColor("text", "invalid")).toThrow(
377
- "Invalid color: invalid",
378
- );
379
- });
380
-
381
- test("backgroundBlue with colorEnabled false returns plain text", () => {
382
- const dummyStdout = new StreamString();
383
- const dummyStderr = new StreamString();
384
- const printerService = new DefaultPrinterService(
385
- dummyStdout.writableStream,
386
- dummyStderr.writableStream,
387
- true,
388
- true,
389
- new TtyTerminal(dummyStdout.writeStream),
390
- new TtyTerminal(dummyStderr.writeStream),
391
- new TtyStyler(3),
392
- );
393
- printerService.colorEnabled = false;
394
- const result = printerService.backgroundBlue("text");
395
- expectStringEquals(result, "text");
396
- });
397
-
398
- test("all named background methods produce background ANSI codes when colorEnabled", () => {
399
- const dummyStdout = new StreamString();
400
- const dummyStderr = new StreamString();
401
- const printerService = new DefaultPrinterService(
402
- dummyStdout.writableStream,
403
- dummyStderr.writableStream,
404
- true,
405
- true,
406
- new TtyTerminal(dummyStdout.writeStream),
407
- new TtyTerminal(dummyStderr.writeStream),
408
- new TtyStyler(3),
409
- );
410
- printerService.colorEnabled = true;
411
- for (const method of [
412
- "backgroundYellow",
413
- "backgroundOrange",
414
- "backgroundRed",
415
- "backgroundMagenta",
416
- "backgroundViolet",
417
- "backgroundBlue",
418
- "backgroundCyan",
419
- "backgroundGreen",
420
- ] as const) {
421
- const result = printerService[method]("text");
422
- expect(result).toStartWith("\x1b[48;2;");
423
- expect(result).toEndWith("\x1b[49m");
424
- }
425
- });
426
-
427
- test("all semantic background methods produce background ANSI codes when colorEnabled", () => {
428
- const dummyStdout = new StreamString();
429
- const dummyStderr = new StreamString();
430
- const printerService = new DefaultPrinterService(
431
- dummyStdout.writableStream,
432
- dummyStderr.writableStream,
433
- true,
434
- true,
435
- new TtyTerminal(dummyStdout.writeStream),
436
- new TtyTerminal(dummyStderr.writeStream),
437
- new TtyStyler(3),
438
- );
439
- printerService.colorEnabled = true;
440
- for (const method of [
441
- "backgroundPrimary",
442
- "backgroundSecondary",
443
- "backgroundEmphasised",
444
- "backgroundSelected",
445
- ] as const) {
446
- const result = printerService[method]("text");
447
- expect(result).toStartWith("\x1b[48;2;");
448
- expect(result).toEndWith("\x1b[49m");
449
- }
450
- });
451
-
452
- test("hyperlinksEnabled defaults to true", () => {
453
- const dummyStdout = new StreamString();
454
- const dummyStderr = new StreamString();
455
- const printerService = new DefaultPrinterService(
456
- dummyStdout.writableStream,
457
- dummyStderr.writableStream,
458
- true,
459
- true,
460
- new TtyTerminal(dummyStdout.writeStream),
461
- new TtyTerminal(dummyStderr.writeStream),
462
- new TtyStyler(3),
463
- );
464
- expect(printerService.hyperlinksEnabled).toBeTrue();
465
- });
466
-
467
- test("hyperlink with hyperlinksEnabled returns OSC 8 wrapped text", () => {
468
- const dummyStdout = new StreamString();
469
- const dummyStderr = new StreamString();
470
- const printerService = new DefaultPrinterService(
471
- dummyStdout.writableStream,
472
- dummyStderr.writableStream,
473
- true,
474
- true,
475
- new TtyTerminal(dummyStdout.writeStream),
476
- new TtyTerminal(dummyStderr.writeStream),
477
- new TtyStyler(3),
478
- );
479
- const result = printerService.hyperlink("click here", "https://example.com");
480
- expect(result).toEqual("\x1b]8;;\x68ttps://example.com\x07click here\x1b]8;;\x07");
481
- });
482
-
483
- test("hyperlink with hyperlinksEnabled false returns url", () => {
484
- const dummyStdout = new StreamString();
485
- const dummyStderr = new StreamString();
486
- const printerService = new DefaultPrinterService(
487
- dummyStdout.writableStream,
488
- dummyStderr.writableStream,
489
- true,
490
- true,
491
- new TtyTerminal(dummyStdout.writeStream),
492
- new TtyTerminal(dummyStderr.writeStream),
493
- new TtyStyler(3),
494
- );
495
- printerService.hyperlinksEnabled = false;
496
- const result = printerService.hyperlink("click here", "https://example.com");
497
- expect(result).toEqual("click here: https://example.com");
498
- });
499
-
500
- test("all background methods return plain text when colorEnabled is false", () => {
501
- const dummyStdout = new StreamString();
502
- const dummyStderr = new StreamString();
503
- const printerService = new DefaultPrinterService(
504
- dummyStdout.writableStream,
505
- dummyStderr.writableStream,
506
- true,
507
- true,
508
- new TtyTerminal(dummyStdout.writeStream),
509
- new TtyTerminal(dummyStderr.writeStream),
510
- new TtyStyler(3),
511
- );
512
- printerService.colorEnabled = false;
513
- for (const method of [
514
- "backgroundPrimary",
515
- "backgroundSecondary",
516
- "backgroundEmphasised",
517
- "backgroundSelected",
518
- "backgroundYellow",
519
- "backgroundOrange",
520
- "backgroundRed",
521
- "backgroundMagenta",
522
- "backgroundViolet",
523
- "backgroundBlue",
524
- "backgroundCyan",
525
- "backgroundGreen",
526
- ] as const) {
527
- expectStringEquals(printerService[method]("text"), "text");
528
- }
529
- });
530
- });
@@ -1,34 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import DefaultContext from "../../../src/runtime/DefaultContext.ts";
3
- import { getCLIConfig } from "../../fixtures/CLIConfig.ts";
4
- import PrinterServiceProvider from "../../../src/service/printer/PrinterServiceProvider.ts";
5
- import { SHUTDOWN_SERVICE_ID } from "../../../src/api/service/core/ShutdownService.ts";
6
- import DefaultShutdownService from "../../../src/service/shutdown/DefaultShutdownService.ts";
7
- import TtyTerminal from "../../../src/terminal/TtyTerminal.ts";
8
- import StreamString from "../../fixtures/StreamString.ts";
9
- import TtyStyler from "../../../src/terminal/TtyStyler.ts";
10
- import DefaultPrinterService from "../../../src/service/printer/DefaultPrinterService.ts";
11
-
12
- describe("PrinterServiceProvider tests", () => {
13
- test("PrinterServiceProvider getServiceInfo works", async () => {
14
- const streamString = new StreamString();
15
- const printerService = new DefaultPrinterService(
16
- streamString.writableStream,
17
- streamString.writableStream,
18
- true,
19
- true,
20
- new TtyTerminal(streamString.writeStream),
21
- new TtyTerminal(streamString.writeStream),
22
- new TtyStyler(3),
23
- );
24
-
25
- const printerServiceProvider = new PrinterServiceProvider(100, printerService);
26
- const cliConfig = getCLIConfig();
27
- const context = new DefaultContext(cliConfig);
28
-
29
- context.addServiceInstance(SHUTDOWN_SERVICE_ID, new DefaultShutdownService());
30
-
31
- const serviceInfo = await printerServiceProvider.getServiceInfo(cliConfig);
32
- expect(serviceInfo.commands.length).toEqual(4);
33
- });
34
- });
@@ -1,75 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import DefaultContext from "../../../../src/runtime/DefaultContext.ts";
3
- import DarkModeCommand from "../../../../src/service/printer/command/DarkModeCommand.ts";
4
- import { getCLIConfig } from "../../../fixtures/CLIConfig.ts";
5
- import PrinterServiceProvider from "../../../../src/service/printer/PrinterServiceProvider.ts";
6
- import ShutdownServiceProvider from "../../../../src/service/shutdown/ShutdownServiceProvider.ts";
7
- import { SHUTDOWN_SERVICE_ID } from "../../../../src/api/service/core/ShutdownService.ts";
8
- import TtyTerminal from "../../../../src/terminal/TtyTerminal.ts";
9
- import StreamString from "../../../fixtures/StreamString.ts";
10
- import DefaultPrinterService from "../../../../src/service/printer/DefaultPrinterService.ts";
11
- import TtyStyler from "../../../../src/terminal/TtyStyler.ts";
12
-
13
- describe("DarkModeCommand tests", () => {
14
- test("execute sets darkMode to true when argumentValue is true", async () => {
15
- const streamString = new StreamString();
16
- const printerService = new DefaultPrinterService(
17
- streamString.writableStream,
18
- streamString.writableStream,
19
- true,
20
- true,
21
- new TtyTerminal(streamString.writeStream),
22
- new TtyTerminal(streamString.writeStream),
23
- new TtyStyler(3),
24
- );
25
- const printerServiceProvider = new PrinterServiceProvider(100, printerService);
26
- const cliConfig = getCLIConfig();
27
- const context = new DefaultContext(cliConfig);
28
-
29
- const shutdownServiceProvider = new ShutdownServiceProvider(1);
30
- const shutdownService = (await shutdownServiceProvider.getServiceInfo(cliConfig)).service!;
31
- context.addServiceInstance(SHUTDOWN_SERVICE_ID, shutdownService);
32
-
33
- await printerServiceProvider.getServiceInfo(cliConfig);
34
-
35
- const command = new DarkModeCommand(printerServiceProvider, 100);
36
-
37
- expect(printerServiceProvider.printerService!.darkMode).toEqual(false);
38
-
39
- await command.execute(context, true);
40
-
41
- expect(printerServiceProvider.printerService!.darkMode).toEqual(true);
42
-
43
- await ShutdownServiceProvider.shutdown();
44
- });
45
-
46
- test("execute sets darkMode to false when argumentValue is false", async () => {
47
- const streamString = new StreamString();
48
- const printerService = new DefaultPrinterService(
49
- streamString.writableStream,
50
- streamString.writableStream,
51
- true,
52
- true,
53
- new TtyTerminal(streamString.writeStream),
54
- new TtyTerminal(streamString.writeStream),
55
- new TtyStyler(3),
56
- );
57
- const printerServiceProvider = new PrinterServiceProvider(100, printerService);
58
- const cliConfig = getCLIConfig();
59
- const context = new DefaultContext(cliConfig);
60
-
61
- const shutdownServiceProvider = new ShutdownServiceProvider(1);
62
- const shutdownService = (await shutdownServiceProvider.getServiceInfo(cliConfig)).service!;
63
- context.addServiceInstance(SHUTDOWN_SERVICE_ID, shutdownService);
64
-
65
- await printerServiceProvider.getServiceInfo(cliConfig);
66
-
67
- const command = new DarkModeCommand(printerServiceProvider, 100);
68
-
69
- await command.execute(context, false);
70
-
71
- expect(printerServiceProvider.printerService!.darkMode).toEqual(false);
72
-
73
- await ShutdownServiceProvider.shutdown();
74
- });
75
- });
@@ -1,47 +0,0 @@
1
- import { describe, expect, test } from "bun:test";
2
- import DefaultContext from "../../../../src/runtime/DefaultContext.ts";
3
- import LogLevelCommand from "../../../../src/service/printer/command/LogLevelCommand.ts";
4
- import { getCLIConfig } from "../../../fixtures/CLIConfig.ts";
5
- import PrinterServiceProvider from "../../../../src/service/printer/PrinterServiceProvider.ts";
6
- import { Level } from "../../../../src/api/service/core/PrinterService.ts";
7
- import ShutdownServiceProvider from "../../../../src/service/shutdown/ShutdownServiceProvider.ts";
8
- import { SHUTDOWN_SERVICE_ID } from "../../../../src/api/service/core/ShutdownService.ts";
9
- import TtyTerminal from "../../../../src/terminal/TtyTerminal.ts";
10
- import StreamString from "../../../fixtures/StreamString.ts";
11
- import DefaultPrinterService from "../../../../src/service/printer/DefaultPrinterService.ts";
12
- import TtyStyler from "../../../../src/terminal/TtyStyler.ts";
13
-
14
- describe("LogLevelCommand tests", () => {
15
- test("LogLevelCommand works", async () => {
16
- const streamString = new StreamString();
17
- const printerService = new DefaultPrinterService(
18
- streamString.writableStream,
19
- streamString.writableStream,
20
- true,
21
- true,
22
- new TtyTerminal(streamString.writeStream),
23
- new TtyTerminal(streamString.writeStream),
24
- new TtyStyler(3),
25
- );
26
- const printerServiceProvider = new PrinterServiceProvider(100, printerService);
27
- const cliConfig = getCLIConfig();
28
- const context = new DefaultContext(cliConfig);
29
-
30
- const shutdownServiceProvider = new ShutdownServiceProvider(1);
31
- const shutdownService = (await shutdownServiceProvider.getServiceInfo(cliConfig)).service!;
32
-
33
- context.addServiceInstance(SHUTDOWN_SERVICE_ID, shutdownService);
34
-
35
- await printerServiceProvider.getServiceInfo(cliConfig);
36
-
37
- const logLevelCommand = new LogLevelCommand(printerServiceProvider, 100);
38
-
39
- expect(printerServiceProvider.printerService!.getLevel()).toEqual(Level.INFO);
40
-
41
- await logLevelCommand.execute(context, "eRror");
42
-
43
- expect(printerServiceProvider.printerService!.getLevel()).toEqual(Level.ERROR);
44
-
45
- await ShutdownServiceProvider.shutdown();
46
- });
47
- });