FutureEvent

public enum FutureEvent<T>

Event cases for Future result

  • FutureEvent can fail with a Swift Error or because it was cancelled

    See more

    Declaration

    Swift

    public enum Error : Swift.Error
  • Indicate a Future has completed with an Element of type T

    Declaration

    Swift

    case completed(T)
  • Indicate a Future could not complete due to FutureEvent.Error

    Declaration

    Swift

    case failed(Error)
  • Fold FutureEvent

    Declaration

    Swift

    public func fold<B>(
            onComplete: @escaping Function<T, B>,
            onCancelled: @escaping () -> B,
            onTimedOut: @escaping () -> B,
            onError: @escaping (Swift.Error) -> B
    ) -> B

    Parameters

    onComplete

    block to execute when event is .completed

    onCancelled

    block to execute when event is .failed(.cancelled)

    onError

    block to execute when event is .failed(.error) and/or when onComplete throws

    Return Value

    the given B

  • Map (transform) the event value

    Declaration

    Swift

    public func map<B>(_ transform: @escaping Function<T, B>) -> FutureEvent<B>

    Parameters

    transform

    the block to transform a completed event with

    Return Value

    transformed FutureEvent<B>

  • FlatMap (transform) the event

    Declaration

    Swift

    public func flatMap<B>(_ transform: @escaping Function<T, FutureEvent<B>>) -> FutureEvent<B>

    Parameters

    transform

    the block that transforms a value to a FutureEvent

    Return Value

    the transformed FutureEvent<B> on .completed or forwarded .failed case

  • Get the .completed value or the provided one when .failed

    Declaration

    Swift

    public func get(orElse block: @escaping @autoclosure () -> T) -> T

    Parameters

    block

    the closure to provide T in case self is not .completed

    Return Value

    the completed value or provided by closure

  • Convenience value getter

    • Return: value T or nil when not completed

    Declaration

    Swift

    public var value: T? { get }
  • Convenience error getter

    • Return: error or nil when completed or cancelled

    Declaration

    Swift

    public var error: Swift.Error? { get }
  • Convenience cancelled state getter

    • Return: true when cancelled

    Declaration

    Swift

    public var cancelled: Bool { get }
  • Convenience timeout state getter

    • Return: true when timed-out

    Declaration

    Swift

    public var timedOut: Bool { get }