hara.lang.impl-lifecycle

emit-module-prep

added in 4.0

(emit-module-prep module-id {:keys [library lang emit], :as meta})

prepares the module for emit

emit-module-setup

added in 4.0

(emit-module-setup module-id {:keys [library lang emit], :as meta})

emits the entire module as string

emit-module-setup-concat

added in 4.0

(emit-module-setup-concat {:keys [setup-body native-arr link-arr header-arr code-arr export-body], :as raw})

joins setup raw into individual blocks

emit-module-setup-export-body

added in 4.0

(emit-module-setup-export-body {:keys [library lang emit], :as meta} prep)

creates the setup code for internal links

emit-module-setup-join

added in 4.0

(emit-module-setup-join {:keys [setup-body native-arr link-arr header-arr code-arr export-body], :as raw})

joins setup raw into the setup code

emit-module-setup-native-arr

added in 4.0

(emit-module-setup-native-arr {:keys [library lang emit], :as meta} prep)

creates the setup code for native imports

emit-module-setup-raw

added in 4.0

(emit-module-setup-raw module-id {:keys [library lang emit], :as meta})

creates module setup map of array strings

emit-module-teardown

added in 4.0

(emit-module-teardown module-id {:keys [library lang emit], :as meta})

creates the teardown script

emit-module-teardown-concat

added in 4.0

(emit-module-teardown-concat {:keys [teardown-body code-arr native-arr], :as raw})

joins teardown raw into individual blocks

(-> (emit-module-teardown-raw ’xt.lang.common-lib {:lang :lua}) (emit-module-teardown-concat)) => coll?

emit-module-teardown-join

added in 4.0

(emit-module-teardown-join {:keys [teardown-body code-arr native-arr], :as raw})

joins teardown raw into code

(-> (emit-module-teardown-raw ’xt.lang.common-lib {:lang :lua}) (emit-module-teardown-join)) => string?

emit-module-teardown-raw

added in 4.0

(emit-module-teardown-raw module-id {:keys [library lang emit], :as meta})

creates module teardown map of array strings