瀏覽代碼

Folder structure and class name changes

sanex3339 8 年之前
父節點
當前提交
b6bfb02d84
共有 61 個文件被更改,包括 480 次插入403 次删除
  1. 221 195
      dist/index.js
  2. 3 3
      src/Obfuscator.ts
  3. 2 0
      src/container/ServiceIdentifiers.ts
  4. 2 2
      src/container/modules/custom-nodes/CustomNodesModule.ts
  5. 1 1
      src/container/modules/node-transformers/ControlFlowTransformersModule.ts
  6. 1 1
      src/container/modules/node-transformers/NodeTransformersModule.ts
  7. 45 19
      src/container/modules/node-transformers/ObfuscatingTransformersModule.ts
  8. 1 1
      src/container/modules/stack-trace-analyzer/StackTraceAnalyzerModule.ts
  9. 1 1
      src/custom-nodes/AbstractCustomNodeGroup.ts
  10. 3 3
      src/custom-nodes/console-output-nodes/group/ConsoleOutputCustomNodeGroup.ts
  11. 3 3
      src/custom-nodes/debug-protection-nodes/group/DebugProtectionCustomNodeGroup.ts
  12. 3 3
      src/custom-nodes/domain-lock-nodes/group/DomainLockCustomNodeGroup.ts
  13. 1 1
      src/custom-nodes/node-calls-controller-nodes/NodeCallsControllerFunctionNode.ts
  14. 3 3
      src/custom-nodes/self-defending-nodes/group/SelfDefendingCustomNodeGroup.ts
  15. 3 3
      src/custom-nodes/string-array-nodes/group/StringArrayCustomNodeGroup.ts
  16. 0 6
      src/enums/container/ObfuscatingReplacers.ts
  17. 0 0
      src/enums/container/custom-nodes/CustomNodeGroups.ts
  18. 0 0
      src/enums/container/custom-nodes/CustomNodes.ts
  19. 0 0
      src/enums/container/node-transformers/ControlFlowReplacers.ts
  20. 3 0
      src/enums/container/node-transformers/IdentifierObfuscatingReplacers.ts
  21. 5 0
      src/enums/container/node-transformers/LiteralObfuscatingReplacers.ts
  22. 0 0
      src/enums/container/node-transformers/NodeTransformers.ts
  23. 0 0
      src/enums/container/stack-trace-analyzer/CalleeDataExtractors.ts
  24. 1 1
      src/enums/event-emitters/ObfuscationEvents.ts
  25. 1 1
      src/interfaces/custom-nodes/ICustomNodeGroup.d.ts
  26. 1 1
      src/interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer.d.ts
  27. 2 2
      src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts
  28. 5 5
      src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts
  29. 1 1
      src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts
  30. 2 2
      src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts
  31. 2 2
      src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts
  32. 2 2
      src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts
  33. 2 2
      src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts
  34. 2 2
      src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts
  35. 13 10
      src/node-transformers/obfuscating-transformers/CatchClauseTransformer.ts
  36. 14 11
      src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts
  37. 14 11
      src/node-transformers/obfuscating-transformers/FunctionTransformer.ts
  38. 13 10
      src/node-transformers/obfuscating-transformers/LabeledStatementTransformer.ts
  39. 11 10
      src/node-transformers/obfuscating-transformers/LiteralTransformer.ts
  40. 14 11
      src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts
  41. 7 7
      src/node-transformers/obfuscating-transformers/obfuscating-replacers/identifier-obfuscating-replacers/IdentifierObfuscatingReplacer.ts
  42. 8 8
      src/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/BooleanLiteralObfuscatingReplacer.ts
  43. 6 6
      src/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/NumberLiteralObfuscatingReplacer.ts
  44. 15 15
      src/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/StringLiteralObfuscatingReplacer.ts
  45. 2 2
      src/stack-trace-analyzer/StackTraceAnalyzer.ts
  46. 2 2
      src/storages/custom-node-group/CustomNodeGroupStorage.ts
  47. 0 5
      src/types/container/TCalleeDataExtractorFactory.d.ts
  48. 0 5
      src/types/container/TControlFlowReplacerFactory.d.ts
  49. 0 4
      src/types/container/TControlFlowStorageFactory.d.ts
  50. 0 5
      src/types/container/TCustomNodeFactory.d.ts
  51. 0 5
      src/types/container/TCustomNodeGroupFactory.d.ts
  52. 0 5
      src/types/container/TNodeTransformerFactory.d.ts
  53. 0 5
      src/types/container/TObfuscatingReplacerFactory.d.ts
  54. 5 0
      src/types/container/custom-nodes/TCustomNodeFactory.d.ts
  55. 5 0
      src/types/container/custom-nodes/TCustomNodeGroupFactory.d.ts
  56. 5 0
      src/types/container/node-transformers/TControlFlowReplacerFactory.d.ts
  57. 4 0
      src/types/container/node-transformers/TControlFlowStorageFactory.d.ts
  58. 5 0
      src/types/container/node-transformers/TIdentifierObfuscatingReplacerFactory.d.ts
  59. 5 0
      src/types/container/node-transformers/TLiteralObfuscatingReplacerFactory.d.ts
  60. 5 0
      src/types/container/node-transformers/TNodeTransformerFactory.d.ts
  61. 5 0
      src/types/container/stack-trace-analyzer/TCalleeDataExtractorFactory.d.ts

文件差異過大導致無法顯示
+ 221 - 195
dist/index.js


+ 3 - 3
src/Obfuscator.ts

@@ -4,7 +4,7 @@ import { ServiceIdentifiers } from './container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
-import { TNodeTransformerFactory } from './types/container/TNodeTransformerFactory';
+import { TNodeTransformerFactory } from './types/container/node-transformers/TNodeTransformerFactory';
 import { TVisitorDirection } from './types/TVisitorDirection';
 import { TVisitorFunction } from './types/TVisitorFunction';
 
@@ -17,8 +17,8 @@ import { IStackTraceData } from './interfaces/stack-trace-analyzer/IStackTraceDa
 import { IStorage } from './interfaces/storages/IStorage';
 import { IVisitor } from './interfaces/IVisitor';
 
-import { NodeTransformers } from './enums/container/NodeTransformers';
-import { ObfuscationEvents } from './enums/ObfuscationEvents';
+import { NodeTransformers } from './enums/container/node-transformers/NodeTransformers';
+import { ObfuscationEvents } from './enums/event-emitters/ObfuscationEvents';
 import { VisitorDirection } from './enums/VisitorDirection';
 
 import { Node } from './node/Node';

+ 2 - 0
src/container/ServiceIdentifiers.ts

