Commit | Line | Data |
abd193e2 |
1 | package MooseX::Meta::TypeConstraint::Structured::Optional; |
2 | |
3 | use Moose; |
4 | use MooseX::Meta::TypeCoercion::Structured::Optional; |
5 | |
6 | extends 'Moose::Meta::TypeConstraint::Parameterizable'; |
7 | |
8 | around parameterize => sub { |
9 | my $orig = shift; |
10 | my $self = shift; |
11 | |
12 | my $ret = $self->$orig(@_); |
13 | |
14 | $ret->coercion(MooseX::Meta::TypeCoercion::Structured::Optional->new(type_constraint => $ret)); |
15 | |
16 | return $ret; |
17 | }; |
18 | |
19 | __PACKAGE__->meta->make_immutable(inline_constructor => 0); |
20 | |
21 | 1; |