Semi-modular ECMAScript deobfuscator
// before if (something) doSomething() // after if (something) { doSomething() }
// before console.log(![]) console.log(!![]) // after console.log(false) console.log(true)
TODO
// before function test() { return console.log('b'), 'a' } // after function test() { console.log('b') return 'a' }
// before if (null == a) {} // after if (a == null) {}
// before a && console.log('b') // after if (a) { console.log('b') }
TODO
TODO
// before function test() { { console.log('a') } } // after function test() { console.log('a') }
// before function test() { var a = 1, b = 2 } // after function test() { var a = 1 var b = 2 }
// before console['log']('a') // after console.log('a')
// before function a() { return 1 } console.log(a()) // after console.log(1)
// before function test() { if (1 == 1) { console.log('a') } } // after function test() { console.log('a') }
// before console.log('a' + 'b') // after console.log('ab')
TODO
// before var a = void 0 // after var a = undefined