arachne.core.dsl
User-facing DSL for use in init scripts
component
(component <arachne-id> constructor <dependency-map>)
Low-level form for defining a component. Requires an Arachne ID (optional), the full-qualified name of a
component constructor function (mandatory), and a map of dependencies (optional).
For example:
(component :my/some-component 'my.app/ctor)
Or:
(component :my/other-component 'my.app/ctor {:foobar :my/some-component})
Returns the entity ID of the component.
In general, an Arachne ID should always be provided, so the component can be referenced, unless
the `component` form is being nested in another DSL form and its returned eid is captured.
runtime
(runtime id roots)
Defines a named Arachne runtime containing the given root components.
Returns the entity ID of the runtime.
transact
(transact txdata & [tempid])
Update the context configuration with the given txdata. If a tempid is provided as an optional
second argument, then the resolved entity ID will be returned, otherwise nil.