Skip to content

Commit 24686d0

Browse files
committed
refactor: reorder function definitions
1 parent ab41cfe commit 24686d0

File tree

1 file changed

+40
-39
lines changed

1 file changed

+40
-39
lines changed

src/index.mjs

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -10,45 +10,6 @@
1010
*/
1111
import { replace, Syntax as syntax } from 'estraverse';
1212

13-
function defaultOptions () {
14-
return {
15-
modules: [
16-
'assert',
17-
'assert/strict',
18-
'node:assert',
19-
'node:assert/strict'
20-
]
21-
};
22-
}
23-
24-
function isBodyOfIfStatement (parentNode, key) {
25-
return isIfStatement(parentNode) && (key === 'consequent' || key === 'alternate');
26-
}
27-
28-
function isNodeHavingNonBlockStatementAsBody (node) {
29-
if (!node) return false;
30-
switch (node.type) {
31-
case syntax.DoWhileStatement:
32-
case syntax.ForInStatement:
33-
case syntax.ForOfStatement:
34-
case syntax.ForStatement:
35-
case syntax.LabeledStatement:
36-
case syntax.WithStatement:
37-
case syntax.WhileStatement:
38-
return true;
39-
}
40-
return false;
41-
}
42-
43-
function isBodyOfIterationStatement (parentNode, key) {
44-
return isNodeHavingNonBlockStatementAsBody(parentNode) && key === 'body';
45-
}
46-
47-
function isNonBlockChildOfParentNode (currentNode, parentNode, key) {
48-
return isExpressionStatement(currentNode) && isCallExpression(currentNode.expression) &&
49-
(isBodyOfIfStatement(parentNode, key) || isBodyOfIterationStatement(parentNode, key));
50-
}
51-
5213
function isLiteral (node) {
5314
return node && node.type === syntax.Literal;
5415
}
@@ -74,6 +35,35 @@ function isImportDeclaration (node) {
7435
return node && node.type === syntax.ImportDeclaration;
7536
}
7637

38+
function isBodyOfNodeHavingNonBlockStatementAsBody (node, key) {
39+
if (!node) {
40+
return false;
41+
}
42+
if (key !== 'body') {
43+
return false;
44+
}
45+
switch (node.type) {
46+
case syntax.DoWhileStatement:
47+
case syntax.ForInStatement:
48+
case syntax.ForOfStatement:
49+
case syntax.ForStatement:
50+
case syntax.LabeledStatement:
51+
case syntax.WithStatement:
52+
case syntax.WhileStatement:
53+
return true;
54+
}
55+
return false;
56+
}
57+
58+
function isBodyOfIfStatement (node, key) {
59+
return isIfStatement(node) && (key === 'consequent' || key === 'alternate');
60+
}
61+
62+
function isNonBlockChildOfParentNode (currentNode, parentNode, key) {
63+
return isExpressionStatement(currentNode) && isCallExpression(currentNode.expression) &&
64+
(isBodyOfIfStatement(parentNode, key) || isBodyOfNodeHavingNonBlockStatementAsBody(parentNode, key));
65+
}
66+
7767
function createVisitor (options) {
7868
const config = Object.assign(defaultOptions(), options);
7969
const targetModules = new Set(config.modules);
@@ -277,6 +267,17 @@ function unassertAst (ast, options) {
277267
return replace(ast, createVisitor(options));
278268
}
279269

270+
function defaultOptions () {
271+
return {
272+
modules: [
273+
'assert',
274+
'assert/strict',
275+
'node:assert',
276+
'node:assert/strict'
277+
]
278+
};
279+
}
280+
280281
export {
281282
unassertAst,
282283
defaultOptions,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy