UNPKG

vanzy-protect

Version:

Epic Obfuscator Yeahhh

40 lines (39 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.leftExpression = exports.getThis = exports.thisStack = void 0; const cfg_1 = require("../config/cfg"); const warn_1 = require("../log/warn"); const obfuscateName_1 = require("../obfuscate/obfuscateName"); const arrayPattern_1 = require("./arrayPattern"); const memberExpression_1 = require("./memberExpression"); const objectPattern_1 = require("./objectPattern"); exports.thisStack = []; const getThis = () => exports.thisStack[exports.thisStack.length - 1] ?? 'this'; exports.getThis = getThis; function leftExpression(expr, warnMsg = true) { if (!expr) { (0, warn_1.warn)(`${expr} passed to leftExpression(e), stack trace follows:`); console.log((new Error()).stack); } if (expr.type === 'Identifier') { if ((0, cfg_1.cfg)().transforms.obfuscateNames) return (0, obfuscateName_1.obfuscateName)(expr.name); return expr.name; } else if (expr.type === 'MemberExpression') { return (0, memberExpression_1.memberExpression)(expr); } else if (expr.type === 'ThisExpression') { return (0, exports.getThis)(); } else if (expr.type === 'ObjectPattern') { return (0, objectPattern_1.objectPattern)(expr); } else if (expr.type === 'ArrayPattern') { return (0, arrayPattern_1.arrayPattern)(expr); } else if (warnMsg) (0, warn_1.warn)(`Unknown expression type in leftExpression(e) : ${expr.type}`); return null; } exports.leftExpression = leftExpression;