...

Source file src/github.com/vektah/gqlparser/gqlparser.go

Documentation: github.com/vektah/gqlparser

     1  package gqlparser
     2  
     3  import (
     4  	"github.com/vektah/gqlparser/ast"
     5  	"github.com/vektah/gqlparser/gqlerror"
     6  	"github.com/vektah/gqlparser/parser"
     7  	"github.com/vektah/gqlparser/validator"
     8  	_ "github.com/vektah/gqlparser/validator/rules"
     9  )
    10  
    11  func LoadSchema(str ...*ast.Source) (*ast.Schema, *gqlerror.Error) {
    12  	return validator.LoadSchema(append([]*ast.Source{validator.Prelude}, str...)...)
    13  }
    14  
    15  func MustLoadSchema(str ...*ast.Source) *ast.Schema {
    16  	s, err := validator.LoadSchema(append([]*ast.Source{validator.Prelude}, str...)...)
    17  	if err != nil {
    18  		panic(err)
    19  	}
    20  	return s
    21  }
    22  
    23  func LoadQuery(schema *ast.Schema, str string) (*ast.QueryDocument, gqlerror.List) {
    24  	query, err := parser.ParseQuery(&ast.Source{Input: str})
    25  	if err != nil {
    26  		return nil, gqlerror.List{err}
    27  	}
    28  	errs := validator.Validate(schema, query)
    29  	if errs != nil {
    30  		return nil, errs
    31  	}
    32  
    33  	return query, nil
    34  }
    35  
    36  func MustLoadQuery(schema *ast.Schema, str string) *ast.QueryDocument {
    37  	q, err := LoadQuery(schema, str)
    38  	if err != nil {
    39  		panic(err)
    40  	}
    41  	return q
    42  }
    43  

View as plain text