typescript/统一签名 风格
它的作用
禁止那些可以合并为单一签名的重载签名。
为什么这是不好的?
仅在类型、可选参数或剩余参数上有所不同的重复重载签名,比单一统一的签名更难维护和阅读。
示例
此规则的错误代码示例:
ts
function f(a: number): void;
function f(a: string): void;此规则的正确代码示例:
ts
function f(a: number | string): void;配置
此规则接受一个配置对象,包含以下属性:
ignoreDifferentlyNamedParameters
type: boolean
默认值: false
比较签名时是否忽略参数名称差异。如果为 false,即使参数类型相同,只要同一位置的参数名称不同,这些签名将不被视为可合并。
ignoreOverloadsWithDifferentJSDoc
type: boolean
默认值: false
比较签名时是否忽略 JSDoc 差异。如果为 false,即使签名本身完全相同,只要最接近的前导块注释不同,这些签名也将不被视为可合并。
如何使用
通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"typescript/unified-signatures": "error"
}
}bash
oxlint --deny typescript/unified-signatures