!hy      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxWSafekyz{| None $.79:=?@AN  !"#$%&'()*+,-./012}~3456789:;<=>?@ABCDEFGHI None$ None$ None NonefNoneNoneNone$;None$None -=>?@ACHSX=None "#$4=>?@AM8JNone$&'.17:=?HVXpmorpheus-graphql Primitive Values for GQLScalar: p, p, p, t. for performance reason type  represents GraphQl p value.KNOQPLMRSTUVWXYZ\[]b`da^_cefghijklmnoprqstuvwxNone 4:=>?@AMRNone$-.4=>?@AHVyz|{None$&'-.:=>?@AHMSVX\}~None$&'.1:=>?HV"+efghijk     None"$:>Xd#&!  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKNOQPLMRSTUVWXYZ\[]b`da^_cefghijklmnoprqstuvwx}~      !"#$%!6./0157432'&(#$%]b`da^_cprqstXKNOQPLMxwuvTSVWURIH     :fghijke !" }~lmno<=A8@?9;EBCDFG !"#$%>J*+,-)YZ\[None$&'=?,None-.HUV57 (morpheus-graphqlGraphQL Object)morpheus-graphql GraphQL Union*morpheus-graphqlGraphQL input Object+morpheus-graphql$GraphQL input Object and input union,morpheus-graphqlGraphQL Object and union-morpheus-graphql-GraphQL Arrays , Resolvers and NonNull fields.morpheus-graphql GraphQL Enum/morpheus-graphqlRGraphQL Scalar: Int, Float, String, Boolean or any user defined custom Scalar type3morpheus-graphql1context , like Proxy with multiple parameters * kind: object, scalar, enum ... * a: actual gql type()*+,-./01234567/(.-)*73401256,+None$5None6DNone&'@X=8morpheus-graphqlGraphQL Scalar9 and :0 should be provided for every instances manually9morpheus-graphqlvalue parsing and validatingFfor exhaustive pattern matching should be handled all scalar types : p, p, p, t$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 value89:None$79>?q;morpheus-graphqlGraphQL Response>morpheus-graphqlGraphQL HTTP Request Body;<=>?@ABNone?None$&',-./14=>?@AHMUVXDyCmorpheus-graphqlNGraphQL Root resolver, also the interpreter generates a GQL schema from it. E is required, F and G2 are optional, if your schema does not supports mutation or  subscription , you can use () for it.6yz|{CDEFGH   I  JK NoneEIyz|{CDEFGH   I  JK!None$F."None$PGJ !"#$%&'()*+,-.#None$HVH/012$None$Hl34%None$H56789:&None"#I;<'None"#Iq=(None$I>)None$J ?*None=?UVXkJ@ABC+None$XJDEFGHIJ,None $&'.XkKKLMNOP-None $&'=?UVXLWQ.None$7=?LRSTUVWXY/None$>HM) Z[\]^_`abcd0None$&'.=>?@AHVXNLefghijkMlmnopqrstu1None$&'.=>?@AHVXUvmorpheus-graphql4PubSubStore interface shared GraphQL state between  websocket and http% server, you can define your own store if you provide write and read methods to work properly Morpheus needs all entries of ClientConnectionStore (+ client Callbacks) that why it is recomended that you use many local ClientStores on evenry server node rathen then single centralized Store.wmorpheus-graphqlinitializes empty GraphQL stateW`LefghijkMlmnostuvxyz{w|None$&',.=>?@ASXXOmorpheus-graphql2Wai WebSocket Server App for GraphQL subscriptionsNOON2SafeXd }~3None "#$=?UVXY4None >@HVYPQRS5None$.@HVX_kZ]6None$&'.=>?@AHMSVX[0/7None $.=?@AHV\{8None$&'.=>?@AHSVX]r/9Safe7H^uTU:None.8=>?HUVXkdkmorpheus-graphql<GraphQL type, every graphQL type should have an instance of ;< and V. $ ... 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 VWX=None7HVftYmorpheus-graphql#default GraphQL type, parses only p and p values, serialized always as pYZ[>None79HVf ?None79HUVg     @None $=?@AUVXhANone$,.=>?@AHPUVXkk<morpheus-graphql&Decode GraphQL type with Specific Kindmorpheus-graphql/Decode GraphQL query arguments and input valuesBNone$>kCNone$.l*None,.>l}:prqstyz|{89:;<=>?@ABCDEFGHIJKLMTUVWXYZ[\]^_`abcdefghij:yz|{VWX89:>?@AB;<=YZ[prqstCDEFGghTUedcba`Hj_^]iIfJK\MLDNone"#$,-.8=>?@AHPSUVXktmorpheus-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 :  INPUT_OBJECT and OBJECT"morpheus-graphql+recursion for Object types, both of them : UNION and  INPUT_UNION#$%&' ()*+,-.ENone "#$&'u/0FNone$&',.=>?@AHUVXkvj123456GNone$.v7HNone$.w<8INone$w9JNone$w:k;KNone$7=>?@AHUVXx-<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghLNone $=>?@AUVyijMNone$>UVkz7klmNNone$&'znONone"#$&'{ oPNone$&'=>?{pqrQNone$&'=>?@AUVX|3sRNone$&'=>?@AUVX|tSNone$&'=>?}QuTNone "$=?UVXd}vUNone $,.>SXk~_wxyz{VNone=>?@ASX lmorpheus-graphqlDmain query processor and resolver possible versions of interpreter with effect and state: where GQLState 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 lmNoneKlmlmNone$>mpmorpheus-graphqlGenerates schema.gql file from CknopqrpkoqrnWNone$|}XNone$.XjsNone> PQRSstuvwx tPQRSswuxvYSafeC~Z[\ ] ^ _ ` a b c d e f g h i j k l l m n o p p q r s t u v w x y z { { | } ~                     !"#$%&'()*+,-./0123456789:;<==>?@ABCCDEFGHIJKLLMNOPKQRSSTUVWXYZZ[\]^_`abcdefghiijkkllmnopqrstt >uvvwxyz{|}0~0444499:::===JVVX               Q         !"#$%kk&'()*+,-./0123!4!5!6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q#R#S#o#T$U$V%W%X%Y%Z%[%\&]&^'_(`)a*b*c*d*e+f+g+h+i+j+k+l,m,n,o,p,q,r-s.t.u.v.w.x.y.z.{/|/}/}/~///////0m000000000000000011111112222222222234555666666666a6d666666u66666666k6k66>6(6666666666666666666777777777778888888888888888888888999999999999::::::::>>h>a>g>b>c>>>??????????????????????? ? ? ???@AAAAA A B C D DDDDDDDDDDDDDDDEEFFF F!F"F#G$H%I&J'J(K)K)K*K+K+K,K-K.K.K/K0K1K2K3K3K4K5K6K7K8K8K9K:K;K<K=K>K?K?K@KAKBKCKDKEKFKGKHKIKIKJKKKLKMKNLLOMPMQMRNSOTPUPVPWQXRYSZT[U\U]U^U_U`WaWbYcYdYeYfYgYhYiYjk.morpheus-graphql-0.11.0-DUiAk47SKcjJSZXaGm9hvYData.Morpheus.Types Data.Morpheus.Types.Internal.ASTData.Morpheus.KindData.Morpheus.ServerData.Morpheus.ClientData.Morpheus.Document Data.Morpheus&Data.Morpheus.Execution.Internal.Utils%Data.Morpheus.Types.Internal.AST.BaseData.Morpheus.Error.UtilsData.Morpheus.Error.SelectionData.Morpheus.Error.SchemaData.Morpheus.Error.Operation!Data.Morpheus.Error.NameCollisionData.Morpheus.Error.Fragment&Data.Morpheus.Error.Document.Interface!Data.Morpheus.Error.Client.Client&Data.Morpheus.Types.Internal.Operation+Data.Morpheus.Types.Internal.AST.OrderedMap&Data.Morpheus.Types.Internal.AST.Value)Data.Morpheus.Types.Internal.AST.MergeSet+Data.Morpheus.Types.Internal.Resolving.Core%Data.Morpheus.Types.Internal.AST.Data*Data.Morpheus.Types.Internal.AST.Selection!Data.Morpheus.Rendering.RenderGQLData.Morpheus.Error.VariableData.Morpheus.Error.InputData.Morpheus.Types.GQLScalarData.Morpheus.Types.IOData.Morpheus.Error.Internal/Data.Morpheus.Types.Internal.Resolving.Resolver&Data.Morpheus.Types.Internal.Resolving'Data.Morpheus.Parsing.Internal.Internal$Data.Morpheus.Parsing.Internal.Terms$Data.Morpheus.Parsing.Internal.Value(Data.Morpheus.Parsing.Internal.Arguments&Data.Morpheus.Parsing.Internal.Pattern'Data.Morpheus.Parsing.Request.Selection'Data.Morpheus.Parsing.Request.Operation$Data.Morpheus.Parsing.Request.Parser)Data.Morpheus.Parsing.Document.TypeSystem/Data.Morpheus.Execution.Server.Generics.EnumRep'Data.Morpheus.Execution.Internal.Decode(Data.Morpheus.Execution.Internal.Declare(Data.Morpheus.Execution.Client.Selection0Data.Morpheus.Types.Internal.Subscription.Apollo?Data.Morpheus.Types.Internal.Subscription.ClientConnectionStore0Data.Morpheus.Types.Internal.Subscription.Stream)Data.Morpheus.Types.Internal.SubscriptionData.Morpheus.Types.Internal.TH(Data.Morpheus.Execution.Document.Convert$Data.Morpheus.Execution.Client.Fetch$Data.Morpheus.Execution.Client.Aeson1Data.Morpheus.Types.Internal.Validation.Validator-Data.Morpheus.Types.Internal.Validation.Error'Data.Morpheus.Types.Internal.ValidationData.Morpheus.Types.TypesData.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.Decode'Data.Morpheus.Execution.Document.Decode(Data.Morpheus.Execution.Document.GQLType)Data.Morpheus.Execution.Server.Introspect+Data.Morpheus.Execution.Document.Introspect%Data.Morpheus.Execution.Server.Encode'Data.Morpheus.Execution.Document.Encode(Data.Morpheus.Execution.Document.Declare,Data.Morpheus.Validation.Document.Validation(Data.Morpheus.Execution.Document.CompileData.Morpheus.Schema.Schema+Data.Morpheus.Rendering.RenderIntrospectionData.Morpheus.Schema.SchemaAPI'Data.Morpheus.Validation.Internal.Value(Data.Morpheus.Validation.Query.Arguments'Data.Morpheus.Validation.Query.Fragment-Data.Morpheus.Validation.Query.UnionSelection(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_graphqltransformers-0.5.5.0Control.Monad.Trans.ClassliftDataTypeWrapperListType NonNullType TypeWrapperTypeList TypeMaybe DataTypeKind KindScalar KindObject KindUnionKindEnumKindInputObjectKindList KindNonNullKindInputUnionTypeRef typeConNametypeArgs typeWrappersRefrefName refPositionNamed SUBSCRIPTIONMUTATIONQUERY OperationTypeQuery SubscriptionMutationDataFingerprintVALIDATION_MODEWITHOUT_VARIABLESFULL_VALIDATIONVALIDRESOLVEDRAW GQLErrorsGQLErrormessage locationsPositionlinecolumnStage DescriptionNameMessageKey anonymousRef isNullableisSubscription isOutputTypeisOutputObjectisObjectisInputisNullableWrapperisWeaker toGQLWrapper toHSWrappersisDefaultTypeNameisSchemaTypeNameisPrimitiveTypeNamesysTypestypeFromScalar hsTypeNameremoveDuplicatessplitDuplicates OrderedMapGQLValuegqlNull gqlScalar gqlBoolean gqlStringgqlList gqlObject ResolvedValue ValidValueRawValueResolvedObject RawObject ValidObjectObject ObjectEntry entryName entryValueValueResolvedVariable VariableValueListEnumScalarNullVariableDefinitionsVariable variableName variableTypevariablePosition variableValueVariableContent DefaultValueValidVariableValuevalidVarContent ScalarValueIntFloatStringBooleanconvertToJSONNameconvertToHaskellNamedecodeScientific replaceValueEventchannelscontentConsDcNamecFieldsTypeDtName tNamespacetConstMetaGQLTypeDtypeD typeKindDtypeArgD typeOriginal ClientType clientType clientKind ClientQuery queryText queryTypes queryArgsType TypeUpdaterArgumentDefinitionArgumentsDefinition NoArgumentsargumentsTypename argumentsInputFieldsDefinitionunInputFieldsDefinitionFieldDefinition fieldName fieldArgs fieldType fieldMetaFieldsDefinitionunFieldsDefinition TypeContent DataScalarDataEnumDataInputObject DataObject DataUnionDataInputUnion DataInterface dataScalar enumMembersinputObjectFieldsobjectImplements objectFields unionMembersinputUnionMembersinterfaceFieldsTypeDefinitiontypeNametypeFingerprinttypeMeta typeContentTypeLibSchematypesquerymutation subscription DataEnumValueenumNameenumMetaMetametaDescriptionmetaDirectives Directive directiveName directiveArgs ArgumentsArgument argumentName argumentValueargumentPositionScalarDefinition validateValuelookupDeprecatedlookupDeprecatedReason initTypeLib allDataTypescreateDataTypeLib createTypecreateScalarTypecreateEnumTypecreateEnumValuecreateUnionType isEntNodeisInputDataTypekindOflookupDataType isTypeDefined defineType insertType lookupWithunsafeFromFieldsfieldVisibilityisFieldNullable createFieldtoHSFieldDefinitiontoNullableField toListFieldunsafeFromInputFieldscreateArgument hasArguments __inputnamecreateInputUnionFields createAlias Operation operationName operationTypeoperationArgumentsoperationSelectionoperationPosition SelectionInlineFragmentSpread selectionNameselectionAliasselectionPositionselectionArgumentsselectionContent SelectionSetUnionTag unionTagNameunionTagSelectionSelectionContentSelectionFieldUnionSelection FragmentsFragment fragmentName fragmentTypefragmentPositionfragmentSelectiongetOperationNamegetOperationDataTypeGQLQuery$sel:fragments:GQLQuery$sel:operation:GQLQuery$sel:inputVariables:GQLQuery Variables$fShowGQLQuery$fLiftGQLQueryOBJECTUNION INPUT_OBJECTINPUTOUTPUTWRAPPERENUMSCALARVContext unVContextContext ResContextGQL_KIND GQLScalar parseValue serialize GQLResponseDataErrors GQLRequest variablesGQLRootResolver queryResolvermutationResolversubscriptionResolverResolver WithOperation subscribeunsafeInternalContextStreamInput httpPubApp webSocketsAppFetchArgs__fetchfetch UndefinedGQLTypeKIND descriptionIDunpackIDSubFieldResolveSResolveMResolveQIOSubResIOMutResIOResSubResMutResRespublishconstRes constMutResfailRes liftEither gqlDocument Interpreter interpreterparseDSLparseFullGQLDocumenttoGraphQLDocumentimportGQLDocumentimportGQLDocumentWithNamespace defineQuerygqldefineByDocumentFiledefineByIntrospectionFiledefineByDocumentdefineByIntrospection nameSpaceType nameSpaceWith nonCapitalcapital sysFieldstoOperationType errorMessageglobalErrorMessagebadRequestErrorhasNoSubfieldsunknownSelectionFieldsubfieldsNotSelectedschemaValidationErrornameCollisionErrormutationIsNotDefinedsubscriptionIsNotDefined NameCollision nameCollisioncannotSpreadWithinItselfcannotBeSpreadOnTypeImplementsErrorUnexpectedTypeUndefinedField expectedType foundTypeunknownInterfacepartialImplementsrenderGQLErrorsdeprecatedEnumdeprecatedField gqlWarningsFailurefailureMergemerge<:>ListablefromListtoListsize fromAssoctoAssocKeyOfkeyOf Singleton singleton SelectableselectOrEmptyemptyselectBymembertoPairkeysmapKeys mapEntriestraverseWithKey foldWithKeyupdateunsafeFromValues text-1.2.3.1Data.Text.InternalTextMergeSetconcatTraversejoin toOrderedMap LibUpdaterResultT runResultTResultSuccesserrorsresultwarningsevents GQLChannel StreamChannelstreamChannelsChannel _unChannel PushEvents pushEvents Eventless unpackEventsstatelessToResultT cleanEventsmapEventresolveUpdates RenderGQLrenderrenderGraphQLDocument renderWrappedincompatibleVariableTypeuninitializedVariable typeViolationbase Data.EitherLeftscalarValidatortoScalar JSONResponse responseDataresponseErrorsMapAPImapAPIrenderResponse internalErrorinternalResolvingErrorinternalTypeMismatch ResolverModelFieldResObjectDeriving __typenameDeriving DerivingNullDerivingScalar DerivingEnum DerivingListDerivingObject DerivingUnion MapStrategy mapStrategy UnSubResolver LiftOperation operationcurrentSelectionschemacurrentTypeNameSubEvent ResponseEventPublish SubscribeResponseStream liftStateless setTypeName unsafeBind toResolverrunResolverModelParser getLocation processParserparseNegativeSign parseNamekeywordoperator pipeLiteral litEquals litAssignmenttoken qualifiervariablespaceAndComments1optDescriptionspaceAndCommentssepByAnd collectionsetOf parseNonNull optionalList parseTuple uniqTuple uniqTupleOptparseAssignmentparseTypeCondition spreadLiteralparseWrappedType parseAlias parseType enumValueparseDefaultValue parseRawValueparseArgumentsOptmaybeArgumentsenumValueDefinitioninputValueDefinitionfieldsDefinitioninputFieldsDefinitionoptionalDirectivestypDeclarationparseSelectionSetparseFragmentDefinitionparseOperationparseGQL parseSchemaEnumRep encodeRep decodeEnumenumTagsdecodeObjectExpQ withObject withMaybewithListwithEnum withUniondecodeFieldWithScopeCLIENTSERVER tyConArgs declareTypeisEnumoperationTypes Validation ApolloAction SessionStop SessionStartConnectionInitacceptApolloRequesttoApolloResponse apolloFormatClientConnectionStoreUpdates _runUpdateSession endSession startSessioninsertdeleteScopeWS ScopeHTTP httpCallbacklistenercallbackRequestInitHTTPWSAPI runStreamWS runStreamHTTP toOutStreamStoreinitDefaultStore readStore writeStorepublishEventWithconnectionThreadapplyapplyTtypeT instanceHeadTinstanceProxyFunD instanceFunDinstanceHeadMultiTdestructRecordtypeInstanceDec infoTyVarsdecArgstoTHDefinitions deriveFetchderiveFromJSON takeValueType deriveToJSONInputValidatorSelectionValidator BaseValidator Validator _runValidator Resolution ConstraintTarget TARGET_OBJECT TARGET_INPUTSelectionContext InputSourceSourceArgumentSourceVariable InputContext inputPath inputSource fragments scopePosition scopeTypeNamescopeSelectionNameProppropName propTypeNamerenderInputPrefixwithInputScope askContext askSchema askFragmentsaskScopeTypeNameaskScopePosition withScopewithScopePosition withScopeTypeinputMessagePrefix runValidator KindViolation kindViolationUnknownUnknownSelectorunknownMissingRequiredmissingRequiredUnusedunused InternalError checkUnused constraintselectRequiredselectWithDefaultValue selectKnown askFieldType askTypeMemberaskInputFieldTypeaskInputMember startInputconstraintInputUnionMapKindpairsMapArgsoneOfPairvaluekeymapKindFromListIsObjectreplacePairConCUSTOM __typeName isObjectKind__typeFingerprintFALSETRUETypeKind INTERFACELISTNON_NULL EnumValue InputValue inputName inputTypeFieldTypenamekindfields enumValues inputFields interfaces possibleTypesofType Introspection__schemadecodeIntrospection DecodeKindDecode DecodeType decodeTypedecodedecodeArguments deriveDecode deriveGQLTypeIntrospectKind Introspect$fTypeRep->:+: $fConRep->:*: TypeScope OutputType InputType IntrospectRep introspectRep introspectfieldIntroConintrospectObjectFields buildType updateLibinstanceIntrospectderiveObjectRepExploreResolversexploreResolvers EncodeConEncodeencode deriveModel deriveEncode declareTypesvalidatePartialDocumentgqlDocumentNamespacecompileDocumentRoot__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 schemaAPI validateInputvalidateArgumentsvalidateFragmentscastFragmentType resolveSpreadvalidateUnionSelectionvalidateOperationresolveOperationVariablesvalidateRequest RootResConEventConstatelessResolver coreResolver fullSchema compileSyntax validateWithversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName