diff --git a/.swiftlint.yml b/.swiftlint.yml
index 3e530b55..4f5e8b79 100644
--- a/.swiftlint.yml
+++ b/.swiftlint.yml
@@ -43,7 +43,6 @@ opt_in_rules:
- quick_discouraged_focused_test
- quick_discouraged_pending_test
- redundant_nil_coalescing
-- redundant_type_annotation
- single_test_class
- sorted_first_last
- sorted_imports
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d44867d6..f5d409b2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -21,7 +21,8 @@ If needed, pluralize to `Tasks`, `PRs` or `Authors` and list multiple entries se
### Added
- None.
### Changed
-- None.
+- Updated swift-syntax to match Swift 5.4 to support Xcode 12.5.
+ Issues: [#222](https://github.com/Flinesoft/BartyCrouch/issues/222) | PR: [#223](https://github.com/Flinesoft/BartyCrouch/pull/223) | Author: [Matt Sanford](https://github.com/mzsanford)
### Deprecated
- None.
### Removed
diff --git a/Package.resolved b/Package.resolved
index dd10338d..b47fe533 100644
--- a/Package.resolved
+++ b/Package.resolved
@@ -6,8 +6,8 @@
"repositoryURL": "https://github.com/Flinesoft/HandySwift.git",
"state": {
"branch": null,
- "revision": "4f1f96beb8a4c45b01a2479d8cbaf91bda7d1cb5",
- "version": "3.2.1"
+ "revision": "50b84f0fa735cae0e2bc3155609d4b00e2ce854c",
+ "version": "3.3.0"
}
},
{
@@ -15,7 +15,7 @@
"repositoryURL": "https://github.com/Flinesoft/Microya.git",
"state": {
"branch": "main",
- "revision": "29eb0d6fd650e99f33d26aaea44d18a042731ac5",
+ "revision": "fa994e12c0c0a383c66cb7fd644b9ec6ee534bf9",
"version": null
}
},
diff --git a/README.md b/README.md
index f07a0bfd..e53e0057 100644
--- a/README.md
+++ b/README.md
@@ -17,8 +17,8 @@
-
+
@@ -58,7 +58,7 @@ Checkout [this blog post](https://medium.com/@Jeehut/localization-in-swift-like-
## Requirements
-- Xcode 11.4+ & Swift 5.2+
+- Xcode 12.5+ & Swift 5.4+
- Xcode Command Line Tools (see [here](http://stackoverflow.com/a/9329325/3451975) for installation instructions)
## Getting Started
diff --git a/Sources/BartyCrouchTranslator/BartyCrouchTranslator.swift b/Sources/BartyCrouchTranslator/BartyCrouchTranslator.swift
index 4d888cdc..4eefa889 100644
--- a/Sources/BartyCrouchTranslator/BartyCrouchTranslator.swift
+++ b/Sources/BartyCrouchTranslator/BartyCrouchTranslator.swift
@@ -19,8 +19,8 @@ public final class BartyCrouchTranslator {
case deepL(apiKey: String)
}
- private let microsoftProvider = ApiProvider()
- private let deepLProvider = ApiProvider()
+ private let microsoftProvider = ApiProvider(baseUrl: MicrosoftTranslatorApi.baseUrl)
+ private let deepLProvider = ApiProvider(baseUrl: DeepLApi.baseUrl)
private let translationService: TranslationService
diff --git a/Sources/BartyCrouchTranslator/DeeplApi/DeepLApi.swift b/Sources/BartyCrouchTranslator/DeeplApi/DeepLApi.swift
index fc6378e2..7ab78ca4 100644
--- a/Sources/BartyCrouchTranslator/DeeplApi/DeepLApi.swift
+++ b/Sources/BartyCrouchTranslator/DeeplApi/DeepLApi.swift
@@ -33,6 +33,10 @@ enum DeepLApi {
extension DeepLApi: Endpoint {
typealias ClientErrorType = DeepLTranslateErrorResponse
+ static var baseUrl: URL {
+ URL(string: "https://api.deepl.com")!
+ }
+
var decoder: JSONDecoder {
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
@@ -43,10 +47,6 @@ extension DeepLApi: Endpoint {
JSONEncoder()
}
- var baseUrl: URL {
- URL(string: "https://api.deepl.com")!
- }
-
var subpath: String {
switch self {
case .translate:
diff --git a/Sources/BartyCrouchTranslator/MicrosoftTranslatorApi/MicrosoftTranslatorApi.swift b/Sources/BartyCrouchTranslator/MicrosoftTranslatorApi/MicrosoftTranslatorApi.swift
index 17646aa0..2f462ed5 100644
--- a/Sources/BartyCrouchTranslator/MicrosoftTranslatorApi/MicrosoftTranslatorApi.swift
+++ b/Sources/BartyCrouchTranslator/MicrosoftTranslatorApi/MicrosoftTranslatorApi.swift
@@ -33,6 +33,10 @@ enum MicrosoftTranslatorApi {
extension MicrosoftTranslatorApi: Endpoint {
typealias ClientErrorType = EmptyBodyResponse
+ static var baseUrl: URL {
+ return URL(string: "https://api.cognitive.microsofttranslator.com")!
+ }
+
var decoder: JSONDecoder {
return JSONDecoder()
}
@@ -41,10 +45,6 @@ extension MicrosoftTranslatorApi: Endpoint {
return JSONEncoder()
}
- var baseUrl: URL {
- return URL(string: "https://api.cognitive.microsofttranslator.com")!
- }
-
var subpath: String {
switch self {
case .translate:
diff --git a/Tests/BartyCrouchTranslatorTests/DeepLTranslatorApiTests.swift b/Tests/BartyCrouchTranslatorTests/DeepLTranslatorApiTests.swift
index 94be107b..ba15c743 100644
--- a/Tests/BartyCrouchTranslatorTests/DeepLTranslatorApiTests.swift
+++ b/Tests/BartyCrouchTranslatorTests/DeepLTranslatorApiTests.swift
@@ -15,7 +15,7 @@ class DeepLTranslatorApiTests: XCTestCase {
apiKey: apiKey
)
- let apiProvider = ApiProvider()
+ let apiProvider = ApiProvider(baseUrl: DeepLApi.baseUrl)
switch apiProvider.performRequestAndWait(on: endpoint, decodeBodyTo: DeepLTranslateResponse.self) {
case let .success(translateResponses):
diff --git a/Tests/BartyCrouchTranslatorTests/MicrosoftTranslatorApiTests.swift b/Tests/BartyCrouchTranslatorTests/MicrosoftTranslatorApiTests.swift
index 1502b455..7dbf99fd 100644
--- a/Tests/BartyCrouchTranslatorTests/MicrosoftTranslatorApiTests.swift
+++ b/Tests/BartyCrouchTranslatorTests/MicrosoftTranslatorApiTests.swift
@@ -21,7 +21,7 @@ class MicrosoftTranslatorApiTests: XCTestCase {
microsoftSubscriptionKey: microsoftSubscriptionKey
)
- let apiProvider = ApiProvider()
+ let apiProvider = ApiProvider(baseUrl: MicrosoftTranslatorApi.baseUrl)
switch apiProvider.performRequestAndWait(on: endpoint, decodeBodyTo: [TranslateResponse].self) {
case let .success(translateResponses):