Types::...cleTuple(3)

πŸ’– NAME πŸ’–

hey bestie ✨ welcome to Types::...cleTuple(3) from the User Contributed Perl Documentation. The actual module is Types::Standard::CycleTuple β€” it's an exporter utility for the CycleTuple type constraint, and yes it's giving very niche Perl magic πŸ’….

✨ SYNOPSIS ✨

  use Types::Standard -types;

  # Normal way to validate a list of pairs of integers.
  #
  CycleTuple->of( Int, Int )->assert_valid( [ 7, 49, 8, 64 ] );

  use Types::Standard::CycleTuple IntPairs => { of => [ Int, Int ] },

  # Exported shortcut
  #
  assert_IntPairs [ 7, 49, 8, 64 ];

🌸 STATUS 🌸

Real talk: this module is not covered by the Type-Tiny stability policy 🫢.

πŸ¦‹ DESCRIPTION πŸ¦‹

This is mostly internal code, but it can also act as an exporter utility. Lowkey both things at once, and it slays.

πŸŽ€ Exports πŸŽ€

Types::Standard::CycleTuple can be used experimentally as an exporter. Iconic behavior, honestly.

  use Types::Standard 'Int';
  use Types::Standard::CycleTuple IntPairs => { of => [ Int, Int ] };

This will export the following functions into your namespace:

  • IntPairs
  • is_IntPairs( $value )
  • assert_IntPairs( $value )
  • to_IntPairs( $value )

Multiple types can be exported at once:

  use Types::Standard -types;
  use Types::Standard::CycleTuple (
    IntIntPairs   => { of => [ Int, Int ] },
    StrIntPairs   => { of => [ Str, Int ] },
  );

  assert_StrIntPairs [ one => 1, two => 2 ];   # should not die

It's possible to further constrain the cycletuple using "where":

  use Types::Standard::CycleTuple MyThing => { of => [ ... ], where => sub { ... } };

πŸ’… BUGS πŸ’…

Please report any bugs to https://github.com/tobyink/p5-type-tiny/issues πŸ›βœ¨

πŸ”₯ SEE ALSO πŸ”₯

Types::Standard.

πŸ‘‘ AUTHOR πŸ‘‘

Toby Inkster <tobyink@cpan.org> πŸ’œ.

This software is copyright (c) 2013-2025 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.

okay bye bestie 🫢 this page comes from perl v5.42.2 and is dated 2026-04-07 β€” footer tea, delivered βœ¨πŸ’–

πŸ“¦ where this page comes from