!eN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM]Safe8NOPQRSafe-.HUV morpheus-graphql-GraphQL Arrays , Resolvers and NonNull fieldsmorpheus-graphqlextension for graphQLmorpheus-graphql GraphQL Unionmorpheus-graphqlGraphQL input Objectmorpheus-graphql GraphQL Enummorpheus-graphqlGraphQL Objectmorpheus-graphqlRGraphQL Scalar: Int, Float, String, Boolean or any user defined custom Scalar type morpheus-graphql1context , like Proxy with multiple parameters * kind: object, scalar, enum ... * a: actual gql type    Safe 7HSUVX STUVWXYZ[\]^ None79: N _`abcdefghijk None lmnopqrstu None 7:=?PXt morpheus-graphql Primitive Values for GQLScalar:  ,  ,  , . for performance reason type v represents GraphQl   valuewxyz{|}~  None79fghi NoneNone$None$,None{NoneNoneNonelNoneNone$None$YNoneNoneNone$&'-.8:=?@AHSXne      !"#$%&'()*+,-.None:/0123456789:;<=>?@ANoneHBCDEFGHIJKLMNOPQRSTUVWXYNone$IJKLZ[None$N\None$8=]^_None$>` None$Oabcdefg!None$.@HVX_khij"None:]klmnopqrstuvwxyz{|}~#None:=?!yz{|}$None:=?%None79morpheus-graphqlGraphQL Responsemorpheus-graphqlGraphQL HTTP Request Body &None $.4=?HV morpheus-graphql/Monad Transformer that sums all effect Together'None >@HV!n !(None@X("morpheus-graphqlGraphQL Scalar# and $0 should be provided for every instances manually#morpheus-graphqlvalue parsing and validatingFfor exhaustive pattern matching should be handled all scalar types :  ,  ,  , $invalid values can be reported with  constructor : n parseValue String _ = Left "" -- without error message -- or parseValue String _ = Left "Error Message" $morpheus-graphql/serialization of haskell type into scalar value"#$)None$8=?)[*NoneP)+NoneHV*I,None$*-None$*.None$+*/None$+y0None$+1None$,2None,R3None=?UVXk,4None$-D5None$=?UVX-6None. 7None$.      8None$-./=?@AHUVX5%morpheus-graphqlKGraphQL Root resolver, also the interpreter generates a GQL schema from it.' is required, ( and )2 are optional, if your schema does not supports mutation or  subscription , you acn use () for it.morpheus-graphqlPure Resolver without effect0morpheus-graphqlGraphQL Resolver2morpheus-graphqlWGraphQL Resolver for mutation or subscription resolver , adds effect to normal resolver%&'()*+,-./0129None$.8=>?HUVXk;3morpheus-graphql<GraphQL type, every graphQL type should have an instance of :; and 3. $ ... deriving (Generic, GQLType) if you want to add description o ... deriving (Generic) instance GQLType ... where description = const "your description ..." morpheus-graphql%replaces typeName (A,B) with Pair_A_B345<None7HV=6morpheus-graphql#default GraphQL type, parses only   and   values, serialized always as  678=None79HV>w  !"#$%&>None79HUV?'()*+,-./0123456789:;<=>?@AB?None$=?@AUV?C@None$,-.8=>?@AHSUVXkEDmorpheus-graphqlIntrospect With specific Kind: kind: object, scalar, enum ...Emorpheus-graphqlRGenerates internal GraphQL Schema for query validation and introspection renderingFmorpheus-graphql+recursion for Object types, both of them :  and Gmorpheus-graphql+recursion for Object types, both of them :  and  HIJEKLMNOANone,.=>?@AHUVXkHPmorpheus-graphql&Decode GraphQL type with Specific KindQmorpheus-graphql/Decode GraphQL query arguments and input valuesRSQTUBNone$>I3VNoneIn, "#$%&'()*+,-./0123456789:;<,021;:9+*,-./345"#$678 %&'()<CNone$7=?K,WXYZ[\]DNone$N!=morpheus-graphqlshared GraphQL state between  websocket and http0 server, stores information about subscriptions>morpheus-graphqlinitializes empty GraphQL state =^>_`abcdENone$,.=>?@AHPUVXkOemorpheus-graphql&Derives resolvers for OBJECT and UNION efghijklmnopFNone $.XkPqrGNone$Q sHNone$.QwtINone$.QuJNone$.R5vKNoneRwxyz{|LNone$R}MNone$S"~NNone$Se?ONone$7=?@AHUVXT0-PNone$@AUVUKQNone$>PUVkURNoneU SNone$=?UVXVTNone$VUNone$PW6VNone$WyWNone$WXNone$=?UVXXKYNone$XZNone$=?UVXY[None$,>SXkY|None$,>SX[ @morpheus-graphql2Wai WebSocket Server App for GraphQL subscriptions=>@@>=\None=>?@ASXaAmorpheus-graphqlDmain query processor and resolver possible versions of interpreter with effect and state: where = is State Monad of subscriptions  k :: GQLState -> a -> IO a without effect and state: stateless query processor without any effect, if you don't need any subscription use this one , is simple and fast = k :: a -> IO a -- or k :: GQLRequest -> IO GQLResponse ABNoneaABABNone$>cDmorpheus-graphqlGenerates schema.gql file from %?CDEFGDE?CFG]None$c^None$.XcHNone$>dP  !HIJKLM I !HLJMK_Safed`abcdefgghiij k l m n o%p%q%r%s%s%t%u%v&w&w&x&y'z'{'|'}(~((88888888888888999<<<DDN\\^                                t !"#$%&'()*+,-./011234566789:;<<=>??@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzz{|}}~iibcd       !!!""""""""""""""""""""""############################$$$$$$$$$$u$$$$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&'(())))****** * * * * ****+++,-../01222223 3!3"3#4$4%4&4'4(4)4*5+6,6,6-6.6/6 6 6061627373747576777778797:8;8<8=8>8?8@8A8B8C9D9E9F9G9H9I=J=f=e=d=b=c=K=L=M>N>N>O>P>P>Q>R>S>S>7>8>9>T>T>U>V>W>X>Y>Z>[>\>]>]>^>_>_>`?a@b@c@d@e@f@g@h@i@j@k@l@mAnAoApAqArAsBtCuCvCwCxCyCzC{D|D}D~DDDDEEEEEEEEEEEEFFGHIJKKKKKKLMNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPQQQRRRRRRRRRRSTTUVVVVWWWXYZ[[[[[[]]________-morpheus-graphql-0.4.0-GwGpd1MXlNVB9aEOAlQYTmData.Morpheus.KindData.Morpheus.TypesData.Morpheus.ClientData.Morpheus.ServerData.Morpheus.Document Data.Morpheus&Data.Morpheus.Execution.Internal.UtilsData.Morpheus.Types.Custom!Data.Morpheus.Types.Internal.BaseData.Morpheus.Types.Internal.TH"Data.Morpheus.Types.Internal.Value'Data.Morpheus.Types.Internal.Validation-Data.Morpheus.Execution.Internal.GraphScannerData.Morpheus.Error.Utils'Data.Morpheus.Parsing.Internal.InternalData.Morpheus.Error.Variable Data.Morpheus.Error.SubscriptionData.Morpheus.Error.SelectionData.Morpheus.Error.SchemaData.Morpheus.Error.MutationData.Morpheus.Error.Fragment&Data.Morpheus.Error.Document.Interface!Data.Morpheus.Error.Client.ClientData.Morpheus.Error.Arguments!Data.Morpheus.Types.Internal.Data"Data.Morpheus.Types.Internal.DataD%Data.Morpheus.Rendering.Haskell.Terms&Data.Morpheus.Rendering.Haskell.Values%Data.Morpheus.Rendering.Haskell.Types(Data.Morpheus.Rendering.Haskell.RenderHS&Data.Morpheus.Rendering.Haskell.Render%Data.Morpheus.Parsing.Internal.Create$Data.Morpheus.Execution.Client.Aeson*Data.Morpheus.Types.Internal.AST.Selection-Data.Morpheus.Types.Internal.AST.RawSelection*Data.Morpheus.Types.Internal.AST.OperationData.Morpheus.Types.IO#Data.Morpheus.Types.Internal.Stream$Data.Morpheus.Execution.Client.FetchData.Morpheus.Types.GQLScalar!Data.Morpheus.Rendering.RenderGQL$Data.Morpheus.Parsing.Internal.Terms$Data.Morpheus.Parsing.Internal.Value'Data.Morpheus.Parsing.Request.Arguments"Data.Morpheus.Parsing.Request.Body'Data.Morpheus.Parsing.Request.Operation&Data.Morpheus.Parsing.Request.Fragment'Data.Morpheus.Parsing.Document.DataType%Data.Morpheus.Parsing.Document.ParserData.Morpheus.Error.Internal/Data.Morpheus.Execution.Server.Generics.EnumRep'Data.Morpheus.Execution.Internal.Decode(Data.Morpheus.Execution.Document.ConvertData.Morpheus.Error.Input&Data.Morpheus.Types.Internal.WebSocketData.Morpheus.Types.ResolverData.Morpheus.Types.GQLType GHC.GenericsGenericData.Morpheus.Types.IDData.Morpheus.Schema.TypeKind&Data.Morpheus.Parsing.JSONSchema.Types&Data.Morpheus.Parsing.JSONSchema.Parse)Data.Morpheus.Execution.Server.Introspect%Data.Morpheus.Execution.Server.Decode'Data.Morpheus.Execution.Document.Decode+Data.Morpheus.Execution.Subscription.Apollo3Data.Morpheus.Execution.Subscription.ClientRegister%Data.Morpheus.Execution.Server.Encode(Data.Morpheus.Execution.Internal.Declare+Data.Morpheus.Execution.Document.Introspect(Data.Morpheus.Execution.Document.GQLType'Data.Morpheus.Execution.Document.Encode(Data.Morpheus.Execution.Document.DeclareData.Morpheus.Types.Types$Data.Morpheus.Parsing.Request.Parser,Data.Morpheus.Validation.Document.Validation(Data.Morpheus.Execution.Document.CompileData.Morpheus.Schema.Schema+Data.Morpheus.Rendering.RenderIntrospectionData.Morpheus.Schema.SchemaAPI'Data.Morpheus.Validation.Internal.Utils(Data.Morpheus.Execution.Client.Selection'Data.Morpheus.Validation.Internal.Value(Data.Morpheus.Validation.Query.Arguments'Data.Morpheus.Validation.Query.Fragment.Data.Morpheus.Validation.Query.Utils.Selection(Data.Morpheus.Validation.Query.Selection'Data.Morpheus.Validation.Query.Variable)Data.Morpheus.Validation.Query.Validation&Data.Morpheus.Execution.Server.Resolve*Data.Morpheus.Execution.Server.Interpreter&Data.Morpheus.Execution.Client.Compile$Data.Morpheus.Execution.Client.BuildPaths_morpheus_graphqlWRAPPER INPUT_UNIONUNION INPUT_OBJECTENUMOBJECTSCALARVContext unVContextContextGQL_KIND ScalarValueIntFloatStringBoolean GQLResponseDataErrors GQLRequestquery operationName variablesEventchannelscontentFetchArgs__fetchfetch GQLScalar parseValue serializeGQLRootResolver queryResolvermutationResolversubscriptionResolver SubRootResResolver SubResolver subChannels subResolverresolver toMutResolver mutResolverGQLTypeKIND descriptionIDunpackIDIOSubResIOMutResIOResconstResGQLState initGQLState gqlDocument gqlSocketApp Interpreter interpreterparseFullGQLDocumenttoGraphQLDocumenttoMorpheusHaskellAPiimportGQLDocumentimportGQLDocumentWithNamespace defineQuerygqldefineByDocumentFiledefineByIntrospectionFiledefineByDocumentdefineByIntrospectionnameSpaceTypeString nameSpaceType nameSpaceWith nonCapitalcapitalMapKindpairssizeMapArgsoneOfPairvaluekeymapKindFromList EnhancedKeylocationuid CollectionMessageKeyLocationlinecolumnPositionenhanceKeyWithNullliftText liftTextTuple liftTextMapapplyapplyTtypeT instanceHeadT instanceFunDinstanceHeadMultiTdestructRecord text-1.2.3.1Data.Text.InternalTextGQLValue gqlBoolean gqlString gqlObjectgqlListgqlNull gqlScalarValueEnumObjectNullListScalarconvertToJSONNameconvertToHaskellNamedecodeScientific replaceValue ResolveValueResolveT Validation JSONErrormessage locations GQLErrorsGQLErrordesc positions failResolveT LibUpdaterresolveUpdates errorMessageglobalErrorMessage renderErrors toLocationbadRequestErrorParser getLocationprocessErrorBundleincompatibleVariableTypeunusedVariablesvariableGotInvalidValue unknownTypeundefinedVariableuninitializedVariablesubscriptionIsNotDefined resolverErrorfieldNotResolvedhasNoSubfieldscannotQueryFieldduplicateQuerySelectionssubfieldsNotSelectedschemaValidationErrornameCollisionErrormutationIsNotDefinedfragmentNameCollisionunusedFragmentcannotSpreadWithinItselfunknownFragmentcannotBeSpreadOnTypeImplementsErrorUnexpectedTypeUndefinedField expectedType foundTypeunknownInterfacepartialImplementsrenderGQLErrorsargumentGotInvalidValueunknownArgumentsargumentNameCollisionundefinedArgument DataTypeLibobjectunionleaf inputObject inputUnionmutation subscription DataFullTypeUnionLeaf InputObject OutputObject InputUnion RawDataType Interface FinalDataType ImplementsimplementsInterfaces unImplementsDataKind ScalarKindEnumKind ObjectKind UnionKindDataLeaf BaseScalar CustomScalarLeafEnum DataTyContypeNametypeFingerprinttypeDescriptiontypeData DataField fieldName fieldType fieldArgs fieldArgsType fieldHiddenArgsType argsTypeNameresKind TypeAlias aliasWrappers aliasTyCon aliasArgsDataTypeWrapperListType NonNullType DataArguments DataUnion DataArgument DataObjectDataEnum DataScalar DataValidator validateValueDataFingerprintSystemFingerprintTypeableFingerprintWrapperDListDMaybeD ResolverKind PlainResolverTypeVarResolverExternalResolver DataTypeKind KindObjectKindInputObject KindScalar KindUnionKindEnumKindList KindNonNullKindInputUnion OperationKindMutation SubscriptionQueryisDefaultTypeNameisSchemaTypeNameisPrimitiveTypeNamesysTypesisSubscriptionisOutputObjectisObjectisInputisFieldNullable isNullableisWeaker toGQLWrapper toHSWrappers initTypeLib allDataTypeslookupDataTypekindOf isTypeDefined defineTypetoNullableField toListFieldConsDcNamecFieldsTypeDtName tNamespacetConsGQLTypeDtypeD typeKindDtypeArgDQueryD queryText queryTypes queryArgsType moduleNameimports extensionsscopepubSubScopeindent renderEqual renderReturn renderData renderCon renderMaybe renderList renderTuple renderSetrenderAssignmentrenderExtension renderWrappedrenderUnionConrenderRootResolverrenderResolver renderTypeRenderHSrenderrenderHaskellDocument createFieldcreateArgument createTypecreateScalarTypecreateEnumTypecreateUnionTypecreateDataTypeLibderiveFromJSON takeValueType deriveToJSON SelectionRec SelectionSetUnionSelectionSelectionAliasSelectionFieldaliasFieldNamealiasSelection SelectionselectionArgumentsselectionPosition selectionRec ArgumentsArgument argumentValueargumentOriginargumentPositionArgumentOriginVARIABLEINLINE RawSelectionRawSelectionSetRawSelectionFieldInlineFragmentSpreadRawAliasrawAliasPositionrawAliasSelection RawArguments RawArgumentVariableReference FragmentLib RawSelection'rawSelectionArgumentsrawSelectionPositionrawSelectionRecFragment fragmentTypefragmentPositionfragmentSelection Reference referenceNamereferencePositionVariable variableTypeisVariableRequiredvariableTypeWrappersvariablePosition variableValue Operation operationKind operationArgsoperationSelectionoperationPosition RawOperationValidOperationValidVariablesVariableDefinitions DefaultValue JSONResponse responseDataresponseErrorsStreamTResponseStream PublishStreamSubscribeStream ResponseEventPublish SubscribePubEventSubEvent runStreamT StreamState streamEvents streamValue GQLStream unGQLStream closeStreammapS injectEventsinitExceptStream deriveFetchbase Data.EitherLeftscalarValidatortoScalar RenderGQLrenderGraphQLDocument pipeLiteral litEqualstoken qualifiervariablespaceAndComments1spaceAndCommentssetOf parseNonNullparseMaybeTupleparseAssignmentonType spreadLiteralparseWrappedTypeparseDefaultValue enumValuemaybeArgumentsentriesparseOperationparseAnonymousQueryfragment parseDataType parseTypes internalErrorinternalErrorTinternalUnknownTypeMessageinternalArgumentErrorinternalTypeMismatchEnumRep encodeRep decodeEnumenumTagsdecodeObjectExpQ withObject withMaybewithListwithEnum withUniondecodeFieldWith renderTHTypesProppropKeypropType InputError UnknownFieldInputValidationinputErrorMessage GQLClientclientIDclientConnectionclientSessions ClientSession sessionIdsessionSubscriptionClientIDPure MutResolver SubResolveT MutResolveT ResponseT UnSubResolverGQLFailgqlFail toSuccessreplacePairConCUSTOM __typeName__typeFingerprintFALSETRUETypeKind INTERFACELISTNON_NULL EnumValueenumName InputValue inputName inputTypeFieldTypenamekindfields interfaces possibleTypes enumValues inputFieldsofTypeSchematypes Introspection__schemadecodeIntrospectionIntrospectKind Introspect$fGQLRep->OBJECT:*:$fGQLRep->UNION:+: ObjectFields objectFields TypeUpdater introspectfieldIntroCon buildType updateLib DecodeKindDecode DecodeObject decodeObjectdecodedecodeArguments deriveDecode SubAction RemoveSubAddSubSubErroracceptApolloSubProtocoltoApolloResponse apolloFormatClientRegister connectClientdisconnectClientupdateClientByIDpublishUpdatesremoveClientSubscriptionaddClientSubscription GResolver getResolversObjectResolversobjectResolvers EncodeSubCon EncodeMutCon EncodeConOBJ_RESEncodeencode encodeQueryencodeOperation tyConArgs declareTypederiveObjectRep deriveGQLType deriveEncode declareTypes GQLQueryRoot fragments operationinputVariables VariablesparseGQLvalidatePartialDocumentgqlDocumentNamespacecompileDocumentRoot__typeArgsroot__typeArgsNameRoot root__type root__schema S__EnumValues__EnumValueNames__EnumValueDescriptions__EnumValueIsDeprecateds__EnumValueDeprecationReason S__InputValues__InputValueNames__InputValueDescriptions__InputValueType's__InputValueDefaultValueS__Field s__FieldNames__FieldDescription s__FieldArgs s__FieldType's__FieldIsDeprecateds__FieldDeprecationReasonS__Type s__TypeKind s__TypeNames__TypeDescription s__TypeFieldss__TypeInterfacess__TypePossibleTypess__TypeEnumValuess__TypeInputFields s__TypeOfType S__Schemas__SchemaTypess__SchemaQueryTypes__SchemaMutationTypes__SchemaSubscriptionTypes__SchemaDirectivescreateObjectTypehiddenRootFields defaultTypes schemaAPIVALIDATION_MODEWITHOUT_VARIABLESFULL_VALIDATION lookupType lookupField getInputTypeexistsObjectType differKeyscheckNameCollisioncheckForUnknownKeysoperationTypesvalidateInputValue validateEnumvalidateArgumentsvalidateFragments getFragmentcastFragmentType resolveSpreadlookupUnionTypeslookupFieldAsSelectionSetlookupSelectionFieldvalidateSelectionSetresolveOperationVariablesvalidateRequest RootResCon byteStringIOstatelessResolverstreamResolverstatefulResolver fullSchema compileSyntax validateWithversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName