Skip to content

Instantly share code, notes, and snippets.

@pyldin601
Created November 4, 2017 18:31
Show Gist options
  • Save pyldin601/e8ff81d937ad32ca574af2d03348b707 to your computer and use it in GitHub Desktop.
Save pyldin601/e8ff81d937ad32ca574af2d03348b707 to your computer and use it in GitHub Desktop.
defun unique (item i list)
eq?
.indexOf list item
i
def deps-json "
{
\"mongo\": [],
\"tzinfo\": [\"thread_safe\"],
\"uglifier\": [\"execjs\"],
\"execjs\": [\"thread_safe\", \"json\"],
\"redis\": []
}
"
def deps-map (.parse js/JSON deps-json)
defun get-deps (name)
or
get-attr deps-map name
'()
defun compute (deps)
.reduce deps
lambda (acc dep)
.concat
acc
compute
get-deps dep
list dep
'()
defun sort-deps (deps)
def computed-keys
compute
.keys js/Object deps
.filter
computed-keys
unique
sort-deps deps-map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment