/// AsyncSequence that functions similar to the `Combine` `PassthroughSubject`. public final class PassthroughAsyncThrowingSequence: AsyncSequence { public private(set) var stream: AsyncThrowingStream! private var continuation: AsyncThrowingStream.Continuation! private lazy var iterator = stream.makeAsyncIterator() public init() { stream = AsyncThrowingStream { token in continuation = token } } public func makeAsyncIterator() -> AsyncThrowingStream.Iterator { iterator } public func yield(_ element: Element) { continuation.yield(element) } public func finish(throwing error: Error? = nil) { continuation.finish(throwing: error) } }