Simplify
This commit is contained in:
parent
c59063e7dc
commit
1ff8316d02
1 changed files with 14 additions and 19 deletions
|
|
@ -186,8 +186,8 @@
|
|||
(next-id))
|
||||
pod (assoc pod :pod-id pod-id)
|
||||
vars-fn (fn [ns-name-str vars]
|
||||
(reduce
|
||||
(fn [m var]
|
||||
(mapv
|
||||
(fn [var]
|
||||
(let [name (get-string var "name")
|
||||
async? (some-> (get var "async")
|
||||
bytes->string
|
||||
|
|
@ -195,24 +195,19 @@
|
|||
name-sym (symbol name)
|
||||
sym (symbol ns-name-str name)
|
||||
code (get-maybe-string var "code")]
|
||||
(conj m [name-sym
|
||||
(or code
|
||||
(fn [& args]
|
||||
(let [res (invoke pod sym args {:async async?})]
|
||||
res)))])))
|
||||
;; vars should be ordered as one code segment may depend on the previous one
|
||||
[]
|
||||
[name-sym
|
||||
(or code
|
||||
(fn [& args]
|
||||
(let [res (invoke pod sym args {:async async?})]
|
||||
res)))]))
|
||||
vars))
|
||||
pod-namespaces (reduce (fn [namespaces namespace]
|
||||
(let [name-str (-> namespace (get "name") bytes->string)
|
||||
name-sym (symbol name-str)
|
||||
vars (get namespace "vars")
|
||||
vars (vars-fn name-str vars)]
|
||||
(conj namespaces [name-sym vars])))
|
||||
;; namespaces should also be ordered, allowing
|
||||
;; one namespace to leverage the previous one
|
||||
[]
|
||||
pod-namespaces)
|
||||
pod-namespaces (mapv (fn [namespace]
|
||||
(let [name-str (-> namespace (get "name") bytes->string)
|
||||
name-sym (symbol name-str)
|
||||
vars (get namespace "vars")
|
||||
vars (vars-fn name-str vars)]
|
||||
[name-sym vars]))
|
||||
pod-namespaces)
|
||||
pod (assoc pod :namespaces pod-namespaces)]
|
||||
(swap! pods assoc pod-id pod)
|
||||
pod)))
|
||||
|
|
|
|||
Loading…
Reference in a new issue