RequiredConstraint

public struct RequiredConstraint<T, E> : Constraint where T : Collection, E : Error

A Constraint that check whether the input collection is empty.

enum Failure: Error {
    case required
    case invalidEmail
}
let constraint = RequiredConstraint<String, Failure>(error: .required)
let result = constraint.evaluate(with: "hello@nsagora.com")
  • Returns a new RequiredConstraint instance.

    enum Failure: Error {
        case required
        case invalidEmail
    }
    
    let constraint = RequiredConstraint<String, Failure>(error: .required)
    let result = constraint.evaluate(with: "hello@nsagora.com")
    

    Declaration

    Swift

    public init(error: E)

    Parameters

    error

    An Error that describes why the evaluation has failed.

  • Returns a new RequiredConstraint instance.

    enum Failure: Error {
        case required
        case invalidEmail
    }
    
    let constraint = RequiredConstraint<String, Failure> { _ in .required }
    let result = constraint.evaluate(with: "hello@nsagora.com")
    

    Declaration

    Swift

    public init(errorBuilder: @escaping (T) -> E)

    Parameters

    error

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

  • Returns a new RequiredConstraint instance.

    enum Failure: Error {
        case required
        case invalidEmail
    }
    
    let constraint = RequiredConstraint<String, Failure> { .required }
    let result = constraint.evaluate(with: "hello@nsagora.com")
    

    Declaration

    Swift

    public init(errorBuilder: @escaping () -> E)

    Parameters

    error

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

  • Evaluates whether the input collection is empty or not.

    Declaration

    Swift

    public func evaluate(with input: T) -> Result<Void, Summary<E>>

    Parameters

    input

    The input collection to be validated.

    Return Value

    .success if the input is valid,.failure containing the Summary with the provided Error.