You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: multipart.rs
    path of file: ./repos/phaser/phaser/vendor/reqwest/src/wasm
    
    the code of the file until where you have to start completion: //! multipart/form-data
use std::borrow::Cow;
use std::fmt;

use http::HeaderMap;
use mime_guess::Mime;
use web_sys::FormData;

use super::Body;

/// An async multipart/form-data request.
pub struct Form {
    inner: FormParts<Part>,
}

impl Form {
    pub(crate) fn is_empty(&self) -> bool {
        self.inner.fields.is_empty()
    }
}

/// A field in a multipart form.
pub struct Part {
    meta: PartMetadata,
    value: Bo
    
    fn blob(&self) -> crate::Result<web_sys::Blob> {
        use web_sys::Blob;
        use web_sys::BlobPropertyBag;
        let mut properties = BlobPropertyBag::new();
        if let Some(mime) = &self.meta.mime {
            properties.type_(mime.as_ref());
        }

        // BUG: the return value of to_js_value() is not valid if
        // it is a Multipart variant.
        let js_value = self.value.to_js_value()?;
        Blob::new_with_u8_array_sequence_and_options(&js_value, &properties)
            .map_err(crate::error::wasm)
            .map_err(crate::error::builder)
    }