UNPKG

@foxglove/ulog

Version:
44 lines 1.77 kB
import { MessageDefinition } from "./definition"; import { Filelike } from "./file"; import { MessageFlagBits, MessageAddLogged, DataSectionMessage, FieldPrimitive } from "./messages"; export type ParameterEntry = { value: number; defaultTypes: number; }; export type ULogHeader = { version: number; timestamp: bigint; flagBits?: MessageFlagBits; information: Map<string, FieldPrimitive | FieldPrimitive[]>; parameters: Map<string, ParameterEntry>; definitions: Map<string, MessageDefinition>; }; export type Subscription = MessageDefinition & Pick<MessageAddLogged, "multiId">; export declare class ULog { #private; constructor(filelike: Filelike, opts?: { chunkSize?: number; }); get header(): ULogHeader | undefined; /** * Return a map of message ids to their corresponding subscription */ get subscriptions(): Map<number, Subscription>; open(): Promise<void>; readMessages(opts?: { startTime?: bigint; endTime?: bigint; /** If true (default) logs messages are yielded from the time range. */ includeLogs?: boolean; /** If specified, only messages with the given message ids are yielded. */ msgIds?: Set<number>; /** If true, the messages are yielded in reverse order (default false). */ reverse?: boolean; }): AsyncIterableIterator<DataSectionMessage>; messageCount(): number | undefined; dataMessageCounts(): ReadonlyMap<number, number> | undefined; logCount(): number | undefined; timeRange(): Readonly<[bigint, bigint]> | undefined; } export declare function computeTimetampOffset(definition: MessageDefinition, definitions: Map<string, MessageDefinition>): number; //# sourceMappingURL=ULog.d.ts.map