Type::Nano(3pm) | User Contributed Perl Documentation | Type::Nano(3pm) |
Type::Nano - simple type constraint library for testing
use Type::Nano qw(Int); Int->check("42"); # true
This is a really basic implementation of Type::API::Constraint for testing modules that make use of type constraints, such as Type::Tie.
I'll stress that this module is only intended for use in testing. It was created to eliminate Type::Tie's testing dependency on Types::Standard. If your code supports Type::Nano, then your code should also automatically support Type::Tiny, Specio, MooseX::Types, and MouseX::Types with no extra effort. (Of course, some of those libraries do have some more features you may want to make extra effort to use! Inlining, for example.)
Type::Nano is not recommended for use in regular application code. Type::Tiny while bigger than Type::Nano, will be much faster at runtime, and offers better integration with Moo, Moose, Mouse, and a wide variety of other tools. Use that instead.
All that having been said, Type::Nano is compatible with: Type::Tie, Moo, Type::Tiny (e.g. you can use Type::Tiny's implementation of "ArrayRef" and Type::Nano's implementation of "Int", and combine them as "ArrayRef[Int]"), Class::XSConstructor, and Variable::Declaration.
Constructor
Methods
Types support the following methods:
Types overload "&{}" to do something like:
$type->check($value) or croak($type->get_message($value))
This module optionally exports the following type constraints:
It also optionally exports the following functions for creating new type constraints:
Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Type-Tie>.
IRC: support is available through in the #moops channel on irc.perl.org <http://www.irc.perl.org/channels.html>.
Type::API.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2018-2019 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.
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.
2021-02-07 | perl v5.32.1 |