Declare::Constraints::Simple::Library::Array(3pm)

Declare::Constraints::Simple::Library::Array3pm

Array constraints

Usage

  # accept a list of pairs
  my $pairs_validation = IsArrayRef( HasArraySize(2,2) );
  # integer => object pairs
  my $pairs = And( OnEvenElements(IsInt), 
                   OnOddElements(IsObject) );
  # a three element array
  my $tri = And( HasArraySize(3,3),
                 OnArrayElements(0, IsInt,
                                 1, IsDefined,
                                 2, IsClass) );

Overview

This module contains all constraints that can be applied to array references.

Constraints

HasArraySize([$min, [$max]])

With $min defaulting to 1. So a specification of

  my $profile = HasArraySize;

checks for at least one value. To force an exact size of the array, specify the same values for both:

  my $profile = HasArraySize(3, 3);

OnArrayElements($key => $constraint, $key => $constraint, ...)

Applies the the $constraints to the corresponding $keys if they are present. For required keys see "HasArraySize".

OnEvenElements($constraint)

Runs the constraint on all even elements of an array. See also "OnOddElements".

OnOddElements($constraint)

Runs the constraint on all odd elements of an array. See also "OnEvenElements".

Releases

4 releases since Debian 10 (Buster); the text changed 1 time.

  1. 10
  2. 11–13

Author

Robert 'phaylon' Sedlacek "<[email protected]>"

From libdeclare-constraints-simple-perl 0.03-1.1 in Debian 13 (Trixie). Parsed by carta from the page's man source.