X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Futils%2FtimeControl.js;h=9106b96c47370cb9dbde172c7cebe1cbdcf9229d;hp=72d5557f1c09c34df87dbe3cfa70b403a6216ac7;hb=6808d7a16ec1e761c6a2dffec2281c96953e4d89;hpb=ae2c49bb0bbaac3953f63be5b720e9c6835f00b6 diff --git a/client/src/utils/timeControl.js b/client/src/utils/timeControl.js index 72d5557f..9106b96c 100644 --- a/client/src/utils/timeControl.js +++ b/client/src/utils/timeControl.js @@ -1,49 +1,46 @@ -function timeUnitToSeconds(value, unit) -{ +function timeUnitToSeconds(value, unit) { let seconds = value; - switch (unit) - { - case 'd': - seconds *= 24; - case 'h': - seconds *= 60; - case 'm': + switch (unit) { + case "d": + seconds *= 86400; //24*60*60 + break; + case "h": + seconds *= 3600; + break; + case "m": seconds *= 60; + break; } return seconds; } -function isLargerUnit(unit1, unit2) -{ - return (unit1 == 'd' && unit2 != 'd') - || (unit1 == 'h' && ['s','m'].includes(unit2)) - || (unit1 == 'm' && unit2 == 's'); +function isLargerUnit(unit1, unit2) { + return ( + (unit1 == "d" && unit2 != "d") || + (unit1 == "h" && ["s", "m"].includes(unit2)) || + (unit1 == "m" && unit2 == "s") + ); } -export function extractTime(cadence) -{ - let tcParts = cadence.replace(/ /g,"").split('+'); +export function extractTime(cadence) { + let tcParts = cadence.replace(/ /g, "").split("+"); // Concatenate usual time control suffixes, in case of none is provided tcParts[0] += "m"; tcParts[1] += "s"; const mainTimeArray = tcParts[0].match(/^([0-9]+)([smhd]+)$/); - if (!mainTimeArray) - return null; + if (!mainTimeArray) return null; const mainTimeValue = parseInt(mainTimeArray[1]); const mainTimeUnit = mainTimeArray[2][0]; const mainTime = timeUnitToSeconds(mainTimeValue, mainTimeUnit); let increment = 0; - if (tcParts.length >= 2) - { + if (tcParts.length >= 2) { const incrementArray = tcParts[1].match(/^([0-9]+)([smhd]+)$/); - if (!incrementArray) - return null; + if (!incrementArray) return null; const incrementValue = parseInt(incrementArray[1]); const incrementUnit = incrementArray[2][0]; // Increment unit cannot be larger than main unit: - if (isLargerUnit(incrementUnit, mainTimeUnit)) - return null; + if (isLargerUnit(incrementUnit, mainTimeUnit)) return null; increment = timeUnitToSeconds(incrementValue, incrementUnit); } - return {mainTime:mainTime, increment:increment}; + return { mainTime: mainTime, increment: increment }; }