uix.compiler.react
Hiccup compiler that translates Hiccup into React.js at compile-time.
*cljs-env*
dynamic
*skip-check?*
dynamic
*skip-fn-check?*
dynamic
*specked-args*
dynamic
camel-case
(camel-case k)Turns kebab-case keyword into camel-case keyword
camel-case-keys
(camel-case-keys m)Takes map of attributes and returns same map with camel-cased keys
check-attrs
(check-attrs tag v attrs children expr)compile-attrs
(compile-attrs attrs)Takes map of attributes and returns same map with keys translated from Hiccup to React naming conventions
compile-config-kv
multimethod
compile-defui
macro
(compile-defui sym body)Compiles Hiccup component defined with defui macro into React component
compile-element
multimethod
compile-form
multimethod
compile-html
(compile-html expr env)Compiles Hiccup expr into React.js calls
compile-html*
(compile-html* expr)empty-js-obj
form-name
(form-name form)has-spec?
(has-spec? sym)Checks if there’s a spec defined for sym
infer-type
(infer-type expr env)Infers type of expr
inline-children
(inline-children type attrs children)inline-element
(inline-element type attrs)inlineable-types
join-classes
(join-classes classes)Joins class names into a single string
join-classes-js
(join-classes-js)(join-classes-js & xs)Emits runtime class string concatenation expression
literal?
(literal? x)maybe-check
(maybe-check x)Wraps x with interpret call when x is not an argument of a specked function
maybe-interpret
macro
(maybe-interpret expr)Infers type of expr and wraps expr with interpret call if the type is not one of the inlineable-types, otherwise returns expr
normalize-element
(normalize-element v)(normalize-element v n)Takes Hiccup element and optional index specifying position of attributes and returns a normalized element [tag attrs children]
parse-tag
(parse-tag hiccup-tag)Takes Hiccup tag (:div.class#id) and returns parsed tag, id and class fields
re-tag
Hiccup tag pattern :div :.class#id etc.
set-id-class
(set-id-class props [_ id class])Takes attributes map and parsed tag, and returns attributes merged with class names and id
to-js
multimethod
to-js-map
(to-js-map m)unevaluated?
(unevaluated? expr)