Skip to content

Commit f4d9bfb

Browse files
authored
Merge pull request #64 from futuredapp/housekeep/internal-publisher
Housekeep: Make endpoint publisher internal
2 parents f8c9f6f + 5e5fcf1 commit f4d9bfb

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

Sources/FTAPIKit/Combine/EndpointPublisher.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import Combine
55

66
@available(iOS 13.0, tvOS 13.0, watchOS 6.0, macOS 10.15, *)
77
extension Publishers {
8-
public struct Endpoint<R, E: Error>: Publisher {
9-
public typealias Output = R
10-
public typealias Failure = E
8+
struct Endpoint<R, E: Error>: Publisher {
9+
typealias Output = R
10+
typealias Failure = E
1111

1212
typealias Builder = (@escaping (Result<R, E>) -> Void) -> URLSessionTask?
1313

1414
let builder: Builder
1515

16-
public func receive<S>(subscriber: S) where S: Subscriber, Failure == S.Failure, Output == S.Input {
16+
func receive<S>(subscriber: S) where S: Subscriber, Failure == S.Failure, Output == S.Input {
1717
let subscription = EndpointSubscription(subscriber: subscriber, builder: builder)
1818
subscriber.receive(subscription: subscription)
1919
}

Sources/FTAPIKit/Combine/URLServer+Combine.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,32 @@ import Combine
44

55
@available(iOS 13.0, tvOS 13.0, watchOS 6.0, macOS 10.15, *)
66
public extension URLServer {
7-
func publisher(endpoint: Endpoint) -> Publishers.Endpoint<Void, ErrorType> {
7+
func publisher(endpoint: Endpoint) -> AnyPublisher<Void, ErrorType> {
88
Publishers.Endpoint { completion in
99
self.call(endpoint: endpoint, completion: completion)
1010
}
11+
.eraseToAnyPublisher()
1112
}
1213

13-
func publisher(data endpoint: Endpoint) -> Publishers.Endpoint<Data, ErrorType> {
14+
func publisher(data endpoint: Endpoint) -> AnyPublisher<Data, ErrorType> {
1415
Publishers.Endpoint { completion in
1516
self.call(data: endpoint, completion: completion)
1617
}
18+
.eraseToAnyPublisher()
1719
}
1820

19-
func publisher<EP: ResponseEndpoint>(response endpoint: EP) -> Publishers.Endpoint<EP.Response, ErrorType> {
21+
func publisher<EP: ResponseEndpoint>(response endpoint: EP) -> AnyPublisher<EP.Response, ErrorType> {
2022
Publishers.Endpoint { completion in
2123
self.call(response: endpoint, completion: completion)
2224
}
25+
.eraseToAnyPublisher()
2326
}
2427

25-
func publisher(download endpoint: Endpoint) -> Publishers.Endpoint<URL, ErrorType> {
28+
func publisher(download endpoint: Endpoint) -> AnyPublisher<URL, ErrorType> {
2629
Publishers.Endpoint { completion in
2730
self.download(endpoint: endpoint, completion: completion)
2831
}
32+
.eraseToAnyPublisher()
2933
}
3034
}
3135

0 commit comments

Comments
 (0)