Releases: echecsjs/tunx
Releases · echecsjs/tunx
Release list
v1.0.1
v1.0.0
Changed
- BREAKING:
parse()now returnsTournamentData | undefinedfrom
@echecs/tournamentinstead of the tunx-specificTournamenttype. - Player
pairingNumberreplaced byid(string) andstartingRank(number). - Per-player
RoundResult[]converted toCompletedRound[]withGame[]and
Bye[]. - Metadata (
name,city,federation, etc.) moved toTournamentMetadata. - Added
@echecs/tournamentas runtime dependency.
Removed
- Tunx-specific type exports:
Tournament,Player,RoundResult,Pairing,
Header,ResultCode,Sex,Title,Tiebreak. - Format-specific fields:
header,pairings[][],venue,subtitle,
roundTimes,currentRound.
v0.3.0
Added
tournamentTypepopulated from config byte0x0B— detects'swiss',
'round-robin', and'team-round-robin'.
Removed
- Deleted dead
stringify()andBinaryWritercode left behind after v0.2.0
dropped_raw. - Removed
RawTournamenttype (was not re-exported from the package entry
point). - Removed six unused player numeric offset constants.
v0.1.1
Added
parse(input, options?)decodes TUNX binary files into aTournamentobject.stringify(tournament)re-encodes a parsed tournament with byte-for-byte
fidelity.- Output types align with the
@echecs/trfmodel (Player.name,RoundResult,
ResultCode, etc.). - Decoded header fields:
tournamentId,savedAt,installedAt,
licenseHash,installSignature. - Decoded player fields:
sex,rating,nationalRatings,fideId,title,
federation,points,rank. - Decoded config fields:
startDate,endDate,currentRound,roundDates,
tiebreaks(11 codes),roundTimes. - 11 tiebreak codes mapped (Buchholz, Sonneborn-Berger, etc.).
- Result code 0 mapped as unpaired (
'Z').