@@ -3,6 +3,7 @@ export const ServiceIdentifiers: any = {
     Factory__IControlFlowReplacer: Symbol('Factory<IControlFlowReplacer>'),
     Factory__ICustomNode: Symbol('Factory<ICustomNode>'),
     Factory__ICustomNodeGroup: Symbol('Factory<ICustomNodeGroup>'),
+    Factory__IIdentifierObfuscatingReplacer: Symbol('Factory<IIdentifierObfuscatingReplacer>'),
     Factory__INodeTransformer: Symbol('Factory<INodeTransformer[]>'),
     Factory__IObfuscationResult: Symbol('Factory<IObfuscationResult>'),
     Factory__IObfuscatingReplacer: Symbol('Factory<IObfuscatingReplacer>'),
@@ -11,6 +12,7 @@ export const ServiceIdentifiers: any = {
     ICustomNodeGroup: Symbol('ICustomNodeGroup'),
     IControlFlowReplacer: Symbol('IControlFlowReplacer'),
     IDeadCodeInjectionReplacer: Symbol('IDeadCodeInjectionReplacer'),
+    IIdentifierObfuscatingReplacer: Symbol('IIdentifierObfuscatingReplacer'),
     IJavaScriptObfuscator: Symbol('IJavaScriptObfuscator'),
     INodeTransformer: Symbol('INodeTransformer'),
     IObfuscationEventEmitter: Symbol('IObfuscationEventEmitter'),

+ 2 - 2
src/container/modules/custom-nodes/CustomNodesModule.ts

@@ -5,8 +5,8 @@ import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
 import { ICustomNodeGroup } from '../../../interfaces/custom-nodes/ICustomNodeGroup';
 import { IOptions } from '../../../interfaces/options/IOptions';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
-import { CustomNodeGroups } from '../../../enums/container/CustomNodeGroups';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+import { CustomNodeGroups } from '../../../enums/container/custom-nodes/CustomNodeGroups';
 
 import { ConsoleOutputCustomNodeGroup } from '../../../custom-nodes/console-output-nodes/group/ConsoleOutputCustomNodeGroup';
 import { DebugProtectionCustomNodeGroup } from '../../../custom-nodes/debug-protection-nodes/group/DebugProtectionCustomNodeGroup';

+ 1 - 1
src/container/modules/node-transformers/ControlFlowTransformersModule.ts

@@ -3,7 +3,7 @@ import { ServiceIdentifiers } from '../../ServiceIdentifiers';
 
 import { IControlFlowReplacer } from '../../../interfaces/node-transformers/control-flow-transformers/IControlFlowReplacer';
 
-import { ControlFlowReplacers } from '../../../enums/container/ControlFlowReplacers';
+import { ControlFlowReplacers } from '../../../enums/container/node-transformers/ControlFlowReplacers';
 
 import { BinaryExpressionControlFlowReplacer } from '../../../node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer';
 import { CallExpressionControlFlowReplacer } from '../../../node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer';

+ 1 - 1
src/container/modules/node-transformers/NodeTransformersModule.ts

@@ -3,7 +3,7 @@ import { ServiceIdentifiers } from '../../ServiceIdentifiers';
 
 import { INodeTransformer } from '../../../interfaces/node-transformers/INodeTransformer';
 
-import { NodeTransformers } from '../../../enums/container/NodeTransformers';
+import { NodeTransformers } from '../../../enums/container/node-transformers/NodeTransformers';
 
 import { FunctionControlFlowTransformer } from '../../../node-transformers/control-flow-transformers/FunctionControlFlowTransformer';
 

+ 45 - 19
src/container/modules/node-transformers/ObfuscatingTransformersModule.ts

@@ -1,49 +1,75 @@
 import { ContainerModule, interfaces } from 'inversify';
 import { ServiceIdentifiers } from '../../ServiceIdentifiers';
 
+import { IIdentifierObfuscatingReplacer } from '../../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IObfuscatingReplacer } from '../../../interfaces/node-transformers/obfuscating-transformers/IObfuscatingReplacer';
 
-import { ObfuscatingReplacers } from '../../../enums/container/ObfuscatingReplacers';
+import { IdentifierObfuscatingReplacers } from '../../../enums/container/node-transformers/IdentifierObfuscatingReplacers';
+import { LiteralObfuscatingReplacers } from '../../../enums/container/node-transformers/LiteralObfuscatingReplacers';
 
-import { BooleanLiteralReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/BooleanLiteralReplacer';
-import { IdentifierReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/IdentifierReplacer';
-import { NumberLiteralReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/NumberLiteralReplacer';
-import { StringLiteralReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/StringLiteralReplacer';
+import { BooleanLiteralObfuscatingReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/BooleanLiteralObfuscatingReplacer';
+import { IdentifierObfuscatingReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/identifier-obfuscating-replacers/IdentifierObfuscatingReplacer';
+import { NumberLiteralObfuscatingReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/NumberLiteralObfuscatingReplacer';
+import { StringLiteralObfuscatingReplacer } from '../../../node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/StringLiteralObfuscatingReplacer';
 
 export const obfuscatingTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
+    // literal obfuscating replacers
     bind<IObfuscatingReplacer>(ServiceIdentifiers.IObfuscatingReplacer)
-        .to(BooleanLiteralReplacer)
-        .whenTargetNamed(ObfuscatingReplacers.BooleanReplacer);
+        .to(BooleanLiteralObfuscatingReplacer)
+        .whenTargetNamed(LiteralObfuscatingReplacers.BooleanLiteralObfuscatingReplacer);
 
     bind<IObfuscatingReplacer>(ServiceIdentifiers.IObfuscatingReplacer)
-        .to(IdentifierReplacer)
-        .whenTargetNamed(ObfuscatingReplacers.IdentifierReplacer);
+        .to(NumberLiteralObfuscatingReplacer)
+        .whenTargetNamed(LiteralObfuscatingReplacers.NumberLiteralObfuscatingReplacer);
 
     bind<IObfuscatingReplacer>(ServiceIdentifiers.IObfuscatingReplacer)
-        .to(NumberLiteralReplacer)
-        .whenTargetNamed(ObfuscatingReplacers.NumberLiteralReplacer);
+        .to(StringLiteralObfuscatingReplacer)
+        .whenTargetNamed(LiteralObfuscatingReplacers.StringLiteralObfuscatingReplacer);
 
-    bind<IObfuscatingReplacer>(ServiceIdentifiers.IObfuscatingReplacer)
-        .to(StringLiteralReplacer)
-        .whenTargetNamed(ObfuscatingReplacers.StringLiteralReplacer);
+    // identifier obfuscating replacers
+    bind<IIdentifierObfuscatingReplacer>(ServiceIdentifiers.IIdentifierObfuscatingReplacer)
+        .to(IdentifierObfuscatingReplacer)
+        .whenTargetNamed(IdentifierObfuscatingReplacers.IdentifierObfuscatingReplacer);
 
+    // literal obfuscating replacer factory
     bind<IObfuscatingReplacer>(ServiceIdentifiers.Factory__IObfuscatingReplacer)
         .toFactory<IObfuscatingReplacer>((context: interfaces.Context) => {
-            const cache: Map <ObfuscatingReplacers, IObfuscatingReplacer> = new Map();
+            const cache: Map <LiteralObfuscatingReplacers, IObfuscatingReplacer> = new Map();
 
-            return (replacerName: ObfuscatingReplacers) => {
+            return (replacerName: LiteralObfuscatingReplacers) => {
                 if (cache.has(replacerName)) {
                     return <IObfuscatingReplacer>cache.get(replacerName);
                 }
 
-                const obfuscationReplacer: IObfuscatingReplacer = context.container.getNamed<IObfuscatingReplacer>(
+                const replacer: IObfuscatingReplacer = context.container.getNamed<IObfuscatingReplacer>(
                     ServiceIdentifiers.IObfuscatingReplacer,
                     replacerName
                 );
 
-                cache.set(replacerName, obfuscationReplacer);
+                cache.set(replacerName, replacer);
+
+                return replacer;
+            };
+        });
+
+    // identifier obfuscating replacer factory
+    bind<IIdentifierObfuscatingReplacer>(ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)
+        .toFactory<IIdentifierObfuscatingReplacer>((context: interfaces.Context) => {
+            const cache: Map <IdentifierObfuscatingReplacers, IIdentifierObfuscatingReplacer> = new Map();
+
+            return (replacerName: IdentifierObfuscatingReplacers) => {
+                if (cache.has(replacerName)) {
+                    return <IIdentifierObfuscatingReplacer>cache.get(replacerName);
+                }
+
+                const replacer: IIdentifierObfuscatingReplacer = context.container.getNamed<IIdentifierObfuscatingReplacer>(
+                    ServiceIdentifiers.IIdentifierObfuscatingReplacer,
+                    replacerName
+                );
+
+                cache.set(replacerName, replacer);
 
-                return obfuscationReplacer;
+                return replacer;
             };
         });
 });

+ 1 - 1
src/container/modules/stack-trace-analyzer/StackTraceAnalyzerModule.ts

@@ -4,7 +4,7 @@ import { ServiceIdentifiers } from '../../ServiceIdentifiers';
 import { ICalleeDataExtractor } from '../../../interfaces/stack-trace-analyzer/ICalleeDataExtractor';
 import { IStackTraceAnalyzer } from '../../../interfaces/stack-trace-analyzer/IStackTraceAnalyzer';
 
-import { CalleeDataExtractors } from '../../../enums/container/CalleeDataExtractors';
+import { CalleeDataExtractors } from '../../../enums/container/stack-trace-analyzer/CalleeDataExtractors';
 import { FunctionDeclarationCalleeDataExtractor } from '../../../stack-trace-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor';
 import { FunctionExpressionCalleeDataExtractor } from '../../../stack-trace-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor';
 import { ObjectExpressionCalleeDataExtractor } from '../../../stack-trace-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor';

+ 1 - 1
src/custom-nodes/AbstractCustomNodeGroup.ts

@@ -9,7 +9,7 @@ import { ICustomNodeGroup } from '../interfaces/custom-nodes/ICustomNodeGroup';
 import { IOptions } from '../interfaces/options/IOptions';
 import { IStackTraceData } from '../interfaces/stack-trace-analyzer/IStackTraceData';
 
-import { CustomNodes } from '../enums/container/CustomNodes';
+import { CustomNodes } from '../enums/container/custom-nodes/CustomNodes';
 
 @injectable()
 export abstract class AbstractCustomNodeGroup implements ICustomNodeGroup {

+ 3 - 3
src/custom-nodes/console-output-nodes/group/ConsoleOutputCustomNodeGroup.ts

@@ -1,7 +1,7 @@
 import { injectable, inject } from 'inversify';
 import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TNodeWithBlockStatement } from '../../../types/node/TNodeWithBlockStatement';
 import { TObfuscationEvent } from '../../../types/event-emitters/TObfuscationEvent';
 
@@ -12,8 +12,8 @@ import { IStackTraceData } from '../../../interfaces/stack-trace-analyzer/IStack
 
 import { initializable } from '../../../decorators/Initializable';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
-import { ObfuscationEvents } from '../../../enums/ObfuscationEvents';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+import { ObfuscationEvents } from '../../../enums/event-emitters/ObfuscationEvents';
 
 import { AbstractCustomNodeGroup } from '../../AbstractCustomNodeGroup';
 import { NodeAppender } from '../../../node/NodeAppender';

+ 3 - 3
src/custom-nodes/debug-protection-nodes/group/DebugProtectionCustomNodeGroup.ts

@@ -1,7 +1,7 @@
 import { injectable, inject } from 'inversify';
 import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TNodeWithBlockStatement } from '../../../types/node/TNodeWithBlockStatement';
 import { TObfuscationEvent } from '../../../types/event-emitters/TObfuscationEvent';
 
@@ -12,8 +12,8 @@ import { IStackTraceData } from '../../../interfaces/stack-trace-analyzer/IStack
 
 import { initializable } from '../../../decorators/Initializable';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
-import { ObfuscationEvents } from '../../../enums/ObfuscationEvents';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+import { ObfuscationEvents } from '../../../enums/event-emitters/ObfuscationEvents';
 
 import { AbstractCustomNodeGroup } from '../../AbstractCustomNodeGroup';
 import { NodeAppender } from '../../../node/NodeAppender';

+ 3 - 3
src/custom-nodes/domain-lock-nodes/group/DomainLockCustomNodeGroup.ts

@@ -1,7 +1,7 @@
 import { injectable, inject } from 'inversify';
 import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TNodeWithBlockStatement } from '../../../types/node/TNodeWithBlockStatement';
 import { TObfuscationEvent } from '../../../types/event-emitters/TObfuscationEvent';
 
@@ -12,8 +12,8 @@ import { IStackTraceData } from '../../../interfaces/stack-trace-analyzer/IStack
 
 import { initializable } from '../../../decorators/Initializable';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
-import { ObfuscationEvents } from '../../../enums/ObfuscationEvents';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+import { ObfuscationEvents } from '../../../enums/event-emitters/ObfuscationEvents';
 
 import { AbstractCustomNodeGroup } from '../../AbstractCustomNodeGroup';
 import { NodeAppender } from '../../../node/NodeAppender';

+ 1 - 1
src/custom-nodes/node-calls-controller-nodes/NodeCallsControllerFunctionNode.ts

@@ -8,7 +8,7 @@ import { TStatement } from '../../types/node/TStatement';
 
 import { IOptions } from '../../interfaces/options/IOptions';
 
-import { ObfuscationEvents } from '../../enums/ObfuscationEvents';
+import { ObfuscationEvents } from '../../enums/event-emitters/ObfuscationEvents';
 
 import { initializable } from '../../decorators/Initializable';
 

+ 3 - 3
src/custom-nodes/self-defending-nodes/group/SelfDefendingCustomNodeGroup.ts

@@ -1,7 +1,7 @@
 import { injectable, inject } from 'inversify';
 import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TObfuscationEvent } from '../../../types/event-emitters/TObfuscationEvent';
 import { TNodeWithBlockStatement } from '../../../types/node/TNodeWithBlockStatement';
 
@@ -12,8 +12,8 @@ import { IStackTraceData } from '../../../interfaces/stack-trace-analyzer/IStack
 
 import { initializable } from '../../../decorators/Initializable';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
-import { ObfuscationEvents } from '../../../enums/ObfuscationEvents';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+import { ObfuscationEvents } from '../../../enums/event-emitters/ObfuscationEvents';
 
 import { AbstractCustomNodeGroup } from '../../AbstractCustomNodeGroup';
 import { NodeAppender } from '../../../node/NodeAppender';

+ 3 - 3
src/custom-nodes/string-array-nodes/group/StringArrayCustomNodeGroup.ts

@@ -1,7 +1,7 @@
 import { injectable, inject } from 'inversify';
 import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TNodeWithBlockStatement } from '../../../types/node/TNodeWithBlockStatement';
 import { TObfuscationEvent } from '../../../types/event-emitters/TObfuscationEvent';
 
@@ -13,8 +13,8 @@ import { IStorage } from '../../../interfaces/storages/IStorage';
 
 import { initializable } from '../../../decorators/Initializable';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
-import { ObfuscationEvents } from '../../../enums/ObfuscationEvents';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+import { ObfuscationEvents } from '../../../enums/event-emitters/ObfuscationEvents';
 
 import { AbstractCustomNodeGroup } from '../../AbstractCustomNodeGroup';
 import { NodeAppender } from '../../../node/NodeAppender';

+ 0 - 6
src/enums/container/ObfuscatingReplacers.ts

@@ -1,6 +0,0 @@
-export enum ObfuscatingReplacers {
-    BooleanReplacer,
-    IdentifierReplacer,
-    NumberLiteralReplacer,
-    StringLiteralReplacer
-}

+ 0 - 0
src/enums/container/CustomNodeGroups.ts → src/enums/container/custom-nodes/CustomNodeGroups.ts


+ 0 - 0
src/enums/container/CustomNodes.ts → src/enums/container/custom-nodes/CustomNodes.ts


+ 0 - 0
src/enums/container/ControlFlowReplacers.ts → src/enums/container/node-transformers/ControlFlowReplacers.ts


+ 3 - 0
src/enums/container/node-transformers/IdentifierObfuscatingReplacers.ts

@@ -0,0 +1,3 @@
+export enum IdentifierObfuscatingReplacers {
+    IdentifierObfuscatingReplacer
+}

+ 5 - 0
src/enums/container/node-transformers/LiteralObfuscatingReplacers.ts

@@ -0,0 +1,5 @@
+export enum LiteralObfuscatingReplacers {
+    BooleanLiteralObfuscatingReplacer,
+    NumberLiteralObfuscatingReplacer,
+    StringLiteralObfuscatingReplacer
+}

+ 0 - 0
src/enums/container/NodeTransformers.ts → src/enums/container/node-transformers/NodeTransformers.ts


+ 0 - 0
src/enums/container/CalleeDataExtractors.ts → src/enums/container/stack-trace-analyzer/CalleeDataExtractors.ts


+ 1 - 1
src/enums/ObfuscationEvents.ts → src/enums/event-emitters/ObfuscationEvents.ts

@@ -1,4 +1,4 @@
-import { TObfuscationEvent } from '../types/event-emitters/TObfuscationEvent';
+import { TObfuscationEvent } from '../../types/event-emitters/TObfuscationEvent';
 
 export const ObfuscationEvents: {
     AfterObfuscation: TObfuscationEvent,

+ 1 - 1
src/interfaces/custom-nodes/ICustomNodeGroup.d.ts

@@ -5,7 +5,7 @@ import { ICustomNode } from './ICustomNode';
 import { IInitializable } from '../IInitializable';
 import { IStackTraceData } from '../stack-trace-analyzer/IStackTraceData';
 
-import { CustomNodes } from '../../enums/container/CustomNodes';
+import { CustomNodes } from '../../enums/container/custom-nodes/CustomNodes';
 
 export interface ICustomNodeGroup extends IInitializable {
     /**

+ 1 - 1
src/interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer.d.ts → src/interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer.d.ts

@@ -2,7 +2,7 @@ import * as ESTree from 'estree';
 
 import { IObfuscatingReplacer } from './IObfuscatingReplacer';
 
-export interface IIdentifierReplacer extends IObfuscatingReplacer <ESTree.Identifier> {
+export interface IIdentifierObfuscatingReplacer extends IObfuscatingReplacer <ESTree.Identifier> {
     /**
      * @param nodeValue
      * @param nodeIdentifier

+ 2 - 2
src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts

@@ -3,13 +3,13 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../types/container/custom-nodes/TCustomNodeFactory';
 
 import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { CustomNodes } from '../../enums/container/CustomNodes';
+import { CustomNodes } from '../../enums/container/custom-nodes/CustomNodes';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';

+ 5 - 5
src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts

@@ -4,9 +4,9 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
-import { TControlFlowReplacerFactory } from '../../types/container/TControlFlowReplacerFactory';
-import { TControlFlowStorageFactory } from '../../types/container/TControlFlowStorageFactory';
-import { TCustomNodeFactory } from '../../types/container/TCustomNodeFactory';
+import { TControlFlowReplacerFactory } from '../../types/container/node-transformers/TControlFlowReplacerFactory';
+import { TControlFlowStorageFactory } from '../../types/container/node-transformers/TControlFlowStorageFactory';
+import { TCustomNodeFactory } from '../../types/container/custom-nodes/TCustomNodeFactory';
 import { TNodeWithBlockStatement } from '../../types/node/TNodeWithBlockStatement';
 
 import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
@@ -14,13 +14,13 @@ import { IOptions } from '../../interfaces/options/IOptions';
 import { IStorage } from '../../interfaces/storages/IStorage';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { CustomNodes } from '../../enums/container/CustomNodes';
+import { CustomNodes } from '../../enums/container/custom-nodes/CustomNodes';
 import { NodeType } from '../../enums/NodeType';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
 import { NodeAppender } from '../../node/NodeAppender';
-import { ControlFlowReplacers } from '../../enums/container/ControlFlowReplacers';
+import { ControlFlowReplacers } from '../../enums/container/node-transformers/ControlFlowReplacers';
 import { NodeUtils } from '../../node/NodeUtils';
 import { RandomGeneratorUtils } from '../../utils/RandomGeneratorUtils';
 

+ 1 - 1
src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts

@@ -3,7 +3,7 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 
 import { IControlFlowReplacer } from '../../../interfaces/node-transformers/control-flow-transformers/IControlFlowReplacer';
 import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';

+ 2 - 2
src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts

@@ -3,13 +3,13 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 
 import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../../interfaces/options/IOptions';
 import { IStorage } from '../../../interfaces/storages/IStorage';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
 
 import { ExpressionWithOperatorControlFlowReplacer } from './ExpressionWithOperatorControlFlowReplacer';
 

+ 2 - 2
src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts

@@ -3,14 +3,14 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TStatement } from '../../../types/node/TStatement';
 
 import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../../interfaces/options/IOptions';
 import { IStorage } from '../../../interfaces/storages/IStorage';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
 
 import { AbstractControlFlowReplacer } from './AbstractControlFlowReplacer';
 import { Node } from '../../../node/Node';

+ 2 - 2
src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts

@@ -3,14 +3,14 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TStatement } from '../../../types/node/TStatement';
 
 import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../../interfaces/options/IOptions';
 
 import { AbstractControlFlowReplacer } from './AbstractControlFlowReplacer';
-import { CustomNodes } from '../../../enums/container/CustomNodes';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
 import { Node } from '../../../node/Node';
 
 @injectable()

+ 2 - 2
src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts

@@ -3,13 +3,13 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 
 import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../../interfaces/options/IOptions';
 import { IStorage } from '../../../interfaces/storages/IStorage';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
 
 import { ExpressionWithOperatorControlFlowReplacer } from './ExpressionWithOperatorControlFlowReplacer';
 import { Node } from '../../../node/Node';

+ 2 - 2
src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts

@@ -3,14 +3,14 @@ import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TCustomNodeFactory } from '../../../types/container/TCustomNodeFactory';
+import { TCustomNodeFactory } from '../../../types/container/custom-nodes/TCustomNodeFactory';
 import { TStatement } from '../../../types/node/TStatement';
 
 import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
 import { IOptions } from '../../../interfaces/options/IOptions';
 import { IStorage } from '../../../interfaces/storages/IStorage';
 
-import { CustomNodes } from '../../../enums/container/CustomNodes';
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
 
 import { AbstractControlFlowReplacer } from './AbstractControlFlowReplacer';
 import { Node } from '../../../node/Node';

+ 13 - 10
src/node-transformers/obfuscating-transformers/CatchClauseTransformer.ts

@@ -4,13 +4,13 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
-import { TObfuscatingReplacerFactory } from '../../types/container/TObfuscatingReplacerFactory';
+import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory';
 
+import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
-import { IIdentifierReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
+import { IdentifierObfuscatingReplacers } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacers';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
@@ -26,21 +26,24 @@ import { Node } from '../../node/Node';
 @injectable()
 export class CatchClauseTransformer extends AbstractNodeTransformer {
     /**
-     * @type {IIdentifierReplacer}
+     * @type {IIdentifierObfuscatingReplacer}
      */
-    private readonly identifierReplacer: IIdentifierReplacer;
+    private readonly identifierObfuscatingReplacer: IIdentifierObfuscatingReplacer;
 
     /**
-     * @param obfuscatingReplacerFactory
+     * @param identifierObfuscatingReplacerFactory
      * @param options
      */
     constructor (
-        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer) obfuscatingReplacerFactory: TObfuscatingReplacerFactory,
+        @inject(ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)
+            identifierObfuscatingReplacerFactory: TIdentifierObfuscatingReplacerFactory,
         @inject(ServiceIdentifiers.IOptions) options: IOptions
     ) {
         super(options);
 
-        this.identifierReplacer = <IIdentifierReplacer>obfuscatingReplacerFactory(ObfuscatingReplacers.IdentifierReplacer);
+        this.identifierObfuscatingReplacer = identifierObfuscatingReplacerFactory(
+            IdentifierObfuscatingReplacers.IdentifierObfuscatingReplacer
+        );
     }
 
     /**
@@ -76,7 +79,7 @@ export class CatchClauseTransformer extends AbstractNodeTransformer {
      */
     private storeCatchClauseParam (catchClauseNode: ESTree.CatchClause, nodeIdentifier: number): void {
         if (Node.isIdentifierNode(catchClauseNode.param)) {
-            this.identifierReplacer.storeNames(catchClauseNode.param.name, nodeIdentifier);
+            this.identifierObfuscatingReplacer.storeNames(catchClauseNode.param.name, nodeIdentifier);
         }
     }
 
@@ -88,7 +91,7 @@ export class CatchClauseTransformer extends AbstractNodeTransformer {
         estraverse.replace(catchClauseNode, {
             enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
                 if (Node.isReplaceableIdentifierNode(node, parentNode)) {
-                    const newIdentifier: ESTree.Identifier = this.identifierReplacer.replace(node.name, nodeIdentifier);
+                    const newIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(node.name, nodeIdentifier);
                     const newIdentifierName: string = newIdentifier.name;
 
                     if (node.name !== newIdentifierName) {

+ 14 - 11
src/node-transformers/obfuscating-transformers/FunctionDeclarationTransformer.ts

@@ -4,14 +4,14 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
+import { TIdentifierObfuscatingReplacerFactory } from "../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory";
 import { TNodeWithBlockStatement } from '../../types/node/TNodeWithBlockStatement';
-import { TObfuscatingReplacerFactory } from '../../types/container/TObfuscatingReplacerFactory';
 
+import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
-import { IIdentifierReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
+import { IdentifierObfuscatingReplacers } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacers";
 import { NodeType } from '../../enums/NodeType';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
@@ -30,9 +30,9 @@ import { NodeUtils } from '../../node/NodeUtils';
 @injectable()
 export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
     /**
-     * @type {IIdentifierReplacer}
+     * @type {IIdentifierObfuscatingReplacer}
      */
-    private readonly identifierReplacer: IIdentifierReplacer;
+    private readonly identifierObfuscatingReplacer: IIdentifierObfuscatingReplacer;
 
     /**
      * @type {Map<ESTree.Node, ESTree.Identifier[]>}
@@ -40,16 +40,19 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
     private readonly replaceableIdentifiers: Map <ESTree.Node, ESTree.Identifier[]> = new Map();
 
     /**
-     * @param obfuscatingReplacerFactory
+     * @param identifierObfuscatingReplacerFactory
      * @param options
      */
     constructor (
-        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer) obfuscatingReplacerFactory: TObfuscatingReplacerFactory,
+        @inject(ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)
+            identifierObfuscatingReplacerFactory: TIdentifierObfuscatingReplacerFactory,
         @inject(ServiceIdentifiers.IOptions) options: IOptions
     ) {
         super(options);
 
-        this.identifierReplacer = <IIdentifierReplacer>obfuscatingReplacerFactory(ObfuscatingReplacers.IdentifierReplacer);
+        this.identifierObfuscatingReplacer = identifierObfuscatingReplacerFactory(
+            IdentifierObfuscatingReplacers.IdentifierObfuscatingReplacer
+        );
     }
 
     /**
@@ -96,7 +99,7 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
      * @param nodeIdentifier
      */
     private storeFunctionName (functionDeclarationNode: ESTree.FunctionDeclaration, nodeIdentifier: number): void {
-        this.identifierReplacer.storeNames(functionDeclarationNode.id.name, nodeIdentifier);
+        this.identifierObfuscatingReplacer.storeNames(functionDeclarationNode.id.name, nodeIdentifier);
     }
 
     /**
@@ -107,7 +110,7 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
         const cachedReplaceableIdentifiers: ESTree.Identifier[] = <ESTree.Identifier[]>this.replaceableIdentifiers.get(scopeNode);
 
         cachedReplaceableIdentifiers.forEach((replaceableIdentifier: ESTree.Identifier) => {
-            const newReplaceableIdentifier: ESTree.Identifier = this.identifierReplacer.replace(replaceableIdentifier.name, nodeIdentifier);
+            const newReplaceableIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(replaceableIdentifier.name, nodeIdentifier);
 
             replaceableIdentifier.name = newReplaceableIdentifier.name;
         });
@@ -123,7 +126,7 @@ export class FunctionDeclarationTransformer extends AbstractNodeTransformer {
         estraverse.replace(scopeNode, {
             enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
                 if (Node.isReplaceableIdentifierNode(node, parentNode)) {
-                    const newIdentifier: ESTree.Identifier = this.identifierReplacer.replace(node.name, nodeIdentifier);
+                    const newIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(node.name, nodeIdentifier);
                     const newIdentifierName: string = newIdentifier.name;
 
                     if (node.name !== newIdentifierName) {

+ 14 - 11
src/node-transformers/obfuscating-transformers/FunctionTransformer.ts

@@ -4,13 +4,13 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
-import { TObfuscatingReplacerFactory } from '../../types/container/TObfuscatingReplacerFactory';
+import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory';
 
+import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
-import { IIdentifierReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
+import { IdentifierObfuscatingReplacers } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacers';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
@@ -26,21 +26,24 @@ import { Node } from '../../node/Node';
 @injectable()
 export class FunctionTransformer extends AbstractNodeTransformer {
     /**
-     * @type {IIdentifierReplacer}
+     * @type {IIdentifierObfuscatingReplacer}
      */
-    private readonly identifierReplacer: IIdentifierReplacer;
+    private readonly identifierObfuscatingReplacer: IIdentifierObfuscatingReplacer;
 
     /**
-     * @param obfuscatingReplacerFactory
+     * @param identifierObfuscatingReplacerFactory
      * @param options
      */
     constructor (
-        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer) obfuscatingReplacerFactory: TObfuscatingReplacerFactory,
+        @inject(ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)
+            identifierObfuscatingReplacerFactory: TIdentifierObfuscatingReplacerFactory,
         @inject(ServiceIdentifiers.IOptions) options: IOptions
     ) {
         super(options);
 
-        this.identifierReplacer = <IIdentifierReplacer>obfuscatingReplacerFactory(ObfuscatingReplacers.IdentifierReplacer);
+        this.identifierObfuscatingReplacer = identifierObfuscatingReplacerFactory(
+            IdentifierObfuscatingReplacers.IdentifierObfuscatingReplacer
+        );
     }
 
     /**
@@ -88,13 +91,13 @@ export class FunctionTransformer extends AbstractNodeTransformer {
                 estraverse.traverse(paramsNode, {
                     enter: (node: ESTree.Node): any => {
                         if (Node.isAssignmentPatternNode(node) && Node.isIdentifierNode(node.left)) {
-                            this.identifierReplacer.storeNames(node.left.name, nodeIdentifier);
+                            this.identifierObfuscatingReplacer.storeNames(node.left.name, nodeIdentifier);
 
                             return estraverse.VisitorOption.Skip;
                         }
 
                         if (Node.isIdentifierNode(node)) {
-                            this.identifierReplacer.storeNames(node.name, nodeIdentifier);
+                            this.identifierObfuscatingReplacer.storeNames(node.name, nodeIdentifier);
                         }
                     }
                 });
@@ -109,7 +112,7 @@ export class FunctionTransformer extends AbstractNodeTransformer {
         const replaceVisitor: estraverse.Visitor = {
             enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
                 if (Node.isReplaceableIdentifierNode(node, parentNode)) {
-                    const newIdentifier: ESTree.Identifier = this.identifierReplacer.replace(node.name, nodeIdentifier);
+                    const newIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(node.name, nodeIdentifier);
                     const newIdentifierName: string = newIdentifier.name;
 
                     if (node.name !== newIdentifierName) {

+ 13 - 10
src/node-transformers/obfuscating-transformers/LabeledStatementTransformer.ts

@@ -4,13 +4,13 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
-import { TObfuscatingReplacerFactory } from '../../types/container/TObfuscatingReplacerFactory';
+import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory';
 
+import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IOptions } from '../../interfaces/options/IOptions';
-import { IIdentifierReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
+import { IdentifierObfuscatingReplacers } from '../../enums/container/node-transformers/IdentifierObfuscatingReplacers';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
@@ -34,21 +34,24 @@ import { Node } from '../../node/Node';
 @injectable()
 export class LabeledStatementTransformer extends AbstractNodeTransformer {
     /**
-     * @type {IIdentifierReplacer}
+     * @type {IIdentifierObfuscatingReplacer}
      */
-    private readonly identifierReplacer: IIdentifierReplacer;
+    private readonly identifierObfuscatingReplacer: IIdentifierObfuscatingReplacer;
 
     /**
-     * @param obfuscatingReplacerFactory
+     * @param identifierObfuscatingReplacerFactory
      * @param options
      */
     constructor (
-        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer) obfuscatingReplacerFactory: TObfuscatingReplacerFactory,
+        @inject(ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)
+            identifierObfuscatingReplacerFactory: TIdentifierObfuscatingReplacerFactory,
         @inject(ServiceIdentifiers.IOptions) options: IOptions
     ) {
         super(options);
 
-        this.identifierReplacer = <IIdentifierReplacer>obfuscatingReplacerFactory(ObfuscatingReplacers.IdentifierReplacer);
+        this.identifierObfuscatingReplacer = identifierObfuscatingReplacerFactory(
+            IdentifierObfuscatingReplacers.IdentifierObfuscatingReplacer
+        );
     }
 
     /**
@@ -83,7 +86,7 @@ export class LabeledStatementTransformer extends AbstractNodeTransformer {
      * @param nodeIdentifier
      */
     private storeLabeledStatementName (labeledStatementNode: ESTree.LabeledStatement, nodeIdentifier: number): void {
-        this.identifierReplacer.storeNames(labeledStatementNode.label.name, nodeIdentifier);
+        this.identifierObfuscatingReplacer.storeNames(labeledStatementNode.label.name, nodeIdentifier);
     }
 
     /**
@@ -94,7 +97,7 @@ export class LabeledStatementTransformer extends AbstractNodeTransformer {
         estraverse.replace(labeledStatementNode, {
             enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
                 if (Node.isLabelIdentifierNode(node, parentNode)) {
-                    const newIdentifier: ESTree.Identifier = this.identifierReplacer.replace(node.name, nodeIdentifier);
+                    const newIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(node.name, nodeIdentifier);
 
                     node.name = newIdentifier.name;
                 }

+ 11 - 10
src/node-transformers/obfuscating-transformers/LiteralTransformer.ts

@@ -3,12 +3,12 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { TObfuscatingReplacerFactory } from '../../types/container/TObfuscatingReplacerFactory';
+import { TLiteralObfuscatingReplacerFactory } from '../../types/container/node-transformers/TLiteralObfuscatingReplacerFactory';
 
 import { IOptions } from '../../interfaces/options/IOptions';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
+import { LiteralObfuscatingReplacers } from '../../enums/container/node-transformers/LiteralObfuscatingReplacers';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
 import { Node } from '../../node/Node';
@@ -16,21 +16,22 @@ import { Node } from '../../node/Node';
 @injectable()
 export class LiteralTransformer extends AbstractNodeTransformer {
     /**
-     * @type {TObfuscatingReplacerFactory}
+     * @type {TLiteralObfuscatingReplacerFactory}
      */
-    private readonly obfuscatingReplacerFactory: TObfuscatingReplacerFactory;
+    private readonly literalObfuscatingReplacerFactory: TLiteralObfuscatingReplacerFactory;
 
     /**
-     * @param obfuscatingReplacerFactory
+     * @param literalObfuscatingReplacerFactory
      * @param options
      */
     constructor (
-        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer) obfuscatingReplacerFactory: TObfuscatingReplacerFactory,
+        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer)
+            literalObfuscatingReplacerFactory: TLiteralObfuscatingReplacerFactory,
         @inject(ServiceIdentifiers.IOptions) options: IOptions
     ) {
         super(options);
 
-        this.obfuscatingReplacerFactory = obfuscatingReplacerFactory;
+        this.literalObfuscatingReplacerFactory = literalObfuscatingReplacerFactory;
     }
 
     /**
@@ -58,15 +59,15 @@ export class LiteralTransformer extends AbstractNodeTransformer {
 
         switch (typeof literalNode.value) {
             case 'boolean':
-                return this.obfuscatingReplacerFactory(ObfuscatingReplacers.BooleanReplacer)
+                return this.literalObfuscatingReplacerFactory(LiteralObfuscatingReplacers.BooleanLiteralObfuscatingReplacer)
                     .replace(<boolean>literalNode.value);
 
             case 'number':
-                return this.obfuscatingReplacerFactory(ObfuscatingReplacers.NumberLiteralReplacer)
+                return this.literalObfuscatingReplacerFactory(LiteralObfuscatingReplacers.NumberLiteralObfuscatingReplacer)
                     .replace(<number>literalNode.value);
 
             case 'string':
-                return this.obfuscatingReplacerFactory(ObfuscatingReplacers.StringLiteralReplacer)
+                return this.literalObfuscatingReplacerFactory(LiteralObfuscatingReplacers.StringLiteralObfuscatingReplacer)
                     .replace(<string>literalNode.value);
 
             default:

+ 14 - 11
src/node-transformers/obfuscating-transformers/VariableDeclarationTransformer.ts

@@ -4,14 +4,14 @@ import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
+import { TIdentifierObfuscatingReplacerFactory } from '../../types/container/node-transformers/TIdentifierObfuscatingReplacerFactory';
 import { TNodeWithBlockStatement } from '../../types/node/TNodeWithBlockStatement';
-import { TObfuscatingReplacerFactory } from '../../types/container/TObfuscatingReplacerFactory';
 
 import { IOptions } from '../../interfaces/options/IOptions';
-import { IIdentifierReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer';
+import { IIdentifierObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
 import { IVisitor } from '../../interfaces/IVisitor';
 
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
+import { IdentifierObfuscatingReplacers } from "../../enums/container/node-transformers/IdentifierObfuscatingReplacers";
 import { NodeType } from '../../enums/NodeType';
 
 import { AbstractNodeTransformer } from '../AbstractNodeTransformer';
@@ -31,9 +31,9 @@ import { NodeUtils } from '../../node/NodeUtils';
 @injectable()
 export class VariableDeclarationTransformer extends AbstractNodeTransformer {
     /**
-     * @type {IIdentifierReplacer}
+     * @type {IIdentifierObfuscatingReplacer}
      */
-    private readonly identifierReplacer: IIdentifierReplacer;
+    private readonly identifierObfuscatingReplacer: IIdentifierObfuscatingReplacer;
 
     /**
      * @type {Map<ESTree.Node, ESTree.Identifier[]>}
@@ -41,16 +41,19 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer {
     private readonly replaceableIdentifiers: Map <ESTree.Node, ESTree.Identifier[]> = new Map();
 
     /**
-     * @param obfuscatingReplacerFactory
+     * @param identifierObfuscatingReplacerFactory
      * @param options
      */
     constructor (
-        @inject(ServiceIdentifiers.Factory__IObfuscatingReplacer) obfuscatingReplacerFactory: TObfuscatingReplacerFactory,
+        @inject(ServiceIdentifiers.Factory__IIdentifierObfuscatingReplacer)
+            identifierObfuscatingReplacerFactory: TIdentifierObfuscatingReplacerFactory,
         @inject(ServiceIdentifiers.IOptions) options: IOptions
     ) {
         super(options);
 
-        this.identifierReplacer = <IIdentifierReplacer>obfuscatingReplacerFactory(ObfuscatingReplacers.IdentifierReplacer);
+        this.identifierObfuscatingReplacer = identifierObfuscatingReplacerFactory(
+            IdentifierObfuscatingReplacers.IdentifierObfuscatingReplacer
+        );
     }
 
     /**
@@ -108,7 +111,7 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer {
                 }
 
                 NodeUtils.typedTraverse(declarationNode.id, NodeType.Identifier, {
-                    enter: (node: ESTree.Identifier) => this.identifierReplacer.storeNames(node.name, nodeIdentifier)
+                    enter: (node: ESTree.Identifier) => this.identifierObfuscatingReplacer.storeNames(node.name, nodeIdentifier)
                 });
             });
     }
@@ -121,7 +124,7 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer {
         const cachedReplaceableIdentifiers: ESTree.Identifier[] = <ESTree.Identifier[]>this.replaceableIdentifiers.get(scopeNode);
 
         cachedReplaceableIdentifiers.forEach((replaceableIdentifier: ESTree.Identifier) => {
-            const newReplaceableIdentifier: ESTree.Identifier = this.identifierReplacer.replace(replaceableIdentifier.name, nodeIdentifier);
+            const newReplaceableIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(replaceableIdentifier.name, nodeIdentifier);
 
             replaceableIdentifier.name = newReplaceableIdentifier.name;
         });
@@ -137,7 +140,7 @@ export class VariableDeclarationTransformer extends AbstractNodeTransformer {
         estraverse.replace(scopeNode, {
             enter: (node: ESTree.Node, parentNode: ESTree.Node): any => {
                 if (!node.obfuscatedNode && Node.isReplaceableIdentifierNode(node, parentNode)) {
-                    const newIdentifier: ESTree.Identifier = this.identifierReplacer.replace(node.name, nodeIdentifier);
+                    const newIdentifier: ESTree.Identifier = this.identifierObfuscatingReplacer.replace(node.name, nodeIdentifier);
                     const newIdentifierName: string = newIdentifier.name;
 
                     if (node.name !== newIdentifierName) {

+ 7 - 7
src/node-transformers/obfuscating-transformers/obfuscating-replacers/IdentifierReplacer.ts → src/node-transformers/obfuscating-transformers/obfuscating-replacers/identifier-obfuscating-replacers/IdentifierObfuscatingReplacer.ts

@@ -1,17 +1,17 @@
 import { injectable, inject } from 'inversify';
-import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
+import { ServiceIdentifiers } from '../../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { IIdentifierReplacer } from '../../../interfaces/node-transformers/obfuscating-transformers/IIdentifierReplacer';
-import { IOptions } from '../../../interfaces/options/IOptions';
+import { IIdentifierObfuscatingReplacer } from '../../../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
+import { IOptions } from '../../../../interfaces/options/IOptions';
 
-import { AbstractObfuscatingReplacer } from './AbstractObfuscatingReplacer';
-import { Nodes } from '../../../node/Nodes';
-import { RandomGeneratorUtils } from '../../../utils/RandomGeneratorUtils';
+import { AbstractObfuscatingReplacer } from '../AbstractObfuscatingReplacer';
+import { Nodes } from '../../../../node/Nodes';
+import { RandomGeneratorUtils } from '../../../../utils/RandomGeneratorUtils';
 
 @injectable()
-export class IdentifierReplacer extends AbstractObfuscatingReplacer implements IIdentifierReplacer {
+export class IdentifierObfuscatingReplacer extends AbstractObfuscatingReplacer implements IIdentifierObfuscatingReplacer {
     /**
      * @type {Map<string, string>}
      */

+ 8 - 8
src/node-transformers/obfuscating-transformers/obfuscating-replacers/BooleanLiteralReplacer.ts → src/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/BooleanLiteralObfuscatingReplacer.ts

@@ -1,15 +1,15 @@
 import { injectable, inject } from 'inversify';
-import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
+import { ServiceIdentifiers } from '../../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { IOptions } from '../../../interfaces/options/IOptions';
+import { IOptions } from '../../../../interfaces/options/IOptions';
 
-import { AbstractObfuscatingReplacer } from './AbstractObfuscatingReplacer';
-import { Nodes } from '../../../node/Nodes';
+import { AbstractObfuscatingReplacer } from '../AbstractObfuscatingReplacer';
+import { Nodes } from '../../../../node/Nodes';
 
 @injectable()
-export class BooleanLiteralReplacer extends AbstractObfuscatingReplacer {
+export class BooleanLiteralObfuscatingReplacer extends AbstractObfuscatingReplacer {
     /**
      * @param options
      */
@@ -25,7 +25,7 @@ export class BooleanLiteralReplacer extends AbstractObfuscatingReplacer {
     private static getTrueUnaryExpressionNode (): ESTree.UnaryExpression {
         return Nodes.getUnaryExpressionNode(
             '!',
-            BooleanLiteralReplacer.getFalseUnaryExpressionNode()
+            BooleanLiteralObfuscatingReplacer.getFalseUnaryExpressionNode()
         );
     }
 
@@ -45,7 +45,7 @@ export class BooleanLiteralReplacer extends AbstractObfuscatingReplacer {
      */
     public replace (nodeValue: boolean): ESTree.Node {
         return nodeValue
-            ? BooleanLiteralReplacer.getTrueUnaryExpressionNode()
-            : BooleanLiteralReplacer.getFalseUnaryExpressionNode();
+            ? BooleanLiteralObfuscatingReplacer.getTrueUnaryExpressionNode()
+            : BooleanLiteralObfuscatingReplacer.getFalseUnaryExpressionNode();
     }
 }

+ 6 - 6
src/node-transformers/obfuscating-transformers/obfuscating-replacers/NumberLiteralReplacer.ts → src/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/NumberLiteralObfuscatingReplacer.ts

@@ -1,16 +1,16 @@
 import { injectable, inject } from 'inversify';
-import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
+import { ServiceIdentifiers } from '../../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { IOptions } from '../../../interfaces/options/IOptions';
+import { IOptions } from '../../../../interfaces/options/IOptions';
 
-import { AbstractObfuscatingReplacer } from './AbstractObfuscatingReplacer';
-import { Nodes } from '../../../node/Nodes';
-import { Utils } from '../../../utils/Utils';
+import { AbstractObfuscatingReplacer } from '../AbstractObfuscatingReplacer';
+import { Nodes } from '../../../../node/Nodes';
+import { Utils } from '../../../../utils/Utils';
 
 @injectable()
-export class NumberLiteralReplacer extends AbstractObfuscatingReplacer {
+export class NumberLiteralObfuscatingReplacer extends AbstractObfuscatingReplacer {
     /**
      * @type {Map<string, string>}
      */

+ 15 - 15
src/node-transformers/obfuscating-transformers/obfuscating-replacers/StringLiteralReplacer.ts → src/node-transformers/obfuscating-transformers/obfuscating-replacers/literal-obfuscating-replacers/StringLiteralObfuscatingReplacer.ts

@@ -1,23 +1,23 @@
 import { injectable, inject } from 'inversify';
-import { ServiceIdentifiers } from '../../../container/ServiceIdentifiers';
+import { ServiceIdentifiers } from '../../../../container/ServiceIdentifiers';
 
 import * as ESTree from 'estree';
 
-import { ICustomNodeGroup } from '../../../interfaces/custom-nodes/ICustomNodeGroup';
-import { IEncodedValue } from '../../../interfaces/node-transformers/obfuscating-transformers/IEncodedValue';
-import { IOptions } from '../../../interfaces/options/IOptions';
-import { IStorage } from '../../../interfaces/storages/IStorage';
+import { ICustomNodeGroup } from '../../../../interfaces/custom-nodes/ICustomNodeGroup';
+import { IEncodedValue } from '../../../../interfaces/node-transformers/obfuscating-transformers/IEncodedValue';
+import { IOptions } from '../../../../interfaces/options/IOptions';
+import { IStorage } from '../../../../interfaces/storages/IStorage';
 
-import { StringArrayEncoding } from '../../../enums/StringArrayEncoding';
+import { StringArrayEncoding } from '../../../../enums/StringArrayEncoding';
 
-import { AbstractObfuscatingReplacer } from './AbstractObfuscatingReplacer';
-import { CryptUtils } from '../../../utils/CryptUtils';
-import { Nodes } from '../../../node/Nodes';
-import { RandomGeneratorUtils } from '../../../utils/RandomGeneratorUtils';
-import { Utils } from '../../../utils/Utils';
+import { AbstractObfuscatingReplacer } from '../AbstractObfuscatingReplacer';
+import { CryptUtils } from '../../../../utils/CryptUtils';
+import { Nodes } from '../../../../node/Nodes';
+import { RandomGeneratorUtils } from '../../../../utils/RandomGeneratorUtils';
+import { Utils } from '../../../../utils/Utils';
 
 @injectable()
-export class StringLiteralReplacer extends AbstractObfuscatingReplacer {
+export class StringLiteralObfuscatingReplacer extends AbstractObfuscatingReplacer {
     /**
      * @type {number}
      */
@@ -125,7 +125,7 @@ export class StringLiteralReplacer extends AbstractObfuscatingReplacer {
     private canUseStringArray (nodeValue: string): boolean {
         return (
             this.options.stringArray &&
-            nodeValue.length >= StringLiteralReplacer.minimumLengthForStringArray &&
+            nodeValue.length >= StringLiteralObfuscatingReplacer.minimumLengthForStringArray &&
             RandomGeneratorUtils.getMathRandom() <= this.options.stringArrayThreshold
         );
     }
@@ -186,13 +186,13 @@ export class StringLiteralReplacer extends AbstractObfuscatingReplacer {
         const rotatedStringArrayStorageId: string = Utils.stringRotate(this.stringArrayStorage.getStorageId(), 1);
         const stringArrayStorageCallsWrapperName: string = `_${Utils.hexadecimalPrefix}${rotatedStringArrayStorageId}`;
         const callExpressionArgs: (ESTree.Expression | ESTree.SpreadElement)[] = [
-            StringLiteralReplacer.getHexadecimalLiteralNode(
+            StringLiteralObfuscatingReplacer.getHexadecimalLiteralNode(
                 this.getArrayHexadecimalIndex(encodedValue)
             )
         ];
 
         if (key) {
-            callExpressionArgs.push(StringLiteralReplacer.getRc4KeyLiteralNode(
+            callExpressionArgs.push(StringLiteralObfuscatingReplacer.getRc4KeyLiteralNode(
                 Utils.stringToUnicodeEscapeSequence(key, !this.options.unicodeEscapeSequence)
             ));
         }

+ 2 - 2
src/stack-trace-analyzer/StackTraceAnalyzer.ts

@@ -4,14 +4,14 @@ import { ServiceIdentifiers } from '../container/ServiceIdentifiers';
 import * as estraverse from 'estraverse';
 import * as ESTree from 'estree';
 
-import { TCalleeDataExtractorFactory } from '../types/container/TCalleeDataExtractorFactory';
+import { TCalleeDataExtractorFactory } from '../types/container/stack-trace-analyzer/TCalleeDataExtractorFactory';
 
 import { ICalleeData } from '../interfaces/stack-trace-analyzer/ICalleeData';
 import { ICalleeDataExtractor } from '../interfaces/stack-trace-analyzer/ICalleeDataExtractor';
 import { IStackTraceAnalyzer } from '../interfaces/stack-trace-analyzer/IStackTraceAnalyzer';
 import { IStackTraceData } from '../interfaces/stack-trace-analyzer/IStackTraceData';
 
-import { CalleeDataExtractors } from '../enums/container/CalleeDataExtractors';
+import { CalleeDataExtractors } from '../enums/container/stack-trace-analyzer/CalleeDataExtractors';
 
 import { Node } from '../node/Node';
 import { NodeUtils } from '../node/NodeUtils';

+ 2 - 2
src/storages/custom-node-group/CustomNodeGroupStorage.ts

@@ -1,12 +1,12 @@
 import { injectable, inject } from 'inversify';
 import { ServiceIdentifiers } from '../../container/ServiceIdentifiers';
 
-import { TCustomNodeGroupFactory } from '../../types/container/TCustomNodeGroupFactory';
+import { TCustomNodeGroupFactory } from '../../types/container/custom-nodes/TCustomNodeGroupFactory';
 
 import { ICustomNodeGroup } from '../../interfaces/custom-nodes/ICustomNodeGroup';
 import { IOptions } from '../../interfaces/options/IOptions';
 
-import { CustomNodeGroups } from '../../enums/container/CustomNodeGroups';
+import { CustomNodeGroups } from '../../enums/container/custom-nodes/CustomNodeGroups';
 
 import { MapStorage } from '../MapStorage';
 import { RandomGeneratorUtils } from '../../utils/RandomGeneratorUtils';

+ 0 - 5
src/types/container/TCalleeDataExtractorFactory.d.ts

@@ -1,5 +0,0 @@
-import { ICalleeDataExtractor } from '../../interfaces/stack-trace-analyzer/ICalleeDataExtractor';
-
-import { CalleeDataExtractors } from '../../enums/container/CalleeDataExtractors';
-
-export type TCalleeDataExtractorFactory = (calleeDataExtractorName: CalleeDataExtractors) => ICalleeDataExtractor;

+ 0 - 5
src/types/container/TControlFlowReplacerFactory.d.ts

@@ -1,5 +0,0 @@
-import { IControlFlowReplacer } from '../../interfaces/node-transformers/control-flow-transformers/IControlFlowReplacer';
-
-import { ControlFlowReplacers } from '../../enums/container/ControlFlowReplacers';
-
-export type TControlFlowReplacerFactory = (replacer: ControlFlowReplacers) => IControlFlowReplacer;

+ 0 - 4
src/types/container/TControlFlowStorageFactory.d.ts

@@ -1,4 +0,0 @@
-import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
-import { IStorage } from '../../interfaces/storages/IStorage';
-
-export type TControlFlowStorageFactory = () => IStorage<ICustomNode>;

+ 0 - 5
src/types/container/TCustomNodeFactory.d.ts

@@ -1,5 +0,0 @@
-import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode';
-
-import { CustomNodes } from '../../enums/container/CustomNodes';
-
-export type TCustomNodeFactory = (customNodeName: CustomNodes) => ICustomNode;

+ 0 - 5
src/types/container/TCustomNodeGroupFactory.d.ts

@@ -1,5 +0,0 @@
-import { ICustomNodeGroup } from '../../interfaces/custom-nodes/ICustomNodeGroup';
-
-import { CustomNodeGroups } from '../../enums/container/CustomNodeGroups';
-
-export type TCustomNodeGroupFactory = (customNodeGroupName: CustomNodeGroups) => ICustomNodeGroup;

+ 0 - 5
src/types/container/TNodeTransformerFactory.d.ts

@@ -1,5 +0,0 @@
-import { INodeTransformer } from '../../interfaces/node-transformers/INodeTransformer';
-
-import { NodeTransformers } from '../../enums/container/NodeTransformers';
-
-export type TNodeTransformerFactory = (nodeTransformerName: NodeTransformers) => INodeTransformer;

+ 0 - 5
src/types/container/TObfuscatingReplacerFactory.d.ts

@@ -1,5 +0,0 @@
-import { IObfuscatingReplacer } from '../../interfaces/node-transformers/obfuscating-transformers/IObfuscatingReplacer';
-
-import { ObfuscatingReplacers } from '../../enums/container/ObfuscatingReplacers';
-
-export type TObfuscatingReplacerFactory = (replacer: ObfuscatingReplacers) => IObfuscatingReplacer;

+ 5 - 0
src/types/container/custom-nodes/TCustomNodeFactory.d.ts

@@ -0,0 +1,5 @@
+import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
+
+import { CustomNodes } from '../../../enums/container/custom-nodes/CustomNodes';
+
+export type TCustomNodeFactory = (customNodeName: CustomNodes) => ICustomNode;

+ 5 - 0
src/types/container/custom-nodes/TCustomNodeGroupFactory.d.ts

@@ -0,0 +1,5 @@
+import { ICustomNodeGroup } from '../../../interfaces/custom-nodes/ICustomNodeGroup';
+
+import { CustomNodeGroups } from '../../../enums/container/custom-nodes/CustomNodeGroups';
+
+export type TCustomNodeGroupFactory = (customNodeGroupName: CustomNodeGroups) => ICustomNodeGroup;

+ 5 - 0
src/types/container/node-transformers/TControlFlowReplacerFactory.d.ts

@@ -0,0 +1,5 @@
+import { IControlFlowReplacer } from '../../../interfaces/node-transformers/control-flow-transformers/IControlFlowReplacer';
+
+import { ControlFlowReplacers } from '../../../enums/container/node-transformers/ControlFlowReplacers';
+
+export type TControlFlowReplacerFactory = (replacer: ControlFlowReplacers) => IControlFlowReplacer;

+ 4 - 0
src/types/container/node-transformers/TControlFlowStorageFactory.d.ts

@@ -0,0 +1,4 @@
+import { ICustomNode } from '../../../interfaces/custom-nodes/ICustomNode';
+import { IStorage } from '../../../interfaces/storages/IStorage';
+
+export type TControlFlowStorageFactory = () => IStorage<ICustomNode>;

+ 5 - 0
src/types/container/node-transformers/TIdentifierObfuscatingReplacerFactory.d.ts

@@ -0,0 +1,5 @@
+import { IIdentifierObfuscatingReplacer } from '../../../interfaces/node-transformers/obfuscating-transformers/IIdentifierObfuscatingReplacer';
+
+import { IdentifierObfuscatingReplacers } from '../../../enums/container/node-transformers/IdentifierObfuscatingReplacers';
+
+export type TIdentifierObfuscatingReplacerFactory = (replacer: IdentifierObfuscatingReplacers) => IIdentifierObfuscatingReplacer;

+ 5 - 0
src/types/container/node-transformers/TLiteralObfuscatingReplacerFactory.d.ts

@@ -0,0 +1,5 @@
+import { IObfuscatingReplacer } from '../../../interfaces/node-transformers/obfuscating-transformers/IObfuscatingReplacer';
+
+import { LiteralObfuscatingReplacers } from '../../../enums/container/node-transformers/LiteralObfuscatingReplacers';
+
+export type TLiteralObfuscatingReplacerFactory = (replacer: LiteralObfuscatingReplacers) => IObfuscatingReplacer;

+ 5 - 0
src/types/container/node-transformers/TNodeTransformerFactory.d.ts

@@ -0,0 +1,5 @@
+import { INodeTransformer } from '../../../interfaces/node-transformers/INodeTransformer';
+
+import { NodeTransformers } from '../../../enums/container/node-transformers/NodeTransformers';
+
+export type TNodeTransformerFactory = (nodeTransformerName: NodeTransformers) => INodeTransformer;

+ 5 - 0
src/types/container/stack-trace-analyzer/TCalleeDataExtractorFactory.d.ts

@@ -0,0 +1,5 @@
+import { ICalleeDataExtractor } from '../../../interfaces/stack-trace-analyzer/ICalleeDataExtractor';
+
+import { CalleeDataExtractors } from '../../../enums/container/stack-trace-analyzer/CalleeDataExtractors';
+
+export type TCalleeDataExtractorFactory = (calleeDataExtractorName: CalleeDataExtractors) => ICalleeDataExtractor;

部分文件因文件數量過多而無法顯示