Sha256: 498e52a32854d9976528c841d7c5768047774ad5e66e8d8321428468ea93b672

Contents?: true

Size: 934 Bytes

Versions: 227

Compression:

Stored size: 934 Bytes

Contents

# frozen_string_literal: true
module GraphQL
  module Language
    # Exposes {.generate}, which turns AST nodes back into query strings.
    module Generation
      extend self

      # Turn an AST node back into a string.
      #
      # @example Turning a document into a query
      #    document = GraphQL.parse(query_string)
      #    GraphQL::Language::Generation.generate(document)
      #    # => "{ ... }"
      #
      # @param node [GraphQL::Language::Nodes::AbstractNode] an AST node to recursively stringify
      # @param indent [String] Whitespace to add to each printed node
      # @param printer [GraphQL::Language::Printer] An optional custom printer for printing AST nodes. Defaults to GraphQL::Language::Printer
      # @return [String] Valid GraphQL for `node`
      def generate(node, indent: "", printer: GraphQL::Language::Printer.new)
        printer.print(node, indent: indent)
      end
    end
  end
end

Version data entries

227 entries across 227 versions & 2 rubygems

Version Path
graphql-1.13.16 lib/graphql/language/generation.rb
graphql-2.0.13 lib/graphql/language/generation.rb
graphql-2.0.12 lib/graphql/language/generation.rb
graphql-1.13.15 lib/graphql/language/generation.rb
graphql-2.0.11 lib/graphql/language/generation.rb
graphql-1.13.14 lib/graphql/language/generation.rb
graphql-1.13.13 lib/graphql/language/generation.rb
graphql-2.0.9 lib/graphql/language/generation.rb
graphql-2.0.8 lib/graphql/language/generation.rb
graphql-2.0.7 lib/graphql/language/generation.rb
graphql_cody-1.13.0 lib/graphql/language/generation.rb
graphql-1.13.12 lib/graphql/language/generation.rb
graphql-2.0.6 lib/graphql/language/generation.rb
graphql-2.0.5 lib/graphql/language/generation.rb
graphql-2.0.4 lib/graphql/language/generation.rb
graphql-2.0.3 lib/graphql/language/generation.rb
graphql-1.13.11 lib/graphql/language/generation.rb
graphql-2.0.2 lib/graphql/language/generation.rb
graphql-2.0.1 lib/graphql/language/generation.rb
graphql-1.13.10 lib/graphql/language/generation.rb