servant-purescript 0.7.0.0 → 0.8.0.0
raw patch · 4 files changed
+15/−14 lines, 4 files
Files
- servant-purescript.cabal +1/−1
- src/Servant/PureScript/CodeGen.hs +2/−2
- src/Servant/PureScript/Internal.hs +4/−5
- src/Servant/PureScript/MakeRequests.hs +8/−6
servant-purescript.cabal view
@@ -1,5 +1,5 @@ name: servant-purescript-version: 0.7.0.0+version: 0.8.0.0 synopsis: Generate PureScript accessor functions for you servant API description: Please see README.md homepage: https://github.com/eskimor/servant-purescript#readme
src/Servant/PureScript/CodeGen.hs view
@@ -88,7 +88,7 @@ genSignature :: Text -> [PSType] -> Maybe PSType -> Doc-genSignature = genSignatureBuilder $ "forall eff m." <+/> "(MonadAsk (SPSettings_ SPParams_) m, MonadError AjaxError m, MonadAff ( ajax :: AJAX | eff) m)" <+/> "=>"+genSignature = genSignatureBuilder $ "forall eff m." <+/> "MonadAsk (SPSettings_ SPParams_) m => MonadError AjaxError m => MonadAff ( ajax :: AJAX | eff) m" <+/> "=>" genSignatureBuilder :: Doc -> Text -> [PSType] -> Maybe PSType -> Doc genSignatureBuilder constraint fnName params mRet = fName <+> "::" <+> align (constraint <+/> parameterString)@@ -121,7 +121,7 @@ </> ", headers =" <+> "defaultRequest.headers <> reqHeaders" </> case req ^. reqBody of Nothing -> "}"- Just _ -> ", content =" <+> "toNullable <<< Just <<< printJson <<< encodeJson $ reqBody" </> "}"+ Just _ -> ", content =" <+> "toNullable <<< Just <<< stringify <<< encodeJson $ reqBody" </> "}" ) </> "affResp <- affjax affReq" </> "getResult affReq decodeJson affResp" <> line
src/Servant/PureScript/Internal.hs view
@@ -96,17 +96,16 @@ , _standardImports = importsFromList [ ImportLine "Control.Monad.Reader.Class" (Set.fromList [ "class MonadAsk", "ask" ]) , ImportLine "Control.Monad.Error.Class" (Set.fromList [ "class MonadError" ])- , ImportLine "Control.Monad.Aff.Class" (Set.fromList [ "class MonadAff", "liftAff" ])+ , ImportLine "Control.Monad.Aff.Class" (Set.fromList [ "class MonadAff" ]) , ImportLine "Network.HTTP.Affjax" (Set.fromList [ "AJAX" ])- , ImportLine "Global" (Set.fromList [ "encodeURIComponent" ]) -- from package globals- , ImportLine "Data.Nullable" (Set.fromList [ "Nullable()", "toNullable" ])- , ImportLine "Servant.PureScript.Affjax" (Set.fromList [ "defaultRequest", "affjax", "AjaxError(..)" ])+ , ImportLine "Data.Nullable" (Set.fromList [ "toNullable" ])+ , ImportLine "Servant.PureScript.Affjax" (Set.fromList [ "AjaxError", "defaultRequest", "affjax" ]) , ImportLine "Servant.PureScript.Settings" (Set.fromList [ "SPSettings_(..)", "gDefaultToURLPiece" ]) , ImportLine "Servant.PureScript.Util" (Set.fromList [ "encodeListQuery", "encodeURLPiece", "encodeQueryItem", "getResult", "encodeHeader" ]) , ImportLine "Prim" (Set.fromList [ "String" ]) -- For baseURL! , ImportLine "Data.Argonaut.Generic.Aeson" (Set.fromList [ "encodeJson", "decodeJson" ]) -- Should not be necessary - compiler bug! , ImportLine "Data.Maybe" (Set.fromList [ "Maybe(..)"])- , ImportLine "Data.Argonaut.Printer" (Set.fromList [ "printJson" ])+ , ImportLine "Data.Argonaut.Core" (Set.fromList [ "stringify" ]) ] , _generateSubscriberAPI = False }
src/Servant/PureScript/MakeRequests.hs view
@@ -11,16 +11,18 @@ import Control.Lens hiding (List) import Data.Map (Map)-import Data.Maybe (mapMaybe, maybeToList) import Data.Proxy (Proxy (Proxy)) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.Encoding as T-import Language.PureScript.Bridge-import Language.PureScript.Bridge (buildBridge, defaultBridge)-import Language.PureScript.Bridge.PSTypes (psString, psUnit)-import Network.HTTP.Types.URI (urlEncode)+import Language.PureScript.Bridge (ImportLine (..),+ PSType,+ buildBridge,+ defaultBridge,+ importsFromList,+ mergeImportLines,+ mkTypeInfo) import Servant.Foreign import Servant.PureScript.CodeGen hiding (genBuildHeader, genBuildHeaders,@@ -106,7 +108,7 @@ </> ", httpQuery:" <+> "reqQuery" </> ", httpBody:" <+> case req ^. reqBody of Nothing -> "\"\""- Just _ -> "printJson <<< encodeJson $ reqBody"+ Just _ -> "stringify <<< encodeJson $ reqBody" </> "}") </> "pure spReq" ) <> "\n"