From 2bd52320dfc3bbf5d86cd74e7b76209a8cb7a330 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 16 Apr 2020 14:04:38 +0200 Subject: Reaktor.Internal: add FromJSON Message --- src/Reaktor/Internal.hs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Reaktor/Internal.hs b/src/Reaktor/Internal.hs index bd3d241..824c57e 100644 --- a/src/Reaktor/Internal.hs +++ b/src/Reaktor/Internal.hs @@ -58,6 +58,15 @@ instance FromJSON Config where data Message = Message (Maybe Text) Command [Text] | Start deriving Show +instance FromJSON Message where + parseJSON = \case + Object v -> do + mb_prefix <- v .:? "prefix" + cmd <- v .: "command" + params <- v .: "params" + pure (Message mb_prefix cmd params) + invalid -> typeMismatch "Message" invalid + formatMessage :: Message -> Text formatMessage = \case Message mb_prefix cmd params -> -- cgit v1.2.3