mirror of
https://github.com/sstent/garminsync-go.git
synced 2025-12-06 08:01:52 +00:00
36 lines
809 B
Go
36 lines
809 B
Go
package parser
|
|
|
|
import "time"
|
|
|
|
// ActivityMetrics contains all metrics extracted from activity files
|
|
type ActivityMetrics struct {
|
|
ActivityType string
|
|
StartTime time.Time
|
|
Duration time.Duration
|
|
Distance float64 // in meters
|
|
MaxHeartRate int
|
|
AvgHeartRate int
|
|
AvgPower int
|
|
Calories int
|
|
Steps int
|
|
ElevationGain float64 // in meters
|
|
ElevationLoss float64 // in meters
|
|
MinTemperature float64 // in °C
|
|
MaxTemperature float64 // in °C
|
|
AvgTemperature float64 // in °C
|
|
}
|
|
|
|
// Parser defines the interface for activity file parsers
|
|
type Parser interface {
|
|
ParseFile(filename string) (*ActivityMetrics, error)
|
|
}
|
|
|
|
// FileType represents supported file formats
|
|
type FileType string
|
|
|
|
const (
|
|
FIT FileType = "fit"
|
|
TCX FileType = "tcx"
|
|
GPX FileType = "gpx"
|
|
)
|