Przeglądaj źródła

optimization of loop

sanex3339 8 lat temu
rodzic
commit
ade8003ce1
2 zmienionych plików z 20 dodań i 6 usunięć
  1. 11 3
      dist/index.js
  2. 9 3
      src/stack-trace-analyzer/StackTraceAnalyzer.ts

+ 11 - 3
dist/index.js

@@ -3567,9 +3567,11 @@ var StackTraceAnalyzer = function () {
 
             var limitIndex = StackTraceAnalyzer.getLimitIndex(blockScopeBody.length);
             var stackTraceData = [];
-            blockScopeBody.forEach(function (rootNode, index) {
+
+            var _loop = function _loop(index, blockScopeBodyLength) {
+                var rootNode = blockScopeBody[index];
                 if (index > limitIndex) {
-                    return;
+                    return 'break';
                 }
                 estraverse.traverse(rootNode, {
                     enter: function enter(node) {
@@ -3587,7 +3589,13 @@ var StackTraceAnalyzer = function () {
                         });
                     }
                 });
-            });
+            };
+
+            for (var index = 0, blockScopeBodyLength = blockScopeBody.length; index < blockScopeBodyLength; index++) {
+                var _ret = _loop(index, blockScopeBodyLength);
+
+                if (_ret === 'break') break;
+            }
             return stackTraceData;
         }
     }], [{

+ 9 - 3
src/stack-trace-analyzer/StackTraceAnalyzer.ts

@@ -117,9 +117,15 @@ export class StackTraceAnalyzer implements IStackTraceAnalyzer {
         const limitIndex: number = StackTraceAnalyzer.getLimitIndex(blockScopeBody.length);
         const stackTraceData: IStackTraceData[] = [];
 
-        blockScopeBody.forEach((rootNode: ESTree.Node, index: number) => {
+        for (
+            let index: number = 0, blockScopeBodyLength: number = blockScopeBody.length;
+            index < blockScopeBodyLength;
+            index++
+        ) {
+            let rootNode: ESTree.Node = blockScopeBody[index];
+
             if (index > limitIndex) {
-                return;
+                break;
             }
 
             estraverse.traverse(rootNode, {
@@ -144,7 +150,7 @@ export class StackTraceAnalyzer implements IStackTraceAnalyzer {
                     });
                 }
             });
-        });
+        }
 
         return stackTraceData;
     }