@pond-ts/fit API Reference
    Preparing search index...

    Class Profile

    An athlete's settings resolved to a single activity date — the value object an import('../activity/index.js').Activity is read against via activity.usingProfile(bob). Wraps the as-of resolution (profileAsOf) and exposes the zone ranges (the per-channel ZoneDefs); the per-activity data (time-in-zone) is the profiled activity's by…Zone().

    Immutable; carries only athlete data, never an activity's evidence — so one Profile is reused across every activity on its date.

    Index

    Properties

    asOfDate?: string

    The activity date this profile was resolved as-of (ISO 8601, UTC); undefined for a history-less profile from of.

    Accessors

    • get ftpWatts(): number | undefined

      Functional Threshold Power (watts) in force on the date, if recorded.

      Returns number | undefined

    • get paceZones(): ZoneDef | undefined

      Pace zone ranges (speed axis, m/s; Z1 slowest), if a threshold is recorded.

      Returns ZoneDef | undefined

    • get weightKg(): number | undefined

      Body weight (kg) in force on the date, if recorded — drives W/kg.

      Returns number | undefined

    Methods

    • A profile from explicit settings with no effective-dated history — the "I just have an FTP / weight" case (demos, fixtures, a fallback prop, or a settings form with nothing recorded yet). For history-aware resolution use asOf. Power zones derive from ftpWatts; HR / pace zones are absent (they need a basis, which a bare settings object doesn't carry).

      Parameters

      • settings: { ftpWatts?: number; weightKg?: number }

      Returns Profile