From 5ff970054c330c26c7367ba8dde65aadb089f600 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Wed, 20 Aug 2025 10:55:12 +0300 Subject: [PATCH] Optimized canReorderItems --- src/rules/order-imports.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/rules/order-imports.ts b/src/rules/order-imports.ts index 8cd6f14..bcdfc67 100644 --- a/src/rules/order-imports.ts +++ b/src/rules/order-imports.ts @@ -191,10 +191,13 @@ function canCrossNodeWhileReorder(node: NodeOrToken): boolean { function canReorderItems(firstNode: NodeOrToken, secondNode: NodeOrToken): boolean { const parent = firstNode.parent; const firstIndex = parent.body.indexOf(firstNode); - const secondIndex = parent.body.indexOf(secondNode); - const nodesBetween = parent.body.slice(firstIndex, secondIndex + 1); - for (const nodeBetween of nodesBetween) { - if (!canCrossNodeWhileReorder(nodeBetween)) { + const secondIndex = parent.body.indexOf(secondNode, firstIndex); + if (firstIndex === -1 || secondIndex === -1) { + return false; + } + + for (let i = firstIndex; i <= secondIndex; i++) { + if (!canCrossNodeWhileReorder(parent.body[i])) { return false; } }