![]() |
![]()
| ![]() |
![]()
NAMETypes::Standard::Dict - exporter utility and utility functions for the Dict type constraint STATUSThis module is not covered by the Type-Tiny stability policy. DESCRIPTIONThis is mostly internal code, but has one public-facing function. Function
ExportsTypes::Standard::Dict can be used experimentally as an exporter. use Types::Standard 'Str'; use Types::Standard::Dict Credentials => { of => [ username => Str, password => Str, ] }; This will export the following functions into your namespace: Multiple types can be exported at once: use Types::Standard -types; use Types::Standard::Dict ( Credentials => { of => [ username => Str, password => Str, ] }, Headers => { of => [ 'Content-Type' => Optional[Str], 'Accept' => Optional[Str], 'User-Agent' => Optional[Str], ] }, ); # Exporting this separately so it can use the types defined by # the first export. use Types::Standard::Dict ( HttpRequestData => { of => [ credentials => Credentials, headers => Headers, url => Str, method => Enum[ qw( OPTIONS HEAD GET POST PUT DELETE PATCH ) ], ] }, ); assert_HttpRequestData( { credentials => { username => 'bob', password => 's3cr3t' }, headers => { 'Accept' => 'application/json' }, url => 'http://example.net/api/v1/stuff', method => 'GET', } ); It's possible to further constrain the hashref using "where": use Types::Standard::Dict MyThing => { of => [ ... ], where => sub { ... } }; BUGSPlease report any bugs to <https://github.com/tobyink/p5-type-tiny/issues>. SEE ALSOTypes::Standard. AUTHORToby Inkster <tobyink@cpan.org>. COPYRIGHT AND LICENCEThis 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 WARRANTIESTHIS 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.
|