mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
eslint-scope transformer
This commit is contained in:
+51
-1
@@ -123,6 +123,53 @@ export class NodeGuards {
|
||||
return node.type === NodeType.ExportNamedDeclaration;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Identifier} identifierNode
|
||||
* @param {Node} parentNode
|
||||
* @returns {identifierNode is Identifier}
|
||||
*/
|
||||
public static isExportNamedClassDeclarationIdentifierNode (
|
||||
identifierNode: ESTree.Identifier,
|
||||
parentNode: ESTree.Node
|
||||
): identifierNode is ESTree.Identifier {
|
||||
return NodeGuards.isClassDeclarationNode(parentNode)
|
||||
&& parentNode.id === identifierNode
|
||||
&& !!parentNode.parentNode
|
||||
&& NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Identifier} identifierNode
|
||||
* @param {Node} parentNode
|
||||
* @returns {identifierNode is Identifier}
|
||||
*/
|
||||
public static isExportNamedFunctionDeclarationIdentifierNode (
|
||||
identifierNode: ESTree.Identifier,
|
||||
parentNode: ESTree.Node
|
||||
): identifierNode is ESTree.Identifier {
|
||||
return NodeGuards.isFunctionDeclarationNode(parentNode)
|
||||
&& parentNode.id === identifierNode
|
||||
&& !!parentNode.parentNode
|
||||
&& NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Identifier} identifierNode
|
||||
* @param {Node} parentNode
|
||||
* @returns {identifierNode is Identifier}
|
||||
*/
|
||||
public static isExportNamedVariableDeclarationIdentifierNode (
|
||||
identifierNode: ESTree.Identifier,
|
||||
parentNode: ESTree.Node
|
||||
): identifierNode is ESTree.Identifier {
|
||||
return NodeGuards.isVariableDeclaratorNode(parentNode)
|
||||
&& parentNode.id === identifierNode
|
||||
&& !!parentNode.parentNode
|
||||
&& NodeGuards.isVariableDeclarationNode(parentNode.parentNode)
|
||||
&& !!parentNode.parentNode.parentNode
|
||||
&& NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode.parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Node} node
|
||||
* @returns {boolean}
|
||||
@@ -404,7 +451,10 @@ export class NodeGuards {
|
||||
&& !NodeGuards.parentNodeIsPropertyNode(node, parentNode)
|
||||
&& !NodeGuards.parentNodeIsMemberExpressionNode(node, parentNode)
|
||||
&& !NodeGuards.parentNodeIsMethodDefinitionNode(node, parentNode)
|
||||
&& !NodeGuards.isLabelIdentifierNode(node, parentNode);
|
||||
&& !NodeGuards.isLabelIdentifierNode(node, parentNode)
|
||||
&& !NodeGuards.isExportNamedClassDeclarationIdentifierNode(node, parentNode)
|
||||
&& !NodeGuards.isExportNamedFunctionDeclarationIdentifierNode(node, parentNode)
|
||||
&& !NodeGuards.isExportNamedVariableDeclarationIdentifierNode(node, parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user