Listener

public class Listener<State>

Represent a single listener settings

  • Listener disposer. Follow Disposer documentation for more info

    Declaration

    Swift

    public let disposer: Disposer

Methods(Public)

  • Notifying listener with new information

    Declaration

    Swift

    public func trigger(with state: State)

    Parameters

    state

    New information send from Event

Methods(Confuguration)

  • Specifying queue on what event needs to be triggered

    Declaration

    Swift

    @discardableResult
    public func onQueue(_ queue: DispatchQueue) -> Listener<State>

    Parameters

    queue

    Execution queue. By default is .main

    Return Value

    Same listener for next setup

  • SPecifying if event need to be triggered only once

    Declaration

    Swift

    @discardableResult
    public func once() -> Listener<State>

    Return Value

    Same listener for next setup

  • Filtering out triggers based on new information

    Declaration

    Swift

    @discardableResult
    public func filter(by closure: @escaping (State) -> Bool) -> Listener<State>

    Parameters

    closure

    Filtering closure. Should return true if event needs to be triggered

    Return Value

    Same listener for next setup

  • Providing a closure that needs to be triggered

    Declaration

    Swift

    @discardableResult
    public func perform(_ closure: @escaping (State) -> Void) -> Listener<State>

    Parameters

    closure

    Triggering closure

    Return Value

    Same listener for next setup

  • Binding listener to event that have same State

    Declaration

    Swift

    @discardableResult
    public func bind(to event: Event<State>) -> Listener<State>

    Parameters

    event

    Binding event

    Return Value

    Same listener for next setup

  • Providing dispose bag for automatic disposing

    Declaration

    Swift

    @discardableResult
    public func dispose(by disposeBag: DisposeBag) -> Listener<State>

    Parameters

    disposeBag

    Dispose bag

    Return Value

    Same listener for next setup

Available where State: Equatable

  • Filtering triggers based on list of values if State conform to Equatable

    Declaration

    Swift

    public func filter(by values: State...)

    Parameters

    values

    Values that will allow triggering