From 92ee723d139a9e1bdfd559464b716ba8f0714221 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 25 Dec 2025 21:19:22 +0100 Subject: [PATCH] Use builtin camelTo2 function --- tea-cleaner/TeaCleaner/Options.hs | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/tea-cleaner/TeaCleaner/Options.hs b/tea-cleaner/TeaCleaner/Options.hs index 7965a97..b1b6372 100644 --- a/tea-cleaner/TeaCleaner/Options.hs +++ b/tea-cleaner/TeaCleaner/Options.hs @@ -6,23 +6,9 @@ module TeaCleaner.Options ( jsonOptions ) where -import qualified Data.Aeson.TH as Aeson -import Prelude hiding (id) -import Data.Char - -applyFirst :: (Char -> Char) -> String -> String -applyFirst _ [] = [] -applyFirst f [x] = [f x] -applyFirst f (x:xs) = f x: xs - --- | Generic casing for symbol separated names -symbCase :: String -> String -symbCase = u . applyFirst toLower - where u [] = [] - u (x:xs) | isUpper x = '_' : toLower x : u xs - | otherwise = x : u xs +import qualified Data.Aeson as Aeson jsonOptions :: Aeson.Options jsonOptions = Aeson.defaultOptions - { Aeson.fieldLabelModifier = symbCase + { Aeson.fieldLabelModifier = Aeson.camelTo2 '_' }