diff --git a/hwe/sammo/DTO/Caster/BackedEnumCaster.php b/hwe/sammo/DTO/Caster/BackedEnumCaster.php new file mode 100644 index 00000000..d8c9b04e --- /dev/null +++ b/hwe/sammo/DTO/Caster/BackedEnumCaster.php @@ -0,0 +1,27 @@ +backedEnumFrom = $reflector->getMethod('from'); + } + + public function cast(mixed $value): \BackedEnum + { + if(!is_string($value) && !is_int($value)){ + throw new \Exception('BackedEnumCaster only accepts string|int'); + } + + return $this->backedEnumFrom->invoke(null, $value); + } +} \ No newline at end of file