{- | Module : Composite.Aeson.WriteOnly License : MIT Stability : experimental Exports WriteOnly indicators for JsonProfunctor. -} module Composite.Aeson.WriteOnly ( WriteOnlyJsonField , noRead , writeOnlyJsonFormat ) where import Composite.Aeson import Data.Aeson import Data.Aeson.BetterErrors import Data.Functor.Identity data WriteOnlyJsonField = WriteOnlyJsonField deriving Show noRead :: ParseT WriteOnlyJsonField Identity a noRead = throwCustomError WriteOnlyJsonField writeOnlyJsonFormat :: (a -> Value) -> JsonFormat e a writeOnlyJsonFormat f = jsonFormatWithoutCustomError $ JsonFormat $ JsonProfunctor f noRead