Skip to content

Commit

Permalink
feedback: remove duplicate apply
Browse files Browse the repository at this point in the history
  • Loading branch information
twittemb committed Feb 19, 2021
1 parent e948f9b commit c6d0771
Showing 1 changed file with 3 additions and 18 deletions.
21 changes: 3 additions & 18 deletions Sources/Feedbacks/System/Feedback.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,10 @@ public struct Feedback {
case cancelOnNewState
case continueOnNewState

func apply<StateType: State>(
on sideEffect: @escaping (StateType) -> AnyPublisher<Event, Never>,
func apply<Input, Output>(
on sideEffect: @escaping (Input) -> AnyPublisher<Output, Never>,
willExecuteWithStrategy: @escaping (Feedback.Strategy) -> Void = { _ in }
) -> (AnyPublisher<StateType, Never>) -> AnyPublisher<Event, Never> {
return { states in
willExecuteWithStrategy(self)
switch self {
case .cancelOnNewState:
return states.map(sideEffect).switchToLatest().eraseToAnyPublisher()
case .continueOnNewState:
return states.flatMap(sideEffect).eraseToAnyPublisher()
}
}
}

func apply(
on sideEffect: @escaping (State) -> AnyPublisher<Event, Never>,
willExecuteWithStrategy: @escaping (Feedback.Strategy) -> Void = { _ in }
) -> (AnyPublisher<State, Never>) -> AnyPublisher<Event, Never> {
) -> (AnyPublisher<Input, Never>) -> AnyPublisher<Output, Never> {
return { states in
willExecuteWithStrategy(self)
switch self {
Expand Down

0 comments on commit c6d0771

Please sign in to comment.