Skip to content

WorkoutDto — @gj-kit/expo-workouts

A public interface from @gj-kit/expo-workouts. The signature below is taken directly from the 0.1.1 release declaration.

import { WorkoutDto } from '@gj-kit/expo-workouts';
/**
* 한 워크아웃의 평면 DTO.
*
* ⚠ `kind`가 없다 — **활동 매핑은 `./core`가 한다.** 네이티브는 raw 정수(`activityTypeRaw`)만
* 보내고 `activity.ts`가 `WorkoutKind`로 접는다. 그래야 매핑표가 Node에서 fuzz된다.
* ⚠ `indoor`도 마찬가지로 iOS에서만 채워진다(메타데이터 사다리의 결과). Android는 `null`이고
* `./core`가 `exerciseType`에서 파생한다.
*/
interface WorkoutDto {
readonly platform: WorkoutsPlatform;
readonly id: string;
readonly clientId?: string | null | undefined;
readonly isOwn: boolean;
/** HKWorkoutActivityType (iOS) / ExerciseSessionRecord.exerciseType (Android). */
readonly activityTypeRaw: number;
/** iOS only. Android sends `null` — `./core` derives it from `activityTypeRaw`. */
readonly indoor?: boolean | null | undefined;
readonly startMs: number;
readonly endMs: number;
readonly activeDurationS: number;
readonly utcOffsetMin?: number | null | undefined;
readonly source: SourceDto;
readonly distanceM?: number | null | undefined;
readonly distanceProvenance?: MetricProvenance | null | undefined;
readonly activeEnergyKcal?: number | null | undefined;
readonly activeEnergyProvenance?: MetricProvenance | null | undefined;
readonly elevationGainM?: number | null | undefined;
readonly heartRate?: HeartRateSummaryDto | null | undefined;
readonly steps?: number | null | undefined;
readonly pauses: readonly PauseDto[];
readonly laps: readonly LapDto[];
readonly routeState: RouteState;
readonly lastModifiedMs?: number | null | undefined;
/** Exactly one of these is present, matching `platform`. */
readonly ios?: IosWorkoutData | null | undefined;
readonly android?: AndroidWorkoutData | null | undefined;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/expo-workouts
  • Version: 0.1.1
  • Public entry: .
  • Source: GitHub