Files
javascript-obfuscator-javas…/dist/src/JavaScriptObfuscator.js
T

59 lines
2.3 KiB
JavaScript

"use strict";
var _createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);
}
}return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
};
}();
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
var esprima = require('esprima');
var escodegen = require('escodegen');
var DefaultPreset_1 = require('./preset-options/DefaultPreset');
var Obfuscator_1 = require('./Obfuscator');
var OptionsNormalizer_1 = require("./OptionsNormalizer");
var JavaScriptObfuscator = function () {
function JavaScriptObfuscator() {
_classCallCheck(this, JavaScriptObfuscator);
}
_createClass(JavaScriptObfuscator, null, [{
key: 'obfuscate',
value: function obfuscate(sourceCode, customOptions) {
var astTree = esprima.parse(sourceCode),
options = OptionsNormalizer_1.OptionsNormalizer.normalize(Object.assign({}, DefaultPreset_1.DEFAULT_PRESET, customOptions)),
obfuscator = new Obfuscator_1.Obfuscator(options);
astTree = obfuscator.obfuscateNode(astTree);
return JavaScriptObfuscator.generateCode(astTree, options);
}
}, {
key: 'generateCode',
value: function generateCode(astTree, options) {
var escodegenParams = Object.assign({}, JavaScriptObfuscator.escodegenParams);
if (options.hasOwnProperty('compact')) {
escodegenParams.format = {
compact: options.compact
};
}
return escodegen.generate(astTree, escodegenParams);
}
}]);
return JavaScriptObfuscator;
}();
JavaScriptObfuscator.escodegenParams = {
verbatim: 'x-verbatim-property'
};
exports.JavaScriptObfuscator = JavaScriptObfuscator;