1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 18:24:05 +02:00

Added header to json output

This commit is contained in:
ddeity 2023-11-09 01:26:41 +03:00
commit 500c2f0448

View file

@ -2,6 +2,9 @@ use std::env;
use std::fs;
use main_error::MainError;
use serde::{Deserialize, Serialize};
use tf_demo_parser::demo::header::Header;
use tf_demo_parser::demo::parser::analyser::MatchState;
use tf_demo_parser::demo::parser::player_summary_analyzer::PlayerSummaryAnalyzer;
pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Stream};
@ -9,6 +12,13 @@ pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Strea
#[global_allocator]
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
struct JsonDemo {
header: Header,
state: MatchState,
}
fn main() -> Result<(), MainError> {
#[cfg(feature = "better_panic")]
better_panic::install();
@ -34,8 +44,9 @@ fn main() -> Result<(), MainError> {
} else {
DemoParser::new(demo.get_stream())
};
let (_, state) = parser.parse()?;
println!("{}", serde_json::to_string(&state)?);
let (header, state) = parser.parse()?;
let demo = JsonDemo { header, state };
println!("{}", serde_json::to_string(&demo)?);
} else {
let parser = DemoParser::new_with_analyser(demo.get_stream(), PlayerSummaryAnalyzer::new());
let (header, state) = parser.parse()?;