19 lines
538 B
Haskell
19 lines
538 B
Haskell
encToJsonNoSpaces
|
|
:: ( Monoid t
|
|
, Applicative f
|
|
)
|
|
=> AReview Json (b, t)
|
|
-> (a -> b)
|
|
-> Encoder f a
|
|
encToJsonNoSpaces c f =
|
|
encodeA (pure . review c . (, mempty) . f)
|
|
|
|
bytestring :: Applicative f => Encoder f ByteString
|
|
bytestring = encToJsonNoSpaces _JStr (_JStringBS #)
|
|
|
|
_JStringBS :: (Profunctor p, Applicative f)
|
|
=> p ByteString (f ByteString)
|
|
-> p JString (f JString)
|
|
_JStringBS = iso (C.pack . review _JString)
|
|
(JString' . V.fromList . fmap utf8CharToJChar . C.unpack)
|