User:Hakerh400/Random JavaScript snippets

In this article I share some of JavaScript snippets I created in the past.

JavaScript snippets

Very inefficient SAT solver

```const solve = cnf => {
let loops = '';
let result = '';
let varsNum = 0;

while(1){
try{
return Function(`
\${loops}
if(\${cnf})
return[\${result}].slice(1)
`)() || null;
}catch(e){
loops += `for(const x\${varsNum} of[0,1])`;
result += `,x\${varsNum++}`;
}
}
};

console.log(solve(`
(x0 | x1) &
(!x0 | !x1) &
x0
`));
```

Integer program generator

```const base = 2n;

const xor = a => f1(base, 0n, BigInt(a));
const swap = a => f1(base, 1n, BigInt(a));
const push = a => f1(base, 2n, BigInt(a));
const pop = (a, b) => f1(base, 3n, f1(base, BigInt(a), BigInt(b)));

const arr = (e, a) => {
let b = 0n;

for(let i = a.length - 1; i !== -1; i--)
b = f1(e, a[i], b);

return b;
};

src = String(base * f1(base, 1n, arr(base, [
swap(2),
pop(20, 3),
push(26),
xor(4),
swap(5),
pop(10, 6),
pop(10, 7),
swap(8),
push(9),
swap(5),
push(11),
xor(12),
push(13),
xor(14),
swap(15),
pop(16, 2),
swap(17),
push(18),
push(19),
xor(15),
swap(21),
pop(0, 22),
pop(21, 23),
swap(24),
push(25),
xor(20),
xor(),
])));

input = BigInt('5');

log(O.match(src, /.{100}|.+/g).join('\n'));
log();
```

Hidden messages

```eval(atob`KGY9KGE9OSxiPWF0b2IoYEdhMTFhVDJzc0lITnZJR3RsWlhBZ1oyOXBibWNoYTExYWJhOWFVR3hsWVhObElISjFiaU
IwYUdVZ2IzVjBjSFYwSUc5bUlIUm9hWE1nY0hKdlozSmhiU0JoWjJGcGJpNGdXVzkxSjJ4c0lHZGxkQ0JoSUdScFptWmxjbVZ1ZE
ZMeTluYVhSb2RXSXVZMjl0TDBoaGEyVnlhRFF3TUM5dWIyUmxMWEJ5YjJwbFkzUnpMMkpzYjJJdk16aGtaamt3T0Rjd1pETXpNRE
UyWXpZNE16ZzBaVEptT0Rka01tRTFOREZqTVRRMk1UWTFZaTlwYm1wbFkzUXRjM1J5TDIxaGFXNHVhbk1hMTdhYTUyYVNTQnNhV3
c1dWVTNGE1MmFIYTQwYVdXOTFJR0Z5WlNCemRHbHNiQ0JvWlhKbFB5QlpiM1VuY21VZ2JtOTBJR0p2Y21Wa0lIbGxkRDhhNDBhYT
hhVFhrZ1ptRjJiM0pwZEdVZ2JuVnRZbVZ5SUdseklEY2E4YURhMWFWR2hoZENkeklHbDBJRG9wQ2xSb1lXNXJJSGx2ZFNCbWIzSW
dkMkYwWTJocGJtY2hJU0VLVEdsclpTd2djM1ZpYzJOeWFXSmxMQ0JvYVhRZ2RHaGxJR0psYkd3c0lIbGhJR3R1YjNjZ2MzUjFabV
lnYkdsclpTQjBhR0YwTGk0dUNnb3JMUzB0TFMwdEt3cDhJQ0FnSUNBZ2ZBcDhJRUo1WlNFZ2ZBcDhJQ0FnSUNBZ2ZBb3JMUzB0TF
MwdEt3YTFhYTIyYVFYTWdTU0JqWVc0Z2MyVmxMQ0I1YjNVZ1lYSmxJR1JsZEdWeWJXbHVaV1FnZEc4Z2NtVmhZMmdnZEdobElHVn
VaQ3dnY21sbmFIUS9hMjJhYTRhVFhrZ1ptRjJiM0pwZEdVZ1kyOXNiM0lnYVhNZ1ozSmxaVzRhNGFhMjZhU1hRZ2FYTWdZV3gzWV
hseklHZHZiMlFnYVdZZ2VXOTFJR2hoZG1VZ2NHeGxiblI1SUc5bUlHWnlaV1VnZEdsdFpTQjBieUJrYnlCeVlXNWtiMjBnYzNSMV
ptWXVhMjZhYTE0YVdXVmhhQ3dnZVc5MUozWmxJR2R2ZENCMGFHVWdhV1JsWVM0Z1NHOTNJRzFoYm5rZ2JXVnpjMkZuWlhNZ1lYSm
xJR1Z1WTI5a1pXUWdhR1Z5WlQ4YTE0YWExM2FUbTkwSUhOMWNtVWdkMmhoZENCMGJ5QnpZWGtnWVhRZ2RHaHBjeUJ3YjJsdWRDNG
ExM2FhMzRhU0dGMlpTQjViM1VnWVd4eVpXRmtlU0JtYVdkMWNtVmtJRzkxZENCb2IzY2dkR2hwY3lCamIyNTBjbUZ3ZEdsdmJpQj
NiM0pyY3o4YTM0YWE1YVFteGhhQ0JDYkdGb0lFSnNZV2d1SUVGdVpDQmhaMkZwYmlCaWJHRm9JR0pzWVdndUxpNGE1YWExMGFTR1
Z5WlNkeklHRWdjMjl1WnlCSklHMWhaR1VnWm05eUlHMTVJR2RwY213NkNncElaWGtzSUhkb1lYUWdaR2xrSUhsdmRTQnpZWGsvQ2
xsdmRTQjNZVzUwSUdFZ1oyRnRaU0I1YjNVZ1lXNWtJRzFsSUhSdklIQnNZWGsvQ2xsdmRTZHNiQ0JpWlNCdGVTQndjbWx1WTJWem
N5QkpKMnhzSUdoaGRtVWdkRzhnYjJKbGVTd0tWRzhnZVc5MWNpQm9aV0Z5ZENCSkoyeHNJRzVsWldRZ2RHOGdabWx1WkNCaElIZG
hlU3dLV1c5MUoyeHNJR3hwZG1VZ2FXNGdaMjlzWkNCaGJtUWdTU0JwYmlCamJHRjVMQXBKSjJ4c0lHaGhkbVVnZEc4Z2EybHpjeU
I1YjNVZ1lXeHNJRzVwWjJoMElHRnVaQ0JrWVhrc0NsbHZkU2R5WlNCdGVTQjBhV2R5WlhOekxDQkpKMjBnZVc5MWNpQndjbVY1TE
FwWmIzVWdZMmhoYzJVZ2JXVWdkR2h5YjNWbmFDQnVhV2RvZEN3Z1NTQnlkVzRnWVhkaGVTd0tTVzRnYlhrZ1ltVmtjbTl2YlNCaG
RDQnpkVzV5YVhObElFa2diR0Y1TEFwWmIzVWdabWx1WkNCdFpTQjBhR1Z5WlN3Z2QybDBhQ0J0WlNCNWIzVWdjM1JoZVN3S1dXOT
FKM0psSUhOdGFXeHBibWNnYkdsd2N5QjBhSEpsWVhSbGJpQjBieUJ6YkdGNUxBcEdiM0lnYldWeVkza2dTU0JpWldjZ2VXOTFMQ0
JKSUhCeVlYa3NDbEJzWldGelpTQmtiMjRuZENCb2RYSjBJRzFsTENCSkoyeHNJR0psSUhsdmRYSWdjMnhoZG1Vc0Nra2djSEp2Yl
dselpTQkpKMnhzSUhObGNuWmxJSGx2ZFNCMGJ5QjBhR1VnWjNKaGRtVXNDa2tuYkd3Z1ptbG5hSFFnWm05eUlIbHZkU0JzYVd0bE
lFa25iU0JpY21GMlpTd0tUMjRnYkdGdVpDQjNaU2RzYkNCemRYSm1JR3hwYTJVZ2RHaGxjbVVuY3lCaElIZGhkbVV1YTEwYWhhN2
FUV0Y1WW1VZ1ptVjNMQ0J0WVhsaVpTQjBhRzkxYzJGdVpITXVMaTRnVjJodklHdHViM2R6UHdhN2FhMjhhV1c5MUlITmxaU0E2S1
hVd05ERTRhMmFsYTE2YVZHaHBjeUJwY3lCdGVTQm1ZWFp2Y21sMFpTQnpiMjVuT2lCb2RIUndjem92TDNkM2R5NTViM1YwZFdKbE
xtTnZiUzkzWVhSamFEOTJQVTV5TkhKaGFETlFNMnBKYTE2YWEyMGFTR1Y1TENCM2FIa2dibTkwSUdwMWMzUWdaMmwyWlNCMWNEOG
dWR2hsY21VZ2JXRjVJR0psSUdFZ2JHOTBJRzF2Y21VZ2JXVnpjMkZuWlhNdWEyMGFgLnNwbGl0KFtjPSgrYXRvYitbXSlbMV1dK2
ErYylbMV0pKT0+Y29uc29sZS5sb2coYS0xP2Ake2BldmFsKGF0b2JcYCR7YnRvYShgKGY9JHtmfSkoKWAucmVwbGFjZSgvXGQrLy
xhPT4oYz1+YSYxKSooYT4+YykrKGM9fmMrMikqLX4oKGE8PGMpK2EqYykpKX1cYClgLnJlcGxhY2UoLy57MTAwfS9nLGE9PmAke2
F9XG5gKX1cbi8qKlxuICpcbiAqICR7Yi5yZXBsYWNlKC9cbi9nLCdcbicrKGQ9JyAnKSsnKiAnK2QrJyAnKX1cbiAqXG4gKi9gOm
IpKSgp`)
```

A loop using a set

```const loop = (a, b) =>
new Set([a]).forEach((a, c, d) =>
```

Search for a string whose compressed length violates gzip compression level expectation

```const find = () => {
const bytes = O.ca(256, i => i);

for(let i = 0n;; i++){
if((i & 65535n) === 0n && i !== 0n)
log(String(i));

const buf = Buffer.from(arrOrder.arr(bytes, i));
let len = null;

for(let j = 1; j <= 9; j++){
const len1 = zlib.gzipSync(buf, {level: j}).length;

if(len !== null && len1 > len)
O.exit(buf);

len = len1;
}
}
}

const test = buf => {
for(let level = 1; level <= 9; level++)
console.log(zlib.gzipSync(buf, {level}).length);
console.log('\n');
};

find();
```

brainfuck to Qarkegs converter

```const a = 'C:/path/to/file.txt';

const src = `
+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++[.>]<<<<.+++.------.<<-.>>>>+.
`;

const b = O.sanl(`
<3(4)5(-545)25
>53(4)5(-545)2
+4
--
,0
.31
[(
])
`.trim()).map(a => a.trim());

const c = O.obj();

for(const a of b)
c[a[0]] = a.slice(1).replace(/\-/g, '4'.repeat(255));

O.wfs(a, (a => {
return a.replace(/./gs, a => {
return a in c ? c[a] : '';
});
})(src));
```