MooseX::Meta::TypeConstraint::Structured - Structured type constraints
Contents
Attributes
type_constraints
A list of Moose::Meta::TypeConstraint objects.
constraint_generatorCopyright 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.36.0 2022-11-27 MooseX::Meta::T...int::Structured(3pm)
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.
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_generatorcompile_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_ofis_subtype_ofequals
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.
Name
MooseX::Meta::TypeConstraint::Structured - Structured type constraints
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>.
Version
version 0.36
