Type::Tiny::XS(3pm)

Type::Tiny::XS3pm

Provides an xs boost for some of type::tiny's built-in type constraints

Usage

   use Types::Standard qw(Int);

Overview

This module is optionally used by Type::Tiny 0.045_03 and above to provide faster, C-based implementations of some type constraints. (This package has only core dependencies, and does not depend on Type::Tiny, so other data validation frameworks might also consider using it!)

Only the following three functions should be considered part of the supported API:

Type::Tiny::XS::get_coderef_for($type)

Given a supported type constraint name, such as "Int", returns a coderef that can be used to validate a parameter against this constraint.

Returns undef if this module cannot provide a suitable coderef.

Type::Tiny::XS::get_subname_for($type)

Like "get_coderef_for" but returns the name of such a sub as a string.

Returns undef if this module cannot provide a suitable sub name.

Type::Tiny::XS::is_known($coderef)

Returns true if the coderef was provided by Type::Tiny::XS.

In addition to the above functions, the subs returned by "get_coderef_for" and "get_subname_for" are considered part of the "supported API", but only for the lifetime of the Perl process that returned them.

To clarify, if you call get_subname_for("ArrayRef[Int]") in a script, this will return the name of a sub. That sub (which can be used to validate arrayrefs of integers) is now considered part of the supported API of Type::Tiny::XS until the script finishes running. Next time the script runs, there is no guarantee that the sub will continue to exist, or continue to do the same thing.

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.

Releases

6 releases since Debian 8 (Jessie); the text changed 5 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13

Bugs

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

Author

Toby Inkster <[email protected]> forked all this from Mouse::Util::TypeConstraints.

ArrayLike, HashLike, CodeLike, and StringLike constraints based on code by ikegami on StackOverflow.

<https://stackoverflow.com/a/64019481/1990570>.

From libtype-tiny-xs-perl 0.025-2+b1 in Debian 13 (Trixie). Parsed by carta from the page's man source.