From 3c0f0a6003b7222375e079494018a6ed25e5909f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Tue, 15 Aug 2023 13:34:14 +0200 Subject: [PATCH] Add Type::lookupName() method --- src/Types/Type.php | 10 ++++++++++ tests/Types/TypeTest.php | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/src/Types/Type.php b/src/Types/Type.php index 2b49248ec3b..f2628f58c8e 100644 --- a/src/Types/Type.php +++ b/src/Types/Type.php @@ -138,6 +138,16 @@ public static function getType($name) return self::getTypeRegistry()->get($name); } + /** + * Finds a name for the given type. + * + * @throws Exception + */ + public function lookupName(self $type): string + { + return self::getTypeRegistry()->lookupName($type); + } + /** * Adds a custom type to the type map. * diff --git a/tests/Types/TypeTest.php b/tests/Types/TypeTest.php index e6999eabfce..05b2199ae39 100644 --- a/tests/Types/TypeTest.php +++ b/tests/Types/TypeTest.php @@ -17,6 +17,13 @@ public function testDefaultTypesAreRegistered(string $name): void self::assertTrue(Type::hasType($name)); } + /** @dataProvider defaultTypesProvider() */ + public function testDefaultTypesReverseLookup(string $name): void + { + $type = Type::getType($name); + self::assertSame($name, Type::lookupName($type)); + } + /** @return iterable */ public static function defaultTypesProvider(): iterable {