effectMapFlatten

August 4, 2026 ยท View on GitHub

Suggests using Effect.flatMap instead of Effect.map followed by Effect.flatten in piping flows

PropertyValue
CategoryStyle
Default severitysuggestion
FixableNo
Effect versionsv3, v4
Diagnostic codesTS377086
Language Service nameeffectMapFlatten
Oxlint nameeffecttsgo/effect-map-flatten

Preview

import { Effect } from "effect"

export const preview = Effect.succeed(1).pipe(
  Effect.map((n) => Effect.succeed(n + 1)),
  Effect.flatten
/**
  ^^^^^^^^^^^^^^ effecttsgo(effect-map-flatten): `Effect.map` + `Effect.flatten` is the same as `Effect.flatMap` that expresses the same steps more directly.
*/
)

Language Service Configuration

See the Language Service setup guide for installation instructions.

{
  "$schema": "./node_modules/@effect/tsgo/schema.json",
  "compilerOptions": {
    "plugins": [
      {
        "name": "@effect/language-service",
        "diagnosticSeverity": {
          "effectMapFlatten": "warning"
        }
      }
    ]
  }
}

Oxlint Configuration

See the Oxlint setup guide for installation and patching instructions.

{
  "$schema": "./node_modules/@effect/tsgo/oxlint-schema.json",
  "options": {
    "typeAware": true
  },
  "plugins": ["effecttsgo"],
  "rules": {
    "effecttsgo/effect-map-flatten": "warn"
  }
}