""" The @defer directive may be specified on a fragment spread to imply de-prioritization, that causes the fragment to be omitted in the initial response, and delivered as a subsequent response afterward. A query with @defer directive will cause the request to potentially return multiple responses, where non-deferred data is delivered in the initial response and data deferred delivered in a subsequent response. @include and @skip take precedence over @defer. """ directive @defer(if: Boolean = true, label: String) on FRAGMENT_SPREAD | INLINE_FRAGMENT """ directive to map Go type """ directive @goField( forceResolver: Boolean name: String omittable: Boolean ) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION """ directive to map Go type example:- type User @goModel(model: "github.com/my/app/models.User") { id: ID! @goField(name: "todoId") name: String! @goField(forceResolver: true) @goTag(key: "xorm", value: "-") @goTag(key: "yaml") } """ directive @goModel( forceGenerate: Boolean model: String models: [String!] ) on ENUM | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION directive @goTag(key: String!, value: String) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION """ Go type interface{} """ scalar Any """ type Map(Go type: map[string]interface{}) """ scalar Map type Mutation { login(email: String!, username: String!): Boolean! logout: Boolean! } type Query { heartBeat: Boolean! } """ Maps a Time GraphQL scalar to a Go time.Time struct. """ scalar Time scalar Void