package sihl-core
Library
Module
Module type
Parameter
Class
Class type
A module to create Sihl apps.
An app is a thin convenience layer on top of the service container. It provides hooks that are executed at different stages in the app lifecycle.
val empty : t
empty
returns an app without any services.
val with_services : Container.Service.t list -> t -> t
with_services services app
adds services
to an app
.
before_start f app
registers a callback f with app
. The callback is executed before any service is started. This means you must not use any services here!
after_stop f app
registers a callback f with app
. The callback is executed before after services are stopped. This means you must not use any services here!
run ?commands ?log_reporter app
is the main entry point to a Sihl app and starts the command line interface with commands
merged with the commands provided by services.
An optional log_reporter
can be provided to change the logging behavior. The default log reporter logs to stdout.