diff --git a/Sources/ProcessOut/Sources/Core/Extensions/UIImage+Dynamic.swift b/Sources/ProcessOut/Sources/Core/Extensions/UIImage+Dynamic.swift index ca5969e16..2e68d34da 100644 --- a/Sources/ProcessOut/Sources/Core/Extensions/UIImage+Dynamic.swift +++ b/Sources/ProcessOut/Sources/Core/Extensions/UIImage+Dynamic.swift @@ -9,9 +9,9 @@ import UIKit extension UIImage { + @MainActor static func dynamic(lightImage: UIImage?, darkImage: UIImage?) -> UIImage? { - assert(Thread.isMainThread) - // When image with scale greater than 3 is registed asset created explicitly produced image + // When image with scale greater than 3 is registered asset created explicitly produced image // is malformed and doesn't contain images for light nor dark styles. guard let image = lightImage ?? darkImage else { return nil diff --git a/Sources/ProcessOutCoreUI/Sources/Backports/OnSubmit/View+OnSubmit.swift b/Sources/ProcessOutCoreUI/Sources/Backports/OnSubmit/View+OnSubmit.swift index 16d97b214..2a9d6a3aa 100644 --- a/Sources/ProcessOutCoreUI/Sources/Backports/OnSubmit/View+OnSubmit.swift +++ b/Sources/ProcessOutCoreUI/Sources/Backports/OnSubmit/View+OnSubmit.swift @@ -10,7 +10,7 @@ import SwiftUI extension POBackport where Wrapped: Any { @MainActor - final class SubmitAction: Sendable { + struct SubmitAction: Sendable { typealias Action = () -> Void // swiftlint:disable:this nesting @@ -22,7 +22,7 @@ extension POBackport where Wrapped: Any { actions.forEach { $0() } } - func append(action: @escaping Action) { + mutating func append(action: @escaping Action) { actions.append(action) } diff --git a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckout/DynamicCheckoutDefaultInteractor.swift b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckout/DynamicCheckoutDefaultInteractor.swift index f5db2ed92..c8854910c 100644 --- a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckout/DynamicCheckoutDefaultInteractor.swift +++ b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Interactor/DynamicCheckout/DynamicCheckoutDefaultInteractor.swift @@ -707,8 +707,8 @@ final class DynamicCheckoutDefaultInteractor: // MARK: - Events + @MainActor private func send(event: PODynamicCheckoutEvent) { - assert(Thread.isMainThread, "Method should be called on main thread.") logger.debug("Did send event: '\(event)'") delegate?.dynamicCheckout(didEmitEvent: event) } diff --git a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Sessions/PassKit/DynamicCheckoutPassKitPaymentDefaultSession.swift b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Sessions/PassKit/DynamicCheckoutPassKitPaymentDefaultSession.swift index d3dafad82..dfe27d0a5 100644 --- a/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Sessions/PassKit/DynamicCheckoutPassKitPaymentDefaultSession.swift +++ b/Sources/ProcessOutUI/Sources/Modules/DynamicCheckout/Sessions/PassKit/DynamicCheckoutPassKitPaymentDefaultSession.swift @@ -55,7 +55,7 @@ extension DynamicCheckoutPassKitPaymentDefaultSession: POPassKitPaymentAuthoriza func paymentAuthorizationControllerDidFinish(_ controller: POPassKitPaymentAuthorizationController) { guard let didFinishContinuation else { - preconditionFailure("Continue must be set.") + preconditionFailure("Continuation must be set.") } didFinishContinuation.resume() } diff --git a/Sources/ProcessOutUI/Sources/Modules/NativeAlternativePayment/Interactor/NativeAlternativePaymentDefaultInteractor.swift b/Sources/ProcessOutUI/Sources/Modules/NativeAlternativePayment/Interactor/NativeAlternativePaymentDefaultInteractor.swift index c53011ae3..52f387ac4 100644 --- a/Sources/ProcessOutUI/Sources/Modules/NativeAlternativePayment/Interactor/NativeAlternativePaymentDefaultInteractor.swift +++ b/Sources/ProcessOutUI/Sources/Modules/NativeAlternativePayment/Interactor/NativeAlternativePaymentDefaultInteractor.swift @@ -403,8 +403,8 @@ final class NativeAlternativePaymentDefaultInteractor: // MARK: - Events + @MainActor private func send(event: PONativeAlternativePaymentEvent) { - assert(Thread.isMainThread, "Method should be called on main thread.") logger.debug("Did send event: '\(event)'") delegate?.nativeAlternativePaymentDidEmitEvent(event) } @@ -513,7 +513,7 @@ final class NativeAlternativePaymentDefaultInteractor: switch parameter.specification.type { case .singleSelect: let availableValues = parameter.specification.availableValues?.map(\.value) ?? [] - precondition(availableValues.contains(value), "Unknown `singleSelect` parameter value.") + assert(availableValues.contains(value), "Unknown `singleSelect` parameter value.") defaultValue = value default: defaultValue = parameter.formatter?.string(for: value) ?? value