@lzcontest/logbook
v0.1.1
Published
Format-neutral amateur-radio log events, deterministic replay, and repository contracts.
Maintainers
Readme
@lzcontest/logbook
Format-neutral amateur-radio logs built from immutable events.
Install
npm install @lzcontest/logbookUsage
import {
isCanonicalUtcIsoInstant,
normalizeOperatorCallsign,
replayLog,
} from '@lzcontest/logbook';
const operator = normalizeOperatorCallsign(' lz9s ');
const timestamp = isCanonicalUtcIsoInstant('2026-07-29T18:00:00.000Z');
const projection = replayLog([]);
console.log(operator); // LZ9S
console.log(timestamp); // true
console.log(projection);Core API
| Export | Purpose |
| --- | --- |
| createLog | Create a log manifest and its initial event |
| createSeededLog | Create a log from imported or prepared QSOs |
| openLog | Load and replay a log from a repository |
| appendValidatedLogEvents | Append events with optimistic version checks |
| replayLog | Build the current projection from immutable events |
| LogRepository | Persistence contract for log manifests and events |
| RawQso | Format-neutral QSO evidence |
| normalizeOperatorCallsign | Normalize an operator callsign |
