use warnings;
use metaclass;
-our $VERSION = '0.57';
+our $VERSION = '0.59';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
use base 'Moose::Meta::TypeConstraint';
-use Moose::Meta::TypeConstraint::Parameterized;
__PACKAGE__->meta->add_attribute('constraint_generator' => (
accessor => 'constraint_generator',
};
}
-sub parse_parameter_str {
- my ($self, $type_str) = @_;
- return find_or_create_isa_type_constraint($type_str);
-}
-
-sub parameterize {
- my ($self, @args) = @_;
-
- ## ugly hacking to deal with tc naming normalization issue
- my ($tc_name, $contained_tc);
- if (ref $args[0]) {
- $contained_tc = shift @args;
- $tc_name = $self->name .'['. $contained_tc->name .']';
- } else {
- ($tc_name, $contained_tc) = @args;
- }
-
- unless($contained_tc->isa('Moose::Meta::TypeConstraint')) {
- Moose->throw_error("The type parameter must be a Moose meta type");
- }
-
- return Moose::Meta::TypeConstraint::Parameterized->new(
- name => $tc_name,
- parent => $self,
- type_parameter => $contained_tc,
- );
-}
-
1;
=item B<generate_constraint_for>
-=item B<parse_parameter_str>
-
-Given a string, convert it to a Perl structure.
-
-=item B<parameterize>
-
-Given an array of type constraints, parameterize the current type constraint.
-
=item B<meta>
=back