1use toml_edit::DocumentMut;
2
3#[must_use]
4pub fn migrate_document(document: &mut DocumentMut) -> bool {
5    let mut changed = false;
6
7    // v0.13.0: NES allow_opposing_joypad_inputs -> allow_opposing_joypad_directions
8    if let Some((_, nes_value)) = document.get_key_value_mut("nes")
9        && let Some(nes_config) = nes_value.as_table_like_mut()
10        && let Some((_, allow_opposing_inputs_value)) =
11            nes_config.get_key_value_mut("allow_opposing_joypad_inputs")
12        && let Some(allow_opposing_inputs) = allow_opposing_inputs_value.as_bool()
13        && nes_config.get_key_value("allow_opposing_joypad_directions").is_none()
14    {
15        nes_config
16            .insert("allow_opposing_joypad_directions", toml_edit::value(allow_opposing_inputs));
17        changed = true;
18    }
19
20    changed
21}