ConditionedAsyncConstraint
public class ConditionedAsyncConstraint<T> : AsyncConstraint
A structrure that links an AsyncPredicate
to an Error
that describes why the predicate evaluation has failed.
-
Declaration
Swift
public typealias InputType = T
-
Create a new
ConditionedAsyncConstraint
instanceDeclaration
Swift
public init<P>(predicate: P, error: Error) where T == P.InputType, P : AsyncPredicate
Parameters
predicate
An
AsyncPredicate
to describes the evaluation rule.error
An
Error
that describes why the evaluation has failed. -
Create a new
ConditionedAsyncConstraint
instanceDeclaration
Swift
public init<P>(predicate: P, error: @escaping (InputType) -> Error) where T == P.InputType, P : AsyncPredicate
Parameters
predicate
An
AsyncPredicate
to describes the evaluation rule.error
An generic closure that dynamically builds an
Error
to describe why the evaluation has failed. -
Add a condition
AsyncConstraint
.Declaration
Swift
public func add<C>(condition: C) where T == C.InputType, C : AsyncConstraint
Parameters
constraint
-
Asynchronous evaluates the input on the
Predicate
.Declaration
Parameters
input
The input to be validated.
queue
The queue on which the completion handler is executed.
completionHandler
The completion handler to call when the evaluation is complete. It takes a
Bool
parameter:result
.success
if the input is valid,.failure
containing theSummary
of the failingConstraint
s otherwise.