use crate::types::{RemoteVisitorDataFilter, remote_visitor_data_filter::RemoteVisitorDataFilterBuilder};

pub struct RemoteVisitorDataFilterUtils {}

impl RemoteVisitorDataFilterUtils {
    pub fn make(
        previous_visit_amount: i32,
        current_visit: bool,
        custom_data: bool,
        page_views: bool,
        geolocation: bool,
        device: bool,
        browser: bool,
        operating_system: bool,
        conversions: bool,
        experiments: bool,
        kcs: bool,
        visitor_code: bool,
        personalizations: bool,
        cbs: bool,
    ) -> RemoteVisitorDataFilter {
        RemoteVisitorDataFilterBuilder::default()
            .previous_visit_amount(previous_visit_amount)
            .current_visit(current_visit)
            .custom_data(custom_data)
            .page_views(page_views)
            .geolocation(geolocation)
            .device(device)
            .browser(browser)
            .operating_system(operating_system)
            .conversions(conversions)
            .experiments(experiments)
            .kcs(kcs)
            .visitor_code(visitor_code)
            .personalizations(personalizations)
            .cbs(cbs)
            .build()
            .unwrap()
    }
}
