From c6fb4484e22ff2cb35cdfd9c7d6faa9ef775eb35 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Thu, 16 Feb 2023 00:38:23 -0500 Subject: Allow non-record json objects to match record json objects predicate when all the keys are provided. --- lib/zambyte/meta/json.sld | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/zambyte/meta/json.sld') diff --git a/lib/zambyte/meta/json.sld b/lib/zambyte/meta/json.sld index f305319..500b7a0 100644 --- a/lib/zambyte/meta/json.sld +++ b/lib/zambyte/meta/json.sld @@ -71,8 +71,10 @@ from-json-string)) (define (predicate obj) - (and (json-record? obj) - (eq? (json-record->name obj) 'type))) + (cond + ((json-record? obj) (eq? (json-record->name obj) 'type)) + ((json-object? obj) (and (json-object-contains-key? obj 'fields) ...)) + (else #f))) (define (from-json-string str) (let ((json (string->json str))) -- cgit