---
source: crates/oxc_linter/src/tester.rs
expression: no_unreadable_iife
---
  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │ const foo = (() => (a ? b : c))();
   ·                    ───────────
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │     
 2 │ ╭─▶             const foo = (() => (
 3 │ │                   a ? b : c
 4 │ ╰─▶             ))();
 5 │             
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:2:1]
 2 │                 const foo = (
 3 │ ╭─▶                 () => (
 4 │ │                       a ? b : c
 5 │ ╰─▶                 )
 6 │                 )();
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │     
 2 │ ╭─▶             const foo = (() => (
 3 │ │                   a, b
 4 │ ╰─▶             ))();
 5 │             
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │     
 2 │ ╭─▶             const foo = (() => ({
 3 │ │                   a: b,
 4 │ ╰─▶             }))();
 5 │             
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │ const foo = (bar => (bar))();
   ·                     ─────
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │     
 2 │ ╭─▶             (async () => ({
 3 │ │                   bar,
 4 │ ╰─▶             }))();
 5 │             
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │     
 2 │ ╭─▶             const foo = (async (bar) => ({
 3 │ │                   bar: await baz(),
 4 │ ╰─▶             }))();
 5 │             
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.

  ⚠ eslint-plugin-unicorn(no-unreadable-iife): IIFE with parenthesized arrow function body is considered unreadable.
   ╭─[no_unreadable_iife.tsx:1:1]
 1 │ (async () => (( {bar} )))();
   ·              ───────────
   ╰────
  help: Rewrite the IIFE to avoid having a parenthesized arrow function body.


