使用ESLint no-unused-vars规则捕获TypeScrip对象析构

我在打字脚本中有一个对象,为了提取部分对象,我正在对其进行析构。但是,它没有通过我的内裤检查:

async someFunction(username: string): Promise<UserDTO> {
    const userEntity = await getUserByUsernameAsync(username);

    if (userEntity ) {
        const { password, ...result } = userEntity ;
        return result;
    }

    return null;
}

如您所见,上面的代码获取了一个对象,并去掉了我们不想返回的对象的某些部分,然后返回了对象的其余部分。

但是,LINTER给出警告:

warning  'password' is assigned a value but never used      @typescript-eslint/no-unused-vars

对象析构正在将passport赋值给一个值,result赋值给另一个对象值,passport是未使用的值。我如何解决此问题才能通过链接程序?


解决方案

您可以禁用对REST同级的此验证,将"@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true }]添加到eslintrc.js中的规则列表。

示例:

module.exports = {
  root: true,
  parser: "@typescript-eslint/parser",
  plugins: [
    "@typescript-eslint",
  ],
  extends: [
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended"
  ],
  rules: {
    "@typescript-eslint/no-unused-vars": ["error", { "ignoreRestSiblings": true }]
  },
  settings: {
    react: {
      version: "detect"
    }
  }
};

您还可以选择完全禁用该行的衬垫规则,将其添加到该行上方的行中:

// eslint-disable-next-line @typescript-eslint/no-unused-vars

相关文章