-- This file has been generated from package.yaml by hpack version 0.28.2.
--
-- see: https://github.com/sol/hpack
--
-- hash: 67b09c4ab9487b3b733622bc074185fee7c90c8828efc81188d85dd4b7507df8

name:           morpheus-graphql
version:        0.3.1
synopsis:       Morpheus GraphQL
description:    Build GraphQL APIs with your favourite functional language!
category:       web, graphql
homepage:       https://morpheusgraphql.com
bug-reports:    https://github.com/nalchevanidze/morpheus-graphql/issues
author:         Daviti Nalchevanidze
maintainer:     d.nalchevanidze@gmail.com
copyright:      (c) 2019 Daviti Nalchevanidze
license:        BSD3
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
extra-source-files:
    assets/introspection.json
    assets/mut.gql
    assets/pubsub.gql
    assets/simple.gql
    changelog.md
    examples/Sophisticated/api.gql
    examples/TH/simple.gql
    README.md
data-files:
    test/Feature/Holistic/API.gql
    test/Feature/Holistic/arguments/nameConflict/query.gql
    test/Feature/Holistic/arguments/nameConflict/response.json
    test/Feature/Holistic/arguments/undefinedArgument/query.gql
    test/Feature/Holistic/arguments/undefinedArgument/response.json
    test/Feature/Holistic/arguments/unknownArguments/query.gql
    test/Feature/Holistic/arguments/unknownArguments/response.json
    test/Feature/Holistic/cases.json
    test/Feature/Holistic/fragment/cannotBeSpreadOnType/query.gql
    test/Feature/Holistic/fragment/cannotBeSpreadOnType/response.json
    test/Feature/Holistic/fragment/inlineFragment/query.gql
    test/Feature/Holistic/fragment/inlineFragment/response.json
    test/Feature/Holistic/fragment/inlineFragmentTypeMismatch/query.gql
    test/Feature/Holistic/fragment/inlineFragmentTypeMismatch/response.json
    test/Feature/Holistic/fragment/loopingFragment/query.gql
    test/Feature/Holistic/fragment/loopingFragment/response.json
    test/Feature/Holistic/fragment/nameCollision/query.gql
    test/Feature/Holistic/fragment/nameCollision/response.json
    test/Feature/Holistic/fragment/unknownTargetType/query.gql
    test/Feature/Holistic/fragment/unknownTargetType/response.json
    test/Feature/Holistic/fragment/unusedFragment/query.gql
    test/Feature/Holistic/fragment/unusedFragment/response.json
    test/Feature/Holistic/introspection/defaultTypes/Boolean/query.gql
    test/Feature/Holistic/introspection/defaultTypes/Boolean/response.json
    test/Feature/Holistic/introspection/defaultTypes/Float/query.gql
    test/Feature/Holistic/introspection/defaultTypes/Float/response.json
    test/Feature/Holistic/introspection/defaultTypes/ID/query.gql
    test/Feature/Holistic/introspection/defaultTypes/ID/response.json
    test/Feature/Holistic/introspection/defaultTypes/Int/query.gql
    test/Feature/Holistic/introspection/defaultTypes/Int/response.json
    test/Feature/Holistic/introspection/defaultTypes/String/query.gql
    test/Feature/Holistic/introspection/defaultTypes/String/response.json
    test/Feature/Holistic/introspection/kinds/ENUM/query.gql
    test/Feature/Holistic/introspection/kinds/ENUM/response.json
    test/Feature/Holistic/introspection/kinds/INPUT_OBJECT/query.gql
    test/Feature/Holistic/introspection/kinds/INPUT_OBJECT/response.json
    test/Feature/Holistic/introspection/kinds/OBJECT/query.gql
    test/Feature/Holistic/introspection/kinds/OBJECT/response.json
    test/Feature/Holistic/introspection/kinds/SCALAR/query.gql
    test/Feature/Holistic/introspection/kinds/SCALAR/response.json
    test/Feature/Holistic/introspection/kinds/UNION/query.gql
    test/Feature/Holistic/introspection/kinds/UNION/response.json
    test/Feature/Holistic/introspection/schemaTypes/__Directive/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__Directive/response.json
    test/Feature/Holistic/introspection/schemaTypes/__DirectiveLocation/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__DirectiveLocation/response.json
    test/Feature/Holistic/introspection/schemaTypes/__EnumValue/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__EnumValue/response.json
    test/Feature/Holistic/introspection/schemaTypes/__Field/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__Field/response.json
    test/Feature/Holistic/introspection/schemaTypes/__InputValue/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__InputValue/response.json
    test/Feature/Holistic/introspection/schemaTypes/__Schema/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__Schema/response.json
    test/Feature/Holistic/introspection/schemaTypes/__Type/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__Type/response.json
    test/Feature/Holistic/introspection/schemaTypes/__TypeKind/query.gql
    test/Feature/Holistic/introspection/schemaTypes/__TypeKind/response.json
    test/Feature/Holistic/parsing/complex/query.gql
    test/Feature/Holistic/parsing/complex/response.json
    test/Feature/Holistic/parsing/duplicatedFields/query.gql
    test/Feature/Holistic/parsing/duplicatedFields/response.json
    test/Feature/Holistic/parsing/extraCommas/query.gql
    test/Feature/Holistic/parsing/extraCommas/response.json
    test/Feature/Holistic/parsing/generousSpaces/query.gql
    test/Feature/Holistic/parsing/generousSpaces/response.json
    test/Feature/Holistic/parsing/invalidFields/query.gql
    test/Feature/Holistic/parsing/invalidFields/response.json
    test/Feature/Holistic/parsing/invalidNotNullOperator/query.gql
    test/Feature/Holistic/parsing/invalidNotNullOperator/response.json
    test/Feature/Holistic/parsing/missingCloseBrace/query.gql
    test/Feature/Holistic/parsing/missingCloseBrace/response.json
    test/Feature/Holistic/parsing/multilineComments/query.gql
    test/Feature/Holistic/parsing/multilineComments/response.json
    test/Feature/Holistic/parsing/notNullSpacing/query.gql
    test/Feature/Holistic/parsing/notNullSpacing/response.json
    test/Feature/Holistic/parsing/notNullSpacing/variables.json
    test/Feature/Holistic/parsing/singleLineComments/query.gql
    test/Feature/Holistic/parsing/singleLineComments/response.json
    test/Feature/Holistic/selection/AliasNameConflict/query.gql
    test/Feature/Holistic/selection/AliasNameConflict/response.json
    test/Feature/Holistic/selection/AliasResolve/query.gql
    test/Feature/Holistic/selection/AliasResolve/response.json
    test/Feature/Holistic/selection/AliasUnknownField/query.gql
    test/Feature/Holistic/selection/AliasUnknownField/response.json
    test/Feature/Holistic/selection/hasNoSubFields/query.gql
    test/Feature/Holistic/selection/hasNoSubFields/response.json
    test/Feature/Holistic/selection/mustHaveSubFields/query.gql
    test/Feature/Holistic/selection/mustHaveSubFields/response.json
    test/Feature/Holistic/selection/nameConflict/query.gql
    test/Feature/Holistic/selection/nameConflict/response.json
    test/Feature/Holistic/selection/unknownField/query.gql
    test/Feature/Holistic/selection/unknownField/response.json
    test/Feature/Input/Enum/cases.json
    test/Feature/Input/Enum/decode2Con/query.gql
    test/Feature/Input/Enum/decode2Con/response.json
    test/Feature/Input/Enum/decode3Con/query.gql
    test/Feature/Input/Enum/decode3Con/response.json
    test/Feature/Input/Enum/decodeInvalidValue/query.gql
    test/Feature/Input/Enum/decodeInvalidValue/response.json
    test/Feature/Input/Enum/decodeMany/con0/query.gql
    test/Feature/Input/Enum/decodeMany/con0/response.json
    test/Feature/Input/Enum/decodeMany/con1/query.gql
    test/Feature/Input/Enum/decodeMany/con1/response.json
    test/Feature/Input/Enum/decodeMany/con2/query.gql
    test/Feature/Input/Enum/decodeMany/con2/response.json
    test/Feature/Input/Enum/decodeMany/con3/query.gql
    test/Feature/Input/Enum/decodeMany/con3/response.json
    test/Feature/Input/Enum/decodeMany/con4/query.gql
    test/Feature/Input/Enum/decodeMany/con4/response.json
    test/Feature/Input/Enum/decodeMany/con5/query.gql
    test/Feature/Input/Enum/decodeMany/con5/response.json
    test/Feature/Input/Enum/decodeMany/con6/query.gql
    test/Feature/Input/Enum/decodeMany/con6/response.json
    test/Feature/InputType/cases.json
    test/Feature/InputType/variables/incompatibleType/equalType/query.gql
    test/Feature/InputType/variables/incompatibleType/equalType/response.json
    test/Feature/InputType/variables/incompatibleType/equalType/variables.json
    test/Feature/InputType/variables/incompatibleType/stricterType/query.gql
    test/Feature/InputType/variables/incompatibleType/stricterType/response.json
    test/Feature/InputType/variables/incompatibleType/stricterType/variables.json
    test/Feature/InputType/variables/incompatibleType/weakerType1/query.gql
    test/Feature/InputType/variables/incompatibleType/weakerType1/response.json
    test/Feature/InputType/variables/incompatibleType/weakerType1/variables.json
    test/Feature/InputType/variables/incompatibleType/weakerType2/query.gql
    test/Feature/InputType/variables/incompatibleType/weakerType2/response.json
    test/Feature/InputType/variables/incompatibleType/weakerType2/variables.json
    test/Feature/InputType/variables/incompatibleType/weakerType3/query.gql
    test/Feature/InputType/variables/incompatibleType/weakerType3/response.json
    test/Feature/InputType/variables/incompatibleType/weakerType3/variables.json
    test/Feature/InputType/variables/invalidValue/invalidListVariable/query.gql
    test/Feature/InputType/variables/invalidValue/invalidListVariable/response.json
    test/Feature/InputType/variables/invalidValue/invalidListVariable/variables.json
    test/Feature/InputType/variables/invalidValue/nestedListNonNullListReceivedNull/query.gql
    test/Feature/InputType/variables/invalidValue/nestedListNonNullListReceivedNull/response.json
    test/Feature/InputType/variables/invalidValue/nestedListNonNullListReceivedNull/variables.json
    test/Feature/InputType/variables/nestedListNullableListReceivedNull/query.gql
    test/Feature/InputType/variables/nestedListNullableListReceivedNull/response.json
    test/Feature/InputType/variables/nestedListNullableListReceivedNull/variables.json
    test/Feature/InputType/variables/nullableVariable/query.gql
    test/Feature/InputType/variables/nullableVariable/response.json
    test/Feature/InputType/variables/undefinedVariable/query.gql
    test/Feature/InputType/variables/undefinedVariable/response.json
    test/Feature/InputType/variables/unknownType/query.gql
    test/Feature/InputType/variables/unknownType/response.json
    test/Feature/InputType/variables/unusedVariable/unusedVariables/query.gql
    test/Feature/InputType/variables/unusedVariable/unusedVariables/response.json
    test/Feature/InputType/variables/unusedVariable/variableUsedInAlias/query.gql
    test/Feature/InputType/variables/unusedVariable/variableUsedInAlias/response.json
    test/Feature/InputType/variables/unusedVariable/variableUsedInAlias/variables.json
    test/Feature/InputType/variables/unusedVariable/variableUsedInFragment/query.gql
    test/Feature/InputType/variables/unusedVariable/variableUsedInFragment/response.json
    test/Feature/InputType/variables/unusedVariable/variableUsedInFragment/variables.json
    test/Feature/InputType/variables/unusedVariable/variableUsedInInlineFragment/query.gql
    test/Feature/InputType/variables/unusedVariable/variableUsedInInlineFragment/response.json
    test/Feature/InputType/variables/unusedVariable/variableUsedInInlineFragment/variables.json
    test/Feature/InputType/variables/validListVariable/query.gql
    test/Feature/InputType/variables/validListVariable/response.json
    test/Feature/InputType/variables/validListVariable/variables.json
    test/Feature/InputType/variables/valueNotProvided/nonNullVariable/query.gql
    test/Feature/InputType/variables/valueNotProvided/nonNullVariable/response.json
    test/Feature/Schema/cases.json
    test/Feature/Schema/nameCollision/query.gql
    test/Feature/Schema/nameCollision/response.json
    test/Feature/UnionType/cannotBeSpreadOnType/query.gql
    test/Feature/UnionType/cannotBeSpreadOnType/response.json
    test/Feature/UnionType/cases.json
    test/Feature/UnionType/fragmentOnAAndB/query.gql
    test/Feature/UnionType/fragmentOnAAndB/response.json
    test/Feature/UnionType/fragmentOnlyOnA/query.gql
    test/Feature/UnionType/fragmentOnlyOnA/response.json
    test/Feature/UnionType/inlineFragment/cannotBeSpreadOnType/query.gql
    test/Feature/UnionType/inlineFragment/cannotBeSpreadOnType/response.json
    test/Feature/UnionType/inlineFragment/fragmentOnAAndB/query.gql
    test/Feature/UnionType/inlineFragment/fragmentOnAAndB/response.json
    test/Feature/UnionType/selectionWithoutFragmentNotAllowed/query.gql
    test/Feature/UnionType/selectionWithoutFragmentNotAllowed/response.json
    test/Feature/WrappedTypeName/cases.json
    test/Feature/WrappedTypeName/ignoreMutationResolver/query.gql
    test/Feature/WrappedTypeName/ignoreMutationResolver/response.json
    test/Feature/WrappedTypeName/ignoreQueryResolver/query.gql
    test/Feature/WrappedTypeName/ignoreQueryResolver/response.json
    test/Feature/WrappedTypeName/ignoreSubscriptionResolver/query.gql
    test/Feature/WrappedTypeName/ignoreSubscriptionResolver/response.json
    test/Feature/WrappedTypeName/validWrappedTypes/query.gql
    test/Feature/WrappedTypeName/validWrappedTypes/response.json

