From e9423828361da9f426236b8ba8818db7783eb4b8 Mon Sep 17 00:00:00 2001 From: MMesch Date: Wed, 18 Jul 2018 21:03:37 +0200 Subject: [PATCH] json and vegalite are working --- ipython-kernel/src/IHaskell/IPython/Message/Writer.hs | 9 +++++++++ ipython-kernel/src/IHaskell/IPython/Types.hs | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ipython-kernel/src/IHaskell/IPython/Message/Writer.hs b/ipython-kernel/src/IHaskell/IPython/Message/Writer.hs index 635b8474..42a99743 100644 --- a/ipython-kernel/src/IHaskell/IPython/Message/Writer.hs +++ b/ipython-kernel/src/IHaskell/IPython/Message/Writer.hs @@ -8,11 +8,14 @@ module IHaskell.IPython.Message.Writer (ToJSON(..)) where import Data.Aeson import Data.Aeson.Types (Pair) +import Data.Aeson.Parser (json) import Data.Map (Map) import Data.Monoid (mempty) import Data.Text (Text, pack) +import Data.Text.Encoding (encodeUtf8) import qualified Data.Map as Map import IHaskell.IPython.Types +import Data.Maybe (fromMaybe) instance ToJSON LanguageInfo where toJSON info = object @@ -173,6 +176,12 @@ instance ToJSON StreamType where -- | Convert a MIME type and value into a JSON dictionary pair. displayDataToJson :: DisplayData -> (Text, Value) +displayDataToJson (DisplayData MimeJson dataStr) = + pack (show MimeJson) .= fromMaybe (String "") (decodeStrict (encodeUtf8 dataStr) :: Maybe Value) +displayDataToJson (DisplayData MimeVegalite dataStr) = + pack (show MimeVegalite) .= fromMaybe (String "") (decodeStrict (encodeUtf8 dataStr) :: Maybe Value) +displayDataToJson (DisplayData MimeVega dataStr) = + pack (show MimeVega) .= fromMaybe (String "") (decodeStrict (encodeUtf8 dataStr) :: Maybe Value) displayDataToJson (DisplayData mimeType dataStr) = pack (show mimeType) .= String dataStr diff --git a/ipython-kernel/src/IHaskell/IPython/Types.hs b/ipython-kernel/src/IHaskell/IPython/Types.hs index 31a402c1..3e21d3ac 100644 --- a/ipython-kernel/src/IHaskell/IPython/Types.hs +++ b/ipython-kernel/src/IHaskell/IPython/Types.hs @@ -599,7 +599,7 @@ instance Show MimeType where show MimeJavascript = "application/javascript" show MimeJson = "application/json" show MimeVega = "application/vnd.vega.v2+json" - show MimeVegalite = "application/vnd.vegalite.v1+json" + show MimeVegalite = "application/vnd.vegalite.v2+json" show MimeVdom = "application/vdom.v1+json" instance Read MimeType where