Check type constraint in the setter
[gitmo/Mouse.git] / lib / Mouse / TypeRegistry.pm
CommitLineData
d60c78b9 1#!/usr/bin/env perl
2package Mouse::TypeRegistry;
3use strict;
4use warnings;
5
6sub optimized_constraints {
7 return {
8 Any => sub { 1 },
9 Item => sub { 1 },
10 Bool => sub {
11 !defined($_) || $_ eq "" || "$_" eq '1' || "$_" eq '0'
12 },
13 Undef => sub { 1 },
14 Defined => sub { 1 },
15 Value => sub { 1 },
16 Num => sub { 1 },
17 Int => sub { 1 },
18 Str => sub { 1 },
19 ClassName => sub { 1 },
20 Ref => sub { 1 },
21 ScalarRef => sub { 1 },
22 ArrayRef => sub { 1 },
23 HashRef => sub { 1 },
24 CodeRef => sub { 1 },
25 RegexpRef => sub { 1 },
26 GlobRef => sub { 1 },
27 FileHandle => sub { 1 },
28 Object => sub { 1 },
29 };
30}
31
321;
33