diff options
author | Sean Allred <code@seanallred.com> | 2014-11-01 02:05:14 -0400 |
---|---|---|
committer | Sean Allred <code@seanallred.com> | 2014-11-01 02:05:14 -0400 |
commit | 75439b37dc68fa10bcec979fd1538576816b49fb (patch) | |
tree | dd72adf8cb5afdedb88896427808a85d2f474374 /stack-core.el | |
parent | 8f68c1d920affe654b7b14db0218bf02b4ec9c12 (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.el | 9 |
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 |