@@ -1,11 +1,9 @@
1−{-# LANGUAGE QuasiQuotes #-}
2module Servant.JQuery.Angular where
1module Servant.JQuery.Angular where
4import Servant.JQuery.Internal
3import Servant.JQuery.Internal
5import Control.Lens
4import Control.Lens
6import Data.List
5import Data.List
7import Data.Monoid
6import Data.Monoid
8−import Data.String.Interpolate
10data AngularOptions = AngularOptions
8data AngularOptions = AngularOptions
11 { serviceName :: String -- ^ When generating code with wrapInService,
9 { serviceName :: String -- ^ When generating code with wrapInService,
@@ -17,8 +15,8 @@ data AngularOptions = AngularOptions
17defAngularOptions :: AngularOptions
15defAngularOptions :: AngularOptions
18defAngularOptions = AngularOptions
16defAngularOptions = AngularOptions
19 { serviceName = ""
17 { serviceName = ""
20− , prologue = \svc m -> [i|#{m}service('#{svc}', function($http) {
18+ , prologue = \svc m -> m <> "service('" <> svc <> "', function($http) {\n"
21− return ({|]
19+ <> " return ({"
22 , epilogue = "});\n});\n"
20 , epilogue = "});\n});\n"
@@ -48,17 +46,16 @@ generateAngularJS ngOpts = generateAngularJSWith ngOpts defCommonGeneratorOption
49-- js codegen using $http service from Angular
47-- js codegen using $http service from Angular
50generateAngularJSWith :: AngularOptions -> CommonGeneratorOptions -> AjaxReq -> String
48generateAngularJSWith :: AngularOptions -> CommonGeneratorOptions -> AjaxReq -> String
51−generateAngularJSWith ngOptions opts req = [i|
49+generateAngularJSWith ngOptions opts req = "\n" <>
52− #{fname}#{fsep} function(#{argsStr})
50+ fname <> fsep <> " function(" <> argsStr <> ")\n"
54− return $http(
52+ <> " return $http(\n"
55− { url: #{url}
53+ <> " { url: " <> url <> "\n"
56− #{dataBody}
54+ <> dataBody
57− #{reqheaders}
55+ <> reqheaders
58− , method: '#{method}'
56+ <> " , method: '" <> method <> "'\n"
63 where argsStr = intercalate ", " args
60 where argsStr = intercalate ", " args
64 args = http
61 args = http