Changes for version 2.001_002 - 2022-12-03
- Test Suite
- Test `t/20-modules/Type-Tiny-Enum/exporter_lexical.t` will now run on older versions of Perl, provided Lexical::Sub is installed.
- Packaging
- Depend on Exporter::Tiny 1.006000 which offers lexical export support for older versions of Perl, provided Lexical::Sub is installed.
- Other
- If Type::Params signatures receive multiple unrecognized named arguments, the error message now lists them using Type::Utils::english_list() instead of just joining them with commas. This means that the error message will include 'and' before the last unrecognized named argument. If Type::Tiny::AvoidCallbacks is set to true while the signature is compiled, the old behaviour will be retained.
- Type::Params no longer attempts to figure out the maximum number of expected arguments to functions which take key-value pairs. This allows `yourfunc(y=>1,y=>2)` to behave more intuitively, with the function just seeing the second value for `y`, instead of it throwing an exception complaining about too many arguments.
Changes for version 2.001_001 - 2022-10-19
- Documentation
- Typo fix in Type::Tiny::Manual::UsingWithMoo.
- Other
- Type::Library will better detect if two types result in functions with the same name.
- Type::Tiny::XS will now provide XS implementations of some parameterized ArrayLike/HashLike types.
- When importing `use Type::Library -util`, Type::Library will now pass some relevant import options to Type::Utils.
Changes for version 2.001_000 - 2022-09-29
- Bug Fixes
- Avoid uninitialized warnings when creating a union between an Enum type and a non-Enum type. Diab Jerius++
- Documentation
- Clearer documentation of Types::TypeTiny::to_TypeTiny.
- Test Suite
- No longer report Type::Tie version at start of test suite, as Type::Tie is now bundled.
- Other
- Added: Type::Library now has an undocumented, but tested and hopefully stable `_remove_type` method.
- Added: Type::Tiny now has a `definition_context` attribute/method indicating the file and line number where a type constraint was first defined.
- The list of packages Type::Tiny considers to be 'internal' has been moved from Error::TypeTiny to Type::Tiny.
- Type::Tiny will now mark particular parts of its guts as readonly. Currently this is mainly used to prevent people pushing to and popping from type constraints which overload `@{}`.
Documentation
an overview of Type::Tiny
alphabetical list of all type constraints bundled with Type::Tiny
advanced information on coercions
contributing to Type::Tiny development.
how to install Type::Tiny
defining your own type libraries
Type::Tiny in non-object-oriented code
squeeze the most out of your CPU
advanced information on Type::Params
Type::Tiny policies
use of Type::Tiny with Class::Tiny
how to use Type::Tiny with Mite
basic use of Type::Tiny with Moo
advanced use of Type::Tiny with Moo
alternative use of Type::Tiny with Moo
how to use Type::Tiny with Moose
how to use Type::Tiny with Mouse
using Type::Tiny with Class::InsideOut, Params::Check, and Object::Accessor.
Type::Tiny for test suites
Modules
exceptions for Type::Tiny and friends
exception when a value fails a type constraint
exception for Eval::TypeTiny
exception for Type::Params
utility to evaluate a string of Perl code in a clean environment
alternative API for Eval::TypeTiny
improved type constraint exceptions in Reply
useful functions for testing the efficacy of type constraints
a set of coercions to a particular target type constraint
a set of coercions borrowed from Moose
a set of coercions to a union type constraint
tiny, yet Moo(se)-compatible type libraries
sub signature validation using Type::Tiny type constraints and coercions
parse type constraint strings
a glorified hashref for looking up type constraints
tie a variable to a type constraint
tiny, yet Moo(se)-compatible type constraint
type constraints based on the "isa" method
shared behavour for Type::Tiny::Class, etc
type constraints based on the "can" method
string enum type constraints
intersection type constraints
type constraints based on the "DOES" method
union type constraints
half-defined type constraint
half-completed overloaded operation
utility functions to make defining and using type constraints a little easier
the one stop shop
drop-in replacement for MooseX::Types::Common::Numeric
drop-in replacement for MooseX::Types::Common::String
bundled set of built-in types for Type::Tiny
type constraints used internally by Type::Tiny
Provides
in lib/Devel/TypeTiny/Perl58Compat.pm
in lib/Type/Params/Alternatives.pm
in lib/Type/Params/Parameter.pm
in lib/Type/Params/Signature.pm
in lib/Type/Parser.pm
in lib/Type/Parser.pm
in lib/Type/Parser.pm
in lib/Type/Tie.pm
in lib/Type/Tie.pm
in lib/Type/Tie.pm
in lib/Type/Tie.pm
in lib/Types/Standard/ArrayRef.pm
in lib/Types/Standard/CycleTuple.pm
in lib/Types/Standard/Dict.pm
in lib/Types/Standard/HashRef.pm
in lib/Types/Standard/Map.pm
in lib/Types/Standard/ScalarRef.pm
in lib/Types/Standard/StrMatch.pm
in lib/Types/Standard/Tied.pm
in lib/Types/Standard/Tuple.pm
Examples
- examples/benchmarking/benchmark-coercions.pl
- examples/benchmarking/benchmark-constraints.pl
- examples/benchmarking/benchmark-named-param-validation.pl
- examples/benchmarking/benchmark-param-validation.pl
- examples/benchmarking/versus-scalar-validation.pl
- examples/datetime-coercions.pl
- examples/jsoncapable.pl
- examples/nonempty.pl
- examples/page-numbers.pl