mirror of
https://github.com/zap-proto/haskell.git
synced 2026-10-30 15:05:00 +00:00
78 lines
1.7 KiB
Haskell
78 lines
1.7 KiB
Haskell
-- | Module: Zap
|
|
-- Description: Re-export commonly used things from elsewhere in the library.
|
|
module Zap
|
|
( module X,
|
|
Parsed,
|
|
|
|
-- * Working with raw values
|
|
R.Raw (..),
|
|
|
|
-- ** Working with raw lists
|
|
R.List,
|
|
R.index,
|
|
R.setIndex,
|
|
R.length,
|
|
|
|
-- * Working with fields
|
|
F.Field,
|
|
F.FieldKind,
|
|
F.HasField (..),
|
|
F.HasUnion (..),
|
|
F.HasVariant (..),
|
|
|
|
-- * Working with messages
|
|
Message.Message,
|
|
Message.Segment,
|
|
Message.Mutability (..),
|
|
Message.MonadReadMessage (..),
|
|
Message.newMessage,
|
|
Message.fromByteString,
|
|
Message.toByteString,
|
|
|
|
-- * Building messages in pure code
|
|
PureBuilder,
|
|
createPure,
|
|
|
|
-- * Canonicalizing messages
|
|
canonicalize,
|
|
|
|
-- * Implementing RPC servers
|
|
MethodHandler,
|
|
SomeServer (..),
|
|
Export (Server),
|
|
export,
|
|
handleParsed,
|
|
handleRaw,
|
|
methodUnimplemented,
|
|
|
|
-- * Shorthands for types
|
|
R.IsStruct,
|
|
R.IsCap,
|
|
R.IsPtr,
|
|
|
|
-- * Re-exported from "Data.Default", for convienence.
|
|
def,
|
|
)
|
|
where
|
|
|
|
-- TODO: be more intentional about the ordering of the stuff we're
|
|
-- currently exposing as X, so the haddocks are clearer.
|
|
|
|
import Zap.Accessors as X
|
|
import Zap.Basics as X hiding (Parsed)
|
|
import Zap.Canonicalize (canonicalize)
|
|
import Zap.Classes as X hiding (Parsed)
|
|
import Zap.Constraints as X
|
|
import Zap.Convert as X
|
|
import qualified Zap.Fields as F
|
|
import Zap.IO as X
|
|
import qualified Zap.Message as Message
|
|
import qualified Zap.Repr as R
|
|
import Zap.Repr.Methods as X
|
|
import Zap.Repr.Parsed (Parsed)
|
|
import Zap.Rpc.Server
|
|
import Zap.TraversalLimit as X
|
|
import Data.Default (def)
|
|
import Internal.BuildPure (PureBuilder, createPure)
|
|
import Internal.Rpc.Export (export)
|