Ejemplo n.º 1
0
 protected override void VisitUnionTypeDefinition(
     UnionTypeDefinitionNode node,
     TypeDefinitionItem context)
 {
     VisitName(node.Name, context);
     VisitIfNotNull(node.Description, context, VisitStringValue);
     VisitMany(node.Directives, context, VisitDirective);
     VisitMany(node.Types, context, VisitNamedType);
 }
 public static UnionTypeDefinitionNode Rename(
     this UnionTypeDefinitionNode unionTypeDefinition,
     NameString newName,
     params NameString[] schemaNames)
 {
     return(Rename(
                unionTypeDefinition,
                newName,
                (IEnumerable <NameString>)schemaNames));
 }
Ejemplo n.º 3
0
        protected override UnionTypeDefinitionNode RewriteUnionTypeDefinition(
            UnionTypeDefinitionNode node,
            Context context)
        {
            if (IsRelevant(node, context))
            {
                return(base.RewriteUnionTypeDefinition(node, context));
            }

            return(node);
        }
Ejemplo n.º 4
0
 protected sealed override ISyntaxVisitorAction Enter(
     ISyntaxNode node,
     ISyntaxVisitorContext context)
 {
     return(node switch
     {
         DocumentNode n => Enter(n, context),
         OperationDefinitionNode n => Enter(n, context),
         VariableDefinitionNode n => Enter(n, context),
         VariableNode n => Enter(n, context),
         SelectionSetNode n => Enter(n, context),
         FieldNode n => Enter(n, context),
         ArgumentNode n => Enter(n, context),
         FragmentSpreadNode n => Enter(n, context),
         InlineFragmentNode n => Enter(n, context),
         FragmentDefinitionNode n => Enter(n, context),
         DirectiveNode n => Enter(n, context),
         NamedTypeNode n => Enter(n, context),
         ListTypeNode n => Enter(n, context),
         NonNullTypeNode n => Enter(n, context),
         ListValueNode n => Enter(n, context),
         ObjectValueNode n => Enter(n, context),
         ObjectFieldNode n => Enter(n, context),
         IValueNode n => Enter(n, context),
         SchemaDefinitionNode n => Enter(n, context),
         OperationTypeDefinitionNode n => Enter(n, context),
         ScalarTypeDefinitionNode n => Enter(n, context),
         ObjectTypeDefinitionNode n => Enter(n, context),
         FieldDefinitionNode n => Enter(n, context),
         InputValueDefinitionNode n => Enter(n, context),
         InterfaceTypeDefinitionNode n => Enter(n, context),
         UnionTypeDefinitionNode n => Enter(n, context),
         EnumTypeDefinitionNode n => Enter(n, context),
         EnumValueDefinitionNode n => Enter(n, context),
         InputObjectTypeDefinitionNode n => Enter(n, context),
         DirectiveDefinitionNode n => Enter(n, context),
         SchemaExtensionNode n => Enter(n, context),
         ScalarTypeExtensionNode n => Enter(n, context),
         ObjectTypeExtensionNode n => Enter(n, context),
         InterfaceTypeExtensionNode n => Enter(n, context),
         UnionTypeExtensionNode n => Enter(n, context),
         EnumTypeExtensionNode n => Enter(n, context),
         InputObjectTypeExtensionNode n => Enter(n, context),
         _ => throw new NotSupportedException()
     });
Ejemplo n.º 5
0
        private static UnionTypeDefinitionNode AddTypes(
            UnionTypeDefinitionNode typeDefinition,
            UnionTypeExtensionNode typeExtension)
        {
            if (typeExtension.Types.Count == 0)
            {
                return(typeDefinition);
            }

            var types = new OrderedDictionary <string, NamedTypeNode>();

            foreach (NamedTypeNode type in typeDefinition.Types)
            {
                types[type.Name.Value] = type;
            }

            foreach (NamedTypeNode type in typeExtension.Types)
            {
                types[type.Name.Value] = type;
            }

            return(typeDefinition.WithTypes(types.Values.ToList()));
        }
Ejemplo n.º 6
0
 public IUnionTypeDescriptor SyntaxNode(
     UnionTypeDefinitionNode unionTypeDefinitionNode)
 {
     Definition.SyntaxNode = unionTypeDefinitionNode;
     return(this);
 }
Ejemplo n.º 7
0
 protected virtual ISyntaxVisitorAction Enter(
     UnionTypeDefinitionNode node,
     ISyntaxVisitorContext context) =>
 DefaultAction;
Ejemplo n.º 8
0
 IUnionTypeDescriptor IUnionTypeDescriptor.SyntaxNode(
     UnionTypeDefinitionNode syntaxNode)
 {
     SyntaxNode = syntaxNode;
     return(this);
 }
 protected override void VisitUnionTypeDefinition(
     UnionTypeDefinitionNode node)
 {
     _typeRegistry.RegisterType(_unionTypeFactory.Create(node));
 }
Ejemplo n.º 10
0
 protected virtual ISyntaxVisitorAction Leave(
     UnionTypeDefinitionNode node,
     TContext context) =>
 DefaultAction;
Ejemplo n.º 11
0
 public void SyntaxNode(UnionTypeDefinitionNode syntaxNode)
 {
     UnionDescription.SyntaxNode = syntaxNode;
 }
Ejemplo n.º 12
0
 protected virtual void VisitUnionTypeDefinition(UnionTypeDefinitionNode node)
 {
 }
Ejemplo n.º 13
0
 public UnionType(UnionTypeDefinitionNode op)
 {
     this.op = op;
 }