const main = async (events: Events[]) => {
const Services = Layer.mergeAll(...services)
await Effect.runPromise(Effect.provide(generatorMain(events), Services))
}
export const generatorMain = (events: Events[]) =>
Effect.gen(function* () {
yield* Effect.all(events.map(processRecord), { mode: 'either' })
})
// inject a custon logger here, and to any function calls below
export const processRecord = (record: SQSRecord) =>
Effect.gen(function* () {
// this is where i'm lost
const logger = LoggerServiceFactory(record.id)
logger.log('Processing record', record)
// [record.id] Processing record { }
})
const main = async (events: Events[]) => {
const Services = Layer.mergeAll(...services)
await Effect.runPromise(Effect.provide(generatorMain(events), Services))
}
export const generatorMain = (events: Events[]) =>
Effect.gen(function* () {
yield* Effect.all(events.map(processRecord), { mode: 'either' })
})
// inject a custon logger here, and to any function calls below
export const processRecord = (record: SQSRecord) =>
Effect.gen(function* () {
// this is where i'm lost
const logger = LoggerServiceFactory(record.id)
logger.log('Processing record', record)
// [record.id] Processing record { }
})