This commit is contained in:
sanex3339
2016-06-11 16:25:35 +03:00
parent 4c5877368a
commit ea27616627
19 changed files with 145 additions and 673 deletions
+6 -7
View File
@@ -1,7 +1,5 @@
"use strict";
import kernel from "./Kernel";
import * as esprima from 'esprima';
import * as escodegen from 'escodegen';
@@ -10,6 +8,9 @@ import { IObfuscator } from "./interfaces/IObfuscator";
import { IOptions } from './interfaces/IOptions';
import { IOptionsPreset } from "./interfaces/IOptionsPreset";
import { Obfuscator } from "./Obfuscator";
import { Options } from "./Options";
export class JavaScriptObfuscator {
/**
* @type {GenerateOptions}
@@ -24,10 +25,8 @@ export class JavaScriptObfuscator {
*/
public static obfuscate (sourceCode: string, customOptions?: IOptionsPreset): string {
let astTree: INode = esprima.parse(sourceCode),
options: IOptions = kernel.get<IOptions>('IOptions'),
obfuscator: IObfuscator = kernel.get<IObfuscator>('IObfuscator');
options.assign(customOptions);
options: IOptions = new Options(customOptions),
obfuscator: IObfuscator = new Obfuscator(options);
astTree = obfuscator.obfuscateNode(astTree);
@@ -42,7 +41,7 @@ export class JavaScriptObfuscator {
let escodegenParams: escodegen.GenerateOptions = Object.assign({}, JavaScriptObfuscator.escodegenParams);
escodegenParams.format = {
compact: options.getOption('compact')
compact: options.get<boolean>('compact')
};
return escodegen.generate(astTree, escodegenParams);