packages feed

chronologique-0.3.1.1: tests/Experiment.hs

{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS -fno-warn-unused-imports #-}

module Main where

import Chrono.TimeStamp
import Data.Aeson
import Data.ByteString.Builder
import qualified Data.ByteString.Lazy.Char8 as L
import qualified Data.Text.IO as T
import System.IO

x :: L.ByteString
x = "2018-05-01T01:42:12Z"
t = read (L.unpack x) :: TimeStamp
j = toEncoding t

main :: IO ()
main = do
    putStrLn . show . unTimeStamp $ t
    putStrLn . show . toJSON $ t
    L.putStrLn . toLazyByteString . fromEncoding . toEncoding $ t
    L.putStrLn . encode $ t

    putStrLn . show . (decode :: L.ByteString -> Maybe TimeStamp) . encode $ t
    putStrLn . show . (eitherDecode :: L.ByteString -> Either String TimeStamp) $ "234"
    putStrLn . show . (eitherDecode :: L.ByteString -> Either String TimeStamp) $ L.concat ["\"", x, "\""]
    putStrLn . show . (eitherDecode :: L.ByteString -> Either String TimeStamp) $ L.concat ["\"", "2018-05:01T01:42:12Z" , "\""]