@@ -1,5 +1,4 @@
11{-# LANGUAGE DataKinds #-}
2−{-# LANGUAGE QuasiQuotes #-}
32{-# LANGUAGE TypeOperators #-}
43{-# LANGUAGE FlexibleInstances #-}
54-----------------------------------------------------------------------------
@@ -10,8 +9,6 @@
109-- Maintainer : Alp Mestanogullari <alpmestan@gmail.com>
1110-- Stability : experimental
1211-- Portability : non-portable
13−--
14−-- Usage:
1512module Servant.JQuery
1613 ( jquery
1714 , generateJS
@@ -21,8 +18,8 @@ module Servant.JQuery
2118
2219import Control.Lens
2320import Data.List
21+import Data.Monoid
2422import Data.Proxy
25−import Data.String.Interpolate
2623import Servant.JQuery.Internal
2724
2825jquery :: HasJQ layout => Proxy layout -> JQ layout
@@ -30,18 +27,17 @@ jquery p = jqueryFor p defReq
3027
3128-- js codegen
3229generateJS :: AjaxReq -> String
33−generateJS req =
34− [i|
35−function #{fname}(#{argsStr})
36−{
37− $.ajax(
38− { url: #{url}
39− , success: onSuccess #{dataBody}
40− , error: onError
41− , type: '#{method}'
42− });
43−}
44− |]
30+generateJS req = "\n" <>
31+ "function " <> fname <> "(" <> argsStr <> ")\n"
32+ <> "{\n"
33+ <> " $.ajax(\n"
34+ <> " { url: " <> url <> "\n"
35+ <> " , success: onSuccess\n"
36+ <> dataBody
37+ <> " , error: onError\n"
38+ <> " , type: '" <> method <> "'\n"
39+ <> " });\n"
40+ <> "}\n"
4541
4642 where argsStr = intercalate ", " args
4743 args = captures
@@ -61,7 +57,7 @@ function #{fname}(#{argsStr})
6157
6258 dataBody =
6359 if req ^. reqBody
64− then "\n , data: JSON.stringify(body)"
60+ then "\n , data: JSON.stringify(body)\n"
6561 else ""
6662
6763 fname = req ^. funcName