Skip to content

Commit 8173196

Browse files
committed
$ref should ignore any other properties re #47
1 parent 4160f98 commit 8173196

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

src/jesse_validator_draft3.erl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@
6161
, JsonSchema :: jesse:json_term()
6262
, State :: jesse_state:state()
6363
) -> jesse_state:state() | no_return().
64+
check_value(Value, [{?REF, RefSchemaURI} | _Attrs], State) ->
65+
validate_ref(Value, RefSchemaURI, State);
6466
check_value(Value, [{?TYPE, Type} | Attrs], State) ->
6567
NewState = check_type(Value, Type, State),
6668
check_value(Value, Attrs, NewState);
@@ -210,9 +212,6 @@ check_value(Value, [{?DISALLOW, Disallow} | Attrs], State) ->
210212
check_value(Value, [{?EXTENDS, Extends} | Attrs], State) ->
211213
NewState = check_extends(Value, Extends, State),
212214
check_value(Value, Attrs, NewState);
213-
check_value(Value, [{?REF, RefSchemaURI} | Attrs], State) ->
214-
NewState = validate_ref(Value, RefSchemaURI, State),
215-
check_value(Value, Attrs, NewState);
216215
check_value(Value, [], State) ->
217216
maybe_external_check_value(Value, State);
218217
check_value(Value, [_Attr | Attrs], State) ->

src/jesse_validator_draft4.erl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@
7878
, JsonSchema :: jesse:json_term()
7979
, State :: jesse_state:state()
8080
) -> jesse_state:state() | no_return().
81+
check_value(Value, [{?REF, RefSchemaURI} | _Attrs], State) ->
82+
validate_ref(Value, RefSchemaURI, State);
8183
check_value(Value, [{?TYPE, Type} | Attrs], State) ->
8284
NewState = check_type(Value, Type, State),
8385
check_value(Value, Attrs, NewState);
@@ -247,9 +249,6 @@ check_value(Value, [{?ONEOF, Schemas} | Attrs], State) ->
247249
check_value(Value, [{?NOT, Schema} | Attrs], State) ->
248250
NewState = check_not(Value, Schema, State),
249251
check_value(Value, Attrs, NewState);
250-
check_value(Value, [{?REF, RefSchemaURI} | Attrs], State) ->
251-
NewState = validate_ref(Value, RefSchemaURI, State),
252-
check_value(Value, Attrs, NewState);
253252
check_value(Value, [], State) ->
254253
maybe_external_check_value(Value, State);
255254
check_value(Value, [_Attr | Attrs], State) ->

0 commit comments

Comments
 (0)