Skip to main content
class GraphQLObjectType
import { GraphQLObjectType } from "https://deno.land/x/kilatgraphql@16.6.0/mod.ts";

Object Type Definition

Almost all of the GraphQL types you define will be object types. Object types have a name, but most importantly describe their fields.

Example:

const AddressType = new GraphQLObjectType({
  name: 'Address',
  fields: {
    street: { type: GraphQLString },
    number: { type: GraphQLInt },
    formatted: {
      type: GraphQLString,
      resolve(obj) {
        return obj.number + ' ' + obj.street
      }
    }
  }
});

When two types need to refer to each other, or a type needs to refer to itself in a field, you can use a function expression (aka a closure or a thunk) to supply the fields lazily.

Example:

const PersonType = new GraphQLObjectType({
  name: 'Person',
  fields: () => ({
    name: { type: GraphQLString },
    bestFriend: { type: PersonType },
  })
});

Constructors

new
GraphQLObjectType(config: Readonly<GraphQLObjectTypeConfig<TSource, TContext>>)

Type Parameters

optional
TSource = any
optional
TContext = any

Properties

private
_fields
private
_interfaces
astNode: Maybe<ObjectTypeDefinitionNode>
description: Maybe<string>
extensionASTNodes: ReadonlyArray<ObjectTypeExtensionNode>
name: string
readonly
[Symbol.toStringTag]: string

Methods

toConfig(): GraphQLObjectTypeNormalizedConfig<TSource, TContext>
toJSON(): string
toString(): string