escape data-warning attr

This commit is contained in:
Rhiannon Morris 2020-09-14 02:33:27 +02:00
parent 046dc59834
commit 258b1c6102
2 changed files with 10 additions and 2 deletions

View file

@ -2,7 +2,7 @@
module BuilderQQ
(b,
Builder, toLazyText, fromText, fromString, fromChar,
textMap, ifJust, escId)
textMap, ifJust, escId, escAttr)
where
import Data.Char (isLower, isSpace, isDigit, isAlphaNum)
@ -159,6 +159,14 @@ escId = foldMap esc1 . Text.unpack where
latin1Special c =
c <= 'ÿ' && not (isAlphaNum c) && c /= '-'
escAttr :: Text -> Builder
escAttr = foldMap esc1 . Text.unpack where
esc1 '<' = "&lt;"
esc1 '>' = "&gt;"
esc1 '"' = "&quot;"
esc1 '\'' = "&apos;"
esc1 c = fromChar c
class CanBuild a where
build :: a -> Builder