Skip to content

Commit

Permalink
Fix templated string with dynamic attrs (#539)
Browse files Browse the repository at this point in the history
  • Loading branch information
borkdude authored Jun 20, 2024
1 parent 58aa353 commit 5b797b8
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions src/squint/compiler.cljc
Original file line number Diff line number Diff line change
Expand Up @@ -325,23 +325,25 @@
(seq children)
(assoc :children children))))
env))
(emit-return
(cond->> (format "<%s%s>%s</%s>"
(let [ret (format "<%s%s>%s</%s>"
tag-name
(cc/jsx-attrs attrs env)
(let [env (expr-env env)]
(str/join "" (map #(emit % env) elts)))
tag-name)
(:outer-html (meta expr)) (format "%s`%s`"
(if-let [t (:tag (meta expr))]
(emit t (expr-env (dissoc env :jsx :html)))
(if @has-dynamic-expr?
(do
(when top-dynamic-expr
(reset! top-dynamic-expr true))
"squint_html.tag")
""))))
env)))
tag-name)]
(when @has-dynamic-expr?
(when top-dynamic-expr
(reset! top-dynamic-expr true)))
(emit-return
(cond->> ret
(:outer-html (meta expr))
(format "%s`%s`"
(if-let [t (:tag (meta expr))]
(emit t (expr-env (dissoc env :jsx :html)))
(if @has-dynamic-expr?
"squint_html.tag"
""))))
env))))
(emit-return (format "[%s]"
(str/join ", " (emit-args env expr))) env)))

Expand All @@ -359,7 +361,7 @@
mk-pair (fn [pair]
(let [k (key pair)]
(str (if (= :& k)
(str "...")
"..."
(str (emit (key-fn k) expr-env) ": "))
(emit (val pair) expr-env))))
keys (str/join ", " (map mk-pair (seq expr)))]
Expand Down

0 comments on commit 5b797b8

Please sign in to comment.