Hello community,

here is the log from the commit of package perl-JSON-Validator for 
openSUSE:Factory checked in at 2019-05-06 13:27:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-JSON-Validator (Old)
 and      /work/SRC/openSUSE:Factory/.perl-JSON-Validator.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-JSON-Validator"

Mon May  6 13:27:21 2019 rev:4 rq:700693 version:3.09

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-JSON-Validator/perl-JSON-Validator.changes  
2019-04-08 10:40:44.219301283 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-JSON-Validator.new.5148/perl-JSON-Validator.changes
        2019-05-06 13:27:25.065280413 +0200
@@ -1,0 +2,12 @@
+Sun May  5 05:13:01 UTC 2019 - Stephan Kulow <co...@suse.com>
+
+- updated to 3.09
+   see /usr/share/doc/packages/perl-JSON-Validator/Changes
+
+  3.09 2019-05-04T22:28:55+0700
+   - Prettier definition names from bundle().
+   - Changed default bundle() definitions location from "x-bundle" to 
"definitions".
+   - Deprecated bundle({ref_ref => ...})
+   - Deprecated bundle({replace => ...})
+
+-------------------------------------------------------------------

Old:
----
  JSON-Validator-3.08.tar.gz

New:
----
  JSON-Validator-3.09.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-JSON-Validator.spec ++++++
--- /var/tmp/diff_new_pack.M8orLL/_old  2019-05-06 13:27:25.917281934 +0200
+++ /var/tmp/diff_new_pack.M8orLL/_new  2019-05-06 13:27:25.917281934 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-JSON-Validator
-Version:        3.08
+Version:        3.09
 Release:        0
 %define cpan_name JSON-Validator
 Summary:        Validate data against a JSON schema

++++++ JSON-Validator-3.08.tar.gz -> JSON-Validator-3.09.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-Validator-3.08/.vstags 
new/JSON-Validator-3.09/.vstags
--- old/JSON-Validator-3.08/.vstags     2019-04-06 10:02:22.000000000 +0200
+++ new/JSON-Validator-3.09/.vstags     2019-04-09 04:16:28.000000000 +0200
@@ -4,157 +4,311 @@
 !_TAG_PROGRAM_NAME     Exuberant Ctags //
 !_TAG_PROGRAM_URL      http://ctags.sourceforge.net    /official site/
 !_TAG_PROGRAM_VERSION  5.8     //
+CASE_TOLERANT  blib/lib/JSON/Validator.pm      20;"    c
 CASE_TOLERANT  lib/JSON/Validator.pm   20;"    c
+COLORS blib/lib/JSON/Validator.pm      21;"    c
 COLORS lib/JSON/Validator.pm   21;"    c
-D      lib/JSON/Validator.pm   36;"    s
+D      blib/lib/JSON/Validator.pm      35;"    s
+D      lib/JSON/Validator.pm   35;"    s
+DATA_VALIDATE_DOMAIN   blib/lib/JSON/Validator/Formats.pm      4;"     c
 DATA_VALIDATE_DOMAIN   lib/JSON/Validator/Formats.pm   4;"     c
+DATA_VALIDATE_IP       blib/lib/JSON/Validator/Formats.pm      5;"     c
 DATA_VALIDATE_IP       lib/JSON/Validator/Formats.pm   5;"     c
+DEBUG  blib/lib/JSON/Validator.pm      22;"    c
 DEBUG  lib/JSON/Validator.pm   22;"    c
-E      lib/JSON/Validator.pm   41;"    s
+E      blib/lib/JSON/Validator.pm      40;"    s
+E      lib/JSON/Validator.pm   40;"    s
+EXISTS blib/lib/JSON/Validator/Ref.pm  14;"    s
 EXISTS lib/JSON/Validator/Ref.pm       14;"    s
+FETCH  blib/lib/JSON/Validator/Ref.pm  18;"    s
 FETCH  lib/JSON/Validator/Ref.pm       18;"    s
+FIRSTKEY       blib/lib/JSON/Validator/Ref.pm  21;"    s
 FIRSTKEY       lib/JSON/Validator/Ref.pm       21;"    s
+JSON::Validator        blib/lib/JSON/Validator.pm      1;"     p
 JSON::Validator        lib/JSON/Validator.pm   1;"     p
+JSON::Validator::CASE_TOLERANT blib/lib/JSON/Validator.pm      20;"    c
 JSON::Validator::CASE_TOLERANT lib/JSON/Validator.pm   20;"    c
+JSON::Validator::COLORS        blib/lib/JSON/Validator.pm      21;"    c
 JSON::Validator::COLORS        lib/JSON/Validator.pm   21;"    c
-JSON::Validator::D     lib/JSON/Validator.pm   36;"    s
+JSON::Validator::D     blib/lib/JSON/Validator.pm      35;"    s
+JSON::Validator::D     lib/JSON/Validator.pm   35;"    s
+JSON::Validator::DEBUG blib/lib/JSON/Validator.pm      22;"    c
 JSON::Validator::DEBUG lib/JSON/Validator.pm   22;"    c
-JSON::Validator::E     lib/JSON/Validator.pm   41;"    s
+JSON::Validator::E     blib/lib/JSON/Validator.pm      40;"    s
+JSON::Validator::E     lib/JSON/Validator.pm   40;"    s
+JSON::Validator::Error blib/lib/JSON/Validator/Error.pm        1;"     p
 JSON::Validator::Error lib/JSON/Validator/Error.pm     1;"     p
+JSON::Validator::Error::TO_JSON        blib/lib/JSON/Validator/Error.pm        
15;"    s
 JSON::Validator::Error::TO_JSON        lib/JSON/Validator/Error.pm     15;"    
s
+JSON::Validator::Error::message        blib/lib/JSON/Validator/Error.pm        
12;"    s
 JSON::Validator::Error::message        lib/JSON/Validator/Error.pm     12;"    
s
+JSON::Validator::Error::new    blib/lib/JSON/Validator/Error.pm        6;"     
s
 JSON::Validator::Error::new    lib/JSON/Validator/Error.pm     6;"     s
+JSON::Validator::Error::path   blib/lib/JSON/Validator/Error.pm        13;"    
s
 JSON::Validator::Error::path   lib/JSON/Validator/Error.pm     13;"    s
+JSON::Validator::Error::to_string      blib/lib/JSON/Validator/Error.pm        
14;"    s
 JSON::Validator::Error::to_string      lib/JSON/Validator/Error.pm     14;"    
s
+JSON::Validator::Formats       blib/lib/JSON/Validator/Formats.pm      1;"     
p
 JSON::Validator::Formats       lib/JSON/Validator/Formats.pm   1;"     p
+JSON::Validator::Formats::DATA_VALIDATE_DOMAIN 
blib/lib/JSON/Validator/Formats.pm      4;"     c
 JSON::Validator::Formats::DATA_VALIDATE_DOMAIN lib/JSON/Validator/Formats.pm   
4;"     c
+JSON::Validator::Formats::DATA_VALIDATE_IP     
blib/lib/JSON/Validator/Formats.pm      5;"     c
 JSON::Validator::Formats::DATA_VALIDATE_IP     lib/JSON/Validator/Formats.pm   
5;"     c
+JSON::Validator::Formats::NET_IDN_ENCODE       
blib/lib/JSON/Validator/Formats.pm      6;"     c
 JSON::Validator::Formats::NET_IDN_ENCODE       lib/JSON/Validator/Formats.pm   
6;"     c
+JSON::Validator::Formats::WARN_MISSING_MODULE  
blib/lib/JSON/Validator/Formats.pm      7;"     c
 JSON::Validator::Formats::WARN_MISSING_MODULE  lib/JSON/Validator/Formats.pm   
7;"     c
+JSON::Validator::Formats::_module_missing      
blib/lib/JSON/Validator/Formats.pm      184;"   s
 JSON::Validator::Formats::_module_missing      lib/JSON/Validator/Formats.pm   
184;"   s
+JSON::Validator::Formats::check_date   blib/lib/JSON/Validator/Formats.pm      
11;"    s
 JSON::Validator::Formats::check_date   lib/JSON/Validator/Formats.pm   11;"    
s
+JSON::Validator::Formats::check_date_time      
blib/lib/JSON/Validator/Formats.pm      24;"    s
 JSON::Validator::Formats::check_date_time      lib/JSON/Validator/Formats.pm   
24;"    s
+JSON::Validator::Formats::check_email  blib/lib/JSON/Validator/Formats.pm      
38;"    s
 JSON::Validator::Formats::check_email  lib/JSON/Validator/Formats.pm   38;"    
s
+JSON::Validator::Formats::check_hostname       
blib/lib/JSON/Validator/Formats.pm      54;"    s
 JSON::Validator::Formats::check_hostname       lib/JSON/Validator/Formats.pm   
54;"    s
+JSON::Validator::Formats::check_idn_email      
blib/lib/JSON/Validator/Formats.pm      61;"    s
 JSON::Validator::Formats::check_idn_email      lib/JSON/Validator/Formats.pm   
61;"    s
+JSON::Validator::Formats::check_idn_hostname   
blib/lib/JSON/Validator/Formats.pm      78;"    s
 JSON::Validator::Formats::check_idn_hostname   lib/JSON/Validator/Formats.pm   
78;"    s
+JSON::Validator::Formats::check_ipv4   blib/lib/JSON/Validator/Formats.pm      
126;"   s
 JSON::Validator::Formats::check_ipv4   lib/JSON/Validator/Formats.pm   126;"   
s
+JSON::Validator::Formats::check_ipv6   blib/lib/JSON/Validator/Formats.pm      
134;"   s
 JSON::Validator::Formats::check_ipv6   lib/JSON/Validator/Formats.pm   134;"   
s
+JSON::Validator::Formats::check_iri    blib/lib/JSON/Validator/Formats.pm      
87;"    s
 JSON::Validator::Formats::check_iri    lib/JSON/Validator/Formats.pm   87;"    
s
+JSON::Validator::Formats::check_iri_reference  
blib/lib/JSON/Validator/Formats.pm      93;"    s
 JSON::Validator::Formats::check_iri_reference  lib/JSON/Validator/Formats.pm   
93;"    s
+JSON::Validator::Formats::check_json_pointer   
blib/lib/JSON/Validator/Formats.pm      121;"   s
 JSON::Validator::Formats::check_json_pointer   lib/JSON/Validator/Formats.pm   
121;"   s
+JSON::Validator::Formats::check_regex  blib/lib/JSON/Validator/Formats.pm      
151;"   s
 JSON::Validator::Formats::check_regex  lib/JSON/Validator/Formats.pm   151;"   
s
+JSON::Validator::Formats::check_relative_json_pointer  
blib/lib/JSON/Validator/Formats.pm      140;"   s
 JSON::Validator::Formats::check_relative_json_pointer  
lib/JSON/Validator/Formats.pm   140;"   s
+JSON::Validator::Formats::check_time   blib/lib/JSON/Validator/Formats.pm      
155;"   s
 JSON::Validator::Formats::check_time   lib/JSON/Validator/Formats.pm   155;"   
s
+JSON::Validator::Formats::check_uri    blib/lib/JSON/Validator/Formats.pm      
168;"   s
 JSON::Validator::Formats::check_uri    lib/JSON/Validator/Formats.pm   168;"   
s
+JSON::Validator::Formats::check_uri_reference  
blib/lib/JSON/Validator/Formats.pm      175;"   s
 JSON::Validator::Formats::check_uri_reference  lib/JSON/Validator/Formats.pm   
175;"   s
+JSON::Validator::Formats::check_uri_template   
blib/lib/JSON/Validator/Formats.pm      180;"   s
 JSON::Validator::Formats::check_uri_template   lib/JSON/Validator/Formats.pm   
180;"   s
+JSON::Validator::Joi   blib/lib/JSON/Validator/Joi.pm  1;"     p
 JSON::Validator::Joi   lib/JSON/Validator/Joi.pm       1;"     p
+JSON::Validator::Joi::TO_JSON  blib/lib/JSON/Validator/Joi.pm  152;"   s
 JSON::Validator::Joi::TO_JSON  lib/JSON/Validator/Joi.pm       152;"   s
+JSON::Validator::Joi::_compile_array   blib/lib/JSON/Validator/Joi.pm  88;"    
s
 JSON::Validator::Joi::_compile_array   lib/JSON/Validator/Joi.pm       88;"    
s
+JSON::Validator::Joi::_compile_boolean blib/lib/JSON/Validator/Joi.pm  101;"   
s
 JSON::Validator::Joi::_compile_boolean lib/JSON/Validator/Joi.pm       101;"   
s
+JSON::Validator::Joi::_compile_integer blib/lib/JSON/Validator/Joi.pm  103;"   
s
 JSON::Validator::Joi::_compile_integer lib/JSON/Validator/Joi.pm       103;"   
s
+JSON::Validator::Joi::_compile_null    blib/lib/JSON/Validator/Joi.pm  105;"   
s
 JSON::Validator::Joi::_compile_null    lib/JSON/Validator/Joi.pm       105;"   
s
+JSON::Validator::Joi::_compile_number  blib/lib/JSON/Validator/Joi.pm  107;"   
s
 JSON::Validator::Joi::_compile_number  lib/JSON/Validator/Joi.pm       107;"   
s
+JSON::Validator::Joi::_compile_object  blib/lib/JSON/Validator/Joi.pm  119;"   
s
 JSON::Validator::Joi::_compile_object  lib/JSON/Validator/Joi.pm       119;"   
s
+JSON::Validator::Joi::_compile_string  blib/lib/JSON/Validator/Joi.pm  134;"   
s
 JSON::Validator::Joi::_compile_string  lib/JSON/Validator/Joi.pm       134;"   
s
+JSON::Validator::Joi::_type    blib/lib/JSON/Validator/Joi.pm  147;"   s
 JSON::Validator::Joi::_type    lib/JSON/Validator/Joi.pm       147;"   s
+JSON::Validator::Joi::alphanum blib/lib/JSON/Validator/Joi.pm  19;"    s
 JSON::Validator::Joi::alphanum lib/JSON/Validator/Joi.pm       19;"    s
+JSON::Validator::Joi::array    blib/lib/JSON/Validator/Joi.pm  53;"    s
 JSON::Validator::Joi::array    lib/JSON/Validator/Joi.pm       53;"    s
+JSON::Validator::Joi::boolean  blib/lib/JSON/Validator/Joi.pm  20;"    s
 JSON::Validator::Joi::boolean  lib/JSON/Validator/Joi.pm       20;"    s
+JSON::Validator::Joi::compile  blib/lib/JSON/Validator/Joi.pm  22;"    s
 JSON::Validator::Joi::compile  lib/JSON/Validator/Joi.pm       22;"    s
+JSON::Validator::Joi::date_time        blib/lib/JSON/Validator/Joi.pm  35;"    
s
 JSON::Validator::Joi::date_time        lib/JSON/Validator/Joi.pm       35;"    
s
+JSON::Validator::Joi::email    blib/lib/JSON/Validator/Joi.pm  36;"    s
 JSON::Validator::Joi::email    lib/JSON/Validator/Joi.pm       36;"    s
+JSON::Validator::Joi::extend   blib/lib/JSON/Validator/Joi.pm  38;"    s
 JSON::Validator::Joi::extend   lib/JSON/Validator/Joi.pm       38;"    s
+JSON::Validator::Joi::integer  blib/lib/JSON/Validator/Joi.pm  54;"    s
 JSON::Validator::Joi::integer  lib/JSON/Validator/Joi.pm       54;"    s
+JSON::Validator::Joi::iso_date blib/lib/JSON/Validator/Joi.pm  55;"    s
 JSON::Validator::Joi::iso_date lib/JSON/Validator/Joi.pm       55;"    s
+JSON::Validator::Joi::items    blib/lib/JSON/Validator/Joi.pm  56;"    s
 JSON::Validator::Joi::items    lib/JSON/Validator/Joi.pm       56;"    s
+JSON::Validator::Joi::length   blib/lib/JSON/Validator/Joi.pm  57;"    s
 JSON::Validator::Joi::length   lib/JSON/Validator/Joi.pm       57;"    s
+JSON::Validator::Joi::lowercase        blib/lib/JSON/Validator/Joi.pm  58;"    
s
 JSON::Validator::Joi::lowercase        lib/JSON/Validator/Joi.pm       58;"    
s
+JSON::Validator::Joi::negative blib/lib/JSON/Validator/Joi.pm  59;"    s
 JSON::Validator::Joi::negative lib/JSON/Validator/Joi.pm       59;"    s
+JSON::Validator::Joi::number   blib/lib/JSON/Validator/Joi.pm  60;"    s
 JSON::Validator::Joi::number   lib/JSON/Validator/Joi.pm       60;"    s
+JSON::Validator::Joi::object   blib/lib/JSON/Validator/Joi.pm  61;"    s
 JSON::Validator::Joi::object   lib/JSON/Validator/Joi.pm       61;"    s
+JSON::Validator::Joi::pattern  blib/lib/JSON/Validator/Joi.pm  62;"    s
 JSON::Validator::Joi::pattern  lib/JSON/Validator/Joi.pm       62;"    s
+JSON::Validator::Joi::positive blib/lib/JSON/Validator/Joi.pm  63;"    s
 JSON::Validator::Joi::positive lib/JSON/Validator/Joi.pm       63;"    s
+JSON::Validator::Joi::props    blib/lib/JSON/Validator/Joi.pm  65;"    s
 JSON::Validator::Joi::props    lib/JSON/Validator/Joi.pm       65;"    s
+JSON::Validator::Joi::string   blib/lib/JSON/Validator/Joi.pm  77;"    s
 JSON::Validator::Joi::string   lib/JSON/Validator/Joi.pm       77;"    s
+JSON::Validator::Joi::token    blib/lib/JSON/Validator/Joi.pm  78;"    s
 JSON::Validator::Joi::token    lib/JSON/Validator/Joi.pm       78;"    s
