Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var JsxNoLeakedRenderRule = rule.Rule{ Name: "react/jsx-no-leaked-render", Run: func(ctx rule.RuleContext, raw any) rule.RuleListeners { opts := parseOptions(raw) var fixStrategy string if len(opts.validStrategies) > 0 { fixStrategy = opts.validStrategies[0] } coerceAllowed := hasStrategy(opts.validStrategies, strategyCoerce) ternaryAllowed := hasStrategy(opts.validStrategies, strategyTernary) isReact18Plus := !reactutil.ReactVersionLessThan(ctx.Settings, 18, 0, 0) return rule.RuleListeners{ ast.KindJsxExpression: func(node *ast.Node) { je := node.AsJsxExpression() if je == nil || je.DotDotDotToken != nil { return } expr := je.Expression if expr == nil { return } inner := ast.SkipParentheses(expr) if ast.IsBinaryExpression(inner) { bin := inner.AsBinaryExpression() if bin.OperatorToken != nil && bin.OperatorToken.Kind == ast.KindAmpersandAmpersandToken { handleLogicalAnd(ctx, node, inner, bin, opts, coerceAllowed, isReact18Plus, fixStrategy) return } } if ast.IsConditionalExpression(inner) { handleConditional(ctx, node, inner, opts, ternaryAllowed, fixStrategy) return } }, } }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.