servant-purescript 0.6.0.0 → 0.7.0.0
raw patch · 5 files changed
+15/−15 lines, 5 files
Files
- servant-purescript.cabal +1/−1
- src/Servant/PureScript/CodeGen.hs +1/−1
- src/Servant/PureScript/Internal.hs +8/−8
- src/Servant/PureScript/MakeRequests.hs +1/−1
- src/Servant/PureScript/Subscriber.hs +4/−4
servant-purescript.cabal view
@@ -1,5 +1,5 @@ name: servant-purescript-version: 0.6.0.0+version: 0.7.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." <+/> "(MonadReader (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)
src/Servant/PureScript/Internal.hs view
@@ -17,10 +17,10 @@ import Data.Char import Data.Monoid import Data.Proxy-import Data.Set (Set)-import qualified Data.Set as Set-import Data.Text (Text)-import qualified Data.Text as T+import Data.Set (Set)+import qualified Data.Set as Set+import Data.Text (Text)+import qualified Data.Text as T import Data.Typeable import Language.PureScript.Bridge@@ -73,7 +73,7 @@ data Settings = Settings {- _apiModuleName :: Text+ _apiModuleName :: Text -- | This function parameters should instead be put in a Reader monad. -- -- 'baseUrl' will be put there by default, you can add additional parameters.@@ -81,8 +81,8 @@ -- If your API uses a given parameter name multiple times with different types, -- only the ones matching the type of the first occurrence -- will be put in the Reader monad, all others will still be passed as function parameter.-, _readerParams :: Set ParamName-, _standardImports :: ImportLines+, _readerParams :: Set ParamName+, _standardImports :: ImportLines -- | If you want codegen for servant-subscriber, set this to True. See the central-counter example -- for a simple usage case. , _generateSubscriberAPI :: Bool@@ -94,7 +94,7 @@ _apiModuleName = "ServerAPI" , _readerParams = Set.singleton baseURLId , _standardImports = importsFromList- [ ImportLine "Control.Monad.Reader.Class" (Set.fromList [ "class MonadReader", "ask" ])+ [ 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 "Network.HTTP.Affjax" (Set.fromList [ "AJAX" ])
src/Servant/PureScript/MakeRequests.hs view
@@ -86,7 +86,7 @@ genSignature :: Text -> [PSType] -> Maybe PSType -> Doc-genSignature = genSignatureBuilder $ "forall m." <+/> "MonadReader (SPSettings_ SPParams_) m" <+/> "=>"+genSignature = genSignatureBuilder $ "forall m." <+/> "MonadAsk (SPSettings_ SPParams_) m" <+/> "=>" genFnBody :: [PSParam] -> Req PSType -> Doc genFnBody rParams req = "do"
src/Servant/PureScript/Subscriber.hs view
@@ -22,10 +22,10 @@ import Servant.Foreign import Servant.PureScript.CodeGen (docIntercalate, genFnHead, genModuleHeader,+ genSignatureBuilder, getReaderParams, psVar, reqToParams,- reqsToImportLines,- genSignatureBuilder)+ reqsToImportLines) import Servant.PureScript.Internal import Servant.PureScript.MakeRequests hiding (genFnBody, genFunction, genModule,@@ -60,7 +60,7 @@ fnName = req ^. reqFuncName ^. camelCaseL responseType = case req ^. reqReturnType of Nothing -> psUnit- Just t -> t+ Just t -> t allParamsList = makeTypedToUserParam responseType : baseURLParam : reqToParams req fnParams = filter (not . flip Set.member rParamsSet) allParamsList -- Use list not set, as we don't want to change order of parameters @@ -73,7 +73,7 @@ genSignature :: Text -> [PSType] -> Maybe PSType -> Doc-genSignature = genSignatureBuilder $ "forall m a." <+/> "MonadReader (SPSettings_ SPParams_) m" <+/> "=>"+genSignature = genSignatureBuilder $ "forall m a." <+/> "MonadAsk (SPSettings_ SPParams_) m" <+/> "=>" genFnBody :: Text -> [Text] -> Doc genFnBody fName params = "do"