{-# 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 :: JsonFormat e (Path Rel File)
relFileJsonFormat = JsonFormat e (Path Rel File)
forall a e. (ToJSON a, FromJSON a) => JsonFormat e a
aesonJsonFormat

relDirJsonFormat :: JsonFormat e (Path Rel Dir)
relDirJsonFormat :: JsonFormat e (Path Rel Dir)
relDirJsonFormat = JsonFormat e (Path Rel Dir)
forall a e. (ToJSON a, FromJSON a) => JsonFormat e a
aesonJsonFormat

absFileJsonFormat :: JsonFormat e (Path Abs File)
absFileJsonFormat :: JsonFormat e (Path Abs File)
absFileJsonFormat = JsonFormat e (Path Abs File)
forall a e. (ToJSON a, FromJSON a) => JsonFormat e a
aesonJsonFormat

absDirJsonFormat :: JsonFormat e (Path Abs Dir)
absDirJsonFormat :: JsonFormat e (Path Abs Dir)
absDirJsonFormat = JsonFormat e (Path Abs Dir)
forall a e. (ToJSON a, FromJSON a) => JsonFormat e a
aesonJsonFormat

instance DefaultJsonFormat (Path Rel File) where
  defaultJsonFormat :: JsonFormat e (Path Rel File)
defaultJsonFormat = JsonFormat e (Path Rel File)
forall e. JsonFormat e (Path Rel File)
relFileJsonFormat

instance DefaultJsonFormat (Path Rel Dir) where
  defaultJsonFormat :: JsonFormat e (Path Rel Dir)
defaultJsonFormat = JsonFormat e (Path Rel Dir)
forall e. JsonFormat e (Path Rel Dir)
relDirJsonFormat

instance DefaultJsonFormat (Path Abs File) where
  defaultJsonFormat :: JsonFormat e (Path Abs File)
defaultJsonFormat = JsonFormat e (Path Abs File)
forall e. JsonFormat e (Path Abs File)
absFileJsonFormat

instance DefaultJsonFormat (Path Abs Dir) where
  defaultJsonFormat :: JsonFormat e (Path Abs Dir)
defaultJsonFormat = JsonFormat e (Path Abs Dir)
forall e. JsonFormat e (Path Abs Dir)
absDirJsonFormat