Procházet zdrojové kódy

concretize scope for bindings

sanex3339 před 8 roky
rodič
revize
dfda3d01bd

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 256 - 215
dist/index.js


+ 2 - 1
src/container/InversifyContainerFacade.ts

@@ -43,7 +43,8 @@ export class InversifyContainerFacade {
 
         this.container
             .bind<IObfuscator>(ServiceIdentifiers.IObfuscator)
-            .to(Obfuscator);
+            .to(Obfuscator)
+            .inSingletonScope();
 
         this.container
             .bind<IObfuscationEventEmitter>(ServiceIdentifiers.IObfuscationEventEmitter)

+ 1 - 0
src/container/modules/NodeControlFlowTransformersModule.ts

@@ -7,5 +7,6 @@ import { FunctionControlFlowTransformer } from '../../node-transformers/node-con
 export const nodeControlFlowTransformersModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
     bind<INodeTransformer>('INodeTransformer')
         .to(FunctionControlFlowTransformer)
+        .inSingletonScope()
         .whenTargetNamed('FunctionControlFlowTransformer');
 });

+ 9 - 0
src/container/modules/NodeObfuscatorsModule.ts

@@ -15,37 +15,46 @@ import { VariableDeclarationObfuscator } from '../../node-transformers/node-obfu
 export const nodeObfuscatorsModule: interfaces.ContainerModule = new ContainerModule((bind: interfaces.Bind) => {
     bind<INodeTransformer>('INodeTransformer')
         .to(CatchClauseObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('CatchClauseObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(FunctionDeclarationObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('FunctionDeclarationObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(FunctionObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('FunctionObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(LabeledStatementObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('LabeledStatementObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(LiteralObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('LiteralObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(MemberExpressionObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('MemberExpressionObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(MethodDefinitionObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('MethodDefinitionObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(ObjectExpressionObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('ObjectExpressionObfuscator');
 
     bind<INodeTransformer>('INodeTransformer')
         .to(VariableDeclarationObfuscator)
+        .inSingletonScope()
         .whenTargetNamed('VariableDeclarationObfuscator');
 });

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů