Skip to content

Commit

Permalink
fix: Propagate @discardableResult to implementations (#719)
Browse files Browse the repository at this point in the history
* chore: Fix bugs in README-combine-support sample code
* chore: Upgrade SwiftLint, fix linting errors

refs:#713
  • Loading branch information
palpatim authored Aug 17, 2020
1 parent 2a3fb35 commit 83bd335
Show file tree
Hide file tree
Showing 16 changed files with 55 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@ extension AmplifyAPICategory: APICategoryGraphQLBehavior {

// MARK: - Request-based GraphQL operations

@discardableResult
public func query<R: Decodable>(request: GraphQLRequest<R>,
listener: GraphQLOperation<R>.ResultListener?) -> GraphQLOperation<R> {
plugin.query(request: request, listener: listener)
}

@discardableResult
public func mutate<R: Decodable>(request: GraphQLRequest<R>,
listener: GraphQLOperation<R>.ResultListener?) -> GraphQLOperation<R> {
plugin.mutate(request: request, listener: listener)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,32 @@
import Foundation

extension AmplifyAPICategory: APICategoryRESTBehavior {
@discardableResult
public func get(request: RESTRequest, listener: RESTOperation.ResultListener?) -> RESTOperation {
plugin.get(request: request, listener: listener)
}

@discardableResult
public func put(request: RESTRequest, listener: RESTOperation.ResultListener?) -> RESTOperation {
plugin.put(request: request, listener: listener)
}

@discardableResult
public func post(request: RESTRequest, listener: RESTOperation.ResultListener?) -> RESTOperation {
plugin.post(request: request, listener: listener)
}

@discardableResult
public func delete(request: RESTRequest, listener: RESTOperation.ResultListener?) -> RESTOperation {
plugin.delete(request: request, listener: listener)
}

@discardableResult
public func head(request: RESTRequest, listener: RESTOperation.ResultListener?) -> RESTOperation {
plugin.head(request: request, listener: listener)
}

@discardableResult
public func patch(request: RESTRequest, listener: RESTOperation.ResultListener?) -> RESTOperation {
plugin.patch(request: request, listener: listener)
}
Expand Down
11 changes: 11 additions & 0 deletions Amplify/Categories/Auth/AuthCategory+ClientBehavior.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import Foundation

extension AuthCategory: AuthCategoryBehavior {

@discardableResult
public func signUp(username: String,
password: String? = nil,
options: AuthSignUpOperation.Request.Options? = nil,
Expand All @@ -19,6 +20,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func confirmSignUp(for username: String,
confirmationCode: String,
options: AuthConfirmSignUpOperation.Request.Options? = nil,
Expand All @@ -29,6 +31,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func resendSignUpCode(for username: String,
options: AuthResendSignUpCodeOperation.Request.Options? = nil,
listener: AuthResendSignUpCodeOperation.ResultListener?)
Expand All @@ -38,6 +41,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func signIn(username: String? = nil,
password: String? = nil,
options: AuthSignInOperation.Request.Options? = nil,
Expand All @@ -48,6 +52,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func signInWithWebUI(presentationAnchor: AuthUIPresentationAnchor,
options: AuthWebUISignInOperation.Request.Options? = nil,
listener: AuthWebUISignInOperation.ResultListener?) -> AuthWebUISignInOperation {
Expand All @@ -56,6 +61,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func signInWithWebUI(for authProvider: AuthProvider,
presentationAnchor: AuthUIPresentationAnchor,
options: AuthSocialWebUISignInOperation.Request.Options? = nil,
Expand All @@ -67,6 +73,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func confirmSignIn(challengeResponse: String,
options: AuthConfirmSignInOperation.Request.Options? = nil,
listener: AuthConfirmSignInOperation.ResultListener?) -> AuthConfirmSignInOperation {
Expand All @@ -75,17 +82,20 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func signOut(options: AuthSignOutOperation.Request.Options? = nil,
listener: AuthSignOutOperation.ResultListener?) -> AuthSignOutOperation {
plugin.signOut(options: options, listener: listener)
}

@discardableResult
public func fetchAuthSession(options: AuthFetchSessionOperation.Request.Options? = nil,
listener: AuthFetchSessionOperation.ResultListener?) -> AuthFetchSessionOperation {
return plugin.fetchAuthSession(options: options,
listener: listener)
}

@discardableResult
public func resetPassword(for username: String,
options: AuthResetPasswordOperation.Request.Options? = nil,
listener: AuthResetPasswordOperation.ResultListener?) -> AuthResetPasswordOperation {
Expand All @@ -94,6 +104,7 @@ extension AuthCategory: AuthCategoryBehavior {
listener: listener)
}

@discardableResult
public func confirmResetPassword(for username: String,
with newPassword: String,
confirmationCode: String,
Expand Down
3 changes: 3 additions & 0 deletions Amplify/Categories/Auth/AuthCategory+DeviceBehavior.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ import Foundation

extension AuthCategory: AuthCategoryDeviceBehavior {

@discardableResult
public func fetchDevices(
options: AuthFetchDevicesOperation.Request.Options? = nil,
listener: AuthFetchDevicesOperation.ResultListener?) -> AuthFetchDevicesOperation {
return plugin.fetchDevices(options: options,
listener: listener)
}

@discardableResult
public func forgetDevice(
_ device: AuthDevice? = nil,
options: AuthForgetDeviceOperation.Request.Options? = nil,
Expand All @@ -25,6 +27,7 @@ extension AuthCategory: AuthCategoryDeviceBehavior {
listener: listener)
}

@discardableResult
public func rememberDevice(
options: AuthRememberDeviceOperation.Request.Options? = nil,
listener: AuthRememberDeviceOperation.ResultListener?) -> AuthRememberDeviceOperation {
Expand Down
6 changes: 6 additions & 0 deletions Amplify/Categories/Auth/AuthCategory+UserBehavior.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ extension AuthCategory: AuthCategoryUserBehavior {
return plugin.getCurrentUser()
}

@discardableResult
public func fetchUserAttributes(options: AuthFetchUserAttributeOperation.Request.Options? = nil,
listener: AuthFetchUserAttributeOperation.ResultListener?)
-> AuthFetchUserAttributeOperation {
return plugin.fetchUserAttributes(options: options,
listener: listener)
}

@discardableResult
public func update(userAttribute: AuthUserAttribute,
options: AuthUpdateUserAttributeOperation.Request.Options? = nil,
listener: AuthUpdateUserAttributeOperation.ResultListener?) -> AuthUpdateUserAttributeOperation {
Expand All @@ -28,6 +30,7 @@ extension AuthCategory: AuthCategoryUserBehavior {
listener: listener)
}

@discardableResult
public func update(userAttributes: [AuthUserAttribute],
options: AuthUpdateUserAttributesOperation.Request.Options? = nil,
listener: AuthUpdateUserAttributesOperation.ResultListener?)
Expand All @@ -37,6 +40,7 @@ extension AuthCategory: AuthCategoryUserBehavior {
listener: listener)
}

@discardableResult
public func resendConfirmationCode(for attributeKey: AuthUserAttributeKey,
options: AuthAttributeResendConfirmationCodeOperation.Request.Options? = nil,
listener: AuthAttributeResendConfirmationCodeOperation.ResultListener?)
Expand All @@ -47,6 +51,7 @@ extension AuthCategory: AuthCategoryUserBehavior {

}

@discardableResult
public func confirm(userAttribute: AuthUserAttributeKey,
confirmationCode: String,
options: AuthConfirmUserAttributeOperation.Request.Options? = nil,
Expand All @@ -58,6 +63,7 @@ extension AuthCategory: AuthCategoryUserBehavior {
listener: listener)
}

@discardableResult
public func update(oldPassword: String,
to newPassword: String,
options: AuthChangePasswordOperation.Request.Options? = nil,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import Foundation

extension PredictionsCategory: PredictionsCategoryBehavior {

@discardableResult
public func convert(textToSpeech: String,
options: PredictionsTextToSpeechRequest.Options? = nil,
listener: PredictionsTextToSpeechOperation.ResultListener?
Expand All @@ -18,6 +19,7 @@ extension PredictionsCategory: PredictionsCategoryBehavior {
listener: listener)
}

@discardableResult
public func convert(textToTranslate: String,
language: LanguageType?,
targetLanguage: LanguageType?,
Expand All @@ -31,13 +33,15 @@ extension PredictionsCategory: PredictionsCategoryBehavior {
listener: listener)
}

@discardableResult
public func convert(speechToText: URL,
options: PredictionsSpeechToTextRequest.Options?,
listener: PredictionsSpeechToTextOperation.ResultListener?
) -> PredictionsSpeechToTextOperation {
plugin.convert(speechToText: speechToText, options: options, listener: listener)
}

@discardableResult
public func identify(type: IdentifyAction,
image: URL,
options: PredictionsIdentifyRequest.Options? = nil,
Expand All @@ -49,6 +53,7 @@ extension PredictionsCategory: PredictionsCategoryBehavior {
listener: listener)
}

@discardableResult
public func interpret(text: String,
options: PredictionsInterpretRequest.Options? = nil,
listener: PredictionsInterpretOperation.ResultListener?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
import Foundation

extension StorageCategory: StorageCategoryBehavior {
@discardableResult
public func getURL(key: String,
options: StorageGetURLRequest.Options? = nil,
resultListener: StorageGetURLOperation.ResultListener?) -> StorageGetURLOperation {
return plugin.getURL(key: key, options: options, resultListener: resultListener)
}

@discardableResult
public func downloadData(key: String,
options: StorageDownloadDataRequest.Options? = nil,
progressListener: ProgressListener? = nil,
Expand All @@ -25,6 +27,7 @@ extension StorageCategory: StorageCategoryBehavior {
resultListener: resultListener)
}

@discardableResult
public func downloadFile(key: String,
local: URL,
options: StorageDownloadFileRequest.Options? = nil,
Expand All @@ -38,6 +41,7 @@ extension StorageCategory: StorageCategoryBehavior {
resultListener: resultListener)
}

@discardableResult
public func uploadData(key: String,
data: Data,
options: StorageUploadDataRequest.Options? = nil,
Expand All @@ -51,6 +55,7 @@ extension StorageCategory: StorageCategoryBehavior {
resultListener: resultListener)
}

@discardableResult
public func uploadFile(key: String,
local: URL,
options: StorageUploadFileRequest.Options? = nil,
Expand All @@ -64,12 +69,14 @@ extension StorageCategory: StorageCategoryBehavior {
resultListener: resultListener)
}

@discardableResult
public func remove(key: String,
options: StorageRemoveRequest.Options? = nil,
resultListener: StorageRemoveOperation.ResultListener?) -> StorageRemoveOperation {
return plugin.remove(key: key, options: options, resultListener: resultListener)
}

@discardableResult
public func list(options: StorageListRequest.Options? = nil,
resultListener: StorageListOperation.ResultListener?) -> StorageListOperation {
return plugin.list(options: options, resultListener: resultListener)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class AWSAPICategoryPluginConfigureTests: AWSAPICategoryPluginTestBase {
XCTFail("Api configuration should not succeed")
} catch {
guard let apiError = error as? PluginError,
case .pluginConfigurationError(_, _, _) = apiError else {
case .pluginConfigurationError = apiError else {
XCTFail("Should throw invalidConfiguration exception. But received \(error) ")
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class AWSPinpointAnalyticsPluginConfigureTests: AWSPinpointAnalyticsPluginTestBa
XCTFail("Analytics configuration should not succeed")
} catch {
guard let pluginError = error as? PluginError,
case .pluginConfigurationError(_, _, _) = pluginError else {
case .pluginConfigurationError = pluginError else {
XCTFail("Should throw invalidConfiguration exception. But received \(error) ")
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ extension AuthenticationProviderAdapter {
awsMobileClient.signOut(options: signOutOptions) { [weak self] error in
guard error == nil else {
let authError = AuthErrorHelper.toAuthError(error!)
if case .notAuthorized(_, _, _) = authError {
if case .notAuthorized = authError {
// signOut globally might return notAuthorized when the current token is expired or invalidated
// In this case, we just signOut the user locally and return a success result back.
self?.awsMobileClient.signOutLocally()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class AuthHubEventHandler: AuthHubEventBehavior {

case HubPayload.EventName.Auth.signOutAPI:
guard let event = payload.data as? AWSAuthSignOutOperation.OperationResult,
case .success(_) = event else {
case .success = event else {
return
}
self?.sendUserSignedOutEvent()
Expand Down Expand Up @@ -94,7 +94,7 @@ class AuthHubEventHandler: AuthHubEventBehavior {
case let .failure(authError) = tokensProvider.getCognitoTokens() else {
return
}
guard case .sessionExpired(_, _, _) = authError else {
guard case .sessionExpired = authError else {
return
}
sendSessionExpiredEvent()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ class AWSCognitoAuthPluginConfigTests: XCTestCase {
XCTFail("Auth configuration should not succeed")
} catch {
guard let pluginError = error as? PluginError,
case .pluginConfigurationError(_, _, _) = pluginError else {
case .pluginConfigurationError = pluginError else {
XCTFail("Should throw invalidConfiguration exception. But received \(error) ")
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class AWSS3StoragePluginConfigureTests: AWSS3StoragePluginTests {
XCTFail("Storage configuration should not succeed")
} catch {
guard let pluginError = error as? PluginError,
case .pluginConfigurationError(_, _, _) = pluginError else {
case .pluginConfigurationError = pluginError else {
XCTFail("Should throw invalidConfiguration exception. But received \(error) ")
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,10 +174,10 @@ public class MockAWSS3StorageService: AWSS3StorageServiceBehaviour {
XCTAssertEqual(uploadServiceKey, serviceKey)
if let uploadUploadSource = uploadUploadSource {
var uploadSourceEqual = false
if case .data(_) = uploadSource, case .data(_) = uploadUploadSource {
if case .data = uploadSource, case .data = uploadUploadSource {
uploadSourceEqual = true
}
if case .local(_) = uploadSource, case .local(_) = uploadUploadSource {
if case .local = uploadSource, case .local = uploadUploadSource {
uploadSourceEqual = true
}
XCTAssertTrue(uploadSourceEqual)
Expand All @@ -199,10 +199,10 @@ public class MockAWSS3StorageService: AWSS3StorageServiceBehaviour {
XCTAssertEqual(multiPartUploadServiceKey, serviceKey)
if let multiPartUploadUploadSource = multiPartUploadUploadSource {
var uploadSourceEqual = false
if case .data(_) = uploadSource, case .data(_) = multiPartUploadUploadSource {
if case .data = uploadSource, case .data = multiPartUploadUploadSource {
uploadSourceEqual = true
}
if case .local(_) = uploadSource, case .local(_) = multiPartUploadUploadSource {
if case .local = uploadSource, case .local = multiPartUploadUploadSource {
uploadSourceEqual = true
}
XCTAssertTrue(uploadSourceEqual)
Expand Down
Loading

0 comments on commit 83bd335

Please sign in to comment.