16 return match ($subtype)
18 Subtype::Media => self::Media,
19 Subtype::Audio => self::Audio,
20 Subtype::Brief => self::Brief,
21 Subtype::Document, Subtype::Other => self::File,
35 $group = self::tryFrom($group);
38 $result[$group->value] = $group;
48 public function getSubtypes():
array
52 self::Media => [Subtype::Media],
53 self::Audio => [Subtype::Audio],
54 self::Brief => [Subtype::Brief],
55 self::File => [Subtype::Document, Subtype::Other],
63 public static function getSubtypeFilter(
string|
array $subtypeGroups):
array
66 if (is_string($subtypeGroups))
68 $subtypeGroups = [$subtypeGroups];
71 $subtypeGroups = self::tryFromArray($subtypeGroups);
73 foreach ($subtypeGroups as $subtypeGroup)
75 foreach ($subtypeGroup->getSubtypes() as $subtype)
77 $result[$subtype->value] = $subtype->value;
86 return mb_strtolower($this->value);