JSON-Schema-AsType v0.4.4 Perl 5 v5.22.3 MSWin32-x64-multi-thread
- Status
- Pass
- From
- twata
- Dist
-
JSON-Schema-AsType v0.4.4
- Platform
- Perl 5 v5.22.3 MSWin32-x64-multi-thread
- Date
- 2024-04-30 07:47:59
- ID
- b04ec85e-6da8-1014-a19d-8e3fcb952333
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear Yanick Champoux,
This is a computer-generated report for JSON-Schema-AsType-0.4.4
on perl 5.22.3, created by CPAN-Reporter-1.2019.
Thank you for uploading your work to CPAN. Congratulations!
All tests were successful.
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
none provided
------------------------------
PROGRAM OUTPUT
------------------------------
Output from 'C:\strawberry\c\bin\dmake.exe test':
C:\"Strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-compile.t ......... ok
#
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 7.70
#
# === Build Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 7.70
#
# === Test Requires ===
#
# Module Want Have
# ------------------- ----- --------
# Exporter any 5.78
# ExtUtils::MakeMaker any 7.70
# File::Spec any 3.75
# IO::Handle any 1.55
# IPC::Open3 any 1.18
# Path::Tiny 0.062 0.144
# Test::Deep any 1.204
# Test::Exception any 0.43
# Test::More any 1.302198
# lib any 0.63
# parent any 0.241
#
# === Test Recommends ===
#
# Module Want Have
# ---------- -------- --------
# CPAN::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
# Module Want Have
# ---------------------- -------- --------
# Clone any 0.46
# JSON any 4.10
# LWP::Simple any 6.77
# List::AllUtils any 0.18
# List::MoreUtils any 0.430
# List::Util any 1.63
# Moose any 2.2207
# Moose::Role any 2.2207
# Moose::Util any 2.2207
# MooseX::ClassAttribute any 0.29
# MooseX::MungeHas any 0.011
# Path::Tiny 0.062 0.144
# Scalar::Util any 1.63
# Type::Library any 2.004000
# Type::Tiny any 2.004000
# Type::Tiny::Class any 2.004000
# Type::Utils any 2.004000
# Types::Standard any 2.004000
# URI any 5.28
# perl 5.014000 5.022003
# strict any 1.09
# warnings any 1.34
#
t/00-report-prereqs.t .. ok
t/basic.t .............. ok
t/draft3.t ............. ok
t/draft4.t ............. ok
# {
# 'additionalItems' => {
# 'type' => 'integer'
# },
# 'items' => [
# {}
# ]
# }
#
# {
# 'additionalItems' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'items' => {}
# }
# {
# 'additionalItems' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'items' => [
# {},
# {},
# {}
# ]
# }
# "AdditionalItems[3]&~ArrayRef|Tuple[Optional[Any],Optional[Any],Optional[Any],Slurpy[Any]]" requires that the value pass "AdditionalItems[3]" and "~ArrayRef|Tuple[Optional[Any],Optional[Any],Optional[Any],Slurpy[Any]]"
# Reference [1,2,3,4] did not pass type constraint "AdditionalItems[3]"
# "AdditionalItems[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; @$_ <= $size; }
# {
# 'additionalItems' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# }
# {
# 'items' => [
# {
# 'type' => 'integer'
# }
# ]
# }
# {
# 'additionalProperties' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'patternProperties' => {
# '^v' => {}
# },
# 'properties' => {
# 'bar' => {},
# 'foo' => {}
# }
# }
# "AdditionalProperties[ARRAY(0x5574c18),0]&PatternProperties["^v",Any]&Properties[foo,Any,bar,Any]" requires that the value pass "AdditionalProperties[ARRAY(0x5574c18),0]", "PatternProperties["^v",Any]", and "Properties[foo,Any,bar,Any]"
# Reference {"bar" => 2,"foo" => 1,"quux" => "boom"} did not pass type constraint "AdditionalProperties[ARRAY(0x5574c18),0]"
# "AdditionalProperties[ARRAY(0x5574c18),0]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
# {
# 'additionalProperties' => {
# 'type' => 'boolean'
# },
# 'patternProperties' => {},
# 'properties' => {
# 'bar' => {},
# 'foo' => {}
# }
# }
# "AdditionalProperties[ARRAY(0x5602868),Boolean]&PatternProperties[]&Properties[bar,Any,foo,Any]" requires that the value pass "AdditionalProperties[ARRAY(0x5602868),Boolean]", "PatternProperties[]", and "Properties[bar,Any,foo,Any]"
# Reference {"bar" => 2,"foo" => 1,"quux" => 12} did not pass type constraint "AdditionalProperties[ARRAY(0x5602868),Boolean]"
# "AdditionalProperties[ARRAY(0x5602868),Boolean]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
# {
# 'additionalProperties' => {
# 'type' => 'boolean'
# },
# 'patternProperties' => {},
# 'properties' => {}
# }
# "AdditionalProperties[ARRAY(0x5c74f20),Boolean]&PatternProperties[]&Properties[]" requires that the value pass "AdditionalProperties[ARRAY(0x5c74f20),Boolean]", "PatternProperties[]", and "Properties[]"
# Reference {"foo" => 1} did not pass type constraint "AdditionalProperties[ARRAY(0x5c74f20),Boolean]"
# "AdditionalProperties[ARRAY(0x5c74f20),Boolean]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
# {
# 'properties' => {
# 'bar' => {},
# 'foo' => {}
# }
# }
# {
# 'allOf' => [
# {
# 'properties' => {
# 'bar' => {
# 'type' => 'integer'
# }
# },
# 'required' => [
# 'bar'
# ]
# },
# {
# 'properties' => {
# 'foo' => {
# 'type' => 'string'
# }
# },
# 'required' => [
# 'foo'
# ]
# }
# ]
# }
# Reference {"foo" => "baz"} did not pass type constraint "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]"
# "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# Reference {"bar" => 2} did not pass type constraint "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]"
# "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# Reference {"bar" => "quux","foo" => "baz"} did not pass type constraint "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]"
# "AllOf[Properties[bar,Integer]&Required[bar],Properties[foo,String]&Required[foo]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# {
# 'allOf' => [
# {
# 'properties' => {
# 'foo' => {
# 'type' => 'string'
# }
# },
# 'required' => [
# 'foo'
# ]
# },
# {
# 'properties' => {
# 'baz' => {
# 'type' => 'null'
# }
# },
# 'required' => [
# 'baz'
# ]
# }
# ],
# 'properties' => {
# 'bar' => {
# 'type' => 'integer'
# }
# },
# 'required' => [
# 'bar'
# ]
# }
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
# Reference {"baz" => undef,"foo" => "quux"} did not pass type constraint "Required[bar]"
# "Required[bar]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
# Reference {"bar" => 2,"baz" => undef} did not pass type constraint "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]"
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
# Reference {"bar" => 2,"foo" => "quux"} did not pass type constraint "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]"
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]&Properties[bar,Integer]&Required[bar]" requires that the value pass "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]", "Properties[bar,Integer]", and "Required[bar]"
# Reference {"bar" => 2} did not pass type constraint "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]"
# "AllOf[Properties[foo,String]&Required[foo],Properties[baz,Null]&Required[baz]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# {
# 'allOf' => [
# {
# 'maximum' => 30
# },
# {
# 'minimum' => 20
# }
# ]
# }
# Value "35" did not pass type constraint "AllOf[Maximum[30],Minimum[20]]"
# "AllOf[Maximum[30],Minimum[20]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# {
# 'allOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# $VAR1->{'allOf'}[0]
# ]
# }
# {
# 'allOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# ]
# }
# Value "foo" did not pass type constraint "AllOf[Any,None]"
# "AllOf[Any,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# {
# 'allOf' => [
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# $VAR1->{'allOf'}[0]
# ]
# }
# Value "foo" did not pass type constraint "AllOf[None,None]"
# "AllOf[None,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; all sub { $_->check($v); } , @types; }
# {
# 'anyOf' => [
# {
# 'type' => 'integer'
# },
# {
# 'minimum' => 2
# }
# ]
# }
# Value "1.5" did not pass type constraint "AnyOf[Integer,Minimum[2]]"
# "AnyOf[Integer,Minimum[2]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# {
# 'anyOf' => [
# {
# 'maxLength' => 2
# },
# {
# 'minLength' => 4
# }
# ],
# 'type' => 'string'
# }
# "AnyOf[MaxLength[2],MinLength[4]]&String" requires that the value pass "AnyOf[MaxLength[2],MinLength[4]]" and "String"
# Value "3" did not pass type constraint "String"
# "String" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 16384; }
# "AnyOf[MaxLength[2],MinLength[4]]&String" requires that the value pass "AnyOf[MaxLength[2],MinLength[4]]" and "String"
# Value "foo" did not pass type constraint "AnyOf[MaxLength[2],MinLength[4]]"
# "AnyOf[MaxLength[2],MinLength[4]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# {
# 'anyOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# $VAR1->{'anyOf'}[0]
# ]
# }
# {
# 'anyOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# ]
# }
# {
# 'anyOf' => [
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# $VAR1->{'anyOf'}[0]
# ]
# }
# Value "foo" did not pass type constraint "AnyOf[None,None]"
# "AnyOf[None,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# Value "1" did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Value "foo" did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Reference bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Undef did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Reference {"foo" => "bar"} did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Reference {} did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Reference ["foo"] did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# Reference [] did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# {
# 'const' => 2
# }
# Value "5" did not pass type constraint "Enum[2]"
# "Enum[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# Value "a" did not pass type constraint "Enum[2]"
# "Enum[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# {
# 'const' => {
# 'baz' => 'bax',
# 'foo' => 'bar'
# }
# }
# Reference {"foo" => "bar"} did not pass type constraint "Enum[HASH(0x5c86048)]"
# "Enum[HASH(0x5c86048)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# Reference [1,2] did not pass type constraint "Enum[HASH(0x5c86048)]"
# "Enum[HASH(0x5c86048)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# {
# 'const' => undef
# }
# Value "0" did not pass type constraint "Enum[undef]"
# "Enum[undef]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# {
# 'contains' => {
# 'minimum' => 5
# }
# }
# Reference [2,3,4] did not pass type constraint "Contains[Minimum[5]]"
# "Contains[Minimum[5]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
# Reference [] did not pass type constraint "Contains[Minimum[5]]"
# "Contains[Minimum[5]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
# {
# 'contains' => {
# 'const' => 5
# }
# }
# Reference [1,2,3,4] did not pass type constraint "Contains[Enum[5]]"
# "Contains[Enum[5]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
# {
# 'contains' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# Reference [] did not pass type constraint "Contains[Any]"
# "Contains[Any]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
# {
# 'contains' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# }
# Reference ["foo"] did not pass type constraint "Contains[None]"
# "Contains[None]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
# Reference [] did not pass type constraint "Contains[None]"
# "Contains[None]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Array->check($_); if (Boolean->check($type)) { (); } return any(sub { $type->check($_); } , @$_); }
# {
# 'properties' => {
# 'foo' => {
# 'default' => [],
# 'type' => 'integer'
# }
# }
# }
# {
# 'properties' => {
# 'bar' => {
# 'default' => 'bad',
# 'minLength' => 4,
# 'type' => 'string'
# }
# }
# }
# {
# '$ref' => 'http://json-schema.org/draft-04/schema#'
# }
# {
# '$ref' => 'http://json-schema.org/draft-04/schema#'
# }
# ref schema is {"$schema":"http://json-schema.org/draft-04/schema#","dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"properties":{"oneOf":{"$ref":"#/definitions/schemaArray"},"multipleOf":{"minimum":0,"type":"number","exclusiveMinimum":true},"anyOf":{"$ref":"#/definitions/schemaArray"},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"$schema":{"type":"string","format":"uri"},"not":{"$ref":"#"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"minimum":{"type":"number"},"uniqueItems":{"type":"boolean","default":false},"items":{"default":{},"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}]},"default":{},"exclusiveMaximum":{"type":"boolean","default":false},"pattern":{"format":"regex","type":"string"},"properties":{"properties":{},"patternProperties":{},"default":{},"additionalProperties":{"$ref":"#"},"type":"object"},"additionalProperties":{"default":{},"anyOf":[{"type":"boolean"},{"$ref":"#"}]},"description":{"type":"string"},"maxItems":{"$ref":"#/definitions/positiveInteger"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"allOf":{"$ref":"#/definitions/schemaArray"},"maxLength":{"$ref":"#/definitions/positiveInteger"},"required":{"$ref":"#/definitions/stringArray"},"definitions":{"properties":{},"patternProperties":{},"default":{},"additionalProperties":{"$ref":"#"},"type":"object"},"additionalItems":{"default":{},"anyOf":[{"type":"boolean"},{"$ref":"#"}]},"dependencies":{"patternProperties":{},"properties":{},"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"id":{"format":"uri","type":"string"},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"minItems":1,"items":{"$ref":"#/definitions/simpleTypes"},"type":"array","uniqueItems":true}]},"patternProperties":{"default":{},"patternProperties":{},"properties":{},"type":"object","additionalProperties":{"$ref":"#"}},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"enum":{"type":"array","uniqueItems":true,"minItems":1},"title":{"type":"string"}},"id":"http://json-schema.org/draft-04/schema#","default":{},"type":"object","definitions":{"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"minItems":1,"items":{"type":"string"},"type":"array","uniqueItems":true},"schemaArray":{"minItems":1,"items":{"$ref":"#"},"type":"array"},"positiveInteger":{"minimum":0,"type":"integer"}},"description":"Core schema meta-schema"}
# "Dependency[exclusiveMaximum,ARRAY(0x5157440)]&Dependency[exclusiveMinimum,ARRAY(0x5157410)]&Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]&Object" requires that the value pass "Dependency[exclusiveMaximum,ARRAY(0x5157440)]", "Dependency[exclusiveMinimum,ARRAY(0x5157410)]", "Object", and "Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]"
# Reference {"definitions" => {"foo" => 'HASH(0x5cb4fe8)'}} did not pass type constraint "Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]"
# "Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# "Ref(http://json-schema.org/draft-04/schema#)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# 'dependencies' => {
# 'bar' => [
# 'foo'
# ]
# }
# }
# Reference {"bar" => 2} did not pass type constraint "Dependency[bar,ARRAY(0x5c8e710)]"
# "Dependency[bar,ARRAY(0x5c8e710)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# {
# 'dependencies' => {
# 'bar' => []
# }
# }
# {
# 'dependencies' => {
# 'quux' => [
# 'foo',
# 'bar'
# ]
# }
# }
# Reference {"foo" => 1,"quux" => 2} did not pass type constraint "Dependency[quux,ARRAY(0x5c8ddb0)]"
# "Dependency[quux,ARRAY(0x5c8ddb0)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# Reference {"bar" => 1,"quux" => 2} did not pass type constraint "Dependency[quux,ARRAY(0x5c8ddb0)]"
# "Dependency[quux,ARRAY(0x5c8ddb0)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# Reference {"quux" => 1} did not pass type constraint "Dependency[quux,ARRAY(0x5c8ddb0)]"
# "Dependency[quux,ARRAY(0x5c8ddb0)]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# {
# 'dependencies' => {
# 'bar' => {
# 'properties' => {
# 'bar' => {
# 'type' => 'integer'
# },
# 'foo' => {
# 'type' => 'integer'
# }
# }
# }
# }
# }
# Reference {"bar" => 2,"foo" => "quux"} did not pass type constraint "Dependency[bar,__ANON__]"
# "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# Reference {"bar" => "quux","foo" => 2} did not pass type constraint "Dependency[bar,__ANON__]"
# "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# Reference {"bar" => "quux","foo" => "quux"} did not pass type constraint "Dependency[bar,__ANON__]"
# "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# {
# 'dependencies' => {
# 'bar' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'foo' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# }
# "Dependency[foo,__ANON__]&Dependency[bar,__ANON__]" requires that the value pass "Dependency[bar,__ANON__]" and "Dependency[foo,__ANON__]"
# Reference {"bar" => 2} did not pass type constraint "Dependency[bar,__ANON__]"
# "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# "Dependency[foo,__ANON__]&Dependency[bar,__ANON__]" requires that the value pass "Dependency[bar,__ANON__]" and "Dependency[foo,__ANON__]"
# Reference {"bar" => 2,"foo" => 1} did not pass type constraint "Dependency[bar,__ANON__]"
# "Dependency[bar,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 unless exists $_->{$property}; my $obj = $_; return all(sub { exists $obj->{$_}; } , @$dep) if ref $dep eq 'ARRAY'; return exists $obj->{$dep} unless ref $dep; return $dep->check($_); }
# {
# 'enum' => [
# 1,
# 2,
# 3
# ]
# }
# Value "4" did not pass type constraint "Enum[1,2,3]"
# "Enum[1,2,3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# {
# 'enum' => [
# 6,
# 'foo',
# [],
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# {
# 'foo' => 12
# }
# ]
# }
# Undef did not pass type constraint "Enum[6,foo,ARRAY(0x5ccea08),1,HASH(0x5cb4ca0)]"
# "Enum[6,foo,ARRAY(0x5ccea08),1,HASH(0x5cb4ca0)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# Reference {"foo" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )} did not pass type constraint "Enum[6,foo,ARRAY(0x5ccea08),1,HASH(0x5cb4ca0)]"
# "Enum[6,foo,ARRAY(0x5ccea08),1,HASH(0x5cb4ca0)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $j = $_; any sub { same_structs($_, $j); } , @items; }
# {
# 'properties' => {
# 'bar' => {
# 'enum' => [
# 'bar'
# ]
# },
# 'foo' => {
# 'enum' => [
# 'foo'
# ]
# }
# },
# 'required' => [
# 'bar'
# ],
# 'type' => 'object'
# }
# "Properties[foo,Enum[foo],bar,Enum[bar]]&Required[bar]&Object" requires that the value pass "Object", "Properties[foo,Enum[foo],bar,Enum[bar]]", and "Required[bar]"
# Reference {"foo" => "foo"} did not pass type constraint "Required[bar]"
# "Required[bar]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
# "Properties[foo,Enum[foo],bar,Enum[bar]]&Required[bar]&Object" requires that the value pass "Object", "Properties[foo,Enum[foo],bar,Enum[bar]]", and "Required[bar]"
# Reference {} did not pass type constraint "Required[bar]"
# "Required[bar]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
# {
# 'exclusiveMaximum' => '3'
# }
# Value "3" did not pass type constraint "ExclusiveMaximum[3]"
# "ExclusiveMaximum[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ < $max unless not StrictNum->check($_); }
# Value "3.5" did not pass type constraint "ExclusiveMaximum[3]"
# "ExclusiveMaximum[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ < $max unless not StrictNum->check($_); }
# {
# 'exclusiveMinimum' => '1.1'
# }
# Value "1.1" did not pass type constraint "ExclusiveMinimum["1.1"]"
# "ExclusiveMinimum["1.1"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ > $minimum unless not StrictNum->check($_); }
# Value "0.6" did not pass type constraint "ExclusiveMinimum["1.1"]"
# "ExclusiveMinimum["1.1"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ > $minimum unless not StrictNum->check($_); }
# {
# 'items' => {
# 'type' => 'integer'
# }
# }
# "~ArrayRef|Tuple[Slurpy[ArrayRef[Integer]]]" requires that the value pass "Tuple[Slurpy[ArrayRef[Integer]]]" or "~ArrayRef"
# Reference [1,"x"] did not pass type constraint "~ArrayRef"
# Reference [1,"x"] did not pass type constraint "~ArrayRef"
# "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
# Reference [1,"x"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Integer]]]"
# Reference [1,"x"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Integer]]]"
# Array elements from index 0 are slurped into a arrayref which is constrained with "ArrayRef[Integer]"
# Reference [1,"x"] did not pass type constraint "ArrayRef[Integer]" (in $SLURPY)
# "ArrayRef[Integer]" constrains each value in the array with "Integer"
# Value "x" did not pass type constraint "Integer" (in $SLURPY->[1])
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# {
# 'items' => [
# {
# 'type' => 'integer'
# },
# {
# 'type' => 'string'
# }
# ]
# }
# "~ArrayRef|Tuple[Optional[Integer],Optional[String],Slurpy[Any]]" requires that the value pass "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]" or "~ArrayRef"
# Reference ["foo",1] did not pass type constraint "~ArrayRef"
# Reference ["foo",1] did not pass type constraint "~ArrayRef"
# "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
# Reference ["foo",1] did not pass type constraint "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]"
# Reference ["foo",1] did not pass type constraint "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]"
# "Tuple[Optional[Integer],Optional[String],Slurpy[Any]]" constrains value at index 0 of array with "Optional[Integer]"
# Value "foo" did not pass type constraint "Optional[Integer]" (in $_->[0])
# $_->[0] exists
# "Optional[Integer]" constrains $_->[0] with "Integer" if it exists
# Value "foo" did not pass type constraint "Integer" (in $_->[0])
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# {
# 'items' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# {
# 'items' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# }
# Reference [1,"foo",bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )] did not pass type constraint "Items[0]"
# "Items[0]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not @$_; }
# {
# 'items' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# ]
# }
# "~ArrayRef|Tuple[Optional[Any],Optional[None],Slurpy[Any]]" requires that the value pass "Tuple[Optional[Any],Optional[None],Slurpy[Any]]" or "~ArrayRef"
# Reference [1,"foo"] did not pass type constraint "~ArrayRef"
# Reference [1,"foo"] did not pass type constraint "~ArrayRef"
# "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
# Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Any],Optional[None],Slurpy[Any]]"
# Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Any],Optional[None],Slurpy[Any]]"
# "Tuple[Optional[Any],Optional[None],Slurpy[Any]]" constrains value at index 1 of array with "Optional[None]"
# Value "foo" did not pass type constraint "Optional[None]" (in $_->[1])
# $_->[1] exists
# "Optional[None]" constrains $_->[1] with "None" if it exists
# Value "foo" did not pass type constraint "None" (in $_->[1])
# "None" is defined as: (not((!!1)))
# {
# 'maximum' => '3'
# }
# Value "3.5" did not pass type constraint "Maximum[3]"
# "Maximum[3]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ <= $max unless not StrictNum->check($_); }
# {
# 'maxItems' => 2
# }
# Reference [1,2,3] did not pass type constraint "MaxItems[2]"
# "MaxItems[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; @$_ <= $max unless ref $_ ne 'ARRAY'; }
# {
# 'maxLength' => 2
# }
# Value "foo" did not pass type constraint "MaxLength[2]"
# "MaxLength[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $length >= length $_ unless not String->check($_); }
# {
# 'maxProperties' => 2
# }
# Reference {"bar" => 2,"baz" => 3,"foo" => 1} did not pass type constraint "MaxProperties[2]"
# "MaxProperties[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $nbr >= keys %$_ unless not Object->check($_); }
# {
# 'minimum' => '1.1'
# }
# Value "0.6" did not pass type constraint "Minimum["1.1"]"
# "Minimum["1.1"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $_ >= $minimum unless not Number->check($_); }
# {
# 'minItems' => 1
# }
# Reference [] did not pass type constraint "MinItems[1]"
# "MinItems[1]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; @$_ >= $min unless ref $_ ne 'ARRAY'; }
# {
# 'minLength' => 2
# }
# Value "f" did not pass type constraint "MinLength[2]"
# "MinLength[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $length <= length $_ unless not String->check($_); }
# Value "\x{1f4a9}" did not pass type constraint "MinLength[2]"
# "MinLength[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $length <= length $_ unless not String->check($_); }
# {
# 'minProperties' => 1
# }
# Reference {} did not pass type constraint "MinProperties[1]"
# "MinProperties[1]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; $nbr <= scalar keys %$_ unless not Object->check($_); }
# {
# 'multipleOf' => 2
# }
# Value "7" did not pass type constraint "MultipleOf[2]"
# "MultipleOf[2]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not Number->check($_) && ($_ / $num) =~ /\./; }
# {
# 'multipleOf' => '1.5'
# }
# Value "35" did not pass type constraint "MultipleOf["1.5"]"
# "MultipleOf["1.5"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not Number->check($_) && ($_ / $num) =~ /\./; }
# {
# 'multipleOf' => '0.0001'
# }
# Value "0.00751" did not pass type constraint "MultipleOf["0.0001"]"
# "MultipleOf["0.0001"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not Number->check($_) && ($_ / $num) =~ /\./; }
# {
# 'not' => {
# 'type' => 'integer'
# }
# }
# Value "1" did not pass type constraint "Not[__ANON__]"
# "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
# {
# 'not' => {
# 'type' => [
# 'integer',
# 'boolean'
# ]
# }
# }
# Value "1" did not pass type constraint "Not[__ANON__]"
# "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Not[__ANON__]"
# "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
# {
# 'not' => {
# 'properties' => {
# 'foo' => {
# 'type' => 'string'
# }
# },
# 'type' => 'object'
# }
# }
# Reference {"foo" => "bar"} did not pass type constraint "Not[__ANON__]"
# "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
# {
# 'properties' => {
# 'foo' => {
# 'not' => {}
# }
# }
# }
# Reference {"bar" => 2,"foo" => 1} did not pass type constraint "Properties[foo,Not[__ANON__]]"
# "Properties[foo,Not[__ANON__]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# 'not' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# Value "foo" did not pass type constraint "Not[__ANON__]"
# "Not[__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not $type->check($_); }
# {
# 'not' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# }
# {
# 'oneOf' => [
# {
# 'type' => 'integer'
# },
# {
# 'minimum' => 2
# }
# ]
# }
# Value "3" did not pass type constraint "OneOf[__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# Value "1.5" did not pass type constraint "OneOf[__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# {
# 'oneOf' => [
# {
# 'minLength' => 2
# },
# {
# 'maxLength' => 4
# }
# ],
# 'type' => 'string'
# }
# "OneOf[__ANON__,__ANON__]&String" requires that the value pass "OneOf[__ANON__,__ANON__]" and "String"
# Value "3" did not pass type constraint "OneOf[__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# "OneOf[__ANON__,__ANON__]&String" requires that the value pass "OneOf[__ANON__,__ANON__]" and "String"
# Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# {
# 'oneOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# $VAR1->{'oneOf'}[0],
# $VAR1->{'oneOf'}[0]
# ]
# }
# Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# {
# 'oneOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# $VAR1->{'oneOf'}[1]
# ]
# }
# {
# 'oneOf' => [
# bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
# $VAR1->{'oneOf'}[0],
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# ]
# }
# Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# {
# 'oneOf' => [
# bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# $VAR1->{'oneOf'}[0],
# $VAR1->{'oneOf'}[0]
# ]
# }
# Value "foo" did not pass type constraint "OneOf[__ANON__,__ANON__,__ANON__]"
# "OneOf[__ANON__,__ANON__,__ANON__]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; 1 == grep({$_->check($v);} @types); }
# {
# 'pattern' => '^a*$'
# }
# Value "abc" did not pass type constraint "Pattern["^a*\$"]"
# "Pattern["^a*\$"]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; /$regex/ unless not String->check($_); }
# {
# 'pattern' => 'a+'
# }
# {
# 'patternProperties' => {
# 'f.*o' => {
# 'type' => 'integer'
# }
# }
# }
# Reference {"foo" => "bar","fooooo" => 2} did not pass type constraint "PatternProperties["f.*o",Integer]"
# "PatternProperties["f.*o",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# Reference {"foo" => "bar","foooooo" => "baz"} did not pass type constraint "PatternProperties["f.*o",Integer]"
# "PatternProperties["f.*o",Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# {
# 'patternProperties' => {
# 'a*' => {
# 'type' => 'integer'
# },
# 'aaa*' => {
# 'maximum' => 20
# }
# }
# }
# Reference {"a" => "bar"} did not pass type constraint "PatternProperties["a*",Integer,"aaa*",Maximum[20]]"
# "PatternProperties["a*",Integer,"aaa*",Maximum[20]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# Reference {"aaaa" => 31} did not pass type constraint "PatternProperties["a*",Integer,"aaa*",Maximum[20]]"
# "PatternProperties["a*",Integer,"aaa*",Maximum[20]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# Reference {"aaa" => "foo","aaaa" => 31} did not pass type constraint "PatternProperties["a*",Integer,"aaa*",Maximum[20]]"
# "PatternProperties["a*",Integer,"aaa*",Maximum[20]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# {
# 'patternProperties' => {
# 'X_' => {
# 'type' => 'string'
# },
# '[0-9]{2,}' => {
# 'type' => 'boolean'
# }
# }
# }
# Reference {"a31b" => undef} did not pass type constraint "PatternProperties["[0-9]{2,}",Boolean,X_,String]"
# "PatternProperties["[0-9]{2,}",Boolean,X_,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# Reference {"a_X_3" => 3} did not pass type constraint "PatternProperties["[0-9]{2,}",Boolean,X_,String]"
# "PatternProperties["[0-9]{2,}",Boolean,X_,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# {
# 'patternProperties' => {
# 'b.*' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'f.*' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# }
# Reference {"bar" => 2} did not pass type constraint "PatternProperties["f.*",Any,"b.*",None]"
# "PatternProperties["f.*",Any,"b.*",None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# Reference {"bar" => 2,"foo" => 1} did not pass type constraint "PatternProperties["f.*",Any,"b.*",None]"
# "PatternProperties["f.*",Any,"b.*",None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# {
# 'properties' => {
# 'bar' => {
# 'type' => 'string'
# },
# 'foo' => {
# 'type' => 'integer'
# }
# }
# }
# Reference {"bar" => {},"foo" => 1} did not pass type constraint "Properties[bar,String,foo,Integer]"
# "Properties[bar,String,foo,Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# Reference {"bar" => {},"foo" => []} did not pass type constraint "Properties[bar,String,foo,Integer]"
# "Properties[bar,String,foo,Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# 'additionalProperties' => {
# 'type' => 'integer'
# },
# 'patternProperties' => {
# 'f.o' => {
# 'minItems' => 2
# }
# },
# 'properties' => {
# 'bar' => {
# 'type' => 'array'
# },
# 'foo' => {
# 'maxItems' => 3,
# 'type' => 'array'
# }
# }
# }
# "AdditionalProperties[ARRAY(0x5c787a8),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[foo,MaxItems[3]&Array,bar,Array]" requires that the value pass "AdditionalProperties[ARRAY(0x5c787a8),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[foo,MaxItems[3]&Array,bar,Array]"
# Reference {"foo" => [1,2,3,4]} did not pass type constraint "Properties[foo,MaxItems[3]&Array,bar,Array]"
# "Properties[foo,MaxItems[3]&Array,bar,Array]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# "AdditionalProperties[ARRAY(0x5c787a8),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[foo,MaxItems[3]&Array,bar,Array]" requires that the value pass "AdditionalProperties[ARRAY(0x5c787a8),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[foo,MaxItems[3]&Array,bar,Array]"
# Reference {"foo" => []} did not pass type constraint "PatternProperties["f.o",MinItems[2]]"
# "PatternProperties["f.o",MinItems[2]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# "AdditionalProperties[ARRAY(0x5c787a8),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[foo,MaxItems[3]&Array,bar,Array]" requires that the value pass "AdditionalProperties[ARRAY(0x5c787a8),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[foo,MaxItems[3]&Array,bar,Array]"
# Reference {"fxo" => []} did not pass type constraint "PatternProperties["f.o",MinItems[2]]"
# "PatternProperties["f.o",MinItems[2]]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; foreach my $key (keys %props) { return unless all sub { $props{$key}->check($obj->{$_}); } , grep({/$key/;} keys %$_); } return 1; }
# "AdditionalProperties[ARRAY(0x5c787a8),Integer]&PatternProperties["f.o",MinItems[2]]&Properties[foo,MaxItems[3]&Array,bar,Array]" requires that the value pass "AdditionalProperties[ARRAY(0x5c787a8),Integer]", "PatternProperties["f.o",MinItems[2]]", and "Properties[foo,MaxItems[3]&Array,bar,Array]"
# Reference {"quux" => "foo"} did not pass type constraint "AdditionalProperties[ARRAY(0x5c787a8),Integer]"
# "AdditionalProperties[ARRAY(0x5c787a8),Integer]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
# {
# 'properties' => {
# 'bar' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'foo' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# }
# Reference {"bar" => 2} did not pass type constraint "Properties[foo,Any,bar,None]"
# "Properties[foo,Any,bar,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# Reference {"bar" => 2,"foo" => 1} did not pass type constraint "Properties[foo,Any,bar,None]"
# "Properties[foo,Any,bar,None]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# 'propertyNames' => {
# 'maxLength' => 3
# }
# }
# Reference {"foo" => {},"foobar" => {}} did not pass type constraint "PropertyNames[MaxLength[3]]"
# "PropertyNames[MaxLength[3]]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 if $type eq Any; return !keys(%$_) if $type eq ~Any; return all(sub { $type->check($_); } , keys %$_); }
# {
# 'propertyNames' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# {
# 'propertyNames' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# }
# Reference {"foo" => 1} did not pass type constraint "PropertyNames[None]"
# "PropertyNames[None]" is defined as: sub { package JSON::Schema::AsType::Draft6::Types; return 1 unless Object->check($_); return 1 if $type eq Any; return !keys(%$_) if $type eq ~Any; return all(sub { $type->check($_); } , keys %$_); }
# {
# 'additionalProperties' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
# 'patternProperties' => {},
# 'properties' => {
# 'foo' => {
# '$ref' => '#'
# }
# }
# }
# "AdditionalProperties[ARRAY(0x5dd53c0),0]&PatternProperties[]&Properties[foo,Ref(#)]" requires that the value pass "AdditionalProperties[ARRAY(0x5dd53c0),0]", "PatternProperties[]", and "Properties[foo,Ref(#)]"
# Reference {"bar" => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )} did not pass type constraint "AdditionalProperties[ARRAY(0x5dd53c0),0]"
# "AdditionalProperties[ARRAY(0x5dd53c0),0]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my(@add_keys) = grep({my $key = $_; none sub { ref $_ ? $key =~ /$_/ : $key eq $_; } , @$known_properties;} keys %$_); if (eval { do { $type_or_boolean->can('check') } }) { my $obj = $_; return all(sub { $type_or_boolean->check($obj->{$_}); } , @add_keys); } else { return !(@add_keys && !$type_or_boolean); } }
# "AdditionalProperties[ARRAY(0x5dd53c0),0]&PatternProperties[]&Properties[foo,Ref(#)]" requires that the value pass "AdditionalProperties[ARRAY(0x5dd53c0),0]", "PatternProperties[]", and "Properties[foo,Ref(#)]"
# Reference {"foo" => {"bar" => '0'}} did not pass type constraint "Properties[foo,Ref(#)]"
# "Properties[foo,Ref(#)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# 'properties' => {
# 'bar' => {
# '$ref' => '#/properties/foo'
# },
# 'foo' => {
# 'type' => 'integer'
# }
# }
# }
# Reference {"bar" => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )} did not pass type constraint "Properties[foo,Integer,bar,Ref(#/properties/foo)]"
# "Properties[foo,Integer,bar,Ref(#/properties/foo)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# 'items' => [
# {
# 'type' => 'integer'
# },
# {
# '$ref' => '#/items/0'
# }
# ]
# }
# "~ArrayRef|Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]" requires that the value pass "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]" or "~ArrayRef"
# Reference [1,"foo"] did not pass type constraint "~ArrayRef"
# Reference [1,"foo"] did not pass type constraint "~ArrayRef"
# "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
# Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]"
# Reference [1,"foo"] did not pass type constraint "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]"
# "Tuple[Optional[Integer],Optional[Ref(#/items/0)],Slurpy[Any]]" constrains value at index 1 of array with "Optional[Ref(#/items/0)]"
# Value "foo" did not pass type constraint "Optional[Ref(#/items/0)]" (in $_->[1])
# $_->[1] exists
# "Optional[Ref(#/items/0)]" constrains $_->[1] with "Ref(#/items/0)" if it exists
# ref schema is {"type":"integer"}
# Value "foo" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); } (in $_->[1])
# "Ref(#/items/0)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# 'percent%field' => {
# 'type' => 'integer'
# },
# 'properties' => {
# 'percent' => {
# '$ref' => '#/percent%25field'
# },
# 'slash' => {
# '$ref' => '#/slash~1field'
# },
# 'tilda' => {
# '$ref' => '#/tilda~0field'
# }
# },
# 'slash/field' => {
# 'type' => 'integer'
# },
# 'tilda~field' => {
# 'type' => 'integer'
# }
# }
# Reference {"slash" => "aoeu"} did not pass type constraint "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]"
# "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# Reference {"tilda" => "aoeu"} did not pass type constraint "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]"
# "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# Reference {"percent" => "aoeu"} did not pass type constraint "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]"
# "Properties[tilda,Ref(#/tilda~0field),percent,Ref(#/percent%25field),slash,Ref(#/slash~1field)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# '$ref' => '#/definitions/c',
# 'definitions' => {
# 'a' => {
# 'type' => 'integer'
# },
# 'b' => {
# '$ref' => '#/definitions/a'
# },
# 'c' => {
# '$ref' => '#/definitions/b'
# }
# }
# }
# ref schema is {"$ref":"#/definitions/b"}
# ref schema is {"$ref":"#/definitions/a"}
# ref schema is {"type":"integer"}
# Value "a" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# "Ref(#/definitions/a)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# "Ref(#/definitions/b)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# "Ref(#/definitions/c)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# 'definitions' => {
# 'reffed' => {
# 'type' => 'array'
# }
# },
# 'properties' => {
# 'foo' => {
# '$ref' => '#/definitions/reffed',
# 'maxItems' => 2
# }
# }
# }
# Reference {"foo" => "string"} did not pass type constraint "Properties[foo,Ref(#/definitions/reffed)]"
# "Properties[foo,Ref(#/definitions/reffed)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# '$ref' => 'http://json-schema.org/draft-04/schema#'
# }
# ref schema is {"$schema":"http://json-schema.org/draft-04/schema#","dependencies":{"exclusiveMaximum":["maximum"],"exclusiveMinimum":["minimum"]},"properties":{"oneOf":{"$ref":"#/definitions/schemaArray"},"multipleOf":{"minimum":0,"type":"number","exclusiveMinimum":true},"anyOf":{"$ref":"#/definitions/schemaArray"},"maxProperties":{"$ref":"#/definitions/positiveInteger"},"$schema":{"type":"string","format":"uri"},"not":{"$ref":"#"},"minLength":{"$ref":"#/definitions/positiveIntegerDefault0"},"minimum":{"type":"number"},"uniqueItems":{"type":"boolean","default":false},"items":{"default":{},"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}]},"default":{},"exclusiveMaximum":{"type":"boolean","default":false},"pattern":{"format":"regex","type":"string"},"properties":{"properties":{},"patternProperties":{},"default":{},"additionalProperties":{"$ref":"#"},"type":"object"},"additionalProperties":{"default":{},"anyOf":[{"type":"boolean"},{"$ref":"#"}]},"description":{"type":"string"},"maxItems":{"$ref":"#/definitions/positiveInteger"},"maximum":{"type":"number"},"exclusiveMinimum":{"type":"boolean","default":false},"allOf":{"$ref":"#/definitions/schemaArray"},"maxLength":{"$ref":"#/definitions/positiveInteger"},"required":{"$ref":"#/definitions/stringArray"},"definitions":{"properties":{},"patternProperties":{},"default":{},"additionalProperties":{"$ref":"#"},"type":"object"},"additionalItems":{"default":{},"anyOf":[{"type":"boolean"},{"$ref":"#"}]},"dependencies":{"patternProperties":{},"properties":{},"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"id":{"format":"uri","type":"string"},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"minItems":1,"items":{"$ref":"#/definitions/simpleTypes"},"type":"array","uniqueItems":true}]},"patternProperties":{"default":{},"patternProperties":{},"properties":{},"type":"object","additionalProperties":{"$ref":"#"}},"minItems":{"$ref":"#/definitions/positiveIntegerDefault0"},"minProperties":{"$ref":"#/definitions/positiveIntegerDefault0"},"enum":{"type":"array","uniqueItems":true,"minItems":1},"title":{"type":"string"}},"id":"http://json-schema.org/draft-04/schema#","default":{},"type":"object","definitions":{"positiveIntegerDefault0":{"allOf":[{"$ref":"#/definitions/positiveInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"minItems":1,"items":{"type":"string"},"type":"array","uniqueItems":true},"schemaArray":{"minItems":1,"items":{"$ref":"#"},"type":"array"},"positiveInteger":{"minimum":0,"type":"integer"}},"description":"Core schema meta-schema"}
# "Dependency[exclusiveMaximum,ARRAY(0x5157440)]&Dependency[exclusiveMinimum,ARRAY(0x5157410)]&Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]&Object" requires that the value pass "Dependency[exclusiveMaximum,ARRAY(0x5157440)]", "Dependency[exclusiveMinimum,ARRAY(0x5157410)]", "Object", and "Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]"
# Reference {"minLength" => -1} did not pass type constraint "Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]"
# "Properties[oneOf,Ref(#/definitions/schemaArray),multipleOf,ExclusiveMinimum[0]&Number,anyOf,Ref(#/definitions/schemaArray),maxProperties,Ref(#/definitions/positiveInteger),"\$schema",String,not,Ref(#),minLength,Ref(#/definitions/positiveIntegerDefault0),minimum,Number,uniqueItems,Boolean,items,AnyOf[Ref(#),Ref(#/definitions/schemaArray)],default,Any,exclusiveMaximum,Boolean,pattern,String,properties,AdditionalProperties[ARRAY(0x5155d38),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalProperties,AnyOf[Boolean,Ref(#)],description,String,maxItems,Ref(#/definitions/positiveInteger),maximum,Number,exclusiveMinimum,Boolean,allOf,Ref(#/definitions/schemaArray),maxLength,Ref(#/definitions/positiveInteger),required,Ref(#/definitions/stringArray),definitions,AdditionalProperties[ARRAY(0x5275920),Ref(#)]&PatternProperties[]&Properties[]&Object,additionalItems,AnyOf[Boolean,Ref(#)],dependencies,AdditionalProperties[ARRAY(0x53a8538),AnyOf[Ref(#),Ref(#/definitions/stringArray)]]&PatternProperties[]&Properties[]&Object,id,String,type,AnyOf[Ref(#/definitions/simpleTypes),~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(#/definitions/simpleTypes)]]]&MinItems[1]&Array&UniqueItems],patternProperties,AdditionalProperties[ARRAY(0x53ae598),Ref(#)]&PatternProperties[]&Properties[]&Object,minItems,Ref(#/definitions/positiveIntegerDefault0),minProperties,Ref(#/definitions/positiveIntegerDefault0),enum,MinItems[1]&Array&UniqueItems,title,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# "Ref(http://json-schema.org/draft-04/schema#)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# 'properties' => {
# '$ref' => {
# 'type' => 'string'
# }
# }
# }
# Reference {"\$ref" => 2} did not pass type constraint "Properties["\$ref",String]"
# "Properties["\$ref",String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# '$ref' => '#/definitions/bool',
# 'definitions' => {
# 'bool' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# }
# {
# '$ref' => '#/definitions/bool',
# 'definitions' => {
# 'bool' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' )
# }
# }
# ref schema is false
# Value "foo" did not pass type constraint "None"
# "None" is defined as: (not((!!1)))
# "Ref(#/definitions/bool)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# '$id' => 'http://localhost:1234/tree',
# 'definitions' => {
# 'node' => {
# '$id' => 'http://localhost:1234/node',
# 'description' => 'node',
# 'properties' => {
# 'subtree' => {
# '$ref' => 'tree'
# },
# 'value' => {
# 'type' => 'number'
# }
# },
# 'required' => [
# 'value'
# ],
# 'type' => 'object'
# }
# },
# 'description' => 'tree of nodes',
# 'properties' => {
# 'meta' => {
# 'type' => 'string'
# },
# 'nodes' => {
# 'items' => {
# '$ref' => 'node'
# },
# 'type' => 'array'
# }
# },
# 'required' => [
# 'meta',
# 'nodes'
# ],
# 'type' => 'object'
# }
# "Properties[meta,String,nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array]&Required[meta,nodes]&Object" requires that the value pass "Object", "Properties[meta,String,nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array]", and "Required[meta,nodes]"
# Reference {"meta" => "root","nodes" => ['HASH(0x5cb7068)','HASH(0x5cba050)']} did not pass type constraint "Properties[meta,String,nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array]"
# "Properties[meta,String,nodes,~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(node)]]]&Array]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# '$ref' => 'http://localhost:1234/integer.json'
# }
# ref schema is {"type":"integer"}
# Value "a" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# "Ref(http://localhost:1234/integer.json)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# '$ref' => 'http://localhost:1234/subSchemas.json#/integer'
# }
# ref schema is {"type":"integer"}
# Value "a" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# "Ref(http://localhost:1234/subSchemas.json#/integer)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# '$ref' => 'http://localhost:1234/subSchemas.json#/refToInteger'
# }
# ref schema is {"$ref":"#/integer"}
# ref schema is {"type":"integer"}
# Value "a" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# "Ref(#/integer)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# "Ref(http://localhost:1234/subSchemas.json#/refToInteger)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# '$id' => 'http://localhost:1234/',
# 'items' => {
# '$id' => 'folder/',
# 'items' => {
# '$ref' => 'folderInteger.json'
# }
# }
# }
# "~ArrayRef|Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]" requires that the value pass "Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]" or "~ArrayRef"
# Reference [["a"]] did not pass type constraint "~ArrayRef"
# Reference [["a"]] did not pass type constraint "~ArrayRef"
# "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
# Reference [["a"]] did not pass type constraint "Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]"
# Reference [["a"]] did not pass type constraint "Tuple[Slurpy[ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]]]"
# Array elements from index 0 are slurped into a arrayref which is constrained with "ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]"
# Reference [["a"]] did not pass type constraint "ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]" (in $SLURPY)
# "ArrayRef[~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]]" constrains each value in the array with "~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]"
# "~ArrayRef|Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]" requires that the value pass "Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]" or "~ArrayRef"
# Reference ["a"] did not pass type constraint "~ArrayRef"
# Reference ["a"] did not pass type constraint "~ArrayRef"
# "~ArrayRef" is defined as: (not((ref($_) eq 'ARRAY')))
# Reference ["a"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]"
# Reference ["a"] did not pass type constraint "Tuple[Slurpy[ArrayRef[Ref(folderInteger.json)]]]"
# Array elements from index 0 are slurped into a arrayref which is constrained with "ArrayRef[Ref(folderInteger.json)]"
# Reference ["a"] did not pass type constraint "ArrayRef[Ref(folderInteger.json)]" (in $SLURPY)
# "ArrayRef[Ref(folderInteger.json)]" constrains each value in the array with "Ref(folderInteger.json)"
# ref schema is {"type":"integer"}
# Value "a" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); } (in $SLURPY->[0])
# "Ref(folderInteger.json)" is defined as: sub { package JSON::Schema::AsType::Draft4; my $r = $self->resolve_reference($ref); $r->check($_); }
# {
# '$id' => 'http://localhost:1234/scope_change_defs1.json',
# 'definitions' => {
# 'baz' => {
# '$id' => 'folder/',
# 'items' => {
# '$ref' => 'folderInteger.json'
# },
# 'type' => 'array'
# }
# },
# 'properties' => {
# 'list' => {
# '$ref' => '#/definitions/baz'
# }
# },
# 'type' => 'object'
# }
# "Properties[list,Ref(#/definitions/baz)]&Object" requires that the value pass "Object" and "Properties[list,Ref(#/definitions/baz)]"
# Reference {"list" => ["a"]} did not pass type constraint "Properties[list,Ref(#/definitions/baz)]"
# "Properties[list,Ref(#/definitions/baz)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# '$id' => 'http://localhost:1234/scope_change_defs2.json',
# 'definitions' => {
# 'baz' => {
# '$id' => 'folder/',
# 'definitions' => {
# 'bar' => {
# 'items' => {
# '$ref' => 'folderInteger.json'
# },
# 'type' => 'array'
# }
# }
# }
# },
# 'properties' => {
# 'list' => {
# '$ref' => '#/definitions/baz/definitions/bar'
# }
# },
# 'type' => 'object'
# }
# "Properties[list,Ref(#/definitions/baz/definitions/bar)]&Object" requires that the value pass "Object" and "Properties[list,Ref(#/definitions/baz/definitions/bar)]"
# Reference {"list" => ["a"]} did not pass type constraint "Properties[list,Ref(#/definitions/baz/definitions/bar)]"
# "Properties[list,Ref(#/definitions/baz/definitions/bar)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# '$id' => 'http://localhost:1234/object',
# 'properties' => {
# 'name' => {
# '$ref' => 'name.json#/definitions/orNull'
# }
# },
# 'type' => 'object'
# }
# "Properties[name,Ref(name.json#/definitions/orNull)]&Object" requires that the value pass "Object" and "Properties[name,Ref(name.json#/definitions/orNull)]"
# Reference {"name" => {"name" => undef}} did not pass type constraint "Properties[name,Ref(name.json#/definitions/orNull)]"
# "Properties[name,Ref(name.json#/definitions/orNull)]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); return $type->check($_); }
# {
# 'properties' => {
# 'bar' => {},
# 'foo' => {}
# },
# 'required' => [
# 'foo'
# ]
# }
# "Properties[bar,Any,foo,Any]&Required[foo]" requires that the value pass "Properties[bar,Any,foo,Any]" and "Required[foo]"
# Reference {"bar" => 1} did not pass type constraint "Required[foo]"
# "Required[foo]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Object->check($_); my $obj = $_; all sub { exists $obj->{$_}; } , @keys; }
# {
# 'properties' => {
# 'foo' => {}
# }
# }
# {
# 'properties' => {
# 'foo' => {}
# },
# 'required' => []
# }
# {
# 'type' => 'integer'
# }
# Value "1.1" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# Value "foo" did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# Reference {} did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# Reference [] did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# Undef did not pass type constraint "Integer"
# "Integer" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 4096 && !($flags & 16384); }
# {
# 'type' => 'number'
# }
# Value "foo" did not pass type constraint "Number"
# "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
# Reference {} did not pass type constraint "Number"
# "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
# Reference [] did not pass type constraint "Number"
# "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Number"
# "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
# Undef did not pass type constraint "Number"
# "Number" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 12288 && !($flags & 16384); }
# {
# 'type' => 'string'
# }
# Value "1" did not pass type constraint "String"
# "String" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 16384; }
# Value "1.1" did not pass type constraint "String"
# "String" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 0 if not defined $_ or ref $_; my $b_obj = B::svref_2object(\$_); my $flags = $b_obj->FLAGS; return $flags & 16384; }
# "String" is a subtype of "Str"
# "Str" is a subtype of "Value"
# Reference {} did not pass type constraint "Value"
# "Value" is defined as: (defined($_) and not ref($_))
# "String" is a subtype of "Str"
# "Str" is a subtype of "Value"
# Reference [] did not pass type constraint "Value"
# "Value" is defined as: (defined($_) and not ref($_))
# "String" is a subtype of "Str"
# "Str" is a subtype of "Value"
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Value"
# "Value" is defined as: (defined($_) and not ref($_))
# "String" is a subtype of "Str"
# "Str" is a subtype of "Value"
# "Value" is a subtype of "Defined"
# Undef did not pass type constraint "Defined"
# "Defined" is defined as: (defined($_))
# {
# 'type' => 'object'
# }
# "Object" is a subtype of "HashRef"
# "HashRef" is a subtype of "Ref"
# Value "1" did not pass type constraint "Ref"
# "Ref" is defined as: (!!ref($_))
# "Object" is a subtype of "HashRef"
# "HashRef" is a subtype of "Ref"
# Value "1.1" did not pass type constraint "Ref"
# "Ref" is defined as: (!!ref($_))
# "Object" is a subtype of "HashRef"
# "HashRef" is a subtype of "Ref"
# Value "foo" did not pass type constraint "Ref"
# "Ref" is defined as: (!!ref($_))
# "Object" is a subtype of "HashRef"
# Reference [] did not pass type constraint "HashRef"
# "HashRef" is defined as: (ref($_) eq 'HASH')
# "Object" is a subtype of "HashRef"
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "HashRef"
# "HashRef" is defined as: (ref($_) eq 'HASH')
# "Object" is a subtype of "HashRef"
# "HashRef" is a subtype of "Ref"
# "Ref" is a subtype of "Defined"
# Undef did not pass type constraint "Defined"
# "Defined" is defined as: (defined($_))
# {
# 'type' => 'array'
# }
# "Array" is a subtype of "ArrayRef"
# "ArrayRef" is a subtype of "Ref"
# Value "1" did not pass type constraint "Ref"
# "Ref" is defined as: (!!ref($_))
# "Array" is a subtype of "ArrayRef"
# "ArrayRef" is a subtype of "Ref"
# Value "1.1" did not pass type constraint "Ref"
# "Ref" is defined as: (!!ref($_))
# "Array" is a subtype of "ArrayRef"
# "ArrayRef" is a subtype of "Ref"
# Value "foo" did not pass type constraint "Ref"
# "Ref" is defined as: (!!ref($_))
# "Array" is a subtype of "ArrayRef"
# Reference {} did not pass type constraint "ArrayRef"
# "ArrayRef" is defined as: (ref($_) eq 'ARRAY')
# "Array" is a subtype of "ArrayRef"
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "ArrayRef"
# "ArrayRef" is defined as: (ref($_) eq 'ARRAY')
# "Array" is a subtype of "ArrayRef"
# "ArrayRef" is a subtype of "Ref"
# "Ref" is a subtype of "Defined"
# Undef did not pass type constraint "Defined"
# "Defined" is defined as: (defined($_))
# {
# 'type' => 'boolean'
# }
# Value "1" did not pass type constraint "Boolean"
# "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
# Value "1.1" did not pass type constraint "Boolean"
# "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
# Value "foo" did not pass type constraint "Boolean"
# "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
# Reference {} did not pass type constraint "Boolean"
# "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
# Reference [] did not pass type constraint "Boolean"
# "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
# Undef did not pass type constraint "Boolean"
# "Boolean" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; ref($_) =~ /JSON/; }
# {
# 'type' => 'null'
# }
# Value "1" did not pass type constraint "Null"
# "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
# Value "1.1" did not pass type constraint "Null"
# "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
# Value "foo" did not pass type constraint "Null"
# "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
# Reference {} did not pass type constraint "Null"
# "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
# Reference [] did not pass type constraint "Null"
# "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "Null"
# "Null" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; not defined $_; }
# {
# 'type' => [
# 'integer',
# 'string'
# ]
# }
# Value "1.1" did not pass type constraint "AnyOf[Integer,String]"
# "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# Reference {} did not pass type constraint "AnyOf[Integer,String]"
# "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# Reference [] did not pass type constraint "AnyOf[Integer,String]"
# "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# Reference bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) did not pass type constraint "AnyOf[Integer,String]"
# "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# Undef did not pass type constraint "AnyOf[Integer,String]"
# "AnyOf[Integer,String]" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; my $v = $_; any sub { $_->check($v); } , @types; }
# {
# 'uniqueItems' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
# }
# Reference [1,1] did not pass type constraint "UniqueItems"
# "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
# Reference [1,1,1] did not pass type constraint "UniqueItems"
# "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
# Reference [{"foo" => "bar"},{"foo" => "bar"}] did not pass type constraint "UniqueItems"
# "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
# Reference [{"foo" => 'HASH(0x337a368)'},{"foo" => 'HASH(0x6732728)'}] did not pass type constraint "UniqueItems"
# "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
# Reference [["foo"],["foo"]] did not pass type constraint "UniqueItems"
# "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
# Reference [{},[1],bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),undef,{},1] did not pass type constraint "UniqueItems"
# "UniqueItems" is defined as: sub { package JSON::Schema::AsType::Draft4::Types; return 1 unless Array->check($_); @$_ == uniq(map({to_json $_, {'allow_nonref', 1};} @$_)); }
t/draft6.t ............. ok
t/recurse.t ............ ok
t/register_uris.t ...... ok
t/schema-coerce.t ...... ok
t/spec-schema.t ........ ok
t/string_number.t ...... ok
# Value "1" did not pass type constraint "Not[Integer]"
t/types_draft3.t ....... ok
# Value "4" did not pass type constraint "Minimum[5]"
# Value "5" did not pass type constraint "ExclusiveMinimum[5]"
# Value "6" did not pass type constraint "Maximum[5]"
# Value "5" did not pass type constraint "ExclusiveMaximum[5]"
# Value "foo" did not pass type constraint "MinLength[5]"
# Value "banana" did not pass type constraint "MaxLength[5]"
# Value "3" did not pass type constraint "MultipleOf[5]"
# Reference [1,2,3] did not pass type constraint "MaxItems[2]"
# Reference [1] did not pass type constraint "MinItems[2]"
Use of uninitialized value in join or string at t/types_draft4.t line 144.
# Value "banana" did not pass type constraint "Null"
# Value "1" did not pass type constraint "Boolean"
# Value "1" did not pass type constraint "Array"
# Reference [] did not pass type constraint "Object"
# Reference [] did not pass type constraint "String"
# Value "1.3" did not pass type constraint "Integer"
# Reference [] did not pass type constraint "Number"
# Value "potato" did not pass type constraint "Pattern[(?^:foo)]"
# Reference {"bar" => 1} did not pass type constraint "Required[foo]"
# Reference {"bar" => 1} did not pass type constraint "Required[foo,bar]"
# Value "1" did not pass type constraint "Not[Integer]"
# Reference {"1" => 2,"3" => 4,"5" => 6} did not pass type constraint "MaxProperties[2]"
# Reference {"1" => 2} did not pass type constraint "MinProperties[2]"
# Value "banana" did not pass type constraint "OneOf[Integer,Boolean]"
# Value "banana" did not pass type constraint "OneOf[MaxLength[7],MaxLength[6]]"
# Value "banana" did not pass type constraint "AnyOf[Integer,Boolean]"
# Value "banana" did not pass type constraint "AllOf[MaxLength[5],MinLength[2]]"
# Reference ["banana"] did not pass type constraint "~ArrayRef|Tuple[Slurpy[ArrayRef[Number]]]"
# Reference [1] did not pass type constraint "AdditionalItems[1,Number]"
# Reference {"foo" => "x"} did not pass type constraint "PatternProperties[f,Number,b,Array]"
# Reference {"foo" => "x"} did not pass type constraint "Dependency[foo,ARRAY(0x4f944d0)]&Dependency[baz,MaxProperties[2]]"
# Reference {"foo" => "x"} did not pass type constraint "Enum[foo,HASH(0x4fb6250)]"
# Reference [1,1,2,3] did not pass type constraint "UniqueItems"
# Reference {"foo" => "x"} did not pass type constraint "Properties[foo,Number,bar,Array]"
# Reference {"quux" => "x"} did not pass type constraint "AdditionalProperties[ARRAY(0x4dc9038),0]"
t/types_draft4.t ....... ok
All tests successful.
Files=13, Tests=139, 37 wallclock secs ( 0.27 usr + 0.06 sys = 0.33 CPU)
Result: PASS
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
---------------------- -------- --------
Clone 0 0.46
JSON 0 4.10
List::AllUtils 0 0.18
List::MoreUtils 0 0.430
List::Util 0 1.63
LWP::Simple 0 6.77
Moose 0 2.2207
Moose::Role 0 2.2207
Moose::Util 0 2.2207
MooseX::ClassAttribute 0 0.29
MooseX::MungeHas 0 0.011
Path::Tiny 0.062 0.144
perl 5.014000 5.022003
Scalar::Util 0 1.63
strict 0 1.09
Type::Library 0 2.004000
Type::Tiny 0 2.004000
Type::Tiny::Class 0 2.004000
Type::Utils 0 2.004000
Types::Standard 0 2.004000
URI 0 5.28
warnings 0 1.34
build_requires:
Module Need Have
---------------------- -------- --------
Exporter 0 5.78
ExtUtils::MakeMaker 0 7.70
File::Spec 0 3.75
IO::Handle 0 1.55
IPC::Open3 0 1.18
lib 0 0.63
parent 0 0.241
Path::Tiny 0.062 0.144
Test::Deep 0 1.204
Test::Exception 0 0.43
Test::More 0 1.302198
configure_requires:
Module Need Have
---------------------- -------- --------
ExtUtils::MakeMaker 0 7.70
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
COMSPEC = C:\WINDOWS\system32\cmd.exe
NONINTERACTIVE_TESTING = 1
NUMBER_OF_PROCESSORS = 4
PATH = C:\home\windmill\perl5\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin
PERL5LIB = C:\home\windmill\perl5\lib\perl5
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 7400
PERL5_CPAN_IS_RUNNING = 7400
PERL_LOCAL_LIB_ROOT = C:\home\windmill\perl5
PERL_MB_OPT = --install_base "C:\\home\\windmill\\perl5"
PERL_MM_OPT = INSTALL_BASE=C:\\home\\windmill\\perl5
PERL_MM_USE_DEFAULT = 1
PERL_USE_UNSAFE_INC = 1
PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
TEMP = C:\Users\USER\AppData\Local\Temp
TERM = dumb
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = C:\Strawberry\perl\bin\perl.exe
$UID/$EUID = 0 / 0
$GID = 0
$EGID = 0
Win32::GetOSName = Win8.1
Win32::GetOSVersion = , 6, 3, 9600, 2, 0, 0, 256, 1
Win32::FsType = NTFS
Win32::IsAdminUser = 0
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.34
CPAN::Meta 2.150010
Cwd 3.75
ExtUtils::CBuilder 0.280236
ExtUtils::Command 7.70
ExtUtils::Install 2.22
ExtUtils::MakeMaker 7.70
ExtUtils::Manifest 1.75
ExtUtils::ParseXS 3.51
File::Spec 3.75
JSON 4.10
JSON::PP 4.17_01
Module::Build 0.42_35
Module::Signature 0.88
Parse::CPAN::Meta 2.150010
Test2 1.302198
Test::Harness 3.47
Test::More 1.302198
YAML 1.31
YAML::Syck 1.34
version 0.9930
--
Summary of my perl5 (revision 5 version 22 subversion 3) configuration:
Platform:
osname=MSWin32, osvers=6.3, archname=MSWin32-x64-multi-thread
uname='Win32 strawberry-perl 5.22.3.1 #1 Sun Jan 15 04:42:16 2017 x64'
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields',
optimize='-s -O2',
cppflags='-DWIN32'
ccversion='', gccversion='4.9.2', gccosandvers=''
intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='long long', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
libpth=C:\strawberry\c\lib C:\strawberry\c\x86_64-w64-mingw32\lib C:\strawberry\c\lib\gcc\x86_64-w64-mingw32\4.9.2
libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
libc=, so=dll, useshrplib=true, libperl=libperl522.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=xs.dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib"'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE
PERL_PRESERVE_IVUV USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF
Built under MSWin32
Compiled at Jan 15 2017 04:47:34
%ENV:
PERL5LIB="C:\home\windmill\perl5\lib\perl5"
PERL5_CPANPLUS_IS_RUNNING="7400"
PERL5_CPAN_IS_RUNNING="7400"
PERL_LOCAL_LIB_ROOT="C:\home\windmill\perl5"
PERL_MB_OPT="--install_base "C:\\home\\windmill\\perl5""
PERL_MM_OPT="INSTALL_BASE=C:\\home\\windmill\\perl5"
PERL_MM_USE_DEFAULT="1"
PERL_USE_UNSAFE_INC="1"
@INC:
C:\home\windmill\perl5\lib\perl5/MSWin32-x64-multi-thread
C:\home\windmill\perl5\lib\perl5
C:/Strawberry/perl/site/lib
C:/Strawberry/perl/vendor/lib
C:/Strawberry/perl/lib
.