本文整理汇总了PHP中GraphQL\Type\Definition\Type::isOutputType方法的典型用法代码示例。如果您正苦于以下问题:PHP Type::isOutputType方法的具体用法?PHP Type::isOutputType怎么用?PHP Type::isOutputType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphQL\Type\Definition\Type
的用法示例。
在下文中一共展示了Type::isOutputType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: noInputTypesAsOutputFieldsRule
public static function noInputTypesAsOutputFieldsRule()
{
return function ($context) {
$operationMayNotBeInputType = function (Type $type, $operation) {
if (!Type::isOutputType($type)) {
return new Error("Schema {$operation} must be Object Type but got: {$type}.");
}
return null;
};
/** @var Schema $schema */
$schema = $context['schema'];
$typeMap = $schema->getTypeMap();
$errors = [];
$queryType = $schema->getQueryType();
if ($queryType) {
$queryError = $operationMayNotBeInputType($queryType, 'query');
if ($queryError !== null) {
$errors[] = $queryError;
}
}
$mutationType = $schema->getMutationType();
if ($mutationType) {
$mutationError = $operationMayNotBeInputType($mutationType, 'mutation');
if ($mutationError !== null) {
$errors[] = $mutationError;
}
}
$subscriptionType = $schema->getSubscriptionType();
if ($subscriptionType) {
$subscriptionError = $operationMayNotBeInputType($subscriptionType, 'subscription');
if ($subscriptionError !== null) {
$errors[] = $subscriptionError;
}
}
foreach ($typeMap as $typeName => $type) {
if ($type instanceof ObjectType || $type instanceof InterfaceType) {
$fields = $type->getFields();
foreach ($fields as $fieldName => $field) {
if ($field->getType() instanceof InputObjectType) {
$errors[] = new Error("Field {$typeName}.{$field->name} is of type " . "{$field->getType()->name}, which is an input type, but field types " . "must be output types!");
}
}
}
}
return !empty($errors) ? $errors : null;
};
}
示例2: testIdentifiesOutputTypes
public function testIdentifiesOutputTypes()
{
$expected = [[Type::int(), true], [$this->objectType, true], [$this->interfaceType, true], [$this->unionType, true], [$this->enumType, true], [$this->inputObjectType, false]];
foreach ($expected as $index => $entry) {
$this->assertSame($entry[1], Type::isOutputType($entry[0]), "Type {$entry[0]} was detected incorrectly");
}
}