/usr/share/perl5/KiokuDB/TypeMap/Default/Canonical.pm is in libkiokudb-perl 0.57-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | package KiokuDB::TypeMap::Default::Canonical;
BEGIN {
$KiokuDB::TypeMap::Default::Canonical::AUTHORITY = 'cpan:NUFFIN';
}
$KiokuDB::TypeMap::Default::Canonical::VERSION = '0.57';
use Moose::Role;
# ABSTRACT: A KiokuDB::TypeMap::Default implementation that canonicalizes the standard types to simplified versions.
use namespace::clean -except => 'meta';
with qw(KiokuDB::TypeMap::Default);
sub _build_path_class_typemap {
my $self = shift;
$self->_create_typemap(
isa_entries => {
'Path::Class::Entity' => {
type => "KiokuDB::TypeMap::Entry::Callback",
intrinsic => 1,
collapse => "stringify",
expand => "new",
},
},
);
}
sub _build_uri_typemap {
my $self = shift;
$self->_create_typemap(
isa_entries => {
'URI' => {
type => "KiokuDB::TypeMap::Entry::Callback",
intrinsic => 1,
collapse => 'as_string',
expand => "new",
},
},
entries => {
'URI::WithBase' => {
type => "KiokuDB::TypeMap::Entry::Naive",
intrinsic => 1,
},
},
);
}
sub _build_datetime_typemap {
my $self = shift;
$self->_create_typemap(
isa_entries => {
'DateTime' => => {
type => 'KiokuDB::TypeMap::Entry::Callback',
collapse => "epoch",
expand => sub {
my ( $class, $epoch ) = @_;
$class->from_epoch( epoch => $epoch );
},
intrinsic => 1,
},
'DateTime::Duration' => => {
type => 'KiokuDB::TypeMap::Entry::Naive',
intrinsic => 1,
},
},
);
}
sub _build_authen_passphrase_typemap {
my $self = shift;
$self->_create_typemap(
isa_entries => {
'Authen::Passphrase' => {
type => "KiokuDB::TypeMap::Entry::Callback",
intrinsic => 1,
collapse => "as_rfc2307",
expand => "from_rfc2307",
},
},
);
}
__PACKAGE__
__END__
=pod
=encoding UTF-8
=head1 NAME
KiokuDB::TypeMap::Default::Canonical - A KiokuDB::TypeMap::Default implementation that canonicalizes the standard types to simplified versions.
=head1 VERSION
version 0.57
=head1 DESCRIPTION
This typemap is suitable for serialization using L<JSON>. It stringifies or
otherwise converts data structures into primitive representations.
=head1 AUTHOR
Yuval Kogman <nothingmuch@woobling.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
|