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"}} + } } - } + } + } }