+JSON::Validator::Joi::uppercase        blib/lib/JSON/Validator/Joi.pm  79;"    
s
 JSON::Validator::Joi::uppercase        lib/JSON/Validator/Joi.pm       79;"    
s
+JSON::Validator::Joi::uri      blib/lib/JSON/Validator/Joi.pm  80;"    s
 JSON::Validator::Joi::uri      lib/JSON/Validator/Joi.pm       80;"    s
+JSON::Validator::Joi::validate blib/lib/JSON/Validator/Joi.pm  82;"    s
 JSON::Validator::Joi::validate lib/JSON/Validator/Joi.pm       82;"    s
+JSON::Validator::RECURSION_LIMIT       blib/lib/JSON/Validator.pm      24;"    
c
 JSON::Validator::RECURSION_LIMIT       lib/JSON/Validator.pm   24;"    c
+JSON::Validator::REPORT        blib/lib/JSON/Validator.pm      23;"    c
 JSON::Validator::REPORT        lib/JSON/Validator.pm   23;"    c
+JSON::Validator::Ref   blib/lib/JSON/Validator/Ref.pm  1;"     p
 JSON::Validator::Ref   lib/JSON/Validator/Ref.pm       1;"     p
+JSON::Validator::Ref::EXISTS   blib/lib/JSON/Validator/Ref.pm  14;"    s
 JSON::Validator::Ref::EXISTS   lib/JSON/Validator/Ref.pm       14;"    s
+JSON::Validator::Ref::FETCH    blib/lib/JSON/Validator/Ref.pm  18;"    s
 JSON::Validator::Ref::FETCH    lib/JSON/Validator/Ref.pm       18;"    s
+JSON::Validator::Ref::FIRSTKEY blib/lib/JSON/Validator/Ref.pm  21;"    s
 JSON::Validator::Ref::FIRSTKEY lib/JSON/Validator/Ref.pm       21;"    s
+JSON::Validator::Ref::KEYS     blib/lib/JSON/Validator/Ref.pm  22;"    s
 JSON::Validator::Ref::KEYS     lib/JSON/Validator/Ref.pm       22;"    s
+JSON::Validator::Ref::NEXTKEY  blib/lib/JSON/Validator/Ref.pm  23;"    s
 JSON::Validator::Ref::NEXTKEY  lib/JSON/Validator/Ref.pm       23;"    s
+JSON::Validator::Ref::SCALAR   blib/lib/JSON/Validator/Ref.pm  24;"    s
 JSON::Validator::Ref::SCALAR   lib/JSON/Validator/Ref.pm       24;"    s
+JSON::Validator::Ref::TIEHASH  blib/lib/JSON/Validator/Ref.pm  26;"    s
 JSON::Validator::Ref::TIEHASH  lib/JSON/Validator/Ref.pm       26;"    s
+JSON::Validator::Ref::TO_JSON  blib/lib/JSON/Validator/Ref.pm  36;"    s
 JSON::Validator::Ref::TO_JSON  lib/JSON/Validator/Ref.pm       36;"    s
+JSON::Validator::Ref::fqn      blib/lib/JSON/Validator/Ref.pm  9;"     s
 JSON::Validator::Ref::fqn      lib/JSON/Validator/Ref.pm       9;"     s
+JSON::Validator::Ref::ref      blib/lib/JSON/Validator/Ref.pm  10;"    s
 JSON::Validator::Ref::ref      lib/JSON/Validator/Ref.pm       10;"    s
+JSON::Validator::Ref::schema   blib/lib/JSON/Validator/Ref.pm  11;"    s
 JSON::Validator::Ref::schema   lib/JSON/Validator/Ref.pm       11;"    s
-JSON::Validator::S     lib/JSON/Validator.pm   43;"    s
+JSON::Validator::S     blib/lib/JSON/Validator.pm      42;"    s
+JSON::Validator::S     lib/JSON/Validator.pm   42;"    s
+JSON::Validator::SPECIFICATION_URL     blib/lib/JSON/Validator.pm      25;"    
c
 JSON::Validator::SPECIFICATION_URL     lib/JSON/Validator.pm   25;"    c
