| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Web.Hyperbole.Data.Encoded
Synopsis
- newtype ConName = ConName {}
- data Encoded = Encoded ConName [Argument]
- encode :: ToEncoded a => a -> Text
- decode :: FromEncoded a => Text -> Maybe a
- decodeEither :: FromEncoded a => Text -> Either String a
- encodedToText :: Encoded -> Text
- encodedParseText :: Text -> Either String Encoded
- genericToEncoded :: (Generic a, GToEncoded (Rep a)) => a -> Encoded
- genericParseEncoded :: (Generic a, GFromEncoded (Rep a)) => Encoded -> Either String a
- genericDecode :: (Generic a, GFromEncoded (Rep a)) => Text -> Maybe a
- class ToEncoded a where
- class FromEncoded a where
- parseEncoded :: Encoded -> Either String a
- fromResult :: Result a -> Either String a
- class GToEncoded (f :: k -> Type) where
- gToEncoded :: forall (p :: k). f p -> Encoded
- class GFromEncoded (f :: k -> Type) where
- gParseEncoded :: forall (p :: k). Encoded -> Either String (f p, [Argument])
Documentation
Human Readable top-level encoding for ViewAction and ViewId For simple Sum and Product types it is equivalent to the Show/Read instance
MyConstructor 1 2 3 OtherConstructor "hello" 2
Instances
| Monoid Encoded Source # | |
| Semigroup Encoded Source # | |
| Show Encoded Source # | |
| Eq Encoded Source # | |
| Ord Encoded Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| FromEncoded Encoded Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| ToEncoded Encoded Source # | |
| FromJSON Encoded Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| ToJSON Encoded Source # | |
decodeEither :: FromEncoded a => Text -> Either String a Source #
encodedToText :: Encoded -> Text Source #
Basic Encoding
genericToEncoded :: (Generic a, GToEncoded (Rep a)) => a -> Encoded Source #
genericParseEncoded :: (Generic a, GFromEncoded (Rep a)) => Encoded -> Either String a Source #
genericDecode :: (Generic a, GFromEncoded (Rep a)) => Text -> Maybe a Source #
class ToEncoded a where Source #
Custom Encoding for embedding into web documents. Noteably used for ViewId and ViewAction
Minimal complete definition
Nothing
Methods
Instances
class FromEncoded a where Source #
Custom Encoding for embedding into web documents. Noteably used for ViewId and ViewAction
Minimal complete definition
Nothing
Methods
parseEncoded :: Encoded -> Either String a Source #
default parseEncoded :: (Generic a, GFromEncoded (Rep a)) => Encoded -> Either String a Source #
Instances
| FromEncoded Argument Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| FromEncoded Encoded Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| FromEncoded ConcurrencyMode Source # | |
Defined in Web.Hyperbole.HyperView.Types Methods parseEncoded :: Encoded -> Either String ConcurrencyMode Source # | |
| FromEncoded Text Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| FromEncoded () Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| FromEncoded Int Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
class GToEncoded (f :: k -> Type) where Source #
Methods
gToEncoded :: forall (p :: k). f p -> Encoded Source #
Instances
| GToEncoded (U1 :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded Methods gToEncoded :: forall (p :: k). U1 p -> Encoded Source # | |
| (GToEncoded f, GToEncoded g) => GToEncoded (f :*: g :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded Methods gToEncoded :: forall (p :: k). (f :*: g) p -> Encoded Source # | |
| (GToEncoded f, GToEncoded g) => GToEncoded (f :+: g :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded Methods gToEncoded :: forall (p :: k). (f :+: g) p -> Encoded Source # | |
| ToJSON a => GToEncoded (K1 R a :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| (Constructor c, GToEncoded f) => GToEncoded (M1 C c f :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| GToEncoded f => GToEncoded (M1 D d f :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| GToEncoded f => GToEncoded (M1 S s f :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
class GFromEncoded (f :: k -> Type) where Source #
Instances
| GFromEncoded (U1 :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| (GFromEncoded f, GFromEncoded g) => GFromEncoded (f :*: g :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| (GFromEncoded f, GFromEncoded g) => GFromEncoded (f :+: g :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| FromJSON a => GFromEncoded (K1 R a :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| (Constructor c, GFromEncoded f) => GFromEncoded (M1 C c f :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| GFromEncoded f => GFromEncoded (M1 D d f :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |
| GFromEncoded f => GFromEncoded (M1 S s f :: k -> Type) Source # | |
Defined in Web.Hyperbole.Data.Encoded | |