use crate::{Config, Zoom};
use std::fs::File;
pub struct InputArguments {
pub input_file: File,
pub output_file: File,
pub config: Option<Config>,
pub process: Option<String>,
}
impl InputArguments {
pub fn new(input_file: File, output_file: File) -> Self {
Self {
input_file,
output_file,
config: None,
process: None,
}
}
pub fn set_config(&mut self, config: Option<Config>) {
self.config = config;
}
pub fn set_process(&mut self, process: Option<String>) {
self.process = process;
}
pub fn zoom_iter(&self) -> impl Iterator<Item = Zoom> {
let mut min = 0;
let mut max = 14;
if let Some(config) = &self.config {
min = config.settings.minzoom;
max = config.settings.maxzoom;
}
min..=max
}
}