Skip to content

Commit

Permalink
fix(linter): false positives with setters in the getter-return rule. (
Browse files Browse the repository at this point in the history
  • Loading branch information
rzvxa committed Jun 19, 2024
1 parent 4134de8 commit 1190dee
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion crates/oxc_linter/src/rules/eslint/getter_return.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,13 @@ impl GetterReturn {
return true;
}
}
AstKind::ObjectProperty(ObjectProperty { kind, .. }) => {
AstKind::ObjectProperty(ObjectProperty { kind, key: prop_key, .. }) => {
if matches!(kind, PropertyKind::Get) {
return true;
}
if prop_key.name().is_some_and(|key| key != "get") {
return false;
}

if let Some(parent_2) = ctx.nodes().parent_node(parent.id()) {
if let Some(parent_3) = ctx.nodes().parent_node(parent_2.id()) {
Expand Down Expand Up @@ -328,8 +331,11 @@ fn test() {
("class foo { get bar(){return;} }", Some(serde_json::json!([{ "allowImplicit": true }]))),
("Object.defineProperty(foo, \"bar\", { get: function () {return true;}});", None),
("Object.defineProperty(foo, \"bar\", { get: function () { ~function (){ return true; }();return true;}});", None),
("Object.defineProperty(foo, \"bar\", { set: function () {}});", None),
("Object.defineProperty(foo, \"bar\", { set: () => {}});", None),
("Object.defineProperties(foo, { bar: { get: function () {return true;}} });", None),
("Object.defineProperties(foo, { bar: { get: function () { ~function (){ return true; }(); return true;}} });", None),
("Object.defineProperties(foo, { bar: { set: function () {}} });", None),
("Reflect.defineProperty(foo, \"bar\", { get: function () {return true;}});", None),
("Reflect.defineProperty(foo, \"bar\", { get: function () { ~function (){ return true; }();return true;}});", None),
("Object.create(foo, { bar: { get() {return true;} } });", None),
Expand Down

0 comments on commit 1190dee

Please sign in to comment.