Functions

The following functions are available globally.

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R, E>(_ function: @escaping (A, B, C, ((R?, E?) -> Void)?) -> Void) -> TripleArgFunction<A, B, C, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R, E>(_ function: @escaping (A, B, ((R?, E?) -> Void)?) -> Void) -> DoubleArgFunction<A, B, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R, E>(_ function: @escaping (A, ((R?, E?) -> Void)?) -> Void) -> SingleArgFunction<A, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R, E>(_ function: @escaping (((R?, E?) -> Void)?) -> Void) -> ZeroArgFunction<R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R, E>(_ function: @escaping (((E?, R?) -> Void)?) -> Void) -> ZeroArgFunction<R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, E>(_ function: @escaping (A, B, C, ((E?) -> Void)?) -> Void) -> TripleArgFunction<A, B, C, Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, E>(_ function: @escaping (A, ((E?) -> Void)?) -> Void) -> SingleArgFunction<A, Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R>(_ function: @escaping (A, B, C, ((R) -> Void)?) -> Void) -> TripleArgFunction<A, B, C, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R>(_ function: @escaping (A, B, C, @escaping (R) -> Void) -> Void) -> TripleArgFunction<A, B, C, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R>(_ function: @escaping (A, B, ((R) -> Void)?) -> Void) -> DoubleArgFunction<A, B, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R>(_ function: @escaping (A, B, @escaping (R) -> Void) -> Void) -> DoubleArgFunction<A, B, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R>(_ function: @escaping (A, ((R) -> Void)?) -> Void) -> SingleArgFunction<A, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R>(_ function: @escaping (A, @escaping (R) -> Void) -> Void) -> SingleArgFunction<A, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R>(_ function: @escaping (@escaping (R) -> Void) -> Void) -> ZeroArgFunction<R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C>(_ function: @escaping (A, B, C, (() -> Void)?) -> Void) -> TripleArgFunction<A, B, C, Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C>(_ function: @escaping (A, B, C, @escaping () -> Void) -> Void) -> TripleArgFunction<A, B, C, Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B>(_ function: @escaping (A, B, (() -> Void)?) -> Void) -> DoubleArgFunction<A, B, Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B>(_ function: @escaping (A, B, @escaping () -> Void) -> Void) -> DoubleArgFunction<A, B, Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A>(_ function: @escaping (A, (() -> Void)?) -> Void) -> SingleArgFunction<A, Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A>(_ function: @escaping (A, @escaping () -> Void) -> Void) -> SingleArgFunction<A, Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0(_ function: @escaping ((() -> Void)?) -> Void) -> ZeroArgFunction<Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0(_ function: @escaping (@escaping () -> Void) -> Void) -> ZeroArgFunction<Void, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R>(_ function: @escaping () throws -> R) -> ZeroArgFunction<R, Error>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R>(_ function: @escaping (A) throws -> R) -> SingleArgFunction<A, R, Error>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R>(_ function: @escaping (A, B) throws -> R) -> DoubleArgFunction<A, B, R, Error>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R>(_ function: @escaping (A, B, C) throws -> R) -> TripleArgFunction<A, B, C, R, Error>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R>(_ function: @escaping () -> R) -> ZeroArgFunction<R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R>(_ function: @escaping (A) -> R) -> SingleArgFunction<A, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R>(_ function: @escaping (A, B) -> R) -> DoubleArgFunction<A, B, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R>(_ function: @escaping (A, B, C) -> R) -> TripleArgFunction<A, B, C, R, Never>

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R, E>(_ function: @escaping (@escaping (R?, E?) -> Void) -> Void) -> ZeroArgFunction<R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R, E>(_ function: @escaping (A, @escaping (R?, E?) -> Void) -> Void) -> SingleArgFunction<A, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R, E>(_ function: @escaping (A, B, @escaping (R?, E?) -> Void) -> Void) -> DoubleArgFunction<A, B, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R, E>(_ function: @escaping (A, B, C, @escaping (R?, E?) -> Void) -> Void) -> TripleArgFunction<A, B, C, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R, E>(_ function: @escaping (@escaping (E?, R?) -> Void) -> Void) -> ZeroArgFunction<R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R, E>(_ function: @escaping (A, @escaping (E?, R?) -> Void) -> Void) -> SingleArgFunction<A, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R, E>(_ function: @escaping (A, B, @escaping (E?, R?) -> Void) -> Void) -> DoubleArgFunction<A, B, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R, E>(_ function: @escaping (A, B, C, @escaping (E?, R?) -> Void) -> Void) -> TripleArgFunction<A, B, C, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<E>(_ function: @escaping (((E?) -> Void)?) -> Void) -> ZeroArgFunction<Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<E>(_ function: @escaping (@escaping (E?) -> Void) -> Void) -> ZeroArgFunction<Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, E>(_ function: @escaping (A, @escaping (E?) -> Void) -> Void) -> SingleArgFunction<A, Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, E>(_ function: @escaping (A, B, @escaping (E?) -> Void) -> Void) -> DoubleArgFunction<A, B, Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, E>(_ function: @escaping (A, B, C, @escaping (E?) -> Void) -> Void) -> TripleArgFunction<A, B, C, Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, E>(_ function: @escaping (A, B, ((E?) -> Void)?) -> Void) -> DoubleArgFunction<A, B, Void, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R, E>(_ function: @escaping (@escaping (Result<R, E>) -> Void) -> Void) -> ZeroArgFunction<R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking a single parameter

    Declaration

    Swift

    public func async1<A, R, E>(_ function: @escaping (A, @escaping (Result<R, E>) -> Void) -> Void) -> SingleArgFunction<A, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking two parameters

    Declaration

    Swift

    public func async2<A, B, R, E>(_ function: @escaping (A, B, @escaping (Result<R, E>) -> Void) -> Void) -> DoubleArgFunction<A, B, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking 3 parameters

    Declaration

    Swift

    public func async3<A, B, C, R, E>(_ function: @escaping (A, B, C, @escaping (Result<R, E>) -> Void) -> Void) -> TripleArgFunction<A, B, C, R, E> where E : Error

    Parameters

    function

    the function to wrap

  • Wraps an asynchronous function taking zero parameters

    Declaration

    Swift

    public func async0<R>(_ function: @escaping (((R) -> Void)?) -> Void) -> ZeroArgFunction<R, Never>

    Parameters

    function

    the function to wrap

  • Returns a link containing a bool which is the result of evaluating the equatable results of two links

    Declaration

    Swift

    public func == <Eq, E, P>(lhs: Link<Eq, E, P>, rhs: Link<Eq, E, P>) -> Link<Bool, E, P> where Eq : Equatable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing an equatable

    rhs

    a link containing an equatable

  • Returns a link containing a bool which is the result of evaluating the equatable result of a link and a raw equatable

    Declaration

    Swift

    public func == <Eq, E, P>(lhs: Link<Eq, E, P>, rhs: Eq) -> Link<Bool, E, P> where Eq : Equatable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing an equatable

    rhs

    an equatable

  • Returns a link containing a bool which is the result of evaluating the equatable result of a link and a raw equatable

    Declaration

    Swift

    public func == <Eq, E, P>(lhs: Eq, rhs: Link<Eq, E, P>) -> Link<Bool, E, P> where Eq : Equatable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    an equatable

    rhs

    a link containing an equatable

  • Returns a link containing a bool which is the result of compairing the comparable results of two links

    Declaration

    Swift

    public func < <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func < <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Cp) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func < <Cp, E, P>(lhs: Cp, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable results of two links

    Declaration

    Swift

    public func > <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func > <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Cp) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func > <Cp, E, P>(lhs: Cp, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable results of two links

    Declaration

    Swift

    public func <= <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func <= <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Cp) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func <= <Cp, E, P>(lhs: Cp, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable results of two links

    Declaration

    Swift

    public func >= <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a link containing a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func >= <Cp, E, P>(lhs: Link<Cp, E, P>, rhs: Cp) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a link containing a comparable

    rhs

    a comparable

  • Returns a link containing a bool which is the result of compairing the comparable result of a link and a comparable

    Declaration

    Swift

    public func >= <Cp, E, P>(lhs: Cp, rhs: Link<Cp, E, P>) -> Link<Bool, E, P> where Cp : Comparable, E : Error, P : AsyncBlockPerformer

    Parameters

    lhs

    a comparable

    rhs

    a link containing a comparable

  • A free-func to begin a async flow control statement 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 if_<E, P>(_ condition: Link<Bool, E, P>, _ action: @escaping () -> Void) -> If<E, P> where E : Error, P : AsyncBlockPerformer
  • Generated bind (partial apply) functions. bind argument to function. Type: 1 onto 1

    Declaration

    Swift

    public func bind<A, R>(_ function: @escaping (A) throws -> R, _ arg: A) -> () throws -> R
  • bind argument to function. Type: 1 onto 1

    Declaration

    Swift

    public func bind<A, R>(_ function: @escaping (A) -> R, _ arg: A) -> () -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func bind<A, B, R>(_ function: @escaping (A, B) throws -> R, _ arg: A) -> (B) throws -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func bind<A, B, R>(_ function: @escaping (A, B) -> R, _ arg: A) -> (B) -> R
  • bind argument to function. Type: 2 onto 2

    Declaration

    Swift

    public func bind<A, B, R>(_ function: @escaping (A, B) throws -> R, _ arg: B) -> (A) throws -> R
  • bind argument to function. Type: 2 onto 2

    Declaration

    Swift

    public func bind<A, B, R>(_ function: @escaping (A, B) -> R, _ arg: B) -> (A) -> R
  • bind argument to function. Type: instance curried 1 onto 2

    Declaration

    Swift

    public func bind<A, B, R>(_ function: @escaping (A) -> (B) throws -> R, _ arg: B) -> (A) throws -> R
  • bind argument to function. Type: instance curried 1 onto 2

    Declaration

    Swift

    public func bind<A, B, R>(_ function: @escaping (A) -> (B) -> R, _ arg: B) -> (A) -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func bind<A, R>(_ function: @escaping (A, A) throws -> R, _ arg: A) -> (A) throws -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func bind<A, R>(_ function: @escaping (A, A) -> R, _ arg: A) -> (A) -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func bind<A, C, R>(_ function: @escaping (A, A, C) throws -> R, _ arg: A) -> (A, C) throws -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func bind<A, C, R>(_ function: @escaping (A, A, C) -> R, _ arg: A) -> (A, C) -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func bind<A, C, R>(_ function: @escaping (A, A, C) throws -> R, _ arg: C) -> (A, A) throws -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func bind<A, C, R>(_ function: @escaping (A, A, C) -> R, _ arg: C) -> (A, A) -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func bind<A, C, R>(_ function: @escaping (A) -> (A, C) throws -> R, _ arg: C) -> (A, A) throws -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func bind<A, C, R>(_ function: @escaping (A) -> (A, C) -> R, _ arg: C) -> (A, A) -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A, B, C) throws -> R, _ arg: A) -> (B, C) throws -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A, B, C) -> R, _ arg: A) -> (B, C) -> R
  • bind argument to function. Type: 2 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A, B, C) throws -> R, _ arg: B) -> (A, C) throws -> R
  • bind argument to function. Type: 2 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A, B, C) -> R, _ arg: B) -> (A, C) -> R
  • bind argument to function. Type: instance curried 1 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A) -> (B, C) throws -> R, _ arg: B) -> (A, C) throws -> R
  • bind argument to function. Type: instance curried 1 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A) -> (B, C) -> R, _ arg: B) -> (A, C) -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A, B, C) throws -> R, _ arg: C) -> (A, B) throws -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A, B, C) -> R, _ arg: C) -> (A, B) -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A) -> (B, C) throws -> R, _ arg: C) -> (A, B) throws -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func bind<A, B, C, R>(_ function: @escaping (A) -> (B, C) -> R, _ arg: C) -> (A, B) -> R
  • bind argument to function. Type: 1 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) throws -> R, _ arg: A) -> (B, C, D) throws -> R
  • bind argument to function. Type: 1 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) -> R, _ arg: A) -> (B, C, D) -> R
  • bind argument to function. Type: 2 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) throws -> R, _ arg: B) -> (A, C, D) throws -> R
  • bind argument to function. Type: 2 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) -> R, _ arg: B) -> (A, C, D) -> R
  • bind argument to function. Type: instance curried 1 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A) -> (B, C, D) throws -> R, _ arg: B) -> (A, C, D) throws -> R
  • bind argument to function. Type: instance curried 1 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A) -> (B, C, D) -> R, _ arg: B) -> (A, C, D) -> R
  • bind argument to function. Type: 3 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) throws -> R, _ arg: C) -> (A, B, D) throws -> R
  • bind argument to function. Type: 3 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) -> R, _ arg: C) -> (A, B, D) -> R
  • bind argument to function. Type: instance curried 2 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A) -> (B, C, D) throws -> R, _ arg: C) -> (A, B, D) throws -> R
  • bind argument to function. Type: instance curried 2 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A) -> (B, C, D) -> R, _ arg: C) -> (A, B, D) -> R
  • bind argument to function. Type: 4 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) throws -> R, _ arg: D) -> (A, B, C) throws -> R
  • bind argument to function. Type: 4 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A, B, C, D) -> R, _ arg: D) -> (A, B, C) -> R
  • bind argument to function. Type: instance curried 3 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A) -> (B, C, D) throws -> R, _ arg: D) -> (A, B, C) throws -> R
  • bind argument to function. Type: instance curried 3 onto 4

    Declaration

    Swift

    public func bind<A, B, C, D, R>(_ function: @escaping (A) -> (B, C, D) -> R, _ arg: D) -> (A, B, C) -> R
  • bind argument to function. Type: 1 onto 1

    Declaration

    Swift

    public func =<< <A, R>(function: @escaping (A) throws -> R, arg: A) -> () throws -> R
  • bind argument to function. Type: 1 onto 1

    Declaration

    Swift

    public func =<< <A, R>(function: @escaping (A) -> R, arg: A) -> () -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func =<< <A, B, R>(function: @escaping (A, B) throws -> R, arg: A) -> (B) throws -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func =<< <A, B, R>(function: @escaping (A, B) -> R, arg: A) -> (B) -> R
  • bind argument to function. Type: 2 onto 2

    Declaration

    Swift

    public func =<< <A, B, R>(function: @escaping (A, B) throws -> R, arg: B) -> (A) throws -> R
  • bind argument to function. Type: 2 onto 2

    Declaration

    Swift

    public func =<< <A, B, R>(function: @escaping (A, B) -> R, arg: B) -> (A) -> R
  • bind argument to function. Type: instance curried 1 onto 2

    Declaration

    Swift

    public func =<< <A, B, R>(function: @escaping (A) -> (B) throws -> R, arg: B) -> (A) throws -> R
  • bind argument to function. Type: instance curried 1 onto 2

    Declaration

    Swift

    public func =<< <A, B, R>(function: @escaping (A) -> (B) -> R, arg: B) -> (A) -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func =<< <A, R>(function: @escaping (A, A) throws -> R, arg: A) -> (A) throws -> R
  • bind argument to function. Type: 1 onto 2

    Declaration

    Swift

    public func =<< <A, R>(function: @escaping (A, A) -> R, arg: A) -> (A) -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func =<< <A, C, R>(function: @escaping (A, A, C) throws -> R, arg: A) -> (A, C) throws -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func =<< <A, C, R>(function: @escaping (A, A, C) -> R, arg: A) -> (A, C) -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func =<< <A, C, R>(function: @escaping (A, A, C) throws -> R, arg: C) -> (A, A) throws -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func =<< <A, C, R>(function: @escaping (A, A, C) -> R, arg: C) -> (A, A) -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func =<< <A, C, R>(function: @escaping (A) -> (A, C) throws -> R, arg: C) -> (A, A) throws -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func =<< <A, C, R>(function: @escaping (A) -> (A, C) -> R, arg: C) -> (A, A) -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A, B, C) throws -> R, arg: A) -> (B, C) throws -> R
  • bind argument to function. Type: 1 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A, B, C) -> R, arg: A) -> (B, C) -> R
  • bind argument to function. Type: 2 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A, B, C) throws -> R, arg: B) -> (A, C) throws -> R
  • bind argument to function. Type: 2 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A, B, C) -> R, arg: B) -> (A, C) -> R
  • bind argument to function. Type: instance curried 1 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A) -> (B, C) throws -> R, arg: B) -> (A, C) throws -> R
  • bind argument to function. Type: instance curried 1 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A) -> (B, C) -> R, arg: B) -> (A, C) -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A, B, C) throws -> R, arg: C) -> (A, B) throws -> R
  • bind argument to function. Type: 3 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A, B, C) -> R, arg: C) -> (A, B) -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A) -> (B, C) throws -> R, arg: C) -> (A, B) throws -> R
  • bind argument to function. Type: instance curried 2 onto 3

    Declaration

    Swift

    public func =<< <A, B, C, R>(function: @escaping (A) -> (B, C) -> R, arg: C) -> (A, B) -> R
  • bind argument to function. Type: 1 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) throws -> R, arg: A) -> (B, C, D) throws -> R
  • bind argument to function. Type: 1 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) -> R, arg: A) -> (B, C, D) -> R
  • bind argument to function. Type: 2 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) throws -> R, arg: B) -> (A, C, D) throws -> R
  • bind argument to function. Type: 2 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) -> R, arg: B) -> (A, C, D) -> R
  • bind argument to function. Type: instance curried 1 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A) -> (B, C, D) throws -> R, arg: B) -> (A, C, D) throws -> R
  • bind argument to function. Type: instance curried 1 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A) -> (B, C, D) -> R, arg: B) -> (A, C, D) -> R
  • bind argument to function. Type: 3 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) throws -> R, arg: C) -> (A, B, D) throws -> R
  • bind argument to function. Type: 3 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) -> R, arg: C) -> (A, B, D) -> R
  • bind argument to function. Type: instance curried 2 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A) -> (B, C, D) throws -> R, arg: C) -> (A, B, D) throws -> R
  • bind argument to function. Type: instance curried 2 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A) -> (B, C, D) -> R, arg: C) -> (A, B, D) -> R
  • bind argument to function. Type: 4 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) throws -> R, arg: D) -> (A, B, C) throws -> R
  • bind argument to function. Type: 4 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A, B, C, D) -> R, arg: D) -> (A, B, C) -> R
  • bind argument to function. Type: instance curried 3 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A) -> (B, C, D) throws -> R, arg: D) -> (A, B, C) throws -> R
  • bind argument to function. Type: instance curried 3 onto 4

    Declaration

    Swift

    public func =<< <A, B, C, D, R>(function: @escaping (A) -> (B, C, D) -> R, arg: D) -> (A, B, C) -> R
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <B, C, CommonE, CommonP>(lhs: Link<B, CommonE, CommonP>, rhs: Link<C, CommonE, CommonP>) -> Link<(B, C), CommonE, CommonP> where CommonE : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, C, CommonE, CommonP>(lhs: Link<(X, Y), CommonE, CommonP>, rhs: Link<C, CommonE, CommonP>) -> Link<(X, Y, C), CommonE, CommonP> where CommonE : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, Z, C, CommonE, CommonP>(lhs: Link<(X, Y, Z), CommonE, CommonP>, rhs: Link<C, CommonE, CommonP>) -> Link<(X, Y, Z, C), CommonE, CommonP> where CommonE : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <B, C, E1, E2, CommonP>(lhs: Link<B, E1, CommonP>, rhs: Link<C, E2, CommonP>) -> Link<(B, C), Error, CommonP> where E1 : Error, E2 : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, C, E1, E2, CommonP>(lhs: Link<(X, Y), E1, CommonP>, rhs: Link<C, E2, CommonP>) -> Link<(X, Y, C), Error, CommonP> where E1 : Error, E2 : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, Z, C, E1, E2, CommonP>(lhs: Link<(X, Y, Z), E1, CommonP>, rhs: Link<C, E2, CommonP>) -> Link<(X, Y, Z, C), Error, CommonP> where E1 : Error, E2 : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <B, C, E, CommonP>(lhs: Link<B, E, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<(B, C), E, CommonP> where E : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, C, E, CommonP>(lhs: Link<(X, Y), E, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<(X, Y, C), E, CommonP> where E : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, Z, C, E, CommonP>(lhs: Link<(X, Y, Z), E, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<(X, Y, Z, C), E, CommonP> where E : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <B, C, E, CommonP>(lhs: Link<B, Never, CommonP>, rhs: Link<C, E, CommonP>) -> Link<(B, C), E, CommonP> where E : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, C, E, CommonP>(lhs: Link<(X, Y), Never, CommonP>, rhs: Link<C, E, CommonP>) -> Link<(X, Y, C), E, CommonP> where E : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, Z, C, E, CommonP>(lhs: Link<(X, Y, Z), Never, CommonP>, rhs: Link<C, E, CommonP>) -> Link<(X, Y, Z, C), E, CommonP> where E : Error, CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <B, C, CommonP>(lhs: Link<B, Never, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<(B, C), Never, CommonP> where CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, C, CommonP>(lhs: Link<(X, Y), Never, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<(X, Y, C), Never, CommonP> where CommonP : AsyncBlockPerformer
  • operator syntax for conjoin function

    Declaration

    Swift

    public func + <X, Y, Z, C, CommonP>(lhs: Link<(X, Y, Z), Never, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<(X, Y, Z, C), Never, CommonP> where CommonP : AsyncBlockPerformer
  • operator syntax for join left behavior

    Declaration

    Swift

    public func <+ <B, C, CommonE, CommonP>(lhs: Link<B, CommonE, CommonP>, rhs: Link<C, CommonE, CommonP>) -> Link<B, CommonE, CommonP> where CommonE : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to propagate

    rhs

    Link whose value to drop

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join left behavior

    Declaration

    Swift

    public func <+ <B, C, E1, E2, CommonP>(lhs: Link<B, E1, CommonP>, rhs: Link<C, E2, CommonP>) -> Link<B, Error, CommonP> where E1 : Error, E2 : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to propagate

    rhs

    Link whose value to drop

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join left behavior

    Declaration

    Swift

    public func <+ <B, C, E, CommonP>(lhs: Link<B, E, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<B, E, CommonP> where E : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to propagate

    rhs

    Link whose value to drop

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join left behavior

    Declaration

    Swift

    public func <+ <B, C, E, CommonP>(lhs: Link<B, Never, CommonP>, rhs: Link<C, E, CommonP>) -> Link<B, E, CommonP> where E : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to propagate

    rhs

    Link whose value to drop

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join left behavior

    Declaration

    Swift

    public func <+ <B, C, CommonP>(lhs: Link<B, Never, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<B, Never, CommonP> where CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to propagate

    rhs

    Link whose value to drop

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join right behavior

    Declaration

    Swift

    public func +> <B, C, CommonE, CommonP>(lhs: Link<B, CommonE, CommonP>, rhs: Link<C, CommonE, CommonP>) -> Link<C, CommonE, CommonP> where CommonE : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to drop

    rhs

    Link whose value to propagate

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join right behavior

    Declaration

    Swift

    public func +> <B, C, E1, E2, CommonP>(lhs: Link<B, E1, CommonP>, rhs: Link<C, E2, CommonP>) -> Link<C, Error, CommonP> where E1 : Error, E2 : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to drop

    rhs

    Link whose value to propagate

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join right behavior

    Declaration

    Swift

    public func +> <B, C, E, CommonP>(lhs: Link<B, Never, CommonP>, rhs: Link<C, E, CommonP>) -> Link<C, E, CommonP> where E : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to drop

    rhs

    Link whose value to propagate

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join right behavior

    Declaration

    Swift

    public func +> <B, C, E, CommonP>(lhs: Link<B, E, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<C, E, CommonP> where E : Error, CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to drop

    rhs

    Link whose value to propagate

    Return Value

    a Link which contains the value of the left-hand Link

  • operator syntax for join right behavior

    Declaration

    Swift

    public func +> <B, C, CommonP>(lhs: Link<B, Never, CommonP>, rhs: Link<C, Never, CommonP>) -> Link<C, Never, CommonP> where CommonP : AsyncBlockPerformer

    Parameters

    lhs

    Link whose value to drop

    rhs

    Link whose value to propagate

    Return Value

    a Link which contains the value of the left-hand Link

  • Undocumented

    Declaration

    Swift

    public func >> <B, CommonE, PerformerB, PerformerC>(lhs: Link<B, CommonE, PerformerB>, rhs: Link<Void, CommonE, PerformerC>) -> Link<B, CommonE, PerformerC> where CommonE : Error, PerformerB : AsyncBlockPerformer, PerformerC : AsyncBlockPerformer
  • Undocumented

    Declaration

    Swift

    public func >> <B, OtherE, PerformerB, PerformerC>(lhs: Link<B, OtherE, PerformerB>, rhs: Link<Void, Never, PerformerC>) -> Link<B, OtherE, PerformerC> where OtherE : Error, PerformerB : AsyncBlockPerformer, PerformerC : AsyncBlockPerformer
  • Undocumented

    Declaration

    Swift

    public func >> <B, PerformerB, PerformerC>(lhs: Link<B, Never, PerformerB>, rhs: Link<Void, Never, PerformerC>) -> Link<B, Never, PerformerC> where PerformerB : AsyncBlockPerformer, PerformerC : AsyncBlockPerformer
  • Undocumented

    Declaration

    Swift

    public func >> <B, E, PerformerB, PerformerC>(lhs: Link<B, E, PerformerB>, rhs: PerformerC) -> Link<B, E, PerformerC> where E : Error, PerformerB : AsyncBlockPerformer, PerformerC : AsyncBlockPerformer
  • Undocumented

    Declaration

    Swift

    public func >> <E, PerformerB, PerformerC>(lhs: Link<Void, E, PerformerB>, rhs: PerformerC) -> Link<Void, E, PerformerC> where E : Error, PerformerB : AsyncBlockPerformer, PerformerC : AsyncBlockPerformer
  • Undocumented

    Declaration

    Swift

    public func >> <B, E, PerformerC>(lhs: @autoclosure @escaping () -> B, rhs: Link<Void, E, PerformerC>) -> Link<B, E, PerformerC> where E : Error, PerformerC : AsyncBlockPerformer
  • Undocumented

    Declaration

    Swift

    public func >> <X, E, P>(lhs: Link<X, Never, P>, rhs: E.Type) -> Link<X, E, P> where E : Error, P : AsyncBlockPerformer