package Specio::TypeChecks; use strict; use warnings; our $VERSION = '0.45'; use Exporter qw( import ); use Specio::Helpers qw( is_class_loaded ); use Scalar::Util qw( blessed ); our @EXPORT_OK = qw( does_role is_ArrayRef is_ClassName is_CodeRef is_HashRef is_Int is_Str isa_class ); sub is_ArrayRef { return ref $_[0] eq 'ARRAY'; } sub is_CodeRef { return ref $_[0] eq 'CODE'; } sub is_HashRef { return ref $_[0] eq 'HASH'; } sub is_Str { defined( $_[0] ) && !ref( $_[0] ) && ref( \$_[0] ) eq 'SCALAR' || ref( \( my $val = $_[0] ) eq 'SCALAR' ); } sub is_Int { ( defined( $_[0] ) && !ref( $_[0] ) && ref( \$_[0] ) eq 'SCALAR' || ref( \( my $val = $_[0] ) eq 'SCALAR' ) ) && $_[0] =~ /^[0-9]+$/; } sub is_ClassName { is_class_loaded( $_[0] ); } sub isa_class { blessed( $_[0] ) && $_[0]->isa( $_[1] ); } sub does_role { blessed( $_[0] ) && $_[0]->can('does') && $_[0]->does( $_[1] ); } 1; # ABSTRACT: Type checks used internally for Specio classes (it's not self-bootstrapping (yet?)) __END__ =pod =encoding UTF-8 =head1 NAME Specio::TypeChecks - Type checks used internally for Specio classes (it's not self-bootstrapping (yet?)) =head1 VERSION version 0.45 =head1 DESCRIPTION There's nothing public here. =for Pod::Coverage .* =head1 SUPPORT Bugs may be submitted at L<https://github.com/houseabsolute/Specio/issues>. I am also usually active on IRC as 'autarch' on C<irc://irc.perl.org>. =head1 SOURCE The source code repository for Specio can be found at L<https://github.com/houseabsolute/Specio>. =head1 AUTHOR Dave Rolsky <autarch@urth.org> =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2012 - 2019 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The full text of the license can be found in the F<LICENSE> file included with this distribution. =cut
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Constraint | Folder | 0755 |
|
|
Library | Folder | 0755 |
|
|
Role | Folder | 0755 |
|
|
Coercion.pm | File | 8.12 KB | 0644 |
|
Declare.pm | File | 18.75 KB | 0644 |
|
DeclaredAt.pm | File | 3.12 KB | 0644 |
|
Exception.pm | File | 2.88 KB | 0644 |
|
Exporter.pm | File | 3.76 KB | 0644 |
|
Helpers.pm | File | 3.3 KB | 0644 |
|
OO.pm | File | 10.33 KB | 0644 |
|
PartialDump.pm | File | 5.76 KB | 0644 |
|
Registry.pm | File | 2.13 KB | 0644 |
|
Subs.pm | File | 6.37 KB | 0644 |
|
TypeChecks.pm | File | 1.91 KB | 0644 |
|