Coverage Summary

# File Coverage

lib/List/Objects/WithUtils/Hash/Immutable/Typed.pm
Criterion | Covered | Total | %
--- | --- | --- | ---
statement | 7 | 7 | 100.0
branch |  |  | n/a
condition |  |  | n/a
subroutine | 3 | 3 | 100.0
total | 10 | 10 | 100.0

line | stmt | bran | cond | sub | code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  | package List::Objects::WithUtils::Hash::Immutable::Typed;
2 | 14 |  |  | 14 | use strictures 1;
| 14 |  |  |  |
| 14 |  |  |  |
3 |  |  |  |  |
4 |  |  |  |  | require Role::Tiny;
5 |  |  |  |  | Role::Tiny->apply_roles_to_package( __PACKAGE__,
6 |  |  |  |  | qw/
7 |  |  |  |  | List::Objects::WithUtils::Role::Hash
8 |  |  |  |  | List::Objects::WithUtils::Role::Hash::Typed
9 |  |  |  |  | List::Objects::WithUtils::Role::Hash::Immutable
10 |  |  |  |  | /
11 |  |  |  |  | );
12 |  |  |  |  |
13 | 14 |  |  | 14 | use Exporter 'import';
| 14 |  |  |  |
| 14 |  |  |  |
14 |  |  |  |  | our @EXPORT = 'immhash_of';
15 | 2 |  |  | 2 | sub immhash_of { __PACKAGE__->new(@_) }
16 |  |  |  |  |
17 |  |  |  |  | 1;
18 |  |  |  |  |
19 |  |  |  |  | =pod
20 |  |  |  |  |
21 |  |  |  |  | =head1 NAME
22 |  |  |  |  |
23 |  |  |  |  | List::Objects::WithUtils::Hash::Immutable::Typed - Immutable typed hashes
24 |  |  |  |  |
25 |  |  |  |  | =head1 SYNOPSIS
26 |  |  |  |  |
27 |  |  |  |  | use List::Objects::WithUtils 'immhash_of';
28 |  |  |  |  | use Types::Standard -types;
29 |  |  |  |  | my $hash = immhash_of Int() => ( foo => 1, bar => 2 );
30 |  |  |  |  |
31 |  |  |  |  | =head1 DESCRIPTION
32 |  |  |  |  |
33 |  |  |  |  | These are immutable type-checking hash objects, essentially a combination of
34 |  |  |  |  | L<List::Objects::WithUtils::Hash::Typed> and
35 |  |  |  |  | L<List::Objects::WithUtils::Hash::Immutable>.
36 |  |  |  |  |
37 |  |  |  |  | Type-checking is performed when
38 |  |  |  |  | the object is created; attempts to modify the object will throw an exception.
39 |  |  |  |  |
40 |  |  |  |  | This class consumes the following roles, which contain most of the relevant
41 |  |  |  |  | documentation:
42 |  |  |  |  |
43 |  |  |  |  | L<List::Objects::WithUtils::Role::Hash>
44 |  |  |  |  |
45 |  |  |  |  | L<List::Objects::WithUtils::Role::Hash::Typed>
46 |  |  |  |  |
47 |  |  |  |  | L<List::Objects::WithUtils::Role::Hash::Immutable>
48 |  |  |  |  |
49 |  |  |  |  | =head2 immhash_of
50 |  |  |  |  |
51 |  |  |  |  | Creates a new immutable typed hash object.
52 |  |  |  |  |
53 |  |  |  |  | =head1 AUTHOR
54 |  |  |  |  |
55 |  |  |  |  | Jon Portnoy <avenj@cobaltirc.org>
56 |  |  |  |  |
57 |  |  |  |  | =cut
58 |  |  |  |  |