From 97f56c86ff399b154626d7e13b59d32446e8be89 Mon Sep 17 00:00:00 2001 From: Chris Penner Date: Mon, 10 Feb 2025 14:39:43 -0800 Subject: [PATCH] Add FromJSON instances for Doc --- unison-share-api/src/Unison/Server/Doc.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/unison-share-api/src/Unison/Server/Doc.hs b/unison-share-api/src/Unison/Server/Doc.hs index 7a9ad22ab0..4237f1a734 100644 --- a/unison-share-api/src/Unison/Server/Doc.hs +++ b/unison-share-api/src/Unison/Server/Doc.hs @@ -9,7 +9,7 @@ module Unison.Server.Doc where import Control.Monad -import Data.Aeson (ToJSON) +import Data.Aeson (ToJSON, FromJSON) import Data.Foldable import Data.Functor import Data.Map qualified as Map @@ -91,7 +91,7 @@ data DocG specialForm | Column [(DocG specialForm)] | Group (DocG specialForm) deriving stock (Eq, Ord, Show, Generic, Functor, Foldable, Traversable) - deriving anyclass (ToJSON) + deriving anyclass (ToJSON, FromJSON) deriving instance (ToSchema specialForm) => ToSchema (DocG specialForm) @@ -99,13 +99,13 @@ type UnisonHash = Text data Ref a = Term a | Type a deriving stock (Eq, Ord, Show, Generic, Functor, Foldable, Traversable) - deriving anyclass (ToJSON) + deriving anyclass (ToJSON, FromJSON) instance (ToSchema a) => ToSchema (Ref a) data MediaSource = MediaSource {mediaSourceUrl :: Text, mediaSourceMimeType :: Maybe Text} deriving stock (Eq, Ord, Show, Generic) - deriving anyclass (ToJSON, ToSchema) + deriving anyclass (ToJSON, FromJSON, ToSchema) data RenderedSpecialForm = Source [SrcRefs] @@ -125,7 +125,7 @@ data RenderedSpecialForm | Svg Text | RenderError (RenderError SyntaxText) deriving stock (Eq, Ord, Show, Generic) - deriving anyclass (ToJSON, ToSchema) + deriving anyclass (ToJSON, FromJSON, ToSchema) data EvaluatedSpecialForm v = ESource [(EvaluatedSrc v)] @@ -151,7 +151,7 @@ data EvaluatedSpecialForm v -- `Src folded unfolded` data Src = Src SyntaxText SyntaxText deriving stock (Eq, Ord, Show, Generic) - deriving anyclass (ToJSON, ToSchema) + deriving anyclass (ToJSON, FromJSON, ToSchema) -- | Evaluate the doc, then render it. evalAndRenderDoc :: @@ -448,7 +448,7 @@ evalDoc terms typeOf eval types tm = data RenderError trm = InvalidTerm trm deriving stock (Eq, Ord, Show, Generic) - deriving anyclass (ToJSON) + deriving anyclass (ToJSON, FromJSON) deriving anyclass instance (ToSchema trm) => ToSchema (RenderError trm)