-JSON::Validator::_add_path_to_error_messages   lib/JSON/Validator.pm   995;"   
s
-JSON::Validator::_build_formats        lib/JSON/Validator.pm   208;"   s
-JSON::Validator::_cmp  lib/JSON/Validator.pm   1011;"  s
-JSON::Validator::_expected     lib/JSON/Validator.pm   1018;"  s
-JSON::Validator::_get  lib/JSON/Validator.pm   232;"   s
-JSON::Validator::_guess_data_type      lib/JSON/Validator.pm   1025;"  s
-JSON::Validator::_guess_schema_type    lib/JSON/Validator.pm   1042;"  s
-JSON::Validator::_guessed_right        lib/JSON/Validator.pm   1072;"  s
-JSON::Validator::_id_key       lib/JSON/Validator.pm   269;"   s
-JSON::Validator::_is_number    lib/JSON/Validator.pm   1078;"  s
-JSON::Validator::_load_schema  lib/JSON/Validator.pm   271;"   s
-JSON::Validator::_load_schema_from_text        lib/JSON/Validator.pm   315;"   
s
-JSON::Validator::_load_schema_from_url lib/JSON/Validator.pm   342;"   s
-JSON::Validator::_location_to_abs      lib/JSON/Validator.pm   491;"   s
-JSON::Validator::_path lib/JSON/Validator.pm   1084;"  s
-JSON::Validator::_ref_to_schema        lib/JSON/Validator.pm   374;"   s
-JSON::Validator::_register_schema      lib/JSON/Validator.pm   388;"   s
-JSON::Validator::_report       lib/JSON/Validator.pm   394;"   s
-JSON::Validator::_report_colored       lib/JSON/Validator.pm   400;"   s
-JSON::Validator::_report_errors        lib/JSON/Validator.pm   407;"   s
-JSON::Validator::_report_schema        lib/JSON/Validator.pm   417;"   s
-JSON::Validator::_resolve      lib/JSON/Validator.pm   425;"   s
-JSON::Validator::_resolve_ref  lib/JSON/Validator.pm   504;"   s
-JSON::Validator::_stack        lib/JSON/Validator.pm   535;"   s
-JSON::Validator::_uniq lib/JSON/Validator.pm   1091;"  s
-JSON::Validator::_validate     lib/JSON/Validator.pm   547;"   s
-JSON::Validator::_validate_all_of      lib/JSON/Validator.pm   614;"   s
-JSON::Validator::_validate_any_of      lib/JSON/Validator.pm   640;"   s
-JSON::Validator::_validate_format      lib/JSON/Validator.pm   724;"   s
-JSON::Validator::_validate_one_of      lib/JSON/Validator.pm   666;"   s
-JSON::Validator::_validate_type_any    lib/JSON/Validator.pm   733;"   s
-JSON::Validator::_validate_type_array  lib/JSON/Validator.pm   735;"   s
-JSON::Validator::_validate_type_boolean        lib/JSON/Validator.pm   794;"   
s
-JSON::Validator::_validate_type_const  lib/JSON/Validator.pm   714;"   s
-JSON::Validator::_validate_type_enum   lib/JSON/Validator.pm   700;"   s
-JSON::Validator::_validate_type_integer        lib/JSON/Validator.pm   819;"   
s
-JSON::Validator::_validate_type_null   lib/JSON/Validator.pm   828;"   s
-JSON::Validator::_validate_type_number lib/JSON/Validator.pm   835;"   s
-JSON::Validator::_validate_type_object lib/JSON/Validator.pm   873;"   s
-JSON::Validator::_validate_type_string lib/JSON/Validator.pm   953;"   s
-JSON::Validator::bundle        lib/JSON/Validator.pm   63;"    s
-JSON::Validator::coerce        lib/JSON/Validator.pm   130;"   s
-JSON::Validator::get   lib/JSON/Validator.pm   149;"   s
-JSON::Validator::joi   lib/JSON/Validator.pm   156;"   s
-JSON::Validator::load_and_validate_schema      lib/JSON/Validator.pm   162;"   
s
-JSON::Validator::new   lib/JSON/Validator.pm   174;"   s
-JSON::Validator::schema        lib/JSON/Validator.pm   180;"   s
-JSON::Validator::singleton     lib/JSON/Validator.pm   187;"   s
-JSON::Validator::validate      lib/JSON/Validator.pm   189;"   s
-JSON::Validator::validate_json lib/JSON/Validator.pm   204;"   s
+JSON::Validator::_add_path_to_error_messages   blib/lib/JSON/Validator.pm      
1014;"  s
+JSON::Validator::_add_path_to_error_messages   lib/JSON/Validator.pm   1016;"  
s
+JSON::Validator::_build_formats        blib/lib/JSON/Validator.pm      206;"   
s
+JSON::Validator::_build_formats        lib/JSON/Validator.pm   206;"   s
+JSON::Validator::_cmp  blib/lib/JSON/Validator.pm      1030;"  s
+JSON::Validator::_cmp  lib/JSON/Validator.pm   1032;"  s
+JSON::Validator::_definitions_key      blib/lib/JSON/Validator.pm      230;"   
s
+JSON::Validator::_definitions_key      lib/JSON/Validator.pm   230;"   s
+JSON::Validator::_expected     blib/lib/JSON/Validator.pm      1037;"  s
+JSON::Validator::_expected     lib/JSON/Validator.pm   1039;"  s
+JSON::Validator::_get  blib/lib/JSON/Validator.pm      251;"   s
+JSON::Validator::_get  lib/JSON/Validator.pm   251;"   s
+JSON::Validator::_guess_data_type      blib/lib/JSON/Validator.pm      1044;"  
s
+JSON::Validator::_guess_data_type      lib/JSON/Validator.pm   1046;"  s
+JSON::Validator::_guess_schema_type    blib/lib/JSON/Validator.pm      1061;"  
s
+JSON::Validator::_guess_schema_type    lib/JSON/Validator.pm   1063;"  s
+JSON::Validator::_guessed_right        blib/lib/JSON/Validator.pm      1091;"  
s
+JSON::Validator::_guessed_right        lib/JSON/Validator.pm   1093;"  s
+JSON::Validator::_id_key       blib/lib/JSON/Validator.pm      288;"   s
+JSON::Validator::_id_key       lib/JSON/Validator.pm   288;"   s
+JSON::Validator::_is_number    blib/lib/JSON/Validator.pm      1097;"  s
+JSON::Validator::_is_number    lib/JSON/Validator.pm   1099;"  s
+JSON::Validator::_load_schema  blib/lib/JSON/Validator.pm      290;"   s
+JSON::Validator::_load_schema  lib/JSON/Validator.pm   290;"   s
+JSON::Validator::_load_schema_from_text        blib/lib/JSON/Validator.pm      
334;"   s
+JSON::Validator::_load_schema_from_text        lib/JSON/Validator.pm   334;"   
s
+JSON::Validator::_load_schema_from_url blib/lib/JSON/Validator.pm      361;"   
s
+JSON::Validator::_load_schema_from_url lib/JSON/Validator.pm   361;"   s
+JSON::Validator::_location_to_abs      blib/lib/JSON/Validator.pm      510;"   
s
+JSON::Validator::_location_to_abs      lib/JSON/Validator.pm   510;"   s
+JSON::Validator::_path blib/lib/JSON/Validator.pm      1103;"  s
+JSON::Validator::_path lib/JSON/Validator.pm   1105;"  s
+JSON::Validator::_ref_to_schema        blib/lib/JSON/Validator.pm      393;"   
s
+JSON::Validator::_ref_to_schema        lib/JSON/Validator.pm   393;"   s
+JSON::Validator::_register_schema      blib/lib/JSON/Validator.pm      407;"   
s
+JSON::Validator::_register_schema      lib/JSON/Validator.pm   407;"   s
+JSON::Validator::_report       blib/lib/JSON/Validator.pm      413;"   s
+JSON::Validator::_report       lib/JSON/Validator.pm   413;"   s
+JSON::Validator::_report_colored       blib/lib/JSON/Validator.pm      419;"   
s
+JSON::Validator::_report_colored       lib/JSON/Validator.pm   419;"   s
+JSON::Validator::_report_errors        blib/lib/JSON/Validator.pm      426;"   
s
+JSON::Validator::_report_errors        lib/JSON/Validator.pm   426;"   s
+JSON::Validator::_report_schema        blib/lib/JSON/Validator.pm      436;"   
s
+JSON::Validator::_report_schema        lib/JSON/Validator.pm   436;"   s
+JSON::Validator::_resolve      blib/lib/JSON/Validator.pm      444;"   s
+JSON::Validator::_resolve      lib/JSON/Validator.pm   444;"   s
+JSON::Validator::_resolve_ref  blib/lib/JSON/Validator.pm      523;"   s
+JSON::Validator::_resolve_ref  lib/JSON/Validator.pm   523;"   s
+JSON::Validator::_stack        blib/lib/JSON/Validator.pm      554;"   s
+JSON::Validator::_stack        lib/JSON/Validator.pm   554;"   s
+JSON::Validator::_uniq blib/lib/JSON/Validator.pm      1110;"  s
+JSON::Validator::_uniq lib/JSON/Validator.pm   1112;"  s
+JSON::Validator::_validate     blib/lib/JSON/Validator.pm      566;"   s
+JSON::Validator::_validate     lib/JSON/Validator.pm   566;"   s
+JSON::Validator::_validate_all_of      blib/lib/JSON/Validator.pm      633;"   
s
+JSON::Validator::_validate_all_of      lib/JSON/Validator.pm   633;"   s
+JSON::Validator::_validate_any_of      blib/lib/JSON/Validator.pm      659;"   
s
+JSON::Validator::_validate_any_of      lib/JSON/Validator.pm   659;"   s
+JSON::Validator::_validate_format      blib/lib/JSON/Validator.pm      743;"   
s
+JSON::Validator::_validate_format      lib/JSON/Validator.pm   745;"   s
+JSON::Validator::_validate_one_of      blib/lib/JSON/Validator.pm      685;"   
s
+JSON::Validator::_validate_one_of      lib/JSON/Validator.pm   686;"   s
+JSON::Validator::_validate_type_any    blib/lib/JSON/Validator.pm      752;"   
s
+JSON::Validator::_validate_type_any    lib/JSON/Validator.pm   754;"   s
+JSON::Validator::_validate_type_array  blib/lib/JSON/Validator.pm      754;"   
s
+JSON::Validator::_validate_type_array  lib/JSON/Validator.pm   756;"   s
+JSON::Validator::_validate_type_boolean        blib/lib/JSON/Validator.pm      
813;"   s
+JSON::Validator::_validate_type_boolean        lib/JSON/Validator.pm   815;"   
s
+JSON::Validator::_validate_type_const  blib/lib/JSON/Validator.pm      733;"   
s
+JSON::Validator::_validate_type_const  lib/JSON/Validator.pm   735;"   s
+JSON::Validator::_validate_type_enum   blib/lib/JSON/Validator.pm      719;"   
s
+JSON::Validator::_validate_type_enum   lib/JSON/Validator.pm   721;"   s
+JSON::Validator::_validate_type_integer        blib/lib/JSON/Validator.pm      
838;"   s
+JSON::Validator::_validate_type_integer        lib/JSON/Validator.pm   840;"   
s
+JSON::Validator::_validate_type_null   blib/lib/JSON/Validator.pm      847;"   
s
+JSON::Validator::_validate_type_null   lib/JSON/Validator.pm   849;"   s
+JSON::Validator::_validate_type_number blib/lib/JSON/Validator.pm      854;"   
s
+JSON::Validator::_validate_type_number lib/JSON/Validator.pm   856;"   s
+JSON::Validator::_validate_type_object blib/lib/JSON/Validator.pm      892;"   
s
+JSON::Validator::_validate_type_object lib/JSON/Validator.pm   894;"   s
+JSON::Validator::_validate_type_string blib/lib/JSON/Validator.pm      972;"   
s
+JSON::Validator::_validate_type_string lib/JSON/Validator.pm   974;"   s
+JSON::Validator::bundle        blib/lib/JSON/Validator.pm      62;"    s
+JSON::Validator::bundle        lib/JSON/Validator.pm   62;"    s
+JSON::Validator::coerce        blib/lib/JSON/Validator.pm      128;"   s
+JSON::Validator::coerce        lib/JSON/Validator.pm   128;"   s
+JSON::Validator::get   blib/lib/JSON/Validator.pm      147;"   s
+JSON::Validator::get   lib/JSON/Validator.pm   147;"   s
+JSON::Validator::joi   blib/lib/JSON/Validator.pm      154;"   s
+JSON::Validator::joi   lib/JSON/Validator.pm   154;"   s
+JSON::Validator::load_and_validate_schema      blib/lib/JSON/Validator.pm      
160;"   s
+JSON::Validator::load_and_validate_schema      lib/JSON/Validator.pm   160;"   
s
+JSON::Validator::new   blib/lib/JSON/Validator.pm      172;"   s
+JSON::Validator::new   lib/JSON/Validator.pm   172;"   s
+JSON::Validator::schema        blib/lib/JSON/Validator.pm      178;"   s
+JSON::Validator::schema        lib/JSON/Validator.pm   178;"   s
+JSON::Validator::singleton     blib/lib/JSON/Validator.pm      185;"   s
+JSON::Validator::singleton     lib/JSON/Validator.pm   185;"   s
+JSON::Validator::validate      blib/lib/JSON/Validator.pm      187;"   s
+JSON::Validator::validate      lib/JSON/Validator.pm   187;"   s
+JSON::Validator::validate_json blib/lib/JSON/Validator.pm      202;"   s
+JSON::Validator::validate_json lib/JSON/Validator.pm   202;"   s
+KEYS   blib/lib/JSON/Validator/Ref.pm  22;"    s
 KEYS   lib/JSON/Validator/Ref.pm       22;"    s
