@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.
- package/README.md +3 -14
- package/cli-plugin.ts +16 -0
- package/dist/cli-plugin.d.ts +17 -0
- package/dist/cli-plugin.d.ts.map +1 -0
- package/dist/cli-plugin.js +69 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +105696 -0
- package/dist/src/api/BaseCLIFeatureOptions.d.ts +12 -0
- package/dist/src/api/BaseCLIFeatureOptions.d.ts.map +1 -0
- package/dist/src/api/CLI.d.ts +17 -0
- package/dist/src/api/CLI.d.ts.map +1 -0
- package/dist/src/api/CLIConfig.d.ts +22 -0
- package/dist/src/api/CLIConfig.d.ts.map +1 -0
- package/dist/src/api/Context.d.ts +23 -0
- package/dist/src/api/Context.d.ts.map +1 -0
- package/dist/src/api/RunResult.d.ts +128 -0
- package/dist/src/api/RunResult.d.ts.map +1 -0
- package/dist/src/api/argument/Argument.d.ts +62 -0
- package/dist/src/api/argument/Argument.d.ts.map +1 -0
- package/dist/src/api/argument/ArgumentValueTypes.d.ts +68 -0
- package/dist/src/api/argument/ArgumentValueTypes.d.ts.map +1 -0
- package/dist/src/api/argument/ComplexOption.d.ts +21 -0
- package/dist/src/api/argument/ComplexOption.d.ts.map +1 -0
- package/dist/src/api/argument/GlobalCommandArgument.d.ts +16 -0
- package/dist/src/api/argument/GlobalCommandArgument.d.ts.map +1 -0
- package/dist/src/api/argument/Option.d.ts +29 -0
- package/dist/src/api/argument/Option.d.ts.map +1 -0
- package/dist/src/api/argument/Positional.d.ts +26 -0
- package/dist/src/api/argument/Positional.d.ts.map +1 -0
- package/dist/src/api/argument/SubCommandArgument.d.ts +18 -0
- package/dist/src/api/argument/SubCommandArgument.d.ts.map +1 -0
- package/dist/src/api/command/Command.d.ts +21 -0
- package/dist/src/api/command/Command.d.ts.map +1 -0
- package/dist/src/api/command/GlobalCommand.d.ts +28 -0
- package/dist/src/api/command/GlobalCommand.d.ts.map +1 -0
- package/dist/src/api/command/GlobalModifierCommand.d.ts +12 -0
- package/dist/src/api/command/GlobalModifierCommand.d.ts.map +1 -0
- package/dist/src/api/command/GroupCommand.d.ts +19 -0
- package/dist/src/api/command/GroupCommand.d.ts.map +1 -0
- package/dist/src/api/command/SubCommand.d.ts +37 -0
- package/dist/src/api/command/SubCommand.d.ts.map +1 -0
- package/dist/src/api/command/UsageExample.d.ts +20 -0
- package/dist/src/api/command/UsageExample.d.ts.map +1 -0
- package/dist/src/api/plugin/CommandFactory.d.ts +23 -0
- package/dist/src/api/plugin/CommandFactory.d.ts.map +1 -0
- package/dist/src/api/plugin/ServiceProviderFactory.d.ts +25 -0
- package/dist/src/api/plugin/ServiceProviderFactory.d.ts.map +1 -0
- package/dist/src/api/service/ServiceProvider.d.ts +47 -0
- package/dist/src/api/service/ServiceProvider.d.ts.map +1 -0
- package/dist/src/api/service/core/ArgumentPrompterService.d.ts +6 -0
- package/dist/src/api/service/core/ArgumentPrompterService.d.ts.map +1 -0
- package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts +59 -0
- package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts.map +1 -0
- package/dist/src/api/service/core/CompletionService.d.ts +22 -0
- package/dist/src/api/service/core/CompletionService.d.ts.map +1 -0
- package/dist/src/api/service/core/DataDumpGeneratorService.d.ts +22 -0
- package/dist/src/api/service/core/DataDumpGeneratorService.d.ts.map +1 -0
- package/dist/src/api/service/core/ImagePrinterService.d.ts +21 -0
- package/dist/src/api/service/core/ImagePrinterService.d.ts.map +1 -0
- package/dist/src/api/service/core/KeyValueService.d.ts +40 -0
- package/dist/src/api/service/core/KeyValueService.d.ts.map +1 -0
- package/dist/src/api/service/core/PluginService.d.ts +55 -0
- package/dist/src/api/service/core/PluginService.d.ts.map +1 -0
- package/dist/src/api/service/core/PrettyPrinterService.d.ts +35 -0
- package/dist/src/api/service/core/PrettyPrinterService.d.ts.map +1 -0
- package/dist/src/api/service/core/PrinterService.d.ts +339 -0
- package/dist/src/api/service/core/PrinterService.d.ts.map +1 -0
- package/dist/src/api/service/core/PrompterService.d.ts +35 -0
- package/dist/src/api/service/core/PrompterService.d.ts.map +1 -0
- package/dist/src/api/service/core/SecretService.d.ts +25 -0
- package/dist/src/api/service/core/SecretService.d.ts.map +1 -0
- package/dist/src/api/service/core/ShutdownService.d.ts +24 -0
- package/dist/src/api/service/core/ShutdownService.d.ts.map +1 -0
- package/dist/src/api/service/core/SyntaxHighlighterService.d.ts +49 -0
- package/dist/src/api/service/core/SyntaxHighlighterService.d.ts.map +1 -0
- package/dist/src/api/service/core/Table.d.ts +18 -0
- package/dist/src/api/service/core/Table.d.ts.map +1 -0
- package/dist/src/api/service/core/TableGeneratorService.d.ts +31 -0
- package/dist/src/api/service/core/TableGeneratorService.d.ts.map +1 -0
- package/dist/src/api/service/core/TreePrinterService.d.ts +9 -0
- package/dist/src/api/service/core/TreePrinterService.d.ts.map +1 -0
- package/dist/src/cli/BaseCLI.d.ts +59 -0
- package/dist/src/cli/BaseCLI.d.ts.map +1 -0
- package/dist/src/cli/DefaultRuntimeCLI.d.ts +12 -0
- package/dist/src/cli/DefaultRuntimeCLI.d.ts.map +1 -0
- package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts +20 -0
- package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts.map +1 -0
- package/dist/src/command/CompletionCommand.d.ts +31 -0
- package/dist/src/command/CompletionCommand.d.ts.map +1 -0
- package/dist/src/command/MultiCommandCliHelpCommand.d.ts +40 -0
- package/dist/src/command/MultiCommandCliHelpCommand.d.ts.map +1 -0
- package/dist/src/command/PluginCommand.d.ts +67 -0
- package/dist/src/command/PluginCommand.d.ts.map +1 -0
- package/dist/src/command/SingleCommandCliHelpCommand.d.ts +31 -0
- package/dist/src/command/SingleCommandCliHelpCommand.d.ts.map +1 -0
- package/dist/src/command/UsageCommand.d.ts +14 -0
- package/dist/src/command/UsageCommand.d.ts.map +1 -0
- package/dist/src/command/VersionCommand.d.ts +12 -0
- package/dist/src/command/VersionCommand.d.ts.map +1 -0
- package/dist/src/launcher.d.ts +10 -0
- package/dist/src/launcher.d.ts.map +1 -0
- package/dist/src/runtime/DefaultContext.d.ts +14 -0
- package/dist/src/runtime/DefaultContext.d.ts.map +1 -0
- package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts +4 -0
- package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts.map +1 -0
- package/dist/src/runtime/command/CommandTypeGuards.d.ts +10 -0
- package/dist/src/runtime/command/CommandTypeGuards.d.ts.map +1 -0
- package/dist/src/runtime/command/CommandValidator.d.ts +15 -0
- package/dist/src/runtime/command/CommandValidator.d.ts.map +1 -0
- package/dist/src/runtime/parser.d.ts +48 -0
- package/dist/src/runtime/parser.d.ts.map +1 -0
- package/dist/src/runtime/registry/CommandRegistry.d.ts +89 -0
- package/dist/src/runtime/registry/CommandRegistry.d.ts.map +1 -0
- package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts +51 -0
- package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts.map +1 -0
- package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts +12 -0
- package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts.map +1 -0
- package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts +11 -0
- package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts.map +1 -0
- package/dist/src/runtime/runner.d.ts +76 -0
- package/dist/src/runtime/runner.d.ts.map +1 -0
- package/dist/src/runtime/scanner.d.ts +69 -0
- package/dist/src/runtime/scanner.d.ts.map +1 -0
- package/dist/src/runtime/values/ValuePopulationResult.d.ts +34 -0
- package/dist/src/runtime/values/ValuePopulationResult.d.ts.map +1 -0
- package/dist/src/runtime/values/argumentValueMerge.d.ts +13 -0
- package/dist/src/runtime/values/argumentValueMerge.d.ts.map +1 -0
- package/dist/src/runtime/values/argumentValueValidation.d.ts +33 -0
- package/dist/src/runtime/values/argumentValueValidation.d.ts.map +1 -0
- package/dist/src/runtime/values/globalCommandValuePopulation.d.ts +12 -0
- package/dist/src/runtime/values/globalCommandValuePopulation.d.ts.map +1 -0
- package/dist/src/runtime/values/subCommandValuePopulation.d.ts +12 -0
- package/dist/src/runtime/values/subCommandValuePopulation.d.ts.map +1 -0
- package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts +13 -0
- package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts +9 -0
- package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts.map +1 -0
- package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts +20 -0
- package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts.map +1 -0
- package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts +12 -0
- package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts.map +1 -0
- package/dist/src/service/banner/BannerServiceProvider.d.ts +29 -0
- package/dist/src/service/banner/BannerServiceProvider.d.ts.map +1 -0
- package/dist/src/service/banner/command/NoBannerCommand.d.ts +19 -0
- package/dist/src/service/banner/command/NoBannerCommand.d.ts.map +1 -0
- package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts +22 -0
- package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts.map +1 -0
- package/dist/src/service/completion/CompletionServiceProvider.d.ts +14 -0
- package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -0
- package/dist/src/service/completion/DefaultCompletionService.d.ts +17 -0
- package/dist/src/service/completion/DefaultCompletionService.d.ts.map +1 -0
- package/dist/src/service/completion/shell/ShellHandler.d.ts +13 -0
- package/dist/src/service/completion/shell/ShellHandler.d.ts.map +1 -0
- package/dist/src/service/completion/shell/bash.d.ts +11 -0
- package/dist/src/service/completion/shell/bash.d.ts.map +1 -0
- package/dist/src/service/completion/shell/fish.d.ts +11 -0
- package/dist/src/service/completion/shell/fish.d.ts.map +1 -0
- package/dist/src/service/completion/shell/powershell.d.ts +11 -0
- package/dist/src/service/completion/shell/powershell.d.ts.map +1 -0
- package/dist/src/service/completion/shell/zsh.d.ts +11 -0
- package/dist/src/service/completion/shell/zsh.d.ts.map +1 -0
- package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts +196 -0
- package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts.map +1 -0
- package/dist/src/service/configuration/DefaultKeyValueService.d.ts +14 -0
- package/dist/src/service/configuration/DefaultKeyValueService.d.ts.map +1 -0
- package/dist/src/service/configuration/DefaultSecretService.d.ts +27 -0
- package/dist/src/service/configuration/DefaultSecretService.d.ts.map +1 -0
- package/dist/src/service/configuration/command/ConfigCommand.d.ts +19 -0
- package/dist/src/service/configuration/command/ConfigCommand.d.ts.map +1 -0
- package/dist/src/service/configuration/command/DumpConfigCommand.d.ts +14 -0
- package/dist/src/service/configuration/command/DumpConfigCommand.d.ts.map +1 -0
- package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts +12 -0
- package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts.map +1 -0
- package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts +10 -0
- package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts.map +1 -0
- package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts +8 -0
- package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts.map +1 -0
- package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts +13 -0
- package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/plugin/DefaultPluginService.d.ts +15 -0
- package/dist/src/service/plugin/DefaultPluginService.d.ts.map +1 -0
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +13 -0
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -0
- package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts +13 -0
- package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts.map +1 -0
- package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts +20 -0
- package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/printer/DefaultPrinterService.d.ts +61 -0
- package/dist/src/service/printer/DefaultPrinterService.d.ts.map +1 -0
- package/dist/src/service/printer/PrinterServiceProvider.d.ts +22 -0
- package/dist/src/service/printer/PrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/printer/command/DarkModeCommand.d.ts +19 -0
- package/dist/src/service/printer/command/DarkModeCommand.d.ts.map +1 -0
- package/dist/src/service/printer/command/LogLevelCommand.d.ts +19 -0
- package/dist/src/service/printer/command/LogLevelCommand.d.ts.map +1 -0
- package/dist/src/service/printer/command/NoColorCommand.d.ts +19 -0
- package/dist/src/service/printer/command/NoColorCommand.d.ts.map +1 -0
- package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts +16 -0
- package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Color.d.ts +15 -0
- package/dist/src/service/printer/terminal/Color.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Progress.d.ts +20 -0
- package/dist/src/service/printer/terminal/Progress.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Spinner.d.ts +16 -0
- package/dist/src/service/printer/terminal/Spinner.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Theme.d.ts +3 -0
- package/dist/src/service/printer/terminal/Theme.d.ts.map +1 -0
- package/dist/src/service/prompter/DefaultPrompterService.d.ts +21 -0
- package/dist/src/service/prompter/DefaultPrompterService.d.ts.map +1 -0
- package/dist/src/service/prompter/PrompterServiceProvider.d.ts +13 -0
- package/dist/src/service/prompter/PrompterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/prompter/command/NoPromptCommand.d.ts +16 -0
- package/dist/src/service/prompter/command/NoPromptCommand.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/PromptContext.d.ts +15 -0
- package/dist/src/service/prompter/prompt/PromptContext.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptText.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptText.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptToggle.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptToggle.d.ts.map +1 -0
- package/dist/src/service/shutdown/DefaultShutdownService.d.ts +9 -0
- package/dist/src/service/shutdown/DefaultShutdownService.d.ts.map +1 -0
- package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts +15 -0
- package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts.map +1 -0
- package/dist/src/service/shutdown/ShutdownState.d.ts +6 -0
- package/dist/src/service/shutdown/ShutdownState.d.ts.map +1 -0
- package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts +17 -0
- package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts.map +1 -0
- package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts +20 -0
- package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +10 -0
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -0
- package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts +12 -0
- package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts.map +1 -0
- package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts +10 -0
- package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts.map +1 -0
- package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts +12 -0
- package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/terminal/Ansi.d.ts +14 -0
- package/dist/src/terminal/Ansi.d.ts.map +1 -0
- package/dist/src/terminal/ImageRenderer.d.ts +7 -0
- package/dist/src/terminal/ImageRenderer.d.ts.map +1 -0
- package/dist/src/terminal/KeyReader.d.ts +22 -0
- package/dist/src/terminal/KeyReader.d.ts.map +1 -0
- package/dist/src/terminal/PngDecoder.d.ts +6 -0
- package/dist/src/terminal/PngDecoder.d.ts.map +1 -0
- package/dist/src/terminal/Styler.d.ts +9 -0
- package/dist/src/terminal/Styler.d.ts.map +1 -0
- package/dist/src/terminal/Terminal.d.ts +10 -0
- package/dist/src/terminal/Terminal.d.ts.map +1 -0
- package/dist/src/terminal/TtyKeyReader.d.ts +11 -0
- package/dist/src/terminal/TtyKeyReader.d.ts.map +1 -0
- package/dist/src/terminal/TtyStyler.d.ts +19 -0
- package/dist/src/terminal/TtyStyler.d.ts.map +1 -0
- package/dist/src/terminal/TtyTerminal.d.ts +14 -0
- package/dist/src/terminal/TtyTerminal.d.ts.map +1 -0
- package/dist/src/terminal/supportsHyperlinks.d.ts +3 -0
- package/dist/src/terminal/supportsHyperlinks.d.ts.map +1 -0
- package/dist/src/util/configHelper.d.ts +22 -0
- package/dist/src/util/configHelper.d.ts.map +1 -0
- package/dist/src/util/envVarHelper.d.ts +21 -0
- package/dist/src/util/envVarHelper.d.ts.map +1 -0
- package/dist/src/util/helpHelper.d.ts +26 -0
- package/dist/src/util/helpHelper.d.ts.map +1 -0
- package/dist/src/util/logger.d.ts +18 -0
- package/dist/src/util/logger.d.ts.map +1 -0
- package/dist/src/util/runnerHelper.d.ts +9 -0
- package/dist/src/util/runnerHelper.d.ts.map +1 -0
- package/dist/tests/cli/BaseCLI.test.d.ts +2 -0
- package/dist/tests/cli/BaseCLI.test.d.ts.map +1 -0
- package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts +2 -0
- package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts.map +1 -0
- package/dist/tests/command/CompletionCommand.test.d.ts +2 -0
- package/dist/tests/command/CompletionCommand.test.d.ts.map +1 -0
- package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts +2 -0
- package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts.map +1 -0
- package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts +2 -0
- package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts.map +1 -0
- package/dist/tests/command/UsageCommand.test.d.ts +2 -0
- package/dist/tests/command/UsageCommand.test.d.ts.map +1 -0
- package/dist/tests/command/VersionCommand.test.d.ts +2 -0
- package/dist/tests/command/VersionCommand.test.d.ts.map +1 -0
- package/dist/tests/fixtures/CLIConfig.d.ts +3 -0
- package/dist/tests/fixtures/CLIConfig.d.ts.map +1 -0
- package/dist/tests/fixtures/Command.d.ts +20 -0
- package/dist/tests/fixtures/Command.d.ts.map +1 -0
- package/{tests/fixtures/CommandRegistry.ts → dist/tests/fixtures/CommandRegistry.d.ts} +2 -4
- package/dist/tests/fixtures/CommandRegistry.d.ts.map +1 -0
- package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts +10 -0
- package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts.map +1 -0
- package/dist/tests/fixtures/Context.d.ts +4 -0
- package/dist/tests/fixtures/Context.d.ts.map +1 -0
- package/dist/tests/fixtures/ServiceProviderRegistry.d.ts +4 -0
- package/dist/tests/fixtures/ServiceProviderRegistry.d.ts.map +1 -0
- package/dist/tests/fixtures/StreamString.d.ts +10 -0
- package/dist/tests/fixtures/StreamString.d.ts.map +1 -0
- package/dist/tests/fixtures/prettierPluginFoo.d.ts +4 -0
- package/dist/tests/fixtures/prettierPluginFoo.d.ts.map +1 -0
- package/dist/tests/fixtures/util.d.ts +8 -0
- package/dist/tests/fixtures/util.d.ts.map +1 -0
- package/dist/tests/runtime/DefaultContext.test.d.ts +2 -0
- package/dist/tests/runtime/DefaultContext.test.d.ts.map +1 -0
- package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts +2 -0
- package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts.map +1 -0
- package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts +2 -0
- package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts.map +1 -0
- package/dist/tests/runtime/command/CommandValidator.test.d.ts +2 -0
- package/dist/tests/runtime/command/CommandValidator.test.d.ts.map +1 -0
- package/dist/tests/runtime/parser.test.d.ts +2 -0
- package/dist/tests/runtime/parser.test.d.ts.map +1 -0
- package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts +2 -0
- package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts.map +1 -0
- package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts +2 -0
- package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts.map +1 -0
- package/dist/tests/runtime/runner.test.d.ts +2 -0
- package/dist/tests/runtime/runner.test.d.ts.map +1 -0
- package/dist/tests/runtime/scanner.test.d.ts +2 -0
- package/dist/tests/runtime/scanner.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/argumentValueMerge.test.d.ts +2 -0
- package/dist/tests/runtime/values/argumentValueMerge.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/argumentValueValidation.test.d.ts +2 -0
- package/dist/tests/runtime/values/argumentValueValidation.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts +2 -0
- package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts +2 -0
- package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts.map +1 -0
- package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts +2 -0
- package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts.map +1 -0
- package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/banner/BannerServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/banner/BannerServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts +2 -0
- package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts.map +1 -0
- package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/completion/DefaultCompletionService.test.d.ts +2 -0
- package/dist/tests/service/completion/DefaultCompletionService.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/bash.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/bash.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/fish.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/fish.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/powershell.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/powershell.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/zsh.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/zsh.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts +2 -0
- package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/DefaultSecretService.test.d.ts +2 -0
- package/dist/tests/service/configuration/DefaultSecretService.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts +2 -0
- package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts +2 -0
- package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts.map +1 -0
- package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts +2 -0
- package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts +2 -0
- package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/printer/DefaultPrinterService.test.d.ts +2 -0
- package/dist/tests/service/printer/DefaultPrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/NoColorCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/NoColorCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/terminal/Progress.test.d.ts +2 -0
- package/dist/tests/service/printer/terminal/Progress.test.d.ts.map +1 -0
- package/dist/tests/service/printer/terminal/Spinner.test.d.ts +2 -0
- package/dist/tests/service/printer/terminal/Spinner.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts +2 -0
- package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts +2 -0
- package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts +2 -0
- package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts.map +1 -0
- package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts +2 -0
- package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts.map +1 -0
- package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts +2 -0
- package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/terminal/ImageRenderer.test.d.ts +2 -0
- package/dist/tests/terminal/ImageRenderer.test.d.ts.map +1 -0
- package/dist/tests/terminal/PngDecoder.test.d.ts +2 -0
- package/dist/tests/terminal/PngDecoder.test.d.ts.map +1 -0
- package/dist/tests/terminal/supportsHyperlinks.test.d.ts +2 -0
- package/dist/tests/terminal/supportsHyperlinks.test.d.ts.map +1 -0
- package/dist/tests/util/configHelper.test.d.ts +2 -0
- package/dist/tests/util/configHelper.test.d.ts.map +1 -0
- package/dist/tests/util/envVarHelper.test.d.ts +2 -0
- package/dist/tests/util/envVarHelper.test.d.ts.map +1 -0
- package/dist/tests/util/logger.test.d.ts +2 -0
- package/dist/tests/util/logger.test.d.ts.map +1 -0
- package/index.ts +15 -1
- package/package.json +28 -2
- package/src/api/plugin/CommandFactory.ts +25 -0
- package/src/api/plugin/ServiceProviderFactory.ts +27 -0
- package/src/api/service/core/PluginService.ts +63 -0
- package/src/cli/DynamicPluginRuntimeCLI.ts +77 -0
- package/src/command/PluginCommand.ts +184 -0
- package/src/launcher.ts +35 -0
- package/src/service/plugin/DefaultPluginService.ts +37 -0
- package/src/service/plugin/DefaultPluginServiceProvider.ts +29 -0
- package/.github/workflows/check-bun-dependencies.yml +0 -12
- package/.github/workflows/lint-pr-message.yml +0 -13
- package/.github/workflows/release-bun-library.yml +0 -15
- package/.github/workflows/validate-bun-library-pr.yml +0 -10
- package/README/core-commands.md +0 -40
- package/README/core-service-providers.md +0 -198
- package/README/development.md +0 -57
- package/README/implementation-details.md +0 -474
- package/README/key-concepts.md +0 -751
- package/bun.lock +0 -156
- package/tests/cli/BaseCLI.test.ts +0 -283
- package/tests/command/CompletionCommand.test.ts +0 -63
- package/tests/command/MultiCommandCliHelpCommand.test.ts +0 -496
- package/tests/command/SingleCommandCliHelpCommand.test.ts +0 -302
- package/tests/command/UsageCommand.test.ts +0 -48
- package/tests/command/VersionCommand.test.ts +0 -37
- package/tests/fixtures/CLIConfig.ts +0 -9
- package/tests/fixtures/Command.ts +0 -248
- package/tests/fixtures/ConfigurationServiceProvider.ts +0 -28
- package/tests/fixtures/Context.ts +0 -32
- package/tests/fixtures/ServiceProviderRegistry.ts +0 -16
- package/tests/fixtures/StreamString.ts +0 -37
- package/tests/fixtures/prettierPluginFoo.ts +0 -31
- package/tests/fixtures/util.ts +0 -35
- package/tests/runtime/DefaultContext.test.ts +0 -20
- package/tests/runtime/argument/ArgumentTypeGuards.test.ts +0 -47
- package/tests/runtime/command/CommandTypeGuards.test.ts +0 -43
- package/tests/runtime/command/CommandValidator.test.ts +0 -1196
- package/tests/runtime/parser.test.ts +0 -744
- package/tests/runtime/registry/DefaultCommandRegistry.test.ts +0 -144
- package/tests/runtime/registry/DefaultServiceProviderRegistry.test.ts +0 -36
- package/tests/runtime/runner.test.ts +0 -1284
- package/tests/runtime/scanner.test.ts +0 -915
- package/tests/runtime/values/argumentValueMerge.test.ts +0 -366
- package/tests/runtime/values/argumentValueValidation.test.ts +0 -1090
- package/tests/runtime/values/globalCommandValuePopulation.test.ts +0 -480
- package/tests/runtime/values/subCommandValuePopulation.test.ts +0 -2430
- package/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.ts +0 -38
- package/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.ts +0 -745
- package/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.ts +0 -17
- package/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.ts +0 -208
- package/tests/service/asciiBannerGenerator/__snapshots__/DefaultAsciiBannerGeneratorService.test.ts.snap +0 -20
- package/tests/service/asciiBannerGenerator/small.flf.json +0 -3
- package/tests/service/banner/BannerServiceProvider.test.ts +0 -87
- package/tests/service/banner/__snapshots__/BannerServiceProvider.test.ts.snap +0 -16
- package/tests/service/banner/command/NoBannerCommand.test.ts +0 -18
- package/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.ts +0 -52
- package/tests/service/completion/CompletionServiceProvider.test.ts +0 -335
- package/tests/service/completion/DefaultCompletionService.test.ts +0 -216
- package/tests/service/completion/shell/bash.test.ts +0 -73
- package/tests/service/completion/shell/fish.test.ts +0 -60
- package/tests/service/completion/shell/powershell.test.ts +0 -59
- package/tests/service/completion/shell/zsh.test.ts +0 -60
- package/tests/service/configuration/ConfigurationServiceProvider.test.ts +0 -212
- package/tests/service/configuration/DefaultKeyValueService.test.ts +0 -155
- package/tests/service/configuration/DefaultSecretService.test.ts +0 -140
- package/tests/service/configuration/command/ConfigCommand.test.ts +0 -29
- package/tests/service/configuration/command/DumpConfigCommand.test.ts +0 -51
- package/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.ts +0 -51
- package/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts +0 -208
- package/tests/service/imagePrinter/DefaultImagePrinterService.test.ts +0 -31
- package/tests/service/imagePrinter/ImagePrinterServiceProvider.test.ts +0 -17
- package/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts +0 -46
- package/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts +0 -37
- package/tests/service/printer/DefaultPrinterService.test.ts +0 -530
- package/tests/service/printer/PrinterServiceProvider.test.ts +0 -34
- package/tests/service/printer/command/DarkModeCommand.test.ts +0 -75
- package/tests/service/printer/command/LogLevelCommand.test.ts +0 -47
- package/tests/service/printer/command/NoColorCommand.test.ts +0 -75
- package/tests/service/printer/command/NoHyperlinksCommand.test.ts +0 -75
- package/tests/service/printer/terminal/Progress.test.ts +0 -98
- package/tests/service/printer/terminal/Spinner.test.ts +0 -92
- package/tests/service/prompter/DefaultPrompterService.test.ts +0 -598
- package/tests/service/prompter/PrompterServiceProvider.test.ts +0 -41
- package/tests/service/prompter/command/NoPromptCommand.test.ts +0 -58
- package/tests/service/prompter/prompt/PromptContext.test.ts +0 -61
- package/tests/service/shutdown/ShutdownServiceProvider.test.ts +0 -13
- package/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts +0 -101
- package/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts +0 -37
- package/tests/service/tableGenerator/DefaultTableGeneratorService.test.ts +0 -342
- package/tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts +0 -47
- package/tests/service/treePrinter/DefaultTreePrinterService.test.ts +0 -142
- package/tests/service/treePrinter/TreePrinterServiceProvider.test.ts +0 -51
- package/tests/terminal/ImageRenderer.test.ts +0 -152
- package/tests/terminal/PngDecoder.test.ts +0 -219
- package/tests/terminal/supportsHyperlinks.test.ts +0 -149
- package/tests/util/configHelper.test.ts +0 -193
- package/tests/util/envVarHelper.test.ts +0 -254
- package/tests/util/logger.test.ts +0 -56
- package/tsconfig.json +0 -32
|
@@ -1,17 +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 AsciiBannerGeneratorServiceProvider from "../../../src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.ts";
|
|
5
|
-
|
|
6
|
-
describe("AsciiBannerGeneratorServiceProvider tests", () => {
|
|
7
|
-
test("AsciiBannerGeneratorServiceProvider getServiceInfo and initService works", async () => {
|
|
8
|
-
const asciiBannerGeneratorServiceProvider = new AsciiBannerGeneratorServiceProvider(100);
|
|
9
|
-
const cliConfig = getCLIConfig();
|
|
10
|
-
const context = new DefaultContext(cliConfig);
|
|
11
|
-
|
|
12
|
-
const serviceInfo = await asciiBannerGeneratorServiceProvider.getServiceInfo(cliConfig);
|
|
13
|
-
expect(serviceInfo.commands.length).toEqual(0);
|
|
14
|
-
|
|
15
|
-
await asciiBannerGeneratorServiceProvider.initService(context);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "bun:test";
|
|
2
|
-
import DefaultAsciiBannerGeneratorService from "../../../src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.ts";
|
|
3
|
-
|
|
4
|
-
// FIGlet font is converted to a JSON string and embedded in a simple JSON file: `{ "font": "<figlet font definition>" }`
|
|
5
|
-
import smallFont from "./small.flf.json" with { type: "json" };
|
|
6
|
-
describe("DefaultAsciiBannerGeneratorService tests", () => {
|
|
7
|
-
test("standard font registered by default", () => {
|
|
8
|
-
const asciiBannerGeneratorService = new DefaultAsciiBannerGeneratorService();
|
|
9
|
-
|
|
10
|
-
expect(asciiBannerGeneratorService.getRegisteredFonts()).toEqual(["standard"]);
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
test("Cannot register a font if already registered", () => {
|
|
14
|
-
const asciiBannerGeneratorService = new DefaultAsciiBannerGeneratorService();
|
|
15
|
-
|
|
16
|
-
expect(() => asciiBannerGeneratorService.registerFont("standard", smallFont.font)).toThrow();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test("Can register new font", () => {
|
|
20
|
-
const asciiBannerGeneratorService = new DefaultAsciiBannerGeneratorService();
|
|
21
|
-
|
|
22
|
-
asciiBannerGeneratorService.registerFont("small", smallFont.font);
|
|
23
|
-
expect(asciiBannerGeneratorService.getRegisteredFonts()).toEqual(["standard", "small"]);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
test("Cannot generate with unknown font", () => {
|
|
27
|
-
const asciiBannerGeneratorService = new DefaultAsciiBannerGeneratorService();
|
|
28
|
-
|
|
29
|
-
expect(asciiBannerGeneratorService.generate("foo", { fontName: "small" })).rejects.toThrow();
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test("Can generate with standard font", async () => {
|
|
33
|
-
const asciiBannerGeneratorService = new DefaultAsciiBannerGeneratorService();
|
|
34
|
-
|
|
35
|
-
asciiBannerGeneratorService.registerFont("small", smallFont.font);
|
|
36
|
-
|
|
37
|
-
const generated = await asciiBannerGeneratorService.generate("foo", {
|
|
38
|
-
fontName: "standard",
|
|
39
|
-
});
|
|
40
|
-
expect(generated).toMatchSnapshot();
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test("Can generate with newly registered font", async () => {
|
|
44
|
-
const asciiBannerGeneratorService = new DefaultAsciiBannerGeneratorService();
|
|
45
|
-
|
|
46
|
-
asciiBannerGeneratorService.registerFont("small", smallFont.font);
|
|
47
|
-
|
|
48
|
-
const generated = await asciiBannerGeneratorService.generate("foo", {
|
|
49
|
-
fontName: "small",
|
|
50
|
-
});
|
|
51
|
-
expect(generated).toMatchSnapshot();
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
test("subMessage is uppercased and double-spaced", async () => {
|
|
55
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
56
|
-
const result = await service.generate("foo", {
|
|
57
|
-
fontName: "standard",
|
|
58
|
-
subMessage: "hello",
|
|
59
|
-
});
|
|
60
|
-
expect(result).toContain("H E L L O");
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test("fixed foreground color effect adds ANSI codes to title chars", async () => {
|
|
64
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
65
|
-
const result = await service.generate("foo", {
|
|
66
|
-
fontName: "standard",
|
|
67
|
-
colorEffects: {
|
|
68
|
-
messageForeground: { type: "fixed", color: "#ff0000" },
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
expect(result).toContain("\x1b[38;2;");
|
|
72
|
-
expect(result).toContain("\x1b[39m");
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
test("background color effect adds background ANSI codes", async () => {
|
|
76
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
77
|
-
const result = await service.generate("foo", {
|
|
78
|
-
fontName: "standard",
|
|
79
|
-
colorEffects: {
|
|
80
|
-
background: { type: "fixed", color: "#0000ff" },
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
expect(result).toContain("\x1b[48;2;");
|
|
84
|
-
expect(result).toContain("\x1b[49m");
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
test("no ANSI codes when no color effects specified", async () => {
|
|
88
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
89
|
-
const result = await service.generate("foo", { fontName: "standard" });
|
|
90
|
-
expect(result).not.toContain("\x1b[");
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
test("subMessage narrower than banner is padded to center", async () => {
|
|
94
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
95
|
-
const result = await service.generate("foo", {
|
|
96
|
-
fontName: "standard",
|
|
97
|
-
subMessage: "hi",
|
|
98
|
-
});
|
|
99
|
-
const lines = result.trim().split("\n");
|
|
100
|
-
const subLine = lines[lines.length - 1]!;
|
|
101
|
-
expect(subLine.startsWith(" ")).toBe(true);
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
test("subMessage wider than banner pads title lines", async () => {
|
|
105
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
106
|
-
const withoutSub = await service.generate("i", { fontName: "standard" });
|
|
107
|
-
const withSub = await service.generate("i", {
|
|
108
|
-
fontName: "standard",
|
|
109
|
-
subMessage: "x".repeat(40),
|
|
110
|
-
});
|
|
111
|
-
const withoutLines = withoutSub.trim().split("\n");
|
|
112
|
-
const withLines = withSub.trim().split("\n").slice(0, withoutLines.length);
|
|
113
|
-
const maxWith = Math.max(...withLines.map((l) => l.length));
|
|
114
|
-
const maxWithout = Math.max(...withoutLines.map((l) => l.length));
|
|
115
|
-
expect(maxWith).toBeGreaterThan(maxWithout);
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
test("gradient vertical applies different color per line", async () => {
|
|
119
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
120
|
-
const result = await service.generate("foo", {
|
|
121
|
-
fontName: "standard",
|
|
122
|
-
colorEffects: {
|
|
123
|
-
messageForeground: {
|
|
124
|
-
type: "gradient",
|
|
125
|
-
colors: ["#ff0000", "#0000ff"],
|
|
126
|
-
direction: "vertical",
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
const lines = result
|
|
131
|
-
.trim()
|
|
132
|
-
.split("\n")
|
|
133
|
-
.filter((l) => l.includes("\x1b[38;2;"));
|
|
134
|
-
const ansiRe = /\x1b\[38;2;(\d+;\d+;\d+)m/; // oxlint-disable-line no-control-regex
|
|
135
|
-
const firstCodes = lines.map((l) => l.match(ansiRe)?.[1]);
|
|
136
|
-
const unique = new Set(firstCodes.filter(Boolean));
|
|
137
|
-
expect(unique.size).toBeGreaterThan(1);
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
test("gradient horizontal applies different color per char within a line", async () => {
|
|
141
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
142
|
-
const result = await service.generate("foo", {
|
|
143
|
-
fontName: "standard",
|
|
144
|
-
colorEffects: {
|
|
145
|
-
messageForeground: {
|
|
146
|
-
type: "gradient",
|
|
147
|
-
colors: ["#ff0000", "#0000ff"],
|
|
148
|
-
direction: "horizontal",
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
});
|
|
152
|
-
const lines = result
|
|
153
|
-
.trim()
|
|
154
|
-
.split("\n")
|
|
155
|
-
.filter((l) => l.includes("\x1b[38;2;"));
|
|
156
|
-
const firstLine = lines[0]!;
|
|
157
|
-
const ansiReG = /\x1b\[38;2;(\d+;\d+;\d+)m/g; // oxlint-disable-line no-control-regex
|
|
158
|
-
const codes = [...firstLine.matchAll(ansiReG)].map((m) => m[1]);
|
|
159
|
-
const unique = new Set(codes);
|
|
160
|
-
expect(unique.size).toBeGreaterThan(1);
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
test("rainbow horizontal applies ANSI codes varying per char", async () => {
|
|
164
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
165
|
-
const result = await service.generate("foo", {
|
|
166
|
-
fontName: "standard",
|
|
167
|
-
colorEffects: {
|
|
168
|
-
messageForeground: {
|
|
169
|
-
type: "rainbow",
|
|
170
|
-
direction: "horizontal",
|
|
171
|
-
seed: 0.1,
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
});
|
|
175
|
-
expect(result).toContain("\x1b[38;2;");
|
|
176
|
-
const lines = result
|
|
177
|
-
.trim()
|
|
178
|
-
.split("\n")
|
|
179
|
-
.filter((l) => l.includes("\x1b[38;2;"));
|
|
180
|
-
const firstLine = lines[0]!;
|
|
181
|
-
const ansiReG2 = /\x1b\[38;2;(\d+;\d+;\d+)m/g; // oxlint-disable-line no-control-regex
|
|
182
|
-
const codes = [...firstLine.matchAll(ansiReG2)].map((m) => m[1]);
|
|
183
|
-
const unique = new Set(codes);
|
|
184
|
-
expect(unique.size).toBeGreaterThan(1);
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
test("rainbow vertical applies ANSI codes varying per line", async () => {
|
|
188
|
-
const service = new DefaultAsciiBannerGeneratorService();
|
|
189
|
-
const result = await service.generate("foo", {
|
|
190
|
-
fontName: "standard",
|
|
191
|
-
colorEffects: {
|
|
192
|
-
messageForeground: {
|
|
193
|
-
type: "rainbow",
|
|
194
|
-
direction: "vertical",
|
|
195
|
-
seed: 0.1,
|
|
196
|
-
},
|
|
197
|
-
},
|
|
198
|
-
});
|
|
199
|
-
const lines = result
|
|
200
|
-
.trim()
|
|
201
|
-
.split("\n")
|
|
202
|
-
.filter((l) => l.includes("\x1b[38;2;"));
|
|
203
|
-
const ansiRe2 = /\x1b\[38;2;(\d+;\d+;\d+)m/; // oxlint-disable-line no-control-regex
|
|
204
|
-
const firstCodes = lines.map((l) => l.match(ansiRe2)?.[1]);
|
|
205
|
-
const unique = new Set(firstCodes.filter(Boolean));
|
|
206
|
-
expect(unique.size).toBeGreaterThan(1);
|
|
207
|
-
});
|
|
208
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Bun Snapshot v1, https://bun.sh/docs/test/snapshots
|
|
2
|
-
|
|
3
|
-
exports[`DefaultAsciiBannerGeneratorService tests Can generate with standard font 1`] = `
|
|
4
|
-
"
|
|
5
|
-
__
|
|
6
|
-
/ _| ___ ___
|
|
7
|
-
| |_ / _ \\ / _ \\
|
|
8
|
-
| _| (_) | (_) |
|
|
9
|
-
|_| \\___/ \\___/
|
|
10
|
-
"
|
|
11
|
-
`;
|
|
12
|
-
|
|
13
|
-
exports[`DefaultAsciiBannerGeneratorService tests Can generate with newly registered font 1`] = `
|
|
14
|
-
"
|
|
15
|
-
__
|
|
16
|
-
/ _|___ ___
|
|
17
|
-
| _/ _ \\/ _ \\
|
|
18
|
-
|_| \\___/\\___/
|
|
19
|
-
"
|
|
20
|
-
`;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"font": "flf2a$ 5 4 13 15 10 0 22415\nSmall by Glenn Chappell 4/93 -- based on Standard\nIncludes ISO Latin-1\nfiglet release 2.1 -- 12 Aug 1994\nPermission is hereby given to modify this font, as long as the\nmodifier's name is placed on a comment line.\n\nModified by Paul Burton <solution@earthlink.net> 12/96 to include new parameter\nsupported by FIGlet and FIGWin. May also be slightly modified for better use\nof new full-width/kern/smush alternatives, but default output is NOT changed.\n\n $@\n $@\n $@\n $@\n $@@\n _ @\n | |@\n |_|@\n (_)@\n @@\n _ _ @\n ( | )@\n V V @\n $ @\n @@\n _ _ @\n _| | |_ @\n |_ . _|@\n |_ _|@\n |_|_| @@\n @\n ||_@\n (_-<@\n / _/@\n || @@\n _ __ @\n (_)/ / @\n / /_ @\n /_/(_)@\n @@\n __ @\n / _|___ @\n > _|_ _|@\n \\_____| @\n @@\n _ @\n ( )@\n |/ @\n $ @\n @@\n __@\n / /@\n | | @\n | | @\n \\_\\@@\n __ @\n \\ \\ @\n | |@\n | |@\n /_/ @@\n @\n _/\\_@\n > <@\n \\/ @\n @@\n _ @\n _| |_ @\n |_ _|@\n |_| @\n @@\n @\n @\n _ @\n ( )@\n |/ @@\n @\n ___ @\n |___|@\n $ @\n @@\n @\n @\n _ @\n (_)@\n @@\n __@\n / /@\n / / @\n /_/ @\n @@\n __ @\n / \\ @\n | () |@\n \\__/ @\n @@\n _ @\n / |@\n | |@\n |_|@\n @@\n ___ @\n |_ )@\n / / @\n /___|@\n @@\n ____@\n |__ /@\n |_ \\@\n |___/@\n @@\n _ _ @\n | | | @\n |_ _|@\n |_| @\n @@\n ___ @\n | __|@\n |__ \\@\n |___/@\n @@\n __ @\n / / @\n / _ \\@\n \\___/@\n @@\n ____ @\n |__ |@\n / / @\n /_/ @\n @@\n ___ @\n ( _ )@\n / _ \\@\n \\___/@\n @@\n ___ @\n / _ \\@\n \\_, /@\n /_/ @\n @@\n _ @\n (_)@\n _ @\n (_)@\n @@\n _ @\n (_)@\n _ @\n ( )@\n |/ @@\n __@\n / /@\n < < @\n \\_\\@\n @@\n @\n ___ @\n |___|@\n |___|@\n @@\n __ @\n \\ \\ @\n > >@\n /_/ @\n @@\n ___ @\n |__ \\@\n /_/@\n (_) @\n @@\n ____ @\n / __ \\ @\n / / _` |@\n \\ \\__,_|@\n \\____/ @@\n _ @\n /_\\ @\n / _ \\ @\n /_/ \\_\\@\n @@\n ___ @\n | _ )@\n | _ \\@\n |___/@\n @@\n ___ @\n / __|@\n | (__ @\n \\___|@\n @@\n ___ @\n | \\ @\n | |) |@\n |___/ @\n @@\n ___ @\n | __|@\n | _| @\n |___|@\n @@\n ___ @\n | __|@\n | _| @\n |_| @\n @@\n ___ @\n / __|@\n | (_ |@\n \\___|@\n @@\n _ _ @\n | || |@\n | __ |@\n |_||_|@\n @@\n ___ @\n |_ _|@\n | | @\n |___|@\n @@\n _ @\n _ | |@\n | || |@\n \\__/ @\n @@\n _ __@\n | |/ /@\n | ' < @\n |_|\\_\\@\n @@\n _ @\n | | @\n | |__ @\n |____|@\n @@\n __ __ @\n | \\/ |@\n | |\\/| |@\n |_| |_|@\n @@\n _ _ @\n | \\| |@\n | .` |@\n |_|\\_|@\n @@\n ___ @\n / _ \\ @\n | (_) |@\n \\___/ @\n @@\n ___ @\n | _ \\@\n | _/@\n |_| @\n @@\n ___ @\n / _ \\ @\n | (_) |@\n \\__\\_\\@\n @@\n ___ @\n | _ \\@\n | /@\n |_|_\\@\n @@\n ___ @\n / __|@\n \\__ \\@\n |___/@\n @@\n _____ @\n |_ _|@\n | | @\n |_| @\n @@\n _ _ @\n | | | |@\n | |_| |@\n \\___/ @\n @@\n __ __@\n \\ \\ / /@\n \\ V / @\n \\_/ @\n @@\n __ __@\n \\ \\ / /@\n \\ \\/\\/ / @\n \\_/\\_/ @\n @@\n __ __@\n \\ \\/ /@\n > < @\n /_/\\_\\@\n @@\n __ __@\n \\ \\ / /@\n \\ V / @\n |_| @\n @@\n ____@\n |_ /@\n / / @\n /___|@\n @@\n __ @\n | _|@\n | | @\n | | @\n |__|@@\n __ @\n \\ \\ @\n \\ \\ @\n \\_\\@\n @@\n __ @\n |_ |@\n | |@\n | |@\n |__|@@\n /\\ @\n |/\\|@\n $ @\n $ @\n @@\n @\n @\n @\n ___ @\n |___|@@\n _ @\n ( )@\n \\|@\n $ @\n @@\n @\n __ _ @\n / _` |@\n \\__,_|@\n @@\n _ @\n | |__ @\n | '_ \\@\n |_.__/@\n @@\n @\n __ @\n / _|@\n \\__|@\n @@\n _ @\n __| |@\n / _` |@\n \\__,_|@\n @@\n @\n ___ @\n / -_)@\n \\___|@\n @@\n __ @\n / _|@\n | _|@\n |_| @\n @@\n @\n __ _ @\n / _` |@\n \\__, |@\n |___/ @@\n _ @\n | |_ @\n | ' \\ @\n |_||_|@\n @@\n _ @\n (_)@\n | |@\n |_|@\n @@\n _ @\n (_)@\n | |@\n _/ |@\n |__/ @@\n _ @\n | |__@\n | / /@\n |_\\_\\@\n @@\n _ @\n | |@\n | |@\n |_|@\n @@\n @\n _ __ @\n | ' \\ @\n |_|_|_|@\n @@\n @\n _ _ @\n | ' \\ @\n |_||_|@\n @@\n @\n ___ @\n / _ \\@\n \\___/@\n @@\n @\n _ __ @\n | '_ \\@\n | .__/@\n |_| @@\n @\n __ _ @\n / _` |@\n \\__, |@\n |_|@@\n @\n _ _ @\n | '_|@\n |_| @\n @@\n @\n ___@\n (_-<@\n /__/@\n @@\n _ @\n | |_ @\n | _|@\n \\__|@\n @@\n @\n _ _ @\n | || |@\n \\_,_|@\n @@\n @\n __ __@\n \\ V /@\n \\_/ @\n @@\n @\n __ __ __@\n \\ V V /@\n \\_/\\_/ @\n @@\n @\n __ __@\n \\ \\ /@\n /_\\_\\@\n @@\n @\n _ _ @\n | || |@\n \\_, |@\n |__/ @@\n @\n ___@\n |_ /@\n /__|@\n @@\n __@\n / /@\n _| | @\n | | @\n \\_\\@@\n _ @\n | |@\n | |@\n | |@\n |_|@@\n __ @\n \\ \\ @\n | |_@\n | | @\n /_/ @@\n /\\/|@\n |/\\/ @\n $ @\n $ @\n @@\n _ _ @\n (_)(_)@\n /--\\ @\n /_/\\_\\@\n @@\n _ _ @\n (_)(_)@\n / __ \\@\n \\____/@\n @@\n _ _ @\n (_) (_)@\n | |_| |@\n \\___/ @\n @@\n _ _ @\n (_)(_)@\n / _` |@\n \\__,_|@\n @@\n _ _ @\n (_)_(_)@\n / _ \\ @\n \\___/ @\n @@\n _ _ @\n (_)(_)@\n | || |@\n \\_,_|@\n @@\n ___ @\n / _ \\@\n | |< <@\n | ||_/@\n |_| @@\n160 NO-BREAK SPACE\n $@\n $@\n $@\n $@\n $@@\n161 INVERTED EXCLAMATION MARK\n _ @\n (_)@\n | |@\n |_|@\n @@\n162 CENT SIGN\n @\n || @\n / _)@\n \\ _)@\n || @@\n163 POUND SIGN\n __ @\n _/ _\\ @\n |_ _|_ @\n (_,___|@\n @@\n164 CURRENCY SIGN\n /\\_/\\@\n \\ . /@\n / _ \\@\n \\/ \\/@\n @@\n165 YEN SIGN\n __ __ @\n \\ V / @\n |__ __|@\n |__ __|@\n |_| @@\n166 BROKEN BAR\n _ @\n | |@\n |_|@\n | |@\n |_|@@\n167 SECTION SIGN\n __ @\n / _)@\n /\\ \\ @\n \\ \\/ @\n (__/ @@\n168 DIAERESIS\n _ _ @\n (_)(_)@\n $ $ @\n $ $ @\n @@\n169 COPYRIGHT SIGN\n ____ @\n / __ \\ @\n / / _| \\@\n \\ \\__| /@\n \\____/ @@\n170 FEMININE ORDINAL INDICATOR\n __ _ @\n / _` |@\n \\__,_|@\n |____|@\n @@\n171 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\n ____@\n / / /@\n < < < @\n \\_\\_\\@\n @@\n172 NOT SIGN\n ____ @\n |__ |@\n |_|@\n $ @\n @@\n173 SOFT HYPHEN\n @\n __ @\n |__|@\n $ @\n @@\n174 REGISTERED SIGN\n ____ @\n / __ \\ @\n / | -) \\@\n \\ ||\\\\ /@\n \\____/ @@\n175 MACRON\n ___ @\n |___|@\n $ @\n $ @\n @@\n176 DEGREE SIGN\n _ @\n /.\\@\n \\_/@\n $ @\n @@\n177 PLUS-MINUS SIGN\n _ @\n _| |_ @\n |_ _|@\n _|_|_ @\n |_____|@@\n178 SUPERSCRIPT TWO\n __ @\n |_ )@\n /__|@\n $ @\n @@\n179 SUPERSCRIPT THREE\n ___@\n |_ /@\n |__)@\n $ @\n @@\n180 ACUTE ACCENT\n __@\n /_/@\n $ @\n $ @\n @@\n181 MICRO SIGN\n @\n _ _ @\n | || |@\n | .,_|@\n |_| @@\n182 PILCROW SIGN\n ____ @\n / |@\n \\_ | |@\n |_|_|@\n @@\n183 MIDDLE DOT\n @\n _ @\n (_)@\n $ @\n @@\n184 CEDILLA\n @\n @\n @\n _ @\n )_)@@\n185 SUPERSCRIPT ONE\n _ @\n / |@\n |_|@\n $ @\n @@\n186 MASCULINE ORDINAL INDICATOR\n ___ @\n / _ \\@\n \\___/@\n |___|@\n @@\n187 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\n ____ @\n \\ \\ \\ @\n > > >@\n /_/_/ @\n @@\n188 VULGAR FRACTION ONE QUARTER\n _ __ @\n / |/ /__ @\n |_/ /_' |@\n /_/ |_|@\n @@\n189 VULGAR FRACTION ONE HALF\n _ __ @\n / |/ /_ @\n |_/ /_ )@\n /_//__|@\n @@\n190 VULGAR FRACTION THREE QUARTERS\n ___ __ @\n |_ // /__ @\n |__) /_' |@\n /_/ |_|@\n @@\n191 INVERTED QUESTION MARK\n _ @\n (_) @\n / /_ @\n \\___|@\n @@\n192 LATIN CAPITAL LETTER A WITH GRAVE\n __ @\n \\_\\ @\n /--\\ @\n /_/\\_\\@\n @@\n193 LATIN CAPITAL LETTER A WITH ACUTE\n __ @\n /_/ @\n /--\\ @\n /_/\\_\\@\n @@\n194 LATIN CAPITAL LETTER A WITH CIRCUMFLEX\n /\\ @\n |/\\| @\n /--\\ @\n /_/\\_\\@\n @@\n195 LATIN CAPITAL LETTER A WITH TILDE\n /\\/|@\n |/\\/ @\n /--\\ @\n /_/\\_\\@\n @@\n196 LATIN CAPITAL LETTER A WITH DIAERESIS\n _ _ @\n (_)(_)@\n /--\\ @\n /_/\\_\\@\n @@\n197 LATIN CAPITAL LETTER A WITH RING ABOVE\n __ @\n (()) @\n /--\\ @\n /_/\\_\\@\n @@\n198 LATIN CAPITAL LETTER AE\n ____ @\n /, __|@\n / _ _| @\n /_/|___|@\n @@\n199 LATIN CAPITAL LETTER C WITH CEDILLA\n ___ @\n / __|@\n | (__ @\n \\___|@\n )_) @@\n200 LATIN CAPITAL LETTER E WITH GRAVE\n __ @\n \\_\\@\n | -<@\n |__<@\n @@\n201 LATIN CAPITAL LETTER E WITH ACUTE\n __@\n /_/@\n | -<@\n |__<@\n @@\n202 LATIN CAPITAL LETTER E WITH CIRCUMFLEX\n /\\ @\n |/\\|@\n | -<@\n |__<@\n @@\n203 LATIN CAPITAL LETTER E WITH DIAERESIS\n _ _ @\n (_)(_)@\n | -< @\n |__< @\n @@\n204 LATIN CAPITAL LETTER I WITH GRAVE\n __ @\n \\_\\ @\n |_ _|@\n |___|@\n @@\n205 LATIN CAPITAL LETTER I WITH ACUTE\n __ @\n /_/ @\n |_ _|@\n |___|@\n @@\n206 LATIN CAPITAL LETTER I WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n |_ _|@\n |___|@\n @@\n207 LATIN CAPITAL LETTER I WITH DIAERESIS\n _ _ @\n (_)_(_)@\n |_ _| @\n |___| @\n @@\n208 LATIN CAPITAL LETTER ETH\n ____ @\n | __ \\ @\n |_ _|) |@\n |____/ @\n @@\n209 LATIN CAPITAL LETTER N WITH TILDE\n /\\/|@\n |/\\/ @\n | \\| |@\n |_|\\_|@\n @@\n210 LATIN CAPITAL LETTER O WITH GRAVE\n __ @\n \\_\\_ @\n / __ \\@\n \\____/@\n @@\n211 LATIN CAPITAL LETTER O WITH ACUTE\n __ @\n _/_/ @\n / __ \\@\n \\____/@\n @@\n212 LATIN CAPITAL LETTER O WITH CIRCUMFLEX\n /\\ @\n |/\\| @\n / __ \\@\n \\____/@\n @@\n213 LATIN CAPITAL LETTER O WITH TILDE\n /\\/|@\n |/\\/ @\n / __ \\@\n \\____/@\n @@\n214 LATIN CAPITAL LETTER O WITH DIAERESIS\n _ _ @\n (_)(_)@\n / __ \\@\n \\____/@\n @@\n215 MULTIPLICATION SIGN\n @\n /\\/\\@\n > <@\n \\/\\/@\n @@\n216 LATIN CAPITAL LETTER O WITH STROKE\n ____ @\n / _//\\ @\n | (//) |@\n \\//__/ @\n @@\n217 LATIN CAPITAL LETTER U WITH GRAVE\n __ @\n _\\_\\_ @\n | |_| |@\n \\___/ @\n @@\n218 LATIN CAPITAL LETTER U WITH ACUTE\n __ @\n _/_/_ @\n | |_| |@\n \\___/ @\n @@\n219 LATIN CAPITAL LETTER U WITH CIRCUMFLEX\n //\\ @\n |/ \\| @\n | |_| |@\n \\___/ @\n @@\n220 LATIN CAPITAL LETTER U WITH DIAERESIS\n _ _ @\n (_) (_)@\n | |_| |@\n \\___/ @\n @@\n221 LATIN CAPITAL LETTER Y WITH ACUTE\n __ @\n _/_/_@\n \\ V /@\n |_| @\n @@\n222 LATIN CAPITAL LETTER THORN\n _ @\n | |_ @\n | -_)@\n |_| @\n @@\n223 LATIN SMALL LETTER SHARP S\n ___ @\n / _ \\@\n | |< <@\n | ||_/@\n |_| @@\n224 LATIN SMALL LETTER A WITH GRAVE\n __ @\n \\_\\_ @\n / _` |@\n \\__,_|@\n @@\n225 LATIN SMALL LETTER A WITH ACUTE\n __ @\n _/_/ @\n / _` |@\n \\__,_|@\n @@\n226 LATIN SMALL LETTER A WITH CIRCUMFLEX\n /\\ @\n |/\\| @\n / _` |@\n \\__,_|@\n @@\n227 LATIN SMALL LETTER A WITH TILDE\n /\\/|@\n |/\\/ @\n / _` |@\n \\__,_|@\n @@\n228 LATIN SMALL LETTER A WITH DIAERESIS\n _ _ @\n (_)(_)@\n / _` |@\n \\__,_|@\n @@\n229 LATIN SMALL LETTER A WITH RING ABOVE\n __ @\n (()) @\n / _` |@\n \\__,_|@\n @@\n230 LATIN SMALL LETTER AE\n @\n __ ___ @\n / _` -_)@\n \\__,___|@\n @@\n231 LATIN SMALL LETTER C WITH CEDILLA\n @\n __ @\n / _|@\n \\__|@\n )_)@@\n232 LATIN SMALL LETTER E WITH GRAVE\n __ @\n \\_\\ @\n / -_)@\n \\___|@\n @@\n233 LATIN SMALL LETTER E WITH ACUTE\n __ @\n /_/ @\n / -_)@\n \\___|@\n @@\n234 LATIN SMALL LETTER E WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n / -_)@\n \\___|@\n @@\n235 LATIN SMALL LETTER E WITH DIAERESIS\n _ _ @\n (_)_(_)@\n / -_) @\n \\___| @\n @@\n236 LATIN SMALL LETTER I WITH GRAVE\n __ @\n \\_\\@\n | |@\n |_|@\n @@\n237 LATIN SMALL LETTER I WITH ACUTE\n __@\n /_/@\n | |@\n |_|@\n @@\n238 LATIN SMALL LETTER I WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n | | @\n |_| @\n @@\n239 LATIN SMALL LETTER I WITH DIAERESIS\n _ _ @\n (_)_(_)@\n | | @\n |_| @\n @@\n240 LATIN SMALL LETTER ETH\n \\\\/\\ @\n \\/\\\\ @\n / _` |@\n \\___/ @\n @@\n241 LATIN SMALL LETTER N WITH TILDE\n /\\/| @\n |/\\/ @\n | ' \\ @\n |_||_|@\n @@\n242 LATIN SMALL LETTER O WITH GRAVE\n __ @\n \\_\\ @\n / _ \\@\n \\___/@\n @@\n243 LATIN SMALL LETTER O WITH ACUTE\n __ @\n /_/ @\n / _ \\@\n \\___/@\n @@\n244 LATIN SMALL LETTER O WITH CIRCUMFLEX\n //\\ @\n |/_\\|@\n / _ \\@\n \\___/@\n @@\n245 LATIN SMALL LETTER O WITH TILDE\n /\\/|@\n |/\\/ @\n / _ \\@\n \\___/@\n @@\n246 LATIN SMALL LETTER O WITH DIAERESIS\n _ _ @\n (_)_(_)@\n / _ \\ @\n \\___/ @\n @@\n247 DIVISION SIGN\n _ @\n (_) @\n |___|@\n (_) @\n @@\n248 LATIN SMALL LETTER O WITH STROKE\n @\n ___ @\n / //\\@\n \\//_/@\n @@\n249 LATIN SMALL LETTER U WITH GRAVE\n __ @\n \\_\\_ @\n | || |@\n \\_,_|@\n @@\n250 LATIN SMALL LETTER U WITH ACUTE\n __ @\n _/_/ @\n | || |@\n \\_,_|@\n @@\n251 LATIN SMALL LETTER U WITH CIRCUMFLEX\n /\\ @\n |/\\| @\n | || |@\n \\_,_|@\n @@\n252 LATIN SMALL LETTER U WITH DIAERESIS\n _ _ @\n (_)(_)@\n | || |@\n \\_,_|@\n @@\n253 LATIN SMALL LETTER Y WITH ACUTE\n __ @\n _/_/ @\n | || |@\n \\_, |@\n |__/ @@\n254 LATIN SMALL LETTER THORN\n _ @\n | |__ @\n | '_ \\@\n | .__/@\n |_| @@\n255 LATIN SMALL LETTER Y WITH DIAERESIS\n _ _ @\n (_)(_)@\n | || |@\n \\_, |@\n |__/ @@\n"
|
|
3
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "bun:test";
|
|
2
|
-
import { getCLIConfig } from "../../fixtures/CLIConfig.ts";
|
|
3
|
-
import BannerServiceProvider from "../../../src/service/banner/BannerServiceProvider.ts";
|
|
4
|
-
import DefaultPrinterService from "../../../src/service/printer/DefaultPrinterService.ts";
|
|
5
|
-
import { PRINTER_SERVICE_ID } from "../../../src/api/service/core/PrinterService.ts";
|
|
6
|
-
import DefaultContext from "../../../src/runtime/DefaultContext.ts";
|
|
7
|
-
import { ASCII_BANNER_GENERATOR_SERVICE_ID } from "../../../src/api/service/core/AsciiBannerGeneratorService.ts";
|
|
8
|
-
import DefaultAsciiBannerGeneratorService from "../../../src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.ts";
|
|
9
|
-
import TtyTerminal from "../../../src/terminal/TtyTerminal.ts";
|
|
10
|
-
import StreamString from "../../fixtures/StreamString.ts";
|
|
11
|
-
import TtyStyler from "../../../src/terminal/TtyStyler.ts";
|
|
12
|
-
import { getConfigurationServiceProvider } from "../../fixtures/ConfigurationServiceProvider.ts";
|
|
13
|
-
|
|
14
|
-
// FIGlet font is converted to a JSON string and embedded in a simple JSON file: `{ "font": "<figlet font definition>" }`
|
|
15
|
-
import smallFont from "../asciiBannerGenerator/small.flf.json" with { type: "json" };
|
|
16
|
-
|
|
17
|
-
describe("BannerServiceProvider tests", () => {
|
|
18
|
-
test("BannerServiceProvider getServiceInfo works", async () => {
|
|
19
|
-
const bannerServiceProvider = new BannerServiceProvider(100);
|
|
20
|
-
const serviceInfo = await bannerServiceProvider.getServiceInfo(getCLIConfig());
|
|
21
|
-
expect(serviceInfo.commands.length).toEqual(1);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
test("BannerServiceProvider initService works", async () => {
|
|
25
|
-
const dummyStdout = new StreamString();
|
|
26
|
-
const dummyStderr = new StreamString();
|
|
27
|
-
const printer = new DefaultPrinterService(
|
|
28
|
-
dummyStdout.writableStream,
|
|
29
|
-
dummyStderr.writableStream,
|
|
30
|
-
true,
|
|
31
|
-
true,
|
|
32
|
-
new TtyTerminal(dummyStdout.writeStream),
|
|
33
|
-
new TtyTerminal(dummyStderr.writeStream),
|
|
34
|
-
new TtyStyler(3),
|
|
35
|
-
);
|
|
36
|
-
printer.colorEnabled = false;
|
|
37
|
-
|
|
38
|
-
const asciiBannerGenerator = new DefaultAsciiBannerGeneratorService();
|
|
39
|
-
const context = new DefaultContext(getCLIConfig());
|
|
40
|
-
|
|
41
|
-
context.addServiceInstance(PRINTER_SERVICE_ID, printer);
|
|
42
|
-
context.addServiceInstance(ASCII_BANNER_GENERATOR_SERVICE_ID, asciiBannerGenerator);
|
|
43
|
-
|
|
44
|
-
const bannerServiceProvider = new BannerServiceProvider(100);
|
|
45
|
-
await bannerServiceProvider.initService(context);
|
|
46
|
-
|
|
47
|
-
expect(bannerServiceProvider.printBanner).toBeTrue();
|
|
48
|
-
|
|
49
|
-
expect(dummyStderr.getString()).toMatchSnapshot();
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
test("BannerServiceProvider with configuration service and custom font name works", async () => {
|
|
53
|
-
const dummyStdout = new StreamString();
|
|
54
|
-
const dummyStderr = new StreamString();
|
|
55
|
-
const printer = new DefaultPrinterService(
|
|
56
|
-
dummyStdout.writableStream,
|
|
57
|
-
dummyStderr.writableStream,
|
|
58
|
-
true,
|
|
59
|
-
true,
|
|
60
|
-
new TtyTerminal(dummyStdout.writeStream),
|
|
61
|
-
new TtyTerminal(dummyStderr.writeStream),
|
|
62
|
-
new TtyStyler(3),
|
|
63
|
-
);
|
|
64
|
-
printer.colorEnabled = false;
|
|
65
|
-
|
|
66
|
-
const asciiBannerGenerator = new DefaultAsciiBannerGeneratorService();
|
|
67
|
-
const context = new DefaultContext(getCLIConfig("mpeg-sdl-tool"));
|
|
68
|
-
|
|
69
|
-
context.addServiceInstance(PRINTER_SERVICE_ID, printer);
|
|
70
|
-
context.addServiceInstance(ASCII_BANNER_GENERATOR_SERVICE_ID, asciiBannerGenerator);
|
|
71
|
-
|
|
72
|
-
asciiBannerGenerator.registerFont("small", smallFont.font);
|
|
73
|
-
|
|
74
|
-
const configurationServiceProvider = getConfigurationServiceProvider(100, new Map());
|
|
75
|
-
configurationServiceProvider.configLocation = "config.yaml";
|
|
76
|
-
|
|
77
|
-
const bannerServiceProvider = new BannerServiceProvider(
|
|
78
|
-
100,
|
|
79
|
-
configurationServiceProvider,
|
|
80
|
-
"small",
|
|
81
|
-
);
|
|
82
|
-
await bannerServiceProvider.initService(context);
|
|
83
|
-
await printer.error("some text\n");
|
|
84
|
-
expect(bannerServiceProvider.printBanner).toBeTrue();
|
|
85
|
-
expect(dummyStdout.getString()).toMatchSnapshot();
|
|
86
|
-
});
|
|
87
|
-
});
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// Bun Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`BannerServiceProvider tests BannerServiceProvider initService works 1`] = `
|
|
4
|
-
"
|
|
5
|
-
_____ ___ ___
|
|
6
|
-
| ___/ _ \\ / _ \\
|
|
7
|
-
| |_ | | | | | | |
|
|
8
|
-
| _|| |_| | |_| |
|
|
9
|
-
|_| \\___/ \\___/
|
|
10
|
-
bar
|
|
11
|
-
version: foobar
|
|
12
|
-
|
|
13
|
-
"
|
|
14
|
-
`;
|
|
15
|
-
|
|
16
|
-
exports[`BannerServiceProvider tests BannerServiceProvider with configuration service and custom font name works 1`] = `""`;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "bun:test";
|
|
2
|
-
import NoBannerCommand from "../../../../src/service/banner/command/NoBannerCommand.ts";
|
|
3
|
-
import DefaultContext from "../../../../src/runtime/DefaultContext.ts";
|
|
4
|
-
import { getCLIConfig } from "../../../fixtures/CLIConfig.ts";
|
|
5
|
-
import BannerServiceProvider from "../../../../src/service/banner/BannerServiceProvider.ts";
|
|
6
|
-
|
|
7
|
-
describe("NoBannerCommand tests", () => {
|
|
8
|
-
test("No banner works", async () => {
|
|
9
|
-
const bannerServiceProvider = new BannerServiceProvider(100);
|
|
10
|
-
const noBannerCommand = new NoBannerCommand(bannerServiceProvider, 110);
|
|
11
|
-
|
|
12
|
-
expect(bannerServiceProvider.printBanner).toBeTrue();
|
|
13
|
-
|
|
14
|
-
await noBannerCommand.execute(new DefaultContext(getCLIConfig()), true);
|
|
15
|
-
|
|
16
|
-
expect(bannerServiceProvider.printBanner).toBeFalse();
|
|
17
|
-
});
|
|
18
|
-
});
|
package/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "bun:test";
|
|
2
|
-
import ChiselFontAsciiBannerGeneratorService from "../../../src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.ts";
|
|
3
|
-
|
|
4
|
-
describe("ChiselFontAsciiBannerGeneratorService tests", () => {
|
|
5
|
-
test("registerFont throws", () => {
|
|
6
|
-
const service = new ChiselFontAsciiBannerGeneratorService();
|
|
7
|
-
expect(() => service.registerFont("anything", "definition")).toThrow();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
test("getRegisteredFonts returns chisel only", () => {
|
|
11
|
-
const service = new ChiselFontAsciiBannerGeneratorService();
|
|
12
|
-
expect(service.getRegisteredFonts()).toEqual(["chisel"]);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test("generate returns non-empty string with ANSI codes", async () => {
|
|
16
|
-
const service = new ChiselFontAsciiBannerGeneratorService();
|
|
17
|
-
const result = await service.generate("HI");
|
|
18
|
-
expect(result.length).toBeGreaterThan(0);
|
|
19
|
-
expect(result).toContain("\x1b[");
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test("custom chisel colors replace default ANSI codes", async () => {
|
|
23
|
-
const service = new ChiselFontAsciiBannerGeneratorService();
|
|
24
|
-
// Generate without custom colors to get baseline
|
|
25
|
-
const baseline = await service.generate("HI");
|
|
26
|
-
// Generate with custom colors
|
|
27
|
-
const result = await service.generate("HI", {
|
|
28
|
-
chiselColors: { shadowForeground: 33 },
|
|
29
|
-
});
|
|
30
|
-
// The result should differ from baseline (color replacement occurred)
|
|
31
|
-
// shadowForeground maps \x1b[90m -> \x1b[33m
|
|
32
|
-
expect(result).not.toContain("\x1b[90m");
|
|
33
|
-
expect(result).toContain("\x1b[33m");
|
|
34
|
-
expect(result).not.toEqual(baseline);
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
test("subMessage appears uppercased and double-spaced", async () => {
|
|
38
|
-
const service = new ChiselFontAsciiBannerGeneratorService();
|
|
39
|
-
const result = await service.generate("HI", { subMessage: "world" });
|
|
40
|
-
expect(result).toContain("W O R L D");
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test("fixed foreground color effect adds ANSI codes", async () => {
|
|
44
|
-
const service = new ChiselFontAsciiBannerGeneratorService();
|
|
45
|
-
const result = await service.generate("HI", {
|
|
46
|
-
colorEffects: {
|
|
47
|
-
messageForeground: { type: "fixed", color: "#00ff00" },
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
expect(result).toContain("\x1b[38;2;");
|
|
51
|
-
});
|
|
52
|
-
});
|