Merge pull request #439 from zamotkin/bug/437_no-value-node

Fixed issue #437
This commit is contained in:
Timofey Kachalov
2019-11-21 16:49:30 +03:00
committed by GitHub
6 changed files with 44 additions and 4 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
@@ -83,7 +83,8 @@ export abstract class AbstractPropertiesExtractor implements IPropertiesExtracto
* @returns {propertyValueNode is Pattern}
*/
protected static isProhibitedPattern (node: ESTree.Node): node is ESTree.Pattern {
return NodeGuards.isObjectPatternNode(node)
return !node
|| NodeGuards.isObjectPatternNode(node)
|| NodeGuards.isArrayPatternNode(node)
|| NodeGuards.isAssignmentPatternNode(node)
|| NodeGuards.isRestElementNode(node);
@@ -0,0 +1,10 @@
var obj1={
firstname:'John',
lastname:'Smith'
};
var obj2={
age:40,
country:'USA'
}
var user={...obj1, ...obj2}
console.log(user);
@@ -0,0 +1,29 @@
import { assert } from 'chai';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../src/options/presets/NoCustomNodes';
import { readFileAsString } from '../../helpers/readFileAsString';
import { JavaScriptObfuscator } from '../../../src/JavaScriptObfuscatorFacade';
//
// https://github.com/javascript-obfuscator/javascript-obfuscator/issues/437
//
describe('Issue #437', () => {
describe('Fixture code should not break on obfuscating', () => {
let doObfuscate: Function;
before(() => {
const code: string = readFileAsString(__dirname + '/fixtures/issue437.js');
doObfuscate = () => JavaScriptObfuscator.obfuscate(
code,
{
...NO_ADDITIONAL_NODES_PRESET,
transformObjectKeys: true
}
).getObfuscatedCode();
});
it('does not break on obfuscating', () => {
assert.doesNotThrow(doObfuscate);
});
});
});