where { !defined($_) || $_ eq "" || "$_" eq '1' || "$_" eq '0' };
subtype 'Value' => as 'Defined' => where { !ref($_) } =>
- inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineValue();
+ inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineValue;
subtype 'Ref' => as 'Defined' => where { ref($_) } =>
inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineRef;
inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineNum;
subtype 'Int' => as 'Num' => where { "$_" =~ /^-?[0-9]+$/ } =>
- optimize_as \&Moose::Util::TypeConstraints::OptimizedConstraints::Int;
+ inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineInt;
subtype 'CodeRef' => as 'Ref' => where { ref($_) eq 'CODE' } =>
- optimize_as \&Moose::Util::TypeConstraints::OptimizedConstraints::CodeRef;
+ inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineCodeRef;
subtype 'RegexpRef' => as 'Ref' => where { ref($_) eq 'Regexp' } =>
- optimize_as
- \&Moose::Util::TypeConstraints::OptimizedConstraints::RegexpRef;
+ inline_as
+ Moose::Util::TypeConstraints::OptimizedConstraints::InlineRegexpRef;
subtype 'GlobRef' => as 'Ref' => where { ref($_) eq 'GLOB' } =>
- optimize_as \&Moose::Util::TypeConstraints::OptimizedConstraints::GlobRef;
+ inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineGlobRef;
# NOTE:
# scalar filehandles are GLOB refs,
# but a GLOB ref is not always a filehandle
subtype 'FileHandle' => as 'GlobRef' => where {
Scalar::Util::openhandle($_) || ( blessed($_) && $_->isa("IO::Handle") );
-} => optimize_as
- \&Moose::Util::TypeConstraints::OptimizedConstraints::FileHandle;
+} => inline_as
+ Moose::Util::TypeConstraints::OptimizedConstraints::InlineFileHandle;
# NOTE:
# blessed(qr/.../) returns true,.. how odd
subtype 'Object' => as 'Ref' =>
where { blessed($_) && blessed($_) ne 'Regexp' } =>
- optimize_as \&Moose::Util::TypeConstraints::OptimizedConstraints::Object;
+ inline_as Moose::Util::TypeConstraints::OptimizedConstraints::InlineObject;
# This type is deprecated.
subtype 'Role' => as 'Object' => where { $_->can('does') } =>
my $_class_name_checker = sub { };
subtype 'ClassName' => as 'Str' =>
- where { Class::MOP::is_class_loaded($_) } => optimize_as
- \&Moose::Util::TypeConstraints::OptimizedConstraints::ClassName;
+ where { Class::MOP::is_class_loaded($_) } => inline_as
+ Moose::Util::TypeConstraints::OptimizedConstraints::InlineClassName;
subtype 'RoleName' => as 'ClassName' => where {
(Class::MOP::class_of($_) || return)->isa('Moose::Meta::Role');
-} => optimize_as
- \&Moose::Util::TypeConstraints::OptimizedConstraints::RoleName;
+} => inline_as
+ Moose::Util::TypeConstraints::OptimizedConstraints::InlineRoleName;
## --------------------------------------------------------
# parameterizable types ...
use warnings;
use Class::MOP;
-use Scalar::Util 'blessed', 'looks_like_number';
our $VERSION = '1.01';
$VERSION = eval $VERSION;
q{!ref($_[0]) && Scalar::Util::looks_like_number($_[0])}
}
-sub Int { defined($_[0]) && !ref($_[0]) && $_[0] =~ /^-?[0-9]+$/ }
+sub InlineInt {
+ q{defined($_[0]) && !ref($_[0]) && $_[0] =~ /^-?[0-9]+$/}
+}
+
+# XXX: not used yet
+sub InlineScalarRef { q{ref($_[0]) eq 'SCALAR' || ref($_[0]) eq 'REF'} }
+sub InlineArrayRef { q{ref($_[0]) eq 'ARRAY'} }
+sub InlineHashRef { q{ref($_[0]) eq 'HASH'} }
+sub InlineCodeRef { q{ref($_[0]) eq 'CODE'} }
+sub InlineRegexpRef { q{ref($_[0]) eq 'Regexp'} }
+sub InlineGlobRef { q{ref($_[0]) eq 'GLOB'} }
sub ScalarRef { ref($_[0]) eq 'SCALAR' || ref($_[0]) eq 'REF' }
sub ArrayRef { ref($_[0]) eq 'ARRAY' }
sub RegexpRef { ref($_[0]) eq 'Regexp' }
sub GlobRef { ref($_[0]) eq 'GLOB' }
-sub FileHandle { ref($_[0]) eq 'GLOB' && Scalar::Util::openhandle($_[0]) or blessed($_[0]) && $_[0]->isa("IO::Handle") }
+sub InlineFileHandle {
+ q{(ref($_[0]) eq 'GLOB' && Scalar::Util::openhandle($_[0]))}
+ . q{ or (Scalar::Util::blessed($_[0]) && $_[0]->isa('IO::Handle'))}
+}
-sub Object { blessed($_[0]) && blessed($_[0]) ne 'Regexp' }
+sub InlineObject {
+ q{Scalar::Util::blessed($_[0]) && Scalar::Util::blessed($_[0]) ne 'Regexp'}
+}
-sub Role { Carp::cluck('The Role type is deprecated.'); blessed($_[0]) && $_[0]->can('does') }
+sub Role { Carp::cluck('The Role type is deprecated.'); Scalar::Util::blessed($_[0]) && $_[0]->can('does') }
-sub ClassName {
- return Class::MOP::is_class_loaded( $_[0] );
-}
+sub InlineClassName { q{Class::MOP::is_class_loaded($_[0])} }
-sub RoleName {
- ClassName($_[0])
- && (Class::MOP::class_of($_[0]) || return)->isa('Moose::Meta::Role')
+sub InlineRoleName {
+ InlineClassName()
+ . q{ && (Class::MOP::class_of($_[0]) || return)->isa('Moose::Meta::Role')}
}
# NOTE: