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
// 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:

View file

@ -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]));
}

View file

@ -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);
}

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
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)

View file

@ -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';
}