trackswap 0.0.25 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/index.cjs +26 -26
  2. package/dist/index.js +26 -26
  3. package/package.json +3 -2
  4. package/dist/FIT/base.d.ts +0 -61
  5. package/dist/FIT/crc.d.ts +0 -1
  6. package/dist/FIT/decoder.d.ts +0 -35
  7. package/dist/FIT/encoder.d.ts +0 -45
  8. package/dist/FIT/index.d.ts +0 -12
  9. package/dist/FIT/mesg.d.ts +0 -37
  10. package/dist/FIT/middleware.d.ts +0 -33
  11. package/dist/FIT/plugins.d.ts +0 -17
  12. package/dist/FIT/processor.d.ts +0 -34
  13. package/dist/FIT/types/course_point.d.ts +0 -56
  14. package/dist/FIT/types/event.d.ts +0 -49
  15. package/dist/FIT/types/event_type.d.ts +0 -18
  16. package/dist/FIT/types/file.d.ts +0 -23
  17. package/dist/FIT/types/index.d.ts +0 -119
  18. package/dist/FIT/types/mesg_num.d.ts +0 -105
  19. package/dist/FIT/types/sport.d.ts +0 -47
  20. package/dist/FIT/types.d.ts +0 -511
  21. package/dist/FIT/util.d.ts +0 -1
  22. package/dist/GPX/base.d.ts +0 -16
  23. package/dist/GPX/converters.d.ts +0 -62
  24. package/dist/GPX/decoder.d.ts +0 -43
  25. package/dist/GPX/encoder.d.ts +0 -45
  26. package/dist/GPX/extensions/index.d.ts +0 -14
  27. package/dist/GPX/index.d.ts +0 -13
  28. package/dist/GPX/middleware.d.ts +0 -18
  29. package/dist/GPX/processor.d.ts +0 -30
  30. package/dist/GPX/types.d.ts +0 -124
  31. package/dist/GPX/util.d.ts +0 -1
  32. package/dist/TCX/base.d.ts +0 -19
  33. package/dist/TCX/converters.d.ts +0 -52
  34. package/dist/TCX/decoder.d.ts +0 -33
  35. package/dist/TCX/encoder.d.ts +0 -41
  36. package/dist/TCX/index.d.ts +0 -7
  37. package/dist/TCX/middleware.d.ts +0 -25
  38. package/dist/TCX/processor.d.ts +0 -39
  39. package/dist/TCX/types.d.ts +0 -191
  40. package/dist/TrackSwap.d.ts +0 -48
  41. package/dist/core/base.d.ts +0 -73
  42. package/dist/core/index.d.ts +0 -2
  43. package/dist/core/xml-utils.d.ts +0 -17
  44. package/dist/index.d.ts +0 -8
  45. package/dist/types.d.ts +0 -75
