Convert PackageFlags constants to enum cases

This commit is contained in:
netkas 2024-09-14 08:56:40 -04:00
parent ac81f2f26d
commit 0c4ef17bbf
5 changed files with 19 additions and 18 deletions

View file

@ -119,7 +119,7 @@
{ {
// Add the static dependencies flag so that the package manager // Add the static dependencies flag so that the package manager
// Won't try to resolve the dependencies from the system. // 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 // Debugging information
@ -264,19 +264,19 @@
if(isset($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value])) 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])) switch(strtolower($build_configuration->getOptions()[BuildConfigurationOptions::COMPRESSION->value]))
{ {
case BuildConfigurationOptions\CompressionOptions::HIGH->value: case BuildConfigurationOptions\CompressionOptions::HIGH->value:
$package_writer->addFlag(PackageFlags::HIGH_COMPRESSION); $package_writer->addFlag(PackageFlags::HIGH_COMPRESSION->value);
break; break;
case BuildConfigurationOptions\CompressionOptions::MEDIUM->value: case BuildConfigurationOptions\CompressionOptions::MEDIUM->value:
$package_writer->addFlag(PackageFlags::MEDIUM_COMPRESSION); $package_writer->addFlag(PackageFlags::MEDIUM_COMPRESSION->value);
break; break;
case BuildConfigurationOptions\CompressionOptions::LOW->value: case BuildConfigurationOptions\CompressionOptions::LOW->value:
$package_writer->addFlag(PackageFlags::LOW_COMPRESSION); $package_writer->addFlag(PackageFlags::LOW_COMPRESSION->value);
break; break;
default: default:

View file

@ -263,7 +263,7 @@
$location = explode(':', $this->headers[PackageStructure::DIRECTORY->value][$name]); $location = explode(':', $this->headers[PackageStructure::DIRECTORY->value][$name]);
fseek($this->package_file, ($this->data_offset + (int)$location[0])); 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])); return gzuncompress(fread($this->package_file, (int)$location[1]));
} }

View file

@ -174,6 +174,7 @@
* @return void * @return void
* @throws IOException * @throws IOException
*/ */
// TODO: Package flags should use the PackageFlags enum directly.
public function addFlag(string $flag): void public function addFlag(string $flag): void
{ {
if($this->data_written) if($this->data_written)
@ -218,17 +219,17 @@
return explode(':', $this->headers[PackageStructure::DIRECTORY->value][$name]); 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); $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); $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); $data = gzcompress($data, 9);
} }

View file

@ -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 // Fake import the dependencies
foreach($entry->getVersion($version)->getDependencies() as $dependency) 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 // Fake import the dependencies
foreach($package_reader->getDependencies() as $dependency_name) foreach($package_reader->getDependencies() as $dependency_name)

View file

@ -22,15 +22,15 @@
namespace ncc\Enums\Flags; 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';
} }