콘텐츠로 이동

estimateAndroidRecordBytes — @gj-kit/expo-workouts

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

import { estimateAndroidRecordBytes } from '@gj-kit/expo-workouts/core';
/**
* Exact Health Connect record-size model, fitted with residual 0 over six failure samples:
* `bytes = 160 + 48·routePoints + 2·(title + notes + clientRecordId chars) + 24·(segments + laps)`
*
* The optional route fields are FREE — a 21 000-point route serialises to the byte-identical size
* with and without altitude and accuracies.
*
* Pinned boundary (f99): a 13-char title + 13-char clientRecordId gives `bytes = 212 + 48·points`,
* and 20 829 points is exactly 1 000 004 B — the first failing size.
*
* ⚠ One Mainline build's parcel encoding. A safety margin, not a contract.
*/
declare function estimateAndroidRecordBytes(input: {
readonly routePoints: number;
readonly clientRecordIdLength: number;
readonly titleLength?: number | undefined;
readonly notesLength?: number | undefined;
readonly segments?: number | undefined;
readonly laps?: number | undefined;
}): number;

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

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

Exact Health Connect record-size model, fitted with residual 0 over six failure samples: bytes = 160 + 48·routePoints + 2·(title + notes + clientRecordId chars) + 24·(segments + laps)

The optional route fields are FREE — a 21 000-point route serialises to the byte-identical size with and without altitude and accuracies.

Pinned boundary (f99): a 13-char title + 13-char clientRecordId gives bytes = 212 + 48·points, and 20 829 points is exactly 1 000 004 B — the first failing size.

⚠ One Mainline build’s parcel encoding. A safety margin, not a contract.