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

76 lines (73 loc) 2 kB
#!/usr/bin/env node import { loadConfig } from "./chunk-XJSTAH4R.js"; import { decompressWithTNT } from "./chunk-5SJHEFGY.js"; import { decompressWithZPH } from "./chunk-6B3QBFML.js"; import { decompressWithMiddleOut } from "./chunk-3GMK3JRF.js"; import { decompressWithRLE } from "./chunk-C4AH3C7L.js"; import { decompressWithSTK } from "./chunk-EJVZUHIS.js"; import { decodeMO } from "./chunk-EKQOSSOR.js"; // src/middleOutDecompress/index.ts import chalk from "chalk"; function middleOutDecompress(compressed, options) { const config = { ...loadConfig(), ...options }; try { const { algorithm } = decodeMO(compressed); switch (algorithm) { case "rle": return decompressWithRLE(compressed); case "stk": return decompressWithSTK(compressed); case "tnt": return decompressWithTNT(compressed); case "zph": return decompressWithZPH(compressed); case "middle-out": return decompressWithMiddleOut(compressed); default: return decompressWithMiddleOut(compressed, true); } } catch (error) { return decompressWithMiddleOut(compressed, true); } } function decompress(encoded, algo, config) { switch (algo) { case "rle": return decompressWithRLE(encoded); case "stk": return decompressWithSTK(encoded); case "tnt": return decompressWithTNT(encoded); case "zph": return decompressWithZPH(encoded); case "middle-out": return decompressWithMiddleOut(encoded); default: console.log( chalk.yellow.bold("\u26A0\uFE0F Unsupported algorithm."), chalk.dim("Falling back to") + " " + chalk.green("middleout decompression") + "..." ); const fallbackResult = decompressWithMiddleOut(encoded, true); console.log(chalk.cyan("\n\u{1FA84} Decompressed Result:")); console.log(chalk.whiteBright(fallbackResult)); return fallbackResult; } } export { middleOutDecompress, decompress };