synchrony
synchrony copied to clipboard
[request] Remove unnecessary things
A couple things:
- Remove unused parameters (or values in general):
async function sendToForum(_0x87a2bc) {
try {
location.href = "forum";
} catch (_0x3094304894) {
console.log("aaa");
}
}
into
async function sendToForum() {
try {
location.href = "forum";
} catch {
console.log("aaa");
}
}
- Un-functionify stuff? Not sure how to say it, but turn
(function () {
var _0x5da15e;
try {
var _0x9b11dd = Function(
'return (function() {}.constructor("return this")( ));'
);
_0x5da15e = _0x9b11dd();
} catch (_0x4312ea) {
_0x5da15e = window;
}
_0x5da15e.setInterval(_0x526f94, 4000);
})();
into
var _0x5da15e;
try {
var _0x9b11dd = Function(
'return (function() {}.constructor("return this")( ));'
);
_0x5da15e = _0x9b11dd();
} catch (_0x4312ea) {
_0x5da15e = window;
}
_0x5da15e.setInterval(_0x526f94, 4000);
Un-functionify stuff
Small issue this could introduce is that for example, if _0x9b11dd is already defined on the outer scope, it could modify the behaviour of the program at runtime.
I'd say its best to play it safe and only apply it to the currently handled case of
let f = (function () {
return function actualFunction(foo) {/* Contents */}
})();
(Seems to not be on the website version but works with the git repo)
To add a few pet peeves of mine:
// All elements are known, this can be statically parsed to a string (Might even be possible with variables but let's not get ahead of ourselves)
let a = ['a', 'b', 'c'].join("")
let b = function () {}
// Any of the following can be simplified to a normal function call (with the possibility of args as well)
b.bind(this)()
b.call(this)
b.apply(this)
// Simplification for functions like
// add, sub, mul, div, xor, left/right shift...
function sum(a, b) {
return a+b
}
let c = sum(2, 3) // Can be substituted with 2 + 3 or even directly 5