Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Propagate @discardableResult to implementations #719

Merged
merged 3 commits into from
Aug 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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