X-Git-Url: https://git.auder.net/pieces/Checkered/cq.svg?a=blobdiff_plain;f=client%2Fsrc%2Futils%2FtimeControl.js;h=194deaf695432e8939e7a8f77889df3039342528;hb=4b0384faf03d3842ba2f80ccd6d104c5e34a355e;hp=c4a229506c81cbe3a84b4ed4548621436429fbf9;hpb=dd75774d31a140cabf80790bdade9a40048c38d5;p=vchess.git diff --git a/client/src/utils/timeControl.js b/client/src/utils/timeControl.js index c4a22950..194deaf6 100644 --- a/client/src/utils/timeControl.js +++ b/client/src/utils/timeControl.js @@ -22,8 +22,11 @@ function isLargerUnit(unit1, unit2) export function extractTime(timeControl) { - const tcParts = timeControl.replace(/ /g,"").split('+'); - const mainTimeArray = tcParts[0].match(/([0-9]+)([smhd])/); + let tcParts = timeControl.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; const mainTimeValue = parseInt(mainTimeArray[1]); @@ -32,11 +35,11 @@ export function extractTime(timeControl) let increment = 0; if (tcParts.length >= 2) { - const increment = tcParts[1].match(/([0-9]+)([smhd])/); - if (!increment) + const incrementArray = tcParts[1].match(/([0-9]+)([smhd]+)/); + if (!incrementArray) return null; - const incrementValue = parseInt(increment[1]); - const incrementUnit = increment[2]; + const incrementValue = parseInt(incrementArray[1]); + const incrementUnit = incrementArray[2]; // Increment unit cannot be larger than main unit: if (isLargerUnit(incrementUnit, mainTimeUnit)) return null;