UNPKG

vanzy-protect

Version:

Epic Obfuscator Yeahhh

66 lines (65 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.methodDefinition = void 0; const cfg_1 = require("../config/cfg"); const warn_1 = require("../log/warn"); const comment_1 = require("../obfuscate/comment"); const obfuscateName_1 = require("../obfuscate/obfuscateName"); const stringObfLvl1_1 = require("../obfuscate/stringObfLvl1"); const arrayPattern_1 = require("./arrayPattern"); const assignmentExpression_1 = require("./assignmentExpression"); const objectPattern_1 = require("./objectPattern"); const rightExpression_1 = require("./rightExpression"); const traverse_1 = require("./traverse"); function methodDefinition(expr) { var data = ''; if (expr.static) { data += 'static '; data += (0, comment_1.comment)(2); } if (expr.async) { data += 'async '; data += (0, comment_1.comment)(2); } if (expr.key.type === 'Identifier' && expr.key.name === 'constructor') { data += (0, comment_1.comment)(2) + 'constructor' + (0, comment_1.comment)(2) + '('; } else { data += '[' + (0, comment_1.comment)(2); if (expr.computed) { data += (0, rightExpression_1.rightExpression)(expr.key); } else if (expr.key.type === 'Identifier') { data += (0, stringObfLvl1_1.stringObfLvl1)(expr.key.name); } else if (expr.key.type === 'Literal') { data += (0, stringObfLvl1_1.stringObfLvl1)(expr.key.value); } data += ']' + (0, comment_1.comment)(3) + '('; } ; expr.value.params.forEach((i, n) => { if (i.type === 'Identifier') { var pname = i.name; if ((0, cfg_1.cfg)().transforms.obfuscateNames) pname = (0, obfuscateName_1.obfuscateName)(pname); data += pname + (0, comment_1.comment)(3) + ',' + (0, comment_1.comment)(3); } else if (i.type === 'AssignmentPattern') { data += (0, assignmentExpression_1.assignmentExpression)({ operator: '=', ...i }) + (0, comment_1.comment)(3) + ',' + (0, comment_1.comment)(3); } else if (i.type === 'ObjectPattern') { data += (0, objectPattern_1.objectPattern)(i) + (0, comment_1.comment)(3) + ',' + (0, comment_1.comment)(3); } else if (i.type === 'ArrayPattern') { data += (0, arrayPattern_1.arrayPattern)(i) + (0, comment_1.comment)(3) + ',' + (0, comment_1.comment)(3); } else (0, warn_1.warn)(`Unknown expression type in methodDefinition(e) => e.value.params[${n}] : ${i.type}`); }); data += '){'; data += (0, traverse_1.traverse)(expr.value.body.body); data += '}'; return data; } exports.methodDefinition = methodDefinition;