export class DecoderService extends Effect.Service<DecoderService>()('DecoderService', {
effect: Effect.gen(function* () {
const config = yield* DecoderConfig
const devices = yield* DeviceRepository
const events = yield* PayloadPublishingService
return {
handler: Effect.succeed((unknown: unknown, _context: Context) => Effect.gen(function* () {
// ...
})),
}
}),
dependencies: [
DecoderConfig.Default.pipe(
Layer.provideMerge(DeviceRepository.Default),
Layer.provideMerge(PayloadPublishingService.Default),
Layer.provideMerge(DefaultPowerToolsLoggerLayer),
),
],
accessors: true,
}) {}
export class DecoderService extends Effect.Service<DecoderService>()('DecoderService', {
effect: Effect.gen(function* () {
const config = yield* DecoderConfig
const devices = yield* DeviceRepository
const events = yield* PayloadPublishingService
return {
handler: Effect.succeed((unknown: unknown, _context: Context) => Effect.gen(function* () {
// ...
})),
}
}),
dependencies: [
DecoderConfig.Default.pipe(
Layer.provideMerge(DeviceRepository.Default),
Layer.provideMerge(PayloadPublishingService.Default),
Layer.provideMerge(DefaultPowerToolsLoggerLayer),
),
],
accessors: true,
}) {}