proto3-suite-0.3.0.0: src/Proto3/Suite.hs
-- |
-- = Protocol Buffers v3 for Haskell
--
-- This package defines tools for working with protocol buffers version 3 in
-- Haskell.
--
-- Specifically, it provides:
--
-- * Low-level functions for encoding and decoding messages
-- * Type classes for encoding and decoding messages, and instances for all
-- wire formats identified in the specification
-- * A higher-level approach to encoding and decoding, based on "GHC.Generics"
-- * A way of creating .proto files from Haskell types.
--
-- See the "Proto3.Suite.Tutorial" module for more details.
{-# LANGUAGE ExplicitNamespaces #-}
module Proto3.Suite
(
-- * Message Encoding/Decoding
toLazyByteString
, fromByteString
, fromB64
, Message(..)
, MessageField(..)
, Primitive(..)
, HasDefault(..)
, FieldNumber(..)
, fieldNumber
-- * Documentation
, message
, enum
, RenderingOptions(..)
, Named(..)
, Finite(..)
-- * Wire Formats
, Fixed(..)
, Signed(..)
, Enumerated(..)
, Nested(..)
, UnpackedVec(..)
, PackedVec(..)
, NestedVec(..)
, Commented(..)
, type (//)()
-- * AST
, module DotProto
) where
import Proto3.Suite.Class
import Proto3.Suite.DotProto as DotProto
import Proto3.Suite.Types
import Proto3.Wire.Types