From b6b0b8dd82031eb55189ad3bea5eaacd8444b9d5 Mon Sep 17 00:00:00 2001 From: Sean Allred Date: Sat, 1 Nov 2014 13:29:10 -0400 Subject: More work on data filter; add tests --- stack-core.el | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'stack-core.el') diff --git a/stack-core.el b/stack-core.el index cf7dde5..be385c3 100644 --- a/stack-core.el +++ b/stack-core.el @@ -211,12 +211,19 @@ entire response as a complex alist." (defun stack-core-filter-data (data desired-tree) "Filters DATA and returns the DESIRED-TREE" - (delq - nil - (mapcar (lambda (cons-cell) - (when (member (car cons-cell) desired-tree) - cons-cell)) - data))) + (if (vectorp data) + (mapcar (lambda (entry) + (stack-core-filter-data + entry desired-tree)) + data) + (delq + nil + (mapcar (lambda (cons-cell) + (when (member (car cons-cell) desired-tree) + (if (sequencep (cdr cons-cell)) + (stack-core-filter-data )) + cons-cell)) + data)))) (provide 'stack-core) ;;; stack-core.el ends here -- cgit v1.2.3