ソースを参照

Refactoring of Obfuscator class

sanex3339 7 年 前
コミット
0ad3e603fc
3 ファイル変更6 行追加14 行削除
  1. 0 0
      dist/index.js
  2. 1 1
      package.json
  3. 5 13
      src/Obfuscator.ts

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/index.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "javascript-obfuscator",
-  "version": "0.11.0-beta.2",
+  "version": "0.11.0",
   "description": "JavaScript obfuscator",
   "keywords": [
     "obfuscator",

+ 5 - 13
src/Obfuscator.ts

@@ -135,12 +135,8 @@ export class Obfuscator implements IObfuscator {
     private static isBlackListNode (node: ESTree.Node): boolean {
         const guardsLength: number = Obfuscator.blackListGuards.length;
 
-        let guard: TNodeGuard;
-
         for (let i: number = 0; i < guardsLength; i++) {
-            guard = Obfuscator.blackListGuards[i];
-
-            if (guard(node)) {
+            if (Obfuscator.blackListGuards[i](node)) {
                 return true;
             }
         }
@@ -245,13 +241,11 @@ export class Obfuscator implements IObfuscator {
      * @returns {TVisitorFunction}
      */
     private mergeVisitorsForDirection (visitors: IVisitor[], direction: TVisitorDirection): TVisitorFunction {
-        if (!visitors.length) {
-            return (node: ESTree.Node, parentNode: ESTree.Node) => node;
-        }
-
         const visitorsLength: number = visitors.length;
 
-        let visitor: IVisitor;
+        if (!visitorsLength) {
+            return (node: ESTree.Node, parentNode: ESTree.Node) => node;
+        }
 
         return (node: ESTree.Node, parentNode: ESTree.Node) => {
             if (Obfuscator.isBlackListNode(node)) {
@@ -259,9 +253,7 @@ export class Obfuscator implements IObfuscator {
             }
 
             for (let i: number = 0; i < visitorsLength; i++) {
-                visitor = visitors[i];
-
-                const visitorFunction: TVisitorFunction | undefined = visitor[direction];
+                const visitorFunction: TVisitorFunction | undefined = visitors[i][direction];
 
                 if (!visitorFunction) {
                     continue;

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません