File Coverage

blib/lib/Data/Focus/Applicative/Const/First.pm
Criterion Covered Total %
statement 18 18 100.0
branch 2 2 100.0
condition n/a
subroutine 7 7 100.0
pod 3 3 100.0
total 30 30 100.0


line stmt bran cond sub pod time code
1             package Data::Focus::Applicative::Const::First;
2 21     21   14007 use strict;
  21         23  
  21         813  
3 21     21   80 use warnings;
  21         17  
  21         555  
4 21     21   450 use parent qw(Data::Focus::Applicative::Const);
  21         224  
  21         111  
5              
6             my $PURE = __PACKAGE__->new(undef);
7              
8 73     73 1 5454 sub pure { $PURE }
9              
10             sub build {
11 611     611 1 1198 my ($class, $builder, @f_parts) = @_;
12 611         717 foreach my $f_part (@f_parts) {
13 437 100       739 return $f_part if defined($f_part->get_const);
14             }
15 195         639 return $PURE;
16             }
17              
18             sub create_part_mapper {
19 643     643 1 1749 my ($class) = @_;
20 643     474   3112 return sub { my ($datum) = @_; $class->new(\$datum) };
  474         725  
  474         1104  
21             }
22              
23             1;
24             __END__