From 595d7742b499ad7d77fc0ecc85318c76dcbc46c1 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Thu, 13 Apr 2023 12:43:25 +1000 Subject: [PATCH] Address some warnings in the Gutenberg iOS code used by the React Native layer (#49739) * Address "Empty collection literal requires an explicit type" warning * Remove redundant `public` modifier used in `public extension` * Address warning about unused result of `wait(timeout:)` call * Replace `class` constraints with modern `AnyObject` See compiler warning: > Using 'class' keyword to define a class-constrained protocol is deprecated; > use 'AnyObject' instead * Order `SourceFile.swift` resources alphabetically This makes it easier to scan them. --- packages/react-native-bridge/ios/Gutenberg.swift | 2 +- .../ios/GutenbergBridgeDataSource.swift | 2 +- .../ios/GutenbergBridgeDelegate.swift | 2 +- .../GutenbergWebSingleBlockViewController.swift | 2 +- .../ios/RNReactNativeGutenbergBridge.swift | 2 +- packages/react-native-bridge/ios/SourceFile.swift | 10 +++++----- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/react-native-bridge/ios/Gutenberg.swift b/packages/react-native-bridge/ios/Gutenberg.swift index 1ef54301d63379..95d3aa99ab37bd 100644 --- a/packages/react-native-bridge/ios/Gutenberg.swift +++ b/packages/react-native-bridge/ios/Gutenberg.swift @@ -250,7 +250,7 @@ extension Gutenberg: RCTBridgeDelegate { } let monitorQueue = DispatchQueue(label: "org.wordpress.network-path-monitor") monitor.start(queue: monitorQueue) - semaphore.wait(timeout: .distantFuture) + _ = semaphore.wait(timeout: .distantFuture) monitor.cancel() if isOnCellularNetwork { return Bundle.main.url(forResource: "main", withExtension: "jsbundle") diff --git a/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift b/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift index 7866e048fe5e41..9b02be94b6a717 100644 --- a/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift +++ b/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift @@ -1,6 +1,6 @@ import Aztec -public protocol GutenbergBridgeDataSource: class { +public protocol GutenbergBridgeDataSource: AnyObject { /// Asks the data source for the initial html content to be presented by the editor. /// Return `nil` to show the example content. /// diff --git a/packages/react-native-bridge/ios/GutenbergBridgeDelegate.swift b/packages/react-native-bridge/ios/GutenbergBridgeDelegate.swift index 35f3308dd1c2ac..25cc3af320b24d 100644 --- a/packages/react-native-bridge/ios/GutenbergBridgeDelegate.swift +++ b/packages/react-native-bridge/ios/GutenbergBridgeDelegate.swift @@ -140,7 +140,7 @@ extension RCTLogLevel { } } -public protocol GutenbergBridgeDelegate: class { +public protocol GutenbergBridgeDelegate: AnyObject { /// Tells the delegate that Gutenberg had returned the requested HTML content. /// You can request HTML content by calling `requestHTML()` on a Gutenberg bridge instance. /// diff --git a/packages/react-native-bridge/ios/GutenbergWebFallback/GutenbergWebSingleBlockViewController.swift b/packages/react-native-bridge/ios/GutenbergWebFallback/GutenbergWebSingleBlockViewController.swift index 8ce80ea7f61370..bd8cee5d2d5dba 100644 --- a/packages/react-native-bridge/ios/GutenbergWebFallback/GutenbergWebSingleBlockViewController.swift +++ b/packages/react-native-bridge/ios/GutenbergWebFallback/GutenbergWebSingleBlockViewController.swift @@ -1,7 +1,7 @@ import UIKit import WebKit -public protocol GutenbergWebDelegate: class { +public protocol GutenbergWebDelegate: AnyObject { func webController(controller: GutenbergWebSingleBlockViewController, didPressSave block: Block) func webControllerDidPressClose(controller: GutenbergWebSingleBlockViewController) func webController(controller: GutenbergWebSingleBlockViewController, didLog log: String) diff --git a/packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift b/packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift index b6fc433b47fef5..6f529f383a7a8c 100644 --- a/packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift +++ b/packages/react-native-bridge/ios/RNReactNativeGutenbergBridge.swift @@ -414,7 +414,7 @@ public class RNReactNativeGutenbergBridge: RCTEventEmitter { // MARK: - RCTBridgeModule delegate public extension Gutenberg { - public enum ActionButtonType: String { + enum ActionButtonType: String { case missingBlockAlertActionButton = "missing_block_alert_action_button" } } diff --git a/packages/react-native-bridge/ios/SourceFile.swift b/packages/react-native-bridge/ios/SourceFile.swift index 2386f84580464f..b32a65c0b0f2c2 100644 --- a/packages/react-native-bridge/ios/SourceFile.swift +++ b/packages/react-native-bridge/ios/SourceFile.swift @@ -35,7 +35,7 @@ extension SourceFile { public func jsScript(with argument: String? = nil) throws -> WKUserScript { let content = try getContent() - let formatted = String(format: content, argument ?? []) + let formatted = String(format: content, argument ?? "") switch self.type { case .css: @@ -48,14 +48,14 @@ extension SourceFile { } extension SourceFile { + static let retrieveHtml = SourceFile(name: "content-functions", type: .js) + static let editorBehavior = SourceFile(name: "editor-behavior-overrides", type: .js) static let editorStyle = SourceFile(name: "editor-style-overrides", type: .css) - static let wpBarsStyle = SourceFile(name: "wp-bar-override", type: .css) + static let gutenbergObserver = SourceFile(name: "gutenberg-observer", type: .js) static let injectCss = SourceFile(name: "inject-css", type: .js) - static let retrieveHtml = SourceFile(name: "content-functions", type: .js) static let insertBlock = SourceFile(name: "insert-block", type: .js) static let localStorage = SourceFile(name: "local-storage-overrides", type: .json) static let preventAutosaves = SourceFile(name: "prevent-autosaves", type: .js) - static let gutenbergObserver = SourceFile(name: "gutenberg-observer", type: .js) static let supportedBlocks = SourceFile(name: "supported-blocks", type: .json) - static let editorBehavior = SourceFile(name: "editor-behavior-overrides", type: .js) + static let wpBarsStyle = SourceFile(name: "wp-bar-override", type: .css) }