package emitter import ( "context" "xbus.io/go-xbus/v4" "orus.io/orus-io/go-orusapi/cmd" "orus.io/orus-io/go-orusapi/xbus/emissionqueue/migration" ) func WithXbusEmitter[E any]() cmd.Option[E] { return cmd.CombineOptions( cmd.WithSchema[E]("emissionqueue", migration.Source), cmd.WithXbusActors(func(program *cmd.Program[E]) []cmd.XbusActorFactory { return []cmd.XbusActorFactory{{ Name: program.Name + ".emitter", Factory: xbus.NewActorServiceFunc(func( actor *xbus.Actor, settings xbus.Settings, ) (xbus.ActorService, error) { return NewEmitter( context.TODO(), program.DB, actor, settings, program.Logger, ), nil }), }} }), ) }