wiki 0.0.3

Library for interacting with MediaWiki APIs
Documentation
use std::borrow::Cow;

use reqwest::multipart::Form;

#[derive(Default)]
pub struct FormBuilder {
    form: Form,
}

impl FormBuilder {
    pub fn add(&mut self, name: impl Into<Cow<'static, str>>, value: impl Into<Cow<'static, str>>) {
        let form = std::mem::take(&mut self.form);
        self.form = form.text(name.into(), value.into());
    }
}

pub struct EditBuilder {
    form: FormBuilder,
}

impl EditBuilder {
    pub fn for_page_id(id: u32) -> EditBuilder {
        let mut form = FormBuilder::default();
        form.add("pageid", format!("{id}"));
        EditBuilder { form }
    }

    pub fn for_title(title: impl Into<Cow<'static, str>>) -> EditBuilder {
        let mut form = FormBuilder::default();
        form.add("title", title);
        EditBuilder { form }
    }
}

impl EditBuilder {}