@lzcontest/messages
v0.1.0
Published
Typed operating-message templates, banks, and ESM planning for amateur-radio applications.
Maintainers
Readme
@lzcontest/messages
Typed operating-message templates, banks, and ESM planning.
Install
npm install @lzcontest/messagesExpand a message
import { expandMessageTemplate } from '@lzcontest/messages';
const result = expandMessageTemplate(
'CQ TEST {station.callsign}',
{ stationCallsign: 'LZ9S' },
);
if (!result.ok) throw new Error(result.diagnostics[0]?.message);
console.log(result.content);Plan an ESM action
import {
defaultMessageBankSet,
planEsmMessage,
} from '@lzcontest/messages';
const plan = planEsmMessage({
banks: defaultMessageBankSet,
draft: {
operatingMode: 'run',
callsign: '',
exchangeStatus: 'absent',
},
context: { stationCallsign: 'LZ9S' },
});Core API
| Export | Purpose |
| --- | --- |
| expandMessageTemplate | Expand validated message variables |
| defaultMessageBankSet | Default contest message banks |
| nonContestMessageBankSet | Default non-contest message banks |
| planEsmMessage | Resolve and prepare the next ESM message |
| planManualMessage | Prepare a selected logical action |
| planDigitalButtonMessage | Prepare a user-defined digital button |
| MessageBankRepository | Message-bank persistence contract |
