UNPKG

split-tracker

Version:

A simple JS library for calculating running track split times.

1 lines 1.87 kB
!function(r,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.splitTracker=e():r.splitTracker=e()}(this,(function(){return(()=>{"use strict";var r={607:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.calculateSplitByKilometerTime=e.calculateSplitByMileTime=e.convertMinutesInDecimalsToMMSS=e.convertMMSSToSeconds=e.convertSecondsToMMSS=void 0;var t=function(r){return Boolean("number"==typeof r&&r>=0)},n=function(r){if(t(r))return Math.round(60*r*100)/100;if(e=r.match(/(\d?\d?):(\d?\d?)/),Boolean(e))return o(r);var e;if("string"==typeof r&&Number(r)){var n=Number(r);return Math.round(60*n*100)/100}return null},o=function(r){if(!r||t(r))throw new Error("Value not in MM:SS format.");var e=r.match(/(\d?\d?):(\d?\d?)/);if(e)return 60*Number(e[1])+Number(e[2]);throw new Error("Value not in MM:SS format.")};e.convertMMSSToSeconds=o;var i=function(r){if(!r||!t(r))throw new Error("Value invalid.");var e=r.toString().match(/(\d+)?(\.\d+)?/);if(e){var n=Number(e[1])||"",o=Math.round(60*Number(e[2])*100/100)||0;return o>=0&&o<10&&(o="0"+o),n+":"+o}throw new Error("Value invalid.")};e.convertMinutesInDecimalsToMMSS=i;var a=function(r){var e=Number(r);return t(e)?e>=60?i(e/60):":"+Math.round(100*e/100):null};e.convertSecondsToMMSS=a,e.calculateSplitByMileTime=function(r,e){var o=n(r);if(!t(o)||!t(e))throw"Parameter is not a valid number.";var i=o*e/1609.34;return{precise_split:Math.round(100*i)/100,formatted_split:a(i)}},e.calculateSplitByKilometerTime=function(r,e){var o=n(r);if(!t(o)||!t(e))throw"Parameter is not a valid number.";var i=o*e/1e3;return{precise_split:Math.round(100*i)/100,formatted_split:a(i)}}}},e={};return function t(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return r[n](o,o.exports,t),o.exports}(607)})()}));