diff options
author | Robby Zambito <contact@robbyzambito.me> | 2023-02-16 09:12:17 -0500 |
---|---|---|
committer | Robby Zambito <contact@robbyzambito.me> | 2023-02-16 09:12:17 -0500 |
commit | 73a0cba3f4d4fa825a21332fbcc159e68cd3a1ea (patch) | |
tree | 4c9b55f847ec48c049fa56a2aec6e699e0e82393 /lib/zambyte/meta/guile-json.scm | |
parent | 7bf0fa24e0df6949d2e1f6c57fb67539d674810a (diff) |
Rename guile.scm to guile-json.scm
This will avoid any potential conflicts from other zambyte/meta/guile.scm files.
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)) |