eslint-plugin-early-return
Advanced tools
Comparing version 0.0.3 to 0.0.4
import { ESLintUtils, AST_NODE_TYPES } from '@typescript-eslint/utils'; | ||
var version = "0.0.3"; | ||
var version = "0.0.4"; | ||
@@ -8,2 +8,8 @@ const createRule = ESLintUtils.RuleCreator((name)=>`https://github.com/hyoban/eslint-plugin-early-return/blob/main/src/rules/${name}.`); | ||
// eslint-disable-next-line unused-imports/no-unused-imports | ||
function getIndentation(node) { | ||
return ' '.repeat(node.loc.start.column); | ||
} | ||
function isNodeNeedEarlyReturn(node) { | ||
return node.type === AST_NODE_TYPES.ReturnStatement || node.type === AST_NODE_TYPES.ThrowStatement || node.type === AST_NODE_TYPES.ContinueStatement; | ||
} | ||
const rule = createRule({ | ||
@@ -29,3 +35,3 @@ name: 'prefer-early-return', | ||
} | ||
if (node.alternate.type === AST_NODE_TYPES.ReturnStatement || node.alternate.type === AST_NODE_TYPES.ThrowStatement || node.alternate.type === AST_NODE_TYPES.BlockStatement && node.alternate.body.some((statement)=>statement.type === AST_NODE_TYPES.ReturnStatement || statement.type === AST_NODE_TYPES.ThrowStatement)) { | ||
if (isNodeNeedEarlyReturn(node.alternate) || node.alternate.type === AST_NODE_TYPES.BlockStatement && node.alternate.body.some((statement)=>isNodeNeedEarlyReturn(statement))) { | ||
context.report({ | ||
@@ -37,3 +43,3 @@ node: node.alternate, | ||
let ifText = context.sourceCode.getText(node.consequent); | ||
ifText = ifText.startsWith('{') && ifText.endsWith('}') ? ifText.replace(/^{/, '').replace(/}$/, '').replaceAll('\n ', '\n').slice(1, -1) : ` ${ifText}`; | ||
ifText = ifText.startsWith('{') && ifText.endsWith('}') ? ifText.replace(/^{/, '').replace(/}$/, '').replaceAll('\n ', '\n').slice(1, -1) : `${getIndentation(node)}${ifText}`; | ||
const elseText = context.sourceCode.getText(node.alternate); | ||
@@ -40,0 +46,0 @@ return [ |
{ | ||
"name": "eslint-plugin-early-return", | ||
"type": "module", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"packageManager": "pnpm@8.15.3", | ||
@@ -6,0 +6,0 @@ "description": "Prefer early return pattern to clean if else statement", |
Sorry, the diff of this file is not supported yet
9745
132