Provided by: libmoosex-types-structured-perl_0.36-1_all
NAME
MooseX::Meta::TypeConstraint::Structured - Structured type constraints
VERSION
version 0.36
DESCRIPTION
A structure is a set of Moose::Meta::TypeConstraint that are 'aggregated' in such a way as that they are all applied to an incoming list of arguments. The idea here is that a Type Constraint could be something like, "An "Int" followed by an "Int" and then a "Str"" and that this could be done so with a declaration like: Tuple[Int,Int,Str]; ## Example syntax So a structure is a list of type constraints (the "Int,Int,Str" in the above example) which are intended to function together.
ATTRIBUTES
type_constraints A list of Moose::Meta::TypeConstraint objects. constraint_generator
METHODS
validate Messing with validate so that we can support nicer error messages. generate_constraint_for ($type_constraints) Given some type constraints, use them to generate validation rules for an ref of values (to be passed at check time) parameterize (@type_constraints) Given a ref of type constraints, create a structured type. __infer_constraint_generator compile_type_constraint hook into compile_type_constraint so we can set the correct validation rules. create_child_type modifier to make sure we get the constraint_generator is_a_type_of is_subtype_of equals Override the base class behavior. type_constraints_equals Checks to see if the internal type constraints are equal. get_message Give you a better peek into what's causing the error. For now we stringify the incoming deep value with Devel::PartialDump and pass that on to either your custom error message or the default one. In the future we'll try to provide a more complete stack trace of the actual offending elements A subref or closure that contains the way we validate incoming values against a set of type constraints. This returns a CODEREF which generates a suitable constraint generator. Not user servicable, you'll never call this directly.
SEE ALSO
The following modules or resources may be of interest. Moose, Moose::Meta::TypeConstraint
SUPPORT
Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Types-Structured> (or bug-MooseX-Types-Structured@rt.cpan.org <mailto:bug-MooseX-Types-Structured@rt.cpan.org>). There is also a mailing list available for users of this distribution, at <http://lists.perl.org/list/moose.html>. There is also an irc channel available for users of this distribution, at "#moose" on "irc.perl.org" <irc://irc.perl.org/#moose>.
AUTHORS
• John Napiorkowski <jjnapiork@cpan.org> • Florian Ragwitz <rafl@debian.org> • XXXX XXX'XX (Yuval Kogman) <nothingmuch@woobling.org> • Tomas (t0m) Doran <bobtfish@bobtfish.net> • Robert Sedlacek <rs@474.at>
COPYRIGHT AND LICENSE
This software is copyright (c) 2008 by John Napiorkowski. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.24.1 2017-06-MooseX::Meta::TypeConstraint::Structured(3pm)