diff --git a/src/EuphApi/CloseableChan.hs b/src/EuphApi/CloseableChan.hs index 219ec71..ab66514 100644 --- a/src/EuphApi/CloseableChan.hs +++ b/src/EuphApi/CloseableChan.hs @@ -51,14 +51,14 @@ newOpenChanSTM :: STM (CloseableChan a) newOpenChanSTM = do cClosed <- newTVar False cChan <- newTChan - return $ CloseableChan{..} + return CloseableChan{..} -- | See 'newClosedChan'. newClosedChanSTM :: STM (CloseableChan a) newClosedChanSTM = do cClosed <- newTVar True cChan <- newTChan - return $ CloseableChan{..} + return CloseableChan{..} -- | See 'writeChan'. writeChanSTM :: CloseableChan a -> a -> STM (Maybe ()) @@ -84,14 +84,12 @@ readChanSTM CloseableChan{..} = do -- | See 'closeChan'. closeChanSTM :: CloseableChan a -> STM () -closeChanSTM CloseableChan{..} = do - writeTVar cClosed True +closeChanSTM CloseableChan{..} = writeTVar cClosed True --writeTChan cChan End -- | See 'openChan'. openChanSTM :: CloseableChan a -> STM () -openChanSTM CloseableChan{..} = do - writeTVar cClosed False +openChanSTM CloseableChan{..} = writeTVar cClosed False -- | See 'emptyChan'. emptyChanSTM :: CloseableChan a -> STM [a] diff --git a/src/EuphApi/Types.hs b/src/EuphApi/Types.hs index bec5f72..500eaaf 100644 --- a/src/EuphApi/Types.hs +++ b/src/EuphApi/Types.hs @@ -15,8 +15,9 @@ module EuphApi.Types import Data.Aeson import Data.Function -import qualified Data.Text as T +import qualified Data.Text as T import Data.Time +import Data.Time.Clock.POSIX -- | Represents . -- @@ -101,13 +102,16 @@ instance FromJSON Message where parseJSON = withObject "Message" $ \o -> do msgID <- o .: "id" msgParent <- o .:? "parent" - msgTime <- o .: "time" msgSender <- o .: "sender" msgContent <- o .: "content" - msgEdited <- o .:? "edited" - msgDeleted <- o .:? "deleted" + time <- o .: "time" + edited <- o .:? "edited" + deleted <- o .:? "deleted" msgTruncated <- o .:? "truncated" .!= False - return $ Message{..} + let msgTime = posixSecondsToUTCTime time + msgEdited = posixSecondsToUTCTime <$> edited + msgDeleted = posixSecondsToUTCTime <$> deleted + return Message{..} -- | Represents . -- @@ -135,4 +139,4 @@ instance FromJSON SessionView where sessSessionID <- o .: "session_id" isStaff <- o .:? "is_staff" .!= False isManager <- o .:? "is_manager" .!= False - return $ SessionView{..} + return SessionView{..}