Skip to content

Commit ecbb67f

Browse files
fix(parser): handle NaN in save file parser
1 parent 941740d commit ecbb67f

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src-tauri/src/parser.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,13 @@ fn parse_value(value: Value) -> Value {
145145
} else if let Ok(n) = s.parse::<u64>() {
146146
return Value::Number(Number::from(n));
147147
} else if let Ok(n) = s.parse::<f64>() {
148-
return Value::Number(Number::from_f64(n).unwrap());
148+
if let Some(n) = Number::from_f64(n) {
149+
return Value::Number(n);
150+
} else {
151+
// for NaN, parsing succeeds, but converting that into a JSON number fails (NaN isn't supported by standard JSON)
152+
// return the original string value
153+
return value;
154+
}
149155
} else {
150156
return value;
151157
}

0 commit comments

Comments
 (0)