hara.common.emit-common
emit-array
added in 4.0
(emit-array array grammar mopts)(emit-array array grammar mopts emit-fn)returns an array of emitted strings
emit-between
added in 3.0
(emit-between raw args grammar mopts)emits the raw symbol between two elems
emit-class-static-invoke
added in 4.0
(emit-class-static-invoke raw [sym field & args] grammar mopts)creates
emit-comment
added in 4.0
(emit-comment _ [tag & more :as form] grammar mopts)emits a comment
emit-common-loop
added in 4.0
(emit-common-loop form grammar mopts)(emit-common-loop form grammar mopts fn-lookup fn-default)emits the raw string
emit-free
added in 4.0
(emit-free {:keys [sep]} [tag & more :as form] grammar mopts)emits string with multiline support
emit-indent
added in 4.0
(emit-indent _ [tag & more :as form] grammar mopts)emits an indented form
emit-index-entry
added in 3.0
(emit-index-entry v grammar mopts)classifies the index entry
emit-infix-default
added in 3.0
(emit-infix-default raw args default grammar mopts)emits infix with a default value
emit-infix-if
added in 3.0
(emit-infix-if [_ & forms] grammar mopts)emits an infix if string
emit-infix-if-single
added in 4.0
(emit-infix-if-single [_ check then else] grammar mopts)checks for infix in single
(emit-infix-if ’(:? true x y) helper/+default+ {}) => “true ? x : y”
emit-infix-pre
added in 3.0
(emit-infix-pre raw args grammar mopts)emits infix with a default value
emit-internal
added in 4.0
(emit-internal [_ value] grammar mopts)emits string within the form
emit-internal-str
added in 4.0
(emit-internal-str [_ value] grammar mopts)emits internal string
emit-invoke
added in 3.0
(emit-invoke _ [sym & args :as form] grammar mopts)general invoke call, incorporating keywords
emit-invoke-args
added in 3.0
(emit-invoke-args args grammar mopts)produces the string for invoke call
emit-invoke-kw-pair
added in 3.0
(emit-invoke-kw-pair [k v] grammar mopts)emits a kw argument pair
emit-invoke-layout
added in 4.0
(emit-invoke-layout str-array grammar mopts)layout for invoke blocks
(emit-invoke-layout “ab\nc” “de\nf” helper/+default+ {}) => “(ab\nc,de\nf)”
emit-invoke-raw
added in 3.0
(emit-invoke-raw raw args grammar mopts)invoke call for reserved ops
emit-invoke-static
added in 3.0
(emit-invoke-static [sym & args] grammar mopts)generates a static call, alternat
emit-invoke-typecast
added in 3.0
(emit-invoke-typecast form grammar mopts)generates typecast expression
emit-new
added in 3.0
(emit-new raw [sym & more :as args] grammar mopts)invokes a constructor
emit-op
added in 3.0
(emit-op key [sym & args :as form] {:keys [reserved], :as grammar} mopts & [expansion])helper for the emit op
emit-postfix
added in 4.0
(emit-postfix raw args grammar mopts)emits operator before the arg
emit-prefix
added in 4.0
(emit-prefix raw args grammar mopts)emits operator before the arg
emit-reserved-value
added in 4.0
(emit-reserved-value form {:keys [reserved], :as grammar} mopts)emits a reserved value
emit-return
added in 3.0
(emit-return raw args grammar mopts)creates a return type statement
emit-return-do
added in 4.0
(emit-return-do arg grammar mopts)creates a return statement on do block
emit-squash
added in 4.0
(emit-squash _ [tag & more] grammar mopts)emits a squashed representation
emit-symbol
added in 4.0
(emit-symbol sym grammar mopts)emits symbol allowing for custom functions
emit-symbol-classify
added in 3.0
(emit-symbol-classify sym {:keys [module entry book], :as mopts})classify symbol given options
(emit-symbol-classify ’t/hello {:module {:alias ’{t table}}}) => ’:alias table
(emit-symbol-classify ’t.n/hello {:module {:alias ’{t table}}}) => ’:unknown t.n
emit-symbol-standard
added in 3.0
(emit-symbol-standard sym grammar {:keys [lang layout module], :as mopts})emits a standard symbol
(emit-symbol-standard ’print! helper/+default+ {:layout :full}) => “printf”
(emit-symbol-standard ’print! {:token {:symbol {:replace {}} :string {:quote :single}}} {:layout :full}) => “print!”
emit-token
added in 3.0
(emit-token key token grammar mopts)customisable emit function for tokens
emit-unit
added in 4.0
(emit-unit {:keys [raw default transform], :as props} [_ value] grammar mopts)emits a unit
emit-with-decorate
added in 4.0
(emit-with-decorate _ [_ opts form] grammar mopts)customisable emit function for global vars
emit-with-global
added in 4.0
(emit-with-global _ [_ token] grammar mopts)customisable emit function for global vars
emit-with-rand
added in 4.0
(emit-with-rand _ [_ & [type]] grammar mopts)injects uuid for testing
emit-with-uuid
added in 4.0
(emit-with-uuid _ [_ & [seed0 seed1 :as seeds]] grammar mopts)injects uuid for testing
emit-wrapping
added in 4.0
(emit-wrapping form grammar mopts)emits a potentially wrapped form
form-key
added in 3.0
(form-key form {:keys [banned reserved], :as grammar})returns the key associated with the form
invoke-kw-parse
added in 3.0
(invoke-kw-parse args)seperates standard and keyword arguments
with-compressed
macro
added in 3.0
(with-compressed & body)formats without newlines and indents
wrapped-str
added in 3.0
(wrapped-str inner path grammar)wrapped string using :start and :end keys of grammar