/usr/share/perl5/MooX/Types/MooseLike/Numeric.pm is in libmoox-types-mooselike-numeric-perl 1.02-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | package MooX::Types::MooseLike::Numeric;
use strict;
use warnings FATAL => 'all';
use MooX::Types::MooseLike qw(exception_message);
use MooX::Types::MooseLike::Base;
use Exporter 5.57 'import';
our @EXPORT_OK = ();
our $VERSION = '1.02';
my $type_definitions = [
{
name => 'PositiveNum',
subtype_of => 'Num',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] > 0 },
message => sub { return exception_message($_[0], 'a positive number') },
},
{
name => 'PositiveOrZeroNum',
subtype_of => 'Num',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] >= 0 },
message => sub { return exception_message($_[0], 'a positive number or zero') },
},
{
name => 'PositiveInt',
subtype_of => 'Int',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] > 0 },
message => sub { return exception_message($_[0], 'a positive integer') },
},
{
name => 'PositiveOrZeroInt',
subtype_of => 'Int',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] >= 0 },
message => sub { return exception_message($_[0], 'a positive integer or zero') },
},
{
name => 'NegativeNum',
subtype_of => 'Num',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] < 0 },
message => sub { return exception_message($_[0], 'a negative number') },
},
{
name => 'NegativeOrZeroNum',
subtype_of => 'Num',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] <= 0 },
message => sub { return exception_message($_[0], 'a negative number or zero') },
},
{
name => 'NegativeInt',
subtype_of => 'Int',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] < 0 },
message => sub { return exception_message($_[0], 'a negative integer') },
},
{
name => 'NegativeOrZeroInt',
subtype_of => 'Int',
from => 'MooX::Types::MooseLike::Base',
test => sub { defined $_[0] and $_[0] <= 0 },
message => sub { return exception_message($_[0], 'a negative integer or zero') },
},
{
name => 'SingleDigit',
subtype_of => 'PositiveOrZeroInt',
from => 'MooX::Types::MooseLike::Numeric',
test => sub { defined $_[0] and $_[0] < 10 },
message => sub { return exception_message($_[0], 'a single digit') },
},
];
MooX::Types::MooseLike::register_types($type_definitions, __PACKAGE__,
'MooseX::Types::Common::Numeric');
our %EXPORT_TAGS = ('all' => \@EXPORT_OK);
1;
__END__
=head1 NAME
MooX::Types::MooseLike::Numeric - Moo types for numbers
=head1 SYNOPSIS
package MyPackage;
use Moo;
use MooX::Types::MooseLike::Numeric qw(PositiveInt);
has "daily_breathes" => (
isa => PositiveInt
);
=head1 DESCRIPTION
adapted from MooseX::Types::Common::Numeric
=head1 TYPES (subroutines)
Available types are listed below.
=over
=item PositiveNum
=item PositiveOrZeroNum
=item PositiveInt
=item PositiveOrZeroInt
=item NegativeNum
=item NegativeOrZeroNum
=item NegativeInt
=item NegativeOrZeroInt
=item SingleDigit
=back
|