Skip to content

estimateAndroidRecordBytes — @gj-kit/expo-workouts

A public function from @gj-kit/expo-workouts/core. The signature below is taken directly from the 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;

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: ./core
  • Source: GitHub