If

public class If<E, P> where E : Error, P : AsyncBlockPerformer

A construct to build if/else-if/else statements predicated on a Link containing bool

  • Adds an async else clause to an existing if_ Example usage:

    let hb = HoneyBee.start().handlingErrors(with: someErrorHandler)
    
    let testAPassed = testAAsyncFunc(hb) // a Link<Bool, DefaultDispatchQueue>
    let testBPassed = testBAsyncFunc(hb) // a Link<Bool, DefaultDispatchQueue>
    if_ (testAPassed) {
        someAsyncNextStep(hb)(.nextStep)
    }.else_if (testBPassed) {
        someSuboptimalStep(hb)(.disappointed)
    }.else {
        someAsyncRemediationFunc(hb)
    }
    

    Declaration

    Swift

    public func `else`(_ action: @escaping () -> Void)
  • Adds an async else if clause to an existing if_ Example usage:

    let hb = HoneyBee.start().handlingErrors(with: someErrorHandler)

    let testAPassed = testAAsyncFunc(hb) // a Link let testBPassed = testBAsyncFunc(hb) // a Link if_ (testAPassed) { someAsyncNextStep(hb)(.nextStep) }.else_if (testBPassed) { someSuboptimalStep(hb)(.disappointed) }.else { someAsyncRemediationFunc(hb) }

    Declaration

    Swift

    @discardableResult
    public func else_if(_ condition: @autoclosure @escaping () -> Link<Bool, E, P>, _ action: @escaping () -> Void) -> ElseContext<E, P>