npm.io
10.0.0 • Published 2d ago

@kaiord/garmin

Licence
MIT
Version
10.0.0
Deps
2
Size
98 kB
Vulns
0
Weekly
0
Stars
7

@kaiord/garmin

npm version License: MIT

Garmin Connect API format adapter for the Kaiord health & fitness data framework. Provides bidirectional conversion between Garmin Connect workout JSON format and KRD.

Installation

pnpm add @kaiord/core @kaiord/garmin

Usage

import { createDefaultProviders } from "@kaiord/core";
import { createGarminProviders } from "@kaiord/garmin";

const providers = createDefaultProviders({
  garmin: createGarminProviders(),
});

// Garmin to KRD
const krd = await providers.convertGarminToKrd!({ garminString });

// KRD to Garmin
const garminString = await providers.convertKrdToGarmin!({ krd });
Standalone Adapter Access
import {
  createGarminConnectReader,
  createGarminConnectWriter,
} from "@kaiord/garmin";
import { createConsoleLogger } from "@kaiord/core";

const logger = createConsoleLogger();
const reader = createGarminConnectReader(logger);
const writer = createGarminConnectWriter(logger);

API

createGarminProviders(logger?: Logger): GarminProviders

Creates Garmin adapter instances for use with createDefaultProviders().

createGarminConnectReader(logger: Logger): GarminReader

Creates a Garmin Connect JSON reader.

createGarminConnectWriter(logger: Logger): GarminWriter

Creates a Garmin Connect JSON writer.

Supported Garmin Features

  • Workout definitions with structured steps
  • Power, heart rate, speed, and cadence targets
  • Time-based, distance-based, and calorie-based durations
  • Repeat blocks (intervals)
  • Multiple sport types
  • Custom step names and notes

License

MIT

Keywords