瀏覽代碼

Improve/use shorthand syntax for unwrapping optionals and fix typos (#12369)

Sheikh Bayazid 1 年之前
父節點
當前提交
e8a12e04c2
共有 86 個文件被更改,包括 266 次插入266 次删除
  1. 1 1
      Example/tvOSSample/tvOSSample/AuthViewController.swift
  2. 2 2
      Example/watchOSSample/ServiceExtension/NotificationService.swift
  3. 3 3
      FirebaseAnalyticsSwift/README.md
  4. 8 8
      FirebaseAppCheck/Apps/FIRAppCheckTestApp/FIRAppCheckTestApp/AppDelegate.swift
  5. 1 1
      FirebaseAppCheck/Tests/Unit/Swift/AppCheckAPITests.swift
  6. 1 1
      FirebaseAuth/Tests/Sample/SwiftApiTests/AccountInfoTests.swift
  7. 1 1
      FirebaseAuth/Tests/Sample/SwiftApiTests/EmailPasswordTests.swift
  8. 4 4
      FirebaseAuth/Tests/Sample/SwiftApiTests/FacebookTests.swift
  9. 2 2
      FirebaseAuth/Tests/Sample/SwiftApiTests/GoogleTests.swift
  10. 2 2
      FirebaseAuth/Tests/Sample/SwiftApiTests/TestsBase.swift
  11. 3 3
      FirebaseCombineSwift/DECISIONS.md
  12. 1 1
      FirebaseCombineSwift/README.md
  13. 26 26
      FirebaseCombineSwift/Sources/Auth/Auth+Combine.swift
  14. 2 2
      FirebaseCombineSwift/Sources/Auth/GameCenterAuthProvider+Combine.swift
  15. 5 5
      FirebaseCombineSwift/Sources/Auth/MultiFactor+Combine.swift
  16. 2 2
      FirebaseCombineSwift/Sources/Auth/MultiFactorResolver+Combine.swift
  17. 2 2
      FirebaseCombineSwift/Sources/Auth/OAuthProvider+Combine.swift
  18. 6 6
      FirebaseCombineSwift/Sources/Auth/PhoneAuthProvider+Combine.swift
  19. 8 8
      FirebaseCombineSwift/Sources/Auth/User+Combine.swift
  20. 4 4
      FirebaseCombineSwift/Sources/Firestore/CollectionReference+Combine.swift
  21. 12 12
      FirebaseCombineSwift/Sources/Firestore/DocumentReference+Combine.swift
  22. 4 4
      FirebaseCombineSwift/Sources/Firestore/Query+Combine.swift
  23. 1 1
      FirebaseCombineSwift/Sources/Firestore/Transaction+Combine.swift
  24. 1 1
      FirebaseCombineSwift/Sources/Firestore/WriteBatch+Combine.swift
  25. 4 4
      FirebaseCombineSwift/Sources/Functions/HTTPSCallable+Combine.swift
  26. 1 1
      FirebaseCombineSwift/Sources/Storage/StorageReference+Combine.swift
  27. 1 1
      FirebaseCombineSwift/Tests/Integration/Storage/StorageIntegration.swift
  28. 4 4
      FirebaseCombineSwift/Tests/Unit/Auth/AuthStateDidChangePublisherTests.swift
  29. 4 4
      FirebaseCombineSwift/Tests/Unit/Auth/IDTokenDidChangePublisherTests.swift
  30. 1 1
      FirebaseCombineSwift/Tests/Unit/Auth/SignInWithGameCenterTests.swift
  31. 2 2
      FirebaseCombineSwift/Tests/Unit/AuthBackend+Combine.swift
  32. 1 1
      FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatStorage.swift
  33. 2 2
      FirebaseCore/Internal/Sources/HeartbeatLogging/Storage.swift
  34. 2 2
      FirebaseCore/Internal/Tests/Unit/HeartbeatStorageTests.swift
  35. 1 1
      FirebaseDatabase/Swift/Sources/Codable/DatabaseReference+WriteEncodable.swift
  36. 1 1
      FirebaseDatabase/Swift/Sources/Codable/ServerTimestamp.swift
  37. 2 2
      FirebaseFunctions/Sources/Callable+Codable.swift
  38. 5 5
      FirebaseFunctions/Sources/Functions.swift
  39. 2 2
      FirebaseFunctions/Sources/FunctionsError.swift
  40. 1 1
      FirebaseFunctions/Sources/HTTPSCallable.swift
  41. 2 2
      FirebaseFunctions/Sources/Internal/FunctionsContext.swift
  42. 1 1
      FirebaseFunctions/Sources/Internal/FunctionsSerializer.swift
  43. 3 3
      FirebaseFunctions/Tests/Unit/FunctionsAPITests.swift
  44. 1 1
      FirebaseInAppMessaging/Swift/Source/SwiftUIPreviewHelpers.swift
  45. 2 2
      FirebaseInstallations/Source/Tests/Unit/Swift/InstallationsAPITests.swift
  46. 1 1
      FirebaseMLModelDownloader/Sources/ModelDownloader.swift
  47. 1 1
      FirebaseMLModelDownloader/Sources/ModelFileManager.swift
  48. 3 3
      FirebaseMLModelDownloader/Sources/ModelInfoRetriever.swift
  49. 6 6
      FirebaseMLModelDownloader/Sources/TelemetryLogger.swift
  50. 2 2
      FirebaseMessaging/Apps/AdvancedSample/NotificationServiceExtension/NotificationService.swift
  51. 1 1
      FirebaseMessaging/Tests/UnitTestsSwift/FIRMessagingAPITest.swift
  52. 3 3
      FirebaseRemoteConfigSwift/Tests/FakeConsole/FakeConsoleTests.swift
  53. 6 6
      FirebaseRemoteConfigSwift/Tests/SwiftAPI/APITests.swift
  54. 3 3
      FirebaseRemoteConfigSwift/Tests/SwiftAPI/RemoteConfigConsole.swift
  55. 1 1
      FirebaseSessions/Sources/GoogleDataTransport+GoogleDataTransportProtocol.swift
  56. 5 5
      FirebaseSessions/Sources/Installations+InstallationsProtocol.swift
  57. 2 2
      FirebaseSessions/Sources/Settings/SettingsDownloadClient.swift
  58. 1 1
      FirebaseStorage/Sources/Internal/StorageDeleteTask.swift
  59. 2 2
      FirebaseStorage/Sources/Internal/StorageGetDownloadURLTask.swift
  60. 2 2
      FirebaseStorage/Sources/Internal/StorageGetMetadataTask.swift
  61. 4 4
      FirebaseStorage/Sources/Internal/StorageListTask.swift
  62. 1 1
      FirebaseStorage/Sources/Internal/StoragePath.swift
  63. 3 3
      FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift
  64. 2 2
      FirebaseStorage/Sources/Internal/StorageUpdateMetadataTask.swift
  65. 1 1
      FirebaseStorage/Sources/Internal/StorageUtils.swift
  66. 2 2
      FirebaseStorage/Sources/Result.swift
  67. 4 4
      FirebaseStorage/Sources/StorageDownloadTask.swift
  68. 1 1
      FirebaseStorage/Sources/StorageError.swift
  69. 4 4
      FirebaseStorage/Sources/StorageReference.swift
  70. 4 4
      FirebaseStorage/Sources/StorageUploadTask.swift
  71. 1 1
      FirebaseStorage/Tests/Integration/StorageAsyncAwait.swift
  72. 1 1
      FirebaseStorage/Tests/Integration/StorageIntegration.swift
  73. 1 1
      FirebaseStorage/Tests/Integration/StorageIntegrationCommon.swift
  74. 4 4
      FirebaseStorage/Tests/Unit/StorageTestHelpers.swift
  75. 2 2
      Firestore/Swift/Source/AsyncAwait/CollectionReference+AsyncAwait.swift
  76. 6 6
      Firestore/Swift/Source/AsyncAwait/Firestore+AsyncAwait.swift
  77. 2 2
      Firestore/Swift/Source/Codable/DocumentID.swift
  78. 1 1
      Firestore/Swift/Source/Codable/DocumentReference+Codable.swift
  79. 1 1
      Firestore/Swift/Source/Codable/EncoderDecoder.swift
  80. 1 1
      Firestore/Swift/Source/Codable/ExplicitNull.swift
  81. 1 1
      Firestore/Swift/Source/Codable/ServerTimestamp.swift
  82. 2 2
      Firestore/Swift/Source/PropertyWrapper/FirestoreQuery.swift
  83. 2 2
      Firestore/Swift/Source/PropertyWrapper/FirestoreQueryObservable.swift
  84. 23 23
      Firestore/Swift/Tests/API/BasicCompileTests.swift
  85. 2 2
      Firestore/Swift/Tests/Codable/FirestoreEncoderTests.swift
  86. 6 6
      Firestore/Swift/Tests/Integration/CodableIntegrationTests.swift

+ 1 - 1
Example/tvOSSample/tvOSSample/AuthViewController.swift

@@ -55,7 +55,7 @@ class AuthViewController: UIViewController {
   // MARK: - Internal Helpers
 
   private func setUserSignedIn(_ user: User?) {
-    if let user = user {
+    if let user {
       providers.isHidden = true
       signedIn.isHidden = false
 

+ 2 - 2
Example/watchOSSample/ServiceExtension/NotificationService.swift

@@ -25,7 +25,7 @@ class NotificationService: UNNotificationServiceExtension {
     self.contentHandler = contentHandler
     bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
 
-    if let bestAttemptContent = bestAttemptContent {
+    if let bestAttemptContent {
       // Modify the notification content here...
       bestAttemptContent.title = "\(bestAttemptContent.title) 👩‍💻"
 
@@ -39,7 +39,7 @@ class NotificationService: UNNotificationServiceExtension {
     // Called just before the extension will be terminated by the system.
     // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the
     // original push payload will be used.
-    if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
+    if let contentHandler, let bestAttemptContent {
       contentHandler(bestAttemptContent)
     }
   }

+ 3 - 3
FirebaseAnalyticsSwift/README.md

@@ -90,11 +90,11 @@ extension View {
     func analyticsScreen(name: String, class screenClass: String? = nil, extraParameters: [String: Any]? = nil) -> some View {
         onAppear {
             var params: [String: Any] = [AnalyticsParameterScreenName: name]
-            if let screenClass = screenClass {
+            if let screenClass {
                 params[AnalyticsParameterScreenClass] = screenClass
             }
-            if let extraParams = extraParameters {
-                params.merge(extraParams) { _, new in new }
+            if let extraParameters {
+                params.merge(extraParameters) { _, new in new }
             }
             Analytics.logEvent(AnalyticsEventScreenView, parameters: params)
         }

+ 8 - 8
FirebaseAppCheck/Apps/FIRAppCheckTestApp/FIRAppCheckTestApp/AppDelegate.swift

@@ -72,11 +72,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     }
 
     DeviceCheckProvider(app: firebaseApp)?.getToken { token, error in
-      if let token = token {
+      if let token {
         print("DeviceCheck token: \(token.token), expiration date: \(token.expirationDate)")
       }
 
-      if let error = error {
+      if let error {
         print("DeviceCheck error: \((error as NSError).userInfo)")
       }
     }
@@ -91,11 +91,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
       print("Debug token: \(debugProvider.currentDebugToken())")
 
       debugProvider.getToken { token, error in
-        if let token = token {
+        if let token {
           print("Debug FAC token: \(token.token), expiration date: \(token.expirationDate)")
         }
 
-        if let error = error {
+        if let error {
           print("Debug error: \(error)")
         }
       }
@@ -106,11 +106,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
   func requestLimitedUseToken() {
     AppCheck.appCheck().limitedUseToken { result, error in
-      if let result = result {
+      if let result {
         print("FAC limited-use token: \(result.token), expiration date: \(result.expirationDate)")
       }
 
-      if let error = error {
+      if let error {
         print("Error: \(String(describing: error))")
       }
     }
@@ -128,11 +128,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     }
 
     appAttestProvider.getToken { token, error in
-      if let token = token {
+      if let token {
         print("App Attest FAC token: \(token.token), expiration date: \(token.expirationDate)")
       }
 
-      if let error = error {
+      if let error {
         print("App Attest error: \(error)")
       }
     }

+ 1 - 1
FirebaseAppCheck/Tests/Unit/Swift/AppCheckAPITests.swift

@@ -119,7 +119,7 @@ final class AppCheckAPITests {
     // MARK: - AppCheckErrors
 
     AppCheck.appCheck().token(forcingRefresh: false) { _, error in
-      if let error = error {
+      if let error {
         switch error {
         case AppCheckErrorCode.unknown:
           break

+ 1 - 1
FirebaseAuth/Tests/Sample/SwiftApiTests/AccountInfoTests.swift

@@ -43,7 +43,7 @@ class AccountInfoTests: TestsBase {
     let auth = Auth.auth()
     let expectation1 = expectation(description: "Created account with email and password.")
     auth.createUser(withEmail: kOldUserEmail, password: "password") { user, error in
-      if let error = error {
+      if let error {
         XCTAssertEqual((error as NSError).code,
                        AuthErrorCode.emailAlreadyInUse.rawValue,
                        "Created a user despite it already exiting.")

+ 1 - 1
FirebaseAuth/Tests/Sample/SwiftApiTests/EmailPasswordTests.swift

@@ -29,7 +29,7 @@ class EmailPasswordTests: TestsBase {
     let auth = Auth.auth()
     let expectation = self.expectation(description: "Created account with email and password.")
     auth.createUser(withEmail: kNewEmailToCreateUser, password: "password") { result, error in
-      if let error = error {
+      if let error {
         print("createUserWithEmail has error: \(error)")
       }
       expectation.fulfill()

+ 4 - 4
FirebaseAuth/Tests/Sample/SwiftApiTests/FacebookTests.swift

@@ -30,7 +30,7 @@ import XCTest
 //    let credential = FacebookAuthProvider.credential(withAccessToken: facebookAccessToken)
 //    let expectation = self.expectation(description: "Signing in with Facebook finished.")
 //    auth.signIn(with: credential) { result, error in
-//      if let error = error {
+//      if let error {
 //        XCTFail("Signing in with Facebook had error: \(error)")
 //      } else {
 //        XCTAssertEqual(auth.currentUser?.displayName, Credentials.kFacebookUserName)
@@ -69,7 +69,7 @@ import XCTest
 //    let credential = FacebookAuthProvider.credential(withAccessToken: facebookAccessToken)
 //    let expectation = self.expectation(description: "Facebook linking finished.")
 //    auth.currentUser?.link(with: credential, completion: { result, error in
-//      if let error = error {
+//      if let error {
 //        XCTFail("Link to Firebase error: \(error)")
 //      } else {
 //        guard let providers = (auth.currentUser?.providerData) else {
@@ -124,7 +124,7 @@ import XCTest
 //    fetcher.setRequestValue("text/plain", forHTTPHeaderField: "Content-Type")
 //    let expectation = self.expectation(description: "Creating Facebook account finished.")
 //    fetcher.beginFetch { data, error in
-//      if let error = error {
+//      if let error {
 //        let error = error as NSError
 //        if let message = String(data: error.userInfo["data"] as! Data, encoding: .utf8) {
 //          // May get transient errors here for too many api calls when tests run frequently.
@@ -181,7 +181,7 @@ import XCTest
 //    fetcher.setRequestValue("text/plain", forHTTPHeaderField: "Content-Type")
 //    let expectation = self.expectation(description: "Deleting Facebook account finished.")
 //    fetcher.beginFetch { data, error in
-//      if let error = error {
+//      if let error {
 //        XCTFail("Deleting Facebook account failed with error: \(error)")
 //      }
 //      expectation.fulfill()

+ 2 - 2
FirebaseAuth/Tests/Sample/SwiftApiTests/GoogleTests.swift

@@ -29,7 +29,7 @@ class GoogleTests: TestsBase {
                                                    accessToken: googleAccessToken)
     let expectation = self.expectation(description: "Signing in with Google finished.")
     auth.signIn(with: credential) { result, error in
-      if let error = error {
+      if let error {
         print("Signing in with Google had error: \(error)")
       }
       expectation.fulfill()
@@ -65,7 +65,7 @@ class GoogleTests: TestsBase {
     fetcher.setRequestValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
     let expectation = self.expectation(description: "Exchanging Google account tokens finished.")
     fetcher.beginFetch { data, error in
-      if let error = error {
+      if let error {
         XCTFail("Exchanging Google account tokens finished with error: \(error)")
       } else {
         do {

+ 2 - 2
FirebaseAuth/Tests/Sample/SwiftApiTests/TestsBase.swift

@@ -38,7 +38,7 @@ class TestsBase: XCTestCase {
 
     let expectation = self.expectation(description: "Anonymous sign-in finished.")
     auth.signInAnonymously { result, error in
-      if let error = error {
+      if let error {
         print("Anonymous sign in error: \(error)")
       }
       expectation.fulfill()
@@ -59,7 +59,7 @@ class TestsBase: XCTestCase {
     let auth = Auth.auth()
     let expectation = self.expectation(description: "Delete current user finished.")
     auth.currentUser?.delete { error in
-      if let error = error {
+      if let error {
         print("Anonymous sign in error: \(error)")
       }
       expectation.fulfill()

+ 3 - 3
FirebaseCombineSwift/DECISIONS.md

@@ -28,9 +28,9 @@ extension Auth {
                            password: String) -> Future<AuthDataResult, Error> {
       Future<AuthDataResult, Error> { /* [weak self]  <-- not required */ promise in
         self?.createUser(withEmail: email, password: password) { authDataResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authDataResult = authDataResult {
+          } else if let authDataResult {
             promise(.success(authDataResult))
           }
         }
@@ -59,4 +59,4 @@ Using the same method and parameter names for one-shot asynchronous methods resu
 
 ![image](https://user-images.githubusercontent.com/232107/99672274-76f05680-2a73-11eb-880a-3563f293de7d.png)
 
-To achieve the same for methods that return a stream of events, we'd have to name those `addXzyListener`. This would be in contrast to Apple's naming scheme (e.g. `dataTask(with:completionHandler)` -> `dataTaskPublisher(for:)`
+To achieve the same for methods that return a stream of events, we'd have to name those `addXzyListener`. This would be in contrast to Apple's naming scheme (e.g. `dataTask(with:completionHandler)` -> `dataTaskPublisher(for:)`

+ 1 - 1
FirebaseCombineSwift/README.md

@@ -78,7 +78,7 @@ In the `sign(_:didSignInFor:withError:)` method, get a Google ID token and Googl
 ```swift
   func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error?) {
     // ...
-    if let error = error {
+    if let error {
       // ...
       return
     }

+ 26 - 26
FirebaseCombineSwift/Sources/Auth/Auth+Combine.swift

@@ -86,7 +86,7 @@ public extension Auth {
   func updateCurrentUser(_ user: User) -> Future<Void, Error> {
     Future<Void, Error> { promise in
       self.updateCurrentUser(user) { error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
         } else {
           promise(.success(()))
@@ -117,9 +117,9 @@ public extension Auth {
   func signInAnonymously() -> Future<AuthDataResult, Error> {
     Future<AuthDataResult, Error> { promise in
       self.signInAnonymously { authDataResult, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let authDataResult = authDataResult {
+        } else if let authDataResult {
           promise(.success(authDataResult))
         }
       }
@@ -155,9 +155,9 @@ public extension Auth {
                   password: String) -> Future<AuthDataResult, Error> {
     Future<AuthDataResult, Error> { promise in
       self.createUser(withEmail: email, password: password) { authDataResult, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let authDataResult = authDataResult {
+        } else if let authDataResult {
           promise(.success(authDataResult))
         }
       }
@@ -189,9 +189,9 @@ public extension Auth {
               password: String) -> Future<AuthDataResult, Error> {
     Future<AuthDataResult, Error> { promise in
       self.signIn(withEmail: email, password: password) { authDataResult, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let authDataResult = authDataResult {
+        } else if let authDataResult {
           promise(.success(authDataResult))
         }
       }
@@ -224,9 +224,9 @@ public extension Auth {
               link: String) -> Future<AuthDataResult, Error> {
     Future<AuthDataResult, Error> { promise in
       self.signIn(withEmail: email, link: link) { authDataResult, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let authDataResult = authDataResult {
+        } else if let authDataResult {
           promise(.success(authDataResult))
         }
       }
@@ -249,7 +249,7 @@ public extension Auth {
                       actionCodeSettings: ActionCodeSettings) -> Future<Void, Error> {
     Future<Void, Error> { promise in
       self.sendSignInLink(toEmail: email, actionCodeSettings: actionCodeSettings) { error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
         } else {
           promise(.success(()))
@@ -274,9 +274,9 @@ public extension Auth {
   func fetchSignInMethods(forEmail email: String) -> Future<[String], Error> {
     Future<[String], Error> { promise in
       self.fetchSignInMethods(forEmail: email) { signInMethods, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let signInMethods = signInMethods {
+        } else if let signInMethods {
           promise(.success(signInMethods))
         }
       }
@@ -309,7 +309,7 @@ public extension Auth {
                             newPassword: String) -> Future<Void, Error> {
     Future<Void, Error> { promise in
       self.confirmPasswordReset(withCode: code, newPassword: newPassword) { error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
         } else {
           promise(.success(()))
@@ -332,9 +332,9 @@ public extension Auth {
   func verifyPasswordResetCode(_ code: String) -> Future<String, Error> {
     Future<String, Error> { promise in
       self.verifyPasswordResetCode(code) { email, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let email = email {
+        } else if let email {
           promise(.success(email))
         }
       }
@@ -353,9 +353,9 @@ public extension Auth {
   func checkActionCode(code: String) -> Future<ActionCodeInfo, Error> {
     Future<ActionCodeInfo, Error> { promise in
       self.checkActionCode(code) { actionCodeInfo, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let actionCodeInfo = actionCodeInfo {
+        } else if let actionCodeInfo {
           promise(.success(actionCodeInfo))
         }
       }
@@ -376,7 +376,7 @@ public extension Auth {
   func applyActionCode(code: String) -> Future<Void, Error> {
     Future<Void, Error> { promise in
       self.applyActionCode(code) { error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
         } else {
           promise(.success(()))
@@ -405,7 +405,7 @@ public extension Auth {
   func sendPasswordReset(withEmail email: String) -> Future<Void, Error> {
     Future<Void, Error> { promise in
       self.sendPasswordReset(withEmail: email) { error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
         } else {
           promise(.success(()))
@@ -448,7 +448,7 @@ public extension Auth {
                          actionCodeSettings: ActionCodeSettings) -> Future<Void, Error> {
     Future<Void, Error> { promise in
       self.sendPasswordReset(withEmail: email, actionCodeSettings: actionCodeSettings) { error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
         } else {
           promise(.success(()))
@@ -506,9 +506,9 @@ public extension Auth {
                 uiDelegate: AuthUIDelegate?) -> Future<AuthDataResult, Error> {
       Future<AuthDataResult, Error> { promise in
         self.signIn(with: provider, uiDelegate: uiDelegate) { authDataResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authDataResult = authDataResult {
+          } else if let authDataResult {
             promise(.success(authDataResult))
           }
         }
@@ -534,9 +534,9 @@ public extension Auth {
   func signIn(withCustomToken token: String) -> Future<AuthDataResult, Error> {
     Future<AuthDataResult, Error> { promise in
       self.signIn(withCustomToken: token) { authDataResult, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let authDataResult = authDataResult {
+        } else if let authDataResult {
           promise(.success(authDataResult))
         }
       }
@@ -583,9 +583,9 @@ public extension Auth {
   func signIn(with credential: AuthCredential) -> Future<AuthDataResult, Error> {
     Future<AuthDataResult, Error> { promise in
       self.signIn(with: credential) { authDataResult, error in
-        if let error = error {
+        if let error {
           promise(.failure(error))
-        } else if let authDataResult = authDataResult {
+        } else if let authDataResult {
           promise(.success(authDataResult))
         }
       }

+ 2 - 2
FirebaseCombineSwift/Sources/Auth/GameCenterAuthProvider+Combine.swift

@@ -30,9 +30,9 @@
     class func getCredential() -> Future<AuthCredential, Error> {
       Future<AuthCredential, Error> { promise in
         self.getCredential { authCredential, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authCredential = authCredential {
+          } else if let authCredential {
             promise(.success(authCredential))
           }
         }

+ 5 - 5
FirebaseCombineSwift/Sources/Auth/MultiFactor+Combine.swift

@@ -34,9 +34,9 @@
     func getSession() -> Future<MultiFactorSession, Error> {
       Future<MultiFactorSession, Error> { promise in
         self.getSessionWithCompletion { session, error in
-          if let session = session {
+          if let session {
             promise(.success(session))
-          } else if let error = error {
+          } else if let error {
             promise(.failure(error))
           }
         }
@@ -59,7 +59,7 @@
                 displayName: String?) -> Future<Void, Error> {
       Future<Void, Error> { promise in
         self.enroll(with: assertion, displayName: displayName) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -81,7 +81,7 @@
     func unenroll(with factorInfo: MultiFactorInfo) -> Future<Void, Error> {
       Future<Void, Error> { promise in
         self.unenroll(with: factorInfo) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -101,7 +101,7 @@
     func unenroll(withFactorUID factorUID: String) -> Future<Void, Error> {
       Future<Void, Error> { promise in
         self.unenroll(withFactorUID: factorUID) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))

+ 2 - 2
FirebaseCombineSwift/Sources/Auth/MultiFactorResolver+Combine.swift

@@ -33,9 +33,9 @@
       -> Future<AuthDataResult, Error> {
       Future<AuthDataResult, Error> { promise in
         self.resolveSignIn(with: assertion) { authDataResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authDataResult = authDataResult {
+          } else if let authDataResult {
             promise(.success(authDataResult))
           }
         }

+ 2 - 2
FirebaseCombineSwift/Sources/Auth/OAuthProvider+Combine.swift

@@ -33,9 +33,9 @@
       -> Future<AuthCredential, Error> {
       Future<AuthCredential, Error> { promise in
         self.getCredentialWith(uiDelegate) { authCredential, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authCredential = authCredential {
+          } else if let authCredential {
             promise(.success(authCredential))
           }
         }

+ 6 - 6
FirebaseCombineSwift/Sources/Auth/PhoneAuthProvider+Combine.swift

@@ -54,9 +54,9 @@
       -> Future<String, Error> {
       Future<String, Error> { promise in
         self.verifyPhoneNumber(phoneNumber, uiDelegate: uiDelegate) { verificationID, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let verificationID = verificationID {
+          } else if let verificationID {
             promise(.success(verificationID))
           }
         }
@@ -99,9 +99,9 @@
           uiDelegate: uiDelegate,
           multiFactorSession: multiFactorSession
         ) { verificationID, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let verificationID = verificationID {
+          } else if let verificationID {
             promise(.success(verificationID))
           }
         }
@@ -131,9 +131,9 @@
         self.verifyPhoneNumber(with: phoneMultiFactorInfo,
                                uiDelegate: uiDelegate,
                                multiFactorSession: multiFactorSession) { verificationID, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let verificationID = verificationID {
+          } else if let verificationID {
             promise(.success(verificationID))
           }
         }

+ 8 - 8
FirebaseCombineSwift/Sources/Auth/User+Combine.swift

@@ -41,9 +41,9 @@
     func link(with credential: AuthCredential) -> Future<AuthDataResult, Error> {
       Future<AuthDataResult, Error> { promise in
         self.link(with: credential) { authDataResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authDataResult = authDataResult {
+          } else if let authDataResult {
             promise(.success(authDataResult))
           }
         }
@@ -89,9 +89,9 @@
     func reauthenticate(with credential: AuthCredential) -> Future<AuthDataResult, Error> {
       Future<AuthDataResult, Error> { promise in
         self.reauthenticate(with: credential) { authDataResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let authDataResult = authDataResult {
+          } else if let authDataResult {
             promise(.success(authDataResult))
           }
         }
@@ -119,9 +119,9 @@
     func unlink(fromProvider provider: String) -> Future<User, Error> {
       Future<User, Error> { promise in
         self.unlink(fromProvider: provider) { user, error in
-          if let user = user {
+          if let user {
             promise(.success(user))
-          } else if let error = error {
+          } else if let error {
             promise(.failure(error))
           }
         }
@@ -149,7 +149,7 @@
     func sendEmailVerification() -> Future<Void, Error> {
       Future<Void, Error> { promise in
         self.sendEmailVerification { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -188,7 +188,7 @@
       -> Future<Void, Error> {
       Future<Void, Error> { promise in
         self.sendEmailVerification(with: actionCodeSettings) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))

+ 4 - 4
FirebaseCombineSwift/Sources/Firestore/CollectionReference+Combine.swift

@@ -40,9 +40,9 @@
       var reference: DocumentReference?
       return Future { promise in
         reference = self.addDocument(data: data) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let reference = reference {
+          } else if let reference {
             promise(.success(reference))
           }
         }
@@ -70,9 +70,9 @@
         return Future { promise in
           do {
             try reference = self.addDocument(from: value, encoder: encoder) { error in
-              if let error = error {
+              if let error {
                 promise(.failure(error))
-              } else if let reference = reference {
+              } else if let reference {
                 promise(.success(reference))
               }
             }

+ 12 - 12
FirebaseCombineSwift/Sources/Firestore/DocumentReference+Combine.swift

@@ -39,7 +39,7 @@
     func setData(_ documentData: [String: Any]) -> Future<Void, Error> {
       Future { promise in
         self.setData(documentData) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -62,7 +62,7 @@
     func setData(_ documentData: [String: Any], merge: Bool) -> Future<Void, Error> {
       Future { promise in
         self.setData(documentData, merge: merge) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -88,7 +88,7 @@
     func setData(_ documentData: [String: Any], mergeFields: [Any]) -> Future<Void, Error> {
       Future { promise in
         self.setData(documentData, mergeFields: mergeFields) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -117,7 +117,7 @@
         Future { promise in
           do {
             try self.setData(from: value, encoder: encoder) { error in
-              if let error = error {
+              if let error {
                 promise(.failure(error))
               } else {
                 promise(.success(()))
@@ -151,7 +151,7 @@
         Future { promise in
           do {
             try self.setData(from: value, merge: merge, encoder: encoder) { error in
-              if let error = error {
+              if let error {
                 promise(.failure(error))
               } else {
                 promise(.success(()))
@@ -186,7 +186,7 @@
         Future { promise in
           do {
             try self.setData(from: value, mergeFields: mergeFields, encoder: encoder) { error in
-              if let error = error {
+              if let error {
                 promise(.failure(error))
               } else {
                 promise(.success(()))
@@ -214,7 +214,7 @@
     func updateData(_ documentData: [String: Any]) -> Future<Void, Error> {
       Future { promise in
         self.updateData(documentData) { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -233,7 +233,7 @@
     func delete() -> Future<Void, Error> {
       Future { promise in
         self.delete { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))
@@ -254,9 +254,9 @@
       -> Future<DocumentSnapshot, Error> {
       Future { promise in
         self.getDocument(source: source) { snapshot, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let snapshot = snapshot {
+          } else if let snapshot {
             promise(.success(snapshot))
           }
         }
@@ -275,9 +275,9 @@
       let subject = PassthroughSubject<DocumentSnapshot, Error>()
       let listenerHandle =
         addSnapshotListener(includeMetadataChanges: includeMetadataChanges) { snapshot, error in
-          if let error = error {
+          if let error {
             subject.send(completion: .failure(error))
-          } else if let snapshot = snapshot {
+          } else if let snapshot {
             subject.send(snapshot)
           }
         }

+ 4 - 4
FirebaseCombineSwift/Sources/Firestore/Query+Combine.swift

@@ -32,9 +32,9 @@
     func getDocuments(source: FirestoreSource = .default) -> Future<QuerySnapshot, Error> {
       Future { promise in
         self.getDocuments(source: source) { snapshot, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let snapshot = snapshot {
+          } else if let snapshot {
             promise(.success(snapshot))
           }
         }
@@ -53,9 +53,9 @@
       let subject = PassthroughSubject<QuerySnapshot, Error>()
       let listenerHandle =
         addSnapshotListener(includeMetadataChanges: includeMetadataChanges) { snapshot, error in
-          if let error = error {
+          if let error {
             subject.send(completion: .failure(error))
-          } else if let snapshot = snapshot {
+          } else if let snapshot {
             subject.send(snapshot)
           }
         }

+ 1 - 1
FirebaseCombineSwift/Sources/Firestore/Transaction+Combine.swift

@@ -64,7 +64,7 @@
             return nil
           }
         }) { value, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else if let value = value as? T {
             promise(.success(value))

+ 1 - 1
FirebaseCombineSwift/Sources/Firestore/WriteBatch+Combine.swift

@@ -30,7 +30,7 @@
     func commit() -> Future<Void, Error> {
       Future { promise in
         self.commit { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(()))

+ 4 - 4
FirebaseCombineSwift/Sources/Functions/HTTPSCallable+Combine.swift

@@ -42,9 +42,9 @@
     func call() -> Future<HTTPSCallableResult, Error> {
       Future<HTTPSCallableResult, Error> { promise in
         self.call { callableResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let callableResult = callableResult {
+          } else if let callableResult {
             promise(.success(callableResult))
           }
         }
@@ -78,9 +78,9 @@
     func call(_ data: Any?) -> Future<HTTPSCallableResult, Error> {
       Future<HTTPSCallableResult, Error> { promise in
         self.call(data) { callableResult, error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
-          } else if let callableResult = callableResult {
+          } else if let callableResult {
             promise(.success(callableResult))
           }
         }

+ 1 - 1
FirebaseCombineSwift/Sources/Storage/StorageReference+Combine.swift

@@ -276,7 +276,7 @@
     func delete() -> Future<Bool, Error> {
       Future<Bool, Error> { promise in
         self.delete { error in
-          if let error = error {
+          if let error {
             promise(.failure(error))
           } else {
             promise(.success(true))

+ 1 - 1
FirebaseCombineSwift/Tests/Integration/Storage/StorageIntegration.swift

@@ -633,7 +633,7 @@ class StorageIntegration: XCTestCase {
     let kFIRStorageIntegrationTestTimeout = 30.0
     waitForExpectations(timeout: kFIRStorageIntegrationTestTimeout,
                         handler: { error in
-                          if let error = error {
+                          if let error {
                             print(error)
                           }
                         })

+ 4 - 4
FirebaseCombineSwift/Tests/Unit/Auth/AuthStateDidChangePublisherTests.swift

@@ -171,7 +171,7 @@ class AuthStateDidChangePublisherTests: XCTestCase {
       .sink { user in
         print("Running on the main thread? \(Thread.isMainThread)")
 
-        if let user = user, user.isAnonymous {
+        if let user, user.isAnonymous {
           signedInExpectation.fulfill()
         }
       }
@@ -191,7 +191,7 @@ class AuthStateDidChangePublisherTests: XCTestCase {
 
     let cancellable = Auth.auth().authStateDidChangePublisher()
       .sink { user in
-        if let user = user, user.isAnonymous {
+        if let user, user.isAnonymous {
           expect.fulfill()
         }
       }
@@ -225,7 +225,7 @@ class AuthStateDidChangePublisherTests: XCTestCase {
             expect.fulfill()
           }
         } else {
-          if let user = user, user.isAnonymous {
+          if let user, user.isAnonymous {
             expect.fulfill()
           }
         }
@@ -261,7 +261,7 @@ class AuthStateDidChangePublisherTests: XCTestCase {
             expect.fulfill()
           }
         } else {
-          if let user = user, user.isAnonymous {
+          if let user, user.isAnonymous {
             expect.fulfill()
           }
         }

+ 4 - 4
FirebaseCombineSwift/Tests/Unit/Auth/IDTokenDidChangePublisherTests.swift

@@ -113,7 +113,7 @@ class IDTokenDidChangePublisherTests: XCTestCase {
     cancellable = Auth.auth()
       .idTokenDidChangePublisher()
       .sink { user in
-        if let user = user, user.isAnonymous {
+        if let user, user.isAnonymous {
           expect.fulfill()
         }
       }
@@ -129,7 +129,7 @@ class IDTokenDidChangePublisherTests: XCTestCase {
     cancellable = Auth.auth()
       .idTokenDidChangePublisher()
       .sink { user in
-        if let user = user, user.isAnonymous {
+        if let user, user.isAnonymous {
           print(#function)
           expect.fulfill()
         }
@@ -161,7 +161,7 @@ class IDTokenDidChangePublisherTests: XCTestCase {
             expect.fulfill()
           }
         } else {
-          if let user = user, user.isAnonymous {
+          if let user, user.isAnonymous {
             expect.fulfill()
           }
         }
@@ -195,7 +195,7 @@ class IDTokenDidChangePublisherTests: XCTestCase {
             expect.fulfill()
           }
         } else {
-          if let user = user, user.isAnonymous {
+          if let user, user.isAnonymous {
             expect.fulfill()
           }
         }

+ 1 - 1
FirebaseCombineSwift/Tests/Unit/Auth/SignInWithGameCenterTests.swift

@@ -73,7 +73,7 @@ class SignInWithGameCenterTests: XCTestCase {
                         body: Data?, contentType: String,
                         completionHandler handler: @escaping FIRAuthBackendRPCIssuerCompletionHandler) {
       requestURL = URL
-      if let body = body {
+      if let body {
         requestData = body
         let json = try! JSONSerialization
           .jsonObject(with: body, options: []) as! [String: Any]

+ 2 - 2
FirebaseCombineSwift/Tests/Unit/AuthBackend+Combine.swift

@@ -22,9 +22,9 @@ extension FIRAuthBackend {
     -> Future<FIRSignInWithGameCenterResponse, Error> {
     Future { promise in
       self.signIn(withGameCenter: request) { response, error in
-        if let response = response {
+        if let response {
           promise(.success(response))
-        } else if let error = error {
+        } else if let error {
           promise(.failure(error))
         }
       }

+ 1 - 1
FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatStorage.swift

@@ -153,7 +153,7 @@ final class HeartbeatStorage: HeartbeatStorageProtocol {
   ///   - heartbeatsBundle: The heartbeats bundle to encode and save.
   ///   - storage: The storage container to write to.
   private func save(_ heartbeatsBundle: HeartbeatsBundle?, to storage: Storage) throws {
-    if let heartbeatsBundle = heartbeatsBundle {
+    if let heartbeatsBundle {
       let data = try heartbeatsBundle.encoded(using: encoder)
       try storage.write(data)
     } else {

+ 2 - 2
FirebaseCore/Internal/Sources/HeartbeatLogging/Storage.swift

@@ -71,7 +71,7 @@ final class FileStorage: Storage {
   func write(_ data: Data?) throws {
     do {
       try createDirectories(in: url.deletingLastPathComponent())
-      if let data = data {
+      if let data {
         try data.write(to: url, options: .atomic)
       } else {
         let emptyData = Data()
@@ -136,7 +136,7 @@ final class UserDefaultsStorage: Storage {
   ///
   /// - Parameter data: The `Data?` to write to this object's associated defaults.
   func write(_ data: Data?) throws {
-    if let data = data {
+    if let data {
       defaults.set(data, forKey: key)
     } else {
       defaults.removeObject(forKey: key)

+ 2 - 2
FirebaseCore/Internal/Tests/Unit/HeartbeatStorageTests.swift

@@ -283,7 +283,7 @@ private class StorageFake: Storage {
   var onWrite: ((Data?) throws -> Void)?
 
   func read() throws -> Data {
-    if let onRead = onRead {
+    if let onRead {
       return try onRead()
     } else if let data = fakeFile {
       return data
@@ -293,7 +293,7 @@ private class StorageFake: Storage {
   }
 
   func write(_ data: Data?) throws {
-    if let onWrite = onWrite {
+    if let onWrite {
       return try onWrite(data)
     } else {
       fakeFile = data

+ 1 - 1
FirebaseDatabase/Swift/Sources/Codable/DatabaseReference+WriteEncodable.swift

@@ -39,7 +39,7 @@ public extension DatabaseReference {
                               completion: ((Error?) -> Void)? =
                                 nil) throws {
     let encoded = try encoder.encode(value)
-    if let completion = completion {
+    if let completion {
       setValue(encoded, withCompletionBlock: { error, _ in completion(error) })
     } else {
       setValue(encoded)

+ 1 - 1
FirebaseDatabase/Swift/Sources/Codable/ServerTimestamp.swift

@@ -59,7 +59,7 @@ public struct ServerTimestamp: Codable, Equatable, Hashable {
 
   public func encode(to encoder: Encoder) throws {
     var container = encoder.singleValueContainer()
-    if let value = value {
+    if let value {
       let interval = value.timeIntervalSince1970
       try container.encode(Int(interval * 1000))
     } else {

+ 2 - 2
FirebaseFunctions/Sources/Callable+Codable.swift

@@ -64,10 +64,10 @@ public struct Callable<Request: Encodable, Response: Decodable> {
 
       callable.call(encoded) { result, error in
         do {
-          if let result = result {
+          if let result {
             let decoded = try decoder.decode(Response.self, from: result.data)
             completion(.success(decoded))
-          } else if let error = error {
+          } else if let error {
             completion(.failure(error))
           } else {
             completion(.failure(CallableError.internalError))

+ 5 - 5
FirebaseFunctions/Sources/Functions.swift

@@ -347,12 +347,12 @@ enum FunctionsConstants {
     assert(!name.isEmpty, "Name cannot be empty")
 
     // Check if we're using the emulator
-    if let emulatorOrigin = emulatorOrigin {
+    if let emulatorOrigin {
       return "\(emulatorOrigin)/\(projectID)/\(region)/\(name)"
     }
 
     // Check the custom domain.
-    if let customDomain = customDomain {
+    if let customDomain {
       return "\(customDomain)/\(name)"
     }
 
@@ -368,7 +368,7 @@ enum FunctionsConstants {
     contextProvider.getContext(options: options) { context, error in
       // Note: context is always non-nil since some checks could succeed, we're only failing if
       // there's an error.
-      if let error = error {
+      if let error {
         completion(.failure(error))
       } else {
         let url = self.urlWithName(name)
@@ -391,7 +391,7 @@ enum FunctionsConstants {
     contextProvider.getContext(options: options) { context, error in
       // Note: context is always non-nil since some checks could succeed, we're only failing if
       // there's an error.
-      if let error = error {
+      if let error {
         completion(.failure(error))
       } else {
         self.callFunction(url: url,
@@ -480,7 +480,7 @@ enum FunctionsConstants {
           localError = FunctionsErrorCode.deadlineExceeded.generatedError(userInfo: nil)
         }
         // If there was an error, report it to the user and stop.
-        if let localError = localError {
+        if let localError {
           completion(.failure(localError))
         } else {
           completion(.failure(error))

+ 2 - 2
FirebaseFunctions/Sources/FunctionsError.swift

@@ -219,7 +219,7 @@ func FunctionsErrorForResponse(status: NSInteger,
   var details: AnyObject?
 
   // Then look through the body for explicit details.
-  if let body = body,
+  if let body,
      let json = try? JSONSerialization.jsonObject(with: body) as? NSDictionary,
      let errorDetails = json["error"] as? NSDictionary {
     if let status = errorDetails["status"] as? String {
@@ -252,7 +252,7 @@ func FunctionsErrorForResponse(status: NSInteger,
 
   var userInfo = [String: Any]()
   userInfo[NSLocalizedDescriptionKey] = description
-  if let details = details {
+  if let details {
     userInfo[FunctionsErrorDetailsKey] = details
   }
   return code.generatedError(userInfo: userInfo)

+ 1 - 1
FirebaseFunctions/Sources/HTTPSCallable.swift

@@ -151,7 +151,7 @@ open class HTTPSCallable: NSObject {
     return try await withCheckedThrowingContinuation { continuation in
       // TODO(bonus): Use task to handle and cancellation.
       self.call(data) { callableResult, error in
-        if let callableResult = callableResult {
+        if let callableResult {
           continuation.resume(returning: callableResult)
         } else {
           continuation.resume(throwing: error!)

+ 2 - 2
FirebaseFunctions/Sources/Internal/FunctionsContext.swift

@@ -60,7 +60,7 @@ class FunctionsContextProvider: NSObject {
     var error: Error?
     var limitedUseAppCheckToken: String?
 
-    if let auth = auth {
+    if let auth {
       dispatchGroup.enter()
 
       auth.getToken(forcingRefresh: false) { token, authError in
@@ -70,7 +70,7 @@ class FunctionsContextProvider: NSObject {
       }
     }
 
-    if let appCheck = appCheck {
+    if let appCheck {
       dispatchGroup.enter()
 
       if options?.requireLimitedUseAppCheckTokens == true {

+ 1 - 1
FirebaseFunctions/Sources/Internal/FunctionsSerializer.swift

@@ -99,7 +99,7 @@ class FUNSerializer: NSObject {
       }
 
       // Throw the internal error that popped up, if it did.
-      if let decodeError = decodeError {
+      if let decodeError {
         throw decodeError
       }
       return decoded

+ 3 - 3
FirebaseFunctions/Tests/Unit/FunctionsAPITests.swift

@@ -78,7 +78,7 @@ final class FunctionsAPITests: XCTestCase {
 
     let data: Any? = nil
     callableRef.call(data) { result, error in
-      if let result = result {
+      if let result {
         _ = result.data
       } else if let _ /* error */ = error {
         // ...
@@ -98,7 +98,7 @@ final class FunctionsAPITests: XCTestCase {
     }
 
     callableRef.call { result, error in
-      if let result = result {
+      if let result {
         _ = result.data
       } else if let _ /* error */ = error {
         // ...
@@ -120,7 +120,7 @@ final class FunctionsAPITests: XCTestCase {
     // MARK: - FunctionsErrorCode
 
     callableRef.call { _, error in
-      if let error = error {
+      if let error {
         switch (error as NSError).code {
         case FunctionsErrorCode.OK.rawValue:
           break

+ 1 - 1
FirebaseInAppMessaging/Swift/Source/SwiftUIPreviewHelpers.swift

@@ -96,7 +96,7 @@ public enum InAppMessagingPreviewHelpers {
     }
 
     var actionButton: InAppMessagingActionButton?
-    if let buttonText = buttonText,
+    if let buttonText,
        let buttonTextColor = buttonTextColor,
        let buttonBackgroundColor = buttonBackgroundColor {
       actionButton = InAppMessagingActionButton(buttonText: buttonText,

+ 2 - 2
FirebaseInstallations/Source/Tests/Unit/Swift/InstallationsAPITests.swift

@@ -131,7 +131,7 @@ final class InstallationsAPITests {
     // MARK: -  InstallationsAuthTokenResult
 
     Installations.installations().authToken { result, _ in
-      if let result = result {
+      if let result {
         _ = result.expirationDate
         _ = result.authToken
       }
@@ -140,7 +140,7 @@ final class InstallationsAPITests {
     // MARK: - InstallationsErrorCode
 
     Installations.installations().authToken { _, error in
-      if let error = error {
+      if let error {
         // Old error handling.
         switch (error as NSError).code {
         case Int(InstallationsErrorCode.unknown.rawValue):

+ 1 - 1
FirebaseMLModelDownloader/Sources/ModelDownloader.swift

@@ -438,7 +438,7 @@ extension ModelDownloader {
         case let .modelInfo(remoteModelInfo):
           // Progress handler for model file download.
           let taskProgressHandler: ModelDownloadTask.ProgressHandler = { progress in
-            if let progressHandler = progressHandler {
+            if let progressHandler {
               self.asyncOnMainQueue(progressHandler(progress))
             }
           }

+ 1 - 1
FirebaseMLModelDownloader/Sources/ModelFileManager.swift

@@ -195,7 +195,7 @@ extension ModelFileManager {
     }
 
     static let availableStorage = { (error: String?) -> String in
-      if let error = error {
+      if let error {
         return "Failed to check storage capacity on device: \(error)"
       } else {
         return "Failed to check storage capacity on device."

+ 3 - 3
FirebaseMLModelDownloader/Sources/ModelInfoRetriever.swift

@@ -500,9 +500,9 @@ extension ModelInfoRetriever {
     request.setValue(bundleID, forHTTPHeaderField: ModelInfoRetriever.bundleIDHTTPHeader)
     request.setValue(token, forHTTPHeaderField: ModelInfoRetriever.fisTokenHTTPHeader)
     // Get model hash if local model info is available on device.
-    if let modelInfo = localModelInfo {
+    if let localModelInfo {
       request.setValue(
-        modelInfo.modelHash,
+        localModelInfo.modelHash,
         forHTTPHeaderField: ModelInfoRetriever.hashMatchHTTPHeader
       )
     }
@@ -511,7 +511,7 @@ extension ModelInfoRetriever {
 
   /// Parse error message from server response.
   private func getErrorFromResponse(_ data: Data?) -> String? {
-    if let data = data,
+    if let data,
        let responseJSON = try? JSONSerialization
        .jsonObject(with: data, options: []) as? [String: Any],
        let error = responseJSON["error"] as? [String: Any],

+ 6 - 6
FirebaseMLModelDownloader/Sources/TelemetryLogger.swift

@@ -63,14 +63,14 @@ extension ModelDownloadLogEvent {
                          downloadFailureStatus: Int64? = 0, modelOptions: ModelOptions) {
     downloadStatus = status
     self.errorCode = errorCode
-    if let roughDuration = roughDownloadDuration {
-      roughDownloadDurationMs = roughDuration
+    if let roughDownloadDuration {
+      roughDownloadDurationMs = roughDownloadDuration
     }
-    if let exactDuration = exactDownloadDuration {
-      exactDownloadDurationMs = exactDuration
+    if let exactDownloadDuration {
+      exactDownloadDurationMs = exactDownloadDuration
     }
-    if let failureStatus = downloadFailureStatus {
-      self.downloadFailureStatus = failureStatus
+    if let downloadFailureStatus {
+      self.downloadFailureStatus = downloadFailureStatus
     }
     options = modelOptions
   }

+ 2 - 2
FirebaseMessaging/Apps/AdvancedSample/NotificationServiceExtension/NotificationService.swift

@@ -25,7 +25,7 @@ class NotificationService: UNNotificationServiceExtension {
     self.contentHandler = contentHandler
     bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
 
-    if let bestAttemptContent = bestAttemptContent {
+    if let bestAttemptContent {
       // Modify the notification content here...
       bestAttemptContent.title = "\(bestAttemptContent.title) 👩🏻‍💻"
 
@@ -43,7 +43,7 @@ class NotificationService: UNNotificationServiceExtension {
     // Called just before the extension will be terminated by the system.
     // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the
     // original push payload will be used.
-    if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
+    if let contentHandler, let bestAttemptContent {
       contentHandler(bestAttemptContent)
     }
   }

+ 1 - 1
FirebaseMessaging/Tests/UnitTestsSwift/FIRMessagingAPITest.swift

@@ -94,7 +94,7 @@ func apis() {
   messaging.subscribe(toTopic: topic)
   messaging.unsubscribe(fromTopic: topic)
   messaging.unsubscribe(fromTopic: topic, completion: { error in
-    if let error = error {
+    if let error {
       switch error {
       // Handle errors in the new format.
       case MessagingError.timeout:

+ 3 - 3
FirebaseRemoteConfigSwift/Tests/FakeConsole/FakeConsoleTests.swift

@@ -28,7 +28,7 @@ class FakeConsoleTests: APITestBase {
   func testChangedActivateWillNotFlag() {
     let expectation = self.expectation(description: #function)
     config.fetch { status, error in
-      if let error = error {
+      if let error {
         XCTFail("Fetch Error \(error)")
       }
       XCTAssertEqual(status, RemoteConfigFetchStatus.success)
@@ -46,7 +46,7 @@ class FakeConsoleTests: APITestBase {
 
     let expectation2 = self.expectation(description: #function + "2")
     config.fetch { status, error in
-      if let error = error {
+      if let error {
         XCTFail("Fetch Error \(error)")
       }
       XCTAssertEqual(status, RemoteConfigFetchStatus.success)
@@ -64,7 +64,7 @@ class FakeConsoleTests: APITestBase {
     let kFIRStorageIntegrationTestTimeout = 10.0
     waitForExpectations(timeout: kFIRStorageIntegrationTestTimeout,
                         handler: { error in
-                          if let error = error {
+                          if let error {
                             print(error)
                           }
                         })

+ 6 - 6
FirebaseRemoteConfigSwift/Tests/SwiftAPI/APITests.swift

@@ -21,7 +21,7 @@ class APITests: APITestBase {
   func testFetchThenActivate() {
     let expectation = self.expectation(description: #function)
     config.fetch { status, error in
-      if let error = error {
+      if let error {
         XCTFail("Fetch Error \(error)")
       }
       XCTAssertEqual(status, RemoteConfigFetchStatus.success)
@@ -37,7 +37,7 @@ class APITests: APITestBase {
   func testFetchWithExpirationThenActivate() {
     let expectation = self.expectation(description: #function)
     config.fetch(withExpirationDuration: 0) { status, error in
-      if let error = error {
+      if let error {
         XCTFail("Fetch Error \(error)")
       }
       XCTAssertEqual(status, RemoteConfigFetchStatus.success)
@@ -54,7 +54,7 @@ class APITests: APITestBase {
     let expectation = self.expectation(description: #function)
     config.fetchAndActivate { status, error in
       XCTAssertEqual(status, .successFetchedFromRemote)
-      if let error = error {
+      if let error {
         XCTFail("Fetch and Activate Error \(error)")
       }
       XCTAssertEqual(self.config[Constants.key1].stringValue, Constants.value1)
@@ -68,7 +68,7 @@ class APITests: APITestBase {
   func testUnchangedActivateWillFlag() {
     let expectation = self.expectation(description: #function)
     config.fetch { status, error in
-      if let error = error {
+      if let error {
         XCTFail("Fetch Error \(error)")
       }
       XCTAssertEqual(status, RemoteConfigFetchStatus.success)
@@ -82,7 +82,7 @@ class APITests: APITestBase {
     waitForExpectations()
     let expectation2 = self.expectation(description: #function + "2")
     config.fetch { status, error in
-      if let error = error {
+      if let error {
         XCTFail("Fetch Error \(error)")
       }
       XCTAssertEqual(status, RemoteConfigFetchStatus.success)
@@ -289,7 +289,7 @@ class APITests: APITestBase {
     let kTestTimeout = 10.0
     waitForExpectations(timeout: kTestTimeout,
                         handler: { error in
-                          if let error = error {
+                          if let error {
                             print(error)
                           }
                         })

+ 3 - 3
FirebaseRemoteConfigSwift/Tests/SwiftAPI/RemoteConfigConsole.swift

@@ -46,7 +46,7 @@ class RemoteConfigConsole {
     perform(configRequest: .get) { latestConfigJSON in
       config = latestConfigJSON
     }
-    if let config = config {
+    if let config {
       saveConfig(config)
     }
     return config
@@ -210,8 +210,8 @@ class RemoteConfigConsole {
 
   /// Perform a synchronous sync with remote config console.
   private func syncWithConsole() {
-    if let consoleConfig = activeRemoteConfig {
-      latestConfig = consoleConfig
+    if let activeRemoteConfig {
+      latestConfig = activeRemoteConfig
     } else {
       fatalError("Could not sync with console.")
     }

+ 1 - 1
FirebaseSessions/Sources/GoogleDataTransport+GoogleDataTransportProtocol.swift

@@ -29,7 +29,7 @@ protocol GoogleDataTransportProtocol {
 extension GDTCORTransport: GoogleDataTransportProtocol {
   func logGDTEvent(event: GDTCOREvent, completion: @escaping (Result<Void, Error>) -> Void) {
     sendDataEvent(event) { wasWritten, error in
-      if let error = error {
+      if let error {
         completion(.failure(error))
       } else if !wasWritten {
         completion(.failure(GoogleDataTransportProtocolErrors.writeFailure))

+ 5 - 5
FirebaseSessions/Sources/Installations+InstallationsProtocol.swift

@@ -50,7 +50,7 @@ extension InstallationsProtocol {
 
     workingGroup.enter()
     installationID { (installationID: String?, error: Error?) in
-      if let installationID = installationID {
+      if let installationID {
         intallationComplete = installationID
       } else if let error = error {
         errorComplete = error
@@ -67,10 +67,10 @@ extension InstallationsProtocol {
       completion(.failure(FirebaseSessionsError.SessionInstallationsTimeOutError))
       return
     default:
-      if let installationID = intallationComplete {
-        completion(.success((installationID, authTokenComplete)))
-      } else if let error = errorComplete {
-        completion(.failure(error))
+      if let intallationComplete {
+        completion(.success((intallationComplete, authTokenComplete)))
+      } else if let errorComplete {
+        completion(.failure(errorComplete))
       }
     }
   }

+ 2 - 2
FirebaseSessions/Sources/Settings/SettingsDownloadClient.swift

@@ -56,7 +56,7 @@ class SettingsDownloader: SettingsDownloadClient {
       case let .success(installationsInfo):
         let request = self.buildRequest(url: validURL, fiid: installationsInfo.0)
         let task = URLSession.shared.dataTask(with: request) { data, response, error in
-          if let data = data {
+          if let data {
             if let dict = try? JSONSerialization.jsonObject(with: data) as? [String: Any] {
               completion(.success(dict))
             } else {
@@ -64,7 +64,7 @@ class SettingsDownloader: SettingsDownloadClient {
                 .JSONParseError("Failed to parse JSON to dictionary")
               ))
             }
-          } else if let error = error {
+          } else if let error {
             completion(.failure(.URLSessionError(error.localizedDescription)))
           }
         }

+ 1 - 1
FirebaseStorage/Sources/Internal/StorageDeleteTask.swift

@@ -63,7 +63,7 @@ class StorageDeleteTask: StorageTask, StorageTaskManagement {
 
       self.fetcherCompletion = { [weak self] (data: Data?, error: NSError?) in
         guard let self = self else { return }
-        if let error = error, self.error == nil {
+        if let error, self.error == nil {
           self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
         }
         self.taskCompletion?(self.error)

+ 2 - 2
FirebaseStorage/Sources/Internal/StorageGetDownloadURLTask.swift

@@ -64,12 +64,12 @@ class StorageGetDownloadURLTask: StorageTask, StorageTaskManagement {
       self.fetcherCompletion = { [weak self] (data: Data?, error: NSError?) in
         guard let self = self else { return }
         var downloadURL: URL?
-        if let error = error {
+        if let error {
           if self.error == nil {
             self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
           }
         } else {
-          if let data = data,
+          if let data,
              let responseDictionary = try? JSONSerialization
              .jsonObject(with: data) as? [String: Any] {
             downloadURL = self.downloadURLFromMetadataDictionary(responseDictionary)

+ 2 - 2
FirebaseStorage/Sources/Internal/StorageGetMetadataTask.swift

@@ -65,12 +65,12 @@ class StorageGetMetadataTask: StorageTask, StorageTaskManagement {
       self.fetcherCompletion = { [weak self] (data: Data?, error: NSError?) in
         guard let self = self else { return }
         var metadata: StorageMetadata?
-        if let error = error {
+        if let error {
           if self.error == nil {
             self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
           }
         } else {
-          if let data = data,
+          if let data,
              let responseDictionary = try? JSONSerialization
              .jsonObject(with: data) as? [String: AnyHashable] {
             metadata = StorageMetadata(dictionary: responseDictionary)

+ 4 - 4
FirebaseStorage/Sources/Internal/StorageListTask.swift

@@ -92,11 +92,11 @@ class StorageListTask: StorageTask, StorageTaskManagement {
       // items
       // to return per page. This removes the need to backfill results if Firebase Storage filters
       // objects that are considered invalid (such as items with two consecutive slashes).
-      if let pageSize = self.pageSize {
+      if let pageSize {
         queryParams["maxResults"] = "\(pageSize)"
       }
 
-      if let previousPageToken = self.previousPageToken {
+      if let previousPageToken {
         queryParams["pageToken"] = previousPageToken
       }
 
@@ -116,10 +116,10 @@ class StorageListTask: StorageTask, StorageTaskManagement {
       self.fetcherCompletion = { [weak self] (data: Data?, error: NSError?) in
         guard let self = self else { return }
         var listResult: StorageListResult?
-        if let error = error, self.error == nil {
+        if let error, self.error == nil {
           self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
         } else {
-          if let data = data,
+          if let data,
              let responseDictionary = try? JSONSerialization
              .jsonObject(with: data) as? [String: Any] {
             listResult = StorageListResult(with: responseDictionary, reference: self.reference)

+ 1 - 1
FirebaseStorage/Sources/Internal/StoragePath.swift

@@ -135,7 +135,7 @@ class StoragePath: NSCopying, Equatable {
   init(with bucket: String,
        object: String? = nil) {
     self.bucket = bucket
-    if let object = object {
+    if let object {
       self.object = StoragePath.standardizedPathForString(object)
     } else {
       self.object = nil

+ 3 - 3
FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift

@@ -38,7 +38,7 @@ class StorageTokenAuthorizer: NSObject, GTMSessionFetcherAuthorizer {
     var tokenError: NSError?
     let callbackQueue = fetcherService.callbackQueue ?? DispatchQueue.main
     let fetchTokenGroup = DispatchGroup()
-    if let auth = auth {
+    if let auth {
       fetchTokenGroup.enter()
       auth.getToken(forcingRefresh: false) { token, error in
         if let error = error as? NSError {
@@ -51,14 +51,14 @@ class StorageTokenAuthorizer: NSObject, GTMSessionFetcherAuthorizer {
           tokenError = NSError(domain: "FIRStorageErrorDomain",
                                code: StorageErrorCode.unauthenticated.rawValue,
                                userInfo: errorDictionary)
-        } else if let token = token {
+        } else if let token {
           let firebaseToken = "Firebase \(token)"
           request?.setValue(firebaseToken, forHTTPHeaderField: "Authorization")
         }
         fetchTokenGroup.leave()
       }
     }
-    if let appCheck = appCheck {
+    if let appCheck {
       fetchTokenGroup.enter()
       appCheck.getToken(forcingRefresh: false) { tokenResult in
         request?.setValue(tokenResult.token, forHTTPHeaderField: "X-Firebase-AppCheck")

+ 2 - 2
FirebaseStorage/Sources/Internal/StorageUpdateMetadataTask.swift

@@ -73,12 +73,12 @@ class StorageUpdateMetadataTask: StorageTask, StorageTaskManagement {
       self.fetcherCompletion = { [weak self] (data: Data?, error: NSError?) in
         guard let self = self else { return }
         var metadata: StorageMetadata?
-        if let error = error {
+        if let error {
           if self.error == nil {
             self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
           }
         } else {
-          if let data = data,
+          if let data,
              let responseDictionary = try? JSONSerialization
              .jsonObject(with: data) as? [String: AnyHashable] {
             metadata = StorageMetadata(dictionary: responseDictionary)

+ 1 - 1
FirebaseStorage/Sources/Internal/StorageUtils.swift

@@ -38,7 +38,7 @@ class StorageUtils {
     components.host = reference.storage.host
     components.port = reference.storage.port
 
-    if let queryParams = queryParams {
+    if let queryParams {
       var queryItems = [URLQueryItem]()
       for (key, value) in queryParams {
         queryItems.append(URLQueryItem(name: key, value: value))

+ 2 - 2
FirebaseStorage/Sources/Result.swift

@@ -26,9 +26,9 @@ private func getResultCallback<T>(completion: @escaping (Result<T, Error>) -> Vo
                                                                                         _: Error?)
   -> Void {
   return { (value: T?, error: Error?) in
-    if let value = value {
+    if let value {
       completion(.success(value))
-    } else if let error = error {
+    } else if let error {
       completion(.failure(StorageError.swiftConvert(objcError: error as NSError)))
     } else {
       completion(.failure(StorageError.internalError("Internal failure in getResultCallback")))

+ 4 - 4
FirebaseStorage/Sources/StorageDownloadTask.swift

@@ -116,7 +116,7 @@ open class StorageDownloadTask: StorageObservableTask, StorageTaskManagement {
       request.url = components?.url
 
       var fetcher: GTMSessionFetcher
-      if let resumeData = resumeData {
+      if let resumeData {
         fetcher = GTMSessionFetcher(downloadResumeData: resumeData)
         fetcher.comment = "Resuming DownloadTask"
       } else {
@@ -125,7 +125,7 @@ open class StorageDownloadTask: StorageObservableTask, StorageTaskManagement {
       }
       fetcher.maxRetryInterval = self.reference.storage.maxDownloadRetryInterval
 
-      if let fileURL = self.fileURL {
+      if let fileURL {
         // Handle file downloads
         fetcher.destinationFileURL = fileURL
         fetcher.downloadProgressBlock = { [weak self] (bytesWritten: Int64,
@@ -163,7 +163,7 @@ open class StorageDownloadTask: StorageObservableTask, StorageTaskManagement {
         self.fire(for: .progress, snapshot: self.snapshot)
 
         // Handle potential issues with download
-        if let error = error {
+        if let error {
           self.state = .failed
           self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
           self.fire(for: .failure, snapshot: self.snapshot)
@@ -171,7 +171,7 @@ open class StorageDownloadTask: StorageObservableTask, StorageTaskManagement {
         }
         // Download completed successfully, fire completion callbacks
         self.state = .success
-        if let data = data {
+        if let data {
           self.downloadData = data
         }
         self.fire(for: .success, snapshot: self.snapshot)

+ 1 - 1
FirebaseStorage/Sources/StorageError.swift

@@ -76,7 +76,7 @@ public let StorageErrorDomain: String = "FIRStorageErrorDomain"
    */
   static func error(withInvalidRequest request: Data?) -> NSError {
     var requestString: String
-    if let request = request {
+    if let request {
       requestString = String(data: request, encoding: .utf8) ?? "<unstringable data>"
     } else {
       requestString = "<nil request returned from server>"

+ 4 - 4
FirebaseStorage/Sources/StorageReference.swift

@@ -286,7 +286,7 @@ import Foundation
                                    queue: storage.dispatchQueue,
                                    file: fileURL)
 
-    if let completion = completion {
+    if let completion {
       task.completionURL = completion
       let callbackQueue = fetcherService.callbackQueue ?? DispatchQueue.main
 
@@ -330,7 +330,7 @@ import Foundation
 
     var paginatedCompletion: ((_: StorageListResult?, _: Error?) -> Void)?
     paginatedCompletion = { (_ listResult: StorageListResult?, _ error: Error?) in
-      if let error = error {
+      if let error {
         completion(nil, error)
         return
       }
@@ -531,7 +531,7 @@ import Foundation
   open func delete() async throws {
     return try await withCheckedThrowingContinuation { continuation in
       self.delete { error in
-        if let error = error {
+        if let error {
           continuation.resume(throwing: error)
         } else {
           continuation.resume()
@@ -595,7 +595,7 @@ import Foundation
 
   private func startAndObserveUploadTask(task: StorageUploadTask,
                                          completion: ((_: StorageMetadata?, _: Error?) -> Void)?) {
-    if let completion = completion {
+    if let completion {
       task.completionMetadata = completion
       let callbackQueue = storage.fetcherServiceForApp.callbackQueue ?? DispatchQueue.main
 

+ 4 - 4
FirebaseStorage/Sources/StorageUploadTask.swift

@@ -87,10 +87,10 @@ import Foundation
         chunkSize: self.reference.storage.uploadChunkSizeBytes,
         fetcherService: self.fetcherService
       )
-      if let data = self.uploadData {
-        uploadFetcher.uploadData = data
+      if let uploadData {
+        uploadFetcher.uploadData = uploadData
         uploadFetcher.comment = "Data UploadTask"
-      } else if let fileURL = self.fileURL {
+      } else if let fileURL {
         uploadFetcher.uploadFileURL = fileURL
         uploadFetcher.comment = "File UploadTask"
 
@@ -120,7 +120,7 @@ import Foundation
         self.fire(for: .progress, snapshot: self.snapshot)
 
         // Handle potential issues with upload
-        if let error = error {
+        if let error {
           self.state = .failed
           self.error = StorageErrorCode.error(withServerError: error, ref: self.reference)
           self.metadata = self.uploadMetadata

+ 1 - 1
FirebaseStorage/Tests/Integration/StorageAsyncAwait.swift

@@ -413,7 +413,7 @@ class StorageAsyncAwait: StorageIntegrationCommon {
     let kTestTimeout = 60.0
     waitForExpectations(timeout: kTestTimeout,
                         handler: { error in
-                          if let error = error {
+                          if let error {
                             print(error)
                           }
                         })

+ 1 - 1
FirebaseStorage/Tests/Integration/StorageIntegration.swift

@@ -847,7 +847,7 @@ class StorageResultTests: StorageIntegrationCommon {
     let kFIRStorageIntegrationTestTimeout = 100.0
     waitForExpectations(timeout: kFIRStorageIntegrationTestTimeout,
                         handler: { error in
-                          if let error = error {
+                          if let error {
                             print(error)
                           }
                         })

+ 1 - 1
FirebaseStorage/Tests/Integration/StorageIntegrationCommon.swift

@@ -101,7 +101,7 @@ class StorageIntegrationCommon: XCTestCase {
     let kTestTimeout = 60.0
     waitForExpectations(timeout: kTestTimeout,
                         handler: { error in
-                          if let error = error {
+                          if let error {
                             print(error)
                           }
                         })

+ 4 - 4
FirebaseStorage/Tests/Unit/StorageTestHelpers.swift

@@ -45,7 +45,7 @@ class StorageTestHelpers: XCTestCase {
 
   func waitForExpectation(test: XCTest) {
     waitForExpectations(timeout: 10) { error in
-      if let error = error {
+      if let error {
         print("Error \(error)")
       }
     }
@@ -54,7 +54,7 @@ class StorageTestHelpers: XCTestCase {
   func successBlock(withMetadata metadata: StorageMetadata? = nil)
     -> GTMSessionFetcherTestBlock {
     var data: Data?
-    if let metadata = metadata {
+    if let metadata {
       data = try? JSONSerialization.data(withJSONObject: metadata.dictionaryRepresentation())
     }
     return block(forData: data, url: nil, statusCode: 200)
@@ -99,7 +99,7 @@ class StorageTestHelpers: XCTestCase {
                      statusCode code: Int) -> GTMSessionFetcherTestBlock {
     let block = { (fetcher: GTMSessionFetcher, response: GTMSessionFetcherTestResponse) in
       let fetcherURL = fetcher.request?.url!
-      if let url = url {
+      if let url {
         XCTAssertEqual(url, fetcherURL)
       }
       let httpResponse = HTTPURLResponse(
@@ -111,7 +111,7 @@ class StorageTestHelpers: XCTestCase {
       var error: NSError?
       if code >= 400 {
         var userInfo: [String: Any]?
-        if let data = data {
+        if let data {
           userInfo = ["data": data]
         }
         error = NSError(domain: "com.google.HTTPStatus", code: code, userInfo: userInfo)

+ 2 - 2
Firestore/Swift/Source/AsyncAwait/CollectionReference+AsyncAwait.swift

@@ -33,8 +33,8 @@ public extension CollectionReference {
     return try await withCheckedThrowingContinuation { continuation in
       var document: DocumentReference?
       document = self.addDocument(data: data) { error in
-        if let err = error {
-          continuation.resume(throwing: err)
+        if let error {
+          continuation.resume(throwing: error)
         } else {
           // Our callbacks guarantee that we either return an error or a document.
           continuation.resume(returning: document!)

+ 6 - 6
Firestore/Swift/Source/AsyncAwait/Firestore+AsyncAwait.swift

@@ -31,8 +31,8 @@ public extension Firestore {
   func loadBundle(_ bundleData: Data) async throws -> LoadBundleTaskProgress {
     return try await withCheckedThrowingContinuation { continuation in
       self.loadBundle(bundleData) { progress, error in
-        if let err = error {
-          continuation.resume(throwing: err)
+        if let error {
+          continuation.resume(throwing: error)
         } else {
           // Our callbacks guarantee that we either return an error or a progress event.
           continuation.resume(returning: progress!)
@@ -49,8 +49,8 @@ public extension Firestore {
   func loadBundle(_ bundleStream: InputStream) async throws -> LoadBundleTaskProgress {
     return try await withCheckedThrowingContinuation { continuation in
       self.loadBundle(bundleStream) { progress, error in
-        if let err = error {
-          continuation.resume(throwing: err)
+        if let error {
+          continuation.resume(throwing: error)
         } else {
           // Our callbacks guarantee that we either return an error or a progress event.
           continuation.resume(returning: progress!)
@@ -107,8 +107,8 @@ public extension Firestore {
     // See https://github.com/firebase/firebase-ios-sdk/issues/9426 for more details.
     return try await withCheckedThrowingContinuation { continuation in
       self.runTransaction(updateBlock) { anyValue, error in
-        if let err = error {
-          continuation.resume(throwing: err)
+        if let error {
+          continuation.resume(throwing: error)
         } else {
           continuation.resume(returning: anyValue)
         }

+ 2 - 2
Firestore/Swift/Source/Codable/DocumentID.swift

@@ -113,7 +113,7 @@ public struct DocumentID<Value: DocumentIDWrappable & Codable>:
   private var value: Value? = nil
 
   public init(wrappedValue value: Value?) {
-    if let value = value {
+    if let value {
       logIgnoredValueWarning(value: value)
     }
     self.value = value
@@ -141,7 +141,7 @@ public struct DocumentID<Value: DocumentIDWrappable & Codable>:
 
 extension DocumentID: DocumentIDProtocol {
   init(from documentReference: DocumentReference?) throws {
-    if let documentReference = documentReference {
+    if let documentReference {
       value = try Value.wrap(documentReference)
     } else {
       value = nil

+ 1 - 1
Firestore/Swift/Source/Codable/DocumentReference+Codable.swift

@@ -33,7 +33,7 @@
 private protocol CodableDocumentReference: Codable {}
 
 /**
- * DocumentReference's codable implmentation will just throw for most
+ * DocumentReference's codable implementation will just throw for most
  * encoder/decoder however. It is only meant to be encoded by Firestore.Encoder/Firestore.Decoder.
  */
 extension CodableDocumentReference {

+ 1 - 1
Firestore/Swift/Source/Codable/EncoderDecoder.swift

@@ -93,7 +93,7 @@ public extension Firestore {
 
     public func decode<T: Decodable>(_ t: T.Type, from data: Any,
                                      in reference: DocumentReference?) throws -> T {
-      if let reference = reference {
+      if let reference {
         userInfo[CodingUserInfoKey.documentRefUserInfoKey] = reference
       }
       return try decode(T.self, from: data)

+ 1 - 1
Firestore/Swift/Source/Codable/ExplicitNull.swift

@@ -47,7 +47,7 @@ extension ExplicitNull: Hashable where Value: Hashable {}
 extension ExplicitNull: Encodable where Value: Encodable {
   public func encode(to encoder: Encoder) throws {
     var container = encoder.singleValueContainer()
-    if let value = value {
+    if let value {
       try container.encode(value)
     } else {
       try container.encodeNil()

+ 1 - 1
Firestore/Swift/Source/Codable/ServerTimestamp.swift

@@ -98,7 +98,7 @@ public struct ServerTimestamp<Value>: Codable
 
   public func encode(to encoder: Encoder) throws {
     var container = encoder.singleValueContainer()
-    if let value = value {
+    if let value {
       try container.encode(Value.unwrap(value))
     } else {
       try container.encode(FieldValue.serverTimestamp())

+ 2 - 2
Firestore/Swift/Source/PropertyWrapper/FirestoreQuery.swift

@@ -55,7 +55,7 @@ public enum DecodingFailureStrategy {
 ///
 /// `FirestoreQuery` also supports returning a `Result` type. The `.success` case
 /// returns an array of elements, whereas the `.failure` case returns an error
-/// in case mapping the Firestore docments wasn't successful:
+/// in case mapping the Firestore documents wasn't successful:
 ///
 ///     struct ContentView: View {
 ///       @FirestoreQuery(
@@ -135,7 +135,7 @@ public struct FirestoreQuery<T>: DynamicProperty {
     /// If any errors occurred, they will be exposed here as well.
     public var error: Error?
 
-    /// The type of animation to apply when updating the view. If this is ommitted then no
+    /// The type of animation to apply when updating the view. If this is omitted then no
     /// animations are fired.
     public var animation: Animation?
   }

+ 2 - 2
Firestore/Swift/Source/PropertyWrapper/FirestoreQueryObservable.swift

@@ -47,7 +47,7 @@ class FirestoreQueryObservable<T>: ObservableObject {
     self.configuration = configuration
     setupListener = createListener { [weak self] querySnapshot, error in
       guard let self = self else { return }
-      if let error = error {
+      if let error {
         self.animated {
           self.items = []
           self.projectError(error)
@@ -104,7 +104,7 @@ class FirestoreQueryObservable<T>: ObservableObject {
     self.configuration = configuration
     setupListener = createListener { [weak self] querySnapshot, error in
       guard let self = self else { return }
-      if let error = error {
+      if let error {
         self.animated {
           self.items = .failure(error)
           self.projectError(error)

+ 23 - 23
Firestore/Swift/Tests/API/BasicCompileTests.swift

@@ -143,7 +143,7 @@ func writeDocument(at docRef: DocumentReference) {
 
   // Completion callback (via trailing closure syntax).
   docRef.setData(setData) { error in
-    if let error = error {
+    if let error {
       print("Uh oh! \(error)")
       return
     }
@@ -154,7 +154,7 @@ func writeDocument(at docRef: DocumentReference) {
   // merge
   docRef.setData(setData, merge: true)
   docRef.setData(setData, merge: true) { error in
-    if let error = error {
+    if let error {
       print("Uh oh! \(error)")
       return
     }
@@ -166,7 +166,7 @@ func writeDocument(at docRef: DocumentReference) {
   docRef.delete()
 
   docRef.delete { error in
-    if let error = error {
+    if let error {
       print("Uh oh! \(error)")
       return
     }
@@ -178,15 +178,15 @@ func writeDocument(at docRef: DocumentReference) {
 func enableDisableNetwork(database db: Firestore) {
   // closure syntax
   db.disableNetwork(completion: { error in
-    if let e = error {
-      print("Uh oh! \(e)")
+    if let error {
+      print("Uh oh! \(error)")
       return
     }
   })
   // trailing block syntax
   db.enableNetwork { error in
-    if let e = error {
-      print("Uh oh! \(e)")
+    if let error {
+      print("Uh oh! \(error)")
       return
     }
   }
@@ -194,8 +194,8 @@ func enableDisableNetwork(database db: Firestore) {
 
 func clearPersistence(database db: Firestore) {
   db.clearPersistence { error in
-    if let e = error {
-      print("Uh oh! \(e)")
+    if let error {
+      print("Uh oh! \(error)")
       return
     }
   }
@@ -217,7 +217,7 @@ func writeDocuments(at docRef: DocumentReference, database db: Firestore) {
   batch.setData(["c": "d"], forDocument: docRef)
   // commit with completion callback via trailing closure syntax.
   batch.commit { error in
-    if let error = error {
+    if let error {
       print("Uh oh! \(error)")
       return
     }
@@ -235,7 +235,7 @@ func addDocument(to collectionRef: CollectionReference) {
 func readDocument(at docRef: DocumentReference) {
   // Trailing closure syntax.
   docRef.getDocument { document, error in
-    if let document = document {
+    if let document {
       // Note that both document and document.data() is nullable.
       if let data = document.data() {
         print("Read document: \(data)")
@@ -253,7 +253,7 @@ func readDocument(at docRef: DocumentReference) {
       if let foo = document["foo"] {
         print("Field: \(foo)")
       }
-    } else if let error = error {
+    } else if let error {
       // New way to handle errors.
       switch error {
       case FirestoreErrorCode.unavailable:
@@ -322,12 +322,12 @@ func readDocumentsWithSource(matching query: Query) {
 
 func listenToDocument(at docRef: DocumentReference) {
   let listener = docRef.addSnapshotListener { document, error in
-    if let error = error {
+    if let error {
       print("Uh oh! Listen canceled: \(error)")
       return
     }
 
-    if let document = document {
+    if let document {
       // Note that document.data() is nullable.
       if let data: [String: Any] = document.data() {
         print("Current document: \(data)")
@@ -346,7 +346,7 @@ func listenToDocument(at docRef: DocumentReference) {
 
 func listenToDocumentWithMetadataChanges(at docRef: DocumentReference) {
   let listener = docRef.addSnapshotListener(includeMetadataChanges: true) { document, _ in
-    if let document = document {
+    if let document {
       if document.metadata.hasPendingWrites {
         print("Has pending writes")
       }
@@ -359,12 +359,12 @@ func listenToDocumentWithMetadataChanges(at docRef: DocumentReference) {
 
 func listenToDocuments(matching query: Query) {
   let listener = query.addSnapshotListener { snap, error in
-    if let error = error {
+    if let error {
       print("Uh oh! Listen canceled: \(error)")
       return
     }
 
-    if let snap = snap {
+    if let snap {
       print("NEW SNAPSHOT (empty=\(snap.isEmpty) count=\(snap.count)")
 
       // TODO(mikelehen): Figure out how to make "for..in" syntax work
@@ -383,7 +383,7 @@ func listenToDocuments(matching query: Query) {
 
 func listenToQueryDiffs(onQuery query: Query) {
   let listener = query.addSnapshotListener { snap, _ in
-    if let snap = snap {
+    if let snap {
       for change in snap.documentChanges {
         switch change.type {
         case .added:
@@ -403,7 +403,7 @@ func listenToQueryDiffs(onQuery query: Query) {
 
 func listenToQueryDiffsWithMetadata(onQuery query: Query) {
   let listener = query.addSnapshotListener(includeMetadataChanges: true) { snap, _ in
-    if let snap = snap {
+    if let snap {
       for change in snap.documentChanges(includeMetadataChanges: true) {
         switch change.type {
         case .added:
@@ -470,8 +470,8 @@ func types() {
 
 func waitForPendingWrites(database db: Firestore) {
   db.waitForPendingWrites { error in
-    if let e = error {
-      print("Uh oh! \(e)")
+    if let error {
+      print("Uh oh! \(error)")
       return
     }
   }
@@ -486,8 +486,8 @@ func addSnapshotsInSyncListener(database db: Firestore) {
 
 func terminateDb(database db: Firestore) {
   db.terminate { error in
-    if let e = error {
-      print("Uh oh! \(e)")
+    if let error {
+      print("Uh oh! \(error)")
       return
     }
   }

+ 2 - 2
Firestore/Swift/Tests/Codable/FirestoreEncoderTests.swift

@@ -670,7 +670,7 @@ private class DictionarySubject {
 
   init(_ subject: [String: Any], in documentName: String? = nil, file: StaticString, line: UInt) {
     self.subject = subject
-    if let documentName = documentName {
+    if let documentName {
       document = FSTTestDocRef(documentName)
     }
     self.file = file
@@ -717,7 +717,7 @@ extension String: ServerTimestampWrappable {
 
   public static func unwrap(_ value: Self) throws -> Timestamp {
     let date = formatter.date(from: value)
-    if let date = date {
+    if let date {
       return Timestamp(date: date)
     } else {
       throw DateError.invalidDate(value)

+ 6 - 6
Firestore/Swift/Tests/Integration/CodableIntegrationTests.swift

@@ -36,18 +36,18 @@ class CodableIntegrationTests: FSTIntegrationTestCase {
 
     switch flavor {
     case .docRef:
-      if let merge = merge {
+      if let merge {
         try doc.setData(from: value, merge: merge, completion: completion)
-      } else if let mergeFields = mergeFields {
+      } else if let mergeFields {
         try doc.setData(from: value, mergeFields: mergeFields, completion: completion)
       } else {
         try doc.setData(from: value, completion: completion)
       }
     case .writeBatch:
-      if let merge = merge {
+      if let merge {
         try doc.firestore.batch().setData(from: value, forDocument: doc, merge: merge)
           .commit(completion: completion)
-      } else if let mergeFields = mergeFields {
+      } else if let mergeFields {
         try doc.firestore.batch().setData(from: value, forDocument: doc, mergeFields: mergeFields)
           .commit(completion: completion)
       } else {
@@ -57,9 +57,9 @@ class CodableIntegrationTests: FSTIntegrationTestCase {
     case .transaction:
       doc.firestore.runTransaction({ transaction, errorPointer -> Any? in
         do {
-          if let merge = merge {
+          if let merge {
             try transaction.setData(from: value, forDocument: doc, merge: merge)
-          } else if let mergeFields = mergeFields {
+          } else if let mergeFields {
             try transaction.setData(from: value, forDocument: doc, mergeFields: mergeFields)
           } else {
             try transaction.setData(from: value, forDocument: doc)