Skip to content

Commit

Permalink
refactor(oxc_linter): prefer pass Enum instead of str no_plus_plus (#…
Browse files Browse the repository at this point in the history
…5730)

1. remove redundant branch.
  • Loading branch information
IWANABETHATGUY authored Sep 12, 2024
1 parent 6436524 commit d8b612c
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions crates/oxc_linter/src/rules/eslint/no_plusplus.rs
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
use oxc_ast::AstKind;
use oxc_ast::{ast::UpdateOperator, AstKind};
use oxc_diagnostics::OxcDiagnostic;
use oxc_macros::declare_oxc_lint;
use oxc_span::Span;

use crate::{context::LintContext, rule::Rule, AstNode};

fn no_plusplus_diagnostic(span: Span, operator: &str) -> OxcDiagnostic {
let diagnostic =
OxcDiagnostic::warn(format!("Unary operator '{operator}' used.")).with_label(span);
fn no_plusplus_diagnostic(span: Span, operator: UpdateOperator) -> OxcDiagnostic {
let diagnostic = OxcDiagnostic::warn(format!(
"Unary operator '{operator}' used.",
operator = operator.as_str()
))
.with_label(span);

if operator == "++" {
return diagnostic.with_help("Use the assignment operator `+=` instead.");
} else if operator == "--" {
return diagnostic.with_help("Use the assignment operator `-=` instead.");
match operator {
UpdateOperator::Increment => {
diagnostic.with_help("Use the assignment operator `+=` instead.")
}
UpdateOperator::Decrement => {
diagnostic.with_help("Use the assignment operator `-=` instead.")
}
}

diagnostic
}

#[derive(Debug, Default, Clone)]
Expand Down Expand Up @@ -98,7 +102,7 @@ impl Rule for NoPlusplus {
return;
}

ctx.diagnostic(no_plusplus_diagnostic(expr.span, expr.operator.as_str()));
ctx.diagnostic(no_plusplus_diagnostic(expr.span, expr.operator));
}
}

Expand Down

0 comments on commit d8b612c

Please sign in to comment.