use sqz_engine::SqzEngine;
fn main() {
let engine = SqzEngine::new().expect("failed to init engine");
let plain = "hello world, this is a simple string";
let result = engine.compress(plain).unwrap();
println!("=== Plain text ===");
println!("input: {plain}");
println!("output: {}", result.data);
println!("tokens: {} → {}", result.tokens_original, result.tokens_compressed);
println!("stages: {:?}", result.stages_applied);
println!();
let repeated = "Loading...\nLoading...\nLoading...\nLoading...\nLoading...\nDone.";
let result = engine.compress(repeated).unwrap();
println!("=== Repeated lines ===");
println!("input lines: {}", repeated.lines().count());
println!("output lines: {}", result.data.lines().count());
println!("output:\n{}", result.data);
println!();
let safe_result = engine.compress_or_passthrough("anything goes here");
println!("=== Passthrough (never fails) ===");
println!("output: {}", safe_result.data);
println!("ratio: {:.2}", safe_result.compression_ratio);
}