diff options
Diffstat (limited to 'src/serializing.lisp')
| -rw-r--r-- | src/serializing.lisp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/serializing.lisp b/src/serializing.lisp index 7fafb3a..205190f 100644 --- a/src/serializing.lisp +++ b/src/serializing.lisp | |||
| @@ -47,14 +47,14 @@ | |||
| 47 | json)) | 47 | json)) |
| 48 | 48 | ||
| 49 | (defmethod parse-value ((type cons) json) | 49 | (defmethod parse-value ((type cons) json) |
| 50 | (cond ((and (eq (car type) 'array) | 50 | (cond ((and (eq (first type) 'array) |
| 51 | (null (cddr type))) | 51 | (null (cddr type))) |
| 52 | (when json | 52 | (when json |
| 53 | (let ((element-type (cadr type))) | 53 | (let ((element-type (cadr type))) |
| 54 | (iter (for element in-vector json) | 54 | (iter (for element in-vector json) |
| 55 | (collect (parse-value element-type element) result-type vector))))) | 55 | (collect (parse-value element-type element) result-type vector))))) |
| 56 | ((eq (car type) 'or) | 56 | ((eq (first type) 'or) |
| 57 | (iter (for el-type in (cdr type)) | 57 | (iter (for el-type in (rest type)) |
| 58 | (multiple-value-bind (success res) (try-parse-value el-type json) | 58 | (multiple-value-bind (success res) (try-parse-value el-type json) |
| 59 | (when success | 59 | (when success |
| 60 | (return res))) | 60 | (return res))) |