@lzcontest/contest-engine
v0.1.3
Published
Deterministic scoring, validation, and session services for typed amateur-radio contests.
Maintainers
Readme
@lzcontest/contest-engine
Deterministic validation, scoring, duplicate detection, timing, and projections for contest packs.
Install
npm install @lzcontest/contest-engineValidate a pack
import {
contestPackKey,
validateContestPack,
} from '@lzcontest/contest-engine';
export function inspectPack(
pack: Parameters<typeof validateContestPack>[0],
) {
return {
key: contestPackKey(pack),
diagnostics: validateContestPack(pack),
};
}Core API
| Export | Purpose |
| --- | --- |
| defineContestPack | Validate a built-in pack during development |
| validateContestPack | Return pack and definition diagnostics |
| defineExecutableContestPack | Bind a typed contract to executable rules |
| preflightContestQso | Validate and score a QSO before logging |
| rescoreContest | Rebuild score, duplicates, and multipliers from QSOs |
| projectContestRate | Produce minute and period rate samples |
| projectContestStatistics | Produce hourly and dimensional statistics |
| ContestPackResolver | Async exact-version pack lookup contract |
