File Coverage

blib/lib/Evo/Export.pm
Criterion Covered Total %
statement 124 124 100.0
branch 32 58 55.1
condition n/a
subroutine 26 26 100.0
pod 5 9 55.5
total 187 217 86.1


line stmt bran cond sub pod time code
1             package Evo::Export;
2 55     186   24517 use Evo '::Meta';
  55         128  
  55         1042  
3              
4              
5             my $META = Evo::Export::Meta->find_or_bind_to(__PACKAGE__);
6              
7 124 50   124 0 501 sub install_in ($me, $dest, $from, @list) {
  124         280  
  124         254  
  124         304  
  124         478  
  124         253  
8 124         646 Evo::Export::Meta->find_or_bind_to($from)->install($dest, @list);
9             }
10              
11 578 50   578 0 1647 sub Export ($pkg, $code, $name, $as = $name) : Attr {
  578 50       1533  
  578 100       1094  
  578         953  
  578         934  
  578         1420  
  578         907  
12 578 50       1381 $name or (undef, $name) = Evo::Lib::Bare::code2names($code);
13 578         2216 Evo::Export::Meta->find_or_bind_to($pkg)->export_code($as, $code);
14 55     135   28077 }
  55         51439  
  55         438  
15              
16 540 50   540 0 1524 sub ExportGen ($pkg, $gen, $name, $as = $name) : Attr {
  540 50       1376  
  540 100       987  
  540         1030  
  540         954  
  540         1229  
  540         937  
17 540 50       1315 $name or (undef, $name) = Evo::Lib::Bare::code2names($gen);
18 540         1965 Evo::Export::Meta->find_or_bind_to($pkg)->export_gen($as, $gen);
19 55     55   12995 }
  55         116  
  55         222  
20              
21 266 50   266   1291 sub import ($self, @list) {
  266         674  
  266         1000  
  266         537  
22 266         641 my $dest = scalar caller;
23 266         1633 Evo::Export::Meta->find_or_bind_to($dest);
24 266 100       1007 @list = ('*') unless @list;
25 266         899 Evo::Export::Meta->find_or_bind_to($self)->install($dest, @list);
26             }
27              
28 203 50   203   4121 sub _import ($self, @list) : Export(import) {
  203         488  
  203         787  
  203         513  
29 203         502 my $dest = scalar caller;
30 203         802 Evo::Export::Meta->find_or_bind_to($self)->install($dest, @list);
31 55     55   13672 }
  55         121  
  55         241  
32              
33              
34 223 50   223 1 732 sub EXPORT ($me, $dest) : ExportGen {
  223 50       668  
  223         423  
  223         419  
  223         391  
35             sub {
36 4     4   1321 Evo::Export::Meta->find_or_bind_to($dest);
37 223         1553 };
38 55     55   9744 }
  55         120  
  55         217  
39              
40 1 50   1 0 9 sub import_all ($exporter, @list) : Export {
  1         4  
  1         8  
  1         4  
41 1 50       8 @list = ('*') unless @list;
42 1         12 Evo::Export::Meta->find_or_bind_to($exporter)->install(scalar caller, @list);
43 55     55   9544 }
  55         136  
  55         234  
44              
45 223 50   223 1 691 sub export_gen ($me, $dst) : ExportGen {
  223 50       657  
  223         453  
  223         454  
  223         408  
46 2 50   2   34 sub ($name, $gen) {
  2 50       6  
  2         5  
  2         4  
  2         3  
47 2         15 Evo::Export::Meta->find_or_bind_to($dst)->export_gen($name, $gen);
48 223         1608 };
49 55     55   11347 }
  55         127  
  55         225  
50              
51 223 50   223 1 758 sub export_code ($me, $dst) : ExportGen {
  223 50       640  
  223         459  
  223         460  
  223         376  
52 1 50   1   10 sub ($name, $fn) {
  1 50       4  
  1         3  
  1         2  
  1         2  
53 1         5 Evo::Export::Meta->find_or_bind_to($dst)->export_code($name, $fn);
54 223         1620 };
55 55     55   10714 }
  55         128  
  55         222  
56              
57 223 50   223 1 701 sub export ($me, $dst) : ExportGen {
  223 50       649  
  223         441  
  223         415  
  223         376  
58 136     136   898 sub { Evo::Export::Meta->find_or_bind_to($dst)->export($_) for @_ }
59 55     55   10097 }
  55         122  
  55         225  
  223         1502  
60              
61 260 50   260 1 795 sub export_proxy ($me, $dst) : ExportGen {
  260 50       718  
  260         491  
  260         487  
  260         447  
62 99 50   99   465 sub ($origpkg, @list) {
  99         266  
  99         482  
  99         225  
63 99         456 Evo::Export::Meta->find_or_bind_to($dst)->export_proxy($origpkg, @list);
64 260         2025 };
65 55     55   11237 }
  55         128  
  55         224  
66              
67              
68             1;
69              
70             __END__