Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Types::TypeTiny

Name Types::TypeTiny
Version 1.012004
Located at /usr/share/perl5
File /usr/share/perl5/Types/TypeTiny.pm
Is Core No
Search CPAN for this module Types::TypeTiny
Documentation Types::TypeTiny
Module Details Types::TypeTiny


NAME

Types::TypeTiny - type constraints used internally by Type::Tiny


STATUS

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


DESCRIPTION

Dogfooding.

This isn't a real Type::Library-based type library; that would involve too much circularity. But it exports some type constraints which, while designed for use within Type::Tiny, may be more generally useful.

Types

  • StringLike >

    Accepts strings and objects overloading stringification.

  • HashLike[`a] >

    Accepts hashrefs and objects overloading hashification.

    Since Types::TypeTiny 1.012, may be parameterized with another type constraint like HashLike[Int] >.

  • ArrayLike[`a] >

    Accepts arrayrefs and objects overloading arrayfication.

    Since Types::TypeTiny 1.012, may be parameterized with another type constraint like ArrayLike[Int] >.

  • CodeLike >

    Accepts coderefs and objects overloading codification.

  • TypeTiny >

    Accepts blessed the Type::Tiny manpage objects.

  • _ForeignTypeConstraint >

    Any reference which to_TypeTiny recognizes as something that can be coerced to a Type::Tiny object.

    Yes, the underscore is included.

Coercion Functions

to_TypeTiny($constraint)
Promotes (or ``demotes'' if you prefer) a Moose::Meta::TypeConstraint object to a Type::Tiny object.

Can also handle the Validation::Class manpage objects. Type constraints built from Validation::Class objects deliberately ignore field filters when they do constraint checking (and go to great lengths to do so); using filters for coercion only. (The behaviour of coerce if we don't do that is just too weird!)

Can also handle any object providing check and get_message methods. (This includes the Mouse::Meta::TypeConstraint manpage objects.) If the object also provides has_coercion and coerce methods, these will be used too.

Can also handle coderefs (but not blessed coderefs or objects overloading &{}). Coderefs are expected to return true iff $_ passes the constraint. If $_ fails the type constraint, they may either return false, or die with a helpful error message.

Methods

These are implemented so that Types::TypeTiny->meta->get_type($foo) works, for rough compatibility with a real the Type::Library manpage type library.

meta
type_names
get_type($name)
has_type($name)
coercion_names
get_coercion($name)
has_coercion($name)


BUGS

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


SEE ALSO

the Type::Tiny manpage.


AUTHOR

Toby Inkster <tobyink@cpan.org>.


COPYRIGHT AND LICENCE

This software is copyright (c) 2013-2014, 2017-2021 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.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026