+NET_IDN_ENCODE blib/lib/JSON/Validator/Formats.pm      6;"     c
 NET_IDN_ENCODE lib/JSON/Validator/Formats.pm   6;"     c
+NEXTKEY        blib/lib/JSON/Validator/Ref.pm  23;"    s
 NEXTKEY        lib/JSON/Validator/Ref.pm       23;"    s
+RECURSION_LIMIT        blib/lib/JSON/Validator.pm      24;"    c
 RECURSION_LIMIT        lib/JSON/Validator.pm   24;"    c
+REPORT blib/lib/JSON/Validator.pm      23;"    c
 REPORT lib/JSON/Validator.pm   23;"    c
-S      lib/JSON/Validator.pm   43;"    s
+S      blib/lib/JSON/Validator.pm      42;"    s
+S      lib/JSON/Validator.pm   42;"    s
+SCALAR blib/lib/JSON/Validator/Ref.pm  24;"    s
 SCALAR lib/JSON/Validator/Ref.pm       24;"    s
+SPECIFICATION_URL      blib/lib/JSON/Validator.pm      25;"    c
 SPECIFICATION_URL      lib/JSON/Validator.pm   25;"    c
 Some   t/stack/Some.pm 1;"     p
 Some::Module   t/stack/Some/Module.pm  1;"     p
@@ -163,114 +317,220 @@
 Some::j        t/stack/Some.pm 4;"     s
 Some::validate_age0    t/stack/Some.pm 5;"     s
 Some::validate_age1    t/stack/Some.pm 6;"     s
+TIEHASH        blib/lib/JSON/Validator/Ref.pm  26;"    s
 TIEHASH        lib/JSON/Validator/Ref.pm       26;"    s
+TO_JSON        blib/lib/JSON/Validator/Error.pm        15;"    s
+TO_JSON        blib/lib/JSON/Validator/Joi.pm  152;"   s
+TO_JSON        blib/lib/JSON/Validator/Ref.pm  36;"    s
 TO_JSON        lib/JSON/Validator/Error.pm     15;"    s
 TO_JSON        lib/JSON/Validator/Joi.pm       152;"   s
 TO_JSON        lib/JSON/Validator/Ref.pm       36;"    s
+WARN_MISSING_MODULE    blib/lib/JSON/Validator/Formats.pm      7;"     c
 WARN_MISSING_MODULE    lib/JSON/Validator/Formats.pm   7;"     c
-_add_path_to_error_messages    lib/JSON/Validator.pm   995;"   s
-_build_formats lib/JSON/Validator.pm   208;"   s
-_cmp   lib/JSON/Validator.pm   1011;"  s
+_add_path_to_error_messages    blib/lib/JSON/Validator.pm      1014;"  s
+_add_path_to_error_messages    lib/JSON/Validator.pm   1016;"  s
+_build_formats blib/lib/JSON/Validator.pm      206;"   s
+_build_formats lib/JSON/Validator.pm   206;"   s
+_cmp   blib/lib/JSON/Validator.pm      1030;"  s
+_cmp   lib/JSON/Validator.pm   1032;"  s
+_compile_array blib/lib/JSON/Validator/Joi.pm  88;"    s
 _compile_array lib/JSON/Validator/Joi.pm       88;"    s
+_compile_boolean       blib/lib/JSON/Validator/Joi.pm  101;"   s
 _compile_boolean       lib/JSON/Validator/Joi.pm       101;"   s
+_compile_integer       blib/lib/JSON/Validator/Joi.pm  103;"   s
 _compile_integer       lib/JSON/Validator/Joi.pm       103;"   s
+_compile_null  blib/lib/JSON/Validator/Joi.pm  105;"   s
 _compile_null  lib/JSON/Validator/Joi.pm       105;"   s
+_compile_number        blib/lib/JSON/Validator/Joi.pm  107;"   s
 _compile_number        lib/JSON/Validator/Joi.pm       107;"   s
+_compile_object        blib/lib/JSON/Validator/Joi.pm  119;"   s
 _compile_object        lib/JSON/Validator/Joi.pm       119;"   s
+_compile_string        blib/lib/JSON/Validator/Joi.pm  134;"   s
 _compile_string        lib/JSON/Validator/Joi.pm       134;"   s
-_expected      lib/JSON/Validator.pm   1018;"  s
-_get   lib/JSON/Validator.pm   232;"   s
-_guess_data_type       lib/JSON/Validator.pm   1025;"  s
-_guess_schema_type     lib/JSON/Validator.pm   1042;"  s
-_guessed_right lib/JSON/Validator.pm   1072;"  s
-_id_key        lib/JSON/Validator.pm   269;"   s
-_is_number     lib/JSON/Validator.pm   1078;"  s
-_load_schema   lib/JSON/Validator.pm   271;"   s
-_load_schema_from_text lib/JSON/Validator.pm   315;"   s
-_load_schema_from_url  lib/JSON/Validator.pm   342;"   s
-_location_to_abs       lib/JSON/Validator.pm   491;"   s
+_definitions_key       blib/lib/JSON/Validator.pm      230;"   s
+_definitions_key       lib/JSON/Validator.pm   230;"   s
+_expected      blib/lib/JSON/Validator.pm      1037;"  s
+_expected      lib/JSON/Validator.pm   1039;"  s
+_get   blib/lib/JSON/Validator.pm      251;"   s
+_get   lib/JSON/Validator.pm   251;"   s
+_guess_data_type       blib/lib/JSON/Validator.pm      1044;"  s
+_guess_data_type       lib/JSON/Validator.pm   1046;"  s
+_guess_schema_type     blib/lib/JSON/Validator.pm      1061;"  s
+_guess_schema_type     lib/JSON/Validator.pm   1063;"  s
+_guessed_right blib/lib/JSON/Validator.pm      1091;"  s
+_guessed_right lib/JSON/Validator.pm   1093;"  s
+_id_key        blib/lib/JSON/Validator.pm      288;"   s
+_id_key        lib/JSON/Validator.pm   288;"   s
+_is_number     blib/lib/JSON/Validator.pm      1097;"  s
+_is_number     lib/JSON/Validator.pm   1099;"  s
+_load_schema   blib/lib/JSON/Validator.pm      290;"   s
+_load_schema   lib/JSON/Validator.pm   290;"   s
+_load_schema_from_text blib/lib/JSON/Validator.pm      334;"   s
+_load_schema_from_text lib/JSON/Validator.pm   334;"   s
+_load_schema_from_url  blib/lib/JSON/Validator.pm      361;"   s
+_load_schema_from_url  lib/JSON/Validator.pm   361;"   s
+_location_to_abs       blib/lib/JSON/Validator.pm      510;"   s
+_location_to_abs       lib/JSON/Validator.pm   510;"   s
+_module_missing        blib/lib/JSON/Validator/Formats.pm      184;"   s
 _module_missing        lib/JSON/Validator/Formats.pm   184;"   s
-_path  lib/JSON/Validator.pm   1084;"  s
-_ref_to_schema lib/JSON/Validator.pm   374;"   s
-_register_schema       lib/JSON/Validator.pm   388;"   s
-_report        lib/JSON/Validator.pm   394;"   s
-_report_colored        lib/JSON/Validator.pm   400;"   s
-_report_errors lib/JSON/Validator.pm   407;"   s
-_report_schema lib/JSON/Validator.pm   417;"   s
-_resolve       lib/JSON/Validator.pm   425;"   s
-_resolve_ref   lib/JSON/Validator.pm   504;"   s
-_stack lib/JSON/Validator.pm   535;"   s
+_path  blib/lib/JSON/Validator.pm      1103;"  s
+_path  lib/JSON/Validator.pm   1105;"  s
+_ref_to_schema blib/lib/JSON/Validator.pm      393;"   s
+_ref_to_schema lib/JSON/Validator.pm   393;"   s
+_register_schema       blib/lib/JSON/Validator.pm      407;"   s
+_register_schema       lib/JSON/Validator.pm   407;"   s
+_report        blib/lib/JSON/Validator.pm      413;"   s
+_report        lib/JSON/Validator.pm   413;"   s
+_report_colored        blib/lib/JSON/Validator.pm      419;"   s
+_report_colored        lib/JSON/Validator.pm   419;"   s
+_report_errors blib/lib/JSON/Validator.pm      426;"   s
+_report_errors lib/JSON/Validator.pm   426;"   s
+_report_schema blib/lib/JSON/Validator.pm      436;"   s
+_report_schema lib/JSON/Validator.pm   436;"   s
+_resolve       blib/lib/JSON/Validator.pm      444;"   s
+_resolve       lib/JSON/Validator.pm   444;"   s
+_resolve_ref   blib/lib/JSON/Validator.pm      523;"   s
+_resolve_ref   lib/JSON/Validator.pm   523;"   s
+_stack blib/lib/JSON/Validator.pm      554;"   s
+_stack lib/JSON/Validator.pm   554;"   s
+_type  blib/lib/JSON/Validator/Joi.pm  147;"   s
 _type  lib/JSON/Validator/Joi.pm       147;"   s
