Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var NoControlRegexRule = rule.Rule{ Name: "no-control-regex", Run: func(ctx rule.RuleContext, options any) rule.RuleListeners { report := func(node *ast.Node, controlChars []string) { ctx.ReportNode(node, rule.RuleMessage{ Id: "unexpected", Description: fmt.Sprintf("Unexpected control character(s) in regular expression: %s.", strings.Join(controlChars, ", ")), }) } return rule.RuleListeners{ ast.KindRegularExpressionLiteral: func(node *ast.Node) { pattern, flags := utils.ExtractRegexPatternAndFlags(node.Text()) if chars := collectControlChars(pattern, flags); len(chars) > 0 { report(node, chars) } }, ast.KindCallExpression: func(node *ast.Node) { callExpr := node.AsCallExpression() checkRegExpConstructor(callExpr.Expression, callExpr.Arguments, report) }, ast.KindNewExpression: func(node *ast.Node) { newExpr := node.AsNewExpression() checkRegExpConstructor(newExpr.Expression, newExpr.Arguments, report) }, } }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.