@sports-alliance/sports-lib 7.0.0 → 7.0.3
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.
- package/.github/workflows/test.yml +2 -2
- package/lib/cjs/activities/activity.types.d.ts +6 -3
- package/lib/cjs/activities/activity.types.js +9 -4
- package/lib/cjs/activities/devices/device.d.ts +1 -0
- package/lib/cjs/activities/devices/device.interface.d.ts +1 -0
- package/lib/cjs/activities/devices/device.js +1 -0
- package/lib/cjs/activities/devices/device.json.interface.d.ts +1 -0
- package/lib/cjs/data/data.cycling-position.js +1 -1
- package/lib/cjs/data/data.feeling.js +1 -1
- package/lib/cjs/data/data.interface.js +1 -1
- package/lib/cjs/data/data.rpe.js +1 -1
- package/lib/cjs/data/data.store.export.spec.js +28 -14
- package/lib/cjs/data/data.store.js +1 -1
- package/lib/cjs/events/adapters/file-type.enum.js +1 -1
- package/lib/cjs/events/adapters/importers/fit/importer.fit.coros.device.names.js +2 -1
- package/lib/cjs/events/adapters/importers/fit/importer.fit.d.ts +2 -1
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.device.names.js +61 -2
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +867 -855
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.d.ts +1 -0
- package/lib/cjs/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +34 -0
- package/lib/cjs/events/adapters/importers/fit/importer.fit.integration.spec.js +22 -8
- package/lib/cjs/events/adapters/importers/fit/importer.fit.js +24 -2
- package/lib/cjs/events/adapters/importers/fit/importer.fit.suunto.device.names.js +1 -0
- package/lib/cjs/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +5 -1
- package/lib/cjs/events/adapters/importers/gpx/importer.gpx.integration.spec.js +22 -8
- package/lib/cjs/events/adapters/importers/gpx/importer.gpx.js +1 -1
- package/lib/cjs/events/adapters/importers/gpx/importer.gpx.spec.js +50 -0
- package/lib/cjs/events/adapters/importers/suunto/importer.suunto.activity.ids.js +1 -1
- package/lib/cjs/events/adapters/importers/suunto/importer.suunto.device.names.js +1 -0
- package/lib/cjs/events/adapters/importers/suunto/importer.suunto.integration.spec.js +22 -8
- package/lib/cjs/events/adapters/importers/tcx/importer.tcx.integration.spec.js +22 -8
- package/lib/cjs/events/utilities/activity.utilities.js +7 -7
- package/lib/cjs/events/utilities/grade-calculator/low-pass-filter.js +3 -3
- package/lib/cjs/events/utilities/helpers.d.ts +1 -1
- package/lib/cjs/events/utilities/helpers.js +19 -19
- package/lib/cjs/index.d.ts +1 -1
- package/lib/cjs/index.js +5 -1
- package/lib/cjs/laps/lap.types.js +1 -1
- package/lib/cjs/meta-data/event-meta-data.interface.js +1 -1
- package/lib/cjs/privacy/privacy.class.interface.js +1 -1
- package/lib/cjs/specs/activities-parsing.integration.spec.js +75 -61
- package/lib/cjs/specs/strava-streams-compliance.spec.js +22 -8
- package/lib/cjs/streams/compressed.stream.interface.js +2 -2
- package/lib/cjs/tiles/tile.settings.interface.js +5 -5
- package/lib/cjs/users/settings/dashboard/user.dashboard.settings.interface.js +1 -1
- package/lib/cjs/users/settings/user.app.settings.interface.js +1 -1
- package/lib/cjs/users/settings/user.chart.settings.interface.js +3 -3
- package/lib/cjs/users/settings/user.map.settings.interface.js +2 -2
- package/lib/cjs/users/settings/user.unit.settings.interface.js +9 -9
- package/lib/esm/activities/activity.types.d.ts +6 -3
- package/lib/esm/activities/activity.types.js +7 -2
- package/lib/esm/activities/devices/device.d.ts +1 -0
- package/lib/esm/activities/devices/device.interface.d.ts +1 -0
- package/lib/esm/activities/devices/device.js +1 -0
- package/lib/esm/activities/devices/device.json.interface.d.ts +1 -0
- package/lib/esm/data/data.store.export.spec.js +6 -6
- package/lib/esm/data/data.store.js +1 -1
- package/lib/esm/events/adapters/importers/fit/importer.fit.coros.device.names.js +2 -1
- package/lib/esm/events/adapters/importers/fit/importer.fit.d.ts +2 -1
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.device.names.js +61 -2
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.data.js +867 -855
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.d.ts +1 -0
- package/lib/esm/events/adapters/importers/fit/importer.fit.garmin.profile.mapper.spec.js +32 -0
- package/lib/esm/events/adapters/importers/fit/importer.fit.js +24 -2
- package/lib/esm/events/adapters/importers/fit/importer.fit.suunto.device.names.js +1 -0
- package/lib/esm/events/adapters/importers/fit/importer.fit.wahoo.device.names.js +5 -1
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.js +1 -1
- package/lib/esm/events/adapters/importers/gpx/importer.gpx.spec.js +17 -0
- package/lib/esm/events/adapters/importers/suunto/importer.suunto.device.names.js +1 -0
- package/lib/esm/events/utilities/activity.utilities.js +7 -7
- package/lib/esm/events/utilities/grade-calculator/low-pass-filter.js +3 -3
- package/lib/esm/events/utilities/helpers.d.ts +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/specs/activities-parsing.integration.spec.js +53 -53
- package/package.json +21 -21
- package/.editorconfig +0 -14
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -9
- package/.prettierignore +0 -24
- package/.prettierrc.json +0 -12
- package/.vscode/launch.json +0 -49
- package/.vscode/tasks.json +0 -34
- package/CODE_OF_CONDUCT.md +0 -76
- package/debug-fit-import.js +0 -10
- package/jest.config.js +0 -23
- package/lib/cjs/package.json +0 -1
- package/lib/cjs/specs/fixtures/streams/strava/rides/3171472783.json +0 -52534
- package/lib/cjs/specs/fixtures/streams/strava/rides/3171487458.json +0 -78818
- package/lib/cjs/specs/fixtures/streams/strava/rides/343080886.json +0 -105090
- package/lib/cjs/specs/fixtures/streams/strava/rides/5910143591.json +0 -110711
- package/lib/cjs/specs/fixtures/streams/strava/runs/2451375851.json +0 -74846
- package/lib/cjs/specs/fixtures/streams/strava/runs/2709634581.json +0 -66817
- package/lib/cjs/specs/fixtures/streams/strava/runs/3156040843.json +0 -17594
- package/lib/cjs/specs/fixtures/streams/strava/runs/3182900697.json +0 -17322
- package/lib/cjs/specs/fixtures/streams/strava/runs/3183465494.json +0 -20463
- package/lib/cjs/specs/fixtures/streams/strava/runs/3183490558.json +0 -58202
- package/lib/esm/specs/fixtures/streams/strava/rides/3171472783.json +0 -52534
- package/lib/esm/specs/fixtures/streams/strava/rides/3171487458.json +0 -78818
- package/lib/esm/specs/fixtures/streams/strava/rides/343080886.json +0 -105090
- package/lib/esm/specs/fixtures/streams/strava/rides/5910143591.json +0 -110711
- package/lib/esm/specs/fixtures/streams/strava/runs/2451375851.json +0 -74846
- package/lib/esm/specs/fixtures/streams/strava/runs/2709634581.json +0 -66817
- package/lib/esm/specs/fixtures/streams/strava/runs/3156040843.json +0 -17594
- package/lib/esm/specs/fixtures/streams/strava/runs/3182900697.json +0 -17322
- package/lib/esm/specs/fixtures/streams/strava/runs/3183465494.json +0 -20463
- package/lib/esm/specs/fixtures/streams/strava/runs/3183490558.json +0 -58202
- package/test_output.log +0 -162
- package/test_output_2.log +0 -168
- package/test_output_3.log +0 -168
- package/tsconfig.cjs.json +0 -7
- package/tsconfig.esm.json +0 -8
- package/tsconfig.lib.json +0 -8
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
11
15
|
}) : function(o, v) {
|
|
12
16
|
o["default"] = v;
|
|
13
17
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
21
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
37
|
};
|
|
@@ -164,12 +178,12 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
164
178
|
expect(activity.hasStreamData(data_cadence_1.DataCadence.type)).toBeTruthy();
|
|
165
179
|
expect(activity.hasStreamData(data_distance_1.DataDistance.type)).toBeTruthy();
|
|
166
180
|
spec_utils_1.SpecUtils.assertNearEqualTime(spec_utils_1.SpecUtils.speedToSwimPace(activity.getStat(data_speed_avg_1.DataSpeedAvg.type).getValue()), '01:50');
|
|
167
|
-
spec_utils_1.SpecUtils.assertNearEqualTime(movingTime, '
|
|
181
|
+
spec_utils_1.SpecUtils.assertNearEqualTime(movingTime, '44:06');
|
|
168
182
|
spec_utils_1.SpecUtils.assertNearEqualTime(timerTime, '01:06:03');
|
|
169
183
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:06:23');
|
|
170
184
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
171
185
|
done();
|
|
172
|
-
});
|
|
186
|
+
}).catch((e) => done(e));
|
|
173
187
|
});
|
|
174
188
|
it('should parse swimming pool FIT file (2)', done => {
|
|
175
189
|
// Given FIT Source: https://connect.garmin.com/modern/activity/6021532030 OR https://www.strava.com/activities/5258304128
|
|
@@ -200,7 +214,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
200
214
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '23:31');
|
|
201
215
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
202
216
|
done();
|
|
203
|
-
});
|
|
217
|
+
}).catch((e) => done(e));
|
|
204
218
|
});
|
|
205
219
|
it('should parse swimming pool FIT file (3)', done => {
|
|
206
220
|
// Given FIT Source: https://connect.garmin.com/modern/activity/6860712481 OR https://www.strava.com/activities/5376106733
|
|
@@ -228,12 +242,12 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
228
242
|
const timerTime = activity.getStat(data_timer_time_1.DataTimerTime.type).getValue();
|
|
229
243
|
const pauseTime = activity.getStat(data_pause_1.DataPause.type).getValue();
|
|
230
244
|
const elapsedTime = activity.getDuration().getValue();
|
|
231
|
-
spec_utils_1.SpecUtils.assertNearEqualTime(movingTime, '
|
|
245
|
+
spec_utils_1.SpecUtils.assertNearEqualTime(movingTime, '41:25');
|
|
232
246
|
spec_utils_1.SpecUtils.assertNearEqualTime(timerTime, '47:27');
|
|
233
247
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '49:43');
|
|
234
248
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
235
249
|
done();
|
|
236
|
-
});
|
|
250
|
+
}).catch((e) => done(e));
|
|
237
251
|
});
|
|
238
252
|
it('should parse swimming pool FIT file (4)', done => {
|
|
239
253
|
// Given FIT Source: https://connect.garmin.com/modern/activity/7617306288 OR https://www.strava.com/activities/6076695527
|
|
@@ -249,7 +263,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
249
263
|
spec_utils_1.SpecUtils.assertNearEqualTime(spec_utils_1.SpecUtils.speedToSwimPace(activity.getStat(data_speed_avg_1.DataSpeedAvg.type).getValue()), '01:54');
|
|
250
264
|
expect(activity.getLaps().length).toEqual(6);
|
|
251
265
|
done();
|
|
252
|
-
});
|
|
266
|
+
}).catch((e) => done(e));
|
|
253
267
|
});
|
|
254
268
|
it('should parse swimming open water FIT file (1)', done => {
|
|
255
269
|
// Given https://connect.garmin.com/modern/activity/6788312639/1 OR https://www.strava.com/activities/5305763421
|
|
@@ -280,7 +294,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
280
294
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '31:06');
|
|
281
295
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
282
296
|
done();
|
|
283
|
-
});
|
|
297
|
+
}).catch((e) => done(e));
|
|
284
298
|
});
|
|
285
299
|
});
|
|
286
300
|
describe('TCX', () => {
|
|
@@ -314,7 +328,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
314
328
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:06:23');
|
|
315
329
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime);
|
|
316
330
|
done();
|
|
317
|
-
});
|
|
331
|
+
}).catch((e) => done(e));
|
|
318
332
|
});
|
|
319
333
|
it('should parse swimming pool TCX file (2)', done => {
|
|
320
334
|
// Given TCX Source: https://connect.garmin.com/modern/activity/6861441616 or https://www.strava.com/activities/5378130384
|
|
@@ -342,7 +356,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
342
356
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '47:27');
|
|
343
357
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
344
358
|
done();
|
|
345
|
-
});
|
|
359
|
+
}).catch((e) => done(e));
|
|
346
360
|
});
|
|
347
361
|
});
|
|
348
362
|
describe('GPX', () => {
|
|
@@ -377,7 +391,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
377
391
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:01:29');
|
|
378
392
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
379
393
|
done();
|
|
380
|
-
});
|
|
394
|
+
}).catch((e) => done(e));
|
|
381
395
|
});
|
|
382
396
|
it('should parse swimming open water GPX file (2)', done => {
|
|
383
397
|
// Given GPX Source: https://connect.garmin.com/modern/activity/6867446668 OR https://www.strava.com/activities/5382426315
|
|
@@ -406,7 +420,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
406
420
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:14:47');
|
|
407
421
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
408
422
|
done();
|
|
409
|
-
});
|
|
423
|
+
}).catch((e) => done(e));
|
|
410
424
|
});
|
|
411
425
|
});
|
|
412
426
|
});
|
|
@@ -442,7 +456,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
442
456
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '47:04');
|
|
443
457
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
444
458
|
done();
|
|
445
|
-
});
|
|
459
|
+
}).catch((e) => done(e));
|
|
446
460
|
});
|
|
447
461
|
it('should parse running FIT file (2)', done => {
|
|
448
462
|
// Given FIT Source: https://connect.garmin.com/modern/activity/6782987395 OR https://www.strava.com/activities/2451375851
|
|
@@ -475,7 +489,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
475
489
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:23:09');
|
|
476
490
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
477
491
|
done();
|
|
478
|
-
});
|
|
492
|
+
}).catch((e) => done(e));
|
|
479
493
|
});
|
|
480
494
|
it('should parse running FIT file (Suunto export) (3)', done => {
|
|
481
495
|
// Given FIT Source (Suunto export): https://connect.garmin.com/modern/activity/6909950168 OR https://www.strava.com/activities/5423646653
|
|
@@ -509,7 +523,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
509
523
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '36:36');
|
|
510
524
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
511
525
|
done();
|
|
512
|
-
});
|
|
526
|
+
}).catch((e) => done(e));
|
|
513
527
|
});
|
|
514
528
|
it('should parse running FIT file (Suunto export) (4)', done => {
|
|
515
529
|
// Given FIT Source (Suunto export): https://connect.garmin.com/modern/activity/6910052863 OR https://www.strava.com/activities/5423660493
|
|
@@ -541,7 +555,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
541
555
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '02:40:02');
|
|
542
556
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
543
557
|
done();
|
|
544
|
-
});
|
|
558
|
+
}).catch((e) => done(e));
|
|
545
559
|
});
|
|
546
560
|
it('should parse running FIT file (Suunto export) (5)', done => {
|
|
547
561
|
// Given FIT Source (Suunto export): https://connect.garmin.com/modern/activity/6914448270 OR https://www.strava.com/activities/5427988571
|
|
@@ -571,7 +585,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
571
585
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '05:40:19');
|
|
572
586
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
573
587
|
done();
|
|
574
|
-
});
|
|
588
|
+
}).catch((e) => done(e));
|
|
575
589
|
});
|
|
576
590
|
it('should parse running FIT file (Suunto export) (6)', done => {
|
|
577
591
|
// Given FIT Source (Suunto export): https://connect.garmin.com/modern/activity/6914538454 OR https://www.strava.com/activities/5428064152
|
|
@@ -601,7 +615,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
601
615
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '21:04');
|
|
602
616
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
603
617
|
done();
|
|
604
|
-
});
|
|
618
|
+
}).catch((e) => done(e));
|
|
605
619
|
});
|
|
606
620
|
it('should parse running FIT file (Coros export) (7)', done => {
|
|
607
621
|
// Given FIT Source (Coros export): https://connect.garmin.com/modern/activity/6916663933 OR https://www.strava.com/activities/5429996380
|
|
@@ -642,7 +656,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
642
656
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '48:42');
|
|
643
657
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
644
658
|
done();
|
|
645
|
-
});
|
|
659
|
+
}).catch((e) => done(e));
|
|
646
660
|
});
|
|
647
661
|
it('should parse running FIT file (Coros export) (8)', done => {
|
|
648
662
|
// Given FIT Source (Coros export): https://connect.garmin.com/modern/activity/6916728382 OR https://www.strava.com/activities/5430055225
|
|
@@ -675,7 +689,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
675
689
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '02:41:39');
|
|
676
690
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
677
691
|
done();
|
|
678
|
-
});
|
|
692
|
+
}).catch((e) => done(e));
|
|
679
693
|
});
|
|
680
694
|
it('should parse running treadmill FIT file (1)', done => {
|
|
681
695
|
// Given FIT Source: https://connect.garmin.com/modern/activity/6860622783 or https://www.strava.com/activities/5375834427
|
|
@@ -714,7 +728,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
714
728
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:02:44');
|
|
715
729
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
716
730
|
done();
|
|
717
|
-
});
|
|
731
|
+
}).catch((e) => done(e));
|
|
718
732
|
});
|
|
719
733
|
});
|
|
720
734
|
describe('TCX', () => {
|
|
@@ -747,7 +761,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
747
761
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:07:47');
|
|
748
762
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
749
763
|
done();
|
|
750
|
-
});
|
|
764
|
+
}).catch((e) => done(e));
|
|
751
765
|
});
|
|
752
766
|
it('should parse running TCX file (2)', done => {
|
|
753
767
|
// Given TCX Source: https://connect.garmin.com/modern/activity/6851149716 OR https://www.strava.com/activities/5366592367
|
|
@@ -781,7 +795,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
781
795
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:23:09');
|
|
782
796
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
783
797
|
done();
|
|
784
|
-
});
|
|
798
|
+
}).catch((e) => done(e));
|
|
785
799
|
});
|
|
786
800
|
it('should parse running TCX file (3)', done => {
|
|
787
801
|
// Given TCX Source: https://connect.garmin.com/modern/activity/6860622916 or https://www.strava.com/activities/5375754773
|
|
@@ -813,7 +827,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
813
827
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:02:17');
|
|
814
828
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
815
829
|
done();
|
|
816
|
-
});
|
|
830
|
+
}).catch((e) => done(e));
|
|
817
831
|
});
|
|
818
832
|
it('should parse running TCX file (4)', done => {
|
|
819
833
|
// Given TCX Source: (garmin connect upload impossible) or https://www.strava.com/activities/6281425038
|
|
@@ -838,7 +852,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
838
852
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '36:02');
|
|
839
853
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
840
854
|
done();
|
|
841
|
-
});
|
|
855
|
+
}).catch((e) => done(e));
|
|
842
856
|
});
|
|
843
857
|
it('should parse running treadmill TCX file (3)', done => {
|
|
844
858
|
// Given FIT Source: https://connect.garmin.com/modern/activity/6860622783 or https://www.strava.com/activities/5375834427
|
|
@@ -866,7 +880,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
866
880
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:02:44');
|
|
867
881
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
868
882
|
done();
|
|
869
|
-
});
|
|
883
|
+
}).catch((e) => done(e));
|
|
870
884
|
});
|
|
871
885
|
});
|
|
872
886
|
describe('GPX', () => {
|
|
@@ -900,7 +914,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
900
914
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '47:04');
|
|
901
915
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
902
916
|
done();
|
|
903
|
-
});
|
|
917
|
+
}).catch((e) => done(e));
|
|
904
918
|
});
|
|
905
919
|
it('should parse running GPX file (2)', done => {
|
|
906
920
|
// Given GPX Source: https://connect.garmin.com/modern/activity/6870566668 OR https://www.strava.com/activities/5385561485
|
|
@@ -931,7 +945,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
931
945
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:23:09');
|
|
932
946
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
933
947
|
done();
|
|
934
|
-
});
|
|
948
|
+
}).catch((e) => done(e));
|
|
935
949
|
});
|
|
936
950
|
it('should parse running GPX file (3)', done => {
|
|
937
951
|
// Given Recorded with "Strava Android App" => https://connect.garmin.com/modern/activity/1681613317 OR https://www.strava.com/activities/906581465
|
|
@@ -963,7 +977,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
963
977
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '32:38');
|
|
964
978
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
965
979
|
done();
|
|
966
|
-
});
|
|
980
|
+
}).catch((e) => done(e));
|
|
967
981
|
});
|
|
968
982
|
it('should parse running GPX file (4)', done => {
|
|
969
983
|
// Given Recorded with "MyTracks" => https://connect.garmin.com/modern/activity/6909258631 OR https://www.strava.com/activities/5422847134
|
|
@@ -988,7 +1002,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
988
1002
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '06:30:22');
|
|
989
1003
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
990
1004
|
done();
|
|
991
|
-
});
|
|
1005
|
+
}).catch((e) => done(e));
|
|
992
1006
|
});
|
|
993
1007
|
it('should parse running GPX file (5)', done => {
|
|
994
1008
|
// Given https://connect.garmin.com/modern/activity/6048438275 OR https://www.strava.com/activities/3497177564
|
|
@@ -1002,7 +1016,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1002
1016
|
expect(activity.type).toEqual(activity_types_1.ActivityTypes.run);
|
|
1003
1017
|
expect(activity.hasPowerMeter()).toBeFalsy();
|
|
1004
1018
|
expect(activity.isTrainer()).toBeFalsy();
|
|
1005
|
-
|
|
1019
|
+
spec_utils_1.SpecUtils.assertNearEqual(activity.getStat(data_distance_1.DataDistance.type).getValue(), 16771.3, 1, 1);
|
|
1006
1020
|
expect(activity.getStat(data_ascent_1.DataAscent.type).getValue()).toBeCloseTo(579, 0);
|
|
1007
1021
|
expect(activity.getStat(data_cadence_avg_1.DataCadenceAvg.type).getValue()).toEqual(86);
|
|
1008
1022
|
expect(activity.getStat(data_cadence_max_1.DataCadenceMax.type).getValue()).toEqual(123);
|
|
@@ -1019,7 +1033,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1019
1033
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:22:50');
|
|
1020
1034
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1021
1035
|
done();
|
|
1022
|
-
});
|
|
1036
|
+
}).catch((e) => done(e));
|
|
1023
1037
|
});
|
|
1024
1038
|
it('should parse running GPX file (6)', done => {
|
|
1025
1039
|
// Given https://www.strava.com/activities/3632493456 or https://connect.garmin.com/modern/activity/6037744996
|
|
@@ -1033,7 +1047,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1033
1047
|
expect(activity.type).toEqual(activity_types_1.ActivityTypes.run);
|
|
1034
1048
|
expect(activity.hasPowerMeter()).toBeFalsy();
|
|
1035
1049
|
expect(activity.isTrainer()).toBeFalsy();
|
|
1036
|
-
|
|
1050
|
+
spec_utils_1.SpecUtils.assertNearEqual(activity.getStat(data_distance_1.DataDistance.type).getValue(), 5115.1, 1, 1);
|
|
1037
1051
|
expect(activity.getStat(data_ascent_1.DataAscent.type).getValue()).toBeCloseTo(516, 0);
|
|
1038
1052
|
expect(activity.getStat(data_cadence_avg_1.DataCadenceAvg.type).getValue()).toEqual(68);
|
|
1039
1053
|
expect(activity.getStat(data_cadence_max_1.DataCadenceMax.type).getValue()).toEqual(124);
|
|
@@ -1049,7 +1063,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1049
1063
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:07:19');
|
|
1050
1064
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1051
1065
|
done();
|
|
1052
|
-
});
|
|
1066
|
+
}).catch((e) => done(e));
|
|
1053
1067
|
});
|
|
1054
1068
|
});
|
|
1055
1069
|
});
|
|
@@ -1105,7 +1119,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1105
1119
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '02:04:36');
|
|
1106
1120
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1107
1121
|
done();
|
|
1108
|
-
});
|
|
1122
|
+
}).catch((e) => done(e));
|
|
1109
1123
|
});
|
|
1110
1124
|
it('should parse cycling FIT file (2)', done => {
|
|
1111
1125
|
// Given FIT Source: https://connect.garmin.com/modern/activity/828989227 OR https://www.strava.com/activities/343080886
|
|
@@ -1137,7 +1151,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1137
1151
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '06:07:08');
|
|
1138
1152
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1139
1153
|
done();
|
|
1140
|
-
});
|
|
1154
|
+
}).catch((e) => done(e));
|
|
1141
1155
|
});
|
|
1142
1156
|
it('should parse cycling FIT file (3)', done => {
|
|
1143
1157
|
// Given FIT Source: https://connect.garmin.com/modern/activity/614953343 OR https://www.strava.com/activities/208748758
|
|
@@ -1159,7 +1173,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1159
1173
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '07:04:31');
|
|
1160
1174
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1161
1175
|
done();
|
|
1162
|
-
});
|
|
1176
|
+
}).catch((e) => done(e));
|
|
1163
1177
|
});
|
|
1164
1178
|
it('should parse cycling FIT file (4)', done => {
|
|
1165
1179
|
// Given FIT Source: https://connect.garmin.com/modern/activity/6783622686 OR https://www.strava.com/activities/5300988022
|
|
@@ -1180,7 +1194,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1180
1194
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '07:26:55');
|
|
1181
1195
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1182
1196
|
done();
|
|
1183
|
-
});
|
|
1197
|
+
}).catch((e) => done(e));
|
|
1184
1198
|
});
|
|
1185
1199
|
it('should parse cycling FIT file (5)', done => {
|
|
1186
1200
|
// Given FIT Source: https://connect.garmin.com/modern/activity/7386755164 OR https://www.strava.com/activities/5952147686
|
|
@@ -1207,7 +1221,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1207
1221
|
spec_utils_1.SpecUtils.assertNearEqualTime(activity.getStat(data_cycling_standing_time_1.DataCyclingStandingTime.type).getValue(), '17:53', 0);
|
|
1208
1222
|
spec_utils_1.SpecUtils.assertNearEqualTime(activity.getStat(data_cycling_seated_time_1.DataCyclingSeatedTime.type).getValue(), '01:25:02', 0);
|
|
1209
1223
|
done();
|
|
1210
|
-
});
|
|
1224
|
+
}).catch((e) => done(e));
|
|
1211
1225
|
});
|
|
1212
1226
|
it('should parse cycling FIT file (6)', done => {
|
|
1213
1227
|
// Given FIT Source: https://connect.garmin.com/modern/activity/7445393868 OR https://www.strava.com/activities/5921768617
|
|
@@ -1231,7 +1245,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1231
1245
|
expect(activity.getStat(data_power_training_stress_score_1.DataPowerTrainingStressScore.type).getValue()).toEqual(48.3);
|
|
1232
1246
|
expect(activity.getStat(data_power_work_1.DataPowerWork.type).getValue()).toEqual(417);
|
|
1233
1247
|
done();
|
|
1234
|
-
});
|
|
1248
|
+
}).catch((e) => done(e));
|
|
1235
1249
|
});
|
|
1236
1250
|
it('should parse cycling FIT file (7)', done => {
|
|
1237
1251
|
// Given FIT Source: https://connect.garmin.com/modern/activity/7432332116 OR https://www.strava.com/activities/5910143591
|
|
@@ -1257,7 +1271,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1257
1271
|
expect(activity.getSquashedStreamData(data_heart_rate_1.DataHeartRate.type).length).toEqual(expectedSamplesLength);
|
|
1258
1272
|
expect(activity.getSquashedStreamData(data_power_1.DataPower.type).length).toEqual(expectedSamplesLength);
|
|
1259
1273
|
done();
|
|
1260
|
-
});
|
|
1274
|
+
}).catch((e) => done(e));
|
|
1261
1275
|
});
|
|
1262
1276
|
it('should parse cycling FIT file (8)', done => {
|
|
1263
1277
|
// Given FIT Source: https://connect.garmin.com/modern/activity/7739869618 OR https://www.strava.com/activities/2380240532
|
|
@@ -1272,7 +1286,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1272
1286
|
expect(activity.creator.manufacturer).toEqual('wahoo_fitness');
|
|
1273
1287
|
expect(activity.creator.isRecognized).toBeTruthy();
|
|
1274
1288
|
done();
|
|
1275
|
-
});
|
|
1289
|
+
}).catch((e) => done(e));
|
|
1276
1290
|
});
|
|
1277
1291
|
it('should parse cycling FIT file (9)', done => {
|
|
1278
1292
|
// Given FIT Source: https://connect.garmin.com/modern/activity/5319808632 OR https://www.strava.com/activities/3849490840
|
|
@@ -1286,7 +1300,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1286
1300
|
expect(activity.startDate.toISOString()).toEqual('2020-07-26T15:28:41.000Z');
|
|
1287
1301
|
expect(activity.endDate.toISOString()).toEqual('2020-07-26T16:31:26.063Z');
|
|
1288
1302
|
done();
|
|
1289
|
-
});
|
|
1303
|
+
}).catch((e) => done(e));
|
|
1290
1304
|
});
|
|
1291
1305
|
it('should parse virtual cycling FIT file (1)', done => {
|
|
1292
1306
|
// Given FIT Source: https://connect.garmin.com/modern/activity/971150603 OR https://www.strava.com/activities/442080924
|
|
@@ -1335,7 +1349,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1335
1349
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:03:42');
|
|
1336
1350
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1337
1351
|
done();
|
|
1338
|
-
});
|
|
1352
|
+
}).catch((e) => done(e));
|
|
1339
1353
|
});
|
|
1340
1354
|
});
|
|
1341
1355
|
describe('TCX', () => {
|
|
@@ -1371,7 +1385,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1371
1385
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '02:04:36');
|
|
1372
1386
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1373
1387
|
done();
|
|
1374
|
-
});
|
|
1388
|
+
}).catch((e) => done(e));
|
|
1375
1389
|
});
|
|
1376
1390
|
it('should parse cycling TCX file (2)', done => {
|
|
1377
1391
|
// Given TCX Source: https://connect.garmin.com/modern/activity/6838497277 or https://www.strava.com/activities/5354278524
|
|
@@ -1405,7 +1419,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1405
1419
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '02:55:15');
|
|
1406
1420
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1407
1421
|
done();
|
|
1408
|
-
});
|
|
1422
|
+
}).catch((e) => done(e));
|
|
1409
1423
|
});
|
|
1410
1424
|
it('should parse cycling TCX file (3)', done => {
|
|
1411
1425
|
// Given TCX Source: https://connect.garmin.com/modern/activity/7555170032 or https://www.strava.com/activities/6020442882
|
|
@@ -1432,7 +1446,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1432
1446
|
expect(activity.getSquashedStreamData(data_heart_rate_1.DataHeartRate.type).length).toEqual(expectedSamplesLength);
|
|
1433
1447
|
expect(activity.getSquashedStreamData(data_power_1.DataPower.type).length).toEqual(expectedSamplesLength);
|
|
1434
1448
|
done();
|
|
1435
|
-
});
|
|
1449
|
+
}).catch((e) => done(e));
|
|
1436
1450
|
});
|
|
1437
1451
|
it('should parse virtual cycling TCX file (1)', done => {
|
|
1438
1452
|
// Given https://connect.garmin.com/modern/activity/6823905801 OR https://www.strava.com/activities/5340305665
|
|
@@ -1467,7 +1481,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1467
1481
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:03:42');
|
|
1468
1482
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1469
1483
|
done();
|
|
1470
|
-
});
|
|
1484
|
+
}).catch((e) => done(e));
|
|
1471
1485
|
});
|
|
1472
1486
|
});
|
|
1473
1487
|
describe('GPX', () => {
|
|
@@ -1501,7 +1515,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1501
1515
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '02:04:36');
|
|
1502
1516
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1503
1517
|
done();
|
|
1504
|
-
});
|
|
1518
|
+
}).catch((e) => done(e));
|
|
1505
1519
|
});
|
|
1506
1520
|
it('should parse cycling GPX file (2)', done => {
|
|
1507
1521
|
// Given GPX Source: https://connect.garmin.com/modern/activity/6870692308 OR https://www.strava.com/activities/5385683390
|
|
@@ -1532,7 +1546,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1532
1546
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '06:07:13');
|
|
1533
1547
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1534
1548
|
done();
|
|
1535
|
-
});
|
|
1549
|
+
}).catch((e) => done(e));
|
|
1536
1550
|
});
|
|
1537
1551
|
it('should parse cycling GPX file (3)', done => {
|
|
1538
1552
|
// Given GPX Source: https://connect.garmin.com/modern/activity/6905455978 OR https://www.strava.com/activities/5419099678
|
|
@@ -1563,7 +1577,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1563
1577
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:49:20');
|
|
1564
1578
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1565
1579
|
done();
|
|
1566
|
-
});
|
|
1580
|
+
}).catch((e) => done(e));
|
|
1567
1581
|
});
|
|
1568
1582
|
it('should parse cycling GPX file (4)', done => {
|
|
1569
1583
|
// Given GPX Source: https://connect.garmin.com/modern/activity/7555261629 or https://www.strava.com/activities/6020530554
|
|
@@ -1589,7 +1603,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1589
1603
|
expect(activity.getSquashedStreamData(data_heart_rate_1.DataHeartRate.type).length).toEqual(expectedSamplesLength);
|
|
1590
1604
|
expect(activity.getSquashedStreamData(data_power_1.DataPower.type).length).toEqual(expectedSamplesLength);
|
|
1591
1605
|
done();
|
|
1592
|
-
});
|
|
1606
|
+
}).catch((e) => done(e));
|
|
1593
1607
|
});
|
|
1594
1608
|
it('should parse virtual cycling GPX file (1)', done => {
|
|
1595
1609
|
// Given GPX Source: https://connect.garmin.com/modern/activity/6909869014 OR https://www.strava.com/activities/5423473093
|
|
@@ -1623,7 +1637,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1623
1637
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '01:03:09');
|
|
1624
1638
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1625
1639
|
done();
|
|
1626
|
-
});
|
|
1640
|
+
}).catch((e) => done(e));
|
|
1627
1641
|
});
|
|
1628
1642
|
});
|
|
1629
1643
|
});
|
|
@@ -1711,7 +1725,7 @@ describe('FIT/TCX/GPX activity parsing compliance', () => {
|
|
|
1711
1725
|
spec_utils_1.SpecUtils.assertNearEqualTime(elapsedTime, '03:39:01');
|
|
1712
1726
|
spec_utils_1.SpecUtils.assertEqual(pauseTime, elapsedTime - movingTime, 1);
|
|
1713
1727
|
done();
|
|
1714
|
-
});
|
|
1728
|
+
}).catch((e) => done(e));
|
|
1715
1729
|
});
|
|
1716
1730
|
});
|
|
1717
1731
|
});
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
11
15
|
}) : function(o, v) {
|
|
12
16
|
o["default"] = v;
|
|
13
17
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
21
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
37
|
};
|
|
@@ -7,9 +7,9 @@ var CompressionEncodings;
|
|
|
7
7
|
CompressionEncodings["Binary"] = "Binary";
|
|
8
8
|
CompressionEncodings["base64"] = "base64";
|
|
9
9
|
CompressionEncodings["UInt8Array"] = "UInt8Array";
|
|
10
|
-
})(CompressionEncodings
|
|
10
|
+
})(CompressionEncodings || (exports.CompressionEncodings = CompressionEncodings = {}));
|
|
11
11
|
var CompressionMethods;
|
|
12
12
|
(function (CompressionMethods) {
|
|
13
13
|
CompressionMethods["None"] = "None";
|
|
14
14
|
CompressionMethods["Pako"] = "Pako";
|
|
15
|
-
})(CompressionMethods
|
|
15
|
+
})(CompressionMethods || (exports.CompressionMethods = CompressionMethods = {}));
|
|
@@ -5,7 +5,7 @@ var TileTypes;
|
|
|
5
5
|
(function (TileTypes) {
|
|
6
6
|
TileTypes["Chart"] = "Chart";
|
|
7
7
|
TileTypes["Map"] = "Map";
|
|
8
|
-
})(TileTypes
|
|
8
|
+
})(TileTypes || (exports.TileTypes = TileTypes = {}));
|
|
9
9
|
var ChartTypes;
|
|
10
10
|
(function (ChartTypes) {
|
|
11
11
|
ChartTypes["Pie"] = "Pie";
|
|
@@ -17,19 +17,19 @@ var ChartTypes;
|
|
|
17
17
|
ChartTypes["Spiral"] = "Spiral";
|
|
18
18
|
ChartTypes["BrianDevine"] = "Brian Devine";
|
|
19
19
|
ChartTypes["IntensityZones"] = "Intensity Zones";
|
|
20
|
-
})(ChartTypes
|
|
20
|
+
})(ChartTypes || (exports.ChartTypes = ChartTypes = {}));
|
|
21
21
|
var ChartDataValueTypes;
|
|
22
22
|
(function (ChartDataValueTypes) {
|
|
23
23
|
ChartDataValueTypes["Total"] = "Total";
|
|
24
24
|
ChartDataValueTypes["Average"] = "Average";
|
|
25
25
|
ChartDataValueTypes["Maximum"] = "Maximum";
|
|
26
26
|
ChartDataValueTypes["Minimum"] = "Minimum";
|
|
27
|
-
})(ChartDataValueTypes
|
|
27
|
+
})(ChartDataValueTypes || (exports.ChartDataValueTypes = ChartDataValueTypes = {}));
|
|
28
28
|
var ChartDataCategoryTypes;
|
|
29
29
|
(function (ChartDataCategoryTypes) {
|
|
30
30
|
ChartDataCategoryTypes["ActivityType"] = "Activity Type";
|
|
31
31
|
ChartDataCategoryTypes["DateType"] = "Date Type";
|
|
32
|
-
})(ChartDataCategoryTypes
|
|
32
|
+
})(ChartDataCategoryTypes || (exports.ChartDataCategoryTypes = ChartDataCategoryTypes = {}));
|
|
33
33
|
var TimeIntervals;
|
|
34
34
|
(function (TimeIntervals) {
|
|
35
35
|
TimeIntervals[TimeIntervals["Auto"] = 0] = "Auto";
|
|
@@ -41,4 +41,4 @@ var TimeIntervals;
|
|
|
41
41
|
TimeIntervals[TimeIntervals["Quarterly"] = 6] = "Quarterly";
|
|
42
42
|
TimeIntervals[TimeIntervals["Semesterly"] = 7] = "Semesterly";
|
|
43
43
|
TimeIntervals[TimeIntervals["Yearly"] = 8] = "Yearly";
|
|
44
|
-
})(TimeIntervals
|
|
44
|
+
})(TimeIntervals || (exports.TimeIntervals = TimeIntervals = {}));
|
|
@@ -13,4 +13,4 @@ var DateRanges;
|
|
|
13
13
|
DateRanges[DateRanges["lastYear"] = 7] = "lastYear";
|
|
14
14
|
DateRanges[DateRanges["custom"] = 8] = "custom";
|
|
15
15
|
DateRanges[DateRanges["all"] = 9] = "all";
|
|
16
|
-
})(DateRanges
|
|
16
|
+
})(DateRanges || (exports.DateRanges = DateRanges = {}));
|
|
@@ -12,15 +12,15 @@ var ChartThemes;
|
|
|
12
12
|
ChartThemes["Material"] = "material";
|
|
13
13
|
ChartThemes["MoonriseKingdom"] = "moonrisekingdom";
|
|
14
14
|
ChartThemes["SpiritedAway"] = "spiritedaway";
|
|
15
|
-
})(ChartThemes
|
|
15
|
+
})(ChartThemes || (exports.ChartThemes = ChartThemes = {}));
|
|
16
16
|
var XAxisTypes;
|
|
17
17
|
(function (XAxisTypes) {
|
|
18
18
|
XAxisTypes["Time"] = "Time";
|
|
19
19
|
XAxisTypes["Duration"] = "Duration";
|
|
20
20
|
XAxisTypes["Distance"] = "Distance";
|
|
21
|
-
})(XAxisTypes
|
|
21
|
+
})(XAxisTypes || (exports.XAxisTypes = XAxisTypes = {}));
|
|
22
22
|
var ChartCursorBehaviours;
|
|
23
23
|
(function (ChartCursorBehaviours) {
|
|
24
24
|
ChartCursorBehaviours["ZoomX"] = "zoomX";
|
|
25
25
|
ChartCursorBehaviours["SelectX"] = "selectX";
|
|
26
|
-
})(ChartCursorBehaviours
|
|
26
|
+
})(ChartCursorBehaviours || (exports.ChartCursorBehaviours = ChartCursorBehaviours = {}));
|