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

59 lines (56 loc) 1.37 kB
#!/usr/bin/env node import { loadConfig } from "./chunk-XJSTAH4R.js"; import { compressWithTNT } from "./chunk-5SJHEFGY.js"; import { compressWithZPH } from "./chunk-6B3QBFML.js"; import { compressWithMiddleOut } from "./chunk-3GMK3JRF.js"; import { compressWithRLE } from "./chunk-C4AH3C7L.js"; import { compressWithSTK } from "./chunk-EJVZUHIS.js"; // src/middleOutCompress/index.ts function middleOutCompress(input, options) { const config = { ...loadConfig(), ...options }; const algorithm = config.algorithm; switch (algorithm) { case "rle": return compressWithRLE(input, config); case "stk": return compressWithSTK(input, config); case "tnt": return compressWithTNT(input, config); case "zph": return compressWithZPH(input, config); default: return compressWithMiddleOut(input, config); } } function compress(input, algo, config) { switch (algo) { case "rle": return compressWithRLE(input, config); case "middle-out": return compressWithMiddleOut(input, config); case "stk": return compressWithSTK(input, config); case "tnt": return compressWithTNT(input, config); case "zph": return compressWithZPH(input, config); default: throw new Error(`Unsupported algorithm: ${algo}`); } } export { middleOutCompress, compress };