Declare::Constraints::Simple::Library::Array - Array Constraints
Contents
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".
Description
This module contains all constraints that can be applied to array references.
License And Copyright
This module is free software, you can redistribute it and/or modify it under the same terms as perl
itself.
perl v5.32.0 2021-01-09 Declare::Constr...:Library::Array(3pm)
Name
Declare::Constraints::Simple::Library::Array - Array Constraints
See Also
Declare::Constraints::Simple, Declare::Constraints::Simple::Library
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) );
