MIT licensed by Daviti Nalchevanidze
This version can be pinned in stack with:morpheus-graphql-core-0.17.0@sha256:4192366e2c23594a435364cc42832f2949620b8b116a69b57e59fde7111b1a0d,12939
Module documentation for 0.17.0
Depends on 15 packages
(full list with versions):
aeson, 
base, 
bytestring, 
containers, 
hashable, 
megaparsec, 
mtl, 
relude, 
scientific, 
template-haskell, 
text, 
th-lift-instances, 
transformers, 
unordered-containers, 
vector Morpheus GraphQL Core
provides the following core functionalities
for building GraphQL Server, Client:
- AST
- parsing
- validation
- pretty-printing
- utils
Changelog
0.17.0 - 25.02.2021
New features
- Data.Morpheus.Coreprovides default GrapHQL type definitions with- internalSchema
- exposed Data.Morpheus.Internal.Ext
Breaking changes
- 
parseTypeSystemDefinitionandparseGQLDocumentis replaced withparseSchema
 
- 
parseFullGQLDocumentreplaced withparseFullSchema
 
- 
removed parseDSLfromData.Morpheus.Core
 
- 
following Types and modules are migrated to the new package morpheus-graphql-app:
 
- following types and functions in Data.Morpheus.Coreare moved in toData.Morpheus.App:App,AppData,runApp,withDebugger,mkApp,runAppStream
- typeClass MapAPImigrated fromData.Morpheus.Types.IOis moved intoData.Morpheus.App
- Data.Morpheus.Types.Internal.Resolvingmoved as- Data.Morpheus.App.Internal.Resolving
 
- 
RootResModelwas renamed toRootResolverValue
 
- 
ResModelwas replaced with more generalResolverValue
 
- 
GQLScalarwas replaced withEncodeScalarandDecodeScalartype-classes.
 
- 
Value.Floatis nowDoubleinstead ofFloat.
 
0.16.0 - 05.11.2020
Breaking Changes
- 
signature changes: 
- 
render:a -> Texttoa -> ByteString
 
- 
parseTypeSystemDefinition :
Text -> Eventless (Schema VALID)toByteString -> Eventless (Schema VALID)
 
- 
parseTypeDefinitions:
Text -> Eventless [TypeDefinition ANY CONST]toByteString -> Eventless [TypeDefinition ANY CONST]
 
 
new features
Minor Changes
- parser performance optimization
0.15.1 - 12.09.2020
relaxed upper boundary of megaparsec up to 10.0.0
0.15.0 - 12.09.2020
new features
- 
renderrenders SchemaDefinition e.g
 schema {
  query: MyQuery
}
 
- 
query validator automatically adds __typenameto interface types
 
- 
type : App
 api :: a -> m b
api = runApp (mkApp schema resolvers)
 
- 
Appsupports semigroup(schema Stitching):
 if whe have two apps app1andapp2with typeApi EVENT IOwe can merge it as.
 mergedApi :: a -> m b
mergedApi = runApp (app1 <> app2)
 
- 
runAppchanged signature to:
 runApp :: Api e m -> a -> m b
 
Breaking Changes
Minor Changes
0.14.1 - 16.08.2020
0.14.0 - 15.08.2020
new features
- 
query validation supports interfaces 
- 
exposed: Data.Morpheus.Types.SelectionTree
 
- 
configurable api: Data.Morpheus.Coreexports
 
- Config
- defaultConfig
- debugConfig
 
- 
for better debugging, internal errors messages will display resolving state: 
- current TypeName
- current Selection
- OperationDefinition
- SchemaDefinition
 
- 
rendering graphql “AST”. e.g render (selection :: Selection VALID)will render
 
{
  user(arg1: 1) {
    name
  }
}
- quasiquoter [dsl| <type definitions> |]generatesSchema VALID.
- parser supports custom directive definition. e.g
directive @MyDirective on FIELD_DEFINITION | OBJECT
- 
directive Validation for Document (TypeSystem). 
- 
supports of block string values. e.g: query {
  createDeity(
    name: """
    power
    bla \n sd
    blu \\ date
    """
  ) {
    name
  }
}
 
- 
support of schema. issue #412
 schema {
  query: MyQuery
}
 
Breaking Changes
- 
Context' renamed toResolverContext’
 
- 
removed : EventConfromData.Morpheus.Core
 
- 
internal refactoring: changed AST.
Schema AST Types now need parameter stage = RAW | CONST | VALID.
 
- Schema VALID
- TypeDefinition VALID
- FieldDefinition IN VALID
- …
 
- 
runApi requires argument config   runApi ::
    Schema s ->
    RootResModel event m ->
    Config ->
    GQLRequest ->
    ResponseStream event m (Value VALID)
 
0.13.0 - 22.06.2020
new features
- exposed: Data.Morpheus.Types.GQLScalar
- exposed: Data.Morpheus.Types.ID
- finished interface validation
- supports default values
minor changes
- internal refactoring
- added dependency mtl
- validates strings as enum from JSON value
0.12.0 - 21.05.2020
New features
- 
parser supports implements interfaces separated with empty spaces type T implements A , B C & D {
 
- 
introspection can render interfaces