tzf-rs 1.3.0

Fast convert longitude,latitude to timezone name.
Documentation
use std::env;
use tzf_dist::load_topology_compress_topo;
use tzf_rs::{DefaultFinder, Finder, FinderOptions, pbgen};

fn parse_mode(mode: &str) -> FinderOptions {
    match mode {
        "ystripes" => FinderOptions::y_stripes(),
        "noindex" => FinderOptions::no_index(),
        _ => FinderOptions::y_stripes(),
    }
}

fn main() {
    let target = env::args().nth(1).unwrap_or_else(|| "finder".to_string());
    let mode = env::args().nth(2).unwrap_or_else(|| "ystripes".to_string());

    match target.as_str() {
        "default" => {
            let options = parse_mode(&mode);
            let default_finder = DefaultFinder::new_with_options(options);
            println!("{}", default_finder.timezonenames().len());
        }
        _ => {
            let options = parse_mode(&mode);
            let tzs = pbgen::CompressedTopoTimezones::try_from(load_topology_compress_topo())
                .unwrap_or_default();
            let finder = Finder::from_compressed_topo_with_options(tzs, options);
            println!("{}", finder.timezonenames().len());
        }
    }
}