!aeN      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM_Safe8NOPSafe-.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 QRSTUVWXYZ[\ None79: F ]^_`abcdefghi None jklmnopqr None 7:=?PXh morpheus-graphql Primitive Values for GQLScalar:  ,  ,  , . for performance reason type s represents GraphQl   valuetuvwxyz{|}~  None79 defg None$None$None4NoneNoneNone%NonelNone$None$NoneeNoneNone$&'-.8:=?@AHSXlc      !"#$%&'(None:n)*+,-./0123456789:None$8=?;<=>Noned?@ABCDEFGHIJKLMNOPQRSTUVNone$ FGHIWXNone$jYNone$8=Z[\None$> ] None$k^_`abcd!None$.@HVX_k.ef"None:ughijklmnopqrstuvwxyz{|#None:=?,!uvwxy}~$None:=?%None79morpheus-graphqlGraphQL Responsemorpheus-graphqlGraphQL HTTP Request Body &None $.4=?HV morpheus-graphql/Monad Transformer that sums all effect Together'None >@HV! !(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"#$)NoneP)W *NoneHV)+None$*1,None$*|-None$*.None$+/None$+a0None$+1NoneHV,2None$,Z3None,4None=?UVXk-(5None$-6None$=?UVX."7None.i 8None$. 9None$-./=?@AHUVX6%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%&'()*   + ,-./ 012:None$.8=>?HUVXkO6morpheus-graphql#default GraphQL type, parses only   and   values, serialized always as  678>None79HV> ?None79HUV?e !"#$%&'()*+,-./0123456789:;@None$=?@AUV@L<ANone$,-.8=>?@AHSUVXkF8=morpheus-graphqlIntrospect With specific Kind: kind: object, scalar, enum ...>morpheus-graphqlRGenerates internal GraphQL Schema for query validation and introspection rendering?morpheus-graphql+recursion for Object types, both of them :  and @morpheus-graphql+recursion for Object types, both of them :  and  ABC>DEFGHIBNone,.=>?@AHUVXkIJmorpheus-graphql&Decode GraphQL type with Specific KindKmorpheus-graphql/Decode GraphQL query arguments and input valuesLMKNOCNone$>IPNoneI, "#$%&'()*+,-./0123456789:;<,021;:9+*,-./345"#$678 %&'()<DNone$7=?KQRSTUVWENone$Nx=morpheus-graphqlshared GraphQL state between  websocket and http0 server, stores information about subscriptions>morpheus-graphqlinitializes empty GraphQL state =X>YZ[\]^FNone$,.=>?@AHPUVXkPM_morpheus-graphql&Derives resolvers for OBJECT and UNION _`abcdefghijGNone $.XkPklmHNone$QgnINone$.QoJNone$.R5pKNone$.RqLNoneRrstuvwMNone$S:xNNone$S}yONone$Sz?{PNone$7=?@AHUVXT-|}~QNone$@AUVURNone$>PUVkVSNoneVX TNone$=?UVXVUNone$W:VNoneUVWWNone$WXNone$PX'YNone$XjZNone$=?UVXX[None$Y0\None$=?UVXY]None$,>SXkZNone$,>SX[@morpheus-graphql2Wai WebSocket Server App for GraphQL subscriptions=>@@>=^None=>?@ASXbAAmorpheus-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 ABNonebABABNone$>cDmorpheus-graphqlGenerates schema.gql file from %?CDEFGDE?CFG_None$d(`None$.XdHNone$>d  !HIJKLM I !HLJMKaSafeebcdefghiijkkl m n o p q%r%s%t%u%u%v%w%x&y&y&z&{'|'}'~'(((99999999999999:::===EEO^^`                                v !"#$%&'()*+,-.//01234556789:;;<=>>?@ABCDEFGHIJKKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvvwxyyz{||}~kkabc       !!""""""""""""""""""""""############################$$$$$$$$$$w$$$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&'(())))))))))))) ** + , - -./0123333344445555 5!5"5#6$6%7&7&7'7(7)777*7+7,8-8-8.8/80818182838495969798999:9;9<9=:>:?:@:A:B:C:D>E>h>g>f>d>e>F>G>H?I?I?J?K?K?L?M?N?N?6?7?8?O?O?P?Q?R?S?T?U?V?W?X?X?Y?Z?Z?[@\A]A^A_A`AaAbAcAdAeAfAgAhAiBjBkBlBmBnBoCpDqDrDsDtDuDvDwExEyEzE{E|E}E~FFFFFFFFFFFFGGGHIJKLLLLLLMNOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQRRRSSSSSSSSSSTUUUUVWXYYYZ[\]]]]]]__aaaaaaaa-morpheus-graphql-0.3.0-Ap6Qk0h7rBc9SkHPDSDjrkData.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.ValidationData.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.RenderGQL%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.Parsing.Internal.Terms#Data.Morpheus.Parsing.Request.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.Parser&Data.Morpheus.Parsing.Client.ParseMeta#Data.Morpheus.Parsing.Client.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.Query.Fragment)Data.Morpheus.Validation.Query.Input.Enum+Data.Morpheus.Validation.Query.Input.Object(Data.Morpheus.Validation.Query.Arguments.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 defineQuerygqldefineByDocumentFiledefineByIntrospectionFiledefineByDocumentdefineByIntrospection nameSpaceWith nonCapitalcapitalMapKindpairssizeMapArgsoneOfPairvaluekeymapKindFromList EnhancedKeylocationuid CollectionMessageKeyLocationlinecolumnPositionenhanceKeyWithNullliftText liftTextTuple liftTextMapapplyapplyTtypeT instanceHeadT instanceFunDinstanceHeadMultiT text-1.2.3.1Data.Text.InternalTextGQLValue gqlBoolean gqlString gqlObjectgqlListgqlNull gqlScalarValueEnumObjectNullListScalarconvertToJSONNameconvertToHaskellNamedecodeScientific replaceValue ResolveValueResolveTSchemaValidation Validation JSONErrormessage locations GQLErrorsGQLErrordesc positions failResolveT 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 DataTyContypeNametypeFingerprinttypeDescriptiontypeVisibilitytypeData 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 OperationKindQueryMutation SubscriptionisSubscriptionisOutputObjectisObjectisInputisFieldNullable isNullableisWeaker toGQLWrapper toHSWrappers initTypeLib allDataTypeslookupDataTypekindOf isVisible isTypeDefined defineTypetoNullableField toListFieldConsDcNamecFieldsTypeDtNametConsQueryD queryText queryTypes queryArgTypesGQLTypeDtypeD typeKindDtypeArgD RenderGQLrender renderWrappedrenderGraphQLDocument moduleNameimports extensionsscopepubSubScopeindent renderEqual renderReturn renderData renderCon renderMaybe renderList renderTuple renderSetrenderAssignmentrenderExtensionrenderUnionConrenderRootResolverrenderResolver renderTypeRenderHSrenderHaskellDocument createFieldcreateArgument createTypecreateScalarTypecreateEnumTypecreateUnionTypecreateDataTypeLibderiveFromJSON takeValueType SelectionRec SelectionSetUnionSelectionSelectionAliasSelectionFieldaliasFieldNamealiasSelection SelectionselectionArgumentsselectionPosition selectionRec ArgumentsArgument argumentValueargumentOriginargumentPositionArgumentOriginVARIABLEINLINE RawSelectionRawSelectionSetRawSelectionFieldInlineFragmentSpreadRawAliasrawAliasPositionrawAliasSelection RawArguments RawArgumentVariableReference FragmentLib RawSelection'rawSelectionArgumentsrawSelectionPositionrawSelectionRecFragment fragmentTypefragmentPositionfragmentSelection Reference referenceNamereferencePositionVariable variableTypeisVariableRequiredvariableTypeWrappersvariablePosition variableValue Operation operationKind operationArgsoperationSelectionoperationPosition RawOperationValidOperationValidVariablesVariableDefinitions JSONResponse responseDataresponseErrorsStreamTResponseStream PublishStreamSubscribeStream ResponseEventPublish SubscribePubEventSubEvent runStreamT StreamState streamEvents streamValue GQLStream unGQLStream closeStreammapS injectEventsinitExceptStream deriveFetchbase Data.EitherLeftscalarValidatortoScalar pipeLiteraltoken qualifiervariablespaceAndComments1spaceAndCommentssetOf parseNonNullparseMaybeTupleparseAssignmentonType spreadLiteralparseWrappedType enumValuemaybeArgumentsentriesparseOperationparseAnonymousQueryfragment parseDataType parseTypes parseMetalookupGQLConfig internalErrorinternalErrorTinternalUnknownTypeMessageinternalArgumentErrorinternalTypeMismatchEnumRep encodeRep decodeEnumenumTagsdecodeObjectExpQ withObject withMaybewithListwithEnum withUniondecodeFieldWithsysTypes renderTHTypesProppropKeypropType InputError UnknownFieldInputValidationinputErrorMessage GQLClientclientIDclientConnectionclientSessions ClientSession sessionIdsessionSubscriptionClientIDPure MutResolver SubResolveT MutResolveT ResponseT UnSubResolverGQLFailgqlFail toSuccessreplacePairConCUSTOM __typeName__typeVisibility__typeFingerprintFALSETRUETypeKind INTERFACELISTNON_NULL EnumValueenumName InputValue inputName inputTypeFieldTypenamekindfields interfaces possibleTypes enumValues inputFieldsofTypeSchematypes Introspection__schemadecodeIntrospectionIntrospectKind Introspect$fGQLRep->OBJECT:*:$fGQLRep->UNION:+: ObjectFields objectFields TypeUpdater introspectfieldIntroCon resolveTypes buildType updateLib DecodeKindDecode DecodeObject decodeObjectdecodedecodeArguments deriveDecode SubAction RemoveSubAddSubSubErroracceptApolloSubProtocoltoApolloResponse apolloFormatClientRegister connectClientdisconnectClientupdateClientByIDpublishUpdatesremoveClientSubscriptionaddClientSubscription GResolver getResolversObjectResolversobjectResolvers EncodeSubCon EncodeMutCon EncodeConOBJ_RESEncodeencode encodeQueryencodeOperation declareType tyConArgs declareGQLTderiveObjectRep 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 differKeyscheckNameCollisioncheckForUnknownKeysoperationTypesvalidateFragments getFragmentcastFragmentType resolveSpread validateEnumvalidateInputValuevalidateArgumentslookupUnionTypeslookupFieldAsSelectionSetlookupSelectionFieldvalidateSelectionSetresolveOperationVariablesvalidateRequest RootResCon byteStringIOstatelessResolverstreamResolverstatefulResolver fullSchema compileSyntax validateWithversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName