remove unused publishers

This commit is contained in:
Satindar Dhillon
2022-04-19 11:25:40 -07:00
parent bb016ce7f4
commit ed69e36576
2 changed files with 0 additions and 94 deletions

View File

@ -3,57 +3,6 @@ import Foundation
import Models
import SwiftGraphQL
public extension DataService {
func articlePublisher(slug: String) -> AnyPublisher<FeedItemDep, BasicError> {
internalViewerPublisher()
.flatMap { self.internalArticlePublisher(username: $0.username ?? "", slug: slug) }
.receive(on: DispatchQueue.main)
.eraseToAnyPublisher()
}
}
extension DataService {
func internalArticlePublisher(username: String, slug: String) -> AnyPublisher<FeedItemDep, BasicError> {
enum QueryResult {
case success(result: FeedItemDep)
case error(error: String)
}
let selection = Selection<QueryResult, Unions.ArticleResult> {
try $0.on(
articleSuccess: .init { QueryResult.success(result: try $0.article(selection: homeFeedItemSelection)) },
articleError: .init { QueryResult.error(error: try $0.errorCodes().description) }
)
}
let query = Selection.Query {
try $0.article(username: username, slug: slug, selection: selection)
}
let path = appEnvironment.graphqlPath
let headers = networker.defaultHeaders
return Deferred {
Future { promise in
send(query, to: path, headers: headers) { result in
switch result {
case let .success(payload):
switch payload.data {
case let .success(result: result):
promise(.success(result))
case let .error(error: error):
promise(.failure(.message(messageText: error.debugDescription)))
}
case .failure:
promise(.failure(.message(messageText: "ger article fetch failed")))
}
}
}
}
.eraseToAnyPublisher()
}
}
public extension DataService {
func libraryItemsPublisher(
limit: Int,

View File

@ -49,49 +49,6 @@ public extension DataService {
}
}
extension DataService {
@available(*, deprecated, message: "use async version instead")
func internalViewerPublisher() -> AnyPublisher<Viewer, BasicError> {
let selection = Selection<ViewerInternal, Objects.User> {
ViewerInternal(
userID: try $0.id(),
username: try $0.profile(
selection: .init { try $0.username() }
),
name: try $0.name(),
profileImageURL: try $0.profile(
selection: .init { try $0.pictureUrl() }
)
)
}
let query = Selection.Query {
try $0.me(selection: selection.nonNullOrFail)
}
let path = appEnvironment.graphqlPath
let headers = networker.defaultHeaders
return Deferred {
Future { [weak self] promise in
send(query, to: path, headers: headers) { result in
switch result {
case let .success(payload):
if let self = self, let viewer = payload.data.persist(context: self.persistentContainer.viewContext) {
promise(.success(viewer))
} else {
promise(.failure(.message(messageText: "coredata error")))
}
case .failure:
promise(.failure(.message(messageText: "http error")))
}
}
}
}
.eraseToAnyPublisher()
}
}
private struct ViewerInternal {
let userID: String
let username: String