|
@@ -10,22 +10,24 @@ class LiteralObfuscator extends NodeObfuscator_1.NodeObfuscator {
|
|
if (literalNode['x-verbatim-property']) {
|
|
if (literalNode['x-verbatim-property']) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ let content;
|
|
switch (typeof literalNode.value) {
|
|
switch (typeof literalNode.value) {
|
|
- case 'string':
|
|
|
|
- literalNode['x-verbatim-property'] = {
|
|
|
|
- content: this.replaceLiteralStringByArrayElement(literalNode.value),
|
|
|
|
- precedence: escodegen.Precedence.Primary
|
|
|
|
- };
|
|
|
|
|
|
+ case 'boolean':
|
|
|
|
+ content = this.replaceLiteralBooleanByJSFuck(literalNode.value);
|
|
break;
|
|
break;
|
|
case 'number':
|
|
case 'number':
|
|
- literalNode['x-verbatim-property'] = {
|
|
|
|
- content: this.replaceLiteralNumberByHexadecimalValue(literalNode.value),
|
|
|
|
- precedence: escodegen.Precedence.Primary
|
|
|
|
- };
|
|
|
|
|
|
+ content = this.replaceLiteralNumberByHexadecimalValue(literalNode.value);
|
|
break;
|
|
break;
|
|
- default:
|
|
|
|
|
|
+ case 'string':
|
|
|
|
+ content = this.replaceLiteralStringByArrayElement(literalNode.value);
|
|
break;
|
|
break;
|
|
|
|
+ default:
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+ literalNode['x-verbatim-property'] = {
|
|
|
|
+ content: content,
|
|
|
|
+ precedence: escodegen.Precedence.Primary
|
|
|
|
+ };
|
|
}
|
|
}
|
|
}
|
|
}
|
|
exports.LiteralObfuscator = LiteralObfuscator;
|
|
exports.LiteralObfuscator = LiteralObfuscator;
|