pub fn from_iter<Iter, T>(
        &self,
        iter: Iter,
    ) -> Result<T>
    where
        T: de::DeserializeOwned,
        Iter: IntoIterator<Item = (String, String)>,
    {
        crate::from_iter(iter.into_iter().filter_map(|(k, v)| {
            if k.starts_with(self.0.as_ref()) {
                Some((k.trim_start_matches(self.0.as_ref()).to_owned(), v))
            } else {
                None
            }
        }))
        .map_err(|error| match error {
            Error::MissingValue(value) => Error::MissingValue(
                format!("{prefix}{value}", prefix = self.0, value = value).to_uppercase(),
            ),
            _ => error,
        })
    }
Deserializes a type based on prefixed (String, String) tuples
src/lib.rs