콘텐츠로 이동

WorkoutsApi — @gj-kit/expo-workouts

@gj-kit/expo-workouts/core에서 공개하는 interface입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.

import { WorkoutsApi } from '@gj-kit/expo-workouts/core';
/**
* Every function of `.`, as one interface. `.`'s `workouts` and `./testing`'s `api` are both
* instances of it, produced by the SAME factory.
*/
interface WorkoutsApi {
getAvailability(): Promise<Availability>;
requestAuthorization(request: AuthorizationRequest): Promise<AuthorizationResult>;
getAuthorizationState(): Promise<AuthorizationState>;
listWorkouts(query: ListQuery): Promise<WorkoutPage>;
syncWorkouts(cursor: WorkoutsSyncCursor | null): Promise<SyncResult>;
getRoute(workoutId: string, options?: GetRouteOptions): AsyncIterable<readonly RoutePoint[]>;
readHeartRate(window: TimeWindow): Promise<readonly HeartRateSample[]>;
readSteps(window: TimeWindow): Promise<StepTotal>;
saveWorkout(workout: WorkoutWrite): Promise<SaveResult>;
deleteWorkout(ref: WorkoutRef): Promise<DeleteResult>;
openSettings(): Promise<void>;
openStoreListing(): Promise<void>;
}

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/expo-workouts
  • 버전: 0.1.1
  • 공개 entry: ./core
  • 소스: GitHub

Every function of ., as one interface. .’s workouts and ./testing’s api are both instances of it, produced by the SAME factory.