kindFromIosActivityType — @gj-kit/expo-workouts
@gj-kit/expo-workouts에서 공개하는 function입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { kindFromIosActivityType } from '@gj-kit/expo-workouts';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * Raw HKWorkoutActivityType → WorkoutKind. TOTAL over `number`: anything not in the table — * including negative, non-integer and huge values that only the JS boundary can produce — returns * `{ kind: 'other' }` with `indoor` left `undefined`. * * ⚠ **`indoor` never comes from this function on iOS.** HealthKit carries it in the * `HKIndoorWorkout` metadata key (and, for swimming, in `HKMetadataKeySwimmingLocationType`), * orthogonally to the activity type. The return shape keeps `indoor` for symmetry with the * Android mapper and is always `undefined` here. * * ⚠ **Nothing collapses on iOS.** `HKWorkoutActivityType` is a plain `NSUInteger`, so an unknown * value (e.g. 16 = Elliptical) arrives intact and IS preserved in * `platformData.ios.activityTypeRaw` — an app can recover it. Contrast * `kindFromAndroidExerciseType`. * * READ-ALIASES: 20 (FunctionalStrengthTraining) → `'strength'` and 71 (WheelchairRunPace) → * `'wheelchair'` map INTO kinds the write direction never emits, so the two mapper directions are * NOT literal inverses. The asserted property is write-then-read only. */declare function kindFromIosActivityType(raw: number): { kind: WorkoutKind; indoor?: boolean | undefined;};이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/expo-workouts - 버전:
0.1.1 - 공개 entry:
. - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”Raw HKWorkoutActivityType → WorkoutKind. TOTAL over number: anything not in the table —
including negative, non-integer and huge values that only the JS boundary can produce — returns
{ kind: 'other' } with indoor left undefined.
⚠ indoor never comes from this function on iOS. HealthKit carries it in the
HKIndoorWorkout metadata key (and, for swimming, in HKMetadataKeySwimmingLocationType),
orthogonally to the activity type. The return shape keeps indoor for symmetry with the
Android mapper and is always undefined here.
⚠ Nothing collapses on iOS. HKWorkoutActivityType is a plain NSUInteger, so an unknown
value (e.g. 16 = Elliptical) arrives intact and IS preserved in
platformData.ios.activityTypeRaw — an app can recover it. Contrast
kindFromAndroidExerciseType.
READ-ALIASES: 20 (FunctionalStrengthTraining) → 'strength' and 71 (WheelchairRunPace) →
'wheelchair' map INTO kinds the write direction never emits, so the two mapper directions are
NOT literal inverses. The asserted property is write-then-read only.