ReplayLastSubjectType
public struct ReplayLastSubjectType<Element, ErrorType> where ErrorType : Error
                Abstraction over subject types able to keep the last object (CurrentValueSubject, BehaviorSubject, MutableProperty, Variable) from
reactive frameworks.
This abstraction uses concept similar to type-erasure or protocol witness pattern, wrapping the behaviour of concrete implementations and
delegating to them once the wrapper funcions are called.
- 
                  
                  
Upstream publisher that feeds data into this subject
Declaration
Swift
public let publisher: PublisherType<Element, ErrorType> - 
                  
                  
Downstream subscriber that subscribes to this subject and will receive events from it
Declaration
Swift
public let subscriber: SubscriberType<Element, ErrorType> - 
                  
                  
Reads the most recent element emitted by this subject. This subject can be seen as a variable in stateful programming style, it holds one value that can be read at any point using a getter function
() -> Element. Useful for bridging with the imperative world.Declaration
Swift
public var value: () -> Element - 
                  
                  
Creates an abstraction over subject types able to keep the last object (
CurrentValueSubject,BehaviorSubject,MutableProperty,Variable) from reactive frameworks.Declaration
Swift
public init( publisher: PublisherType<Element, ErrorType>, subscriber: SubscriberType<Element, ErrorType>, value: @escaping () -> Element)Parameters
publisherUpstream publisher that feeds events into this subject
subscriberDownstream subscriber that subscribes to this subject and will receive events from it
valueReads the most recent element emitted by this subject. This subject can be seen as a variable in stateful programming style, it holds one value that can be read at any point using a getter function
() -> Element. Useful for bridging with the imperative world. - 
                  
                  
Atomically mutate this subject’s value in a closure where you can read and write the current element value
Declaration
Swift
@discardableResult public func mutate<Result>(_ action: (inout Element) -> Result) -> ResultParameters
actionread and write the current value atomically, and optionally return something
Return Value
returns whatever is returned by the action closure, allowing to chain operations
 - 
                  
                  
Atomically mutate this subject’s value in a closure where you can read and write the current element value Before the mutation, a condition will be evaluated and the mutation will only happen when the result of this evaluation returns
true. This allows you to simulate the mutation before executing it.Declaration
Swift
@discardableResult public func mutate<Result>(when condition: @escaping (Result) -> Bool, action: (inout Element) -> Result) -> ResultParameters
conditiona predicate that, after simulating the mutation, allows you to decide if it should happen or not
actionread and write the current value atomically, and optionally return something
Return Value
returns whatever is returned by the action closure, allowing to chain operations
 
View on GitHub
        ReplayLastSubjectType Structure Reference