diff options
Diffstat (limited to 'overlays/spm/lib/Data/CaseInsensitive/Instances.hs')
-rw-r--r-- | overlays/spm/lib/Data/CaseInsensitive/Instances.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/overlays/spm/lib/Data/CaseInsensitive/Instances.hs b/overlays/spm/lib/Data/CaseInsensitive/Instances.hs new file mode 100644 index 00000000..1476b9d9 --- /dev/null +++ b/overlays/spm/lib/Data/CaseInsensitive/Instances.hs | |||
@@ -0,0 +1,22 @@ | |||
1 | {-# OPTIONS_GHC -fno-warn-orphans #-} | ||
2 | |||
3 | module Data.CaseInsensitive.Instances () where | ||
4 | |||
5 | import Prelude | ||
6 | |||
7 | import Data.CaseInsensitive (CI) | ||
8 | import qualified Data.CaseInsensitive as CI | ||
9 | |||
10 | import Servant.API.ContentTypes | ||
11 | |||
12 | import Data.Aeson | ||
13 | |||
14 | |||
15 | instance MimeRender PlainText a => MimeRender PlainText (CI a) where | ||
16 | mimeRender p = mimeRender p . CI.original | ||
17 | |||
18 | instance ToJSON a => ToJSON (CI a) where | ||
19 | toJSON = toJSON . CI.original | ||
20 | |||
21 | instance (FromJSON a, CI.FoldCase a) => FromJSON (CI a) where | ||
22 | parseJSON = fmap CI.mk . parseJSON | ||