!m"A      !"#$%&'()*+,-./0123456789:;<=>?@_SafeABCSafe.HUV Dmorpheus-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 typeSafe 7HSUVX  DEFGHIJKLMNO None79: PQRSTUVWXYZ[ None \]^_ None7: cmorpheus-graphql Primitive Values for GQLScalar: , , ,  . for performance reason type ` represents GraphQl  valueabcdef ghij None79 VWXYklmnopqrstuvwx None$myz{|}None$~NoneNonefNoneNoneNoneCNone$NoneNoneNone:sONone:None $.XkNone$.@HVX_kxNone     None$f  None$None$> None$>k! None$"#$%&'(!None:)*+,-./0123456789:;<=>"None:=?!789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ#None:=?[\]^_`abcdefghijklmnop$None79 morpheus-graphqlGraphQL Responsemorpheus-graphqlGraphQL HTTP Request Body qrst%None$4HV'umorpheus-graphql/Monad Transformer that sums all effect Togethervwxyz{|}u~&None >@HV'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(NoneP$ )NoneHV%f*None$%+None$%,None$&C-None$&.None$&/None$'(0NoneHV'1None$'2None(3None=?UVXk(4None$=?UVX)/5None)r 6None$) 7None$-./=?@AHUVX1 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 effect'morpheus-graphqlGraphQL Resolver)morpheus-graphqlWGraphQL Resolver for mutation or subscription resolver , adds effect to normal resolverl !"#$%&'()8None$.8=>?HUVXk7/*morpheus-graphql<GraphQL type, every graphQL type should have an instance of 9: and *. $ ... 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_B*+,;None7HV9,-morpheus-graphql#default GraphQL type, parses only  and  values, serialized always as -./<None79HV9 =None7=?HV:B>None7HV: ?None79HV;X@None7HUV;ANone$UVOENone79HUV> !"#$%&'()*FNone$UV?m+GNone,.=>?@AHUVXkA6,morpheus-graphql/Decode GraphQL query arguments and input values-.HNone$A/INone$.A0JNone$BC12NoneB'  !"#$%&'()*+,-./012'')(210&%*+, -./ !"#$KNone$7=?D3456789LNone$G 3morpheus-graphqlshared GraphQL state between  websocket and http0 server, stores information about subscriptions4morpheus-graphqlinitializes empty GraphQL state 3:4;<=>?@MNone$,-=>?@AHSUVXkVAmorpheus-graphqlSintrospection Does not care about resolving monad, some fake monad just for mockingBmorpheus-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 argumentsCmorpheus-graphqlFcontext , like Proxy with multiple parameters contains types of : * a: actual gql type * kind: object, scalar, enum ... * args: InputType | OutputTypeDmorpheus-graphql+recursion for Object types, both of them :  and ; iterates on field types and introspects them recursivelyEmorpheus-graphqlintrospects Of Resolver a as argument and b as output typeFmorpheus-graphql`recursion for union types iterates on possible types for UNION and introspects them recursivelyGHIJKNNone$7UVkW LMNONone$>W_OPPNone$,.=>?@AHPUVXk]Qmorpheus-graphql"Derives resolvers by object fieldsRmorpheus-graphqlHandles all operators: Query, Mutation and Subscription, if you use it with Mutation or Subscription all effects inside will be lostSmorpheus-graphqlUResolves and encodes UNION, Handles all operators: Query, Mutation and Subscription,TUVWXYQNone]cZ[\]^_RNone$]`SNoneUV^ aTNone^H bcdefghijkUNone^lmnVNone$^oWNone$_=pqrsXNone$P_tYNone$=?UVX`uZNone$=?UVX`v[None$`w\None$=?UVXa@x]None$,>SXayz{|}~None$,>SXcD5morpheus-graphql2Wai WebSocket Server App for GraphQL subscriptions345543^None=>?@ASXi6morpheus-graphqlDmain query processor and resolver possible versions of interpreter with effect and state: where 3 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 67Nonej6767None$>k78morpheus-graphqlGenerates schema.gql file from  89:89:_None$k`None$.Xl;None$>lo ;<=>?@ <;?=@>aSafelbcdefghi j k l m n$o$p$q$r$r$s$t$u%v%v%w%x&y&z&{&|'}'~'7777777777888;;;LL^^`                        s       !"#$%%&'()*+,-./0123456789:;<<=>??@ABBCDEEFGHIJKLMNOPQRSSTUVWXYZ[\]^_`abcdefghijklmn o p q r s t u!v!w!x!y!z!{!|!}!}!~!!!w!!!!!!!!!""""""""""""""""""""""""""""##########t############$$$$%%%%%%%%%%%%%%%%%&''(((((((((((()~)*+,,-.//01222223333455555555556666666666777778888<<h<g<f<d<e<<< = = = == = =>>>>> >>> >??? ?????@@@@@@ @@@@@@@@ AA AlA!B"BhBgBfBdBeBBBB#BB$B%B&B'B(B)B*B+B,C-C-C CCCD.D/D0E1E1E2E3E4E4E EEEEEEEE E5E5E6F7G8G9G:H;I<J=J>K?K@KAKBKCKDKELFLGLHLILJLKLLMMMNMSMOMPMQMRMSMTMUMVNWNXNYOZO[P\P]P^P_P`PaPbPcPdQeQeQfQgQhQiRjSkTlTmTnToTpTqTrTsTtTuUvUwUxVyWzW{W|W}X~YZ[\]]]]]]__aaaaaaaa-morpheus-graphql-0.2.1-LSJHmOJpiSQEDzUc9EcxkJData.Morpheus.KindData.Morpheus.TypesData.Morpheus.ClientData.Morpheus.Server Data.MorpheusData.Morpheus.Document&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.Client.ClientData.Morpheus.Error.Arguments!Data.Morpheus.Types.Internal.Data"Data.Morpheus.Types.Internal.DataD(Data.Morpheus.Execution.Internal.Declare$Data.Morpheus.Execution.Client.Aeson%Data.Morpheus.Rendering.Haskell.Terms&Data.Morpheus.Rendering.Haskell.Values%Data.Morpheus.Rendering.Haskell.Types&Data.Morpheus.Rendering.Haskell.RenderData.Morpheus.Rendering.GQL%Data.Morpheus.Parsing.Internal.Create*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.Document.ConvertData.Morpheus.Error.Input&Data.Morpheus.Types.Internal.WebSocketData.Morpheus.Types.ResolverData.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.SchemaData.Morpheus.Schema.JSONType&Data.Morpheus.Parsing.JSONSchema.Parse%Data.Morpheus.Execution.Server.Decode(Data.Morpheus.Execution.Document.GQLType(Data.Morpheus.Execution.Document.Declare(Data.Morpheus.Execution.Document.Compile+Data.Morpheus.Execution.Subscription.Apollo3Data.Morpheus.Execution.Subscription.ClientRegister)Data.Morpheus.Execution.Server.IntrospectData.Morpheus.Schema.SchemaAPI$Data.Morpheus.Parsing.Document.Parse%Data.Morpheus.Execution.Server.EncodeData.Morpheus.Types.Types$Data.Morpheus.Parsing.Request.Parser#Data.Morpheus.Validation.Input.Enum$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.Execution.Client.Selection!Data.Morpheus.Validation.Variable#Data.Morpheus.Validation.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_OBJECTENUMOBJECTSCALARGQL_KIND ScalarValueIntFloatStringBoolean GQLResponseDataErrors GQLRequestquery operationName variablesEventchannelscontentFetchArgs__fetchfetch GQLScalar parseValue serializeGQLRootResolver queryResolvermutationResolversubscriptionResolver SubRootResResolverresolver toMutResolver mutResolverGQLTypeKIND descriptionIDunpackIDIOSubResIOMutResIOResGQLState initGQLState gqlSocketApp Interpreter interpretertoGraphQLDocumenttoMorpheusHaskellAPi gqlDocument defineQuerygqldefineByDocumentFiledefineByIntrospectionFiledefineByDocumentdefineByIntrospection nameSpaceWith nonCapitalcapitalMapKindpairssizeMapArgsoneOfPairvaluekeymapKindFromList EnhancedKeylocationuid CollectionKeyLocationlinecolumnPositionenhanceKeyWithNullliftText liftTextTuple liftTextMapapply text-1.2.3.1Data.Text.InternalTextValueEnumObjectNullListScalarconvertToJSONNameconvertToHaskellNamedecodeScientific replaceValue ResolveValueResolveTSchemaValidation Validation JSONErrormessage locations GQLErrorsGQLErrordesc positions failResolveT errorMessageglobalErrorMessage renderErrors toLocationbadRequestErrorParser getLocationprocessErrorBundleincompatibleVariableTypeunusedVariablesvariableGotInvalidValue unknownTypeundefinedVariableuninitializedVariablesubscriptionIsNotDefinedfieldNotResolvedhasNoSubfieldscannotQueryFieldduplicateQuerySelectionssubfieldsNotSelectedschemaValidationErrornameCollisionErrormutationIsNotDefinedfragmentNameCollisionunusedFragmentcannotSpreadWithinItselfunknownFragmentcannotBeSpreadOnTyperenderGQLErrorsargumentGotInvalidValueunknownArgumentsargumentNameCollisionundefinedArgument DataTypeLibobjectunionleaf inputObject inputUnionmutation subscription DataFullTypeUnionLeaf InputObject OutputObject InputUnionDataKind ScalarKindEnumKind ObjectKind UnionKindDataLeaf BaseScalar CustomScalarLeafEnumDataTypetypeNametypeFingerprinttypeDescriptiontypeVisibilitytypeData DataField fieldName fieldArgs fieldTypefieldTypeWrappers fieldHiddenDataTypeWrapperListType NonNullType DataArguments DataInputTypeDataOutputType DataUnionDataOutputObjectDataInputObjectDataOutputField DataArgumentDataInputField DataObjectDataEnum DataScalar DataValidator validateValueDataFingerprintSystemFingerprintTypeableFingerprint DataTypeKind KindScalar KindObject KindUnionKindEnumKindInputObjectKindList KindNonNullKindInputUnionisFieldNullableshowWrappedTypeshowFullAstType initTypeLib allDataTypeslookupDataTypekindOf isTypeDefined defineTypeConsDcNamecFieldsTypeDtNametConsFieldD fieldNameD fieldTypeDQueryD queryText queryTypes queryArgTypesGQLTypeDAppDListDMaybeDResDBaseDgqlToHSWrappers declareTypederiveFromJSON takeValueTypeContext moduleNameimports extensionsscopepubSubScopeQueryMutation Subscriptionindent renderEqual renderReturn renderData renderCon renderMaybe renderList renderTuple renderSetrenderAssignmentrenderExtension renderWrappedrenderUnionConrenderRootResolverrenderResolver renderTyperenderHaskellDocumentrenderGraphQLDocument createFieldcreateArgument createTypecreateScalarTypecreateEnumTypecreateUnionTypecreateDataTypeLib SelectionRec SelectionSetUnionSelectionSelectionAliasSelectionFieldaliasFieldNamealiasSelection SelectionselectionArgumentsselectionPosition selectionRec ArgumentsArgument argumentValueargumentOriginargumentPositionArgumentOriginVARIABLEINLINE RawSelectionRawSelectionSetRawSelectionFieldInlineFragmentSpreadRawAliasrawAliasPositionrawAliasSelection RawArguments RawArgumentVariableReference FragmentLib RawSelection'rawSelectionArgumentsrawSelectionPositionrawSelectionRecFragment fragmentTypefragmentPositionfragmentSelection Reference referenceNamereferencePositionVariable variableTypeisVariableRequiredvariableTypeWrappersvariablePosition variableValue Operation operationKind operationArgsoperationSelectionoperationPosition OperationKindQUERYMUTATION SUBSCRIPTION RawOperationValidOperationValidVariablesVariableDefinitions JSONResponse responseDataresponseErrorsStreamTResponseStream PublishStreamSubscribeStream ResponseEventPublish SubscribePubEventSubEvent runStreamT StreamState streamEvents streamValue closeStreammapS deriveFetchbase Data.EitherLeftscalarValidatortoScalar pipeLiteraltoken qualifiervariablespaceAndCommentssetOf parseNonNullparseMaybeTupleparseAssignmentonType spreadLiteralparseWrappedType enumValuemaybeArgumentsentriesparseOperationparseAnonymousQueryfragment parseDataType parseTypes parseDocument parseMetalookupGQLConfig internalErrorinternalErrorTinternalUnknownTypeMessageinternalArgumentErrorinternalTypeMismatchEnumRep encodeRep decodeEnumenumTags renderTHTypesProppropKeypropType InputErrorUnexpectedTypeUndefinedField UnknownFieldInputValidationinputErrorMessage GQLClientclientIDclientConnectionclientSessions ClientSession sessionIdsessionSubscriptionClientIDPure SubResolveT SubResolver MutResolver MutResolveTreplacePairCon __typeName__typeVisibility__typeFingerprintTypeKind INTERFACELISTNON_NULL InputValuenametype' defaultValuecreateInputValueWithFielddeprecationReason isDeprecatedargscreateFieldWith EnumValuecreateEnumValueisEnumOfDeprecationArgsincludeDeprecatedTypekindfieldsofType enumValues interfaces possibleTypes inputFieldscreateObjectTypeDirectiveLocationINLINE_FRAGMENTFIELDFRAGMENT_DEFINITIONFRAGMENT_SPREADVARIABLE_DEFINITIONSCHEMAFIELD_DEFINITIONARGUMENT_DEFINITION ENUM_VALUEINPUT_FIELD_DEFINITION DirectiveSchemafindType initSchema JSONSchematypes directivesJSONType JSONIntro__schemadecodeIntrospectionDecodeArgumentsConstraintdecodeArguments deriveGQLType declareTypes compileExp compileDec SubAction RemoveSubAddSubSubErroracceptApolloSubProtocoltoApolloResponse apolloFormatClientRegister connectClientdisconnectClientupdateClientByIDpublishUpdatesremoveClientSubscriptionaddClientSubscriptionMockRes Introspect$fObjectRep->M1f$$fIntrospectTYPEGQL_KIND->WRAPPER[]1$fUnionRep->TYPEM1[] ObjectRepobjectFieldTypes TypeUpdater resolveTypesintrospectOutputTypehiddenRootFields defaultTypes schemaAPIparseGraphQLDocumentparseFullGQLDocumentObjectFieldResolvers$fEncoder->WRAPPERExceptT2$fEncoderaUNIONExceptT EncodeSubCon EncodeMutCon EncodeCon encodeQuery encodeMut encodeSub GQLQueryRoot fragments operationinputVariables VariablesparseGQL validateEnumVALIDATION_MODEWITHOUT_VARIABLESFULL_VALIDATION lookupType lookupField getInputTypeexistsObjectType differKeyscheckNameCollisioncheckForUnknownKeyslookupUnionTypeslookupFieldAsSelectionSetlookupSelectionFieldvalidateInputValuevalidateFragments getFragmentcastFragmentType resolveSpreadvalidateArgumentsvalidateSelectionSetoperationTypesresolveOperationVariablesvalidateRequest RootResCon byteStringIOstatelessResolverstreamResolverstatefulResolver fullSchema compileSyntax validateWithversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName