getSubscriptionType() public method

public getSubscriptionType ( ) : ObjectType
return GraphQL\Type\Definition\ObjectType
コード例 #1
0
ファイル: Executor.php プロジェクト: webonyx/graphql-php
 /**
  * Extracts the root type of the operation from the schema.
  *
  * @param Schema $schema
  * @param OperationDefinitionNode $operation
  * @return ObjectType
  * @throws Error
  */
 private static function getOperationRootType(Schema $schema, OperationDefinitionNode $operation)
 {
     switch ($operation->operation) {
         case 'query':
             return $schema->getQueryType();
         case 'mutation':
             $mutationType = $schema->getMutationType();
             if (!$mutationType) {
                 throw new Error('Schema is not configured for mutations', [$operation]);
             }
             return $mutationType;
         case 'subscription':
             $subscriptionType = $schema->getSubscriptionType();
             if (!$subscriptionType) {
                 throw new Error('Schema is not configured for subscriptions', [$operation]);
             }
             return $subscriptionType;
         default:
             throw new Error('Can only execute queries, mutations and subscriptions', [$operation]);
     }
 }
コード例 #2
0
 /**
  * @it defines a subscription schema
  */
 public function testDefinesSubscriptionSchema()
 {
     $schema = new Schema(['query' => $this->blogQuery, 'subscription' => $this->blogSubscription]);
     $this->assertEquals($this->blogSubscription, $schema->getSubscriptionType());
     $sub = $this->blogSubscription->getField('articleSubscribe');
     $this->assertEquals($sub->getType(), $this->blogArticle);
     $this->assertEquals($sub->getType()->name, 'Article');
     $this->assertEquals($sub->name, 'articleSubscribe');
 }