A dependency injection based application framework for Go.
fx.Module
which scopes any modifications made to the dependency graph.fx.Decorate
and fx.Replace
that lets you modify a dependency graph with decorators.fxevent.Decorated
event which gets emitted upon a dependency getting decorated.fx.Annotate
: Validate that fx.In
or fx.Out
structs are not passed to it.fx.Annotate
: Upon failure to Provide, the error contains the actual location
of the provided constructor.fx.As
.fx.Annotate
: support variadic functions, and feeding value groups into them.fx.Annotate
to allow users to provide parameter and result tags easily without
having to create fx.In
or fx.Out
structs.fx.As
that allows users to annotate a constructor to provide its result type(s) as
interface(s) that they implement instead of the types themselves.fxevent.Stopped
not being logged when App.Stop
is called.fxevent.Started
or fxevent.Stopped
not being logged when start or
stop times out.fx.WithLogger
option. Provide a constructor for
fxevent.Logger
objects with it to customize how Fx logs events.fxevent
package that exposes events from Fx in a structured way.
Use this to write custom logger implementations for use with the
fx.WithLogger
option.fxtest.Lifecycle
now logs to the provided testing.TB
instead of stderr.fx.In
and fx.Out
are now type aliases instead of structs.