reflex-dom-core-0.4: src/Reflex/Dom/Builder/Class/TH.hs
module Reflex.Dom.Builder.Class.TH where
import Control.Lens
import Language.Haskell.TH.Lib (DecsQ)
import Language.Haskell.TH.Syntax (Name, nameBase)
namer :: [String] -> Name -> [Name] -> Name -> [DefName]
namer s n ks t | nameBase t `elem` s = []
| otherwise = underscoreNoPrefixNamer n ks t
makeLensesWithoutField :: [String] -> Name -> DecsQ
makeLensesWithoutField s = makeLensesWith (lensRules & lensField .~ namer s)