File Coverage

blib/lib/Iterator/Flex/Role/Prev/Closure.pm
Criterion Covered Total %
statement 24 24 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod 1 1 100.0
total 33 33 100.0


line stmt bran cond sub pod time code
1             package Iterator::Flex::Role::Prev::Closure;
2              
3             # ABSTRACT: Implement prev as a closure stored in the registry
4              
5 33     33   174723 use v5.28;
  33         147  
6 33     33   124 use strict;
  33         45  
  33         601  
7 33     33   125 use warnings;
  33         54  
  33         2037  
8              
9             our $VERSION = '0.34';
10              
11 33     33   474 use Iterator::Flex::Utils qw( :default REG_ITERATOR REG_ITER_PREV );
  33         66  
  33         3592  
12 33     33   533 use Role::Tiny;
  33         4605  
  33         165  
13 33     33   6447 use experimental 'signatures';
  33         46  
  33         147  
14              
15 33     33   4475 use namespace::clean;
  33         10830  
  33         181  
16              
17              
18              
19              
20              
21              
22              
23              
24              
25              
26              
27 360     360 1 37713 sub prev ( $self ) {
  360         434  
  360         370  
28 360         937 $REGISTRY{ refaddr $self }[REG_ITERATOR][REG_ITER_PREV]->( $self );
29             }
30             *__prev__ = \&prev;
31              
32             1;
33              
34             #
35             # This file is part of Iterator-Flex
36             #
37             # This software is Copyright (c) 2018 by Smithsonian Astrophysical Observatory.
38             #
39             # This is free software, licensed under:
40             #
41             # The GNU General Public License, Version 3, June 2007
42             #
43              
44             __END__