-_uniq  lib/JSON/Validator.pm   1091;"  s
-_validate      lib/JSON/Validator.pm   547;"   s
-_validate_all_of       lib/JSON/Validator.pm   614;"   s
-_validate_any_of       lib/JSON/Validator.pm   640;"   s
-_validate_format       lib/JSON/Validator.pm   724;"   s
-_validate_one_of       lib/JSON/Validator.pm   666;"   s
-_validate_type_any     lib/JSON/Validator.pm   733;"   s
-_validate_type_array   lib/JSON/Validator.pm   735;"   s
-_validate_type_boolean lib/JSON/Validator.pm   794;"   s
-_validate_type_const   lib/JSON/Validator.pm   714;"   s
-_validate_type_enum    lib/JSON/Validator.pm   700;"   s
-_validate_type_integer lib/JSON/Validator.pm   819;"   s
-_validate_type_null    lib/JSON/Validator.pm   828;"   s
-_validate_type_number  lib/JSON/Validator.pm   835;"   s
-_validate_type_object  lib/JSON/Validator.pm   873;"   s
-_validate_type_string  lib/JSON/Validator.pm   953;"   s
+_uniq  blib/lib/JSON/Validator.pm      1110;"  s
+_uniq  lib/JSON/Validator.pm   1112;"  s
+_validate      blib/lib/JSON/Validator.pm      566;"   s
+_validate      lib/JSON/Validator.pm   566;"   s
+_validate_all_of       blib/lib/JSON/Validator.pm      633;"   s
+_validate_all_of       lib/JSON/Validator.pm   633;"   s
+_validate_any_of       blib/lib/JSON/Validator.pm      659;"   s
+_validate_any_of       lib/JSON/Validator.pm   659;"   s
+_validate_format       blib/lib/JSON/Validator.pm      743;"   s
+_validate_format       lib/JSON/Validator.pm   745;"   s
+_validate_one_of       blib/lib/JSON/Validator.pm      685;"   s
+_validate_one_of       lib/JSON/Validator.pm   686;"   s
+_validate_type_any     blib/lib/JSON/Validator.pm      752;"   s
+_validate_type_any     lib/JSON/Validator.pm   754;"   s
+_validate_type_array   blib/lib/JSON/Validator.pm      754;"   s
+_validate_type_array   lib/JSON/Validator.pm   756;"   s
+_validate_type_boolean blib/lib/JSON/Validator.pm      813;"   s
+_validate_type_boolean lib/JSON/Validator.pm   815;"   s
+_validate_type_const   blib/lib/JSON/Validator.pm      733;"   s
+_validate_type_const   lib/JSON/Validator.pm   735;"   s
+_validate_type_enum    blib/lib/JSON/Validator.pm      719;"   s
+_validate_type_enum    lib/JSON/Validator.pm   721;"   s
+_validate_type_integer blib/lib/JSON/Validator.pm      838;"   s
+_validate_type_integer lib/JSON/Validator.pm   840;"   s
+_validate_type_null    blib/lib/JSON/Validator.pm      847;"   s
+_validate_type_null    lib/JSON/Validator.pm   849;"   s
+_validate_type_number  blib/lib/JSON/Validator.pm      854;"   s
+_validate_type_number  lib/JSON/Validator.pm   856;"   s
+_validate_type_object  blib/lib/JSON/Validator.pm      892;"   s
+_validate_type_object  lib/JSON/Validator.pm   894;"   s
+_validate_type_string  blib/lib/JSON/Validator.pm      972;"   s
+_validate_type_string  lib/JSON/Validator.pm   974;"   s
+alphanum       blib/lib/JSON/Validator/Joi.pm  19;"    s
 alphanum       lib/JSON/Validator/Joi.pm       19;"    s
+array  blib/lib/JSON/Validator/Joi.pm  53;"    s
 array  lib/JSON/Validator/Joi.pm       53;"    s
+boolean        blib/lib/JSON/Validator/Joi.pm  20;"    s
 boolean        lib/JSON/Validator/Joi.pm       20;"    s
-bundle lib/JSON/Validator.pm   63;"    s
+bundle blib/lib/JSON/Validator.pm      62;"    s
+bundle lib/JSON/Validator.pm   62;"    s
+check_date     blib/lib/JSON/Validator/Formats.pm      11;"    s
 check_date     lib/JSON/Validator/Formats.pm   11;"    s
+check_date_time        blib/lib/JSON/Validator/Formats.pm      24;"    s
 check_date_time        lib/JSON/Validator/Formats.pm   24;"    s
+check_email    blib/lib/JSON/Validator/Formats.pm      38;"    s
 check_email    lib/JSON/Validator/Formats.pm   38;"    s
+check_hostname blib/lib/JSON/Validator/Formats.pm      54;"    s
 check_hostname lib/JSON/Validator/Formats.pm   54;"    s
+check_idn_email        blib/lib/JSON/Validator/Formats.pm      61;"    s
 check_idn_email        lib/JSON/Validator/Formats.pm   61;"    s
+check_idn_hostname     blib/lib/JSON/Validator/Formats.pm      78;"    s
 check_idn_hostname     lib/JSON/Validator/Formats.pm   78;"    s
+check_ipv4     blib/lib/JSON/Validator/Formats.pm      126;"   s
 check_ipv4     lib/JSON/Validator/Formats.pm   126;"   s
+check_ipv6     blib/lib/JSON/Validator/Formats.pm      134;"   s
 check_ipv6     lib/JSON/Validator/Formats.pm   134;"   s
+check_iri      blib/lib/JSON/Validator/Formats.pm      87;"    s
 check_iri      lib/JSON/Validator/Formats.pm   87;"    s
+check_iri_reference    blib/lib/JSON/Validator/Formats.pm      93;"    s
 check_iri_reference    lib/JSON/Validator/Formats.pm   93;"    s
+check_json_pointer     blib/lib/JSON/Validator/Formats.pm      121;"   s
 check_json_pointer     lib/JSON/Validator/Formats.pm   121;"   s
+check_regex    blib/lib/JSON/Validator/Formats.pm      151;"   s
 check_regex    lib/JSON/Validator/Formats.pm   151;"   s
+check_relative_json_pointer    blib/lib/JSON/Validator/Formats.pm      140;"   
s
 check_relative_json_pointer    lib/JSON/Validator/Formats.pm   140;"   s
+check_time     blib/lib/JSON/Validator/Formats.pm      155;"   s
 check_time     lib/JSON/Validator/Formats.pm   155;"   s
+check_uri      blib/lib/JSON/Validator/Formats.pm      168;"   s
 check_uri      lib/JSON/Validator/Formats.pm   168;"   s
+check_uri_reference    blib/lib/JSON/Validator/Formats.pm      175;"   s
 check_uri_reference    lib/JSON/Validator/Formats.pm   175;"   s
+check_uri_template     blib/lib/JSON/Validator/Formats.pm      180;"   s
 check_uri_template     lib/JSON/Validator/Formats.pm   180;"   s
-coerce lib/JSON/Validator.pm   130;"   s
+coerce blib/lib/JSON/Validator.pm      128;"   s
+coerce lib/JSON/Validator.pm   128;"   s
+compile        blib/lib/JSON/Validator/Joi.pm  22;"    s
 compile        lib/JSON/Validator/Joi.pm       22;"    s
+date_time      blib/lib/JSON/Validator/Joi.pm  35;"    s
 date_time      lib/JSON/Validator/Joi.pm       35;"    s
 edj    t/Helper.pm     11;"    s
+email  blib/lib/JSON/Validator/Joi.pm  36;"    s
 email  lib/JSON/Validator/Joi.pm       36;"    s
+extend blib/lib/JSON/Validator/Joi.pm  38;"    s
 extend lib/JSON/Validator/Joi.pm       38;"    s
+fqn    blib/lib/JSON/Validator/Ref.pm  9;"     s
 fqn    lib/JSON/Validator/Ref.pm       9;"     s
-get    lib/JSON/Validator.pm   149;"   s
+get    blib/lib/JSON/Validator.pm      147;"   s
+get    lib/JSON/Validator.pm   147;"   s
 import t/Helper.pm     41;"    s
+integer        blib/lib/JSON/Validator/Joi.pm  54;"    s
 integer        lib/JSON/Validator/Joi.pm       54;"    s
+iso_date       blib/lib/JSON/Validator/Joi.pm  55;"    s
 iso_date       lib/JSON/Validator/Joi.pm       55;"    s
+items  blib/lib/JSON/Validator/Joi.pm  56;"    s
 items  lib/JSON/Validator/Joi.pm       56;"    s
 j      t/stack/Some.pm 4;"     s
-joi    lib/JSON/Validator.pm   156;"   s
+joi    blib/lib/JSON/Validator.pm      154;"   s
+joi    lib/JSON/Validator.pm   154;"   s
 joi_ok t/Helper.pm     15;"    s
 jv     t/Helper.pm     27;"    s
