-- Do not manually edit this file, it was auto-generated by dillonkearns/elm-graphql
-- https://github.com/dillonkearns/elm-graphql


module Github.Object.LanguageEdge exposing (cursor, node, selection, size)

import Github.InputObject
import Github.Interface
import Github.Object
import Github.Scalar
import Github.Union
import Graphql.Field as Field exposing (Field)
import Graphql.Internal.Builder.Argument as Argument exposing (Argument)
import Graphql.Internal.Builder.Object as Object
import Graphql.Internal.Encode as Encode exposing (Value)
import Graphql.Operation exposing (RootMutation, RootQuery, RootSubscription)
import Graphql.OptionalArgument exposing (OptionalArgument(..))
import Graphql.SelectionSet exposing (SelectionSet)
import Json.Decode as Decode


{-| Select fields to build up a SelectionSet for this object.
-}
selection : (a -> constructor) -> SelectionSet (a -> constructor) Github.Object.LanguageEdge
selection constructor =
    Object.selection constructor


cursor : Field String Github.Object.LanguageEdge
cursor =
    Object.fieldDecoder "cursor" [] Decode.string


node : SelectionSet decodesTo Github.Object.Language -> Field decodesTo Github.Object.LanguageEdge
node object_ =
    Object.selectionField "node" [] object_ identity


{-| The number of bytes of code written in the language.
-}
size : Field Int Github.Object.LanguageEdge
size =
    Object.fieldDecoder "size" [] Decode.int
