trusty (3) MooseX::Meta::TypeConstraint::Structured.3pm.gz

Provided by: libmoosex-types-structured-perl_0.30-1_all bug

NAME

       MooseX::Meta::TypeConstraint::Structured - Structured type constraints.

VERSION

       version 0.30

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

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>

       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.