package JSON::Pointer;
use 5.008_001;
use strict;
use warnings;
use B;
use Carp qw(croak);
use Clone qw(clone);
use JSON qw(encode_json decode_json);
use JSON::Pointer::Context;
use JSON::Pointer::E
xception qw(:all);
use JSON::Pointer::Syntax qw(is_array_numeric_index);
use URI::Escape qw(uri_unescape);
our $VERSION = '0.07';
sub traverse {
my ($class, $document, $pointer, $opts) = @_;
}
};
$pointer = uri_unescape($pointer);
my @tokens = JSON::Pointer::Syntax->tokenize($pointer);
my $context = JSON::Pointer::Context->new(+{
pointer => $pointer,
tok
package JSON::Pointer::Context;
use 5.008_001;
use strict;
use warnings;
use Class::Accessor::Lite (
new => 0,
rw => [
qw/
pointer
tokens
pr
st_token});
}
1;
__END__
=head1 NAME
JSON::Pointer::Context - Internal context object to process JSON Pointer
=head1 VERSION
This document describes JSON::Pointer::Context version 0.07.
=head1
SYNOPSIS
=head1 DESCRIPTION
This module is internal only.
=head1 METHODS
=head2 new(%args) :JSON::Pointer::Context
=head2 begin($token)
=head2 next($target)
=head1 DEPENDENCIES
Perl 5.8.1 or l
package JSON::Pointer::Exception;
use 5.008_001;
use strict;
use warnings;
use overload (
q|""| => "to_string"
);
use Carp ();
use Exporter qw(import);
our $VERSION = '0.07';
our @EXPORT_OK = q
ontext}{pointer});
}
1;
__END__
=head1 NAME
JSON::Pointer::Exception - Exception class for JSON::Pointer
=head1 VERSION
This document describes JSON::Pointer::Exception version 0.07
=head1 SYNOP
=head1 DESCRIPTION
=head1 METHODS
=head2 new(%opts) : JSON::Pointer::Exception
=head2 throw(%opts)
=head2 code :Int
=head2 context :JSON::Pointer::Context
=head2 to_string :Str
=head1 CONSTAN
package JSON::Pointer::Syntax;
use 5.008_001;
use strict;
use warnings;
use Exporter qw(import);
use JSON::Pointer::Context;
use JSON::Pointer::Exception qw(:all);
our $VERSION = '0.07';
our @EXPOR
_pointer eq "" || $pointer eq "") {
JSON::Pointer::Exception->throw(
code => ERROR_INVALID_POINTER_SYNTAX,
context => JSON::Pointer::Context->new(
po
RRAY_INDEX$/ ? 1 : 0;
}
1;
__END__
=head1 NAME
JSON::Pointer::Syntax - JSON Pointer syntax functions
=head1 VERSION
This document describes JSON::Pointer::Syntax version 0.07.
=head1 SYNOPSIS