Youshido\GraphQL\Type\TypeService::isAbstractType PHP Method

isAbstractType() public static method

public static isAbstractType ( AbstractType | mixed $type ) : boolean
$type AbstractType | mixed
return boolean
    public static function isAbstractType($type)
    {
        if (!is_object($type)) {
            return false;
        }
        return in_array($type->getKind(), [TypeMap::KIND_INTERFACE, TypeMap::KIND_UNION]);
    }

Usage Example

Example #1
0
 public function testScalarPrimitives()
 {
     foreach (TypeFactory::getScalarTypesNames() as $typeName) {
         $scalarType = TypeFactory::getScalarType($typeName);
         $testDataMethod = 'get' . $typeName . 'TestData';
         $this->assertNotEmpty($scalarType->getDescription());
         $this->assertEquals($scalarType->getKind(), TypeMap::KIND_SCALAR);
         $this->assertEquals($scalarType->isCompositeType(), false);
         $this->assertEquals(TypeService::isAbstractType($scalarType), false);
         $this->assertEquals($scalarType->getType(), $scalarType);
         $this->assertEquals($scalarType->getType(), $scalarType->getNamedType());
         $this->assertNull($scalarType->getConfig());
         foreach (call_user_func(['Youshido\\Tests\\DataProvider\\TestScalarDataProvider', $testDataMethod]) as list($data, $serialized, $isValid)) {
             $this->assertSerialization($scalarType, $data, $serialized);
             $this->assertParse($scalarType, $data, $serialized);
             if ($isValid) {
                 $this->assertTrue($scalarType->isValidValue($data), $typeName . ' validation for :' . serialize($data));
             } else {
                 $this->assertFalse($scalarType->isValidValue($data), $typeName . ' validation for :' . serialize($data));
             }
         }
     }
     try {
         TypeFactory::getScalarType('invalid type');
     } catch (\Exception $e) {
         $this->assertEquals('Configuration problem with type invalid type', $e->getMessage());
     }
     $this->assertEquals('String', (string) new StringType());
 }
All Usage Examples Of Youshido\GraphQL\Type\TypeService::isAbstractType