garmin-api-handler
Version:
Unofficial handler for Garmin connect API
33 lines (32 loc) • 1.44 kB
TypeScript
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 {};