ExShopifySchema.Generator.Graphql.Introspection.Definition.ObjectType (ExShopifySchema v2025.1.3)

View Source

GraphQL Objects represent a list of named fields, each of which yield a value of a specific type.

https://spec.graphql.org/October2021/#ObjectTypeDefinition

Example introspection payload

{
  "kind": "OBJECT",
  "name": "AppCatalog",
  "description": "A catalog that defines the publication associated with an app.",
  "fields": [
    {
      "name": "apps",
      "description": "The apps associated with the catalog.",
      "args": [
        {
          "name": "first",
          "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).",
          "type": {
            "kind": "SCALAR",
            "name": "Int",
            "ofType": null
          },
          "defaultValue": null,
          "isDeprecated": false,
          "deprecationReason": null
        },
        {
          "name": "after",
          "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).",
          "type": {
            "kind": "SCALAR",
            "name": "String",
            "ofType": null
          },
          "defaultValue": null,
          "isDeprecated": false,
          "deprecationReason": null
        }
      ],
      "type": {
        "kind": "NON_NULL",
        "name": null,
        "ofType": {
          "kind": "OBJECT",
          "name": "AppConnection",
          "ofType": null
        }
      },
      "isDeprecated": false,
      "deprecationReason": null
    },
    {
      "name": "id",
      "description": "A globally-unique ID.",
      "args": [],
      "type": {
        "kind": "NON_NULL",
        "name": null,
        "ofType": {
          "kind": "SCALAR",
          "name": "ID",
          "ofType": null
        }
      },
      "isDeprecated": false,
      "deprecationReason": null
    },
    {
      "name": "operations",
      "description": "Most recent catalog operations.",
      "args": [],
      "type": {
        "kind": "NON_NULL",
        "name": null,
        "ofType": {
          "kind": "LIST",
          "name": null,
          "ofType": {
            "kind": "NON_NULL",
            "name": null,
            "ofType": {
              "kind": "INTERFACE",
              "name": "ResourceOperation",
              "ofType": null
            }
          }
        }
      },
      "isDeprecated": false,
      "deprecationReason": null
    }
  ],
  "inputFields": null,
  "interfaces": [
    {
      "kind": "INTERFACE",
      "name": "Catalog",
      "ofType": null
    },
    {
      "kind": "INTERFACE",
      "name": "Node",
      "ofType": null
    }
  ],
  "enumValues": null,
  "possibleTypes": null
}

Summary

Types

t()

@type t() :: %ExShopifySchema.Generator.Graphql.Introspection.Definition.ObjectType{
  description: String.t() | nil,
  directives: [
    ExShopifySchema.Generator.Graphql.Introspection.Definition.ConstDirective.t()
  ],
  fields: [ExShopifySchema.Generator.Graphql.Introspection.Definition.Field.t()],
  interfaces: [
    ExShopifySchema.Generator.Graphql.Introspection.Definition.NamedType.t()
  ],
  name: String.t()
}

Functions

load_json(json)

@spec load_json(json :: map()) :: t()