@@ -18,6 +18,7 @@ module Servant.JS.Internal
19 , reqHeaders
19 , reqHeaders
20 , HasForeign(..)
20 , HasForeign(..)
21 , HeaderArg(..)
22 , HeaderArg(..)
22 , concatCase
23 , concatCase
23 , snakeCase
24 , snakeCase
@@ -31,7 +32,7 @@ module Servant.JS.Internal
34−import Control.Lens ((^.))
35+import Control.Lens ((^.), _1)
35import qualified Data.CharSet as Set
36import qualified Data.CharSet as Set
36import qualified Data.CharSet.Unicode.Category as Set
37import qualified Data.CharSet.Unicode.Category as Set
37import Data.Monoid
38import Data.Monoid
@@ -115,7 +116,7 @@ toValidFunctionName t =
117toJSHeader :: HeaderArg -> Text
118toJSHeader :: HeaderArg -> Text
118−toJSHeader (HeaderArg n) = toValidFunctionName ("header" <> n)
119+toJSHeader (HeaderArg n) = toValidFunctionName ("header" <> fst n)
119toJSHeader (ReplaceHeaderArg n p)
120toJSHeader (ReplaceHeaderArg n p)
120 | pn `T.isPrefixOf` p = pv <> " + \"" <> rp <> "\""
121 | pn `T.isPrefixOf` p = pv <> " + \"" <> rp <> "\""
121 | pn `T.isSuffixOf` p = "\"" <> rp <> "\" + " <> pv
122 | pn `T.isSuffixOf` p = "\"" <> rp <> "\" + " <> pv
@@ -123,8 +124,8 @@ toJSHeader (ReplaceHeaderArg n p)
124 | otherwise = p
125 | otherwise = p
126− pv = toValidFunctionName ("header" <> n)
127+ pv = toValidFunctionName ("header" <> fst n)
127− pn = "{" <> n <> "}"
128+ pn = "{" <> fst n <> "}"
128 rp = T.replace pn "" p
129 rp = T.replace pn "" p
130jsSegments :: [Segment] -> Text
131jsSegments :: [Segment] -> Text
@@ -138,7 +139,7 @@ segmentToStr (Segment st) notTheEnd =
139segmentTypeToStr :: SegmentType -> Text
140segmentTypeToStr :: SegmentType -> Text
140segmentTypeToStr (Static s) = s
141segmentTypeToStr (Static s) = s
141−segmentTypeToStr (Cap s) = "' + encodeURIComponent(" <> s <> ") + '"
142+segmentTypeToStr (Cap s) = "' + encodeURIComponent(" <> fst s <> ") + '"
143jsGParams :: Text -> [QueryArg] -> Text
144jsGParams :: Text -> [QueryArg] -> Text
144jsGParams _ [] = ""
145jsGParams _ [] = ""
@@ -160,4 +161,4 @@ paramToStr qarg notTheEnd =
160 <> "[]=' + encodeURIComponent("
161 <> "[]=' + encodeURIComponent("
162 <> if notTheEnd then ") + '" else ")"
163 <> if notTheEnd then ") + '" else ")"
163− where name = qarg ^. argName
164+ where name = qarg ^. argName . _1