From 0c4ef17bbf28bcccf931886e88da8b11ff36a26d Mon Sep 17 00:00:00 2001 From: netkas Date: Sat, 14 Sep 2024 08:56:40 -0400 Subject: [PATCH] Convert PackageFlags constants to enum cases --- src/ncc/Classes/NccExtension/NccCompiler.php | 10 +++++----- src/ncc/Classes/PackageReader.php | 2 +- src/ncc/Classes/PackageWriter.php | 9 +++++---- src/ncc/Classes/Runtime.php | 4 ++-- src/ncc/Enums/Flags/PackageFlags.php | 12 ++++++------ 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/ncc/Classes/NccExtension/NccCompiler.php b/src/ncc/Classes/NccExtension/NccCompiler.php index 2c62b57..1c4f9d4 100644 --- a/src/ncc/Classes/NccExtension/NccCompiler.php +++ b/src/ncc/Classes/NccExtension/NccCompiler.php @@ -119,7 +119,7 @@ { // Add the static dependencies flag so that the package manager // Won't try to resolve the dependencies from the system. - $package_writer->addFlag(PackageFlags::STATIC_DEPENDENCIES); + $package_writer->addFlag(PackageFlags::STATIC_DEPENDENCIES->value); } // Debugging information @@ -264,19 +264,19 @@ if(isset($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value])) { - $package_writer->addFlag(PackageFlags::COMPRESSION); + $package_writer->addFlag(PackageFlags::COMPRESSION->value); switch(strtolower($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value])) { case BuildConfigurationOptions\CompressionOptions::HIGH->value: - $package_writer->addFlag(PackageFlags::HIGH_COMPRESSION); + $package_writer->addFlag(PackageFlags::HIGH_COMPRESSION->value); break; case BuildConfigurationOptions\CompressionOptions::MEDIUM->value: - $package_writer->addFlag(PackageFlags::MEDIUM_COMPRESSION); + $package_writer->addFlag(PackageFlags::MEDIUM_COMPRESSION->value); break; case BuildConfigurationOptions\CompressionOptions::LOW->value: - $package_writer->addFlag(PackageFlags::LOW_COMPRESSION); + $package_writer->addFlag(PackageFlags::LOW_COMPRESSION->value); break; default: diff --git a/src/ncc/Classes/PackageReader.php b/src/ncc/Classes/PackageReader.php index e61b5a8..83d0857 100644 --- a/src/ncc/Classes/PackageReader.php +++ b/src/ncc/Classes/PackageReader.php @@ -263,7 +263,7 @@ $location = explode(':', $this->headers[PackageStructure::DIRECTORY->value][$name]); fseek($this->package_file, ($this->data_offset + (int)$location[0])); - if(in_array(PackageFlags::COMPRESSION, $this->headers[PackageStructure::FLAGS->value], true)) + if(in_array(PackageFlags::COMPRESSION->value, $this->headers[PackageStructure::FLAGS->value], true)) { return gzuncompress(fread($this->package_file, (int)$location[1])); } diff --git a/src/ncc/Classes/PackageWriter.php b/src/ncc/Classes/PackageWriter.php index 3e53fb9..d17f8d0 100644 --- a/src/ncc/Classes/PackageWriter.php +++ b/src/ncc/Classes/PackageWriter.php @@ -174,6 +174,7 @@ * @return void * @throws IOException */ + // TODO: Package flags should use the PackageFlags enum directly. public function addFlag(string $flag): void { if($this->data_written) @@ -218,17 +219,17 @@ return explode(':', $this->headers[PackageStructure::DIRECTORY->value][$name]); } - if(in_array(PackageFlags::COMPRESSION, $this->headers[PackageStructure::FLAGS->value], true)) + if(in_array(PackageFlags::COMPRESSION->value, $this->headers[PackageStructure::FLAGS->value], true)) { - if(in_array(PackageFlags::LOW_COMPRESSION, $this->headers[PackageStructure::FLAGS->value], true)) + if(in_array(PackageFlags::LOW_COMPRESSION->value, $this->headers[PackageStructure::FLAGS->value], true)) { $data = gzcompress($data, 1); } - else if(in_array(PackageFlags::MEDIUM_COMPRESSION, $this->headers[PackageStructure::FLAGS->value], true)) + else if(in_array(PackageFlags::MEDIUM_COMPRESSION->value, $this->headers[PackageStructure::FLAGS->value], true)) { $data = gzcompress($data, 6); } - else if(in_array(PackageFlags::HIGH_COMPRESSION, $this->headers[PackageStructure::FLAGS->value], true)) + else if(in_array(PackageFlags::HIGH_COMPRESSION->value, $this->headers[PackageStructure::FLAGS->value], true)) { $data = gzcompress($data, 9); } diff --git a/src/ncc/Classes/Runtime.php b/src/ncc/Classes/Runtime.php index f9b72fb..6675bca 100644 --- a/src/ncc/Classes/Runtime.php +++ b/src/ncc/Classes/Runtime.php @@ -209,7 +209,7 @@ } } - if(isset($entry->getMetadata($version)->getOptions()[PackageFlags::STATIC_DEPENDENCIES])) + if(isset($entry->getMetadata($version)->getOptions()[PackageFlags::STATIC_DEPENDENCIES->value])) { // Fake import the dependencies foreach($entry->getVersion($version)->getDependencies() as $dependency) @@ -288,7 +288,7 @@ } } - if($package_reader->getFlag(PackageFlags::STATIC_DEPENDENCIES)) + if($package_reader->getFlag(PackageFlags::STATIC_DEPENDENCIES->value)) { // Fake import the dependencies foreach($package_reader->getDependencies() as $dependency_name) diff --git a/src/ncc/Enums/Flags/PackageFlags.php b/src/ncc/Enums/Flags/PackageFlags.php index 7d43294..fe75366 100644 --- a/src/ncc/Enums/Flags/PackageFlags.php +++ b/src/ncc/Enums/Flags/PackageFlags.php @@ -22,15 +22,15 @@ namespace ncc\Enums\Flags; - final class PackageFlags + enum PackageFlags : string { - public const COMPRESSION = 'gzip'; + case COMPRESSION = 'gzip'; - public const LOW_COMPRESSION = 'low_gz`'; + case LOW_COMPRESSION = 'low_gz`'; - public const MEDIUM_COMPRESSION = 'medium_gz'; + case MEDIUM_COMPRESSION = 'medium_gz'; - public const HIGH_COMPRESSION = 'high_gz'; + case HIGH_COMPRESSION = 'high_gz'; - public const STATIC_DEPENDENCIES = 'static_dependencies'; + case STATIC_DEPENDENCIES = 'static_dependencies'; } \ No newline at end of file