mirror of
https://github.com/IHaskell/IHaskell.git
synced 2025-04-16 03:16:20 +00:00
json and vegalite are working
This commit is contained in:
parent
d6a5af4fec
commit
e942382836
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user