@aircast-4g/mavlink
Version:
TypeScript type generator for MAVLink dialects
50 lines (47 loc) • 1.34 kB
TypeScript
import { IMessageRegistry, MessageDefinition } from './types.js';
/**
* Registry for MAVLink message definitions.
* Provides O(1) lookup by both ID and name.
*/
declare class MessageRegistry implements IMessageRegistry {
private definitionsById;
private definitionsByName;
private crcExtraTable;
/**
* Register a message definition
*/
register(def: MessageDefinition, crcExtra: number): void;
/**
* Get CRC extra value for a message ID
*/
getCrcExtra(messageId: number): number | undefined;
/**
* Get the full CRC extra table
*/
getCrcExtraTable(): Record<number, number>;
/**
* Get message definition by ID
*/
getMessageDefinition(id: number): MessageDefinition | undefined;
/**
* Get message definition by name
*/
getMessageDefinitionByName(name: string): MessageDefinition | undefined;
/**
* Check if a message ID is supported
*/
supportsMessage(messageId: number): boolean;
/**
* Check if a message name is supported
*/
supportsMessageName(messageName: string): boolean;
/**
* Get all supported message IDs
*/
getSupportedMessageIds(): number[];
/**
* Get all supported message names
*/
getSupportedMessageNames(): string[];
}
export { MessageRegistry };