arnings;
package JSON::String;
use Carp qw(croak);
our @CARP_NOT = qw(JSON::String::BaseHandler JSON::String::HASH JSON::String::ARRAY);
use JSON;
use JSON::String::ARRAY;
use JSON::String::HASH;
construct_object($elt, undef, $encoder);
}
$self = [];
CORE::tie @$self, 'JSON::String::ARRAY', data => $data, encoder => $encoder;
} elsif (ref($data) eq 'HASH') {
$self = {};
CORE::tie %$self, 'JSON::String::HASH', data => $data, encoder => $encoder;
}
return $self;
}
{
my $codec = JSON->new->canonical;
sub codec {
shif
use strict;
use warnings;
package JSON::String::BaseHandler;
use Carp qw(croak);
our @CARP_NOT = qw(JSON::String::ARRAY JSON::String::HASH);
our $VERSION = '0.2.0'; # VERSION
use Sub::Exporter -se
',
'_recurse_wrap_value',
'constructor' => \&build_constructor,
]
};
require JSON::String;
sub build_constructor {
my($class, $name, $args) = @_;
my $type = $args->{type
val) = @_;
return JSON::String::_construct_object($val, undef, encoder($self));
}
1;
=pod
=head1 NAME
JSON::String::BaseHandler - Common code for hashes and arrays in JSON::String
=head1 DESC
use strict;
use warnings;
package JSON::String::ARRAY;
our $VERSION = '0.2.0'; # VERSION
use JSON::String::BaseHandler
'_reencode',
'_recurse_wrap_value',
'constructor' => { type => 'AR
1;
=pod
=head1 NAME
JSON::String::ARRAY - Handle arrays for JSON::String
=head1 DESCRIPTION
This module is not intended to be used directly. It is used by
L<JSON::String> to tie behavior to
nd the serialized representation
saved back to the original location.
=head1 SEE ALSO
L<JSON::String>, L<JSON>
=head1 AUTHOR
Anthony Brummett <brummett@cpan.org>
=head1 COPYRIGHT
Copyright 2015,
use strict;
use warnings;
package JSON::String::HASH;
our $VERSION = '0.2.0'; # VERSION
use JSON::String::BaseHandler
'_reencode',
'_recurse_wrap_value',
'constructor' => { type => 'HAS
) }
1;
=pod
=head1 NAME
JSON::String::HASH - Handle hashes for JSON::String
=head1 DESCRIPTION
This module is not intended to be used directly. It is used by
L<JSON::String> to tie behavior to
nd the serialized representation
saved back to the original location.
=head1 SEE ALSO
L<JSON::String>, L<JSON>
=head1 AUTHOR
Anthony Brummett <brummett@cpan.org>
=head1 COPYRIGHT
Copyright 2015,