asystant.module
expand-subsystems-xf
For use with system-graph/with-transform
merge-topics
(merge-topics topic-sets)
remove-thru-edge
(remove-thru-edge graph)
subsystem
(subsystem modules)
(subsystem modules extras)
Take a collection of modules and create a single module from them.
The ins and outs will be the merged ins and merged outs from the sub-modules
The subsystem itself will be included on the module under the key :subsystem,
allowing the module to be expanded out, should that be desired.
Optionally takes a map of extra params which will be included on the resulting module
You can include a :subsystem-init function in extras which takes the outer-system's
initialisation params and returns a map: {:params params-updater
:callback shutdown-callback}
params-updater: A function that takes the initialisation params and returns
a modified version of them that will be provided to all sub-modules
shutdown-callback: A 0-arg function that will be called when the system is shutting
down. This will be combined with any shutdown callbacks from sub-modules and returned
from the module's pipe-function
system->module
(system->module ins outs sys initialisation-params-updater)
(system->module ins outs sys initialisation-params-updater extras)