Data-Record-Serialize
view release on metacpan or search on metacpan
lib/Data/Record/Serialize/Role/Base.pm view on Meta::CPAN
package Data::Record::Serialize::Role::Base;
# ABSTRACT: Base Role for Data::Record::Serialize
use v5.12;
use Moo::Role;
our $VERSION = '2.03';
use Data::Record::Serialize::Error { errors => [ 'fields', 'types' ] }, -all;
use Data::Record::Serialize::Util -all;
use Types::Standard qw[ ArrayRef CodeRef CycleTuple HashRef Enum Str Bool is_HashRef Maybe ];
use Data::Record::Serialize::Types qw( SerializeType );
use Ref::Util qw( is_coderef is_arrayref );
use List::Util 1.33 qw( any );
use POSIX ();
use namespace::clean;
has types => (
is => 'rwp',
isa => ( HashRef [SerializeType] | CycleTuple [ Str, SerializeType ] )
, # need parens for perl <= 5.12.5
predicate => 1,
trigger => sub {
$_[0]->clear_type_index;
$_[0]->clear_output_types;
},
);
has default_type => (
is => 'ro',
isa => SerializeType,
predicate => 1,
);
( run in 2.519 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )