Skip to content

Commit 730e53e

Browse files
committed
small refactor to keep code smaller
1 parent 97f0958 commit 730e53e

3 files changed

Lines changed: 6 additions & 9 deletions

File tree

src/slang-nodes/MemberAccessExpression.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ function isEndOfChain(
1818
node: ChainableExpression,
1919
path: AstPath<Expression['variant']>
2020
): boolean {
21-
for (let i = 1, current = node; ; i++) {
22-
const parent = path.getNode(i)!;
21+
for (let i = 1, current = node, parent; ; i++, current = parent) {
22+
parent = path.getNode(i)!;
2323
if (!isChainableExpression(parent)) break;
2424

2525
switch (parent.kind) {
@@ -40,7 +40,6 @@ function isEndOfChain(
4040
if (current !== parent.operand) return true;
4141
break;
4242
}
43-
current = parent;
4443
}
4544
return true;
4645
}

src/slang-printers/print-binary-operation.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,12 @@ export const binaryIndentRulesBuilder =
4444
(shouldIndent: (node: BinaryOperation) => boolean) =>
4545
(node: BinaryOperation, path: AstPath<StrictAstNode>) =>
4646
(document: Doc): Doc => {
47-
for (let i = 1, current = node; ; i++) {
48-
const parent = path.getNode(i)!;
47+
for (let i = 1, current = node, parent; ; i++, current = parent) {
48+
parent = path.getNode(i)!;
4949
if (shouldNotIndent(parent, path, i)) break;
5050
if (!isBinaryOperation(parent)) return indent(document);
5151
if (shouldIndent(parent)) return indent(document);
5252
if (current === parent.rightOperand) break;
53-
current = parent;
5453
}
5554
return document;
5655
};

src/slang-printers/print-logical-operation.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ const logicalIndentRulesBuilder =
2525
options: ParserOptions<AstNode>
2626
) =>
2727
(document: Doc): Doc => {
28-
for (let i = 1, current = node; ; i++) {
29-
const parent = path.getNode(i)!;
28+
for (let i = 1, current = node, parent; ; i++, current = parent) {
29+
parent = path.getNode(i)!;
3030
if (shouldNotIndent(parent, path, i)) break;
3131
if (
3232
options.experimentalTernaries &&
@@ -36,7 +36,6 @@ const logicalIndentRulesBuilder =
3636
break;
3737
if (!isBinaryOperation(parent)) return indent(document);
3838
if (current === parent.rightOperand) break;
39-
current = parent;
4039
}
4140
return document;
4241
};

0 commit comments

Comments
 (0)