0 | module Network.URL.Internal.StringParser
2 | import Data.String.Parser
5 | import Network.URL.Internal.Predicate
8 | letters : Parser String
10 | chars <- some $
letter
11 | pure . joinBy "" . map Data.String.singleton $
chars
14 | digits : Parser String
17 | pure . joinBy "" . map show $
ds
26 | schemeParser : Parser String
29 | tail <- takeWhile (anyPass [isAlphaNum, (== '+'), (== '-'), (== '.')])
30 | pure $
singleton head ++ tail