+length blib/lib/JSON/Validator/Joi.pm  57;"    s
 length lib/JSON/Validator/Joi.pm       57;"    s
-load_and_validate_schema       lib/JSON/Validator.pm   162;"   s
+load_and_validate_schema       blib/lib/JSON/Validator.pm      160;"   s
+load_and_validate_schema       lib/JSON/Validator.pm   160;"   s
+lowercase      blib/lib/JSON/Validator/Joi.pm  58;"    s
 lowercase      lib/JSON/Validator/Joi.pm       58;"    s
+message        blib/lib/JSON/Validator/Error.pm        12;"    s
 message        lib/JSON/Validator/Error.pm     12;"    s
+negative       blib/lib/JSON/Validator/Joi.pm  59;"    s
 negative       lib/JSON/Validator/Joi.pm       59;"    s
-new    lib/JSON/Validator.pm   174;"   s
+new    blib/lib/JSON/Validator.pm      172;"   s
+new    blib/lib/JSON/Validator/Error.pm        6;"     s
+new    lib/JSON/Validator.pm   172;"   s
 new    lib/JSON/Validator/Error.pm     6;"     s
+number blib/lib/JSON/Validator/Joi.pm  60;"    s
 number lib/JSON/Validator/Joi.pm       60;"    s
+object blib/lib/JSON/Validator/Joi.pm  61;"    s
 object lib/JSON/Validator/Joi.pm       61;"    s
+path   blib/lib/JSON/Validator/Error.pm        13;"    s
 path   lib/JSON/Validator/Error.pm     13;"    s
+pattern        blib/lib/JSON/Validator/Joi.pm  62;"    s
 pattern        lib/JSON/Validator/Joi.pm       62;"    s
+positive       blib/lib/JSON/Validator/Joi.pm  63;"    s
 positive       lib/JSON/Validator/Joi.pm       63;"    s
+props  blib/lib/JSON/Validator/Joi.pm  65;"    s
 props  lib/JSON/Validator/Joi.pm       65;"    s
+ref    blib/lib/JSON/Validator/Ref.pm  10;"    s
 ref    lib/JSON/Validator/Ref.pm       10;"    s
-schema lib/JSON/Validator.pm   180;"   s
+schema blib/lib/JSON/Validator.pm      178;"   s
+schema blib/lib/JSON/Validator/Ref.pm  11;"    s
+schema lib/JSON/Validator.pm   178;"   s
 schema lib/JSON/Validator/Ref.pm       11;"    s
-singleton      lib/JSON/Validator.pm   187;"   s
+singleton      blib/lib/JSON/Validator.pm      185;"   s
+singleton      lib/JSON/Validator.pm   185;"   s
+string blib/lib/JSON/Validator/Joi.pm  77;"    s
 string lib/JSON/Validator/Joi.pm       77;"    s
 t::Helper      t/Helper.pm     1;"     p
 t::Helper::edj t/Helper.pm     11;"    s
@@ -278,15 +538,22 @@
 t::Helper::joi_ok      t/Helper.pm     15;"    s
 t::Helper::jv  t/Helper.pm     27;"    s
 t::Helper::validate_ok t/Helper.pm     29;"    s
+to_string      blib/lib/JSON/Validator/Error.pm        14;"    s
 to_string      lib/JSON/Validator/Error.pm     14;"    s
+token  blib/lib/JSON/Validator/Joi.pm  78;"    s
 token  lib/JSON/Validator/Joi.pm       78;"    s
+uppercase      blib/lib/JSON/Validator/Joi.pm  79;"    s
 uppercase      lib/JSON/Validator/Joi.pm       79;"    s
+uri    blib/lib/JSON/Validator/Joi.pm  80;"    s
 uri    lib/JSON/Validator/Joi.pm       80;"    s
-validate       lib/JSON/Validator.pm   189;"   s
+validate       blib/lib/JSON/Validator.pm      187;"   s
+validate       blib/lib/JSON/Validator/Joi.pm  82;"    s
+validate       lib/JSON/Validator.pm   187;"   s
 validate       lib/JSON/Validator/Joi.pm       82;"    s
 validate_age0  t/stack/Some.pm 5;"     s
 validate_age0  t/stack/Some/Module.pm  4;"     s
 validate_age1  t/stack/Some.pm 6;"     s
 validate_age1  t/stack/Some/Module.pm  5;"     s
-validate_json  lib/JSON/Validator.pm   204;"   s
+validate_json  blib/lib/JSON/Validator.pm      202;"   s
+validate_json  lib/JSON/Validator.pm   202;"   s
 validate_ok    t/Helper.pm     29;"    s
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-Validator-3.08/Changes 
new/JSON-Validator-3.09/Changes
--- old/JSON-Validator-3.08/Changes     2019-04-06 10:07:11.000000000 +0200
+++ new/JSON-Validator-3.09/Changes     2019-05-04 17:28:55.000000000 +0200
@@ -1,5 +1,11 @@
 Revision history for perl distribution JSON-Validator
 
+3.09 2019-05-04T22:28:55+0700
+ - Prettier definition names from bundle().
+ - Changed default bundle() definitions location from "x-bundle" to 
"definitions".
+ - Deprecated bundle({ref_ref => ...})
+ - Deprecated bundle({replace => ...})
+
 3.08 2019-04-06T15:07:11+0700
  - Add support for "default" in object definitions #155
  - Add support for coerce("bool,def,num,str") as alternative to hash
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-Validator-3.08/META.json 
new/JSON-Validator-3.09/META.json
--- old/JSON-Validator-3.08/META.json   2019-04-06 10:07:12.000000000 +0200
+++ new/JSON-Validator-3.09/META.json   2019-05-04 17:28:56.000000000 +0200
@@ -60,6 +60,6 @@
       },
       "x_IRC" : "irc://irc.freenode.net/#mojo"
    },
-   "version" : "3.08",
+   "version" : "3.09",
    "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-Validator-3.08/META.yml 
new/JSON-Validator-3.09/META.yml
--- old/JSON-Validator-3.08/META.yml    2019-04-06 10:07:12.000000000 +0200
+++ new/JSON-Validator-3.09/META.yml    2019-05-04 17:28:56.000000000 +0200
@@ -29,5 +29,5 @@
   homepage: https://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/mojolicious/json-validator.git
-version: '3.08'
+version: '3.09'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-Validator-3.08/lib/JSON/Validator.pm 
new/JSON-Validator-3.09/lib/JSON/Validator.pm
--- old/JSON-Validator-3.08/lib/JSON/Validator.pm       2019-04-06 
10:07:11.000000000 +0200
+++ new/JSON-Validator-3.09/lib/JSON/Validator.pm       2019-05-04 
17:28:55.000000000 +0200
@@ -24,11 +24,10 @@
 use constant RECURSION_LIMIT   => $ENV{JSON_VALIDATOR_RECURSION_LIMIT} || 100;
 use constant SPECIFICATION_URL => 'http://json-schema.org/draft-04/schema#';
 
-our $VERSION = '3.08';
-our @EXPORT_OK = qw(joi validate_json);
-
-# $YAML_LOADER should be considered internal
-our $YAML_LOADER = eval q[use YAML::XS 0.67; YAML::XS->can('Load')];
+our $DEFINITIONS = 'definitions';
+our $VERSION = '3.09';
+our $YAML_LOADER = eval q[use YAML::XS 0.67; YAML::XS->can('Load')];  # 
internal
+our @EXPORT_OK   = qw(joi validate_json);
 
 my $BUNDLED_CACHE_DIR = path(path(__FILE__)->dirname, qw(Validator cache));
 my $HTTP_SCHEME_RE    = qr{^https?:};
@@ -68,6 +67,12 @@
   $topics[0][0]
     = $args->{schema} ? $self->_resolve($args->{schema}) : $self->schema->data;
 
