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 <[email protected]>
+
+- 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"}}
+ }
}
- }
+ }
+ }
}