aboutsummaryrefslogtreecommitdiff
path: root/stack-core.el
diff options
context:
space:
mode:
authorSean Allred <code@seanallred.com>2014-11-01 02:05:14 -0400
committerSean Allred <code@seanallred.com>2014-11-01 02:05:14 -0400
commit75439b37dc68fa10bcec979fd1538576816b49fb (patch)
treedd72adf8cb5afdedb88896427808a85d2f474374 /stack-core.el
parent8f68c1d920affe654b7b14db0218bf02b4ec9c12 (diff)
Add function to filter data structure
Only works on flat structures right now. This should be used and let-bound to a variable when that variable is going to be used a lot. Theoretically, it should be faster than traversing through the entire data structure. Think of this as a Emacs-local version of the API's own filter.
Diffstat (limited to 'stack-core.el')
-rw-r--r--stack-core.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/stack-core.el b/stack-core.el
index d48c873..cf7dde5 100644
--- a/stack-core.el
+++ b/stack-core.el
@@ -209,5 +209,14 @@ entire response as a complex alist."
stack-core-remaining-api-requests))
(cdr (assoc 'items response))))))))
+(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)))
+
(provide 'stack-core)
;;; stack-core.el ends here