@markw65/fit-file-writer
Version:
Javascript Library for writing FitFiles
49 lines (48 loc) • 1.52 kB
TypeScript
import { ExtFitField, FitMessageInputs, FitMessageMap, fit_messages } from "./fit-tables";
type keysOf<o> = {
[K in keyof o]: K extends string ? K : K extends number ? `${K}` : never;
}[keyof o];
export declare function keysOf<o extends object>(o: o): keysOf<o>[];
type FitMessages = typeof fit_messages;
type MessageKeys = keyof FitMessages;
export type FitDevInfo = {
field_num: number;
value: number | string;
};
export type FitWriterOptions = {
noCompressedTimestamps?: boolean;
usePreferredRecords?: boolean;
};
export declare class FitWriter {
private buffer;
private offset;
private crc;
private definitionMap;
private nextLocalDef;
private localDefs;
private scratch;
private devFieldTypes;
private lastTimeStamp;
private options;
private ensureSpace;
constructor(options?: FitWriterOptions | boolean);
private write_crc;
private update_crc;
private byte;
private word;
private long;
private float;
private double;
private str;
private field;
private definition;
private file_header;
private dev_field_key;
time(t: number | Date): number;
latlng<T extends number | undefined>(l: T): T;
finish(): DataView;
private writeFieldValue;
getPreferredField(message: FitMessageMap[string], key: string): ExtFitField;
writeMessage<T extends MessageKeys>(messageType: T, messageInfo: Partial<FitMessageInputs[T]>, devInfo?: FitDevInfo[] | null, lastUse?: boolean): void;
}
export {};