UNPKG

garmin-api-handler

Version:
33 lines (32 loc) 1.44 kB
import { Workout, WorkoutConstructor } from 'fitness-models'; import { ActivityType } from '../constants/activity-type'; import { Category } from '../constants/category'; import { ApiDetailApiActivity, ApiListApiActivity } from '../types/api'; interface Constructor<Id, ApiSource> extends WorkoutConstructor { category?: Category; id: Id; source: ApiSource; typeId: ActivityType; } declare type Source = ApiDetailApiActivity | ApiListApiActivity | undefined; export default class Activity<Id extends number | undefined = any, ApiSource extends Source = any> extends Workout { protected id: Id; protected typeId: ActivityType; protected source: ApiSource; protected category: Category; constructor(options: Constructor<Id, ApiSource>); static fromApi(activity: ApiDetailApiActivity): Activity<number, ApiDetailApiActivity>; static fromListApi(activity: ApiListApiActivity): Activity<number, ApiListApiActivity>; protected clone(extension: Partial<Constructor<number | undefined, ApiSource>>): this; getId(): Id; setId(id: number): Activity<number, ApiSource>; setId(id: undefined): Activity<undefined, ApiSource>; getTypeId(): ActivityType; getTypeName(): ActivityType; setTypeId(typeId: ActivityType): this; getSource(): ApiSource; getCategory(): Category; setCategory(category: Category): this; toObject(): Constructor<Id, ApiSource>; } export {};