mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
fixed runtime errors
This commit is contained in:
Vendored
+4
-12
@@ -1454,7 +1454,6 @@ var Obfuscator = function () {
|
||||
_classCallCheck(this, Obfuscator);
|
||||
|
||||
this.customNodes = new Map();
|
||||
this.obfuscatorsCache = new Map();
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
@@ -1515,12 +1514,7 @@ var Obfuscator = function () {
|
||||
return;
|
||||
}
|
||||
nodeObfuscators.forEach(function (obfuscator) {
|
||||
var cachedObfuscator = _this2.obfuscatorsCache.get(obfuscator);
|
||||
if (!cachedObfuscator) {
|
||||
cachedObfuscator = new obfuscator(_this2.customNodes, _this2.options);
|
||||
_this2.obfuscatorsCache.set(obfuscator, cachedObfuscator);
|
||||
}
|
||||
cachedObfuscator.obfuscateNode(node, parentNode);
|
||||
new obfuscator(_this2.customNodes, _this2.options).obfuscateNode(node, parentNode);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
@@ -3204,10 +3198,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
|
||||
function MethodDefinitionObfuscator() {
|
||||
_classCallCheck(this, MethodDefinitionObfuscator);
|
||||
|
||||
var _this = _possibleConstructorReturn(this, (MethodDefinitionObfuscator.__proto__ || Object.getPrototypeOf(MethodDefinitionObfuscator)).apply(this, arguments));
|
||||
|
||||
_this.ignoredNames = ['constructor'];
|
||||
return _this;
|
||||
return _possibleConstructorReturn(this, (MethodDefinitionObfuscator.__proto__ || Object.getPrototypeOf(MethodDefinitionObfuscator)).apply(this, arguments));
|
||||
}
|
||||
|
||||
_createClass(MethodDefinitionObfuscator, [{
|
||||
@@ -3222,7 +3213,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
|
||||
|
||||
estraverse.replace(methodDefinitionNode.key, {
|
||||
enter: function enter(node) {
|
||||
if (Node_1.Node.isIdentifierNode(node) && !Utils_1.Utils.arrayContains(_this2.ignoredNames, node.name) && methodDefinitionNode.computed === false) {
|
||||
if (Node_1.Node.isIdentifierNode(node) && !Utils_1.Utils.arrayContains(MethodDefinitionObfuscator.ignoredNames, node.name) && methodDefinitionNode.computed === false) {
|
||||
methodDefinitionNode.computed = true;
|
||||
node.name = new StringLiteralReplacer_1.StringLiteralReplacer(_this2.nodes, _this2.options).replace(node.name);
|
||||
return;
|
||||
@@ -3236,6 +3227,7 @@ var MethodDefinitionObfuscator = function (_AbstractNodeObfuscat) {
|
||||
return MethodDefinitionObfuscator;
|
||||
}(AbstractNodeObfuscator_1.AbstractNodeObfuscator);
|
||||
|
||||
MethodDefinitionObfuscator.ignoredNames = ['constructor'];
|
||||
exports.MethodDefinitionObfuscator = MethodDefinitionObfuscator;
|
||||
|
||||
/***/ },
|
||||
|
||||
+1
-14
@@ -5,7 +5,6 @@ import { TNodeGroup } from './types/TNodeGroup';
|
||||
import { TNodeObfuscator } from './types/TNodeObfuscator';
|
||||
|
||||
import { ICustomNode } from './interfaces/custom-nodes/ICustomNode';
|
||||
import { INodeObfuscator } from './interfaces/INodeObfuscator';
|
||||
import { IObfuscator } from './interfaces/IObfuscator';
|
||||
import { IOptions } from './interfaces/IOptions';
|
||||
import { IStackTraceData } from './interfaces/stack-trace-analyzer/IStackTraceData';
|
||||
@@ -66,11 +65,6 @@ export class Obfuscator implements IObfuscator {
|
||||
*/
|
||||
private customNodes: Map <string, ICustomNode> = new Map <string, ICustomNode> ();
|
||||
|
||||
/**
|
||||
* @type {Map<TNodeObfuscator, INodeObfuscator>}
|
||||
*/
|
||||
private obfuscatorsCache: Map <TNodeObfuscator, INodeObfuscator> = new Map <TNodeObfuscator, INodeObfuscator> ();
|
||||
|
||||
/**
|
||||
* @type {IOptions}
|
||||
*/
|
||||
@@ -161,14 +155,7 @@ export class Obfuscator implements IObfuscator {
|
||||
}
|
||||
|
||||
nodeObfuscators.forEach((obfuscator: TNodeObfuscator) => {
|
||||
let cachedObfuscator: INodeObfuscator|undefined = this.obfuscatorsCache.get(obfuscator);
|
||||
|
||||
if (!cachedObfuscator) {
|
||||
cachedObfuscator = new obfuscator(this.customNodes, this.options);
|
||||
this.obfuscatorsCache.set(obfuscator, cachedObfuscator);
|
||||
}
|
||||
|
||||
cachedObfuscator.obfuscateNode(node, parentNode);
|
||||
new obfuscator(this.customNodes, this.options).obfuscateNode(node, parentNode);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ export class MethodDefinitionObfuscator extends AbstractNodeObfuscator {
|
||||
/**
|
||||
* @type {string[]}
|
||||
*/
|
||||
private ignoredNames: string[] = ['constructor'];
|
||||
private static ignoredNames: string[] = ['constructor'];
|
||||
|
||||
/**
|
||||
* @param methodDefinitionNode
|
||||
@@ -35,7 +35,7 @@ export class MethodDefinitionObfuscator extends AbstractNodeObfuscator {
|
||||
enter: (node: ESTree.Node): any => {
|
||||
if (
|
||||
Node.isIdentifierNode(node) &&
|
||||
!Utils.arrayContains(this.ignoredNames, node.name) &&
|
||||
!Utils.arrayContains(MethodDefinitionObfuscator.ignoredNames, node.name) &&
|
||||
methodDefinitionNode.computed === false
|
||||
) {
|
||||
methodDefinitionNode.computed = true;
|
||||
|
||||
Reference in New Issue
Block a user