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,48 +0,0 @@
1
- import { GPXDecoder, GPXEncoder } from "./GPX/index.js";
2
- import { GPX11Type } from "./GPX/types.js";
3
- import { FITDecoder, FITEncoder } from "./FIT/index.js";
4
- import { FITFileType } from "./FIT/types.js";
5
- import { TCXDecoder, TCXEncoder } from "./TCX/index.js";
6
- import { TCXFileType } from "./TCX/types.js";
7
- import { ActivityProcessor } from "./activity/processor.js";
8
- import { FileType } from "./types.js";
9
- export declare class TrackSwap {
10
- private gpxDecoder;
11
- private gpxEncoder;
12
- private fitDecoder;
13
- private fitEncoder;
14
- private tcxDecoder;
15
- private tcxEncoder;
16
- private activityProcessor;
17
- constructor();
18
- parseGPX(buffer: Buffer): Promise<GPX11Type | undefined>;
19
- parseGPXString(xmlString: string): Promise<GPX11Type | undefined>;
20
- encodeGPX(gpxData: GPX11Type): Promise<Buffer>;
21
- encodeGPXString(gpxData: GPX11Type): string;
22
- parseFIT(buffer: Buffer): Promise<FITFileType | undefined>;
23
- encodeFIT(fitData: FITFileType): Promise<Buffer>;
24
- encodeFITCourse(fitData: FITFileType): Promise<Buffer>;
25
- parseTCXString(xmlString: string): Promise<TCXFileType>;
26
- parseTCX(buffer: Buffer): Promise<TCXFileType>;
27
- encodeTCX(tcxData: TCXFileType): Promise<Buffer>;
28
- encodeTCXString(tcxData: TCXFileType): Promise<string>;
29
- convertGPXToActivity(gpxData: GPX11Type): Promise<FileType>;
30
- convertFITToActivity(fitData: FITFileType): Promise<FileType>;
31
- convertTCXToActivity(tcxData: TCXFileType): Promise<FileType>;
32
- convertActivityToGPX(file: FileType): Promise<GPX11Type>;
33
- convertActivityToFIT(file: FileType): Promise<FITFileType>;
34
- convertActivityToTCX(file: FileType): Promise<TCXFileType>;
35
- convertFile(sourceFile: Buffer, targetType: "gpx" | "fit" | "tcx", sourceType?: "gpx" | "fit" | "tcx"): Promise<Buffer>;
36
- detectFormat(buffer: Buffer): "gpx" | "fit" | "tcx" | "unknown";
37
- parseFile(buffer: Buffer, sourceType?: "gpx" | "fit" | "tcx"): Promise<GPX11Type | FITFileType | TCXFileType | undefined>;
38
- parseToActivity(buffer: Buffer, sourceType?: "gpx" | "fit" | "tcx"): Promise<FileType | undefined>;
39
- getActivityProcessor(): ActivityProcessor;
40
- getGPXDecoder(): GPXDecoder;
41
- getGPXEncoder(): GPXEncoder;
42
- getFITDecoder(): FITDecoder;
43
- getFITEncoder(): FITEncoder;
44
- getTCXDecoder(): TCXDecoder;
45
- getTCXEncoder(): TCXEncoder;
46
- destroy(): Promise<void>;
47
- }
48
- export default TrackSwap;
@@ -1,73 +0,0 @@
1
- import { ExtensionsType, Token, TokenAST } from "../types.js";
2
- export interface IPlugin<TContext = any> {
3
- name: string;
4
- version?: string;
5
- description?: string;
6
- dependencies?: string[];
7
- supportedTags?: string[];
8
- initialize?(context: TContext): Promise<void> | void;
9
- destroy?(context: TContext): Promise<void> | void;
10
- validate?(context: TContext): Promise<boolean> | boolean;
11
- }
12
- export interface IConverterPlugin<TContext = any> extends IPlugin<TContext> {
13
- convert(ast: TokenAST, context: TContext): any | undefined;
14
- supports(tag: string): boolean;
15
- priority?: number;
16
- }
17
- export interface IMiddlewarePlugin<TContext = any, TResult = any> extends IPlugin<TContext> {
18
- priority?: number;
19
- onTokenize?(tokens: Token[], context: TContext): Promise<Token[]> | Token[];
20
- onAstGenerate?(ast: TokenAST, context: TContext): Promise<TokenAST> | TokenAST;
21
- onConvert?(result: any, context: TContext): Promise<any> | any;
22
- onComplete?(result: TResult, context: TContext): Promise<TResult> | TResult;
23
- onError?(error: Error, context: TContext): Promise<void> | void;
24
- }
25
- export interface IProcessingContext {
26
- metadata: Map<string, any>;
27
- errors: Error[];
28
- warnings: string[];
29
- stats: {
30
- startTime: number;
31
- endTime?: number;
32
- processedTokens: number;
33
- convertedElements: number;
34
- };
35
- userData?: Record<string, any>;
36
- }
37
- export declare abstract class BaseConverter<TContext extends IProcessingContext = IProcessingContext> implements IConverterPlugin<TContext> {
38
- abstract name: string;
39
- abstract supportedTags: string[];
40
- version: string;
41
- priority: number;
42
- abstract convert(ast: TokenAST, context: TContext): any | undefined;
43
- supports(tag: string): boolean;
44
- initialize(context: TContext): Promise<void>;
45
- destroy(context: TContext): Promise<void>;
46
- validate(context: TContext): Promise<boolean>;
47
- protected parseFloat(value: string | number | undefined): number | undefined;
48
- protected parseInt(value: string | number | undefined): number;
49
- protected parseString(value: string | number | undefined): string;
50
- protected parseBoolean(value: string | boolean | undefined): boolean;
51
- protected parseDate(value: string | undefined): Date | undefined;
52
- protected hasRequiredAttributes(ast: TokenAST, required: string[]): boolean;
53
- protected extractAttributes<U extends Record<string, any>>(ast: TokenAST, target: U, mapping: Record<string, keyof U>): void;
54
- protected processChildren<U extends Record<string, any>>(ast: TokenAST, target: U, processors: Record<string, (child: TokenAST, target: U) => void>): void;
55
- protected getChildValue(ast: TokenAST, tag: string): string | undefined;
56
- protected getChildByTag(ast: TokenAST, tag: string): TokenAST | undefined;
57
- protected getChildrenByTag(ast: TokenAST, tag: string): TokenAST[];
58
- protected convertExtensions(extensionsAST: TokenAST): ExtensionsType;
59
- protected convertExtensionContent(extension: TokenAST): any;
60
- }
61
- export declare abstract class BaseMiddleware<TContext extends IProcessingContext = IProcessingContext, TResult = any> implements IMiddlewarePlugin<TContext, TResult> {
62
- abstract name: string;
63
- version: string;
64
- description: string;
65
- initialize(context: TContext): Promise<void>;
66
- destroy(context: TContext): Promise<void>;
67
- validate(context: TContext): Promise<boolean>;
68
- onTokenize(tokens: Token[], context: TContext): Promise<Token[]>;
69
- onAstGenerate(ast: TokenAST, context: TContext): Promise<TokenAST>;
70
- onConvert(result: any, context: TContext): Promise<any>;
71
- onComplete(result: TResult, context: TContext): Promise<TResult>;
72
- onError(error: Error, context: TContext): Promise<void>;
73
- }
@@ -1,2 +0,0 @@
1
- export { IPlugin, IConverterPlugin, IMiddlewarePlugin, IProcessingContext, BaseConverter, BaseMiddleware, } from "./base.js";
2
- export { XMLUtils } from "./xml-utils.js";
@@ -1,17 +0,0 @@
1
- import { Token } from "../types.js";
2
- export declare class XMLUtils {
3
- static tokenizeXML(xmlContent: string): Token[];
4
- static compressXML(xmlContent: string): string;
5
- static formatXML(xmlContent: string, indentSize?: number): string;
6
- static validateXML(xmlContent: string): {
7
- isValid: boolean;
8
- error?: string;
9
- };
10
- static extractXMLDeclaration(xmlContent: string): {
11
- version?: string;
12
- encoding?: string;
13
- standalone?: string;
14
- };
15
- static escapeXML(text: string): string;
16
- static unescapeXML(text: string): string;
17
- }
package/dist/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export * from "./types.js";
2
- export { FITDecoder, FITEncoder } from "./FIT/index.js";
3
- export { GPXDecoder, GPXEncoder, registerDefaultMiddlewares, PipelineStage, } from "./GPX/index.js";
4
- export { TCXDecoder, TCXEncoder } from "./TCX/index.js";
5
- export * from "./activity/index.js";
6
- import { TrackSwap } from "./TrackSwap.js";
7
- export { TrackSwap } from "./TrackSwap.js";
8
- export default TrackSwap;
package/dist/types.d.ts DELETED
@@ -1,75 +0,0 @@
1
- import { LapMesgType, LengthMesgType, RecordMesgType, SessionMesgType } from "./FIT/types.js";
2
- export interface Token {
3
- type: "open" | "close" | "text";
4
- tag: string;
5
- attributes?: AttributeType;
6
- value?: string | number;
7
- }
8
- export interface TokenAST {
9
- tag: string;
10
- attributes?: AttributeType;
11
- children?: TokenAST[];
12
- value?: string | number;
13
- }
14
- export interface AttributeType {
15
- [key: string]: string;
16
- }
17
- export type LatitudeType = number;
18
- export type LongitudeType = number;
19
- export type DegreesType = number;
20
- export interface ExtensionsType {
21
- [key: string]: string | number | undefined | ExtensionsType;
22
- }
23
- export interface FileType {
24
- metadata?: {
25
- originType: "GPX" | "FIT" | "TCX" | "HIJSON";
26
- fileName?: string;
27
- fileType?: string;
28
- };
29
- points?: ActivityRecordType[];
30
- routes?: ActivityLapType[];
31
- activities?: ActivityType[];
32
- userProfile?: UserProfileType;
33
- }
34
- export interface UserProfileType {
35
- name?: string;
36
- weight?: number;
37
- gender?: string;
38
- age?: number;
39
- height?: number;
40
- language?: string;
41
- defaultMaxBikingHeartRate?: number;
42
- defaultMaxHeartRate?: number;
43
- hrSetting?: string;
44
- speedSetting?: string;
45
- distSetting?: string;
46
- powerSetting?: string;
47
- activityClass?: number;
48
- positionSetting?: string;
49
- temperatureSetting?: string;
50
- elevSetting?: string;
51
- weightSetting?: string;
52
- }
53
- export interface ActivityType extends SessionMesgType {
54
- index: number;
55
- endTime?: Date;
56
- laps?: ActivityLapType[];
57
- }
58
- export interface ActivityRecordType extends RecordMesgType {
59
- lapIndex: number;
60
- index: number;
61
- hdop?: number;
62
- vdop?: number;
63
- pdop?: number;
64
- turn?: number;
65
- description?: number;
66
- }
67
- export interface ActivityLengthType extends LengthMesgType {
68
- index: number;
69
- }
70
- export interface ActivityLapType extends LapMesgType {
71
- index: number;
72
- endTime?: Date;
73
- records: ActivityRecordType[];
74
- lengths: ActivityLengthType[];
75
- }