summaryrefslogtreecommitdiff
path: root/tiled/Data/Tiled/TH.hs
diff options
context:
space:
mode:
authorstuebinm2022-10-11 13:39:16 +0200
committerstuebinm2022-10-11 13:39:16 +0200
commit4caded904c54d1cd85bf54239517e93650a404f5 (patch)
treece150d3588aa766c12ee6bb3e3ed3aea73615d43 /tiled/Data/Tiled/TH.hs
parente4b0ae395f3207f4bbaebbf42a3d3a28a516489d (diff)
use template haskell aeson, not generics
this has been bothering me for MONTHS, and it compiles faster now. also fixed some warnings
Diffstat (limited to 'tiled/Data/Tiled/TH.hs')
-rw-r--r--tiled/Data/Tiled/TH.hs15
1 files changed, 15 insertions, 0 deletions
diff --git a/tiled/Data/Tiled/TH.hs b/tiled/Data/Tiled/TH.hs
new file mode 100644
index 0000000..e0ad0e8
--- /dev/null
+++ b/tiled/Data/Tiled/TH.hs
@@ -0,0 +1,15 @@
+module Data.Tiled.TH where
+
+import Universum
+
+import qualified Data.Aeson.TH as TH
+import Data.Char (toLower)
+
+aesonOptions :: Int -> TH.Options
+aesonOptions l = TH.defaultOptions
+ { TH.omitNothingFields = True
+ , TH.rejectUnknownFields = True
+ -- can't be bothered to do a nicer prefix strip
+ , TH.fieldLabelModifier = drop l . map toLower
+ , TH.sumEncoding = TH.UntaggedValue
+ }