vds_ios/VDS/Publishers/Publisher+Bind.swift
Matt Bruce 0bbdf6ddf0 created publisher folder
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
2022-08-18 09:30:45 -05:00

25 lines
579 B
Swift

//
// Publisher+Bind.swift
// VDS
//
// Created by Matt Bruce on 8/18/22.
//
import Foundation
import Combine
public typealias Binding = Subscriber
public extension Publisher where Failure == Never {
func bind<B: Binding>(subscriber: B) -> AnyCancellable
where B.Failure == Never, B.Input == Output {
handleEvents(receiveSubscription: { subscription in
subscriber.receive(subscription: subscription)
})
.sink { value in
_ = subscriber.receive(value)
}
}
}