Artifact
af3bda58bfb66fa9ddfd71b90b92a04f6aa568535e0471d3236f40d0f9ae7fc5:
0000: 69 6d 70 6f 72 74 20 6a 73 6f 6e 55 72 6c 20 66 import jsonUrl f
0010: 72 6f 6d 20 27 6d 61 69 6e 2f 69 6e 64 65 78 2e rom 'main/index.
0020: 6a 73 27 3b 0a 69 6d 70 6f 72 74 20 73 61 6d 70 js';.import samp
0030: 6c 65 73 20 66 72 6f 6d 20 27 2e 2f 73 61 6d 70 les from './samp
0040: 6c 65 73 2e 6a 73 6f 6e 27 3b 0a 69 6d 70 6f 72 les.json';.impor
0050: 74 20 41 4c 47 4f 52 49 54 48 4d 53 20 66 72 6f t ALGORITHMS fro
0060: 6d 20 27 6d 61 69 6e 2f 63 6f 6d 70 72 65 73 73 m 'main/compress
0070: 27 3b 0a 0a 63 6f 6e 73 74 20 61 6c 67 6f 72 69 ';..const algori
0080: 74 68 6d 73 20 3d 20 4f 62 6a 65 63 74 2e 6b 65 thms = Object.ke
0090: 79 73 28 41 4c 47 4f 52 49 54 48 4d 53 29 3b 0a ys(ALGORITHMS);.
00a0: 0a 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 .async function
00b0: 6d 61 69 6e 28 29 20 7b 0a 0a 09 63 6f 6e 73 74 main() {...const
00c0: 20 72 65 73 75 6c 74 73 20 3d 20 6e 65 77 20 41 results = new A
00d0: 72 72 61 79 28 73 61 6d 70 6c 65 73 2e 6c 65 6e rray(samples.len
00e0: 67 74 68 29 3b 0a 0a 09 66 6f 72 20 28 63 6f 6e gth);...for (con
00f0: 73 74 20 61 6c 67 6f 72 69 74 68 6d 20 6f 66 20 st algorithm of
0100: 61 6c 67 6f 72 69 74 68 6d 73 29 20 7b 0a 09 09 algorithms) {...
0110: 63 6f 6e 73 74 20 6c 69 62 20 3d 20 6a 73 6f 6e const lib = json
0120: 55 72 6c 28 61 6c 67 6f 72 69 74 68 6d 29 3b 0a Url(algorithm);.
0130: 09 09 6c 65 74 20 63 6f 75 6e 74 65 72 20 3d 20 ..let counter =
0140: 30 3b 0a 09 09 66 6f 72 20 28 63 6f 6e 73 74 20 0;...for (const
0150: 64 61 74 75 6d 20 6f 66 20 73 61 6d 70 6c 65 73 datum of samples
0160: 29 20 7b 0a 09 09 09 63 6f 6e 73 74 20 7b 20 72 ) {....const { r
0170: 61 77 2c 20 72 61 77 65 6e 63 6f 64 65 64 2c 20 aw, rawencoded,
0180: 63 6f 6d 70 72 65 73 73 65 64 65 6e 63 6f 64 65 compressedencode
0190: 64 2c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 7d d, compression }
01a0: 20 3d 20 61 77 61 69 74 20 6c 69 62 2e 73 74 61 = await lib.sta
01b0: 74 73 28 64 61 74 75 6d 29 3b 0a 09 09 09 72 65 ts(datum);....re
01c0: 73 75 6c 74 73 5b 63 6f 75 6e 74 65 72 5d 20 3d sults[counter] =
01d0: 20 72 65 73 75 6c 74 73 5b 63 6f 75 6e 74 65 72 results[counter
01e0: 5d 20 7c 7c 20 7b 7d 3b 0a 09 09 09 72 65 73 75 ] || {};....resu
01f0: 6c 74 73 5b 63 6f 75 6e 74 65 72 5d 2e 72 61 77 lts[counter].raw
0200: 20 3d 20 72 61 77 3b 0a 09 09 09 72 65 73 75 6c = raw;....resul
0210: 74 73 5b 63 6f 75 6e 74 65 72 5d 2e 72 61 77 65 ts[counter].rawe
0220: 6e 63 6f 64 65 64 20 3d 20 72 61 77 65 6e 63 6f ncoded = rawenco
0230: 64 65 64 3b 0a 09 09 09 72 65 73 75 6c 74 73 5b ded;....results[
0240: 63 6f 75 6e 74 65 72 5d 5b 61 6c 67 6f 72 69 74 counter][algorit
0250: 68 6d 5d 20 3d 20 7b 0a 09 09 09 09 72 61 74 69 hm] = {.....rati
0260: 6f 3a 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 0a o: compression,.
0270: 09 09 09 09 63 6f 6d 70 72 65 73 73 65 64 3a 20 ....compressed:
0280: 63 6f 6d 70 72 65 73 73 65 64 65 6e 63 6f 64 65 compressedencode
0290: 64 0a 09 09 09 7d 3b 0a 09 09 09 63 6f 75 6e 74 d....};....count
02a0: 65 72 20 2b 3d 20 31 3b 0a 09 09 7d 0a 09 7d 0a er += 1;...}..}.
02b0: 0a 09 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 4a 53 ..console.log(JS
02c0: 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 72 65 73 ON.stringify(res
02d0: 75 6c 74 73 2c 20 6e 75 6c 6c 2c 20 32 29 29 3b ults, null, 2));
02e0: 0a 7d 0a 0a 6d 61 69 6e 28 29 3b .}..main();