diff options
author | Robby Zambito <contact@robbyzambito.me> | 2023-02-16 09:13:14 -0500 |
---|---|---|
committer | Robby Zambito <contact@robbyzambito.me> | 2023-02-16 09:13:14 -0500 |
commit | 61660091e2d05281791b24e775c5fdde93fd93df (patch) | |
tree | e64117fd4d22132a93351beb231b1fdabbda8d25 /lib/zambyte/meta/guile-json.scm | |
parent | c6fb4484e22ff2cb35cdfd9c7d6faa9ef775eb35 (diff) | |
parent | 73a0cba3f4d4fa825a21332fbcc159e68cd3a1ea (diff) |
Merge branch 'master' into json-records
Diffstat (limited to 'lib/zambyte/meta/guile-json.scm')
-rw-r--r-- | lib/zambyte/meta/guile-json.scm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/zambyte/meta/guile-json.scm b/lib/zambyte/meta/guile-json.scm new file mode 100644 index 0000000..1e41f9c --- /dev/null +++ b/lib/zambyte/meta/guile-json.scm @@ -0,0 +1,28 @@ +(import (json) + (srfi 1)) +(begin + (define json-object list) + (define json-list vector) + (define json-null 'null) + (define json-object? list?) + (define json-list? vector?) + + (define (json-null? obj) + (eq? obj json-null)) + + (define (json-object-cointains-key? obj key) + (and (assoc key obj) #t)) + + (define string->json json-string->scm) + (define json->string scm->json-string) + + (define (json-object-ref json key) + (let ((pair (assoc key json))) + (if pair + (cdr pair) + ((json-key-not-found))))) + + (define json-list-ref vector-ref) + (define json-list-length vector-length) + (define json-object->alist values) + (define json-list->list vector->list)) |