Changes for version 1.999_003 - 2022-09-09
- Bug Fixes
- Setting a default for a slurpy parameter in Type::Params now warns and ignores the default instead of failing to compile because of a syntax error. Zhtwn++
- Other
- Added: Move two helper subs out of Type::Library and into Eval::TypeTiny, clean them up, and document them as part of the API (set_subname and type_to_coderef).
- Added: Type::Tiny now has an `exportables` method which provides a list of functions that the type can export. Type libraries now defer to this when deciding what they can export.
- Added: Type::Tiny::Class is now an exporter.
- Added: Type::Tiny::Duck is now an exporter.
- Added: Type::Tiny::Enum has an is_word_safe method which indicates whether all values in the enumeration are 'words' (i.e. contain only word characters).
- Added: Type::Tiny::Enum is now an exporter.
- Added: Type::Tiny::Role is now an exporter.
- Added: Word-safe enumerations export constants for each value.
- Major simplifications of Type::Library internals.
- The NICE_PROTOTYPES constant has been moved from Type::Library to Eval::TypeTiny, though a copy of it is still available in Type::Library for backwards compatibility.
- The intersection of two Type::Tiny::Enum objects is now a Type::Tiny::Enum instead of a Type::Tiny::Intersection.
- The union of two Type::Tiny::Enum objects is now a Type::Tiny::Enum instead of a Type::Tiny::Union.
- Type::Params will call default coderefs as a method for signatures where method => 1.
Changes for version 1.999_002 - 2022-09-07
- Bug Fixes
- Types::Common was not correctly handling the -sigs export tag.
- Documentation
- Fix up some heading levels in the pod for Type::Params.
- Update NEWS.
- Test Suite
- Better tests for `strictness` option in Type::Params.
- Improved tests for slurpy handling in Type::Params.
- The internal module Type::Params::Signature now has some tests of its own.
- Other
- Minor bugfixes and improvements to slurpy handling in Type::Params.
- The type_default method will accept parameters, and sort-of curry them.
Changes for version 1.999_001 - 2022-09-05
- Documentation
- Fix misspelling of 'GitHub' in documentation.
- Further revisions of Type::Manual.
- Update the SYNOPSIS for Types::Standard and Type::Tiny.
- Test Suite
- Tests for the `type_default` of all builtin types.
- Other
- Changes to the `type_default` for a few parameterized types.
- Types::Common now also extends Types::TypeTiny.
Changes for version 1.999_000 - 2022-09-04
- Documentation
- Updated Type::Tiny::Manual to cover new features.
- Other
- %Error::TypeTiny::CarpInternal is now an alias for %Carp::CarpInternal.
- Added: Type::Tiny `type_default` method.
- Added: Type::Tiny overloads `/`.
- Added: Types::Common module.
- The Type::Params API has had a major overhaul, introducing `signature` and `signature_for` functions. The `compile`, `compile_named`, `compile_named_oo`, `validate`, `validate_named`, `wrap_subs`, and `wrap_methods` functions are now considered the legacy API. There are no plans to drop support for the legacy API in the foreseeable future.
- Updated: Dropping support for Perl 5.6.1 (which was released in April 2001), 5.6.2 (November 2003), and Perl 5.8.0 (July 2002). Type::Tiny now requires at least Perl 5.8.1.
- Updated: Require Exporter::Tiny 1.004000+. (Previously required Exporter::Tiny 1.000000.)
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
shims to allow Type::Tiny to run on Perl 5.8.x
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
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-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
internals for the Types::Standard ArrayRef type constraint
internals for the Types::Standard CycleTuple type constraint
internals for the Types::Standard Dict type constraint
internals for the Types::Standard HashRef type constraint
internals for the Types::Standard Map type constraint
internals for the Types::Standard ScalarRef type constraint
internals for the Types::Standard StrMatch type constraint
internals for the Types::Standard Tied type constraint
internals for the Types::Standard Tuple type constraint
type constraints used internally by Type::Tiny
Provides
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
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