source-repository head
  type: git
  location: https://github.com/nalchevanidze/morpheus-graphql

library
  exposed-modules:
      Data.Morpheus
      Data.Morpheus.Kind
      Data.Morpheus.Types
      Data.Morpheus.Server
      Data.Morpheus.Document
      Data.Morpheus.Client
  other-modules:
      Data.Morpheus.Error.Arguments
      Data.Morpheus.Error.Client.Client
      Data.Morpheus.Error.Document.Interface
      Data.Morpheus.Error.Fragment
      Data.Morpheus.Error.Input
      Data.Morpheus.Error.Internal
      Data.Morpheus.Error.Mutation
      Data.Morpheus.Error.Schema
      Data.Morpheus.Error.Selection
      Data.Morpheus.Error.Subscription
      Data.Morpheus.Error.Utils
      Data.Morpheus.Error.Variable
      Data.Morpheus.Execution.Client.Aeson
      Data.Morpheus.Execution.Client.Build
      Data.Morpheus.Execution.Client.Compile
      Data.Morpheus.Execution.Client.Fetch
      Data.Morpheus.Execution.Client.Selection
      Data.Morpheus.Execution.Document.Compile
      Data.Morpheus.Execution.Document.Convert
      Data.Morpheus.Execution.Document.Declare
      Data.Morpheus.Execution.Document.Decode
      Data.Morpheus.Execution.Document.Encode
      Data.Morpheus.Execution.Document.GQLType
      Data.Morpheus.Execution.Document.Introspect
      Data.Morpheus.Execution.Internal.Declare
      Data.Morpheus.Execution.Internal.Decode
      Data.Morpheus.Execution.Internal.Utils
      Data.Morpheus.Execution.Server.Decode
      Data.Morpheus.Execution.Server.Encode
      Data.Morpheus.Execution.Server.Generics.EnumRep
      Data.Morpheus.Execution.Server.Interpreter
      Data.Morpheus.Execution.Server.Introspect
      Data.Morpheus.Execution.Server.Resolve
      Data.Morpheus.Execution.Subscription.Apollo
      Data.Morpheus.Execution.Subscription.ClientRegister
      Data.Morpheus.Parsing.Client.ParseMeta
      Data.Morpheus.Parsing.Client.Parser
      Data.Morpheus.Parsing.Document.DataType
      Data.Morpheus.Parsing.Document.Parser
      Data.Morpheus.Parsing.Internal.Create
      Data.Morpheus.Parsing.Internal.Internal
      Data.Morpheus.Parsing.Internal.Terms
      Data.Morpheus.Parsing.JSONSchema.Parse
      Data.Morpheus.Parsing.JSONSchema.Types
      Data.Morpheus.Parsing.Request.Arguments
      Data.Morpheus.Parsing.Request.Body
      Data.Morpheus.Parsing.Request.Fragment
      Data.Morpheus.Parsing.Request.Operation
      Data.Morpheus.Parsing.Request.Parser
      Data.Morpheus.Parsing.Request.Value
      Data.Morpheus.Rendering.Haskell.Render
      Data.Morpheus.Rendering.Haskell.RenderHS
      Data.Morpheus.Rendering.Haskell.Terms
      Data.Morpheus.Rendering.Haskell.Types
      Data.Morpheus.Rendering.Haskell.Values
      Data.Morpheus.Rendering.RenderGQL
      Data.Morpheus.Rendering.RenderIntrospection
      Data.Morpheus.Schema.Schema
      Data.Morpheus.Schema.SchemaAPI
      Data.Morpheus.Schema.TypeKind
      Data.Morpheus.Types.Custom
      Data.Morpheus.Types.GQLScalar
      Data.Morpheus.Types.GQLType
      Data.Morpheus.Types.ID
      Data.Morpheus.Types.Internal.AST.Operation
      Data.Morpheus.Types.Internal.AST.RawSelection
      Data.Morpheus.Types.Internal.AST.Selection
      Data.Morpheus.Types.Internal.Base
      Data.Morpheus.Types.Internal.Data
      Data.Morpheus.Types.Internal.DataD
      Data.Morpheus.Types.Internal.Stream
      Data.Morpheus.Types.Internal.TH
      Data.Morpheus.Types.Internal.Validation
      Data.Morpheus.Types.Internal.Value
      Data.Morpheus.Types.Internal.WebSocket
      Data.Morpheus.Types.IO
      Data.Morpheus.Types.Resolver
      Data.Morpheus.Types.Types
      Data.Morpheus.Validation.Document.Validation
      Data.Morpheus.Validation.Internal.Utils
      Data.Morpheus.Validation.Query.Arguments
      Data.Morpheus.Validation.Query.Fragment
      Data.Morpheus.Validation.Query.Input.Enum
      Data.Morpheus.Validation.Query.Input.Object
      Data.Morpheus.Validation.Query.Selection
      Data.Morpheus.Validation.Query.Utils.Selection
      Data.Morpheus.Validation.Query.Validation
      Data.Morpheus.Validation.Query.Variable
      Paths_morpheus_graphql
  hs-source-dirs:
      src
  ghc-options: -Wall
  build-depends:
      aeson >=1.4.4.0 && <=1.6
    , base >=4.7 && <5
    , bytestring >=0.10.4 && <0.11
    , containers >=0.4.2.1 && <0.7
    , lens
    , megaparsec >=7.0.0 && <8.0
    , mtl >=2.0 && <=2.2.2
    , scientific >=0.3.6.2 && <0.4
    , template-haskell
    , text >=1.2.3.0 && <1.3
    , transformers >=0.3.0.0 && <0.6
    , unordered-containers >=0.2.8.0 && <0.3
    , uuid >=1.0 && <=1.4
    , vector >=0.12.0.1 && <0.13
    , websockets >=0.11.0 && <=0.12.5.3
  default-language: Haskell2010

