DerbyJSON parser, based on serde.
The root DerbyJSON object. This can store information about a game, or about a league or a team. Which one it is is determined by the "objecttype" field and determines which fields are valid.
Represents a "ghost point" scored by means other than passing an opponent's hips
Periods are broken into Jams, which are the basic unit of play for roller derby.
Information on a league (collection of teams)
Represents a team or league logo. Each field may contain a URL to the appropriate size/style of team logo.
A note about something that happened. These notes may be attached to quite a few objects found elsewhere in the spec.
Information about a person, whether a skater or official
A subset of the general DerbyJSON object, just storing information on team/league rosters.
Information about the ruleset used for a game.
Information on a team (collection of skaters or officials)
A stoppage of the game clock, whether for a team timeout, official review, or official timeout.
Information about a game venue.
A thing that happens during a period, either a jam or a timeout, or possibly just a note.
Type of ghost point. Lap of jammer, Jammer in box, Blocker in box, Pivot in box, Not on the track, Out of play, Ghost point of unknown causes
This enum represents an event that happens during a game of derby, and is the main container for storing game data. Points, penalties, lineups, and just about anything else that is associated with a jam goes into a Jam Event of some sort. Each event is tagged with an event type, which determined what information it contains.
A skater's position in a jam.
Reason why a skater left the penalty box early: due to officiating error, skater leaving the box early, a rescinded penalty, or a skater who mistakenly reported to the box.
Version of DerbyJSON supported
Load a roster from the given input stream. This specifically checks that the loaded DerbyJSON is a valid roster object.