package types import ( "encoding/json" "fmt" "git.zaphyra.eu/airpodsctl/helpers" ) type BatteryTTLEstimate Option[int] func (s *BatteryTTLEstimate) UnmarshalJSON(data []byte) error { var v Option[int] if err := json.Unmarshal(data, &v); err != nil { return err } *s = BatteryTTLEstimate{ Set: v.Set, Valid: v.Valid, Value: v.Value, } return nil } func (batteryTTLEstimate BatteryTTLEstimate) String() string { if batteryTTLEstimate.Valid { hours, minutes := helpers.Divmod(batteryTTLEstimate.Value, 60) return fmt.Sprintf("%dh %dm", hours, minutes) } return "" }