Skip to content

Commit 5fc2198

Browse files
committedJan 9, 2024
fix: no-callback-literal ignore unknown nodes (#163)
fixes #162
1 parent c191101 commit 5fc2198

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed
 

‎lib/rules/no-callback-literal.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ function couldBeError(node) {
6262
case "TaggedTemplateExpression":
6363
case "YieldExpression":
6464
return true // possibly an error object.
65-
65+
case "Literal":
66+
return node.value == null
6667
case "AssignmentExpression":
6768
return couldBeError(node.right)
6869

@@ -76,8 +77,7 @@ function couldBeError(node) {
7677

7778
case "ConditionalExpression":
7879
return couldBeError(node.consequent) || couldBeError(node.alternate)
79-
8080
default:
81-
return node.value === null
81+
return true // assuming unknown nodes can be error objects.
8282
}
8383
}

‎tests/lib/rules/no-callback-literal.js

+6
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
const RuleTester = require("eslint").RuleTester
88
const rule = require("../../../lib/rules/no-callback-literal")
9+
const tsParser = require("@typescript-eslint/parser")
910

1011
const ruleTester = new RuleTester({ env: { node: true, es6: true } })
1112
ruleTester.run("no-callback-literal", rule, {
@@ -40,6 +41,11 @@ ruleTester.run("no-callback-literal", rule, {
4041
"cb(null)",
4142
'cb(undefined, "super")',
4243
'cb(null, "super")',
44+
// https://github.com/eslint-community/eslint-plugin-n/issues/162
45+
{
46+
code: "cb(e as Error)",
47+
languageOptions: { parser: tsParser },
48+
},
4349
],
4450

4551
invalid: [

0 commit comments

Comments
 (0)