7a142a4a5e25fdaee98e27d9e05d6a438a0b18b5
[gitmo/MooseX-Types.git] / t / lib / TestWrapper.pm
1 package TestWrapper;
2 use Moose;
3
4 extends 'MooseX::TypeLibrary::Wrapper';
5 #use Class::C3;
6 #use base 'MooseX::TypeLibrary::Wrapper';
7
8 around type_export_generator => sub {
9     my $code = super();
10     return sub { $code->(@_) };
11 };
12
13 #sub type_export_generator {
14 #    my $class = shift;
15 #    my ($type, $full) = @_;
16 #    my $code = $class->next::method(@_);
17 #    return sub { $code->(@_) };
18 #}
19
20 around check_export_generator => sub {
21     my $code = super();
22     return sub {
23         return $code unless @_;
24         return $code->(@_);
25     };
26 };
27
28 #sub check_export_generator {
29 #    my $class = shift;
30 #    my ($type, $full, $undef_msg) = @_;
31 #    my $code = $class->next::method(@_);
32 #    return sub {
33 #        return $code unless @_;
34 #        return $code->(@_);
35 #    };
36 #}
37
38 around coercion_export_generator => sub {
39     my $code = super();
40     return sub {
41         my $value = $code->(@_);
42         die "coercion returned undef\n" unless defined $value;
43         return $value;
44     };
45 };
46
47 #sub coercion_export_generator {
48 #    my $class = shift;
49 #    my ($type, $full, $undef_msg) = @_;
50 #    my $code = $class->next::method(@_);
51 #    return sub {
52 #        my $val = $code->(@_);
53 #        die "coercion returned undef\n" unless defined $val;
54 #        return $val;
55 #    };
56 #}
57
58 1;