Acme-Mitey-Cards
view release on metacpan or search on metacpan
lib/Acme/Mitey/Cards/Types/Source.pm view on Meta::CPAN
-declare => qw(
Card FaceCard JokerCard NumericCard Deck Hand Set Suit
CardArray CardNumber Character
);
use Type::Tiny::Class;
use Type::Utils ();
__PACKAGE__->add_type(
name => CardNumber,
parent => IntRange[ 1, 10 ],
);
CardNumber->coercion->add_type_coercions(
Enum['A', 'a'], q{1},
);
__PACKAGE__->add_type(
name => Character,
parent => Enum[ 'Jack', 'Queen', 'King' ],
);
__PACKAGE__->add_type(
'Type::Tiny::Class'->new(
name => Card,
class => 'Acme::Mitey::Cards::Card',
library => __PACKAGE__,
)
);
Card->coercion->add_type_coercions(
Str, q{'Acme::Mitey::Cards::Card'->from_string($_)},
);
__PACKAGE__->add_type(
name => CardArray,
parent => ArrayRef[Card],
coercion => 1,
);
__PACKAGE__->add_type(
'Type::Tiny::Class'->new(
name => FaceCard,
class => 'Acme::Mitey::Cards::Card::Face',
library => __PACKAGE__,
)
);
( run in 1.412 second using v1.01-cache-2.11-cpan-4d50c553e7e )