remove unused combine functions

This commit is contained in:
Satindar Dhillon 2022-06-21 14:56:37 -07:00
parent 587cbe2f26
commit 9c68802c44
6 changed files with 5 additions and 93 deletions

View file

@ -39,7 +39,7 @@ extension Networker {
)
do {
let authVerification = try await urlSession.performReq(resource: resource)
let authVerification = try await urlSession.performRequest(resource: resource)
return authVerification.authStatus.isAuthenticated
} catch {
return false

View file

@ -1,4 +1,3 @@
import Combine
import Foundation
import Models
import Utils
@ -37,7 +36,7 @@ extension ServerResponse {
struct EmptyResponse: Decodable {}
extension URLSession {
func performReq<ResponseModel>(
func performRequest<ResponseModel>(
resource: ServerResource<ResponseModel>
) async throws -> ResponseModel {
do {
@ -61,30 +60,6 @@ extension URLSession {
throw ServerError(serverResponse: serverResponse)
}
}
// TODO: remove performRequest
// swiftlint:disable:next line_length
func performRequest<ResponseModel>(resource: ServerResource<ResponseModel>) -> AnyPublisher<ResponseModel, ServerError> {
let request = resource.urlRequest
return dataTaskPublisher(for: resource.urlRequest)
.tryMap { data, response -> ResponseModel in
let serverResponse = ServerResponse(data: data, response: response)
NetworkRequestLogger.log(request: request, serverResponse: serverResponse)
if let decodedValue = resource.decode(serverResponse) {
return decodedValue
}
throw ServerError(serverResponse: serverResponse)
}
.mapError { error -> ServerError in
let serverResponse = ServerResponse(error: error)
NetworkRequestLogger.log(request: request, serverResponse: serverResponse)
return ServerError(serverResponse: serverResponse)
}
.eraseToAnyPublisher()
}
}
extension URLRequest {

View file

@ -14,7 +14,7 @@ extension Networker {
)
do {
return try await urlSession.performReq(resource: resource)
return try await urlSession.performRequest(resource: resource)
} catch {
throw (error as? ServerError) ?? .unknown
}

View file

@ -15,7 +15,7 @@ extension Networker {
)
do {
return try await urlSession.performReq(resource: resource)
return try await urlSession.performRequest(resource: resource)
} catch {
throw (error as? ServerError) ?? .unknown
}

View file

@ -27,7 +27,7 @@ extension Networker {
)
do {
return try await urlSession.performReq(resource: resource)
return try await urlSession.performRequest(resource: resource)
} catch {
if let error = error as? ServerError {
throw LoginError.make(serverError: error)

View file

@ -1,63 +0,0 @@
import Combine
import SwiftUI
#if !os(macOS)
import UIKit
#endif
public extension Publishers {
static var keyboardHeight: AnyPublisher<CGFloat, Never> {
#if os(iOS)
let willShow = NotificationCenter.default
.publisher(for: UIApplication.keyboardWillShowNotification)
.map(\.keyboardHeight)
.eraseToAnyPublisher()
let willHide = NotificationCenter.default
.publisher(for: UIApplication.keyboardWillHideNotification)
.map { _ in CGFloat(0) }
.eraseToAnyPublisher()
return Merge(willShow, willHide)
.eraseToAnyPublisher()
#elseif os(macOS)
Future { $0(.success(CGFloat.zero)) }
.eraseToAnyPublisher()
#endif
}
}
extension Notification {
var keyboardHeight: CGFloat {
#if os(iOS)
(userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect)?.height ?? 0
#elseif os(macOS)
0
#endif
}
}
struct KeyboardAdaptive: ViewModifier {
@State private var keyboardHeight: CGFloat = 0
func body(content: Content) -> some View {
content
.padding(.bottom, keyboardHeight)
.onReceive(Publishers.keyboardHeight) { self.keyboardHeight = $0 }
}
}
extension View {
func keyboardAdaptive() -> some View {
ModifiedContent(content: self, modifier: KeyboardAdaptive())
}
}
extension View {
func hideKeyboard() {
#if os(iOS)
UIApplication.shared
.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
#endif
}
}