Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module provides helper functions to generate Swagger schemas that describe JSONPB encodings for protobuf types.
Synopsis
- ppSchema :: ToSchema a => Proxy a -> IO ()
- newtype OverrideToSchema a = OverrideToSchema {
- unOverride :: a
- asProxy :: (Proxy (OverrideToSchema a) -> b) -> Proxy a
- insOrdFromList :: (Eq k, Hashable k) => [(k, v)] -> InsOrdHashMap k v
Documentation
ppSchema :: ToSchema a => Proxy a -> IO () Source #
Pretty-prints a schema. Useful when playing around with schemas in the REPL.
newtype OverrideToSchema a Source #
This is a hack to work around the swagger2
library forbidding ToSchema
instances for ByteString
s
Instances
ToSchema (OverrideToSchema (Maybe ByteString)) Source # | This instance is the same as the instance for |
Defined in Proto3.Suite.DotProto.Generate.Swagger | |
ToSchema a => ToSchema (OverrideToSchema a) Source # | |
Defined in Proto3.Suite.DotProto.Generate.Swagger declareNamedSchema :: Proxy (OverrideToSchema a) -> Declare (Definitions Schema) NamedSchema # | |
ToSchema (OverrideToSchema ByteString) Source # | |
(ToJSONKey k, ToSchema k) => ToSchema (OverrideToSchema (Map k ByteString)) Source # | |
Defined in Proto3.Suite.DotProto.Generate.Swagger declareNamedSchema :: Proxy (OverrideToSchema (Map k ByteString)) -> Declare (Definitions Schema) NamedSchema # | |
ToSchema (OverrideToSchema (Vector ByteString)) Source # | |
Defined in Proto3.Suite.DotProto.Generate.Swagger |
asProxy :: (Proxy (OverrideToSchema a) -> b) -> Proxy a Source #
This is a convenience function that uses type inference to select the
correct instance of ToSchema
to use for fields of a message
insOrdFromList :: (Eq k, Hashable k) => [(k, v)] -> InsOrdHashMap k v Source #
Convenience re-export so that users of generated code don't have to add
an explicit dependency on insert-ordered-containers
Orphan instances
(Finite e, Named e) => ToSchema (Enumerated e) Source # | JSONPB schemas for protobuf enumerations |
declareNamedSchema :: Proxy (Enumerated e) -> Declare (Definitions Schema) NamedSchema # | |
ToSchema (Fixed Int32) Source # | |
declareNamedSchema :: Proxy (Fixed Int32) -> Declare (Definitions Schema) NamedSchema # | |
ToSchema (Fixed Int64) Source # | |
declareNamedSchema :: Proxy (Fixed Int64) -> Declare (Definitions Schema) NamedSchema # | |
ToSchema (Fixed Word32) Source # | |
declareNamedSchema :: Proxy (Fixed Word32) -> Declare (Definitions Schema) NamedSchema # | |
ToSchema (Fixed Word64) Source # | |
declareNamedSchema :: Proxy (Fixed Word64) -> Declare (Definitions Schema) NamedSchema # |