inversify test integration WIP

This commit is contained in:
sanex3339
2016-11-28 20:38:30 +03:00
parent a9bc4fd444
commit 2d772720b0
23 changed files with 1153 additions and 679 deletions
+16 -3
View File
@@ -7,11 +7,13 @@ import * as ESTree from 'estree';
import { Chance } from 'chance';
import { ICustomNode } from './interfaces/custom-nodes/ICustomNode';
import { IObfuscationResult } from './interfaces/IObfuscationResult';
import { IObfuscator } from './interfaces/IObfuscator';
import { IGeneratorOutput } from './interfaces/IGeneratorOutput';
import { IInputOptions } from './interfaces/IInputOptions';
import { IOptions } from './interfaces/IOptions';
import { IStorage } from './interfaces/IStorage';
import { ObfuscationResult } from './ObfuscationResult';
import { SourceMapCorrector } from './SourceMapCorrector';
@@ -33,6 +35,11 @@ export class JavaScriptObfuscatorInternal {
loc: true
};
/**
* @types {IStorage<ICustomNode>}
*/
private readonly customNodesStorage: IStorage<ICustomNode>;
/**
* @types {InversifyContainerFacade}
*/
@@ -54,8 +61,14 @@ export class JavaScriptObfuscatorInternal {
constructor (inputOptions: IInputOptions) {
this.inversifyContainerFacade = new InversifyContainerFacade(inputOptions);
this.obfuscator = this.inversifyContainerFacade.get<IObfuscator>(ServiceIdentifiers.IObfuscator);
this.options = this.inversifyContainerFacade.get<IOptions>(ServiceIdentifiers.IOptions);
this.obfuscator = this.inversifyContainerFacade
.get<IObfuscator>(ServiceIdentifiers.IObfuscator);
this.customNodesStorage = this.inversifyContainerFacade
.get<IStorage<ICustomNode>>(ServiceIdentifiers['IStorage<ICustomNode>']);
this.options = this.inversifyContainerFacade
.get<IOptions>(ServiceIdentifiers.IOptions);
}
/**
@@ -112,7 +125,7 @@ export class JavaScriptObfuscatorInternal {
const astTree: ESTree.Program = esprima.parse(sourceCode, JavaScriptObfuscatorInternal.esprimaParams);
// obfuscate AST tree
const obfuscatedAstTree: ESTree.Program = this.obfuscator.obfuscateAstTree(astTree);
const obfuscatedAstTree: ESTree.Program = this.obfuscator.obfuscateAstTree(astTree, this.customNodesStorage);
// generate code
const generatorOutput: IGeneratorOutput = this.generateCode(sourceCode, obfuscatedAstTree);