(emit-def-assign _ {:keys [raw] :as props} [_ & args] grammar mopts)emits a declare expression
emits a declare expression
(emit-def-assign-inline sym
[link & input]
grammar
{:keys [lang book snapshot] :as mopts})assigns an inline form directly
assigns an inline form directly
(test-assign-emit form grammar mopts)emit assign forms
(assign/test-assign-loop (list 'var 'a := (with-meta () {:assign/fn (fn [sym] (list sym :as [1 2 3]))})) +grammar+ {}) => "(a :as [1 2 3])"
(assign/test-assign-loop (list 'var 'a := (with-meta '(sym :as [1 2 3]) {:assign/template 'sym})) +grammar+ {}) => "(a :as [1 2 3])"
(assign/test-assign-loop (list 'var 'a := (with-meta '(x.core/identity-fn 1) {:assign/inline 'x.core/identity-fn})) +grammar+ {:lang :x :snapshot +snap+}) => "(do* (var a := 1))"
(assign/test-assign-loop (list 'var 'a := (with-meta '(x.core/complex-fn 1) {:assign/inline 'x.core/complex-fn})) +grammar+ {:lang :x :snapshot +snap+}) => "(do* (var a := 1) (:= a (+ a 1)))"
emit assign forms
(assign/test-assign-loop (list 'var 'a := (with-meta ()
{:assign/fn (fn [sym]
(list sym :as [1 2 3]))}))
+grammar+
{})
=> "(a :as [1 2 3])"
(assign/test-assign-loop (list 'var 'a := (with-meta '(sym :as [1 2 3])
{:assign/template 'sym}))
+grammar+
{})
=> "(a :as [1 2 3])"
(assign/test-assign-loop (list 'var 'a := (with-meta '(x.core/identity-fn 1)
{:assign/inline 'x.core/identity-fn}))
+grammar+
{:lang :x
:snapshot +snap+})
=> "(do* (var a := 1))"
(assign/test-assign-loop (list 'var 'a := (with-meta '(x.core/complex-fn 1)
{:assign/inline 'x.core/complex-fn}))
+grammar+
{:lang :x
:snapshot +snap+})
=> "(do* (var a := 1) (:= a (+ a 1)))"cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |