UNPKG

@sports-alliance/sports-lib

Version:

A Library to for importing / exporting and processing GPX, TCX, FIT and JSON files from services such as Strava, Movescount, Garmin, Polar etc

149 lines (148 loc) 7.1 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.DataSpeedKnots = exports.DataSpeedFeetPerMinute = exports.DataSpeedMetersPerMinute = exports.DataSpeedFeetPerSecond = exports.DataSpeedMilesPerHour = exports.DataSpeedKilometersPerHour = exports.DataSpeed = void 0; var data_number_1 = require("./data.number"); var helpers_1 = require("../events/utilities/helpers"); var data_pace_1 = require("./data.pace"); var data_swim_pace_1 = require("./data.swim-pace"); var DataSpeed = /** @class */ (function (_super) { __extends(DataSpeed, _super); function DataSpeed() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeed.prototype.getDisplayValue = function () { return this.getValue().toFixed(2); }; DataSpeed.prototype.getValue = function (formatForDataType) { switch (formatForDataType) { // Speed cases conversions case DataSpeedKilometersPerHour.type: return helpers_1.convertSpeedToSpeedInKilometersPerHour(this.value); case DataSpeedMilesPerHour.type: return helpers_1.convertSpeedToSpeedInMilesPerHour(this.value); case DataSpeedFeetPerSecond.type: return helpers_1.convertSpeedToSpeedInFeetPerSecond(this.value); case DataSpeedMetersPerMinute.type: return helpers_1.convertSpeedToSpeedInMetersPerMinute(this.value); case DataSpeedFeetPerMinute.type: return helpers_1.convertSpeedToSpeedInFeetPerMinute(this.value); case DataSpeedKnots.type: return helpers_1.convertSpeedToSpeedInKnots(this.value); // Pace case data_pace_1.DataPace.type: return helpers_1.convertSpeedToPace(this.value); case data_pace_1.DataPaceMinutesPerMile.type: return helpers_1.convertPaceToPaceInMinutesPerMile(helpers_1.convertSpeedToPace(this.value)); // Swim pace case data_swim_pace_1.DataSwimPace.type: return helpers_1.convertSpeedToSwimPace(this.value); case data_swim_pace_1.DataSwimPaceMinutesPer100Yard.type: return helpers_1.convertSwimPaceToSwimPacePer100Yard(helpers_1.convertSpeedToSwimPace(this.value)); default: return _super.prototype.getValue.call(this, formatForDataType); } }; DataSpeed.type = 'Speed'; DataSpeed.unit = 'm/s'; return DataSpeed; }(data_number_1.DataNumber)); exports.DataSpeed = DataSpeed; var DataSpeedKilometersPerHour = /** @class */ (function (_super) { __extends(DataSpeedKilometersPerHour, _super); function DataSpeedKilometersPerHour() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeedKilometersPerHour.prototype.getDisplayType = function () { return _super.prototype.getDisplayType.call(this); }; DataSpeedKilometersPerHour.type = 'Speed in kilometers per hour'; DataSpeedKilometersPerHour.displayType = DataSpeed.type; DataSpeedKilometersPerHour.unit = 'km/h'; return DataSpeedKilometersPerHour; }(DataSpeed)); exports.DataSpeedKilometersPerHour = DataSpeedKilometersPerHour; var DataSpeedMilesPerHour = /** @class */ (function (_super) { __extends(DataSpeedMilesPerHour, _super); function DataSpeedMilesPerHour() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeedMilesPerHour.prototype.getDisplayType = function () { return _super.prototype.getDisplayType.call(this); }; DataSpeedMilesPerHour.type = 'Speed in miles per hour'; DataSpeedMilesPerHour.displayType = DataSpeed.type; DataSpeedMilesPerHour.unit = 'mph'; return DataSpeedMilesPerHour; }(DataSpeed)); exports.DataSpeedMilesPerHour = DataSpeedMilesPerHour; var DataSpeedFeetPerSecond = /** @class */ (function (_super) { __extends(DataSpeedFeetPerSecond, _super); function DataSpeedFeetPerSecond() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeedFeetPerSecond.prototype.getDisplayType = function () { return _super.prototype.getDisplayType.call(this); }; DataSpeedFeetPerSecond.type = 'Speed in feet per second'; DataSpeedFeetPerSecond.displayType = DataSpeed.type; DataSpeedFeetPerSecond.unit = 'ft/s'; return DataSpeedFeetPerSecond; }(DataSpeed)); exports.DataSpeedFeetPerSecond = DataSpeedFeetPerSecond; var DataSpeedMetersPerMinute = /** @class */ (function (_super) { __extends(DataSpeedMetersPerMinute, _super); function DataSpeedMetersPerMinute() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeedMetersPerMinute.prototype.getDisplayType = function () { return _super.prototype.getDisplayType.call(this); }; DataSpeedMetersPerMinute.type = 'Speed in meters per minute'; DataSpeedMetersPerMinute.displayType = DataSpeed.type; DataSpeedMetersPerMinute.unit = 'm/min'; return DataSpeedMetersPerMinute; }(DataSpeed)); exports.DataSpeedMetersPerMinute = DataSpeedMetersPerMinute; var DataSpeedFeetPerMinute = /** @class */ (function (_super) { __extends(DataSpeedFeetPerMinute, _super); function DataSpeedFeetPerMinute() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeedFeetPerMinute.prototype.getDisplayType = function () { return _super.prototype.getDisplayType.call(this); }; DataSpeedFeetPerMinute.type = 'Speed in feet per minute'; DataSpeedFeetPerMinute.displayType = DataSpeed.type; DataSpeedFeetPerMinute.unit = 'ft/min'; return DataSpeedFeetPerMinute; }(DataSpeed)); exports.DataSpeedFeetPerMinute = DataSpeedFeetPerMinute; var DataSpeedKnots = /** @class */ (function (_super) { __extends(DataSpeedKnots, _super); function DataSpeedKnots() { return _super !== null && _super.apply(this, arguments) || this; } DataSpeedKnots.prototype.getDisplayType = function () { return _super.prototype.getDisplayType.call(this); }; DataSpeedKnots.type = 'Speed in knots'; DataSpeedKnots.displayType = DataSpeed.type; DataSpeedKnots.unit = 'kn'; return DataSpeedKnots; }(DataSpeed)); exports.DataSpeedKnots = DataSpeedKnots;