Checking in changes prior to tagging of version 0.63.
[gitmo/Mouse.git] / lib / Mouse / Util / TypeConstraints.pm
index 41a8247..e05b870 100644 (file)
@@ -17,6 +17,7 @@ Mouse::Exporter->setup_import_methods(
         coerce
 
         find_type_constraint
+        register_type_constraint
     )],
 );
 
@@ -367,6 +368,16 @@ sub find_type_constraint {
     return $TYPE{$spec};
 }
 
+sub register_type_constraint {
+    my($constraint) = @_;
+    Carp::croak("No type supplied / type is not a valid type constraint")
+        unless Mouse::Util::is_a_type_constraint($constraint);
+    my $name = $constraint->name;
+    Carp::croak("can't register an unnamed type constraint")
+        unless defined $name;
+    return $TYPE{$name} = $constraint;
+}
+
 sub find_or_parse_type_constraint {
     my($spec) = @_;
     return $spec if Mouse::Util::is_a_type_constraint($spec);
@@ -406,7 +417,7 @@ Mouse::Util::TypeConstraints - Type constraint system for Mouse
 
 =head1 VERSION
 
-This document describes Mouse version 0.60
+This document describes Mouse version 0.63
 
 =head2 SYNOPSIS