packages feed

google-translate 0.2 → 0.3

raw patch · 2 files changed

+32/−11 lines, 2 filesdep ~http-api-datadep ~http-clientdep ~servantPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: http-api-data, http-client, servant, servant-client

API changes (from Hackage documentation)

- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.Confidence
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.Detection
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.DetectionResponse
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.IsReliable
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.Lang
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.Language
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.LanguageName
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.LanguageResponse
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.TranslatedText
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.Translation
- Web.Google.Translate: instance Data.Aeson.Types.Class.FromJSON Web.Google.Translate.TranslationResponse
- Web.Google.Translate: instance Data.Aeson.Types.Class.ToJSON Web.Google.Translate.Lang
- Web.Google.Translate: instance Web.HttpApiData.Internal.FromHttpApiData Web.Google.Translate.Body
- Web.Google.Translate: instance Web.HttpApiData.Internal.FromHttpApiData Web.Google.Translate.Key
- Web.Google.Translate: instance Web.HttpApiData.Internal.FromHttpApiData Web.Google.Translate.TranslatedText
- Web.Google.Translate: instance Web.HttpApiData.Internal.ToHttpApiData Web.Google.Translate.Body
- Web.Google.Translate: instance Web.HttpApiData.Internal.ToHttpApiData Web.Google.Translate.Key
- Web.Google.Translate: instance Web.HttpApiData.Internal.ToHttpApiData Web.Google.Translate.Lang
- Web.Google.Translate: instance Web.HttpApiData.Internal.ToHttpApiData Web.Google.Translate.Source
- Web.Google.Translate: instance Web.HttpApiData.Internal.ToHttpApiData Web.Google.Translate.Target
- Web.Google.Translate: instance Web.HttpApiData.Internal.ToHttpApiData Web.Google.Translate.TranslatedText
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.Confidence
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.Detection
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.DetectionResponse
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.IsReliable
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.Lang
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.Language
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.LanguageName
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.LanguageResponse
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.TranslatedText
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.Translation
+ Web.Google.Translate: instance Data.Aeson.Types.FromJSON.FromJSON Web.Google.Translate.TranslationResponse
+ Web.Google.Translate: instance Data.Aeson.Types.ToJSON.ToJSON Web.Google.Translate.Lang
+ Web.Google.Translate: instance Web.Internal.HttpApiData.FromHttpApiData Web.Google.Translate.Body
+ Web.Google.Translate: instance Web.Internal.HttpApiData.FromHttpApiData Web.Google.Translate.Key
+ Web.Google.Translate: instance Web.Internal.HttpApiData.FromHttpApiData Web.Google.Translate.TranslatedText
+ Web.Google.Translate: instance Web.Internal.HttpApiData.ToHttpApiData Web.Google.Translate.Body
+ Web.Google.Translate: instance Web.Internal.HttpApiData.ToHttpApiData Web.Google.Translate.Key
+ Web.Google.Translate: instance Web.Internal.HttpApiData.ToHttpApiData Web.Google.Translate.Lang
+ Web.Google.Translate: instance Web.Internal.HttpApiData.ToHttpApiData Web.Google.Translate.Source
+ Web.Google.Translate: instance Web.Internal.HttpApiData.ToHttpApiData Web.Google.Translate.Target
+ Web.Google.Translate: instance Web.Internal.HttpApiData.ToHttpApiData Web.Google.Translate.TranslatedText

Files

google-translate.cabal view
@@ -1,5 +1,5 @@ name:                google-translate-version:             0.2+version:             0.3 synopsis:            Google Translate API bindings license:             BSD3 license-file:        LICENSE@@ -16,15 +16,16 @@  library   exposed-modules:     Web.Google.Translate+  ghc-options: -Wall   hs-source-dirs:      src   build-depends:       aeson                      , base           >= 4.7 && < 5                      , bytestring     == 0.10.*                      , transformers   >= 0.4 && < 0.6-                     , http-api-data  == 0.2.*-                     , http-client    == 0.4.*-                     , servant        == 0.7.*-                     , servant-client == 0.7.*+                     , http-api-data  >= 0.2 && < 0.4+                     , http-client    >= 0.4 && < 0.6+                     , servant        >= 0.7 && < 0.10+                     , servant-client >= 0.7 && < 0.10                      , text           == 1.2.*   default-language:    Haskell2010 
src/Web/Google/Translate.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP                        #-} {-# LANGUAGE PolyKinds                  #-} {-# LANGUAGE GADTs                      #-} {-# LANGUAGE OverloadedStrings          #-}@@ -168,33 +169,50 @@   -> Maybe Source   -> Maybe Target   -> Maybe Body+#if !(MIN_VERSION_servant_client(0,9,0))   -> Manager   -> BaseUrl-  -> ExceptT ServantError IO TranslationResponse+#endif+  -> ClientM TranslationResponse detect'   :: Maybe Key   -> Maybe Body+#if !(MIN_VERSION_servant_client(0,9,0))   -> Manager   -> BaseUrl-  -> ExceptT ServantError IO DetectionResponse+#endif+  -> ClientM DetectionResponse getLanguages'   :: Maybe Key   -> Maybe Target+#if !(MIN_VERSION_servant_client(0,9,0))   -> Manager   -> BaseUrl-  -> ExceptT ServantError IO LanguageResponse+#endif+  -> ClientM LanguageResponse translate' :<|> detect' :<|> getLanguages' = client api ------------------------------------------------------------------------------ googleApis :: BaseUrl googleApis = BaseUrl Https "www.googleapis.com" 443 "/" ------------------------------------------------------------------------------+-- compatability for servant-client 0.7 and 0.8:+#if !(MIN_VERSION_servant_client(0,9,0))+data ClientEnv = ClientEnv Manager BaseUrl+runClientM+  :: (Manager -> BaseUrl -> ExceptT e m a)+  -> ClientEnv -> m (Either e a)+runClientM a (ClientEnv mgr baseurl) = runExceptT (a mgr baseurl)+#endif+------------------------------------------------------------------------------ -- | Detect target language detect   :: Manager   -> Key   -> Body   -> IO (Either ServantError DetectionResponse)-detect mgr key body = runExceptT $ detect' (Just key) (Just body) mgr googleApis+detect mgr key body =+  runClientM (detect' (Just key) (Just body))+             (ClientEnv mgr googleApis) ------------------------------------------------------------------------------ -- | Perform translation from `Source` language to `Target` langauge. -- If `Source` not specified, attempt detection of `Lang`@@ -206,7 +224,8 @@   -> Body   -> IO (Either ServantError TranslationResponse) translate mgr key src trgt body =-  runExceptT $ translate' (Just key) src (Just trgt) (Just body) mgr googleApis+  runClientM (translate' (Just key) src (Just trgt) (Just body))+             (ClientEnv mgr googleApis) ------------------------------------------------------------------------------ -- | Retrieve all languages -- If `Target` specified, return langauge name in `Target` langauge.@@ -216,7 +235,8 @@   -> Maybe Target   -> IO (Either ServantError LanguageResponse) getLanguages mgr key trgt =-  runExceptT $ getLanguages' (Just key) trgt mgr googleApis+  runClientM (getLanguages' (Just key) trgt)+             (ClientEnv mgr googleApis) ------------------------------------------------------------------------------ instance Show Lang where   show Afrikaans          = "af"