on master help sign in
Add some standard instances for Encoding, to ease debugging
commit7476bf98a8b1a6c05d593f163052ee0ff655976c authorBryan O'Sullivan <bos@serpentine.com> dateWed 1 Jul 2015, 10:38 (11 years ago) parenta6aff40
1 file changed+11−1
Data/Aeson/Types/Internal.hs+11−1
Data/Aeson/Types/Internal.hs+11−1
@@ -52,7 +52,7 @@ module Data.Aeson.Types.Internal
5252import Control.Applicative
5353import Control.Monad
5454import Control.DeepSeq (NFData(..))
55−import Data.ByteString.Builder (Builder, char7)
55+import Data.ByteString.Builder (Builder, char7, toLazyByteString)
5656import Data.Char (toLower, isUpper)
5757import Data.Scientific (Scientific)
5858import Data.Hashable (Hashable(..))
@@ -209,6 +209,16 @@ newtype Encoding = Encoding {
209209 fromEncoding :: Builder
210210 } deriving (Monoid)
211211
212+instance Show Encoding where
213+ show (Encoding e) = show (toLazyByteString e)
214+
215+instance Eq Encoding where
216+ Encoding a == Encoding b = toLazyByteString a == toLazyByteString b
217+
218+instance Ord Encoding where
219+ compare (Encoding a) (Encoding b) =
220+ compare (toLazyByteString a) (toLazyByteString b)
221+
212222-- | A series of values that, when encoded, should be separated by commas.
213223data Series = Empty
214224 | Value Encoding