Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / JSON / PP58.pm
1 package JSON::PP58;
2
3 use 5.008;
4 use strict;
5
6 my @properties;
7
8 $JSON::PP58::VERSION = '1.03';
9
10
11 BEGIN {
12
13     unless ( defined &utf8::is_utf8 ) {
14        require Encode;
15        *utf8::is_utf8 = *Encode::is_utf8;
16     }
17
18     *JSON::PP::JSON_PP_encode_ascii      = \&JSON::PP::_encode_ascii;
19     *JSON::PP::JSON_PP_encode_latin1     = \&JSON::PP::_encode_latin1;
20     *JSON::PP::JSON_PP_decode_surrogates = \&JSON::PP::_decode_surrogates;
21     *JSON::PP::JSON_PP_decode_unicode    = \&JSON::PP::_decode_unicode;
22
23     if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
24         package JSON::PP;
25         require subs;
26         subs->import('join');
27         eval q|
28             sub join {
29                 return '' if (@_ < 2);
30                 my $j   = shift;
31                 my $str = shift;
32                 for (@_) { $str .= $j . $_; }
33                 return $str;
34             }
35         |;
36     }
37
38 }
39
40
41 sub JSON::PP::incr_parse {
42     local $Carp::CarpLevel = 1;
43     ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_parse( @_ );
44 }
45
46
47 sub JSON::PP::incr_text : lvalue {
48     $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new;
49
50     if ( $_[0]->{_incr_parser}->{incr_parsing} ) {
51         Carp::croak("incr_text can not be called when the incremental parser already started parsing");
52     }
53     $_[0]->{_incr_parser}->{incr_text};
54 }
55
56
57 sub JSON::PP::incr_skip {
58     ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_skip;
59 }
60
61
62 sub JSON::PP::incr_reset {
63     ( $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new )->incr_reset;
64 }
65
66
67 1;
68 __END__
69
70 =pod
71
72 =head1 NAME
73
74 JSON::PP58 - Helper module in using JSON::PP in Perl 5.8 and lator
75
76 =head1 DESCRIPTION
77
78 JSON::PP calls internally.
79
80 =head1 AUTHOR
81
82 Makamaka Hannyaharamitu, E<lt>makamaka[at]cpan.orgE<gt>
83
84
85 =head1 COPYRIGHT AND LICENSE
86
87 Copyright 2008-2009 by Makamaka Hannyaharamitu
88
89 This library is free software; you can redistribute it and/or modify
90 it under the same terms as Perl itself. 
91
92 =cut
93