package Mouse::Util::TypeConstraints;
-use strict;
-use warnings;
-
-use Exporter;
+use Mouse::Util qw(does_role not_supported); # enables strict and warnings
use Carp qw(confess);
use Scalar::Util qw/blessed looks_like_number openhandle/;
-use Mouse::Util qw(does_role not_supported);
-use Mouse::Meta::Module; # class_of
use Mouse::Meta::TypeConstraint;
+use Mouse::Exporter;
+
+Mouse::Exporter->setup_import_methods(
+ as_is => [qw(
+ as where message from via
+ type subtype coerce class_type role_type enum
+ find_type_constraint
+ )],
-our @ISA = qw(Exporter);
-our @EXPORT = qw(
- as where message from via type subtype coerce class_type role_type enum
- find_type_constraint
+ _export_to_main => 1,
);
my %TYPE;
-my %COERCE;
-my %COERCE_KEYS;
sub as ($) {
return(as => $_[0]);
);
}
- sub optimized_constraints {
+ sub optimized_constraints { # DEPRECATED
Carp::cluck('optimized_constraints() has been deprecated');
return \%TYPE;
}
);
}
-sub typecast_constraints {
+sub typecast_constraints { # DEPRECATED
my($class, $pkg, $type, $value) = @_;
Carp::croak("wrong arguments count") unless @_ == 4;
return $TYPE{$spec} if exists $TYPE{$spec};
- my $meta = Mouse::Meta::Module::class_of($spec);
+ my $meta = Mouse::Util::get_metaclass_by_name($spec);
if(!$meta){
return;