fix: level reader (#535)

* fix: level reader

* 21

* fix
main
bokuweb 2022-09-13 11:16:00 +09:00 committed by GitHub
parent 697652ed9b
commit 2717ec17dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 30 deletions

View File

@ -11,7 +11,8 @@ impl ElementReader for LevelOverride {
r: &mut EventReader<R>, r: &mut EventReader<R>,
attrs: &[OwnedAttribute], attrs: &[OwnedAttribute],
) -> Result<Self, ReaderError> { ) -> Result<Self, ReaderError> {
let mut o = LevelOverride::new(usize::from_str(&attrs[0].value)?); if let Ok(level) = usize::from_str(&attrs[0].value) {
let mut o = LevelOverride::new(level);
loop { loop {
let e = r.next(); let e = r.next();
match e { match e {
@ -21,13 +22,15 @@ impl ElementReader for LevelOverride {
let e = XMLElement::from_str(&name.local_name).unwrap(); let e = XMLElement::from_str(&name.local_name).unwrap();
match e { match e {
XMLElement::StartOverride => { XMLElement::StartOverride => {
let val = usize::from_str(&attributes[0].value)?; if let Ok(val) = usize::from_str(&attributes[0].value) {
o = o.start(val); o = o.start(val);
}
continue; continue;
} }
XMLElement::Level => { XMLElement::Level => {
let lvl = Level::read(r, &attributes)?; if let Ok(lvl) = Level::read(r, &attributes) {
o = o.level(lvl); o = o.level(lvl);
}
continue; continue;
} }
_ => {} _ => {}
@ -43,5 +46,8 @@ impl ElementReader for LevelOverride {
_ => {} _ => {}
} }
} }
} else {
Err(ReaderError::XMLReadError)
}
} }
} }

View File

@ -84,10 +84,12 @@ impl FromXML for Numberings {
abs_num_id = usize::from_str(&attributes[0].value)? abs_num_id = usize::from_str(&attributes[0].value)?
} }
XMLElement::LvlOverride => { XMLElement::LvlOverride => {
let o = if let Ok(o) =
LevelOverride::read(&mut parser, &attributes)?; LevelOverride::read(&mut parser, &attributes)
{
level_overrides.push(o); level_overrides.push(o);
} }
}
_ => {} _ => {}
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "docx-wasm", "name": "docx-wasm",
"version": "0.0.276-rc20", "version": "0.0.276-rc23",
"main": "dist/node/index.js", "main": "dist/node/index.js",
"browser": "dist/web/index.js", "browser": "dist/web/index.js",
"author": "bokuweb <bokuweb12@gmail.com>", "author": "bokuweb <bokuweb12@gmail.com>",