logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Types::Common::Numeric - drop-in replacement for MooseX::Types::Common::Numeric

Author

       Toby Inkster <tobyink@cpan.org>.

Bugs

       Please report any bugs to <https://github.com/tobyink/p5-type-tiny/issues>.

Description

       A drop-in replacement for MooseX::Types::Common::Numeric.

   Types
       The following types are similar to those described in MooseX::Types::Common::Numeric.

       •   PositiveNumPositiveOrZeroNumPositiveIntPositiveOrZeroIntNegativeNumNegativeOrZeroNumNegativeIntNegativeOrZeroIntSingleDigit

           "SingleDigit" interestingly accepts the numbers -9 to -1; not just 0 to 9.

       This module also defines an extra pair of type constraints not found in MooseX::Types::Common::Numeric.

       •   IntRange[`min,`max]

           Type constraint for an integer between min and max. For example:

             IntRange[1, 10]

           The maximum can be omitted.

             IntRange[10]   # at least 10

           The minimum and maximum are inclusive.

       •   NumRange[`min,`max]

           Type constraint for a number between min and max. For example:

             NumRange[0.1, 10.0]

           As with IntRange, the maximum can be omitted, and the minimum and maximum are inclusive.

           Exclusive  ranges can be useful for non-integer values, so additional parameters can be given to make
           the minimum and maximum exclusive.

             NumRange[0.1, 10.0, 0, 0]  # both inclusive
             NumRange[0.1, 10.0, 0, 1]  # exclusive maximum, so 10.0 is invalid
             NumRange[0.1, 10.0, 1, 0]  # exclusive minimum, so 0.1 is invalid
             NumRange[0.1, 10.0, 1, 1]  # both exclusive

           Making one of the limits exclusive means that a "<" or ">" operator will be used instead of the usual
           "<=" or ">=" operators.

Disclaimer Of Warranties

       THIS  PACKAGE  IS  PROVIDED  "AS  IS"  AND  WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

perl v5.40.1                                       2025-05-06                        Types::Common::Numeric(3pm)

Name

       Types::Common::Numeric - drop-in replacement for MooseX::Types::Common::Numeric

See Also

       Types::Standard, Types::Common::String.

       MooseX::Types::Common, MooseX::Types::Common::Numeric, MooseX::Types::Common::String.

Status

       This module is covered by the Type-Tiny stability policy.

See Also