NAME
Declare::Constraints::Simple::Library::Array - Array Constraints
SYNOPSIS
# 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) );
DESCRIPTION
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 $constraint
s to the corresponding $key
s 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
.
SEE ALSO
Declare::Constraints::Simple, Declare::Constraints::Simple::Library
AUTHOR
Robert 'phaylon' Sedlacek <phaylon@dunkelheit.at>
LICENSE AND COPYRIGHT
This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.