+  local $DEFINITIONS = $args->{ref_key} || $DEFINITIONS;
+  Mojo::Util::deprecated('bundle({ref_key => "..."}) will be removed.')
+    if $args->{ref_key};
+  Mojo::Util::deprecated('bundle({replace => 1}) will be removed.')
+    if $args->{replace};
+
   if ($args->{replace}) {
     $cloner = sub {
       my $from = shift;
@@ -79,33 +84,26 @@
     };
   }
   else {
-    my $ref_key = $args->{ref_key} || 'x-bundled';
-    $bundle->{$ref_key} = $topics[0][0]{$ref_key} || {};
+    my %seen;
+    $bundle->{$DEFINITIONS} = $topics[0][0]{$DEFINITIONS} || {};
     $cloner = sub {
-      my $from = shift;
-      my $ref  = ref $from;
+      my $from      = shift;
+      my $from_type = ref $from;
 
-      if ($ref eq 'HASH' and my $tied = tied %$from) {
-        my $ref_name  = $tied->fqn;
-        my $file_name = (split '#', $ref_name)[0];
-        return $from if $ref_name =~ m!^\Q$self->{root_schema_url}\E\#!;
-
-        if (-e $file_name) {
-          $ref_name = sprintf '%s-%s', substr(sha1_sum($ref_name), 0, 10),
-            path($file_name)->basename;
-        }
-        else {
-          $ref_name =~ s![^\w-]!_!g;
-        }
-
-        push @topics, [$tied->schema, $bundle->{$ref_key}{$ref_name} = {}];
-        tie my %ref, 'JSON::Validator::Ref', $tied->schema,
-          "#/$ref_key/$ref_name";
+      if ($from_type eq 'HASH' and my $ref = tied %$from) {
+        return $from
+          if !$args->{schema}
+          and $ref->fqn =~ m!^\Q$self->{root_schema_url}\E\#!;
+
+        my $k = $self->_definitions_key($bundle, $ref, \%seen);
+        push @topics, [$ref->schema, $bundle->{$DEFINITIONS}{$k} ||= {}]
+          unless $seen{$ref->fqn}++;
+        tie my %ref, 'JSON::Validator::Ref', $ref->schema, "#/$DEFINITIONS/$k";
         return \%ref;
       }
 
-      my $to = $ref eq 'ARRAY' ? [] : $ref eq 'HASH' ? {} : $from;
-      push @topics, [$from, $to] if $ref;
+      my $to = $from_type eq 'ARRAY' ? [] : $from_type eq 'HASH' ? {} : $from;
+      push @topics, [$from, $to] if $from_type;
       return $to;
     };
   }
@@ -229,6 +227,29 @@
   };
 }
 
+sub _definitions_key {
+  my ($self, $bundle, $ref, $seen) = @_;
+
+  # No need to rewrite, when it already has a nice name
+  return $1
+    if $ref->fqn =~ m!#/$DEFINITIONS/([^/]+)$!
+    and ($seen->{$ref->fqn}
+    or !$bundle->{$DEFINITIONS}{$1}
+    or D($ref->schema) eq D($bundle->{$DEFINITIONS}{$1}));
+
+  # Must mask path to file on disk
+  my $key       = $ref->fqn;
+  my $spec_path = (split '#', $key)[0];
+  if (-e $spec_path) {
+    $key = sprintf '%s-%s', substr(sha1_sum($key), 0, 10),
+      path($spec_path)->basename;
+  }
+
+  # Fallback or nicer path name
+  $key =~ s![^\w-]!_!g;
+  $key;
+}
+
 sub _get {
   my ($self, $data, $path, $pos, $cb) = @_;
   my $tied;
@@ -1301,30 +1322,16 @@
 
 =head2 bundle
 
-  my $schema = $jv->bundle(\%args);
-
-Used to create a new schema, where the C<$ref> are resolved. C<%args> can have:
-
-=over 2
-
-=item * C<< {replace => 1} >>
-
-Used if you want to replace the C<$ref> inline in the schema. This currently
-does not work if you have circular references. The default is to move all the
-C<$ref> definitions into the main schema with custom names. Here is an example
-on how a C<$ref> looks before and after:
-
-  {"$ref":"../some/place.json#/foo/bar"}
-     => {"$ref":"#/definitions/____some_place_json-_foo_bar"}
-
-  {"$ref":"http://example.com#/foo/bar"}
-     => {"$ref":"#/definitions/_http___example_com-_foo_bar"}
-
-=item * C<< {schema => {...}} >>
-
-Default is to use the value from the L</schema> attribute.
-
-=back
+  # These two lines does the same
+  my $schema = $jv->bundle({schema => $self->schema->data});
+  my $schema = $jv->bundle;
+
+  # Will only bundle a section of the schema
+  my $schema = $jv->bundle({schema => 
$self->schema->get("/properties/person/age")});
+
+Used to create a new schema, where there are no "$ref" pointing to external
+resources. This means that all the "$ref" that are found, will be moved into
+the "definitions" key, in the returning C<$schema>.
 
 =head2 coerce
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/JSON-Validator-3.08/t/bundle.t 
new/JSON-Validator-3.09/t/bundle.t
--- old/JSON-Validator-3.08/t/bundle.t  2019-04-06 05:26:28.000000000 +0200
+++ new/JSON-Validator-3.09/t/bundle.t  2019-05-04 17:27:59.000000000 +0200
@@ -19,7 +19,6 @@
 for my $n (1 .. 3) {
   note "[$n] replace=1";
   $bundled = $jv->bundle({
-    ref_key => 'definitions',
     replace => 1,
     schema  => {
       name        => {'$ref' => '#/definitions/name'},
@@ -35,15 +34,14 @@
     age         => {'$ref' => 'b.json#/definitions/age'},
     definitions => {name   => {type => 'string'}},
     B => {id => 'b.json', definitions => {age => {type => 'integer'}}},
-  })->bundle({ref_key => 'definitions'});
+  })->bundle;
   is $bundled->{definitions}{name}{type}, 'string',
     "[$n] name still in definitions";
-  is $bundled->{definitions}{b_json__definitions_age}{type}, 'integer',
-    "[$n] added to definitions";
+  is $bundled->{definitions}{age}{type}, 'integer', "[$n] added to 
definitions";
   isnt $bundled->{age}, $jv->schema->get('/age'),  "[$n] new age ref";
   is $bundled->{name},  $jv->schema->get('/name'), "[$n] same name ref";
-  is $bundled->{age}{'$ref'}, '#/definitions/b_json__definitions_age',
-    "[$n] age \$ref point to /definitions/b_json__definitions_age";
+  is $bundled->{age}{'$ref'}, '#/definitions/age',
+    "[$n] age \$ref point to /definitions/age";
   is $bundled->{name}{'$ref'}, '#/definitions/name',
     "[$n] name \$ref point to /definitions/name";
 }
@@ -55,8 +53,7 @@
 is $jv->schema->get('/name/$ref'), '#/definitions/name',
   'schema get /name/$ref';
 
-$bundled
-  = $jv->schema('data://main/api.json')->bundle({ref_key => 'definitions'});
+$bundled = $jv->schema('data://main/bundled.json')->bundle;
 is_deeply [sort keys %{$bundled->{definitions}}], ['objtype'],
   'no dup definitions';
 
@@ -66,13 +63,13 @@
 );
 for my $pathlist (@pathlists) {
   my $file = path $workdir, @$pathlist;
-  $bundled = $jv->schema($file)->bundle({ref_key => 'definitions'});
+  $bundled = $jv->schema($file)->bundle;
   is_deeply [sort map { s!^[a-z0-9]{10}!SHA!; $_ }
       keys %{$bundled->{definitions}}],
     [qw(
-      SHA-age.json
-      SHA-unit.json
-      SHA-weight.json
+      SHA-age_json
+      SHA-unit_json
+      SHA-weight_json
       height
       )],
     'right definitions in disk spec'
@@ -88,23 +85,16 @@
   or diag explain $bundled;
 
 note 'extract subset of schema';
-$bundled = $jv->bundle({
-  ref_key => 'definitions',
-  schema  => $jv->schema('data://main/api.json')->get([qw(paths /withdots 
get)])
-});
+$jv->schema('data://main/bundled.json');
+$bundled = $jv->bundle({schema => $jv->get([qw(paths /withdots get)])});
 is_deeply(
   $bundled,
   {
     definitions => {
-      data___main_api_json__definitions_objtype =>
+      objtype =>
         {properties => {propname => {type => 'string'}}, type => 'object'}
     },
-    responses => {
-      200 => {
-        schema =>
-          {'$ref' => '#/definitions/data___main_api_json__definitions_objtype'}
-      }
-    }
+    responses => {200 => {schema => {'$ref' => '#/definitions/objtype'}}}
   },
   'subset of schema was bundled'
 ) or diag explain $bundled;
@@ -114,27 +104,29 @@
 $ref_name_prefix =~ s![^\w-]!_!g;
 $jv->schema(path $workdir, 'spec', 'bundle-no-leaking-filename.json');
 $bundled = $jv->bundle({ref_key => 'xyz'});
-is_deeply [grep { 0 == index $_, $ref_name_prefix } keys %{$bundled->{xyz}}],
-  [], 'no leaking of path';
+my @definitions = keys %{$bundled->{xyz}};
+ok @definitions, 'definitions are present';
+is_deeply [grep { 0 == index $_, $ref_name_prefix } @definitions], [],
+  'no leaking of path';
 
 done_testing;
 
 __DATA__
-@@ api.json
+@@ bundled.json
 {
-   "definitions" : {
-      "objtype" : {
-         "type" : "object",
-         "properties" : { "propname" : { "type" : "string" } }
-      }
-   },
-   "paths" : {
-      "/withdots" : {
-         "get" : {
-            "responses" : {
-               "200" : { "schema" : { "$ref" : "#/definitions/objtype" } }
-            }
-         }
+  "definitions": {
+    "objtype": {
+      "type": "object",
+      "properties": {"propname": {"type": "string"}}
+    }
+  },
+  "paths": {
+    "/withdots": {
+      "get": {
+        "responses": {
+          "200": {"schema": {"$ref": "#/definitions/objtype"}}
+        }
       }
-   }
+    }
+  }
 }


Reply via email to