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)