Aion
view release on metacpan or search on metacpan
```
Файл lib/Role/Values/Stringify.pm:
```perl
package Role::Values::Stringify;
use Aion -role;
sub valsify {
my ($self) = @_;
join ", ", map $self->{$_}, sort keys %$self;
}
1;
```
Файл lib/Class/All/Stringify.pm:
```perl
package Class::All::Stringify;
use Aion;
lib/Aion.md view on Meta::CPAN
```
Файл lib/Role/Values/Stringify.pm:
```perl
package Role::Values::Stringify;
use Aion -role;
sub valsify {
my ($self) = @_;
join ", ", map $self->{$_}, sort keys %$self;
}
1;
```
Файл lib/Class/All/Stringify.pm:
```perl
package Class::All::Stringify;
use Aion;
lib/Aion.pm view on Meta::CPAN
die "has: not construct `$1`\!" unless exists $construct->{$1};
_resolv($construct->{$1}, $construct);
}ge;
$s
}
# конÑÑÑÑкÑоÑ
sub new {
my ($self, @errors) = create_from_params(@_);
die join "", "has:\n\n", map "* $_\n", @errors if @errors;
$self
}
# УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑвойÑÑва и вÑдаÑÑ Ð¾Ð±ÑÐµÐºÑ Ð¸ оÑибки
sub create_from_params {
my ($cls, %value) = @_;
$cls = ref $cls || $cls;
is_aion $cls;
lib/Aion.pm view on Meta::CPAN
1;
File lib/Role/Values/Stringify.pm:
package Role::Values::Stringify;
use Aion -role;
sub valsify {
my ($self) = @_;
join ", ", map $self->{$_}, sort keys %$self;
}
1;
File lib/Class/All/Stringify.pm:
package Class::All::Stringify;
use Aion;
lib/Aion/Type.pm view on Meta::CPAN
$v =~ s/^/'/;
$v =~ s/\z/'/;
$v
}
}
# СÑÑоковое пÑедÑÑавление
sub stringify {
my ($self) = @_;
my @args = map {
ref($_) && UNIVERSAL::isa($_, __PACKAGE__)?
$_->stringify:
$self->val_to_str($_)
} @{$self->{args}};
$self->{name} eq "Union"? join "", "( ", join(" | ", @args), " )":
$self->{name} eq "Intersection"? join "", "( ", join(" & ", @args), " )":
$self->{name} eq "Exclude"? (
@args == 1? join "", "~", @args:
join "", "~( ", join(" | ", @args), " )"
lib/Aion/Types.pm view on Meta::CPAN
our @EXPORT = our @EXPORT_OK = grep {
*{$Aion::Types::{$_}}{CODE} && !/^(_|(NaN|import|all|any|looks_like_number|reftype|blessed|prototype|set_prototype|subname|set_subname)\z)/n
} keys %Aion::Types::;
sub UNIVERSAL::Isa : ATTR(CODE) {
my ($pkg, $symbol, $referent, $attr, $data, $phase, $file, $line) = @_;
my $args_of_meth = "Arguments of method `" . *{$symbol}{NAME} . "`";
my $returns_of_meth = "Returns of method `" . *{$symbol}{NAME} . "`";
my $return_of_meth = "Return of method `" . *{$symbol}{NAME} . "`";
my @signature = map { ref($_)? $_: $pkg->can($_)->() } @$data;
my $ret = pop @signature;
my ($ret_array, $ret_scalar) = exists $ret->{is_wantarray}? @{$ret->{args}}: (Tuple([$ret]), $ret);
my $args = Tuple(\@signature);
my $sub = sub {
$args->validate(\@_, $args_of_meth);
wantarray? do {
#@< EOF
#
# Файл lib/Role/Values/Stringify.pm:
#@> lib/Role/Values/Stringify.pm
#>> package Role::Values::Stringify;
#>>
#>> use Aion -role;
#>>
#>> sub valsify {
#>> my ($self) = @_;
#>> join ", ", map $self->{$_}, sort keys %$self;
#>> }
#>>
#>> 1;
#@< EOF
#
# Файл lib/Class/All/Stringify.pm:
#@> lib/Class/All/Stringify.pm
#>> package Class::All::Stringify;
#>>
#>> use Aion;
( run in 0.552 second using v1.01-cache-2.11-cpan-65fba6d93b7 )