{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NoImplicitPrelude #-}

module Data.Morpheus.Document
  ( gqlDocument,
    importGQLDocument,
    importGQLDocumentWithNamespace,
    RootResolverConstraint,
  )
where

import Data.Morpheus.CodeGen.Server
  ( CodeGenConfig (..),
    gqlDocument,
    importServerTypeDefinitions,
  )
import Data.Morpheus.Server (RootResolverConstraint)
import Language.Haskell.TH
import Relude hiding (ByteString, readFile)

importGQLDocument :: FilePath -> Q [Dec]
importGQLDocument :: FilePath -> Q [Dec]
importGQLDocument = CodeGenConfig -> FilePath -> Q [Dec]
importServerTypeDefinitions CodeGenConfig {namespace :: Bool
namespace = Bool
False}

importGQLDocumentWithNamespace :: FilePath -> Q [Dec]
importGQLDocumentWithNamespace :: FilePath -> Q [Dec]
importGQLDocumentWithNamespace = CodeGenConfig -> FilePath -> Q [Dec]
importServerTypeDefinitions CodeGenConfig {namespace :: Bool
namespace = Bool
True}