prefer_strict_equal

package
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PreferStrictEqualRule = rule.Rule{
	Name: "jest/prefer-strict-equal",
	Run: func(ctx rule.RuleContext, options any) rule.RuleListeners {
		return rule.RuleListeners{
			ast.KindCallExpression: func(node *ast.Node) {
				jestFnCall := utils.ParseJestFnCall(node, ctx)
				if jestFnCall == nil || jestFnCall.Kind != utils.JestFnTypeExpect {
					return
				}

				MemberEntries := jestFnCall.MemberEntries
				if len(MemberEntries) == 0 {
					return
				}

				for _, memberEntry := range MemberEntries {
					kind := memberEntry.Node.Kind
					if kind != ast.KindIdentifier && kind != ast.KindStringLiteral && kind != ast.KindNoSubstitutionTemplateLiteral {
						continue
					}

					if memberEntry.Name != "toEqual" {
						continue
					}

					ctx.ReportNodeWithSuggestions(
						memberEntry.Node,
						buildUseToStrictEqualErrorMessage(),
						rule.RuleSuggestion{
							Message: buildSuggestReplaceWithStrictEqualErrorMessage(),
							FixesArr: []rule.RuleFix{
								{
									Range: core.NewTextRange(memberEntry.Node.Pos(), memberEntry.Node.End()),
									Text: func() string {
										if memberEntry.Node.Kind == ast.KindStringLiteral {
											return "'toStrictEqual'"
										}
										if memberEntry.Node.Kind == ast.KindNoSubstitutionTemplateLiteral {
											return "`toStrictEqual`"
										}
										return "toStrictEqual"
									}(),
								},
							},
						},
					)
				}
			},
		}
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL