소스 검색

concretize scope for bindings

sanex3339 8 년 전
부모
커밋
dfda3d01bd
4개의 변경된 파일268개의 추가작업 그리고 216개의 파일을 삭제
  1. 256 215
      dist/index.js
  2. 2 1
      src/container/InversifyContainerFacade.ts
  3. 1 0
      src/container/modules/NodeControlFlowTransformersModule.ts
  4. 9 0
      src/container/modules/NodeObfuscatorsModule.ts

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 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');
 });

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.