{-# OPTIONS_GHC -fno-warn-orphans #-}
module Composite.Aeson.Path where
import Composite.Aeson(JsonFormat, aesonJsonFormat, DefaultJsonFormat(defaultJsonFormat))
import Path(Path, Rel, Abs, File, Dir)
relFileJsonFormat :: JsonFormat e (Path Rel File)
relFileJsonFormat = aesonJsonFormat
relDirJsonFormat :: JsonFormat e (Path Rel Dir)
relDirJsonFormat = aesonJsonFormat
absFileJsonFormat :: JsonFormat e (Path Abs File)
absFileJsonFormat = aesonJsonFormat
absDirJsonFormat :: JsonFormat e (Path Abs Dir)
absDirJsonFormat = aesonJsonFormat
instance DefaultJsonFormat (Path Rel File) where
defaultJsonFormat = relFileJsonFormat
instance DefaultJsonFormat (Path Rel Dir) where
defaultJsonFormat = relDirJsonFormat
instance DefaultJsonFormat (Path Abs File) where
defaultJsonFormat = absFileJsonFormat
instance DefaultJsonFormat (Path Abs Dir) where
defaultJsonFormat = absDirJsonFormat