Skip to content

@kaiord/core


@kaiord/core / fromBinary

Function: fromBinary()

fromBinary(buffer, reader, logger?): Promise<{ events?: object[]; extensions?: {[key: string]: unknown; course?: unknown; course_points?: unknown; fit?: unknown; health?: {[key: string]: unknown; bodyComposition?: { bmi?: number; bodyFatPercent?: number; bodyWaterPercent?: number; boneMassKilograms?: number; externalId?: string; kaiordRecordId?: string; kind: "bodyComposition"; leanMassKilograms?: number; measuredAt: string; sourceBridgeId?: string; version: string; }; daily?: { activeCalories: number; date: string; externalId?: string; floorsClimbed?: number; intensityMinutes: { moderate: number; vigorous: number; }; kaiordRecordId?: string; kind: "daily"; restingCalories: number; sourceBridgeId?: string; steps: number; version: string; }; hrv?: { externalId?: string; kaiordRecordId?: string; kind: "hrv"; measuredAt: string; measurementWindow: "overnight" | "spot"; rMSSD: number; score?: number; sourceBridgeId?: string; version: string; }; sleep?: { endTime: string; externalId?: string; kaiordRecordId?: string; kind: "sleep"; restingHeartRate?: number; score?: number; sourceBridgeId?: string; stages: object[]; startTime: string; totalDurationSeconds: number; version: string; }; stress?: { averageLevel: number; endTime: string; externalId?: string; kaiordRecordId?: string; kind: "stress"; peakLevel: number; sourceBridgeId?: string; startTime: string; version: string; }; weight?: { externalId?: string; kaiordRecordId?: string; kind: "weight"; measuredAt: string; sourceBridgeId?: string; version: string; weightKilograms: number; }; }; structured_workout?: unknown; }; laps?: object[]; metadata: { created: string; manufacturer?: string; product?: string; serialNumber?: string; sport?: string; subSport?: string; }; records?: object[]; sessions?: object[]; type: "structured_workout" | "recorded_activity" | "course" | "sleep_record" | "weight_measurement" | "hrv_summary" | "daily_wellness" | "body_composition" | "stress_episode"; version: string; }>

Defined in: packages/core/src/application/from-format.ts:17

Converts binary format data to KRD with validation.

Parameters

buffer

Uint8Array

reader

BinaryReader

logger?

Logger

Returns

Promise<{ events?: object[]; extensions?: {[key: string]: unknown; course?: unknown; course_points?: unknown; fit?: unknown; health?: {[key: string]: unknown; bodyComposition?: { bmi?: number; bodyFatPercent?: number; bodyWaterPercent?: number; boneMassKilograms?: number; externalId?: string; kaiordRecordId?: string; kind: "bodyComposition"; leanMassKilograms?: number; measuredAt: string; sourceBridgeId?: string; version: string; }; daily?: { activeCalories: number; date: string; externalId?: string; floorsClimbed?: number; intensityMinutes: { moderate: number; vigorous: number; }; kaiordRecordId?: string; kind: "daily"; restingCalories: number; sourceBridgeId?: string; steps: number; version: string; }; hrv?: { externalId?: string; kaiordRecordId?: string; kind: "hrv"; measuredAt: string; measurementWindow: "overnight" | "spot"; rMSSD: number; score?: number; sourceBridgeId?: string; version: string; }; sleep?: { endTime: string; externalId?: string; kaiordRecordId?: string; kind: "sleep"; restingHeartRate?: number; score?: number; sourceBridgeId?: string; stages: object[]; startTime: string; totalDurationSeconds: number; version: string; }; stress?: { averageLevel: number; endTime: string; externalId?: string; kaiordRecordId?: string; kind: "stress"; peakLevel: number; sourceBridgeId?: string; startTime: string; version: string; }; weight?: { externalId?: string; kaiordRecordId?: string; kind: "weight"; measuredAt: string; sourceBridgeId?: string; version: string; weightKilograms: number; }; }; structured_workout?: unknown; }; laps?: object[]; metadata: { created: string; manufacturer?: string; product?: string; serialNumber?: string; sport?: string; subSport?: string; }; records?: object[]; sessions?: object[]; type: "structured_workout" | "recorded_activity" | "course" | "sleep_record" | "weight_measurement" | "hrv_summary" | "daily_wellness" | "body_composition" | "stress_episode"; version: string; }>

Example

typescript
import { fromBinary } from '@kaiord/core';
import { fitReader } from '@kaiord/fit';

const krd = await fromBinary(buffer, fitReader);