| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 'use strict';const {methodCallSelector} = require('./selectors/index.js');const MESSAGE_ID = 'prefer-string-trim-start-end';const messages = {	[MESSAGE_ID]: 'Prefer `String#{{replacement}}()` over `String#{{method}}()`.',};const selector = [	methodCallSelector({		methods: ['trimLeft', 'trimRight'],		argumentsLength: 0,		includeOptionalMember: true,	}),	' > .callee',	' > .property',].join(' ');/** @param {import('eslint').Rule.RuleContext} context */const create = () => ({	[selector](node) {		const method = node.name;		const replacement = method === 'trimLeft' ? 'trimStart' : 'trimEnd';		return {			node,			messageId: MESSAGE_ID,			data: {method, replacement},			fix: fixer => fixer.replaceText(node, replacement),		};	},});/** @type {import('eslint').Rule.RuleModule} */module.exports = {	create,	meta: {		type: 'suggestion',		docs: {			description: 'Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.',		},		fixable: 'code',		messages,	},};
 |