@breadstone-infrastructure/utilities 0.0.12-beta.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/Cli/Abstracts/ProgramCommandBase.d.ts +60 -0
- package/Cli/Abstracts/ProgramCommandBase.d.ts.map +1 -0
- package/Cli/Abstracts/ProgramCommandBase.js +64 -0
- package/Cli/Abstracts/ProgramCommandBase.js.map +1 -0
- package/Cli/Builders/ProgramBuilder.d.ts +39 -0
- package/Cli/Builders/ProgramBuilder.d.ts.map +1 -0
- package/Cli/Builders/ProgramBuilder.js +73 -0
- package/Cli/Builders/ProgramBuilder.js.map +1 -0
- package/Cli/Builders/ProgramCommandBuilder.d.ts +78 -0
- package/Cli/Builders/ProgramCommandBuilder.d.ts.map +1 -0
- package/Cli/Builders/ProgramCommandBuilder.js +147 -0
- package/Cli/Builders/ProgramCommandBuilder.js.map +1 -0
- package/Cli/Interfaces/IProgramArg.d.ts +11 -0
- package/Cli/Interfaces/IProgramArg.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramArg.js +4 -0
- package/Cli/Interfaces/IProgramArg.js.map +1 -0
- package/Cli/Interfaces/IProgramArgOptions.d.ts +9 -0
- package/Cli/Interfaces/IProgramArgOptions.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramArgOptions.js +4 -0
- package/Cli/Interfaces/IProgramArgOptions.js.map +1 -0
- package/Cli/Interfaces/IProgramArgs.d.ts +27 -0
- package/Cli/Interfaces/IProgramArgs.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramArgs.js +4 -0
- package/Cli/Interfaces/IProgramArgs.js.map +1 -0
- package/Cli/Interfaces/IProgramCommand.d.ts +53 -0
- package/Cli/Interfaces/IProgramCommand.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramCommand.js +4 -0
- package/Cli/Interfaces/IProgramCommand.js.map +1 -0
- package/Cli/Interfaces/IProgramCommands.d.ts +47 -0
- package/Cli/Interfaces/IProgramCommands.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramCommands.js +4 -0
- package/Cli/Interfaces/IProgramCommands.js.map +1 -0
- package/Cli/Interfaces/IProgramConfig.d.ts +10 -0
- package/Cli/Interfaces/IProgramConfig.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramConfig.js +3 -0
- package/Cli/Interfaces/IProgramConfig.js.map +1 -0
- package/Cli/Interfaces/IProgramInit.d.ts +14 -0
- package/Cli/Interfaces/IProgramInit.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramInit.js +3 -0
- package/Cli/Interfaces/IProgramInit.js.map +1 -0
- package/Cli/Program.d.ts +97 -0
- package/Cli/Program.d.ts.map +1 -0
- package/Cli/Program.js +217 -0
- package/Cli/Program.js.map +1 -0
- package/Cli/ProgramArgs.d.ts +39 -0
- package/Cli/ProgramArgs.d.ts.map +1 -0
- package/Cli/ProgramArgs.js +83 -0
- package/Cli/ProgramArgs.js.map +1 -0
- package/Cli/ProgramCommandResult.d.ts +13 -0
- package/Cli/ProgramCommandResult.d.ts.map +1 -0
- package/Cli/ProgramCommandResult.js +3 -0
- package/Cli/ProgramCommandResult.js.map +1 -0
- package/Cli/ProgramCommands.d.ts +66 -0
- package/Cli/ProgramCommands.d.ts.map +1 -0
- package/Cli/ProgramCommands.js +173 -0
- package/Cli/ProgramCommands.js.map +1 -0
- package/Cli/ProgramConfig.d.ts +24 -0
- package/Cli/ProgramConfig.d.ts.map +1 -0
- package/Cli/ProgramConfig.js +51 -0
- package/Cli/ProgramConfig.js.map +1 -0
- package/Cli/ProgramDoneFn.d.ts +5 -0
- package/Cli/ProgramDoneFn.d.ts.map +1 -0
- package/Cli/ProgramDoneFn.js +3 -0
- package/Cli/ProgramDoneFn.js.map +1 -0
- package/Compiler/TypeScript.d.ts +19 -0
- package/Compiler/TypeScript.d.ts.map +1 -0
- package/Compiler/TypeScript.js +166 -0
- package/Compiler/TypeScript.js.map +1 -0
- package/DI/Container.d.ts +73 -0
- package/DI/Container.d.ts.map +1 -0
- package/DI/Container.js +143 -0
- package/DI/Container.js.map +1 -0
- package/DI/Inject.d.ts +11 -0
- package/DI/Inject.d.ts.map +1 -0
- package/DI/Inject.js +18 -0
- package/DI/Inject.js.map +1 -0
- package/Decorators/EnumerableDecorator.d.ts +6 -0
- package/Decorators/EnumerableDecorator.d.ts.map +1 -0
- package/Decorators/EnumerableDecorator.js +18 -0
- package/Decorators/EnumerableDecorator.js.map +1 -0
- package/Events/AsyncEventEmitter.d.ts +8 -0
- package/Events/AsyncEventEmitter.d.ts.map +1 -0
- package/Events/AsyncEventEmitter.js +37 -0
- package/Events/AsyncEventEmitter.js.map +1 -0
- package/IO/CustomElementManifest.d.ts +254 -0
- package/IO/CustomElementManifest.d.ts.map +1 -0
- package/IO/CustomElementManifest.js +56 -0
- package/IO/CustomElementManifest.js.map +1 -0
- package/IO/Directory.d.ts +78 -0
- package/IO/Directory.d.ts.map +1 -0
- package/IO/Directory.js +184 -0
- package/IO/Directory.js.map +1 -0
- package/IO/Encoding.d.ts +2 -0
- package/IO/Encoding.d.ts.map +1 -0
- package/IO/Encoding.js +3 -0
- package/IO/Encoding.js.map +1 -0
- package/IO/File.d.ts +148 -0
- package/IO/File.d.ts.map +1 -0
- package/IO/File.js +314 -0
- package/IO/File.js.map +1 -0
- package/IO/FileSystemInfo.d.ts +46 -0
- package/IO/FileSystemInfo.d.ts.map +1 -0
- package/IO/FileSystemInfo.js +129 -0
- package/IO/FileSystemInfo.js.map +1 -0
- package/IO/FileSystemWatcher.d.ts +49 -0
- package/IO/FileSystemWatcher.d.ts.map +1 -0
- package/IO/FileSystemWatcher.js +93 -0
- package/IO/FileSystemWatcher.js.map +1 -0
- package/IO/Glob.d.ts +35 -0
- package/IO/Glob.d.ts.map +1 -0
- package/IO/Glob.js +152 -0
- package/IO/Glob.js.map +1 -0
- package/IO/Json.d.ts +84 -0
- package/IO/Json.d.ts.map +1 -0
- package/IO/Json.js +114 -0
- package/IO/Json.js.map +1 -0
- package/IO/Path.d.ts +125 -0
- package/IO/Path.d.ts.map +1 -0
- package/IO/Path.js +283 -0
- package/IO/Path.js.map +1 -0
- package/IO/PcfControlManifest.d.ts +79 -0
- package/IO/PcfControlManifest.d.ts.map +1 -0
- package/IO/PcfControlManifest.js +93 -0
- package/IO/PcfControlManifest.js.map +1 -0
- package/IO/Reader/Interfaces/IFileReader.d.ts +30 -0
- package/IO/Reader/Interfaces/IFileReader.d.ts.map +1 -0
- package/IO/Reader/Interfaces/IFileReader.js +3 -0
- package/IO/Reader/Interfaces/IFileReader.js.map +1 -0
- package/IO/Reader/TextFileReader.d.ts +53 -0
- package/IO/Reader/TextFileReader.d.ts.map +1 -0
- package/IO/Reader/TextFileReader.js +167 -0
- package/IO/Reader/TextFileReader.js.map +1 -0
- package/IO/Resx.d.ts +49 -0
- package/IO/Resx.d.ts.map +1 -0
- package/IO/Resx.js +95 -0
- package/IO/Resx.js.map +1 -0
- package/IO/SymbolikLink.d.ts +6 -0
- package/IO/SymbolikLink.d.ts.map +1 -0
- package/IO/SymbolikLink.js +10 -0
- package/IO/SymbolikLink.js.map +1 -0
- package/IO/Template.d.ts +41 -0
- package/IO/Template.d.ts.map +1 -0
- package/IO/Template.js +71 -0
- package/IO/Template.js.map +1 -0
- package/IO/TemporaryDirectory.d.ts +28 -0
- package/IO/TemporaryDirectory.d.ts.map +1 -0
- package/IO/TemporaryDirectory.js +76 -0
- package/IO/TemporaryDirectory.js.map +1 -0
- package/IO/TemporaryFile.d.ts +28 -0
- package/IO/TemporaryFile.d.ts.map +1 -0
- package/IO/TemporaryFile.js +77 -0
- package/IO/TemporaryFile.js.map +1 -0
- package/IO/Writer/Interfaces/IFileWriter.d.ts +31 -0
- package/IO/Writer/Interfaces/IFileWriter.d.ts.map +1 -0
- package/IO/Writer/Interfaces/IFileWriter.js +4 -0
- package/IO/Writer/Interfaces/IFileWriter.js.map +1 -0
- package/IO/Writer/TextFileWriter.d.ts +56 -0
- package/IO/Writer/TextFileWriter.d.ts.map +1 -0
- package/IO/Writer/TextFileWriter.js +129 -0
- package/IO/Writer/TextFileWriter.js.map +1 -0
- package/IO/vNext/FileCache.d.ts +46 -0
- package/IO/vNext/FileCache.d.ts.map +1 -0
- package/IO/vNext/FileCache.js +94 -0
- package/IO/vNext/FileCache.js.map +1 -0
- package/IO/vNext/FileSystem.d.ts +107 -0
- package/IO/vNext/FileSystem.d.ts.map +1 -0
- package/IO/vNext/FileSystem.js +148 -0
- package/IO/vNext/FileSystem.js.map +1 -0
- package/IO/vNext/Interfaces/IFileCache.d.ts +56 -0
- package/IO/vNext/Interfaces/IFileCache.d.ts.map +1 -0
- package/IO/vNext/Interfaces/IFileCache.js +3 -0
- package/IO/vNext/Interfaces/IFileCache.js.map +1 -0
- package/IO/vNext/Interfaces/IFileSystem.d.ts +102 -0
- package/IO/vNext/Interfaces/IFileSystem.d.ts.map +1 -0
- package/IO/vNext/Interfaces/IFileSystem.js +4 -0
- package/IO/vNext/Interfaces/IFileSystem.js.map +1 -0
- package/Index.d.ts +62 -0
- package/Index.d.ts.map +1 -0
- package/Index.js +132 -0
- package/Index.js.map +1 -0
- package/Intl/Languages.d.ts +12 -0
- package/Intl/Languages.d.ts.map +1 -0
- package/Intl/Languages.js +865 -0
- package/Intl/Languages.js.map +1 -0
- package/LICENSE +21 -0
- package/Logging/Appenders/Abstracts/Appender.d.ts +21 -0
- package/Logging/Appenders/Abstracts/Appender.d.ts.map +1 -0
- package/Logging/Appenders/Abstracts/Appender.js +78 -0
- package/Logging/Appenders/Abstracts/Appender.js.map +1 -0
- package/Logging/Appenders/Interfaces/IAppender.d.ts +13 -0
- package/Logging/Appenders/Interfaces/IAppender.d.ts.map +1 -0
- package/Logging/Appenders/Interfaces/IAppender.js +4 -0
- package/Logging/Appenders/Interfaces/IAppender.js.map +1 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.d.ts +9 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.d.ts.map +1 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.js +3 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.js.map +1 -0
- package/Logging/Appenders/LogLevelAppender.d.ts +29 -0
- package/Logging/Appenders/LogLevelAppender.d.ts.map +1 -0
- package/Logging/Appenders/LogLevelAppender.js +102 -0
- package/Logging/Appenders/LogLevelAppender.js.map +1 -0
- package/Logging/Appenders/MessageAppender.d.ts +26 -0
- package/Logging/Appenders/MessageAppender.d.ts.map +1 -0
- package/Logging/Appenders/MessageAppender.js +91 -0
- package/Logging/Appenders/MessageAppender.js.map +1 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.d.ts +20 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.d.ts.map +1 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.js +4 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.js.map +1 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.d.ts +5 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.d.ts.map +1 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.js +3 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.js.map +1 -0
- package/Logging/Appenders/TagAppender.d.ts +25 -0
- package/Logging/Appenders/TagAppender.d.ts.map +1 -0
- package/Logging/Appenders/TagAppender.js +49 -0
- package/Logging/Appenders/TagAppender.js.map +1 -0
- package/Logging/Appenders/TimeStampAppender.d.ts +22 -0
- package/Logging/Appenders/TimeStampAppender.d.ts.map +1 -0
- package/Logging/Appenders/TimeStampAppender.js +44 -0
- package/Logging/Appenders/TimeStampAppender.js.map +1 -0
- package/Logging/Interfaces/ILogEntry.d.ts +13 -0
- package/Logging/Interfaces/ILogEntry.d.ts.map +1 -0
- package/Logging/Interfaces/ILogEntry.js +4 -0
- package/Logging/Interfaces/ILogEntry.js.map +1 -0
- package/Logging/Interfaces/ILogOptions.d.ts +17 -0
- package/Logging/Interfaces/ILogOptions.d.ts.map +1 -0
- package/Logging/Interfaces/ILogOptions.js +4 -0
- package/Logging/Interfaces/ILogOptions.js.map +1 -0
- package/Logging/Interfaces/ILoggerScope.d.ts +7 -0
- package/Logging/Interfaces/ILoggerScope.d.ts.map +1 -0
- package/Logging/Interfaces/ILoggerScope.js +3 -0
- package/Logging/Interfaces/ILoggerScope.js.map +1 -0
- package/Logging/Interfaces/ILoggerScopeConfig.d.ts +9 -0
- package/Logging/Interfaces/ILoggerScopeConfig.d.ts.map +1 -0
- package/Logging/Interfaces/ILoggerScopeConfig.js +4 -0
- package/Logging/Interfaces/ILoggerScopeConfig.js.map +1 -0
- package/Logging/LogLevel.d.ts +5 -0
- package/Logging/LogLevel.d.ts.map +1 -0
- package/Logging/LogLevel.js +3 -0
- package/Logging/LogLevel.js.map +1 -0
- package/Logging/Logger.d.ts +148 -0
- package/Logging/Logger.d.ts.map +1 -0
- package/Logging/Logger.js +326 -0
- package/Logging/Logger.js.map +1 -0
- package/Logging/LoggerConfig.d.ts +45 -0
- package/Logging/LoggerConfig.d.ts.map +1 -0
- package/Logging/LoggerConfig.js +83 -0
- package/Logging/LoggerConfig.js.map +1 -0
- package/Logging/LoggerScope.d.ts +16 -0
- package/Logging/LoggerScope.d.ts.map +1 -0
- package/Logging/LoggerScope.js +81 -0
- package/Logging/LoggerScope.js.map +1 -0
- package/Logging/LoggerSuppressor.d.ts +10 -0
- package/Logging/LoggerSuppressor.d.ts.map +1 -0
- package/Logging/LoggerSuppressor.js +43 -0
- package/Logging/LoggerSuppressor.js.map +1 -0
- package/Logging/LoggerUtils.d.ts +47 -0
- package/Logging/LoggerUtils.d.ts.map +1 -0
- package/Logging/LoggerUtils.js +102 -0
- package/Logging/LoggerUtils.js.map +1 -0
- package/Logging/vNext/ConsoleLogger.d.ts +56 -0
- package/Logging/vNext/ConsoleLogger.d.ts.map +1 -0
- package/Logging/vNext/ConsoleLogger.js +76 -0
- package/Logging/vNext/ConsoleLogger.js.map +1 -0
- package/Logging/vNext/Interfaces/ILogger.d.ts +38 -0
- package/Logging/vNext/Interfaces/ILogger.d.ts.map +1 -0
- package/Logging/vNext/Interfaces/ILogger.js +3 -0
- package/Logging/vNext/Interfaces/ILogger.js.map +1 -0
- package/Logging/vNext/LoggerExtensions.d.ts +79 -0
- package/Logging/vNext/LoggerExtensions.d.ts.map +1 -0
- package/Logging/vNext/LoggerExtensions.js +175 -0
- package/Logging/vNext/LoggerExtensions.js.map +1 -0
- package/Logging/vNext/Styles/Style.d.ts +9 -0
- package/Logging/vNext/Styles/Style.d.ts.map +1 -0
- package/Logging/vNext/Styles/Style.js +17 -0
- package/Logging/vNext/Styles/Style.js.map +1 -0
- package/Logging/vNext/Styles/StyleDirectives.d.ts +61 -0
- package/Logging/vNext/Styles/StyleDirectives.d.ts.map +1 -0
- package/Logging/vNext/Styles/StyleDirectives.js +118 -0
- package/Logging/vNext/Styles/StyleDirectives.js.map +1 -0
- package/System/Args.d.ts +20 -0
- package/System/Args.d.ts.map +1 -0
- package/System/Args.js +45 -0
- package/System/Args.js.map +1 -0
- package/System/Array.d.ts +41 -0
- package/System/Array.d.ts.map +1 -0
- package/System/Array.js +91 -0
- package/System/Array.js.map +1 -0
- package/System/Assign.d.ts +12 -0
- package/System/Assign.d.ts.map +1 -0
- package/System/Assign.js +40 -0
- package/System/Assign.js.map +1 -0
- package/System/Boolean.d.ts +20 -0
- package/System/Boolean.d.ts.map +1 -0
- package/System/Boolean.js +52 -0
- package/System/Boolean.js.map +1 -0
- package/System/Error.d.ts +9 -0
- package/System/Error.d.ts.map +1 -0
- package/System/Error.js +20 -0
- package/System/Error.js.map +1 -0
- package/System/Errors.d.ts +7 -0
- package/System/Errors.d.ts.map +1 -0
- package/System/Errors.js +18 -0
- package/System/Errors.js.map +1 -0
- package/System/Formatter.d.ts +4 -0
- package/System/Formatter.d.ts.map +1 -0
- package/System/Formatter.js +17 -0
- package/System/Formatter.js.map +1 -0
- package/System/Guard.d.ts +5 -0
- package/System/Guard.d.ts.map +1 -0
- package/System/Guard.js +29 -0
- package/System/Guard.js.map +1 -0
- package/System/Interfaces/IType.d.ts +7 -0
- package/System/Interfaces/IType.d.ts.map +1 -0
- package/System/Interfaces/IType.js +3 -0
- package/System/Interfaces/IType.js.map +1 -0
- package/System/Interfaces/IUnknown.d.ts +7 -0
- package/System/Interfaces/IUnknown.d.ts.map +1 -0
- package/System/Interfaces/IUnknown.js +3 -0
- package/System/Interfaces/IUnknown.js.map +1 -0
- package/System/List.d.ts +27 -0
- package/System/List.d.ts.map +1 -0
- package/System/List.js +84 -0
- package/System/List.js.map +1 -0
- package/System/Number.d.ts +10 -0
- package/System/Number.d.ts.map +1 -0
- package/System/Number.js +28 -0
- package/System/Number.js.map +1 -0
- package/System/Process.d.ts +30 -0
- package/System/Process.d.ts.map +1 -0
- package/System/Process.js +167 -0
- package/System/Process.js.map +1 -0
- package/System/Require.d.ts +8 -0
- package/System/Require.d.ts.map +1 -0
- package/System/Require.js +20 -0
- package/System/Require.js.map +1 -0
- package/System/Stopwatch.d.ts +19 -0
- package/System/Stopwatch.d.ts.map +1 -0
- package/System/Stopwatch.js +73 -0
- package/System/Stopwatch.js.map +1 -0
- package/System/String.d.ts +19 -0
- package/System/String.d.ts.map +1 -0
- package/System/String.js +177 -0
- package/System/String.js.map +1 -0
- package/System/Time.d.ts +7 -0
- package/System/Time.d.ts.map +1 -0
- package/System/Time.js +16 -0
- package/System/Time.js.map +1 -0
- package/System/Version.d.ts +20 -0
- package/System/Version.d.ts.map +1 -0
- package/System/Version.js +135 -0
- package/System/Version.js.map +1 -0
- package/Terminal/Terminal.d.ts +7 -0
- package/Terminal/Terminal.d.ts.map +1 -0
- package/Terminal/Terminal.js +21 -0
- package/Terminal/Terminal.js.map +1 -0
- package/Terminal/TerminalColorType.d.ts +2 -0
- package/Terminal/TerminalColorType.d.ts.map +1 -0
- package/Terminal/TerminalColorType.js +3 -0
- package/Terminal/TerminalColorType.js.map +1 -0
- package/Terminal/TerminalColors.d.ts +38 -0
- package/Terminal/TerminalColors.d.ts.map +1 -0
- package/Terminal/TerminalColors.js +151 -0
- package/Terminal/TerminalColors.js.map +1 -0
- package/Terminal/TerminalSymbolType.d.ts +2 -0
- package/Terminal/TerminalSymbolType.d.ts.map +1 -0
- package/Terminal/TerminalSymbolType.js +3 -0
- package/Terminal/TerminalSymbolType.js.map +1 -0
- package/Terminal/TerminalSymbols.d.ts +7 -0
- package/Terminal/TerminalSymbols.d.ts.map +1 -0
- package/Terminal/TerminalSymbols.js +30 -0
- package/Terminal/TerminalSymbols.js.map +1 -0
- package/package.json +26 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { IType } from '../../System/Interfaces/IType';
|
|
2
|
+
import type { ProgramCommandResult } from '../ProgramCommandResult';
|
|
3
|
+
import type { IProgramCommand } from './IProgramCommand';
|
|
4
|
+
/**
|
|
5
|
+
* Represents the program commands.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface IProgramCommands {
|
|
10
|
+
/**
|
|
11
|
+
* Registers a new command.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
* @param commandName - The command name.
|
|
15
|
+
* @param commandType - The command type to register.
|
|
16
|
+
* @param commandInstanceFactory - The optional factory to instaiate the command.
|
|
17
|
+
*/
|
|
18
|
+
register<TCommand extends IType<IProgramCommand>>(commandName: string, commandType: TCommand, commandInstanceFactory?: () => ConstructorParameters<TCommand>): this;
|
|
19
|
+
/**
|
|
20
|
+
* Initalizes all commands.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @param command - The optional command to parse.
|
|
24
|
+
*/
|
|
25
|
+
initalize(command?: string): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Executes all commands.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
execute(): Promise<ProgramCommandResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Parses the command from argv.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
* @param command - The optional command to parse.
|
|
37
|
+
* @param args - The optional arguments to parse.
|
|
38
|
+
*/
|
|
39
|
+
parse(command?: string, args?: Array<string>): void;
|
|
40
|
+
/**
|
|
41
|
+
* Disposes all commands.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
dispose(): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=IProgramCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProgramCommands.d.ts","sourceRoot":"","sources":["../../../src/Cli/Interfaces/IProgramCommands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAI7B;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,SAAS,KAAK,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,CAAC,EAAE,MAAM,qBAAqB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAEpK;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEzC;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAI5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProgramCommands.js","sourceRoot":"","sources":["../../../src/Cli/Interfaces/IProgramCommands.ts"],"names":[],"mappings":";AAAA,kBAAkB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the program configuration.
|
|
3
|
+
*
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface IProgramConfig<TConfig extends Record<string, unknown>> {
|
|
7
|
+
readonly config: TConfig | undefined;
|
|
8
|
+
assign(value?: Partial<TConfig>): TConfig;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=IProgramConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProgramConfig.d.ts","sourceRoot":"","sources":["../../../src/Cli/Interfaces/IProgramConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnE,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAErC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAE7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProgramConfig.js","sourceRoot":"","sources":["../../../src/Cli/Interfaces/IProgramConfig.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
4
|
+
export interface IProgramInit {
|
|
5
|
+
description?: string;
|
|
6
|
+
epilog?: string;
|
|
7
|
+
addHelp?: boolean;
|
|
8
|
+
prefixChars?: string;
|
|
9
|
+
prog?: string;
|
|
10
|
+
usage?: string;
|
|
11
|
+
version?: string;
|
|
12
|
+
debug?: boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=IProgramInit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProgramInit.d.ts","sourceRoot":"","sources":["../../../src/Cli/Interfaces/IProgramInit.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAIzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,OAAO,CAAC;CAInB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProgramInit.js","sourceRoot":"","sources":["../../../src/Cli/Interfaces/IProgramInit.ts"],"names":[],"mappings":""}
|
package/Cli/Program.d.ts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { IProgramArgs } from './Interfaces/IProgramArgs';
|
|
2
|
+
import type { IProgramCommands } from './Interfaces/IProgramCommands';
|
|
3
|
+
import type { IProgramInit } from './Interfaces/IProgramInit';
|
|
4
|
+
import { ProgramConfig } from './ProgramConfig';
|
|
5
|
+
import type { ProgramDoneFn } from './ProgramDoneFn';
|
|
6
|
+
/**
|
|
7
|
+
* A abstract class for node.js cli's
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
* @abstract
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class Program<TConfig extends Record<string, unknown> = Record<string, unknown>> {
|
|
13
|
+
private readonly _programmCommands;
|
|
14
|
+
private readonly _programmArgs;
|
|
15
|
+
private readonly _programmConfig;
|
|
16
|
+
private readonly _parser;
|
|
17
|
+
/**
|
|
18
|
+
* Creates an instance of program.
|
|
19
|
+
*
|
|
20
|
+
* @protected
|
|
21
|
+
*/
|
|
22
|
+
protected constructor(init?: IProgramInit, commands?: IProgramCommands, args?: IProgramArgs);
|
|
23
|
+
/**
|
|
24
|
+
* Returns the program configuration.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
* @readonly
|
|
28
|
+
*/
|
|
29
|
+
get config(): ProgramConfig<TConfig>;
|
|
30
|
+
/**
|
|
31
|
+
* Returns the program commands.
|
|
32
|
+
*
|
|
33
|
+
* @public
|
|
34
|
+
* @readonly
|
|
35
|
+
*/
|
|
36
|
+
get commands(): IProgramCommands;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the program arguments.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
* @readonly
|
|
42
|
+
*/
|
|
43
|
+
get args(): IProgramArgs;
|
|
44
|
+
exit(code?: number): never;
|
|
45
|
+
/**
|
|
46
|
+
* The method parse all arguments form outside.
|
|
47
|
+
* After this method, all arguments should be presented.
|
|
48
|
+
*
|
|
49
|
+
* @public
|
|
50
|
+
* @virtual
|
|
51
|
+
* @returns {Program} The program instance
|
|
52
|
+
*/
|
|
53
|
+
init(): Promise<this>;
|
|
54
|
+
/**
|
|
55
|
+
* The method observes errors an starts the process.
|
|
56
|
+
*
|
|
57
|
+
* @public
|
|
58
|
+
* @virtual
|
|
59
|
+
* @returns {Promise<number>} The process exit code.
|
|
60
|
+
*/
|
|
61
|
+
run(): Promise<number>;
|
|
62
|
+
/**
|
|
63
|
+
* The abstract method will called after the run method
|
|
64
|
+
* This method should include your bussines logic
|
|
65
|
+
*
|
|
66
|
+
* @ignore
|
|
67
|
+
* @protected
|
|
68
|
+
* @virtual
|
|
69
|
+
* @param {ProgramDoneFn} done The done callback
|
|
70
|
+
* @returns {Promise<number>} The result code.
|
|
71
|
+
*/
|
|
72
|
+
protected process(done: ProgramDoneFn): Promise<number>;
|
|
73
|
+
/**
|
|
74
|
+
* @ignore
|
|
75
|
+
* @protected
|
|
76
|
+
* @virtual
|
|
77
|
+
* @param {Error} error The error
|
|
78
|
+
* @param {string} stderr The stderr
|
|
79
|
+
* @returns {void}
|
|
80
|
+
*/
|
|
81
|
+
protected onError(error: Error | null, stderr?: string, startedAt?: number): void;
|
|
82
|
+
/**
|
|
83
|
+
* @ignore
|
|
84
|
+
* @protected
|
|
85
|
+
* @virtual
|
|
86
|
+
* @param {string} stdout The stdout
|
|
87
|
+
* @returns {void}
|
|
88
|
+
*/
|
|
89
|
+
protected onSuccess(stdout: string, startedAt: number): void;
|
|
90
|
+
/**
|
|
91
|
+
* Extract the command form argv.
|
|
92
|
+
*
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
private firstArgType;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=Program.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Program.d.ts","sourceRoot":"","sources":["../../src/Cli/Program.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD;;;;;GAKG;AACH,8BAAsB,OAAO,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI3F,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAMzC;;;;OAIG;IACH,SAAS,aAAa,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,YAAY;IAoB3F;;;;;OAKG;IACH,IAAW,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAE1C;IAED;;;;;OAKG;IACH,IAAW,QAAQ,IAAI,gBAAgB,CAEtC;IAED;;;;;OAKG;IACH,IAAW,IAAI,IAAI,YAAY,CAE9B;IAMM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK;IAIjC;;;;;;;OAOG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BlC;;;;;;OAMG;IACU,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAcnC;;;;;;;;;OASG;cACa,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7D;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAajF;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAa5D;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAmBvB"}
|
package/Cli/Program.js
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Program = void 0;
|
|
5
|
+
const argparse_1 = require("argparse");
|
|
6
|
+
const String_1 = require("../System/String");
|
|
7
|
+
const Time_1 = require("../System/Time");
|
|
8
|
+
const TerminalColors_1 = require("../Terminal/TerminalColors");
|
|
9
|
+
const TerminalSymbols_1 = require("../Terminal/TerminalSymbols");
|
|
10
|
+
const ProgramArgs_1 = require("./ProgramArgs");
|
|
11
|
+
const ProgramCommands_1 = require("./ProgramCommands");
|
|
12
|
+
const ProgramConfig_1 = require("./ProgramConfig");
|
|
13
|
+
// #endregion
|
|
14
|
+
/**
|
|
15
|
+
* A abstract class for node.js cli's
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @abstract
|
|
19
|
+
*/
|
|
20
|
+
class Program {
|
|
21
|
+
// #region Fields
|
|
22
|
+
_programmCommands;
|
|
23
|
+
_programmArgs;
|
|
24
|
+
_programmConfig;
|
|
25
|
+
_parser;
|
|
26
|
+
// #endregion
|
|
27
|
+
// #region Ctor
|
|
28
|
+
/**
|
|
29
|
+
* Creates an instance of program.
|
|
30
|
+
*
|
|
31
|
+
* @protected
|
|
32
|
+
*/
|
|
33
|
+
constructor(init, commands, args) {
|
|
34
|
+
this._programmConfig = new ProgramConfig_1.ProgramConfig();
|
|
35
|
+
this._programmCommands = commands ?? new ProgramCommands_1.ProgramCommands(init);
|
|
36
|
+
this._programmArgs = args ?? new ProgramArgs_1.ProgramArgs();
|
|
37
|
+
this._parser = new argparse_1.ArgumentParser({
|
|
38
|
+
description: init?.description,
|
|
39
|
+
epilog: init?.epilog,
|
|
40
|
+
// eslint-disable-next-line camelcase
|
|
41
|
+
add_help: init?.addHelp,
|
|
42
|
+
// eslint-disable-next-line camelcase
|
|
43
|
+
prefix_chars: init?.prefixChars ?? '-',
|
|
44
|
+
prog: init?.prog,
|
|
45
|
+
usage: init?.usage
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// #endregion
|
|
49
|
+
// #region Properties
|
|
50
|
+
/**
|
|
51
|
+
* Returns the program configuration.
|
|
52
|
+
*
|
|
53
|
+
* @public
|
|
54
|
+
* @readonly
|
|
55
|
+
*/
|
|
56
|
+
get config() {
|
|
57
|
+
return this._programmConfig;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns the program commands.
|
|
61
|
+
*
|
|
62
|
+
* @public
|
|
63
|
+
* @readonly
|
|
64
|
+
*/
|
|
65
|
+
get commands() {
|
|
66
|
+
return this._programmCommands;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns the program arguments.
|
|
70
|
+
*
|
|
71
|
+
* @public
|
|
72
|
+
* @readonly
|
|
73
|
+
*/
|
|
74
|
+
get args() {
|
|
75
|
+
return this._programmArgs;
|
|
76
|
+
}
|
|
77
|
+
// #endregion
|
|
78
|
+
// #region Methods
|
|
79
|
+
exit(code) {
|
|
80
|
+
process.exit(code);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The method parse all arguments form outside.
|
|
84
|
+
* After this method, all arguments should be presented.
|
|
85
|
+
*
|
|
86
|
+
* @public
|
|
87
|
+
* @virtual
|
|
88
|
+
* @returns {Program} The program instance
|
|
89
|
+
*/
|
|
90
|
+
async init() {
|
|
91
|
+
process.on('uncaughtException', (error) => {
|
|
92
|
+
this.onError(error);
|
|
93
|
+
});
|
|
94
|
+
process.on('unhandledRejection', (event) => {
|
|
95
|
+
this.onError(event);
|
|
96
|
+
});
|
|
97
|
+
if (this.firstArgType() === 'cmd') {
|
|
98
|
+
await this.commands.initalize();
|
|
99
|
+
this.commands.parse();
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// If a command is present, the program args not needed.
|
|
103
|
+
// Ensure that the program args already defined in the command args.
|
|
104
|
+
this.args.options.forEach((x) => {
|
|
105
|
+
if (typeof x.alias === 'string') {
|
|
106
|
+
this._parser.add_argument(x.alias, x.options);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this._parser.add_argument(x.alias[0], x.alias[1], x.options);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
const parsedArgs = this._parser.parse_args(process.argv);
|
|
113
|
+
this.config.assign(parsedArgs);
|
|
114
|
+
}
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The method observes errors an starts the process.
|
|
119
|
+
*
|
|
120
|
+
* @public
|
|
121
|
+
* @virtual
|
|
122
|
+
* @returns {Promise<number>} The process exit code.
|
|
123
|
+
*/
|
|
124
|
+
async run() {
|
|
125
|
+
const startedAt = Date.now();
|
|
126
|
+
return this.process((error, stdout, stderr) => {
|
|
127
|
+
if (error || stderr) {
|
|
128
|
+
this.onError(error, stderr, startedAt);
|
|
129
|
+
this.exit(1);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.onSuccess(stdout, startedAt);
|
|
133
|
+
this.exit(0);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The abstract method will called after the run method
|
|
139
|
+
* This method should include your bussines logic
|
|
140
|
+
*
|
|
141
|
+
* @ignore
|
|
142
|
+
* @protected
|
|
143
|
+
* @virtual
|
|
144
|
+
* @param {ProgramDoneFn} done The done callback
|
|
145
|
+
* @returns {Promise<number>} The result code.
|
|
146
|
+
*/
|
|
147
|
+
async process(done) {
|
|
148
|
+
if (this.firstArgType() === 'cmd') {
|
|
149
|
+
const result = await this.commands.execute();
|
|
150
|
+
if (result.canceled && result.error.code !== 0) {
|
|
151
|
+
done(result.error, '', result.error.message);
|
|
152
|
+
return result.error.code ?? 1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
done(null, '', '');
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* @ignore
|
|
160
|
+
* @protected
|
|
161
|
+
* @virtual
|
|
162
|
+
* @param {Error} error The error
|
|
163
|
+
* @param {string} stderr The stderr
|
|
164
|
+
* @returns {void}
|
|
165
|
+
*/
|
|
166
|
+
onError(error, stderr, startedAt) {
|
|
167
|
+
const msg = stderr ?? error?.message ?? '';
|
|
168
|
+
if (msg) {
|
|
169
|
+
console.error(`${TerminalSymbols_1.TerminalSymbols.error} ${TerminalColors_1.TerminalColors.from(msg, 'red').toString()}`);
|
|
170
|
+
}
|
|
171
|
+
if (startedAt) {
|
|
172
|
+
console.error(`${String_1.StringExtensions.newLine}${String_1.StringExtensions.newLine}${TerminalSymbols_1.TerminalSymbols.error} ${TerminalColors_1.TerminalColors.from('Done.', 'red').toString()} ${TerminalColors_1.TerminalColors.from(`in ${Time_1.Time.humanize(Date.now() - startedAt)}s`, 'gray').toString()}`);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.error(`${String_1.StringExtensions.newLine}${String_1.StringExtensions.newLine}${TerminalSymbols_1.TerminalSymbols.error} ${TerminalColors_1.TerminalColors.from('Done.', 'red').toString()}`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* @ignore
|
|
180
|
+
* @protected
|
|
181
|
+
* @virtual
|
|
182
|
+
* @param {string} stdout The stdout
|
|
183
|
+
* @returns {void}
|
|
184
|
+
*/
|
|
185
|
+
onSuccess(stdout, startedAt) {
|
|
186
|
+
const msg = stdout;
|
|
187
|
+
if (msg) {
|
|
188
|
+
console.info(`${TerminalSymbols_1.TerminalSymbols.success} ${TerminalColors_1.TerminalColors.from(msg, 'green').toString()}`);
|
|
189
|
+
}
|
|
190
|
+
if (startedAt) {
|
|
191
|
+
console.info(`${String_1.StringExtensions.newLine}${String_1.StringExtensions.newLine}${TerminalSymbols_1.TerminalSymbols.success} ${TerminalColors_1.TerminalColors.from('Done.', 'green').toString()} ${TerminalColors_1.TerminalColors.from(`in ${Time_1.Time.humanize(Date.now() - startedAt)}s`, 'gray').toString()}`);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
console.info(`${String_1.StringExtensions.newLine}${String_1.StringExtensions.newLine}${TerminalSymbols_1.TerminalSymbols.success} ${TerminalColors_1.TerminalColors.from('Done.', 'green').toString()}`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Extract the command form argv.
|
|
199
|
+
*
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
firstArgType() {
|
|
203
|
+
const command = process.argv
|
|
204
|
+
.slice(2)
|
|
205
|
+
.splice(0, 1)
|
|
206
|
+
.join();
|
|
207
|
+
if (command !== '' && !command.startsWith('-')) {
|
|
208
|
+
return 'cmd';
|
|
209
|
+
}
|
|
210
|
+
if (command !== '' && command.startsWith('-')) {
|
|
211
|
+
return 'param';
|
|
212
|
+
}
|
|
213
|
+
return 'none';
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
exports.Program = Program;
|
|
217
|
+
//# sourceMappingURL=Program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Program.js","sourceRoot":"","sources":["../../src/Cli/Program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { IProgramArg } from './Interfaces/IProgramArg';
|
|
2
|
+
import type { IProgramArgs } from './Interfaces/IProgramArgs';
|
|
3
|
+
import type { IProgramArgOptions } from './Interfaces/IProgramArgOptions';
|
|
4
|
+
interface IProgrammOption {
|
|
5
|
+
alias: string | [string, string];
|
|
6
|
+
options: IProgramArgOptions;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
export declare class ProgramArgs implements IProgramArgs {
|
|
12
|
+
private readonly _argOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new instance of the `ProgramArgs` class.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Returns the all registered options.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @readonly
|
|
24
|
+
*/
|
|
25
|
+
get options(): Array<IProgrammOption>;
|
|
26
|
+
/**
|
|
27
|
+
* Registers a new argument.
|
|
28
|
+
*
|
|
29
|
+
* @public
|
|
30
|
+
* @param args - The arguments to register.
|
|
31
|
+
*/
|
|
32
|
+
register(...args: Array<IProgramArg>): this;
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
toString(): string;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=ProgramArgs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgramArgs.d.ts","sourceRoot":"","sources":["../../src/Cli/ProgramArgs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAI1E,UAAU,eAAe;IACrB,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAI5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAMrD;;;;OAIG;;IASH;;;;;OAKG;IACH,IAAW,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC,CAE3C;IAMD;;;;;OAKG;IACI,QAAQ,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI;IAQlD;;OAEG;IACI,QAAQ,IAAI,MAAM;CAkC5B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/switch-exhaustiveness-check */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ProgramArgs = void 0;
|
|
5
|
+
// #region Imports
|
|
6
|
+
const String_1 = require("../System/String");
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
class ProgramArgs {
|
|
11
|
+
// #region Fields
|
|
12
|
+
_argOptions;
|
|
13
|
+
// #endregion
|
|
14
|
+
// #region Ctor
|
|
15
|
+
/**
|
|
16
|
+
* Constructs a new instance of the `ProgramArgs` class.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
constructor() {
|
|
21
|
+
this._argOptions = [];
|
|
22
|
+
}
|
|
23
|
+
// #endregion
|
|
24
|
+
// #region Methods
|
|
25
|
+
/**
|
|
26
|
+
* Returns the all registered options.
|
|
27
|
+
*
|
|
28
|
+
* @public
|
|
29
|
+
* @readonly
|
|
30
|
+
*/
|
|
31
|
+
get options() {
|
|
32
|
+
return this._argOptions;
|
|
33
|
+
}
|
|
34
|
+
// #endregion
|
|
35
|
+
// #region Methods
|
|
36
|
+
/**
|
|
37
|
+
* Registers a new argument.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
* @param args - The arguments to register.
|
|
41
|
+
*/
|
|
42
|
+
register(...args) {
|
|
43
|
+
args.forEach((arg) => this._argOptions.push({
|
|
44
|
+
alias: arg.alias,
|
|
45
|
+
options: arg.options
|
|
46
|
+
}));
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
toString() {
|
|
53
|
+
// @ts-ignore fix suppressImplicitAnyIndexErrors
|
|
54
|
+
const argumentKeys = this._argOptions.map((x) => x[0] ? x[0].pop() : '').map((x) => String_1.StringExtensions.firstCharToLowerCase((x ?? '').replace('--', '-')));
|
|
55
|
+
// @ts-ignore fix suppressImplicitAnyIndexErrors
|
|
56
|
+
const argumentOptions = this._argOptions.map((x) => x[1]);
|
|
57
|
+
const propertyKeys = argumentKeys.map((x) => String_1.StringExtensions.firstCharToLowerCase(x.replace('-', '')));
|
|
58
|
+
const argumentPropertyMapping = new Map();
|
|
59
|
+
// @ts-ignore fix suppressImplicitAnyIndexErrors
|
|
60
|
+
argumentKeys.forEach((_, i) => argumentPropertyMapping.set(argumentKeys[i], this[propertyKeys[i]]));
|
|
61
|
+
const argumentPropertyString = Array.from(argumentPropertyMapping.entries()).map((x, i) => {
|
|
62
|
+
const option = argumentOptions[i];
|
|
63
|
+
if (option) {
|
|
64
|
+
switch (typeof x[1]) {
|
|
65
|
+
case 'string':
|
|
66
|
+
return x[1] !== '' ? `${x[0]} ${x[1]}` : '';
|
|
67
|
+
case 'boolean':
|
|
68
|
+
return x[1] ? x[0] : '';
|
|
69
|
+
case 'number':
|
|
70
|
+
return x[1] > 0 ? `${x[0]} ${x[1]}` : '';
|
|
71
|
+
case 'object':
|
|
72
|
+
return JSON.stringify(x[1]);
|
|
73
|
+
default:
|
|
74
|
+
throw new Error(`Invalid argument type '${String(x[1])}'.`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
throw new Error();
|
|
78
|
+
});
|
|
79
|
+
return argumentPropertyString.join(' ');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ProgramArgs = ProgramArgs;
|
|
83
|
+
//# sourceMappingURL=ProgramArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgramArgs.js","sourceRoot":"","sources":["../../src/Cli/ProgramArgs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgramCommandResult.d.ts","sourceRoot":"","sources":["../../src/Cli/ProgramCommandResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,GAAG,OAAO,IAAM;IACpD,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC,GAAG;IACA,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgramCommandResult.js","sourceRoot":"","sources":["../../src/Cli/ProgramCommandResult.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { IType } from '../System/Interfaces/IType';
|
|
2
|
+
import type { IProgramCommand } from './Interfaces/IProgramCommand';
|
|
3
|
+
import type { IProgramCommands } from './Interfaces/IProgramCommands';
|
|
4
|
+
import type { IProgramInit } from './Interfaces/IProgramInit';
|
|
5
|
+
import type { ProgramCommandResult } from './ProgramCommandResult';
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export declare class ProgramCommands implements IProgramCommands {
|
|
10
|
+
private readonly _commandTypes;
|
|
11
|
+
private readonly _commandInstances;
|
|
12
|
+
private readonly _parser;
|
|
13
|
+
private _currentCommand;
|
|
14
|
+
private _currentArgs;
|
|
15
|
+
/**
|
|
16
|
+
* Constructs a new instance of the `ProgramCommands` class.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
constructor(init?: IProgramInit);
|
|
21
|
+
/**
|
|
22
|
+
* Register a command.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @param commandName - The command name.
|
|
26
|
+
* @param commandType - The command type to register.
|
|
27
|
+
* @param commandInstanceFactory - The optional factory to instaiate the command.
|
|
28
|
+
*/
|
|
29
|
+
register<TCommand extends IType<IProgramCommand>>(commandName: string, commandType: TCommand, commandInstanceFactory?: () => ConstructorParameters<TCommand>): this;
|
|
30
|
+
/**
|
|
31
|
+
* Initalize a command.
|
|
32
|
+
*
|
|
33
|
+
* @public
|
|
34
|
+
* @param command - The optional command to parse.
|
|
35
|
+
*/
|
|
36
|
+
initalize(command?: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse the command from argv.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
* @param command - The optional command to parse.
|
|
42
|
+
* @param args - The optional arguments to parse.
|
|
43
|
+
*/
|
|
44
|
+
parse(command?: string, args?: Array<string>): void;
|
|
45
|
+
/**
|
|
46
|
+
* Execute a command.
|
|
47
|
+
*
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
50
|
+
execute(): Promise<ProgramCommandResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Dispose a command.
|
|
53
|
+
*
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
dispose(): Promise<void>;
|
|
57
|
+
private ensureCommand;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Converts object keys from snake_case to camelCase.
|
|
61
|
+
*
|
|
62
|
+
* @param obj - The object to be converted.
|
|
63
|
+
* @returns A new object with camelCase keys.
|
|
64
|
+
*/
|
|
65
|
+
export declare function convertKeysToCamelCase(obj: Record<string, any>): Record<string, any>;
|
|
66
|
+
//# sourceMappingURL=ProgramCommands.d.ts.map
|