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