@@ -1,45 +0,0 @@
1
- import { GPX11Type } from "./types.js";
2
- export declare class GPXEncoder {
3
- private compact;
4
- constructor(options?: {
5
- compact?: boolean;
6
- });
7
- encode(gpxData: GPX11Type): Promise<Buffer>;
8
- encodeToString(gpxData: GPX11Type): string;
9
- private buildGPXXML;
10
- private compressXML;
11
- private buildXMLHeader;
12
- private buildGPXContent;
13
- private buildMetadata;
14
- private buildAuthor;
15
- private buildCopyright;
16
- private buildBounds;
17
- private buildWaypoint;
18
- private addStandardWaypointElements;
19
- private buildRoute;
20
- private buildTrack;
21
- private buildTrackSegment;
22
- private addRouteTrackCommonElements;
23
- private processPointExtensions;
24
- private buildTrackPointExtension;
25
- private buildPowerExtension;
26
- private buildGpxExtensions;
27
- private buildExtensions;
28
- private buildExtensionContent;
29
- private buildLink;
30
- private addLinks;
31
- private buildTimeElement;
32
- private addOptionalElement;
33
- private isValidCoordinate;
34
- private formatCoordinate;
35
- private formatElevation;
36
- private roundTo;
37
- private escapeXML;
38
- private escapeXMLAttribute;
39
- private deepClone;
40
- encoder(node: GPX11Type): Promise<Buffer>;
41
- }
42
- declare const _default: {
43
- GPXEncoder: typeof GPXEncoder;
44
- };
45
- export default _default;
@@ -1,14 +0,0 @@
1
- export declare const TrackPointExtensionv1Key: string[];
2
- export declare const TrackPointExtensionv1Mapping: {
3
- temperature: string;
4
- wtemp: string;
5
- heartRate: string;
6
- cadence: string;
7
- };
8
- export declare const GpxExtensionsv3Key: string[];
9
- export declare const GpxExtensionsv3Mapping: {
10
- temperature: string;
11
- Depth: string;
12
- };
13
- export declare const PowerExtensionKey: never[];
14
- export declare const PowerExtensionMapping: {};
@@ -1,13 +0,0 @@
1
- import { GPXDecoder } from "./decoder.js";
2
- import { GPXEncoder } from "./encoder.js";
3
- import { registerDefaultMiddlewares } from "./middleware.js";
4
- import { PipelineStage } from "./processor.js";
5
- export { GPXDecoder, GPXEncoder, registerDefaultMiddlewares, PipelineStage };
6
- export * from "./types.js";
7
- declare const _default: {
8
- GPXDecoder: typeof GPXDecoder;
9
- GPXEncoder: typeof GPXEncoder;
10
- registerDefaultMiddlewares: typeof registerDefaultMiddlewares;
11
- PipelineStage: typeof PipelineStage;
12
- };
13
- export default _default;
@@ -1,18 +0,0 @@
1
- import { Token, TokenAST } from "../types";
2
- import { BaseGPXMiddleware } from "./base";
3
- import { DecoderContext } from "./types";
4
- export declare class PerformanceMiddleware extends BaseGPXMiddleware {
5
- name: string;
6
- description: string;
7
- onTokenize(tokens: Token[], context: DecoderContext): Promise<Token[]>;
8
- onAstGenerate(ast: TokenAST, context: DecoderContext): Promise<TokenAST>;
9
- onComplete(result: any, context: DecoderContext): Promise<any>;
10
- private countNodes;
11
- }
12
- export declare class ValidationMiddleware extends BaseGPXMiddleware {
13
- name: string;
14
- description: string;
15
- onComplete(result: any, context: DecoderContext): Promise<any>;
16
- private validateGPX;
17
- }
18
- export declare function registerDefaultMiddlewares(decoder: any): Promise<void>;
@@ -1,30 +0,0 @@
1
- import { DecoderContext } from "./types.js";
2
- export declare enum PipelineStage {
3
- TOKENIZE = "tokenize",
4
- AST_GENERATE = "ast_generate",
5
- CONVERT = "convert",
6
- COMPLETE = "complete"
7
- }
8
- export interface IPipelineProcessor {
9
- stage: PipelineStage;
10
- process(context: DecoderContext): Promise<DecoderContext>;
11
- }
12
- export declare class TokenizeProcessor implements IPipelineProcessor {
13
- stage: PipelineStage;
14
- process(context: DecoderContext): Promise<DecoderContext>;
15
- }
16
- export declare class AstGenerateProcessor implements IPipelineProcessor {
17
- stage: PipelineStage;
18
- process(context: DecoderContext): Promise<DecoderContext>;
19
- }
20
- export declare class ConvertProcessor implements IPipelineProcessor {
21
- private getConverter;
22
- stage: PipelineStage;
23
- constructor(getConverter: (tag: string) => any);
24
- process(context: DecoderContext): Promise<DecoderContext>;
25
- private assignResult;
26
- }
27
- export declare class CompleteProcessor implements IPipelineProcessor {
28
- stage: PipelineStage;
29
- process(context: DecoderContext): Promise<DecoderContext>;
30
- }
@@ -1,124 +0,0 @@
1
- import { DegreesType, ExtensionsType, LatitudeType, LongitudeType, Token, TokenAST } from "../types.js";
2
- import { IProcessingContext } from "../core/base.js";
3
- export interface BoundsType {
4
- minlat?: LatitudeType;
5
- minlon?: LongitudeType;
6
- maxlat?: LatitudeType;
7
- maxlon?: LongitudeType;
8
- }
9
- export interface PersonType {
10
- name?: string;
11
- email?: EmailType;
12
- link?: LinkType;
13
- }
14
- export interface CopyrightType {
15
- author?: string;
16
- year?: string;
17
- license?: string;
18
- }
19
- export interface EmailType {
20
- id?: string;
21
- domain?: string;
22
- }
23
- type FixType = "none" | "2d" | "3d" | "dgps" | "pps" | string;
24
- export type LinkType = {
25
- href?: string;
26
- text?: string;
27
- type?: string;
28
- };
29
- export interface GPX11Type {
30
- version?: string;
31
- creator?: string;
32
- xmlns?: string;
33
- "xmlns:gte"?: string;
34
- "xmlns:xsi"?: string;
35
- "xsi:schemaLocation"?: string;
36
- metadata?: MetadataType;
37
- wpt?: WptType[];
38
- rte?: RteType[];
39
- trk?: TrkType[];
40
- extensions?: any;
41
- [key: string]: any | undefined;
42
- }
43
- export interface MetadataType {
44
- name?: string;
45
- desc?: string;
46
- author?: PersonType;
47
- copyright?: CopyrightType;
48
- link?: LinkType[];
49
- time?: Date;
50
- keywords?: string;
51
- bounds?: BoundsType;
52
- extensions?: ExtensionsType;
53
- [key: string]: any;
54
- }
55
- export interface WptType {
56
- lat?: LatitudeType;
57
- lon?: LongitudeType;
58
- ele?: number;
59
- time?: Date;
60
- speed?: number;
61
- course?: number;
62
- magvar?: DegreesType;
63
- geoidheight?: number;
64
- name?: string;
65
- cmt?: string;
66
- desc?: string;
67
- src?: string;
68
- link?: LinkType[];
69
- sym?: string;
70
- type?: string;
71
- fix?: FixType;
72
- sat?: string;
73
- hdop?: number;
74
- vdop?: number;
75
- pdop?: number;
76
- ageofdgpsdata?: number;
77
- dgpsid?: DegreesType;
78
- extensions?: ExtensionsType;
79
- power?: number;
80
- heartRate?: number;
81
- cadence?: number;
82
- }
83
- type RteptType = WptType;
84
- export interface RteType {
85
- name?: string;
86
- cmt?: string;
87
- desc?: string;
88
- src?: string;
89
- link?: LinkType[];
90
- number?: number;
91
- type?: string;
92
- extensions?: ExtensionsType;
93
- rtept?: RteptType[];
94
- }
95
- export interface TrkType {
96
- name?: string;
97
- cmt?: string;
98
- desc?: string;
99
- src?: string;
100
- link?: LinkType[];
101
- number?: number;
102
- type?: string;
103
- extensions?: ExtensionsType;
104
- trkseg?: TrksegType[];
105
- }
106
- export interface TrksegType {
107
- trkpt?: WptType[];
108
- extensions?: ExtensionsType;
109
- }
110
- export interface DecoderContext extends IProcessingContext {
111
- rawData?: Buffer;
112
- xmlContent?: string;
113
- tokens?: Token[];
114
- ast?: TokenAST;
115
- result?: GPX11Type;
116
- performance: {
117
- startTime: number;
118
- tokenizeTime?: number;
119
- astTime?: number;
120
- convertTime?: number;
121
- endTime?: number;
122
- };
123
- }
124
- export {};
@@ -1 +0,0 @@
1
- export declare const GPXWPTOriginKey: string[];
@@ -1,19 +0,0 @@
1
- import { IPlugin, IConverterPlugin, IMiddlewarePlugin, BaseConverter, BaseMiddleware } from "../core/base.js";
2
- import { TCXContext, TCXFileType } from "./types.js";
3
- export interface ITCXPlugin extends IPlugin<TCXContext> {
4
- }
5
- export interface ITCXConverterPlugin extends IConverterPlugin<TCXContext> {
6
- }
7
- export interface ITCXMiddlewarePlugin extends IMiddlewarePlugin<TCXContext, TCXFileType> {
8
- }
9
- export declare abstract class BaseTCXConverter extends BaseConverter<TCXContext> implements ITCXConverterPlugin {
10
- protected parseHeartRate(value: string | number | undefined): number | undefined;
11
- protected parseTCXTime(value: string | undefined): Date | undefined;
12
- protected parseDistance(value: string | number | undefined): number | undefined;
13
- protected parseSpeed(value: string | number | undefined): number | undefined;
14
- protected parseAltitude(value: string | number | undefined): number | undefined;
15
- protected parseCoordinate(value: string | number | undefined): number | undefined;
16
- }
17
- export declare abstract class BaseTCXMiddleware extends BaseMiddleware<TCXContext, TCXFileType> implements ITCXMiddlewarePlugin {
18
- onError(error: Error, context: TCXContext): Promise<void>;
19
- }
@@ -1,52 +0,0 @@
1
- import { TokenAST } from "../types.js";
2
- import { BaseTCXConverter } from "./base.js";
3
- import { TCXContext, ActivityType, ActivityLapType, TrackType, TrackpointType, PositionType, ActivityListType, MultiActivitySessionType, AbstractSourceType } from "./types.js";
4
- export declare class PositionConverter extends BaseTCXConverter {
5
- name: string;
6
- supportedTags: string[];
7
- convert(ast: TokenAST, context: TCXContext): PositionType | undefined;
8
- }
9
- export declare class TrackpointConverter extends BaseTCXConverter {
10
- name: string;
11
- supportedTags: string[];
12
- convert(ast: TokenAST, context: TCXContext): TrackpointType | undefined;
13
- }
14
- export declare class TrackConverter extends BaseTCXConverter {
15
- name: string;
16
- supportedTags: string[];
17
- convert(ast: TokenAST, context: TCXContext): TrackType | undefined;
18
- }
19
- export declare class ActivityLapConverter extends BaseTCXConverter {
20
- name: string;
21
- supportedTags: string[];
22
- convert(ast: TokenAST, context: TCXContext): ActivityLapType | undefined;
23
- }
24
- export declare class ActivityConverter extends BaseTCXConverter {
25
- name: string;
26
- supportedTags: string[];
27
- convert(ast: TokenAST, context: TCXContext): ActivityType | undefined;
28
- private convertTraining;
29
- private convertCreator;
30
- }
31
- export declare class ActivityListConverter extends BaseTCXConverter {
32
- name: string;
33
- supportedTags: string[];
34
- convert(ast: TokenAST, context: TCXContext): ActivityListType | undefined;
35
- }
36
- export declare class MultiActivitySessionConverter extends BaseTCXConverter {
37
- name: string;
38
- supportedTags: string[];
39
- convert(ast: TokenAST, context: TCXContext): MultiActivitySessionType | undefined;
40
- }
41
- export declare class AbstractSourceConverter extends BaseTCXConverter {
42
- name: string;
43
- supportedTags: string[];
44
- convert(ast: TokenAST, context: TCXContext): AbstractSourceType | undefined;
45
- }
46
- export declare class ExtensionsConverter extends BaseTCXConverter {
47
- name: string;
48
- supportedTags: string[];
49
- convert(ast: TokenAST, context: TCXContext): any | undefined;
50
- private flattenExtensionElement;
51
- private parseExtensionValue;
52
- }
@@ -1,33 +0,0 @@
1
- import { ExtensionsType, TokenAST } from "../types.js";
2
- import { ITCXConverterPlugin, ITCXMiddlewarePlugin } from "./base.js";
3
- import { TCXFileType } from "./types.js";
4
- export declare class TCXDecoder {
5
- private converterPlugins;
6
- private registeredPlugins;
7
- private middlewarePlugins;
8
- private processors;
9
- private initialized;
10
- private defaultConvertersRegistered;
11
- constructor();
12
- private initializePipeline;
13
- private registerDefaultConverters;
14
- private addConverterForTag;
15
- registerConverter(plugin: ITCXConverterPlugin): Promise<void>;
16
- registerMiddleware(plugin: ITCXMiddlewarePlugin): Promise<void>;
17
- getConverter(tag: string): ITCXConverterPlugin | undefined;
18
- getAllConverters(tag: string): ITCXConverterPlugin[];
19
- unregisterConverter(pluginName: string): void;
20
- unregisterMiddleware(name: string): void;
21
- initialize(): Promise<void>;
22
- destroy(): Promise<void>;
23
- private createContext;
24
- private executeMiddlewareHook;
25
- parseByBuffer(buffer: Buffer): Promise<TCXFileType | undefined>;
26
- convertExtensions(extensionsAST: TokenAST): ExtensionsType;
27
- parserByBuffer(buffer: Buffer): Promise<TCXFileType | undefined>;
28
- parseByString(xmlContent: string): Promise<TCXFileType | undefined>;
29
- }
30
- declare const _default: {
31
- TCXDecoder: typeof TCXDecoder;
32
- };
33
- export default _default;
@@ -1,41 +0,0 @@
1
- import { TCXFileType } from "./types.js";
2
- export declare class TCXEncoder {
3
- private compact;
4
- constructor(options?: {
5
- compact?: boolean;
6
- });
7
- encode(tcxData: TCXFileType): Promise<Buffer>;
8
- encodeToString(tcxData: TCXFileType): string;
9
- private buildTCXXML;
10
- private compressXML;
11
- private buildXMLHeader;
12
- private buildTCXContent;
13
- private buildFolders;
14
- private buildHistory;
15
- private buildHistoryFolder;
16
- private buildActivities;
17
- private buildActivity;
18
- private buildActivityLap;
19
- private buildTrack;
20
- private buildTrackpoint;
21
- private buildPosition;
22
- private buildCadence;
23
- private buildMultiActivitySession;
24
- private buildFirstActivity;
25
- private buildNextActivity;
26
- private buildWorkouts;
27
- private buildCourses;
28
- private buildAuthor;
29
- private buildExtensions;
30
- private buildExtensionContent;
31
- private formatTime;
32
- private addOptionalElement;
33
- private addOptionalNumericElement;
34
- private isValidCoordinate;
35
- private formatCoordinate;
36
- private roundTo;
37
- private escapeXML;
38
- private escapeXMLAttribute;
39
- private deepClone;
40
- encoder(node: TCXFileType): Promise<Buffer>;
41
- }
@@ -1,7 +0,0 @@
1
- export { TCXDecoder } from "./decoder.js";
2
- export { TCXEncoder } from "./encoder.js";
3
- export * from "./types.js";
4
- export * from "./base.js";
5
- export * from "./converters.js";
6
- export * from "./middleware.js";
7
- export * from "./processor.js";
@@ -1,25 +0,0 @@
1
- import { Token, TokenAST } from "../types.js";
2
- import { BaseTCXMiddleware } from "./base.js";
3
- import { TCXContext } from "./types.js";
4
- export declare class TCXPerformanceMiddleware extends BaseTCXMiddleware {
5
- name: string;
6
- description: string;
7
- onTokenize(tokens: Token[], context: TCXContext): Promise<Token[]>;
8
- onAstGenerate(ast: TokenAST, context: TCXContext): Promise<TokenAST>;
9
- onComplete(result: any, context: TCXContext): Promise<any>;
10
- private countNodes;
11
- }
12
- export declare class TCXValidationMiddleware extends BaseTCXMiddleware {
13
- name: string;
14
- description: string;
15
- onComplete(result: any, context: TCXContext): Promise<any>;
16
- private validateTCX;
17
- }
18
- export declare class TCXEnhancementMiddleware extends BaseTCXMiddleware {
19
- name: string;
20
- description: string;
21
- onComplete(result: any, context: TCXContext): Promise<any>;
22
- private calculateTotalDistance;
23
- private calculateTotalDuration;
24
- }
25
- export declare function registerDefaultTCXMiddlewares(decoder: any): Promise<void>;
@@ -1,39 +0,0 @@
1
- import { TCXContext } from "./types.js";
2
- import { ITCXConverterPlugin } from "./base.js";
3
- export declare enum TCXPipelineStage {
4
- TOKENIZE = "tokenize",
5
- AST_GENERATE = "ast-generate",
6
- CONVERT = "convert",
7
- COMPLETE = "complete"
8
- }
9
- export interface IPipelineProcessor {
10
- stage: TCXPipelineStage;
11
- name: string;
12
- process(context: TCXContext): Promise<TCXContext>;
13
- }
14
- export declare class TokenizeProcessor implements IPipelineProcessor {
15
- stage: TCXPipelineStage;
16
- name: string;
17
- process(context: TCXContext): Promise<TCXContext>;
18
- }
19
- export declare class AstGenerateProcessor implements IPipelineProcessor {
20
- stage: TCXPipelineStage;
21
- name: string;
22
- process(context: TCXContext): Promise<TCXContext>;
23
- }
24
- export declare class ConvertProcessor implements IPipelineProcessor {
25
- private getConverter;
26
- stage: TCXPipelineStage;
27
- name: string;
28
- constructor(getConverter: (tag: string) => ITCXConverterPlugin | undefined);
29
- process(context: TCXContext): Promise<TCXContext>;
30
- private findTCXRoot;
31
- private convertAST;
32
- private genericConvert;
33
- private countElements;
34
- }
35
- export declare class CompleteProcessor implements IPipelineProcessor {
36
- stage: TCXPipelineStage;
37
- name: string;
38
- process(context: TCXContext): Promise<TCXContext>;
39
- }
@@ -1,191 +0,0 @@
1
- import { ExtensionsType, Token, TokenAST } from "../types.js";
2
- import { IProcessingContext } from "../core/base.js";
3
- export interface TCXFileType {
4
- version?: string;
5
- creator?: string;
6
- xmlns?: string;
7
- "xmlns:gte"?: string;
8
- "xmlns:xsi"?: string;
9
- "xsi:schemaLocation"?: string;
10
- Folders?: FolderType;
11
- Activities?: ActivityListType;
12
- Workouts?: WorkoutListType;
13
- Courses?: CourseListType;
14
- Author?: AbstractSourceType;
15
- Extensions?: any;
16
- [key: string]: any | undefined;
17
- }
18
- export interface FolderType {
19
- History?: HistoryType;
20
- Workouts?: WorkoutListType;
21
- Courses?: any;
22
- }
23
- export interface WorkoutListType {
24
- Workout?: WorkoutType[];
25
- }
26
- export interface WorkoutType {
27
- Name?: string;
28
- Step?: AbstractStepType;
29
- ScheduledOn?: string;
30
- Notes?: string;
31
- Creator?: AbstractSourceType;
32
- Extensions?: ExtensionsType;
33
- }
34
- export interface AbstractSourceType {
35
- Name?: string;
36
- }
37
- export interface AbstractStepType {
38
- StepId?: string;
39
- }
40
- export interface CourseListType {
41
- Course?: CourseType[];
42
- }
43
- export interface CourseType {
44
- Name?: string;
45
- Lap?: CourseLapType[];
46
- Track?: TrackType[];
47
- Notes?: string;
48
- CoursePoint?: CoursePointType[];
49
- Creator?: AbstractSourceType;
50
- Extensions?: ExtensionsType;
51
- }
52
- export interface CoursePointType {
53
- Name?: string;
54
- Time?: number;
55
- Position?: PositionType;
56
- AltitudeMeters?: number;
57
- PointType?: string;
58
- Notes?: string;
59
- Extensions?: ExtensionsType;
60
- }
61
- export interface CourseLapType {
62
- TotalTimeSeconds?: number;
63
- DistanceMeters?: number;
64
- BeginPosition?: PositionType;
65
- BeginAltitudeMeters?: number;
66
- EndPosition?: PositionType;
67
- EndAltitudeMeters?: number;
68
- AverageHeartRateBpm?: number;
69
- MaximumHeartRateBpm?: number;
70
- Intensity?: IntensityType;
71
- Cadence?: CadenceType;
72
- Extensions?: ExtensionsType;
73
- }
74
- export interface HistoryType {
75
- Running?: HistoryFolderType;
76
- Biking?: HistoryFolderType;
77
- Other?: HistoryFolderType;
78
- MultiActivity?: HistoryFolderType;
79
- Extensions?: ExtensionsType;
80
- }
81
- export interface HistoryFolderType {
82
- Folder?: HistoryFolderType;
83
- ActivityRef?: ActivityRefType;
84
- Week?: WeekType;
85
- Notes?: string;
86
- Extensions?: any;
87
- }
88
- export interface ActivityRefType {
89
- Id: string;
90
- }
91
- export interface WeekType {
92
- Notes?: string;
93
- StartDay?: string;
94
- }
95
- export interface ActivityListType {
96
- Activity?: ActivityType[];
97
- MultiActivitySession?: MultiActivitySessionType[];
98
- }
99
- export interface ActivityType {
100
- Activity?: "Other" | "Running" | "Biking";
101
- Id: string;
102
- Lap: ActivityLapType[];
103
- Notes?: string;
104
- Training?: any;
105
- Creator?: any;
106
- Extensions?: any;
107
- }
108
- export interface TrainingType {
109
- QuickWorkoutResults?: QuickWorkoutType;
110
- Plan?: PlanType;
111
- VirtualPartner: boolean;
112
- }
113
- export interface QuickWorkoutType {
114
- TotalTimeSeconds: number;
115
- DistanceMeters: number;
116
- }
117
- export interface PlanType {
118
- Name?: string;
119
- Extensions?: any;
120
- Type: "Workout" | "Course";
121
- IntervalWorkout: boolean;
122
- }
123
- export interface ActivityLapType {
124
- TotalTimeSeconds?: number;
125
- DistanceMeters?: number;
126
- MaximumSpeed?: number;
127
- Calories?: number;
128
- Heartratebpm?: number;
129
- AverageHeartRateBpm?: number;
130
- MaximumHeartRateBpm?: number;
131
- Intensity?: IntensityType;
132
- Cadence?: CadenceType;
133
- TriggerMethod?: TriggerMethodType;
134
- Track?: TrackType[];
135
- Notes?: string;
136
- Extensions?: any;
137
- }
138
- export type TriggerMethodType = "Manual" | "Distance" | "Location" | "Time" | "HeartRate";
139
- export type IntensityType = "Active" | "Resting";
140
- export interface CadenceType {
141
- Low: number;
142
- High: number;
143
- }
144
- export interface HeartRateInBeatsPerMinuteType {
145
- Value: number;
146
- }
147
- export interface MultiActivitySessionType {
148
- Id?: string;
149
- FirstActivity?: FirstActivityType;
150
- NextActivity?: NextActivityType[];
151
- Notes?: string;
152
- }
153
- export interface FirstActivityType {
154
- Activity?: ActivityType;
155
- }
156
- export interface NextActivityType {
157
- Transition?: ActivityLapType;
158
- Activity?: ActivityType;
159
- }
160
- export interface TrackType {
161
- Trackpoint?: TrackpointType[];
162
- }
163
- export interface TrackpointType {
164
- Time?: string;
165
- Position?: PositionType;
166
- AltitudeMeters?: number;
167
- DistanceMeters?: number;
168
- HeartRateBpm?: number;
169
- Cadence?: CadenceType;
170
- SensorState?: "Present" | "Absent";
171
- Extensions?: any;
172
- }
173
- export interface PositionType {
174
- LatitudeDegrees?: string;
175
- LongitudeDegrees?: string;
176
- }
177
- export interface TCXContext extends IProcessingContext {
178
- rawData?: Buffer;
179
- xmlContent?: string;
180
- tokens?: Token[];
181
- ast?: TokenAST;
182
- result?: TCXFileType;
183
- performance: {
184
- startTime: number;
185
- tokenizeTime?: number;
186
- astTime?: number;
187
- convertTime?: number;
188
- endTime?: number;
189
- processingTime?: number;
190
- };
191
- }