Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Morpheus.Subscriptions
Description
GraphQL Wai Server Applications
Synopsis
- webSocketsApp :: (MonadUnliftIO m, MonadIO m, SubApp ServerApp e) => App e m -> m (ServerApp, e -> m ())
- httpPubApp :: (PubApp e, MapAPI a b, MonadIO m) => [e -> m ()] -> App e m -> a -> m b
- data ApolloMessageType
- class PubApp e where
- class SubApp app e where
- runSubApp :: (MonadIO m, MonadUnliftIO m) => App e m -> m (app, e -> m ())
- data Event ch con = Event {}
- type ServerApp = PendingConnection -> IO ()
- class Eq a => Hashable a
Documentation
webSocketsApp :: (MonadUnliftIO m, MonadIO m, SubApp ServerApp e) => App e m -> m (ServerApp, e -> m ()) Source #
Wai WebSocket Server App for GraphQL subscriptions
data ApolloMessageType Source #
Constructors
GqlConnectionAck | |
GqlConnectionError | |
GqlData | |
GqlError | |
GqlComplete | |
GqlConnectionInit | |
GqlSubscribe | |
GqlPing | |
GqlPong |
Instances
Instances
(Show ch, Eq ch, Hashable ch) => SubApp ServerApp (Event ch con) Source # | |||||
Defined in Data.Morpheus.Subscriptions | |||||
Show e => Show (ClientConnectionStore (Event e c) m) Source # | |||||
EventHandler (Event ch con) Source # | |||||
Defined in Data.Morpheus.Subscriptions.Event Associated Types
| |||||
Empty (ClientConnectionStore (Event ch con) m) Source # | |||||
Defined in Data.Morpheus.Subscriptions.ClientConnectionStore Methods empty :: ClientConnectionStore (Event ch con) m # | |||||
(Show ch, Eq ch, Hashable ch) => PubApp (Event ch con) Source # | |||||
type Channel (Event ch con) Source # | |||||
Defined in Data.Morpheus.Subscriptions.Event |
type ServerApp = PendingConnection -> IO () #
WebSockets application that can be ran by a server. Once this IO
action
finishes, the underlying socket is closed automatically.
The class of types that can be converted to a hash value.
Minimal implementation: hashWithSalt
.
Hashable
is intended exclusively for use in in-memory data structures.
.
Hashable
does not have a fixed standard.
This allows it to improve over time.
.
Because it does not have a fixed standard, different computers or computers on different versions of the code will observe different hash values.
As such, Hashable
is not recommended for use other than in-memory datastructures.
Specifically, Hashable
is not intended for network use or in applications which persist hashed values.
For stable hashing use named hashes: sha256, crc32, xxhash etc.
If you are looking for Hashable
instance in time
package,
check time-compat
Instances
Hashable Key | |
Defined in Data.Aeson.Key | |
Hashable Value | |
Defined in Data.Aeson.Types.Internal | |
Hashable ByteArray | This instance was available since 1.4.1.0 only for GHC-9.4+ Since: hashable-1.4.2.0 |
Defined in Data.Hashable.Class | |
Hashable SomeTypeRep | |
Defined in Data.Hashable.Class | |
Hashable Unique | |
Defined in Data.Hashable.Class | |
Hashable Version | |
Defined in Data.Hashable.Class | |
Hashable IntPtr | |
Defined in Data.Hashable.Class | |
Hashable WordPtr | |
Defined in Data.Hashable.Class | |
Hashable Void | |
Defined in Data.Hashable.Class | |
Hashable ThreadId | |
Defined in Data.Hashable.Class | |
Hashable Fingerprint | Since: hashable-1.3.0.0 |
Defined in Data.Hashable.Class | |
Hashable Int16 | |
Defined in Data.Hashable.Class | |
Hashable Int32 | |
Defined in Data.Hashable.Class | |
Hashable Int64 | |
Defined in Data.Hashable.Class | |
Hashable Int8 | |
Defined in Data.Hashable.Class | |
Hashable Word16 | |
Defined in Data.Hashable.Class | |
Hashable Word32 | |
Defined in Data.Hashable.Class | |
Hashable Word64 | |
Defined in Data.Hashable.Class | |
Hashable Word8 | |
Defined in Data.Hashable.Class | |
Hashable ByteString | |
Defined in Data.Hashable.Class | |
Hashable ByteString | |
Defined in Data.Hashable.Class | |
Hashable ShortByteString | |
Defined in Data.Hashable.Class | |
Hashable IntSet | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
Hashable OsString | |
Defined in Data.Hashable.Class | |
Hashable PosixString | |
Defined in Data.Hashable.Class | |
Hashable WindowsString | |
Defined in Data.Hashable.Class | |
Hashable BigNat | |
Defined in Data.Hashable.Class | |
Hashable Ordering | |
Defined in Data.Hashable.Class | |
Hashable CacheKey | |
Defined in Data.Morpheus.App.Internal.Resolving.Cache | |
Hashable ID | |
Defined in Data.Morpheus.Types.ID | |
Hashable Position | |
Defined in Data.Morpheus.Types.Internal.AST.Base | |
Hashable OperationType | |
Hashable UnionTag | |
Defined in Data.Morpheus.Types.Internal.AST.Selection | |
Hashable TypeCategory | |
Hashable SessionID Source # | |
Hashable OsString | Since: hashable-1.4.2.0 |
Defined in Data.Hashable.Class | |
Hashable PosixString | Since: hashable-1.4.2.0 |
Defined in Data.Hashable.Class | |
Hashable WindowsString | Since: hashable-1.4.2.0 |
Defined in Data.Hashable.Class | |
Hashable Scientific | A hash can be safely calculated from a
|
Defined in Data.Scientific | |
Hashable Text | |
Defined in Data.Hashable.Class | |
Hashable Text | |
Defined in Data.Hashable.Class | |
Hashable ShortText | |
Defined in Data.Text.Short.Internal | |
Hashable UUID | |
Defined in Data.UUID.Types.Internal | |
Hashable Integer | |
Defined in Data.Hashable.Class | |
Hashable Natural | |
Defined in Data.Hashable.Class | |
Hashable () | |
Defined in Data.Hashable.Class | |
Hashable Bool | |
Defined in Data.Hashable.Class | |
Hashable Char | |
Defined in Data.Hashable.Class | |
Hashable Double | Note: prior to The Since: hashable-1.3.0.0 |
Defined in Data.Hashable.Class | |
Hashable Float | Note: prior to The Since: hashable-1.3.0.0 |
Defined in Data.Hashable.Class | |
Hashable Int | |
Defined in Data.Hashable.Class | |
Hashable Word | |
Defined in Data.Hashable.Class | |
Hashable v => Hashable (KeyMap v) | |
Defined in Data.Aeson.KeyMap | |
Hashable a => Hashable (Complex a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Identity a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (First a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Last a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Max a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Min a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (WrappedMonoid a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (NonEmpty a) | |
Defined in Data.Hashable.Class | |
Hashable (FunPtr a) | |
Defined in Data.Hashable.Class | |
Hashable (Ptr a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Ratio a) | |
Defined in Data.Hashable.Class | |
Hashable (StableName a) | |
Defined in Data.Hashable.Class | |
Hashable s => Hashable (CI s) | |
Defined in Data.CaseInsensitive.Internal | |
Hashable v => Hashable (IntMap v) | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
Hashable v => Hashable (Seq v) | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
Hashable v => Hashable (Set v) | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
Hashable v => Hashable (Tree v) | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
Hashable1 f => Hashable (Fix f) | |
Eq a => Hashable (Hashed a) | |
Defined in Data.Hashable.Class | |
Hashable (Argument valid) | |
Defined in Data.Morpheus.Types.Internal.AST.Fields | |
Hashable (Directive s) | |
Defined in Data.Morpheus.Types.Internal.AST.Fields | |
Hashable (Name t) | |
Defined in Data.Morpheus.Types.Internal.AST.Name | |
Hashable (Fragment stage) | |
Defined in Data.Morpheus.Types.Internal.AST.Selection | |
Hashable (Selection s) | |
Defined in Data.Morpheus.Types.Internal.AST.Selection | |
Hashable (SelectionContent s) | |
Defined in Data.Morpheus.Types.Internal.AST.Selection | |
Hashable (ObjectEntry s) | |
Defined in Data.Morpheus.Types.Internal.AST.Value | |
Hashable (Value a) | |
Defined in Data.Morpheus.Types.Internal.AST.Value | |
Hashable a => Hashable (Maybe a) | |
Defined in Data.Strict.Maybe | |
Hashable a => Hashable (HashSet a) | |
Defined in Data.HashSet.Internal | |
Hashable a => Hashable (Maybe a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Solo a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable [a] | |
Defined in Data.Hashable.Class | |
(Hashable a, Hashable b) => Hashable (Either a b) | |
Defined in Data.Hashable.Class | |
Hashable (Fixed a) | |
Defined in Data.Hashable.Class | |
Hashable (Proxy a) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Arg a b) | Note: Prior to Since: hashable-1.3.0.0 |
Defined in Data.Hashable.Class | |
Hashable (TypeRep a) | |
Defined in Data.Hashable.Class | |
(Hashable k, Hashable v) => Hashable (Map k v) | Since: hashable-1.3.4.0 |
Defined in Data.Hashable.Class | |
(Hashable k, Hashable a) => Hashable (OrdMap k a) | |
Defined in Data.Mergeable.OrdMap | |
(Hashable a, Hashable b) => Hashable (Either a b) | |
Defined in Data.Strict.Either | |
(Hashable a, Hashable b) => Hashable (These a b) | |
Defined in Data.Strict.These | |
(Hashable a, Hashable b) => Hashable (Pair a b) | |
Defined in Data.Strict.Tuple | |
(Hashable a, Hashable b) => Hashable (These a b) | |
Defined in Data.These | |
(Hashable k, Hashable v) => Hashable (HashMap k v) | |
Defined in Data.HashMap.Internal | |
(Hashable a1, Hashable a2) => Hashable (a1, a2) | |
Defined in Data.Hashable.Class | |
Hashable a => Hashable (Const a b) | |
Defined in Data.Hashable.Class | |
(Hashable a1, Hashable a2, Hashable a3) => Hashable (a1, a2, a3) | |
Defined in Data.Hashable.Class | |
(Hashable1 f, Hashable1 g, Hashable a) => Hashable (Product f g a) | |
Defined in Data.Hashable.Class | |
(Hashable1 f, Hashable1 g, Hashable a) => Hashable (Sum f g a) | |
Defined in Data.Hashable.Class | |
(Hashable a1, Hashable a2, Hashable a3, Hashable a4) => Hashable (a1, a2, a3, a4) | |
Defined in Data.Hashable.Class | |
(Hashable1 f, Hashable1 g, Hashable a) => Hashable (Compose f g a) | In general, |
Defined in Data.Hashable.Class | |
(Hashable a1, Hashable a2, Hashable a3, Hashable a4, Hashable a5) => Hashable (a1, a2, a3, a4, a5) | |
Defined in Data.Hashable.Class | |
(Hashable a1, Hashable a2, Hashable a3, Hashable a4, Hashable a5, Hashable a6) => Hashable (a1, a2, a3, a4, a5, a6) | |
Defined in Data.Hashable.Class | |
(Hashable a1, Hashable a2, Hashable a3, Hashable a4, Hashable a5, Hashable a6, Hashable a7) => Hashable (a1, a2, a3, a4, a5, a6, a7) | |
Defined in Data.Hashable.Class |