Sha256: 6bfa63777fd7526003c6e2195f604accfdb0beb030c4fd5d87b64c3387ab837a
Contents?: true
Size: 1.91 KB
Versions: 2
Compression:
Stored size: 1.91 KB
Contents
require "json" require "parslet" require "set" require "singleton" require "forwardable" module GraphQL class ParseError < StandardError attr_reader :line, :col, :query def initialize(message, line, col, query) super(message) @line = line @col = col @query = query end end # Turn a query string into an AST # @param [String] a GraphQL query string # @return [GraphQL::Language::Nodes::Document] def self.parse(query_string) parse_with_parslet(query_string) end def self.parse_with_parslet(string) tree = GraphQL::PARSER.parse(string) document = GraphQL::TRANSFORM.apply(tree) if !document.is_a?(GraphQL::Language::Nodes::Document) raise("Parse failed! Sorry, somehow we failed to turn this string into a document. Please report this bug!") end document rescue Parslet::ParseFailed => error line, col = error.cause.source.line_and_column(error.cause.pos) raise GraphQL::ParseError.new(error.message, line, col, string) end end # Order matters for these: require 'graphql/definition_helpers' require 'graphql/base_type' require 'graphql/object_type' require 'graphql/enum_type' require 'graphql/input_object_type' require 'graphql/interface_type' require 'graphql/list_type' require 'graphql/non_null_type' require 'graphql/union_type' require 'graphql/argument' require 'graphql/field' require 'graphql/type_kinds' require 'graphql/scalar_type' require 'graphql/boolean_type' require 'graphql/float_type' require 'graphql/id_type' require 'graphql/int_type' require 'graphql/string_type' require 'graphql/introspection' require 'graphql/language' require 'graphql/directive' require 'graphql/schema' require 'graphql/schema/printer' # Order does not matter for these: require 'graphql/execution_error' require 'graphql/invalid_null_error' require 'graphql/query' require 'graphql/repl' require 'graphql/static_validation' require 'graphql/version'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.11.1 | lib/graphql.rb |
graphql-0.11.0 | lib/graphql.rb |