The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Type::API::Constraint - a rule that a value can be checked against, to determine whether it passes or fails

INTERFACE

Implementations of this interface are objects and MUST provide the following methods:

$constraint->check($value)

Checks that the value meets the constraint. Under normal operation should return true or false to indicate a pass or failure.

Exceptions should not be thrown when a value simply fails the constraint, but may be used for other exceptional conditions. (For example, if the check requires a database lookup to determine pass or failure, but the database is unavailable.)

$constraint->get_message($value)

Generates an message explaining that the value has failed the type constraint, and returns this messages as a string. This method does not need to check whether the value genuinely fails the constraint; it can assume that the check method has already been called.

Implementations MAY advertise that they support this interface by returning true for $constraint->DOES("Type::API::Constraint").

SEE ALSO

Implementations

The following CPAN classes are known to implement Type::API::Constraint:

Consumers

Some tools can make use of objects implementing Type::API::Constraint:

Others, such as Moose and Mouse require type constraints that implement a superset of this functionality.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2013 by Toby Inkster.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.