UNPKG

@blitz/eslint-plugin

Version:

An ESLint config to enforce a consistent code styles across StackBlitz projects

67 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultOptions = exports.messageId = exports.ruleName = void 0; const util_1 = require("../util"); exports.ruleName = 'catch-error-name'; exports.messageId = 'default'; exports.defaultOptions = [ { name: 'error', ignore: [], }, ]; exports.default = (0, util_1.createRule)({ name: exports.ruleName, meta: { type: 'suggestion', docs: { description: 'Enforce a specific parameter name in catch clauses', }, fixable: 'code', schema: [ { type: 'object', properties: { name: { type: 'string', }, ignore: { type: 'array', uniqueItems: true, }, }, }, ], messages: { default: 'The catch parameter `{{originalName}}` should be named `{{fixedName}}`.', }, }, defaultOptions: exports.defaultOptions, create: (context, [options]) => { return { CatchClause: (node) => { const expectedName = options.name; if (node.param && node.param.type === 'Identifier') { const { name: originalName } = node.param; if (originalName !== expectedName && !options.ignore.some((ignored) => originalName === ignored)) { context.report({ node, messageId: 'default', data: { originalName, fixedName: expectedName, }, fix: (fixer) => { if (node.param) { return fixer.replaceText(node.param, 'error'); } return null; }, }); } } }, }; }, }); //# sourceMappingURL=catch-error-name.js.map