From 5dd98083d65a5b437881f30fbf013eeaf43be4e5 Mon Sep 17 00:00:00 2001 From: netkas Date: Sat, 14 Sep 2024 00:30:05 -0400 Subject: [PATCH] Convert LogLevel constants to enum cases --- src/ncc/CLI/Main.php | 22 +++++----- src/ncc/Classes/NccExtension/NccCompiler.php | 2 +- .../PhpExtension/ExecutableCompiler.php | 4 +- src/ncc/Enums/LogLevel.php | 26 ++++-------- src/ncc/Managers/PackageManager.php | 8 ++-- src/ncc/Utilities/Console.php | 40 +++++++++---------- src/ncc/Utilities/Resolver.php | 13 +++--- src/ncc/Utilities/Validate.php | 3 +- 8 files changed, 55 insertions(+), 63 deletions(-) diff --git a/src/ncc/CLI/Main.php b/src/ncc/CLI/Main.php index 7db755e..2ac2899 100644 --- a/src/ncc/CLI/Main.php +++ b/src/ncc/CLI/Main.php @@ -93,28 +93,28 @@ { switch(strtolower(self::$args['l'] ?? self::$args['log-level'])) { - case LogLevel::SILENT: - case LogLevel::FATAL: - case LogLevel::ERROR: - case LogLevel::WARNING: - case LogLevel::INFO: - case LogLevel::DEBUG: - case LogLevel::VERBOSE: + case LogLevel::SILENT->value: + case LogLevel::FATAL->value: + case LogLevel::ERROR->value: + case LogLevel::WARNING->value: + case LogLevel::INFO->value: + case LogLevel::DEBUG->value: + case LogLevel::VERBOSE->value: self::$log_level = strtolower(self::$args['l'] ?? self::$args['log-level']); break; default: Console::outWarning('Unknown log level: ' . (self::$args['l'] ?? self::$args['log-level']) . ', using \'info\''); - self::$log_level = LogLevel::INFO; + self::$log_level = LogLevel::INFO->value; break; } } else { - self::$log_level = LogLevel::INFO; + self::$log_level = LogLevel::INFO->value; } - if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG)) + if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG->value)) { Console::outDebug('Debug logging enabled'); @@ -236,7 +236,7 @@ { if(self::$log_level === null) { - self::$log_level = LogLevel::INFO; + self::$log_level = LogLevel::INFO->value; } return self::$log_level; diff --git a/src/ncc/Classes/NccExtension/NccCompiler.php b/src/ncc/Classes/NccExtension/NccCompiler.php index ab9f115..aeb0e31 100644 --- a/src/ncc/Classes/NccExtension/NccCompiler.php +++ b/src/ncc/Classes/NccExtension/NccCompiler.php @@ -122,7 +122,7 @@ } // Debugging information - if(Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::DEBUG->value, Main::getLogLevel())) { foreach($this->project_manager->getProjectConfiguration()->getAssembly()->toArray() as $prop => $value) { diff --git a/src/ncc/Classes/PhpExtension/ExecutableCompiler.php b/src/ncc/Classes/PhpExtension/ExecutableCompiler.php index b115d8c..3b788dc 100644 --- a/src/ncc/Classes/PhpExtension/ExecutableCompiler.php +++ b/src/ncc/Classes/PhpExtension/ExecutableCompiler.php @@ -112,11 +112,11 @@ switch(Main::getLogLevel()) { - case LogLevel::VERBOSE: + case LogLevel::VERBOSE->value: $gcc_options[] = '-v'; break; - case LogLevel::DEBUG: + case LogLevel::DEBUG->value: $gcc_options[] = '-v'; $gcc_options[] = '-v'; break; diff --git a/src/ncc/Enums/LogLevel.php b/src/ncc/Enums/LogLevel.php index f44fa49..45637e0 100644 --- a/src/ncc/Enums/LogLevel.php +++ b/src/ncc/Enums/LogLevel.php @@ -22,29 +22,19 @@ namespace ncc\Enums; - final class LogLevel + enum LogLevel : string { - public const SILENT = 'silent'; + case SILENT = 'silent'; - public const VERBOSE = 'verbose'; + case VERBOSE = 'verbose'; - public const DEBUG = 'debug'; + case DEBUG = 'debug'; - public const INFO = 'info'; + case INFO = 'info'; - public const WARNING = 'warn'; + case WARNING = 'warn'; - public const ERROR = 'error'; + case ERROR = 'error'; - public const FATAL = 'fatal'; - - public const ALL = [ - self::SILENT, - self::VERBOSE, - self::DEBUG, - self::INFO, - self::WARNING, - self::ERROR, - self::FATAL, - ]; + case FATAL = 'fatal'; } \ No newline at end of file diff --git a/src/ncc/Managers/PackageManager.php b/src/ncc/Managers/PackageManager.php index f499bcd..a1fd5e7 100644 --- a/src/ncc/Managers/PackageManager.php +++ b/src/ncc/Managers/PackageManager.php @@ -665,7 +665,7 @@ { $progress_bar->setMiscText($component_name); - if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { Console::outVerbose(sprintf('Extracting component %s to %s', $component_name, $bin_path . DIRECTORY_SEPARATOR . $component_name)); } @@ -683,7 +683,7 @@ { $progress_bar->setMiscText($resource_name); - if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { Console::outVerbose(sprintf('Extracting resource %s to %s', $resource_name, $bin_path . DIRECTORY_SEPARATOR . $resource_name)); } @@ -701,7 +701,7 @@ { $progress_bar->setMiscText($unit); - if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { Console::outVerbose(sprintf('Extracting execution unit %s to %s', $unit, $package_path . DIRECTORY_SEPARATOR . 'units' . DIRECTORY_SEPARATOR . $package_reader->getExecutionUnit($unit)->getExecutionPolicy()->getName() . '.unit')); } @@ -906,7 +906,7 @@ return; } - if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { $percentage = round(($downloaded / $download_size) * 100, 2); Console::out(sprintf('Download progress %s (%s/%s) for %s', $percentage, $downloaded, $download_size, $url)); diff --git a/src/ncc/Utilities/Console.php b/src/ncc/Utilities/Console.php index 4dd7550..082d0eb 100644 --- a/src/ncc/Utilities/Console.php +++ b/src/ncc/Utilities/Console.php @@ -53,12 +53,12 @@ private static function setPrefix(string $log_level, string $input): string { $input = match ($log_level) { - LogLevel::VERBOSE => self::formatColor('VRB:', ConsoleColors::LIGHT_CYAN) . " $input", - LogLevel::DEBUG => self::formatColor('DBG:', ConsoleColors::LIGHT_MAGENTA) . " $input", - LogLevel::INFO => self::formatColor('INF:', ConsoleColors::WHITE) . " $input", - LogLevel::WARNING => self::formatColor('WRN:', ConsoleColors::YELLOW) . " $input", - LogLevel::ERROR => self::formatColor('ERR:', ConsoleColors::LIGHT_RED) . " $input", - LogLevel::FATAL => self::formatColor('FTL:', ConsoleColors::LIGHT_RED) . " $input", + LogLevel::VERBOSE->value => self::formatColor('VRB:', ConsoleColors::LIGHT_CYAN) . " $input", + LogLevel::DEBUG->value => self::formatColor('DBG:', ConsoleColors::LIGHT_MAGENTA) . " $input", + LogLevel::INFO->value => self::formatColor('INF:', ConsoleColors::WHITE) . " $input", + LogLevel::WARNING->value => self::formatColor('WRN:', ConsoleColors::YELLOW) . " $input", + LogLevel::ERROR->value => self::formatColor('ERR:', ConsoleColors::LIGHT_RED) . " $input", + LogLevel::FATAL->value => self::formatColor('FTL:', ConsoleColors::LIGHT_RED) . " $input", default => self::formatColor('MSG:', ConsoleColors::DEFAULT) . " $input", }; @@ -109,14 +109,14 @@ return; } - if(!Resolver::checkLogLevel(LogLevel::INFO, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::INFO->value, Main::getLogLevel())) { return; } - if(!$no_prefix && Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(!$no_prefix && Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { - $message = self::setPrefix(LogLevel::INFO, $message); + $message = self::setPrefix(LogLevel::INFO->value, $message); } if($newline) @@ -142,7 +142,7 @@ return; } - if(!Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::DEBUG->value, Main::getLogLevel())) { return; } @@ -161,7 +161,7 @@ $trace_msg .= ' > '; } - $message = self::setPrefix(LogLevel::DEBUG, $trace_msg . $message); + $message = self::setPrefix(LogLevel::DEBUG->value, $trace_msg . $message); self::out($message, $newline, true); } @@ -179,12 +179,12 @@ return; } - if(!Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { return; } - self::out(self::setPrefix(LogLevel::VERBOSE, $message), $newline, true); + self::out(self::setPrefix(LogLevel::VERBOSE->value, $message), $newline, true); } @@ -225,14 +225,14 @@ return; } - if(!Resolver::checkLogLevel(LogLevel::WARNING, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::WARNING->value, Main::getLogLevel())) { return; } - if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { - self::out(self::setPrefix(LogLevel::WARNING, $message), $newline, true); + self::out(self::setPrefix(LogLevel::WARNING->value, $message), $newline, true); return; } @@ -254,14 +254,14 @@ return; } - if(!Resolver::checkLogLevel(LogLevel::ERROR, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::ERROR->value, Main::getLogLevel())) { return; } - if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE->value, Main::getLogLevel())) { - self::out(self::setPrefix(LogLevel::ERROR, $message), $newline, true); + self::out(self::setPrefix(LogLevel::ERROR->value, $message), $newline, true); } else { @@ -289,7 +289,7 @@ return; } - if($message !== '' && Resolver::checkLogLevel(LogLevel::ERROR, Main::getLogLevel())) + if($message !== '' && Resolver::checkLogLevel(LogLevel::ERROR->value, Main::getLogLevel())) { self::out(PHP_EOL . self::formatColor('Error: ', ConsoleColors::RED) . $message); } diff --git a/src/ncc/Utilities/Resolver.php b/src/ncc/Utilities/Resolver.php index ddca134..410ac68 100644 --- a/src/ncc/Utilities/Resolver.php +++ b/src/ncc/Utilities/Resolver.php @@ -188,12 +188,13 @@ return match ($current_level) { - LogLevel::DEBUG => in_array($input, [LogLevel::DEBUG, LogLevel::VERBOSE, LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), - LogLevel::VERBOSE => in_array($input, [LogLevel::VERBOSE, LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), - LogLevel::INFO => in_array($input, [LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), - LogLevel::WARNING => in_array($input, [LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), - LogLevel::ERROR => in_array($input, [LogLevel::FATAL, LogLevel::ERROR], true), - LogLevel::FATAL => $input === LogLevel::FATAL, + // TODO: Move this to the enum + LogLevel::DEBUG->value => in_array($input, [LogLevel::DEBUG->value, LogLevel::VERBOSE->value, LogLevel::INFO->value, LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true), + LogLevel::VERBOSE->value => in_array($input, [LogLevel::VERBOSE->value, LogLevel::INFO->value, LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true), + LogLevel::INFO->value => in_array($input, [LogLevel::INFO->value, LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true), + LogLevel::WARNING->value => in_array($input, [LogLevel::WARNING->value, LogLevel::FATAL->value, LogLevel::ERROR->value], true), + LogLevel::ERROR->value => in_array($input, [LogLevel::FATAL->value, LogLevel::ERROR->value], true), + LogLevel::FATAL->value => $input === LogLevel::FATAL->value, default => false, }; } diff --git a/src/ncc/Utilities/Validate.php b/src/ncc/Utilities/Validate.php index df31364..c89c5ed 100644 --- a/src/ncc/Utilities/Validate.php +++ b/src/ncc/Utilities/Validate.php @@ -228,7 +228,8 @@ namespace ncc\Utilities; */ public static function checkLogLevel(string $input): bool { - if(!in_array(strtolower($input), LogLevel::ALL)) + // TODO: Fix this, it's not the proper use of cases() + if(!in_array(strtolower($input), LogLevel::cases())) { return false; }