diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2022-05-26 13:58:07 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2022-05-26 13:58:07 +0200 |
| commit | fc6cf6169868e60c189e4b243330c3717ff159f3 (patch) | |
| tree | 3f6dea9c1420e23756257b5abea27ec9ed92d58a /overlays/spm/lib/Data | |
| parent | 84f2affd66a0ff3947b91a30308cb8e6a8ff7594 (diff) | |
| download | nixos-fc6cf6169868e60c189e4b243330c3717ff159f3.tar nixos-fc6cf6169868e60c189e4b243330c3717ff159f3.tar.gz nixos-fc6cf6169868e60c189e4b243330c3717ff159f3.tar.bz2 nixos-fc6cf6169868e60c189e4b243330c3717ff159f3.tar.xz nixos-fc6cf6169868e60c189e4b243330c3717ff159f3.zip | |
...
Diffstat (limited to 'overlays/spm/lib/Data')
| -rw-r--r-- | overlays/spm/lib/Data/CaseInsensitive/Instances.hs | 22 | ||||
| -rw-r--r-- | overlays/spm/lib/Data/UUID/Instances.hs | 18 |
2 files changed, 40 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 | ||
diff --git a/overlays/spm/lib/Data/UUID/Instances.hs b/overlays/spm/lib/Data/UUID/Instances.hs new file mode 100644 index 00000000..335937d8 --- /dev/null +++ b/overlays/spm/lib/Data/UUID/Instances.hs | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | {-# OPTIONS_GHC -fno-warn-orphans #-} | ||
| 2 | |||
| 3 | module Data.UUID.Instances () where | ||
| 4 | |||
| 5 | import Prelude | ||
| 6 | import Data.UUID (UUID) | ||
| 7 | import qualified Data.UUID as UUID | ||
| 8 | import Servant.API.ContentTypes | ||
| 9 | |||
| 10 | |||
| 11 | instance MimeRender PlainText UUID where | ||
| 12 | mimeRender p = mimeRender p . UUID.toText | ||
| 13 | |||
| 14 | instance MimeRender JSON UUID where | ||
| 15 | mimeRender p = mimeRender p . UUID.toText | ||
| 16 | |||
| 17 | instance MimeRender OctetStream UUID where | ||
| 18 | mimeRender p = mimeRender p . UUID.toByteString | ||
