{-# 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, ) where import Data.ByteString.Lazy.Char8 ( ByteString, ) import Data.Morpheus.Ext.Result ( GQLResult, ) import Data.Morpheus.Internal.Utils ((<:>)) import Data.Morpheus.Parser ( 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 <:>)