Hi,

Am 23.10.2009 um 21:16 schrieb Howard Lewis Ship:

> Here's what I wanted to write:
>
> (defn add-script-links-for-imported-javascript-libraries
>       [env dom-nodes]
>       (extend-dom dom-nodes [:html :head] :top
>               (template-for [:let [aggregation (-> env :cascade :resource- 
> aggregation)
>                                         libraries (@aggregation :libraries)]
>                                   asset-map libraries
>                                   :let [path (to-asset-path env asset-map)]]
>                       :script { :type "text/javascript" :src path } [ 
> linebreak ])))  

Why don't you just go one step further?

(defn add-script-links-for-imported-javascript-libraries
   [env dom-nodes]
   (extend-dom dom-nodes [:html :head] :top
     (template-for [asset-map (-> env
                                :cascade
                                :resource-aggregation
                                deref
                                :libraries)
                    :let [path (to-asset-path env asset-map)]]
       :script { :type "text/javascript" :src path } [ linebreak ])))

> But I had to juggle it to this:
>
> (defn add-script-links-for-imported-javascript-libraries
>       [env dom-nodes]
>       (let [aggregation (-> env :cascade :resource-aggregation)
>              libraries (@aggregation :libraries)]
>               (extend-dom dom-nodes [:html :head] :top
>                       (template-for [asset-map libraries
>                                           :let [path (to-asset-path env 
> asset-map)]]
>                               :script { :type "text/javascript" :src path } [ 
> linebreak ])))) 
>
>
> Of course there are any number of ways to write this, but I prefer the
> first option, as it does less of a job of obscuring what the main
> point of the function is: a call to extend-dom.

I don't see any obfuscation. Especially if you add a docstring "Extend  
DOM with ..." to the function.

Sincerely
Meikel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to