drainSync — @gj-kit/expo-workouts
@gj-kit/expo-workouts/testing에서 공개하는 function입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { drainSync } from '@gj-kit/expo-workouts/testing';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * Run the full sync loop to convergence against any `WorkoutsApi`. Test helper only — it holds the * whole store in memory and does NOT model the one-transaction rule, so a production app must write * the loop itself. `killAfterPages` reproduces a crash and reports whether the cursor was persisted * without the items, which is the one failure the library cannot prevent. */declare function drainSync(api: Pick<WorkoutsApi, 'syncWorkouts' | 'listWorkouts'>, opts: { readonly backfillFromMs: number; readonly cursor?: WorkoutsSyncCursor | null | undefined; readonly maxPages?: number | undefined; readonly killAfterPages?: number | undefined;}): Promise<{ readonly cursor: WorkoutsSyncCursor; readonly store: ReadonlyMap<string, Workout>; readonly pages: number; readonly resets: readonly CursorResetReason[];}>;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/expo-workouts - 버전:
0.1.1 - 공개 entry:
./testing - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”Run the full sync loop to convergence against any WorkoutsApi. Test helper only — it holds the
whole store in memory and does NOT model the one-transaction rule, so a production app must write
the loop itself. killAfterPages reproduces a crash and reports whether the cursor was persisted
without the items, which is the one failure the library cannot prevent.