41 lines
941 B
Haskell
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
|
|
|