diff options
| author | Eugen Wissner <belka@caraus.de> | 2020-05-14 09:17:14 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2020-05-14 22:16:56 +0200 |
| commit | a5c44f30facdaabd94ed25953a3bd88005efa868 (patch) | |
| tree | bf768b92b5b3ecab5c939d04bf4ec6ebdb7e5257 /src/Language/GraphQL/Type | |
| parent | 4c19c88e98bea77ebccc786cd55b30e23ab6e897 (diff) | |
| download | graphql-a5c44f30facdaabd94ed25953a3bd88005efa868.tar.gz | |
Add basic output object type support
Diffstat (limited to 'src/Language/GraphQL/Type')
| -rw-r--r-- | src/Language/GraphQL/Type/Definition.hs | 18 | ||||
| -rw-r--r-- | src/Language/GraphQL/Type/Schema.hs | 11 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/Language/GraphQL/Type/Definition.hs b/src/Language/GraphQL/Type/Definition.hs new file mode 100644 index 0000000..016eeb8 --- /dev/null +++ b/src/Language/GraphQL/Type/Definition.hs @@ -0,0 +1,18 @@ +module Language.GraphQL.Type.Definition + ( ObjectType(..) + ) where + +import Data.HashMap.Strict (HashMap) +import Data.Text (Text) +import Language.GraphQL.Schema + +type Fields m = HashMap Text (FieldResolver m) + +-- | 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. +data ObjectType m = ObjectType + { name :: Text + , fields :: Fields m + } diff --git a/src/Language/GraphQL/Type/Schema.hs b/src/Language/GraphQL/Type/Schema.hs new file mode 100644 index 0000000..f830c26 --- /dev/null +++ b/src/Language/GraphQL/Type/Schema.hs @@ -0,0 +1,11 @@ +module Language.GraphQL.Type.Schema + ( Schema(..) + ) where + +import Language.GraphQL.Type.Definition + +-- | Schema Definition +data Schema m = Schema + { query :: ObjectType m + , mutation :: Maybe (ObjectType m) + } |
