コード例 #1
0
        public static void WriteStringValue(this ISyntaxWriter writer, StringValueNode node)
        {
            if (node.Block)
            {
                writer.Write("\"\"\"");

                var lines = node.Value
                            .Replace("\"\"\"", "\\\"\"\"")
                            .Replace("\r", string.Empty)
                            .Split('\n');

                foreach (var line in lines)
                {
                    writer.WriteLine();
                    writer.WriteIndent();
                    writer.Write(line);
                }

                writer.WriteLine();
                writer.WriteIndent();
                writer.Write("\"\"\"");
            }
            else
            {
                writer.Write('"');
                WriteEscapeCharacters(writer, node.Value);
                writer.Write('"');
            }
        }
コード例 #2
0
        private void VisitFieldDefinition(
            FieldDefinitionNode node,
            ISyntaxWriter writer)
        {
            writer.WriteIndent(_indented);

            WriteDescription(node.Description, writer);

            writer.WriteName(node.Name);

            if (node.Arguments.Count > 0)
            {
                writer.Write("(");
                writer.WriteMany(
                    node.Arguments,
                    VisitArgumentValueDefinition,
                    w => w.WriteSpace());
                writer.Write(")");
            }

            writer.Write(":");
            writer.WriteSpace();

            writer.WriteType(node.Type);

            WriteDirectives(node.Directives, writer);
        }
コード例 #3
0
        private void VisitInputValueDefinition(
            InputValueDefinitionNode node,
            ISyntaxWriter writer)
        {
            writer.WriteIndent(_indented);

            WriteDescription(node.Description, writer);

            WriteInputValueDefinition(node, writer);
        }
コード例 #4
0
        private void VisitOperationTypeDefinition(
            OperationTypeDefinitionNode node,
            ISyntaxWriter writer)
        {
            writer.WriteIndent(_indented);

            writer.Write(node.Operation.ToString().ToLowerInvariant());
            writer.Write(": ");
            writer.WriteNamedType(node.Type);
        }