File Coverage

blib/lib/Dallycot/Util.pm
Criterion Covered Total %
statement 18 26 69.2
branch 0 6 0.0
condition n/a
subroutine 6 7 85.7
pod 0 1 0.0
total 24 40 60.0


line stmt bran cond sub pod time code
1             package Dallycot::Util;
2             our $AUTHORITY = 'cpan:JSMITH';
3              
4 23     23   100 use utf8;
  23         42  
  23         103  
5 23     23   575 use strict;
  23         40  
  23         526  
6 23     23   87 use warnings;
  23         32  
  23         562  
7              
8 23     23   96 use Exporter 'import';
  23         38  
  23         709  
9              
10 23     23   115 use Promises qw(deferred);
  23         38  
  23         216  
11 23     23   5553 use Scalar::Util qw(blessed);
  23         35  
  23         3555  
12              
13             our @EXPORT_OK = qw(
14             maybe_promise
15             );
16              
17             sub maybe_promise {
18 0     0 0   my ($p) = @_;
19              
20 0 0         if ( blessed $p) {
21 0 0         if ( $p->can('promise') ) {
    0          
22 0           return $p->promise;
23             }
24             elsif ( $p->can('then') ) {
25 0           return $p;
26             }
27             }
28              
29 0           my $d = deferred;
30 0           $d->resolve($p);
31 0           return $d->promise;
32             }
33              
34             1;