Type::Tiny::Class - Online Linux Manual Page
Section : 3pm
Updated : 2021-02-24
Source : perl v5.32.1
Note : User Contributed Perl Documentation
NAMEType::Tiny::Class − type constraints based on the "isa" method
STATUSThis module is covered by the Type-Tiny stability policy.
DESCRIPTIONType constraints of the general form { $_−>isa("Some::Class") }. This package inherits from Type::Tiny; see that for most documentation. Major differences are listed below:
Constructornew When the constructor is called on an instance of Type::Tiny::Class, it passes the call through to the constructor of the class for the constraint. So for example: my $type = Type::Tiny::Class−>new(class => "Foo::Bar");
my $obj = $type−>new(hello => "World");
say ref($obj); # prints "Foo::Bar"
This little bit of DWIM was borrowed from MooseX::Types::TypeDecorator, but Type::Tiny doesn't take the idea quite as far.
Attributesclass The class for the constraint. constraint Unlike Type::Tiny, you cannot pass a constraint coderef to the constructor. Instead rely on the default. inlined Unlike Type::Tiny, you cannot pass an inlining coderef to the constructor. Instead rely on the default. parent Parent is automatically calculated, and cannot be passed to the constructor.
Methodsplus_constructors($source, $method_name) Much like plus_coercions but adds coercions that go via a constructor. (In fact, this is implemented as a wrapper for plus_coercions.) Example: package MyApp::Minion;
use Moose; extends "MyApp::Person";
use Types::Standard qw( HashRef Str );
use Type::Utils qw( class_type );
my $Person = class_type({ class => "MyApp::Person" });
has boss => (
is => "ro",
isa => $Person−>plus_constructors(
HashRef, "new",
Str, "_new_from_name",
),
coerce => 1,
);
package main;
MyApp::Minion−>new(
...,
boss => "Bob", ## via MyApp::Person−>_new_from_name
);
MyApp::Minion−>new(
...,
boss => { name => "Bob" }, ## via MyApp::Person−>new
);
Because coercing HashRef via constructor is a common desire, if you call plus_constructors with no arguments at all, this is the default. $classtype−>plus_constructors(HashRef, "new")
$classtype−>plus_constructors() ## identical to above
This is handy for Moose/Mouse/Moo−based classes. stringifies_to($constraint) See Type::Tiny::ConstrainedObject. numifies_to($constraint) See Type::Tiny::ConstrainedObject. with_attribute_values($attr1 => $constraint1, ...) See Type::Tiny::ConstrainedObject.
BUGSPlease report any bugs to <https://github.com/tobyink/p5−type−tiny/issues>.
SEE ALSOType::Tiny::Manual. Type::Tiny. Moose::Meta::TypeConstraint::Class.
AUTHORToby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCEThis software is copyright (c) 2013−2014, 2017−2021 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. 0
Johanes Gumabo
Data Size : 13,767 byte
man-Type::Tiny::Class.3pmBuild : 2025-03-22, 13:26 :
Visitor Screen : x
Visitor Counter ( page / site ) : 4 / 1,208,745
Visitor ID : :
Visitor IP : 18.218.181.138 :
Visitor Provider : AMAZON-02 :
Provider Position ( lat x lon ) : 39.962500 x -83.006100 : x
Provider Accuracy Radius ( km ) : 1000 :
Provider City : Columbus :
Provider Province : Ohio , : ,
Provider Country : United States :
Provider Continent : North America :
Visitor Recorder : Version :
Visitor Recorder : Library :
Online Linux Manual Page : Version : Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 25.03.22
Online Linux Manual Page : Library : lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page : Library : lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base : Version : Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base : Library : lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.
ERROR : Need New Coding : (parse_manual_page_|254|Type::Tiny::Class.3pm|36/37|el══─{─══.|.el══─{─══. ds -- \|\(em\|
) (htmlprn|160|Type::Tiny::Class.3pm|36/37|.el══─{─══. ds -- — |.el══─{─══. ds -- \|\(em\|
) (parse_manual_page_|254|Type::Tiny::Class.3pm|43|br══─}─══|'br══─}─══
) (htmlprn|160|Type::Tiny::Class.3pm|43|'br══─}─══ |'br══─}─══
)