An educational pure functional programming library in TypeScript
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Refactor task-queue callbacks to comma operator

+16 -15
+16 -15
examples/task-queue/with-purus.ts
··· 193 193 accessEff((env: QueueEnv) => 194 194 pipe( 195 195 succeed(undefined), 196 - flatMap(() => { 197 - env.logger.info(`Processing job ${job.id} (${job.type})`) 198 - return executeJob(job) 199 - }) 196 + flatMap(() => ( 197 + env.logger.info(`Processing job ${job.id} (${job.type})`), 198 + executeJob(job) 199 + )) 200 200 ) 201 201 ), 202 202 ··· 216 216 // Error recovery - log and continue 217 217 // Note: error is JobError, not unknown - we know exactly what failed 218 218 catchAll((error: JobError) => 219 - accessEff((env: QueueEnv) => { 220 - const msg = error._tag === "TimeoutError" 221 - ? `Job ${error.jobId} timed out after ${error.ms}ms` 222 - : `Job ${error.jobId} failed: ${error.message}` 223 - env.logger.error(msg) 224 - return succeed(undefined) 225 - }) 219 + accessEff((env: QueueEnv) => ( 220 + env.logger.error( 221 + error._tag === "TimeoutError" 222 + ? `Job ${error.jobId} timed out after ${error.ms}ms` 223 + : `Job ${error.jobId} failed: ${error.message}` 224 + ), 225 + succeed(undefined) 226 + )) 226 227 ), 227 228 228 229 // Final log 229 230 flatMap(() => 230 - accessEff((env: QueueEnv) => { 231 - env.logger.info(`Job ${job.id} completed`) 232 - return succeed(undefined) 233 - }) 231 + accessEff((env: QueueEnv) => ( 232 + env.logger.info(`Job ${job.id} completed`), 233 + succeed(undefined) 234 + )) 234 235 ) 235 236 ) 236 237