예제 #1
0
        private void VisitInterfaceTypeDefinitionBase(
            InterfaceTypeDefinitionNodeBase node,
            ISyntaxWriter writer)
        {
            writer.Write(Keywords.Interface);
            writer.WriteSpace();
            writer.WriteName(node.Name);

            if (node.Interfaces.Count > 0)
            {
                writer.WriteSpace();
                writer.Write(Keywords.Implements);
                writer.WriteSpace();
                writer.WriteMany(node.Interfaces,
                                 (n, w) => writer.WriteNamedType(n),
                                 " & ");
            }

            WriteDirectives(node.Directives, writer);

            WriteLeftBrace(writer);

            writer.Indent();
            writer.WriteMany(
                node.Fields,
                VisitFieldDefinition,
                WriteLineOrSpace);
            writer.Unindent();

            WriteRightBrace(writer);
        }
예제 #2
0
        private void VisitSchemaDefinitionBase(SchemaDefinitionNodeBase node, ISyntaxWriter writer)
        {
            writer.Write(Keywords.Schema);
            WriteDirectives(node.Directives, writer);

            WriteLeftBrace(writer);

            writer.Indent();
            writer.WriteMany(
                node.OperationTypes,
                VisitOperationTypeDefinition,
                WriteLineOrSpace);
            writer.Unindent();

            WriteRightBrace(writer);
        }
예제 #3
0
        private void VisitInputObjectTypeDefinitionBase(
            InputObjectTypeDefinitionNodeBase node,
            ISyntaxWriter writer)
        {
            writer.Write(Keywords.Input);
            writer.WriteSpace();
            writer.WriteName(node.Name);

            WriteDirectives(node.Directives, writer);

            WriteLeftBrace(writer);

            writer.Indent();
            writer.WriteMany(
                node.Fields,
                VisitInputValueDefinition,
                WriteLineOrSpace);
            writer.Unindent();

            WriteRightBrace(writer);
        }
예제 #4
0
        private void VisitEnumTypeDefinitionBase(
            EnumTypeDefinitionNodeBase node,
            ISyntaxWriter writer)
        {
            writer.Write(Keywords.Enum);
            writer.WriteSpace();
            writer.WriteName(node.Name);

            WriteDirectives(node.Directives, writer);

            WriteLeftBrace(writer);

            writer.Indent();
            writer.WriteMany(
                node.Values,
                VisitEnumValueDefinition,
                WriteLineOrSpace);
            writer.Unindent();

            WriteRightBrace(writer);
        }