The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

NAME

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

STATUS

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

DESCRIPTION

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

Types

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

  • SimpleStr

  • NonEmptySimpleStr

  • NumericCode

  • LowerCaseSimpleStr

  • UpperCaseSimpleStr

  • Password

  • StrongPassword

  • NonEmptyStr

  • LowerCaseStr

  • UpperCaseStr

This module also defines some extra type constraints not found in MooseX::Types::Common::String.

  • StrLength[`min, `max]

    Type constraint for a string between min and max characters long. For example:

      StrLength[4, 20]

    It is sometimes useful to combine this with another type constraint in an intersection.

      (LowerCaseStr) & (StrLength[4, 20])

    The max length can be omitted.

      StrLength[10]   # at least 10 characters

    Lengths are inclusive.

  • DelimitedStr[`delimiter, `type, `min, `max, `ws]

    Parameterized constraint for delimited strings, such as comma-delimited.

    DelimitedStr[",", Int, 1, 3] will allow between 1 and 3 integers, separated by commas. So "1,42,-999" will pass the type constraint, but "Hello,45" will fail.

    The ws parameter allows optional whitespace surrounding the delimiters, as well as optional leading and trailing whitespace.

    The type, min, max, and ws paramaters are optional.

    Parameterized DelimitedStr type constraints will automatically have a coercion from ArrayRef[`type] which uses join to join by the delimiter. The plain unparameterized type constraint DelimitedStr has a coercion from ArrayRef[Str] which joins the strings using the list separator $" (which is a space by default).

BUGS

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

SEE ALSO

Types::Standard, Types::Common::Numeric.

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

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2013-2014, 2017-2022 by Toby Inkster.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

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.