executable api
  main-is: Main.hs
  other-modules:
      Client.Client
      Files
      Mythology.API
      Mythology.Character.Deity
      Mythology.Character.Human
      Mythology.Place.Places
      Sophisticated.API
      Sophisticated.Model
      Subscription.SimpleSubscription
      TH.Simple
      Paths_morpheus_graphql
  hs-source-dirs:
      examples
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:
      aeson
    , base >=4.7 && <5
    , bytestring
    , containers >=0.4.2.1 && <0.7
    , lens
    , megaparsec >=7.0.0 && <8.0
    , morpheus-graphql
    , mtl
    , scientific >=0.3.6.2 && <0.4
    , scotty
    , template-haskell
    , text
    , transformers >=0.3.0.0 && <0.6
    , unordered-containers >=0.2.8.0 && <0.3
    , uuid >=1.0 && <=1.4
    , vector >=0.12.0.1 && <0.13
    , wai
    , wai-websockets >=1.0 && <=3.5
    , warp
    , websockets >=0.11.0 && <=0.12.5.3
  default-language: Haskell2010

executable morpheus
  main-is: Main.hs
  other-modules:
      Paths_morpheus_graphql
  hs-source-dirs:
      CLI
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
  build-depends:
      aeson
    , base >=4.7 && <5
    , bytestring
    , containers >=0.4.2.1 && <0.7
    , filepath >=1.1 && <1.5
    , lens
    , megaparsec >=7.0.0 && <8.0
    , morpheus-graphql
    , mtl
    , optparse-applicative >=0.12 && <0.15
    , scientific >=0.3.6.2 && <0.4
    , template-haskell
    , text
    , transformers >=0.3.0.0 && <0.6
    , unordered-containers >=0.2.8.0 && <0.3
    , uuid >=1.0 && <=1.4
    , vector >=0.12.0.1 && <0.13
    , websockets >=0.11.0 && <=0.12.5.3
  default-language: Haskell2010

test-suite morpheus-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Feature.Holistic.API
      Feature.Input.Enum.API
      Feature.InputType.API
      Feature.Schema.A2
      Feature.Schema.API
      Feature.UnionType.API
      Feature.WrappedTypeName.API
      Lib
      TestFeature
      Paths_morpheus_graphql
  hs-source-dirs:
      test
  ghc-options: -Wall
  build-depends:
      aeson
    , base >=4.7 && <5
    , bytestring >=0.10.4 && <0.11
    , containers >=0.4.2.1 && <0.7
    , lens
    , megaparsec >=7.0.0 && <8.0
    , morpheus-graphql
    , mtl >=2.0 && <=2.2.2
    , scientific >=0.3.6.2 && <0.4
    , tasty
    , tasty-hunit
    , template-haskell
    , text >=1.2.3.0 && <1.3
    , transformers >=0.3.0.0 && <0.6
    , unordered-containers >=0.2.8.0 && <0.3
    , uuid >=1.0 && <=1.4
    , vector >=0.12.0.1 && <0.13
    , websockets >=0.11.0 && <=0.12.5.3
  default-language: Haskell2010