export class SendWelcomeEmail extends Effect.Service<SendWelcomeEmail>()('SendWelcomeEmail', {
dependencies: [RabbitMqEventBroker],
scoped: Effect.gen(function* () {
const emails = yield* Emails;
const broker = yield* EventBroker;
// can't return this as it is void and it will give a type error
yield* broker.consume('send-welcome-email', ['UserRegistered'], event =>
/* send email */
);
// smelly?
return {};
})
}) {}
export class SendWelcomeEmail extends Effect.Service<SendWelcomeEmail>()('SendWelcomeEmail', {
dependencies: [RabbitMqEventBroker],
scoped: Effect.gen(function* () {
const emails = yield* Emails;
const broker = yield* EventBroker;
// can't return this as it is void and it will give a type error
yield* broker.consume('send-welcome-email', ['UserRegistered'], event =>
/* send email */
);
// smelly?
return {};
})
}) {}