| @@ 61-67 (lines=7) @@ | ||
| 58 | $enumClass = $enumClass ?: $typeNameOrEnumClass; |
|
| 59 | $typeClass = str_replace('\\', '', $enumClass); |
|
| 60 | ||
| 61 | if (! is_subclass_of($enumClass, Enum::class)) { |
|
| 62 | throw new InvalidArgumentException(sprintf( |
|
| 63 | 'Provided enum class "%s" is not valid. Enums must extend "%s"', |
|
| 64 | $enumClass, |
|
| 65 | Enum::class |
|
| 66 | )); |
|
| 67 | } |
|
| 68 | ||
| 69 | // Register an autoloader for generated classes |
|
| 70 | if (! $this->isAutoloaderRegistrated) { |
|
| @@ 21-27 (lines=7) @@ | ||
| 18 | $typeName = $typeNameOrEnumClass; |
|
| 19 | $enumClass = $enumClass ?: $typeNameOrEnumClass; |
|
| 20 | ||
| 21 | if (! is_subclass_of($enumClass, Enum::class)) { |
|
| 22 | throw new InvalidArgumentException(sprintf( |
|
| 23 | 'Provided enum class "%s" is not valid. Enums must extend "%s"', |
|
| 24 | $enumClass, |
|
| 25 | Enum::class |
|
| 26 | )); |
|
| 27 | } |
|
| 28 | ||
| 29 | // Register and customize the type |
|
| 30 | self::addType($typeName, static::class); |
|