File Coverage

blib/lib/Role/TinyCommons/Iterator/Basic.pm
Criterion Covered Total %
statement 3 9 33.3
branch 0 4 0.0
condition n/a
subroutine 1 4 25.0
pod 1 1 100.0
total 5 18 27.7


line stmt bran cond sub pod time code
1             package Role::TinyCommons::Iterator::Basic;
2              
3             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
4             our $DATE = '2021-06-08'; # DATE
5             our $DIST = 'Role-TinyCommons-Iterator'; # DIST
6             our $VERSION = '0.003'; # VERSION
7              
8 2     2   179162 use Role::Tiny;
  2         26  
  2         15  
9              
10             ### required
11              
12             requires 'get_next_item';
13             requires 'has_next_item';
14             requires 'get_iterator_pos';
15              
16             ### provided
17              
18             sub get_coderef_iterator {
19 0     0 1   my ($self, $dies) = @_;
20 0 0         if ($dies) {
21 0     0     return sub { $self->get_next_item };
  0            
22             } else {
23 0 0   0     return sub { $self->has_next_item ? $self->get_next_item : undef };
  0            
24             }
25             }
26              
27             1;
28             # ABSTRACT: A basic iterator
29              
30             __END__