Provided by: libtype-tie-perl_0.015-1_all bug

NAME

       Type::Nano - simple type constraint library for testing

SYNOPSIS

         use Type::Nano qw(Int);

         Int->check("42");  # true

RATIONALE

       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.

DESCRIPTION

   Object-Oriented Interface
       Constructor

       "Type::Nano->new(%parameters)"
           The constructor supports named parameters called "name" (a string), "constraint" (a
           coderef expected to return a boolean), and "parent" (a blessed Type::Nano object). Any
           other parameters passed to the constructor will be stored in the blessed hashred
           returned, but are ignored by Type::Nano.

       Methods

       Types support the following methods:

       "$type->check($value)"
           Checks the value against the constraint; returns a boolean.

       "$type->get_message($failing_value)"
           Returns an error message. Does not check the value.

       Types overload "&{}" to do something like:

         $type->check($value) or croak($type->get_message($value))

   Exports
       This module optionally exports the following type constraints:

       •   Any

       •   Defined

       •   Undef

       •   Ref

       •   ArrayRef

       •   HashRef

       •   CodeRef

       •   Object

       •   Str

       •   Bool

       •   Num

       •   Int

       It also optionally exports the following functions for creating new type constraints:

       •   "type $name, $coderef" or "type $coderef"

       •   "class_type $class"

       •   "role_type $role"

       •   "duck_type $name, \@methods" or "duck_type \@methods"

       •   "enum $name, \@values" or "enum \@values"

       •   "union $name, \@types" or "union \@types"

       •   "intersection $name, \@types" or "intersection \@types"

BUGS

       Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Type-Tie>.

SUPPORT

       IRC: support is available through in the #moops channel on irc.perl.org
       <http://www.irc.perl.org/channels.html>.

SEE ALSO

       Type::API.

AUTHOR

       Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE

       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.

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.