You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/_SharedTestUtilities/CombineExtensions.swift

20 lines
438 B
Swift

// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
import Combine
public extension AnyPublisher {
func firstValue() -> Output? {
var value: Output?
_ = self
.receiveOnMain(immediately: true)
.sink(
receiveCompletion: { _ in },
receiveValue: { result in value = result }
)
return value
}
}