Implement Read

This commit is contained in:
Rene Vergara 2024-02-09 13:18:02 -06:00
parent fe2df6f7d6
commit fd1ddce73c
Signed by: pitmutt
GPG key ID: 65122AD495A7F5B2
2 changed files with 5 additions and 0 deletions

View file

@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- CHANGELOG.md
- Stack integration
- Borsh serialization for `HexString`
- `Read` implementation for `HexString`
### Changed

View file

@ -32,6 +32,7 @@ import qualified Data.Binary as B (Binary, decode, encode)
import qualified GHC.Generics as GHC
import qualified Generics.SOP as SOP
import Text.Read
-- | Represents a Hex string. Guarantees that all characters it contains
-- are valid hex characters.
@ -45,6 +46,9 @@ newtype HexString = HexString
instance Prelude.Show HexString where
show = T.unpack . toText
instance Read HexString where
readsPrec _ s = [((fromText . T.pack) s, "")]
instance FromJSON HexString where
parseJSON = withText "HexString" $ pure . hexString . TE.encodeUtf8