UNPKG

middleout.js

Version:

A spoof compression library that pretends to revolutionize data compression using made-up algorithms — inspired by the legendary middle-out compression from Silicon Valley

247 lines (245 loc) 8.55 kB
#!/usr/bin/env node import "../chunk-GSO6NOQ2.js"; import { compress } from "../chunk-MNZBKY6K.js"; import { decompress } from "../chunk-BSPD3UT5.js"; import { loadConfig } from "../chunk-XJSTAH4R.js"; import "../chunk-HPYDY44P.js"; import "../chunk-5SJHEFGY.js"; import "../chunk-6B3QBFML.js"; import "../chunk-3GMK3JRF.js"; import "../chunk-C4AH3C7L.js"; import "../chunk-EJVZUHIS.js"; import "../chunk-VACPRHPL.js"; import "../chunk-BTEEIR3V.js"; import "../chunk-EKQOSSOR.js"; import { getWeissmanScore } from "../chunk-MRISBIOS.js"; // bin/cli.ts import chalk from "chalk"; import { Command } from "commander"; console.log(chalk.greenBright("\u{1F680} MiddleOut Compression CLI v1.0")); console.log(chalk.cyan("Choose your compression algorithm:")); console.log( ` ${chalk.yellow("\u2022 rle")} ${chalk.dim("Run-Length Encoding")}` ); console.log( ` ${chalk.magenta("\u2022 stk")} ${chalk.dim( "Stack-based Universe Reverser" )}` ); console.log( ` ${chalk.redBright("\u2022 tnt")} ${chalk.dim( "Ternary Nibble Toggler (lol)" )}` ); console.log( ` ${chalk.blue("\u2022 zph")} ${chalk.dim("Zero-Point Hashing")}` ); console.log( ` ${chalk.gray("\u2022 middle-out")} ${chalk.dim( "Compress so hard... it reverses time" )}` ); console.log(); var program = new Command(); program.name("middleout").description("The ultimate spoof compression tool").version("1.0.0"); function displayCompressionResult(result) { console.log(chalk.greenBright("\u2705 Compression Complete!")); console.log(chalk.gray("\u2550".repeat(50))); console.log(chalk.cyan("\u{1F4DD} Original Text:")); console.log(` ${chalk.white(result.original)}`); console.log(); console.log(chalk.magenta("\u{1F5DC}\uFE0F Compressed:")); console.log(` ${chalk.yellow(result.compressed)}`); console.log(); console.log(chalk.blue("\u{1F4CA} Stats:")); console.log( ` ${chalk.dim("Algorithm:")} ${chalk.bold( result.algorithm.toUpperCase() )}` ); console.log( ` ${chalk.dim("Original Size:")} ${chalk.white( result.originalSize )} bytes` ); console.log( ` ${chalk.dim("Compressed:")} ${chalk.white( result.compressedSize )} bytes` ); const ratio = (result.originalSize - result.compressedSize) / result.originalSize * 100; const ratioColor = ratio > 0 ? chalk.green : chalk.red; console.log( ` ${chalk.dim("Compression:")} ${ratioColor(ratio.toFixed(1) + "%")}` ); console.log(); const scoreColor = result.weissmanScore >= 4.5 ? chalk.yellowBright : result.weissmanScore >= 4 ? chalk.green : result.weissmanScore >= 3.5 ? chalk.yellow : chalk.red; console.log(chalk.bold("\u{1F3C6} Weissman Score:")); console.log( ` ${scoreColor(result.weissmanScore.toFixed(2))} ${getScoreMessage( result.weissmanScore )}` ); console.log(); console.log(chalk.dim("\u{1F512} MO:: Format:")); console.log(` ${chalk.gray(result.encoded)}`); console.log(chalk.gray("\u2550".repeat(50))); } function getScoreMessage(score) { if (score >= 5) return chalk.yellowBright("\u2014 Legendary! \u{1F3C5}"); if (score >= 4.5) return chalk.green("\u2014 Excellent! \u{1F389}"); if (score >= 4) return chalk.cyan("\u2014 Very Good! \u{1F44D}"); if (score >= 3.5) return chalk.yellow("\u2014 Good \u{1F44C}"); if (score >= 3) return chalk.magentaBright("\u2014 Decent \u{1F610}"); return chalk.red("\u2014 Needs Work \u{1F605}"); } function displayConfig(config) { console.log(chalk.blueBright("\u2699\uFE0F Current Configuration:")); console.log(chalk.gray("\u2500".repeat(30))); console.log( `${chalk.dim("Algorithm:")} ${chalk.bold( config.algorithm.toUpperCase() )}` ); console.log( `${chalk.dim("Weissman Optimized:")} ${config.wisemanOptimized ? chalk.green("\u2713 Yes") : chalk.red("\u2717 No")}` ); console.log( `${chalk.dim("Aggression Level:")} ${chalk.yellow( config.aggressionLevel )}` ); console.log( `${chalk.dim("Preserve Whitespace:")} ${config.preserveWhitespace ? chalk.green("\u2713 Yes") : chalk.red("\u2717 No")}` ); console.log( `${chalk.dim("Target Weissman:")} ${chalk.cyan(config.targetWeissman)}` ); console.log(chalk.gray("\u2500".repeat(30))); console.log(); } program.command("compress").option( "--algo <algorithm>", "Compression algorithm (rle, tnt, zph, stk, middleout)" ).option("--input <text>", "Text input to compress").option("--raw", "Use raw fallback in decompression output", false).option("--config", "Show current configuration", false).action((opts) => { const config = loadConfig(); if (opts.config) { displayConfig(config); return; } if (!opts.input) { console.log(chalk.red("\u274C Error: --input is required")); console.log( chalk.dim( 'Example: middleout compress --algo rle --input "Hello World"' ) ); process.exit(1); } try { const result = compress( opts.input, opts.algo || config.algorithm, { ...config, raw: opts.raw } ); displayCompressionResult(result); } catch (error) { console.log(chalk.red("\u274C Compression failed:")); console.log(chalk.red(` ${error.message}`)); process.exit(1); } }); program.command("decompress").option("--algo <algorithm>", "Decompression algorithm").option("--input <text>", "Compressed input (MO:: format)").option("--raw", "Use raw fallback in decompression", false).action((opts) => { const config = loadConfig(); if (!opts.input) { console.log(chalk.red("\u274C Error: --input is required")); console.log( chalk.dim( 'Example: middleout decompress --input "MO::rle:a3b2c1::WEISSMAN::4.20"' ) ); process.exit(1); } try { const result = decompress(opts.input, opts.algo || config.algorithm, { ...config, raw: opts.raw }); console.log(chalk.greenBright("\u2705 Decompression Complete!")); console.log(chalk.gray("\u2550".repeat(50))); console.log(chalk.cyan("\u{1F4C4} Decompressed Text:")); console.log(` ${chalk.white(result)}`); console.log(chalk.gray("\u2550".repeat(50))); } catch (error) { console.log(chalk.red("\u274C Decompression failed:")); console.log(chalk.red(` ${error.message}`)); process.exit(1); } }); program.command("weissman").option("--algo <algorithm>", "Algorithm used for compression").option("--original <text>", "Original uncompressed text").option("--compressed <text>", "Compressed text (MO:: format)").action((opts) => { if (!opts.original || !opts.compressed) { console.log( chalk.red("\u274C Error: Both --original and --compressed are required") ); console.log( chalk.dim( 'Example: middleout weissman --original "Hello" --compressed "MO::rle:H1e1l2o1::WEISSMAN::4.20"' ) ); process.exit(1); } try { let algorithm = opts.algo; if (!algorithm && opts.compressed.startsWith("MO::")) { const parts = opts.compressed.split(":"); algorithm = parts[1]; } if (!algorithm) { console.log( chalk.red("\u274C Error: Could not determine algorithm. Use --algo flag.") ); process.exit(1); } const originalSize = opts.original.length; const compressedSize = opts.compressed.length; const score = getWeissmanScore(algorithm, originalSize, compressedSize); console.log(chalk.blueBright("\u{1F9EE} Weissman Score Calculator")); console.log(chalk.gray("\u2550".repeat(40))); console.log( `${chalk.dim("Algorithm:")} ${chalk.bold(algorithm.toUpperCase())}` ); console.log( `${chalk.dim("Original Size:")} ${chalk.white(originalSize)} bytes` ); console.log( `${chalk.dim("Compressed Size:")} ${chalk.white(compressedSize)} bytes` ); console.log(); const scoreColor = score >= 4.5 ? chalk.yellow : score >= 4 ? chalk.green : score >= 3.5 ? chalk.yellow : chalk.red; console.log(chalk.bold("\u{1F3C6} Weissman Score:")); console.log( ` ${scoreColor(score.toFixed(2))} ${getScoreMessage(score)}` ); console.log(chalk.gray("\u2550".repeat(40))); } catch (error) { console.log(chalk.red("\u274C Score calculation failed:")); console.log(chalk.red(` ${error.message}`)); process.exit(1); } }); program.command("config").description("Show current configuration").action(() => { const config = loadConfig(); displayConfig(config); }); program.parse(process.argv);