Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 1.55 KB

default-param-last.md

File metadata and controls

68 lines (51 loc) · 1.55 KB
description
Enforce default parameters to be last.

🛑 This file is source code, not the primary documentation location! 🛑

See https://typescript-eslint.io/rules/default-param-last for documentation.

Rule Details

This rule extends the base eslint/default-param-last rule. It adds support for optional parameters.

❌ Incorrect

/* eslint @typescript-eslint/default-param-last: ["error"] */

function f(a = 0, b: number) {}
function f(a: number, b = 0, c: number) {}
function f(a: number, b?: number, c: number) {}
class Foo {
  constructor(public a = 10, private b: number) {}
}
class Foo {
  constructor(public a?: number, private b: number) {}
}

✅ Correct

/* eslint @typescript-eslint/default-param-last: ["error"] */

function f(a = 0) {}
function f(a: number, b = 0) {}
function f(a: number, b?: number) {}
function f(a: number, b?: number, c = 0) {}
function f(a: number, b = 0, c?: number) {}
class Foo {
  constructor(public a, private b = 0) {}
}
class Foo {
  constructor(public a, private b?: number) {}
}

How to Use

{
  // note you must disable the base rule as it can report incorrect errors
  "default-param-last": "off",
  "@typescript-eslint/default-param-last": ["error"]
}

Options

See eslint/default-param-last options.

Taken with ❤️ from ESLint core