table of contents
Type::Params::Parameter(3) | User Contributed Perl Documentation | Type::Params::Parameter(3) |
NAME¶
Type::Params::Parameter - internal representation of a parameter in a function signature
STATUS¶
This module is not covered by the Type-Tiny stability policy.
DESCRIPTION¶
This is mostly internal code, but can be used to provide basic introspection for signatures.
Constructor¶
Attributes¶
All attributes are read-only.
- "type" TypeTiny
- Type constraint for the parameter.
- "default" CodeRef|ScalarRef|Ref|Str|Undef
- A default for the parameter: either a coderef to generate a value, a reference to a string of Perl code to generate the value, an a reference to an empty array or empty hash, a literal string to use as a default, or a literal undef to use as a default.
- "strictness" Bool|ScalarRef
- A boolean indicating whether to be stricter with type checks, or a reference to a string of Perl code naming a Perl variable or constant which controls strict behaviour.
- "clone" Bool
- The method for accessing this is called "should_clone" for no particular reason.
- "coerce" Bool
- Defaults to true if "type" has a coercion.
- "optional" Bool
- Defaults to true if there is a "default" or if "type" is a subtype of Optional.
- "in_list" Bool
- Boolean that is only used when the signature has the "list_to_named" feature enabled.
- "default_on_undef" Bool
- Should the default be triggered if the caller passes an explicit undef?
Attributes related to named parameters
- "name" Str
- "alias" ArrayRef[Str]
- "getter" Str
- "predicate" Str
Methods¶
Predicates
Predicate methods return true/false to indicate the presence or absence of attributes.
- "has_type"
- "has_default"
- "has_strictness"
- "has_name"
- "has_alias"
Other methods
- "might_supply_new_value"
- Indicates that the parameter can't simply be referenced within @_ because a default value might be used, the given value might be coerced, or the given value might be cloned using Storable.
BUGS¶
Please report any bugs to <https://github.com/tobyink/p5-type-tiny/issues>.
SEE ALSO¶
Type::Params, Type::Params::Signature.
AUTHOR¶
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE¶
This software is copyright (c) 2023-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.
2025-05-01 | perl v5.42.0 |