blob: 12bfd6ab5bad4de423221c1e39805ab28194cca6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
module SpaceTraders.Utils
( decodeText
, fromJSONValue
, int2ByteString
) where
import Data.Aeson
import Data.Aeson.Types
import qualified Data.ByteString as B
import qualified Data.ByteString.Builder as B
import qualified Data.ByteString.Internal as B
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
decodeText :: FromJSON a => T.Text -> Maybe a
decodeText = decode . B.toLazyByteString . T.encodeUtf8Builder
fromJSONValue :: FromJSON a => Value -> Either String a
fromJSONValue = parseEither parseJSON
int2ByteString :: Int -> B.ByteString
int2ByteString = B.pack . map B.c2w . show
|