ghcup-hs/lib/GHCup/Types/JSON.hs

41 lines
941 B
Haskell

{-# OPTIONS_GHC -Wno-orphans #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
module GHCup.Types.JSON where
import Data.Strict.Maybe
import GHCup.Types
import Generics.SOP.TH
import Prelude hiding (
Maybe
, Just
, Nothing)
import Waargonaut.Generic (
JsonEncode
, JsonDecode
, GWaarg)
deriveGeneric ''Maybe
instance JsonEncode GWaarg a => JsonEncode GWaarg (Maybe a)
instance JsonDecode GWaarg a => JsonDecode GWaarg (Maybe a)
deriveGeneric ''Tool
instance JsonEncode GWaarg Tool
instance JsonDecode GWaarg Tool
deriveGeneric ''Architecture
instance JsonEncode GWaarg Architecture
instance JsonDecode GWaarg Architecture
deriveGeneric ''LinuxDistro
instance JsonEncode GWaarg LinuxDistro
instance JsonDecode GWaarg LinuxDistro