{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE NoImplicitPrelude #-} module Data.Morpheus.Core ( Config (..), RenderGQL (..), SelectionTree (..), VALIDATION_MODE (..), ValidateSchema (..), debugConfig, defaultConfig, internalSchema, parseFullSchema, parseRequest, parseRequestWith, parseSchema, parseTypeDefinitions, render, validateRequest, parseDefinitions, ) where import Data.ByteString.Lazy.Char8 ( ByteString, ) import Data.Morpheus.Ext.Result ( GQLResult, ) import Data.Morpheus.Internal.Utils ( (<:>), ) import Data.Morpheus.Parser ( parseDefinitions, parseRequest, parseRequestWith, parseSchema, parseTypeDefinitions, ) import Data.Morpheus.Rendering.RenderGQL ( RenderGQL (..), render, ) import Data.Morpheus.Schema.Schema ( internalSchema, ) import Data.Morpheus.Types.Internal.AST ( Schema, VALID, ) import Data.Morpheus.Types.Internal.Config ( Config (..), VALIDATION_MODE (..), debugConfig, defaultConfig, ) import Data.Morpheus.Types.SelectionTree ( SelectionTree (..), ) import Data.Morpheus.Validation.Document.Validation ( ValidateSchema (..), ) import Data.Morpheus.Validation.Query.Validation ( validateRequest, ) import Relude hiding (ByteString) parseFullSchema :: ByteString -> GQLResult (Schema VALID) parseFullSchema = parseSchema >=> (internalSchema <:>)