mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
refactoring
This commit is contained in:
@@ -45,7 +45,7 @@ export class CatchClauseObfuscator extends NodeObfuscator {
|
||||
private replaceCatchClauseParamInBlockStatement (catchClauseNode: ICatchClauseNode): void {
|
||||
estraverse.replace(catchClauseNode.body, {
|
||||
leave: (node: INode, parentNode: INode): any => {
|
||||
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.catchClauseParam);
|
||||
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.catchClauseParam);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ export class FunctionDeclarationObfuscator extends NodeObfuscator {
|
||||
|
||||
estraverse.replace(scopeNode, {
|
||||
enter: (node: INode, parentNode: INode): any => {
|
||||
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.functionName);
|
||||
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.functionName);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ export class FunctionObfuscator extends NodeObfuscator {
|
||||
private replaceFunctionParamsInBlockStatement (functionNode: IFunctionNode): void {
|
||||
estraverse.replace(functionNode.body, {
|
||||
leave: (node: INode, parentNode: INode): any => {
|
||||
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.functionParams);
|
||||
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.functionParams);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -56,7 +56,10 @@ export abstract class NodeObfuscator implements INodeObfuscator {
|
||||
* @param namesMap
|
||||
* @returns {estraverse.VisitorOption}
|
||||
*/
|
||||
protected replaceAndStoreIdentifiersNames (node: INode, namesMap: Map <string, string>): estraverse.VisitorOption {
|
||||
protected replaceAndStoreIdentifiersNames (
|
||||
node: INode,
|
||||
namesMap: Map <string, string>
|
||||
): estraverse.VisitorOption {
|
||||
if (Nodes.isIdentifierNode(node) && !this.isReservedName(node.name)) {
|
||||
namesMap.set(node.name, Utils.getRandomVariableName());
|
||||
node.name = namesMap.get(node.name);
|
||||
@@ -72,7 +75,11 @@ export abstract class NodeObfuscator implements INodeObfuscator {
|
||||
* @param parentNode
|
||||
* @param namesMap
|
||||
*/
|
||||
protected replaceNodeIdentifierWithNewValue (node: INode, parentNode: INode, namesMap: Map <string, string>): void {
|
||||
protected replaceIdentifiersWithValuesFromNamesMap (
|
||||
node: INode,
|
||||
parentNode: INode,
|
||||
namesMap: Map <string, string>
|
||||
): void {
|
||||
if (Nodes.isIdentifierNode(node) && namesMap.has(node.name)) {
|
||||
const parentNodeIsPropertyNode: boolean = (
|
||||
Nodes.isPropertyNode(parentNode) &&
|
||||
|
||||
@@ -72,7 +72,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
|
||||
if (Utils.arrayContains(functionNodes, node.type)) {
|
||||
estraverse.replace(node, {
|
||||
enter: (node: INode, parentNode: INode): any => {
|
||||
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.variableNames);
|
||||
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.variableNames);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -82,7 +82,7 @@ export class VariableDeclarationObfuscator extends NodeObfuscator {
|
||||
}
|
||||
|
||||
if (isNodeAfterVariableDeclaratorFlag) {
|
||||
this.replaceNodeIdentifierWithNewValue(node, parentNode, this.variableNames);
|
||||
this.replaceIdentifiersWithValuesFromNamesMap(node, parentNode, this.variableNames);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user