module Data.Exo.Object.Image where import Control.Lens import Data.Extensible import Data.Exo.ExoFormat type ImageR = '[ "file" >: FilePath ] newtype Image = Image { getImage :: Record ImageR } makeWrapped ''Image instance ExoFormat Image where eformat n (Image r) = unlinePairs $ toPairs $ #__name @= "画像ファイル" <: #file @= "" <: emptyRecord def = Image $ #file @= "" <: emptyRecord