rofl_parser/rofl/
rofl_json.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Clone)]
4#[serde(untagged)]
5pub enum Player {
6 V13_3(super::player_13_3::Player),
7 V12_3(super::player_12_3::Player),
8}
9
10#[allow(non_snake_case)]
11#[derive(Serialize, Deserialize, Debug, Clone)]
12pub struct RoflJson {
13 pub gameLength: i32,
14 pub gameVersion: String,
15 pub lastGameChunkId: i32,
16 pub lastKeyFrameId: i32,
17 pub statsJson: Vec<Player>,
18}
19
20#[allow(non_snake_case)]
21#[derive(Serialize, Deserialize, Debug, Clone)]
22pub struct MockRoflJson {
23 pub gameLength: i32,
24 pub gameVersion: String,
25 pub lastGameChunkId: i32,
26 pub lastKeyFrameId: i32,
27 statsJson: String,
28}
29
30impl MockRoflJson {
31 pub fn parse_stats_json(&self) -> anyhow::Result<Vec<Player>> {
32 Ok(serde_json::from_str(&self.statsJson)?)
33 }
34}