Dependency-light Go metadata package for GraphQL schema artifacts.
github.com/OpenUdon/graphqlschema parses GraphQL SDL and introspection JSON
into native metadata for downstream authoring, packaging, validation, and
review tools. The package is intentionally schema-first: it preserves GraphQL
types, fields, arguments, directives, operation roots, and selector metadata
without executing GraphQL operations.
go get github.com/OpenUdon/graphqlschemaThis package is metadata-only. It does not execute queries, mutations, or subscriptions; contact GraphQL servers; resolve credentials; or fetch remote schema references.
package main
import (
"fmt""os""github.com/OpenUdon/graphqlschema"
)
funcmain() {
data, err:=os.ReadFile("schema.graphqls")
iferr!=nil {
panic(err)
}
model, err:=graphqlschema.Parse(data)
iferr!=nil {
panic(err)
}
fmt.Printf("query root %q with %d types\n", model.QueryType, len(model.Types))
ifop, ok:=model.OperationByID("query.book"); ok {
fmt.Printf("%s returns %s\n", op.ID, op.Type)
}
}Parseauto-detects SDL versus introspection JSON.ParseSDLparses GraphQL schema definition language.ParseIntrospectionparses JSON introspection responses.ParseIntrospectionMapparses an already-decoded introspection response.TypeByNamelooks up parsed type metadata by GraphQL type name.OperationByIDlooks up selectable root fields such asquery.book.SelectorAliaseslists canonical operation IDs and local JSON Pointer selectors.ResolveSelectorresolves operation IDs,#/operations/{id}, and#/types/{rootType}/fields/{fieldName}pointers.
See Consumer Readiness for apitools, OpenUdon,
and UWS source-profile planning boundaries.
See UWS Source-Profile Evidence for the non-normative GraphQL source-profile evidence recorded by this package.
GOWORK=off go test ./...
GOWORK=off go vet ./...
git diff --check