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]);
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;