File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change 6
6
json-error?
7
7
(reason json-error-reason))
8
8
9
+ (define (written obj )
10
+ (call-with-port (open-output-string)
11
+ (lambda (out ) (write obj out) (get-output-string out))))
12
+
13
+ (define (invalid-object-value obj )
14
+ (raise (make-json-error
15
+ (string-append " Invalid object value: " (written obj) " ." ))))
16
+
9
17
(define (json-whitespace? char )
10
18
(assume (char? char))
11
19
(case char
326
334
; ; continue!
327
335
(lambda (obj )
328
336
(read-object-maybe-continue callback obj k)))))
329
- (else (raise (make-json-error " Invalid object value. " ) ))))
337
+ (else (invalid- object- value obj ))))
330
338
331
339
(define (read-object-colon callback obj k )
332
340
(if (eq? obj 'colon )
424
432
type
425
433
obj
426
434
return))))))
427
- (else (raise (make-json-error " Invalid object value. " ) ))))
435
+ (else (invalid- object- value obj ))))
428
436
((json-value)
429
437
(let ((value obj))
430
438
(lambda (type obj ) (read-object-maybe-key (cons (cons key value) out)
431
439
type
432
440
obj
433
441
return))))
434
- (else (raise (make-json-error " Invalid object value" ) ))))
442
+ (else (invalid- object- value obj ))))
435
443
436
444
(define (read-object-maybe-key out type obj return )
437
445
(case type
Original file line number Diff line number Diff line change 11
11
(scheme case-lambda)
12
12
(scheme char)
13
13
(scheme text)
14
+ (scheme write)
14
15
(check)
15
16
(srfi 145 )
16
17
(srfi 151 )
You can’t perform that action at this time.
0 commit comments