PredicateConstraint

public class PredicateConstraint<T> : Constraint

A data type that links a Predicate to an Error that describes why the predicate evaluation has failed.

  • Declaration

    Swift

    public typealias InputType = T
  • Create a new PredicateConstraint instance

    Declaration

    Swift

    public init<P>(predicate: P, error: Error) where T == P.InputType, P : Predicate

    Parameters

    predicate

    A Predicate to describes the evaluation rule.

    error

    An Error that describes why the evaluation has failed.

  • Create a new PredicateConstraint instance

    Declaration

    Swift

    public init<P>(predicate: P, error: @escaping (InputType) -> Error) where T == P.InputType, P : Predicate

    Parameters

    predicate

    A Predicate to describes the evaluation rule.

    error

    A generic closure that dynamically builds an Error to describe why the evaluation has failed.

  • Evaluates the input on the Predicate.

    Declaration

    Swift

    public func evaluate(with input: InputType) -> Result

    Parameters

    input

    The input to be validated.

    Return Value

    .success if the input is valid,.failure containing the Summary of the failing Constraints otherwise.