mirror of
https://github.com/notf0und/SGS
synced 2026-07-17 18:21:06 +00:00
bae79d68ab
* Add Pint * Format code
34 lines
675 B
PHP
34 lines
675 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use Illuminate\Support\Str;
|
|
|
|
enum NintendoFileExtension: string
|
|
{
|
|
case NSP = 'nsp';
|
|
case NSZ = 'nsz';
|
|
case XCI = 'xci';
|
|
case XCZ = 'xcz';
|
|
|
|
/**
|
|
* Get all supported file extensions.
|
|
*
|
|
* @return array<string>
|
|
*/
|
|
public static function values(): array
|
|
{
|
|
return array_map(fn ($case) => $case->value, self::cases());
|
|
}
|
|
|
|
/**
|
|
* Check if a filename has a supported extension.
|
|
*/
|
|
public static function isSupported(string $filename): bool
|
|
{
|
|
$extension = Str::lower(Str::afterLast($filename, '.'));
|
|
|
|
return in_array($extension, self::values(), true);
|
|
}
|
|
}
|