Provided by: libmousex-types-perl_0.06-1_all bug

NAME

       MouseX::Types - Organize your Mouse types in libraries

SYNOPSIS

   Library Definition
         package MyLibrary;

         # predeclare our own types
         use MouseX::Types
           -declare => [qw(
               PositiveInt NegativeInt
           )];

         # import builtin types
         use MouseX::Types::Mouse 'Int';

         # type definition.
         subtype PositiveInt,
             as Int,
             where { $_ > 0 },
             message { "Int is not larger than 0" };

         subtype NegativeInt,
             as Int,
             where { $_ < 0 },
             message { "Int is not smaller than 0" };

         # type coercion
         coerce PositiveInt,
             from Int,
                 via { 1 };

         1;

   Usage
         package Foo;
         use Mouse;
         use MyLibrary qw( PositiveInt NegativeInt );

         # use the exported constants as type names
         has 'bar',
             isa    => PositiveInt,
             is     => 'rw';
         has 'baz',
             isa    => NegativeInt,
             is     => 'rw';

         sub quux {
             my ($self, $value);

             # test the value
             print "positive\n" if is_PositiveInt($value);
             print "negative\n" if is_NegativeInt($value);

             # coerce the value, NegativeInt doesn't have a coercion
             # helper, since it didn't define any coercions.
             $value = to_PositiveInt($value) or die "Cannot coerce";
         }

         1;

AUTHORS

       Kazuhiro Osawa <yappo <at> shibuya <doet> pl>

       Shawn M Moore

       tokuhirom

       Goro Fuji

       with plenty of code borrowed from MooseX::Types

REPOSITORY

         git clone git://github.com/yappo/p5-mousex-types.git MouseX-Types

SEE ALSO

       Mouse

       MooseX::Types

COPYRIGHT AND LICENSE

       Copyright (c) 2008-2010, Kazuhiro Osawa and partly based on MooseX::Types, which is (c)
       Robert Sedlacek.

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.