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
JavaScript
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);