UNPKG

vanzy-protect

Version:

Epic Obfuscator Yeahhh

38 lines (37 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.memberExpression = void 0; const cfg_1 = require("../config/cfg"); const obfuscateName_1 = require("../obfuscate/obfuscateName"); const stringObf_1 = require("../obfuscate/stringObf"); const awaitExpression_1 = require("./awaitExpression"); const rightExpression_1 = require("./rightExpression"); function memberExpression({ object, property, computed, optional }) { var data = '('; if (object.type === 'MemberExpression') { data += memberExpression(object); } else if (object.type === 'Identifier') { const name = object.name; data += (0, cfg_1.cfg)().transforms.obfuscateNames ? (0, obfuscateName_1.obfuscateName)(name) : name; } else if (object.type === 'AwaitExpression') { data += '(' + (0, awaitExpression_1.awaitExpression)(object) + ')'; } else { data += (0, rightExpression_1.rightExpression)(object); } data += ')'; if (optional) data += '?.'; data += '['; if (computed) { data += (0, rightExpression_1.rightExpression)(property); } else { data += (0, stringObf_1.stringObf)(property.name, (0, cfg_1.cfg)().transforms.keyObfuscationLevel); } data += ']'; return data; } exports.memberExpression = memberExpression;