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 16     16   15611 use strict;
  16         18  
  16         575  
3 16     16   70 use warnings;
  16         18  
  16         515  
4 16     16   499 use parent qw(Data::Focus::Applicative::Const);
  16         266  
  16         95  
5              
6             my $PURE = __PACKAGE__->new(undef);
7              
8 73     73 1 3889 sub pure { $PURE }
9              
10             sub build {
11 361     361 1 766 my ($class, $builder, @f_parts) = @_;
12 361         471 foreach my $f_part (@f_parts) {
13 262 100       521 return $f_part if defined($f_part->get_const);
14             }
15 120         443 return $PURE;
16             }
17              
18             sub create_part_mapper {
19 400     400 1 1281 my ($class) = @_;
20 400     285   2305 return sub { my ($datum) = @_; $class->new(\$datum) };
  285         526  
  285         804  
21             }
22              
23             1;
24             __END__