Skip to content

GjKitWorkoutsPluginProps — @gj-kit/expo-workouts

A public interface from @gj-kit/expo-workouts/plugin. The signature below is taken directly from the 0.1.1 release declaration.

import { GjKitWorkoutsPluginProps } from '@gj-kit/expo-workouts/plugin';
interface GjKitWorkoutsPluginProps {
/**
* The scopes this app will ever ask for. Drives the iOS entitlement and every Android
* `<uses-permission>` line. `'routes'` in either list additionally emits the manifest-only
* READ_EXERCISE_ROUTES entry, which is MANDATORY: undeclared, route requests silently return
* nothing with no error at all.
*
* ⚠ Since owner decision ② the vocabulary is SEVEN scopes and `'workouts'` means the session
* ALONE. `read: ['workouts']` in `app.json` now emits ONE `<uses-permission>` line instead of
* four, and the failure shows up at runtime as `undefined` totals — far from the file that
* caused it. For the old (coarse) behaviour write the four members out, or import
* `WORKOUT_TOTALS_SCOPES` from `@gj-kit/expo-workouts/core` in an `app.config.ts`.
* `./core` has zero peers, so importing it from a config file is safe.
*/
readonly read?: readonly Scope[] | undefined;
readonly write?: readonly Scope[] | undefined;
/** D10. Adds READ_HEALTH_DATA_HISTORY. Default false — the 30-day wall is the default reality. */
readonly history?: boolean | undefined;
/**
* REQUIRED. Android 14+ launches `VIEW_PERMISSION_USAGE` + category `HEALTH_PERMISSIONS` at the
* app when the user taps "privacy policy" in the permission dialog, and the activity-alias this
* plugin registers needs somewhere to go. A dead link there is a user-visible defect, and Play's
* Health apps declaration requires a policy URL anyway — so this is not optional.
*/
readonly privacyPolicyUrl: string;
readonly ios?: {
/**
* NSHealthShareUsageDescription. An English default is supplied; localise via
* `ios.infoPlist`/locales.
* ⚠ A missing usage string CRASHES at `requestAuthorization` — the plugin makes that
* unreachable.
*/
readonly shareUsageDescription?: string | undefined;
/** NSHealthUpdateUsageDescription. */
readonly updateUsageDescription?: string | undefined;
} | undefined;
}

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