line |
!l |
l&&!r |
l&&r |
condition |
56
|
132 |
15 |
12084 |
&blessed($_[0]) and &blessed($_[0])->isa("JSON::Schema::Tiny")
|
62
|
12101 |
1 |
3 |
not $SPECIFICATION_VERSION =~ /^draft/u and &any(sub {
|
157
|
294 |
7098 |
12275 |
$spec_version && $spec_version =~ qr/^draft(7|2019-09)$/u
|
192
|
1625 |
134 |
30886 |
$keyword ne "\$ref" and $keyword ne "definitions"
|
|
1759 |
30355 |
531 |
$keyword ne "\$ref" and $keyword ne "definitions" and exists $schema->{'$ref'}
|
|
30355 |
516 |
15 |
$keyword ne "\$ref" and $keyword ne "definitions" and exists $schema->{'$ref'} and $spec_version eq "draft7"
|
204
|
22206 |
4421 |
3487 |
not $valid and $state->{'short_circuit'}
|
238
|
1 |
5180 |
1 |
defined $SPECIFICATION_VERSION and $SPECIFICATION_VERSION ne $spec_version
|
243
|
4898 |
282 |
1 |
exists $schema->{'$ref'} and $spec_version eq "draft7"
|
290
|
8 |
0 |
0 |
is_type("boolean", $subschema->{'$recursiveAnchor'}) and $subschema->{'$recursiveAnchor'}
|
346
|
6 |
0 |
6 |
!$state->{'spec_version'} || $state->{'spec_version'} eq 'draft2019-09' and ($schema->{'$anchor'} // "") =~ /^[A-Za-z][A-Za-z0-9_:.-]*$/u
|
|
0 |
0 |
6 |
!$state->{'spec_version'} || $state->{'spec_version'} eq 'draft2020-12' and ($schema->{'$anchor'} // "") =~ /^[A-Za-z_][A-Za-z0-9._-]*$/u
|
415
|
198 |
15 |
9 |
$_ eq "boolean" and $SCALARREF_BOOLEANS
|
|
15 |
7 |
2 |
$_ eq "boolean" and $SCALARREF_BOOLEANS and $type eq "reference to SCALAR"
|
|
221 |
1 |
0 |
$_ eq "number" and $type eq "integer"
|
427
|
819 |
126 |
188 |
$schema->{'type'} eq "number" and $type eq "integer"
|
|
830 |
106 |
9 |
$schema->{'type'} eq "boolean" and $SCALARREF_BOOLEANS
|
|
106 |
7 |
2 |
$schema->{'type'} eq "boolean" and $SCALARREF_BOOLEANS and $type eq "reference to SCALAR"
|
679
|
286 |
47 |
44 |
@valid > 1 and $state->{'short_circuit'}
|
846
|
88 |
12 |
75 |
$state->{'short_circuit'} and not exists $$schema{$state->{'keyword'} eq "prefixItems" ? "items" : ($state->{'keyword'} eq "items" ? "additionalItems" : die())}
|
861
|
561 |
80 |
26 |
is_type("boolean", $$schema{$state->{'keyword'}}) and $state->{'keyword'} eq "additionalItems"
|
900
|
201 |
42 |
142 |
$state->{'short_circuit'} and !exists $schema->{'maxContains'} || $state->{'_num_contains'} > $schema->{'maxContains'}
|
|
42 |
18 |
124 |
$state->{'short_circuit'} and !exists $schema->{'maxContains'} || $state->{'_num_contains'} > $schema->{'maxContains'} and $state->{'_num_contains'} >= ($schema->{'minContains'} // 1)
|
905
|
289 |
207 |
0 |
not $state->{'_num_contains'} and ($schema->{'minContains'} // 1) > 0 || $state->{'spec_version'} && $state->{'spec_version'} eq 'draft7'
|
980
|
325 |
67 |
110 |
exists $schema->{'properties'} and exists $schema->{'properties'}{$property}
|
982
|
245 |
60 |
87 |
exists $schema->{'patternProperties'} and &any(sub {
|
1052
|
689 |
0 |
15290 |
!XXX && $flags & 1024 && !($flags & 768)
|
1067
|
0 |
0 |
14 |
!&blessed($value) && ref $value eq $1
|
1084
|
7066 |
1 |
4464 |
$flags & 1024 and not $flags & 768
|
1085
|
1 |
0 |
7066 |
not $flags & 1024 and $flags & 768
|
1154
|
20980 |
9415 |
1 |
@extra_path and XXX
|
1169
|
9338 |
1 |
77 |
$uri eq "" and $keyword_location eq ""
|
|
855 |
392 |
8092 |
($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
|
1215
|
999 |
151 |
1129 |
$ref =~ /#/u and not $ref =~ /#$/u
|
|
1150 |
96 |
1033 |
$ref =~ /#/u and not $ref =~ /#$/u and not $ref =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u
|
|
247 |
1033 |
0 |
$ref =~ /#/u and not $ref =~ /#$/u and not $ref =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $ref =~ m[#/(?:[^~]|~[01])*$]u
|
1229
|
5215 |
1 |
0 |
$string =~ /#/u and not $string =~ /#$/u
|
|
5216 |
0 |
0 |
$string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u
|
|
1 |
0 |
0 |
$string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $string =~ m[#/(?:[^~]|~[01])*$]u
|
line |
l |
!l&&r |
!l&&!r |
condition |
51
|
32 |
0 |
12199 |
$SCALARREF_BOOLEANS // $MOJO_BOOLEANS
|
56
|
0 |
0 |
12084 |
$_[0]{'boolean_result'} // $BOOLEAN_RESULT
|
|
6037 |
0 |
6047 |
$_[0]{'short_circuit'} // $SHORT_CIRCUIT
|
|
3 |
12081 |
0 |
$_[0]{'max_traversal_depth'} // $MAX_TRAVERSAL_DEPTH
|
|
0 |
0 |
12084 |
$_[0]{'scalarref_booleans'} // $SCALARREF_BOOLEANS
|
|
0 |
0 |
12084 |
($_[0]{'scalarref_booleans'} // $SCALARREF_BOOLEANS) // $_[0]{'mojo_booleans'}
|
|
12081 |
0 |
3 |
$_[0]{'specification_version'} // $SPECIFICATION_VERSION
|
70
|
14 |
6040 |
6176 |
$BOOLEAN_RESULT || $SHORT_CIRCUIT
|
98
|
6038 |
6192 |
0 |
$valid or @{$state->{'errors'}}
|
149
|
373 |
0 |
415 |
$schema || E($state, 'subschema is false')
|
157
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
|
294 |
7374 |
11999 |
!$spec_version || $spec_version eq 'draft2019-09'
|
|
294 |
7098 |
12275 |
!$spec_version || $spec_version eq 'draft2020-12'
|
|
294 |
7374 |
11999 |
!$spec_version || $spec_version eq 'draft2019-09'
|
|
294 |
7098 |
12275 |
!$spec_version || $spec_version eq 'draft2020-12'
|
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
|
294 |
4901 |
14472 |
!$spec_version || $spec_version eq 'draft7'
|
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
|
294 |
4901 |
14472 |
!$spec_version || $spec_version eq 'draft7'
|
|
294 |
12275 |
7098 |
!$spec_version || $spec_version =~ qr/^draft(?:7|2019-09)$/u
|
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
|
294 |
14472 |
4901 |
!$spec_version || $spec_version ne 'draft7'
|
292
|
0 |
0 |
0 |
$state->{'recursive_anchor_uri'} // $state->{'initial_schema_uri'}
|
346
|
0 |
6 |
6 |
!$state->{'spec_version'} || $state->{'spec_version'} eq 'draft2019-09'
|
|
0 |
6 |
0 |
!$state->{'spec_version'} || $state->{'spec_version'} eq 'draft2020-12'
|
|
6 |
6 |
0 |
!$state->{'spec_version'} || $state->{'spec_version'} eq 'draft2019-09' and ($schema->{'$anchor'} // "") =~ /^[A-Za-z][A-Za-z0-9_:.-]*$/u or !$state->{'spec_version'} || $state->{'spec_version'} eq 'draft2020-12' and ($schema->{'$anchor'} // "") =~ /^[A-Za-z_][A-Za-z0-9._-]*$/u
|
353
|
28 |
13 |
39 |
not $schema->{'$recursiveAnchor'} or exists $state->{'recursive_anchor_uri'}
|
415
|
62 |
0 |
222 |
$type eq $_ or $_ eq "number" and $type eq "integer"
|
427
|
2279 |
188 |
945 |
$type eq $schema->{'type'} or $schema->{'type'} eq "number" and $type eq "integer"
|
|
188 |
20 |
925 |
$type eq $schema->{'type'} or $schema->{'type'} eq "number" and $type eq "integer" or $schema->{'type'} eq "boolean" and $SCALARREF_BOOLEANS and $type eq "reference to SCALAR"
|
457
|
30 |
18 |
586 |
ref($data) =~ /^Math::Big(?:Int|Float)$/u or ref($schema->{'multipleOf'}) =~ /^Math::Big(?:Int|Float)$/u
|
701
|
230 |
40 |
28 |
exists $schema->{'then'} or exists $schema->{'else'}
|
721
|
92 |
18 |
89 |
not exists $data->{$property} or _eval_subschema($data, $schema->{'dependentSchemas'}{$property}, {%$state, "schema_path", jsonp($state->{'schema_path'}, "dependentSchemas", $property)})
|
760
|
54 |
9 |
43 |
not exists $data->{$property} or _eval_subschema($data, $schema->{'dependencies'}{$property}, {%$state, "schema_path", jsonp($state->{'schema_path'}, "dependencies", $property)})
|
866
|
0 |
20 |
0 |
exists $schema->{'prefixItems'} || $state->{'keyword'} eq 'additionalItems'
|
881
|
17 |
36 |
144 |
exists $schema->{'prefixItems'} || $state->{'keyword'} eq 'additionalItems'
|
900
|
124 |
18 |
42 |
!exists $schema->{'maxContains'} || $state->{'_num_contains'} > $schema->{'maxContains'}
|
905
|
195 |
0 |
12 |
($schema->{'minContains'} // 1) > 0 || $state->{'spec_version'} && $state->{'spec_version'} eq 'draft7'
|
1047
|
15993 |
6069 |
2887 |
$type eq "string" or $type eq "number"
|
|
22062 |
2869 |
18 |
$type eq "string" or $type eq "number" or $type eq "integer"
|
1056
|
357 |
4713 |
997 |
ref($value) =~ /^Math::Big(?:Int|Float)$/u || !($flags & 1024) && $flags & 768
|
1061
|
95 |
2727 |
45 |
ref($value) =~ /^Math::Big(?:Int|Float)$/u && $value->is_int || !($flags & 1024) && $flags & 768 && int $value == $value
|
1169
|
77 |
8747 |
592 |
$uri eq "" and $keyword_location eq "" or ($uri->fragment // "") eq $keyword_location and $uri->clone->fragment(undef) eq ""
|
1215
|
0 |
0 |
2279 |
fc "Mojo::URL"->new($ref)->to_unsafe_string ne fc $ref or $ref =~ /[^[:ascii:]]/u
|
|
0 |
0 |
2279 |
fc "Mojo::URL"->new($ref)->to_unsafe_string ne fc $ref or $ref =~ /[^[:ascii:]]/u or $ref =~ /#/u and not $ref =~ /#$/u and not $ref =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $ref =~ m[#/(?:[^~]|~[01])*$]u
|
1226
|
4 |
5212 |
0 |
$override // $$schema{$state->{'keyword'}}
|
1229
|
0 |
0 |
5216 |
fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u
|
|
0 |
0 |
5216 |
fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u or not $uri->is_abs
|
|
0 |
0 |
5216 |
fc $uri->to_unsafe_string ne fc $string or $string =~ /[^[:ascii:]]/u or not $uri->is_abs or $string =~ /#/u and not $string =~ /#$/u and not $string =~ /#[A-Za-z][A-Za-z0-9_:.-]*$/u and not $string =~ m[#/(?:[^~]|~[01])*$]u
|