!9e1-      !"#$%&'()*+,FNone-./01Safe=?UVXk23456Nonea789:;<=>None7morpheus-graphql Primitive Values for GQLScalar: , , , . for performance reason type ? represents GraphQl  value@ABCDEFGH None79CIJKLMNOPQRSTUVWXYZ None$[\]^ None_`abcd Nonepe NonefgNonehijklNoneMmnNoneoNonepNone qrstNone iHuvwxyz{|}~None -=>?@AHUVXk None wNone None  None79morpheus-graphqlGraphQL Responsemorpheus-graphqlGraphQL HTTP Request Body None@X morpheus-graphqlGraphQL Scalar and 0 should be provided for every instances manuallymorpheus-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   None7=?  NoneNone7NoneHV !None"None,# Noneo$%!None&"None'()*+#NoneL ,-./012345$None$46789:;<=>?@ABCDEFGHIJ%None$morpheus-graphqlshared GraphQL state between  websocket and http0 server, stores information about subscriptionsmorpheus-graphqlinitializes empty GraphQL state KLMNOPQ&None$./4=?@AHUVX)z Rmorpheus-graphql/Monad Transformer that sums all effect Togethermorpheus-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-graphqlResolver Monad Transformermorpheus-graphql]Monad Resolver with GraphQL effects, used for communication between mutation and subscriptionmorpheus-graphql(Monad IO resolver without GraphQL effectSmorpheus-graphqlPure Resolver without effectmorpheus-graphqlGraphQL Resolvermorpheus-graphqlWGraphQL Resolver for mutation or subscription resolver , adds effect to normal resolvermorpheus-graphql+lift Normal resolver inside Effect ResolverRTUVWXYSZ[NoneHUV/morpheus-graphql-GraphQL Arrays , Resolvers and NonNull fieldsmorpheus-graphql GraphQL Unionmorpheus-graphqlGraphQL input Object morpheus-graphql GraphQL Enum!morpheus-graphqlGraphQL Object"morpheus-graphqlRGraphQL Scalar: Int, Float, String, Boolean or any user defined custom Scalar type#morpheus-graphql-Type Family to associate type to GraphQL Kind !"#"! #'None 7HSUVX0\]^_`abcdefghi(None $8=>?UVXk6c$morpheus-graphql<GraphQL type, every graphQL type should have an instance of )* and $. $ ... deriving (Generic, GQLType) if you want to add description o ... deriving (Generic) instance GQLType ... where description = const "your description ..." jmorpheus-graphql%replaces typeName (A,B) with Pair_A_B$%kl+None79HV8`&morpheus-graphql#default GraphQL type, parses only  and  values, serialized always as &'(None8  $%&'( $%  &'(None;)morpheus-graphqlstatefull GraphQL interpreter*morpheus-graphql2Wai Websocket Server App for GraphQL subscriptions)**),None7HV<7 mnopqrstu-None7=?HV<vwxyz{|.None7HV=U }~/None7HV=0None7HUV>o1NoneUV>2None7HV?q3None7HUV@04None7HPUV@5None$,=>?@AHSUVXkP/morpheus-graphqlSintrospection Does not care about resolving monad, some fake monad just for mockingmorpheus-graphqlVGenerates internal GraphQL Schema for query validation and introspection rendering * kind: object, scalar, enum ... * args}: type of field arguments * '()' for 'input values' , they are just JSON properties and does not have any argument * " for field Resolvers Types, where  is type of argumentsmorpheus-graphqlFcontext , like Proxy with multiple parameters contains types of : * a: actual gql type * kind: object, scalar, enum ... * args: InputType | OutputTypemorpheus-graphql+recursion for Object types, both of them :  and !; iterates on field types and introspects them recursivelymorpheus-graphqlintrospects Of Resolver a as argument and b as output typemorpheus-graphql`recursion for union types iterates on possible types for UNION and introspects them recursively6None$7UVkP7None,=>?@AHUVXkSamorpheus-graphql/Decode GraphQL query arguments and input valuesmorpheus-graphql/Decode GraphQL query arguments and input values8None$,=>?@AHUVXkXmorpheus-graphql"Derives resolvers by object fieldsmorpheus-graphqlHandles all operators: Query, Mutation and Subscription, if you use it with Mutation or Subscription all effects inside will be lostmorpheus-graphqlUResolves and encodes UNION, Handles all operators: Query, Mutation and Subscription,9None"$,=>?@AHSUVXkY:NoneZ;None$Zw<NoneUVZ=None$[>None[H?None[@None[ANone\)BNone$P\tCNone$=?UVX\DNone$]2ENone=?UVX]FNone$>]GNone=>?@ASXd+morpheus-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 +,Noned+,+,HSafee IJKLMNOPQQRSTUVW%X%Y&Z&Z&[&\&]&^&_&`&a&b&cdefghij(k(l+m+m+nopGqGrstuvwxyz{|}}~w            R       !!"#$%%&'()*+,,-./01234556789:;<=>?@ABBCDEFGHIJKLMNOPQRSVTUV W X!Y"Z"["\"]"^#_#_#`#a#b#c#d#e#f#g$h$h$i$j$k$l$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z%{%|%}%~%%%&&&&&&&&&&''''''''''''''(((,,i,h,g,e,f,,,----l---.......l..////l////0000000l0000000111122i2h2g2e2f222222222222223333l334445555555666777788888889999::::::;<===>>>>>>>?????@ABCDEFFFFFHHHHHHHH-morpheus-graphql-0.1.0-9Zw2QmqnRdVF0usEUpmgZzData.Morpheus.TypesData.Morpheus.ServerData.Morpheus.Kind Data.MorpheusData.Morpheus.Parser.Internal&Data.Morpheus.Resolve.Generics.EnumRep!Data.Morpheus.Types.Internal.Base"Data.Morpheus.Types.Internal.Value'Data.Morpheus.Types.Internal.ValidationData.Morpheus.Error.UtilsData.Morpheus.Error.Variable Data.Morpheus.Error.SubscriptionData.Morpheus.Error.SpreadData.Morpheus.Error.SelectionData.Morpheus.Error.SchemaData.Morpheus.Error.MutationData.Morpheus.Error.FragmentData.Morpheus.Error.Arguments!Data.Morpheus.Types.Internal.Data&Data.Morpheus.Resolve.Generics.TypeRep*Data.Morpheus.Types.Internal.AST.Selection-Data.Morpheus.Types.Internal.AST.RawSelection)Data.Morpheus.Types.Internal.AST.OperatorData.Morpheus.Types.IOData.Morpheus.Types.GQLScalarData.Morpheus.Server.ApolloData.Morpheus.Parser.PrimitiveData.Morpheus.Parser.TermsData.Morpheus.Parser.ValueData.Morpheus.Parser.ArgumentsData.Morpheus.Parser.BodyData.Morpheus.Parser.OperatorData.Morpheus.Parser.FragmentData.Morpheus.Error.InternalData.Morpheus.Error.Input&Data.Morpheus.Types.Internal.WebSocket#Data.Morpheus.Server.ClientRegisterData.Morpheus.Types.ResolverData.Morpheus.Types.CustomData.Morpheus.Types.GQLType GHC.GenericsGenericData.Morpheus.Types.IDData.Morpheus.Schema.TypeKindData.Morpheus.Schema.InputValueData.Morpheus.Schema.FieldData.Morpheus.Schema.EnumValueData.Morpheus.Schema.Type1Data.Morpheus.Schema.Internal.RenderIntrospection&Data.Morpheus.Schema.DirectiveLocationData.Morpheus.Schema.DirectiveData.Morpheus.Schema.Schema Data.Morpheus.Resolve.IntrospectData.Morpheus.Schema.SchemaAPIData.Morpheus.Resolve.DecodeData.Morpheus.Resolve.EncodeData.Morpheus.Resolve.OperatorData.Morpheus.Types.TypesData.Morpheus.Parser.Parser#Data.Morpheus.Validation.Input.EnumData.Morpheus.Validation.Spread$Data.Morpheus.Validation.Utils.Utils(Data.Morpheus.Validation.Utils.Selection%Data.Morpheus.Validation.Input.Object!Data.Morpheus.Validation.Fragment"Data.Morpheus.Validation.Arguments"Data.Morpheus.Validation.Selection!Data.Morpheus.Validation.Variable#Data.Morpheus.Validation.ValidationData.Morpheus.Resolve.ResolveData.Morpheus.InterpreterPaths_morpheus_graphql ScalarValueIntFloatStringBoolean GQLResponseDataErrors GQLRequestquery operationName variables GQLScalar parseValue serializeGQLState initGQLStateGQLRootResolver queryResolvermutationResolversubscriptionResolverResolverEffectMResM gqlResolvergqlEffectResolverliftEffectResolverWRAPPERUNION INPUT_OBJECTENUMOBJECTSCALARKINDGQLType descriptionIDunpackIDGQLAPI gqlSocketApp Interpreter interpreter GQLSyntaxInvalidValidParserPositionEnumRep encodeRepgToEnumtagNamegetTags EnhancedKeylocationuid CollectionKeyenhanceKeyWithNull text-1.2.3.1Data.Text.InternalTextValueEnumObjectNullListScalarconvertToJSONNameconvertToHaskellNamedecodeScientific ResolveValueResolveTSchemaValidation Validation JSONErrormessage locations ErrorLocationlinecolumn GQLErrorsGQLErrordesc positions failResolveT errorMessageglobalErrorMessage renderErrorsbadRequestErrorincompatibleVariableTypeunusedVariablesvariableGotInvalidValue unknownTypeundefinedVariableuninitializedVariablesubscriptionIsNotDefinedunknownFragmentcannotBeSpreadOnTypefieldNotResolvedhasNoSubfieldscannotQueryFieldduplicateQuerySelectionssubfieldsNotSelectedschemaValidationErrornameCollisionErrormutationIsNotDefinedcannotSpreadWithinItselfargumentGotInvalidValueunknownArgumentsargumentNameCollisionundefinedArgument DataTypeLibobjectunionleaf inputObjectmutation subscription DataFullTypeUnionLeaf InputObject OutputObjectDataKind ScalarKindEnumKind ObjectKindDataLeaf LeafScalarLeafEnumDataTypetypeNametypeFingerprinttypeDescriptiontypeData DataField fieldName fieldArgs fieldKind fieldTypefieldTypeWrappers fieldHiddenDataTypeWrapperListType NonNullType DataArguments DataInputTypeDataOutputType DataUnionDataOutputObjectDataInputObjectDataOutputField DataArgumentDataInputField DataObjectDataEnum DataScalar DataValidator validateValueDataFingerprintSystemFingerprintTypeableFingerprint DataTypeKind KindScalar KindObject KindUnionKindEnumKindInputObjectKindList KindNonNullisFieldNullableshowWrappedTypeshowFullAstType initTypeLib allDataTypes isTypeDefined defineType ObjectRepobjectFieldTypesUnionRep possibleTypes TypeUpdaterRecSelSelOf resolveTypes SelectionRec SelectionSetUnionSelectionSelectionAliasSelectionFieldaliasFieldNamealiasSelection SelectionselectionArgumentsselectionPosition selectionRec ArgumentsArgument argumentValueargumentPosition RawSelectionSpreadRawSelectionSetRawSelectionFieldInlineFragmentRawAliasrawAliasPositionrawAliasSelection RawArguments RawArgumentVariableReference FragmentLib RawSelection'rawSelectionArgumentsrawSelectionPositionrawSelectionRecFragment fragmentTypefragmentPositionfragmentSelection Reference referenceNamereferencePositionOperatorQueryMutation Subscription Operator' operatorName operatorArgsoperatorSelectionoperatorPosition RawOperator' RawOperatorValidVariablesVariableDefinitionsVariable variableTypeisVariableRequiredvariableTypeWrappersvariablePosition variableValueValidOperator' ValidOperatorbase Data.EitherLeftscalarValidatortoScalarApolloSubscriptionapolloId apolloType apolloPayload apolloQueryapolloOperationNameapolloVariablesapolloProtocoltoApolloResponseparseApolloRequesttoken qualifiervariablenonNullparseMaybeTupleparseAssignmentonType spreadLiteral enumValuemaybeArgumentsentries parseOperatorparseAnonymousQueryfragment internalErrorinternalErrorTinternalUnknownTypeMessageinternalArgumentErrorinternalTypeMismatchProppropKeypropType InputErrorUnexpectedTypeUndefinedField UnknownFieldInputValidationinputErrorMessage GQLClientclientIDclientConnectionclientSessions ClientSession sessionIdsessionChannelssessionQuerySelectionChannelClientID OutputActionPublishMutationInitSubscriptionNoEffectmutationChannelsmutationResponse currentSubscriptionStateResolversubscriptionChannelssubscriptionQueryClientRegister connectClientdisconnectClientupdateClientByIDpublishUpdatesremoveClientSubscriptionaddClientSubscriptionEffectTPure runEffectTEffect resultEffects resultValue unpackEffect2 unpackEffectMapKindpairssizekeysvaluesMapArgsoneOfPairvaluekeymapKindFromListreplacePairCon __typeName__typeFingerprintTypeKind INTERFACELISTNON_NULL InputValuenametype' defaultValuecreateInputValueWithFielddeprecationReason isDeprecatedargscreateFieldWith EnumValuecreateEnumValueisEnumOfDeprecationArgsincludeDeprecatedTypekindofType enumValuesfields interfaces inputFields renderTypecreateObjectTypeDirectiveLocationINLINE_FRAGMENTQUERYMUTATION SUBSCRIPTIONFIELDFRAGMENT_DEFINITIONFRAGMENT_SPREADVARIABLE_DEFINITIONSCHEMAFIELD_DEFINITIONARGUMENT_DEFINITION ENUM_VALUEINPUT_FIELD_DEFINITION DirectiveSchemafindType initSchemaMockRes IntrospectContext$fObjectRep->M1f$fIntrospect->WRAPPER[]0$fUnionRep->M1introspectOutputTypehiddenRootFields schemaTypes schemaAPIDecodedecodeArgumentsConstraintdecodeArgumentsObjectFieldResolvers$fEncoder->WRAPPERm0$fEncoderaUNIONm QueryResultobjectFieldResolversresolveBySelection resolversBy RootResCon encodeQuery effectEncode fullSchema GQLQueryRoot fragments queryBodyinputVariables VariablesparseGQL validateEnum getFragmentcastFragmentType resolveSpread lookupType lookupField getInputTypeexistsObjectType differKeyscheckNameCollisioncheckForUnknownKeys mustBeObject notObjectlookupUnionTypeslookupFieldAsSelectionSetlookupSelectionFieldvalidateInputValuevalidateFragmentsvalidateArgumentsvalidateSelectionSetresolveOperatorVariablesvalidateRequestresolveByteStringresolveStreamByteStringresolve resolveStream packStreamversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName