Types::Standard::Map − exporter utility for the Map type constraint
use
Types::Standard −types;
# Normal way to validate map.
#
Map−>of( Int, Str )−>assert_valid( { 1
=> "one" } );
use Types::Standard::Map IntsToStrs => { keys => Int,
values => Str },
# Exported shortcut
#
assert_IntsToStrs { 1 => "one" };
This module is not covered by the Type−Tiny stability policy.
This is mostly internal code, but can also act as an exporter utility.
Types::Standard::Map can be used experimentally as an exporter.
use
Types::Standard 'Int';
use Types::Standard::Map IntsToStrs => { keys => Int,
values => Str },
This will export
the following functions into your namespace:
"IntsToStrs"
is_IntsToStrs( $value )
assert_IntsToStrs( $value )
to_IntsToStrs( $value )
Multiple types can be exported at once:
use
Types::Standard −types;
use Types::Standard::Map (
IntsToStrs => { keys => Int, values => Str },
StrsToInts => { keys => Str, values => Int },
);
assert_StrsToInts { two => 2 }; # should not die
It's possible to further constrain the hashref using "where":
use
Types::Standard::Dict MyThing => {
keys => Str−>where( sub { ... } ),
values => Int−>where( sub { ... } ),
where => sub { ... },
};
Please report any bugs to <https://github.com/tobyink/p5−type−tiny/issues>.
Types::Standard.
Toby Inkster <[email protected]>.
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.
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.