Specio

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Moo" : "0",
            "Moose" : "2.1207",
            "Mouse" : "0",
            "Perl::Critic" : "1.138",
            "Perl::Critic::Moose" : "1.05",
            "Perl::Tidy" : "20210111",
            "Pod::Checker" : "1.74",
            "Pod::Coverage::TrustPod" : "0",
            "Pod::Tidy" : "0.10",
            "Pod::Wordlist" : "0",
            "Ref::Util" : "0.112",
            "Sub::Quote" : "0",
            "Test::CPAN::Changes" : "0.19",
            "Test::CPAN::Meta::JSON" : "0.16",
            "Test::EOL" : "0",
            "Test::Mojibake" : "0",
            "Test::More" : "0.88",
            "Test::NoTabs" : "0",
            "Test::Pod" : "1.41",
            "Test::Pod::Coverage" : "1.08",
            "Test::Portability::Files" : "0",
            "Test::Spelling" : "0.12",
            "Test::Version" : "2.05",
            "Test::Without::Module" : "0",
            "namespace::autoclean" : "0"
         }
      },
      "runtime" : {
         "recommends" : {
            "Ref::Util" : "0.112",
            "Sub::Util" : "1.40"
         },
         "requires" : {
            "B" : "0",
            "Carp" : "0",
            "Devel::StackTrace" : "0",
            "Eval::Closure" : "0",
            "Exporter" : "0",
            "IO::File" : "0",
            "List::Util" : "1.33",

cpanfile  view on Meta::CPAN

requires "Test::Fatal" => "0";
requires "Test::More" => "0.96";
requires "Try::Tiny" => "0";
requires "overload" => "0";
requires "parent" => "0";
requires "perl" => "5.008";
requires "re" => "0";
requires "strict" => "0";
requires "version" => "0.83";
requires "warnings" => "0";
recommends "Ref::Util" => "0.112";
recommends "Sub::Util" => "1.40";

on 'test' => sub {
  requires "ExtUtils::MakeMaker" => "0";
  requires "File::Spec" => "0";
  requires "FindBin" => "0";
  requires "Test::More" => "0.96";
  requires "Test::Needs" => "0";
  requires "lib" => "0";
  requires "open" => "0";

lib/Specio.pm  view on Meta::CPAN


=back

=head1 OPTIONAL PREREQS

There are several optional prereqs that if installed will make this
distribution better in some way.

=over 4

=item * L<Ref::Util>

Installing this will speed up a number of type checks for built-in types.

=item * L<XString>

If this is installed it will be loaded instead of the L<B> module if you have
Perl 5.10 or greater. This module is much more memory efficient than loading
all of L<B>.

=item * L<Sub::Util> or L<Sub::Name>

lib/Specio/Library/Builtins.pm  view on Meta::CPAN

use overload     ();
use re           ();
use Scalar::Util ();
use Specio::Constraint::Parameterizable;
use Specio::Declare;
use Specio::Helpers ();

BEGIN {
    local $@ = undef;
    my $has_ref_util
        = eval { require Ref::Util; Ref::Util->VERSION('0.112'); 1 };
    sub _HAS_REF_UTIL () {$has_ref_util}
}

declare(
    'Item',
    inline => sub {'1'}
);

declare(
    'Undef',

t/00-report-prereqs.dd  view on Meta::CPAN

                                      'Moo' => '0',
                                      'Moose' => '2.1207',
                                      'Mouse' => '0',
                                      'Perl::Critic' => '1.138',
                                      'Perl::Critic::Moose' => '1.05',
                                      'Perl::Tidy' => '20210111',
                                      'Pod::Checker' => '1.74',
                                      'Pod::Coverage::TrustPod' => '0',
                                      'Pod::Tidy' => '0.10',
                                      'Pod::Wordlist' => '0',
                                      'Ref::Util' => '0.112',
                                      'Sub::Quote' => '0',
                                      'Test::CPAN::Changes' => '0.19',
                                      'Test::CPAN::Meta::JSON' => '0.16',
                                      'Test::EOL' => '0',
                                      'Test::Mojibake' => '0',
                                      'Test::More' => '0.88',
                                      'Test::NoTabs' => '0',
                                      'Test::Pod' => '1.41',
                                      'Test::Pod::Coverage' => '1.08',
                                      'Test::Portability::Files' => '0',
                                      'Test::Spelling' => '0.12',
                                      'Test::Version' => '2.05',
                                      'Test::Without::Module' => '0',
                                      'namespace::autoclean' => '0'
                                    }
                    },
       'runtime' => {
                      'recommends' => {
                                        'Ref::Util' => '0.112',
                                        'Sub::Util' => '1.40'
                                      },
                      'requires' => {
                                      'B' => '0',
                                      'Carp' => '0',
                                      'Devel::StackTrace' => '0',
                                      'Eval::Closure' => '0',
                                      'Exporter' => '0',
                                      'IO::File' => '0',
                                      'List::Util' => '1.33',

xt/author/no-ref-util.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More 0.96;
use Test::Without::Module 'Ref::Util';

use Specio::Library::Builtins;

my @types = qw(
    ArrayRef
    CodeRef
    FileHandle
    GlobRef
    HashRef
    Object
    RegexpRef
    ScalarRef
);

for my $t (@types) {
    my $inline = t($t)->_inline_generator('$_[0]');
    unlike(
        $inline,
        qr/Ref::Util/,
        "inline code for $t does not use Ref::Util when it is not available"
    );
}

open my $fh, '<', 't/builtins-sanity.t' or die $!;
## no critic (BuiltinFunctions::ProhibitStringyEval, ErrorHandling::RequireCheckingReturnValueOfEval)
eval do { local $/ = undef; <$fh> };
die $@ if $@;
close $fh or die $!;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.906 second using v1.00-cache-2.02-grep-82fe00e-cpan-503542c4f10 )